Windows Garbage data stored in the Win32 runner.

Discussion in 'GameMaker Studio 2 Community Tech Support' started by Dogarooski, Jul 14, 2019 at 7:52 AM.

  1. Dogarooski

    Dogarooski Member

    Joined:
    Jun 21, 2016
    Posts:
    66
    IDE Version: 2.2.3.436
    Runtime Version: 2.2.3.344

    I was going to submit this as a bug report, but the post became too complicated and I needed proper formatting. Also, I'm not sure whether anyone actually cares about any of this.

    Recently I've noticed that, at least for the Win32 runner, there is a lot of seemingly unnecessary data being stored in the game's binary. Here are some examples:
    1. Unused bitmaps embedded via the .rc file. These can be found in "%programdata%\GameMakerStudio2\Cache\runtimes\runtime-x.x.x\yyc\Win32\res\". I've verified with Resource Hacker that most of the data stored here is actually being included in the executable for a compiled game. Among these files are several duplicate bitmaps of the Game Maker 7 logo and some weird toolbar icons that aren't used anywhere. It also contains an "info.rtf" file that refers to the product as "Game Builder" and the old message box dialogs that were last used in GameMaker 8.1, so I think it's safe to assume that a lot of this data is here because of historical reasons and doesn't serve an actual purpose anymore. As far as I know, the only data that is actually used here is from the 'particles' folder for the old effect_* functions, though I'm not even sure whether those functions still exist in GMS2.
    2. Unused strings such as absolute paths to source files and messages that (I hope) don't appear anywhere. Most of this data appears to be specifically for internal debugging purposes (i.e. assertions, prolific error checking, etc.) and some of it seems to be from strings used in code paths that shouldn't even exist anymore. Here are some examples seen using a hex editor on a game I've just built:
    • "c:\hudson\ZeusBase\ZeusGreen\GameMaker\Runner\VC_Runner\Platform\MemoryManager.h"
    • "Files\Background\Background_Class.cpp"
    • "BUG: Room transitions don't function well - setting to 0 - look at Variable_BuiltIn.cpp SV_TransitionKind() ."
    • "Debug_SendYYDebug: packet size %d"
    • "show_message_ext(str,but1,but2,but3) not impleneted [sic c:]"

    There is also some other weird functionality of the runner that I don't think should be there. For example, when attempting to run the game without the 'data.win' file next to it, a file dialog pops up asking you to point it to the data file. Shouldn't it just display an error message? For YYC builds especially this doesn't make much sense.

    i just want smaller executables, yyg pls fix
     

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice