A sort of recreation-decompilation of the FMOD extension used in Pizza Tower
This originally started as something I threw together for my mobile port of the game, but recently refactored to properly make use of the FMOD C++ API and to match the original game's behaviour instead of just guessing.
Right now, this repository only contains the Windows version the extension. I might add the official Switch version or my mobile version later, but no promises.
Mainly intended for adding more FMOD functionality to your mod, however you could use it for a fangame or something else, but why would you?
You're going to need to download FMOD Engine 2.02.09 after logging into the FMOD website.
This is the version used by the latest release of Pizza Tower
Either
- Extract the archive with 7-Zip (or whatever you prefer) or
- Run the installer and locate the installation directory.
Inside, you'll find an
apifolder
Copy the .h and .hpp files from:
api/core/inc/ and api/studio/inc/
into:
fmod/include/
From: api/core/lib/x64/ and api/studio/lib/x64/
locate the fmod_vc.lib and fmodstudio_vc.lib files respectively
and copy into:fmod/lib/
You'll probably want to save fmod.dll and fmodstudio.dll for future use.
Open the fmod-gamemaker.sln file using Visual Studio 2022
Build with Debug x64 configuration.
If everything went right, the resulting fmod-gamemaker.dll file should be located in fmod/x64/Debug.
To check the integrity, you can replace the same file found in Pizza Tower's installation folder and boot the game to confirm the audio's work properly.
I've included an example project in the project/ folder, so you can open that with GameMaker LTS 2022 although for it to function properly, you'll need to copy over fmod-gamemaker.dll to project/extensions/fmod_gms/ and copy fmodstudio.dll with fmod.dll over into the project/datafiles/ directory.
After that, you can simply create a .yymps file to import it into other project files.
Alternatively, you can just replace fmod-gamemaker.dll from your existing mod though I would recommend importing the .yymps file.