Asset - Extension RerouteAudio - reduce file clutter in compiled games

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
rerouteaudio-0h.png rerouteaudio-1h.png
Links: marketplace · itch.io
Price: USD 7
Modules: Windows, Windows (YYC)
Versions: GMS1, GMS2

In the light of there being no plans to make audio export behaviour configurable in GameMaker's Windows exports, I have made a piece of software to take care of that - simply drag your game's executable onto the program, and stray audio files will be automatically arranged into sub-directories, with game's executable being modified to load them from new locations. No changes to the game are required. Advanced users can use command-line parameters to specify custom arrangement rules for additional control over categorization, if needed.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
Did you get permission from YYG to do this? It sounds to be against the EULA.
Always a gray-ish area, but the description is simplified - what is actually being modified is the headers of audio resources in asset package (either in data.win on VM or offset in the executable on YYC), not the actual logic. The process is simple enough that it could be even done by hand (using a hex editor), although at a regrettably low speed if there are multiple assets.
 

zbox

Member
GMC Elder
Always a gray-ish area, but the description is simplified - what is actually being modified is the headers of audio resources in asset package (either in data.win on VM or offset in the executable on YYC), not the actual logic. The process is simple enough that it could be even done by hand (using a hex editor), although at a regrettably low speed if there are multiple assets.
Obviously this is a good asset etc. and I'm not hating on it by any means, but for technicalities sake it is unequivocally NOT a grey area.

Section 3.3 of the license states:
Neither you nor any third party may modify, adapt, decompile or reverse engineer the Stand-alone Applications created using the Software.
So regardless of whether you do it by hand or not, it is still not allowed by the EULA.

Whether YYG would ever do anything about that/they just have it in there as a catch-all in case it need be utilized at some point, is ofcourse a different matter.
 

Samuel Venable

Time Killer
@zbox

Yeah, I wondered about that. What a shame, I almost bought it.

To be technical, whether the "data.win" (or "game.unx", "game.ios", "game.droid", etc.) file is embedded in the executable or not, I read an article that said that's where all the user's GML and uncompressed assets are stored (I actually think it was on @YellowAfterlife's website). That aside, I kinda figured that anyway, because all actual game "executables" are the same exact "Runner.exe" file that is included with GMStudio (but with a modified icon if specified by the "creator"). So in order for all games to not be the exact same Runner file, there has to be their code and assets stored in a different file in the default loading directory (on Windows it's the same directory as the runner but this varies on different platforms).

So basically modifying the data.win is similar in concept to decompiling a game made with legacy versions of GameMaker.

However, this doesn't mean YoYo can't allow this as an exception, but you will need to get their permission first. A while back I remember reading in the EULA something to the effect of "all these terms must be followed unless there is prior written consent from YoYo of otherwise." Although it's been a while so that could just be a false memory, idk...
 
Last edited:
Top