mania para android es real

This commit is contained in:
RMGRich 2021-08-05 00:44:18 -05:00
parent 7823fd61e8
commit 82bfaff2bd
16 changed files with 8932 additions and 5228 deletions

View File

@ -47,28 +47,14 @@ LOCAL_SRC_FILES := \
include $(BUILD_STATIC_LIBRARY)
######################################################################
#GAME DLL
include $(CLEAR_VARS)
LOCAL_MODULE := game
WILDCARD_SETUP := \
$(wildcard $(LOCAL_PATH)/Sonic Mania/*.c) \
$(wildcard $(LOCAL_PATH)/Sonic Mania/Objects/*/*.c)
LOCAL_SRC_FILES := $(subst jni/src/, , $(WILDCARD_SETUP))
include $(BUILD_SHARED_LIBRARY)
######################################################################
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_MODULE := RSDK
SDL_PATH := ../SDL
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(SDL_PATH)/include \
$(LOCAL_PATH)/dependencies/all \
@ -81,10 +67,37 @@ WILDCARD_SETUP := \
$(wildcard $(LOCAL_PATH)/dependencies/all/zlib/*.c) \
$(wildcard $(LOCAL_PATH)/RSDKv5/*.cpp)
LOCAL_SHARED_LIBRARIES := SDL2 libogg libvorbis
LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog -lz
LOCAL_SRC_FILES := $(subst jni/src/, , $(WILDCARD_SETUP))
LOCAL_SHARED_LIBRARIES := SDL2 libogg libvorbis
include $(BUILD_STATIC_LIBRARY)
#GAME DLL
include $(CLEAR_VARS)
LOCAL_MODULE := main
LOCAL_CFLAGS := -DRETRO_STANDALONE=0
LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/Game \
$(LOCAL_PATH)/Game/Objects
WILDCARD_SETUP := \
$(wildcard $(LOCAL_PATH)/Game/*.c) \
$(wildcard $(LOCAL_PATH)/Game/Objects/All.c)
LOCAL_SRC_FILES := \
$(subst jni/src/, , $(WILDCARD_SETUP))
LOCAL_SHARED_LIBRARIES := SDL2 libvorbis libogg RSDK
LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog -lz
LOCAL_LDLIBS := -lGLESv1_CM -lGLESv2 -llog
include $(BUILD_SHARED_LIBRARY)
######################################################################

1
Game Symbolic link
View File

@ -0,0 +1 @@
Sonic Mania

View File

@ -744,7 +744,7 @@ void ResetEntitySlot(ushort slotID, ushort type, void *data)
}
}
void CreateEntity(ushort type, void *data, int x, int y)
Entity* CreateEntity(ushort type, void *data, int x, int y)
{
ObjectInfo *objInfo = &objectList[stageObjectIDs[type]];
Entity *entityPtr = &objectEntityList[sceneInfo.createSlot];
@ -786,6 +786,7 @@ void CreateEntity(ushort type, void *data, int x, int y)
entityPtr->active = ACTIVE_NORMAL;
entityPtr->visible = true;
}
return entityPtr;
}
bool32 GetActiveEntities(ushort group, Entity **entity)

View File

@ -222,7 +222,7 @@ int GetEntityCount(ushort type, bool32 isActive);
void ResetEntityPtr(Entity *entity, ushort type, void *data);
void ResetEntitySlot(ushort slotID, ushort type, void *data);
void CreateEntity(ushort type, void *data, int x, int y);
Entity* CreateEntity(ushort type, void *data, int x, int y);
inline void CopyEntity(void *destEntity, void *srcEntity, bool32 clearSrcEntity)
{

View File

@ -19,7 +19,11 @@
#define fWrite(buffer, elementSize, elementCount, file) fwrite(buffer, elementSize, elementCount, file)
#endif
#if RETRO_PLATFORM == RETRO_ANDROID
#include <zlib.h>
#else
#include <zlib/zlib.h>
#endif
enum Scopes {
SCOPE_NONE,
@ -273,16 +277,17 @@ inline int ReadZLibRSDK(FileInfo *info, byte **buffer)
{
if (!buffer)
return 0;
uint complen = ReadInt32(info, false) - 4;
uLongf complen = ReadInt32(info, false) - 4;
uint decompLE = ReadInt32(info, false);
uint destLen = (uint)((decompLE << 24) | ((decompLE << 8) & 0x00FF0000) | ((decompLE >> 8) & 0x0000FF00) | (decompLE >> 24));
uLongf destLen = (uint)((decompLE << 24) | ((decompLE << 8) & 0x00FF0000) | ((decompLE >> 8) & 0x0000FF00) | (decompLE >> 24));
byte *compData = NULL;
AllocateStorage(complen, (void**)&compData, DATASET_TMP, false);
AllocateStorage(complen, (void **)&compData, DATASET_TMP, false);
AllocateStorage(destLen, (void **)buffer, DATASET_TMP, false);
ReadBytes(info, compData, complen);
uncompress(*buffer, (uLongf *)&destLen, compData, complen);
uncompress(*buffer, &destLen, compData, complen);
RemoveStorageEntry((void**)&compData);
return destLen;
@ -292,15 +297,15 @@ inline int ReadZLib(FileInfo *info, byte **buffer, int cSize, int size)
{
if (!buffer)
return 0;
uint complen = cSize;
uLongf complen = cSize;
uint decompLE = size;
uint destLen = (uint)((decompLE << 24) | ((decompLE << 8) & 0x00FF0000) | ((decompLE >> 8) & 0x0000FF00) | (decompLE >> 24));
uLongf destLen = (uint)((decompLE << 24) | ((decompLE << 8) & 0x00FF0000) | ((decompLE >> 8) & 0x0000FF00) | (decompLE >> 24));
byte *compData = NULL;
AllocateStorage(complen, (void **)&compData, DATASET_TMP, false);
ReadBytes(info, compData, complen);
uncompress(*buffer, (uLongf *)&destLen, compData, complen);
uncompress(*buffer, &destLen, compData, complen);
compData = NULL;
return destLen;
}

View File

@ -1,19 +1,17 @@
#include "RetroEngine.hpp"
linkPtr linkGameLogic = NULL;
#if RETRO_PLATFORM == RETRO_WIN
#include "Windows.h"
HMODULE hLibModule = NULL;
typedef void(*linkPtr)(GameInfo *);
#endif
#if RETRO_PLATFORM == RETRO_OSX || RETRO_PLATFORM == RETRO_LINUX || RETRO_PLATFORM == RETRO_ANDROID
#include <dlfcn.h>
void* link_handle = NULL;
typedef void(*linkPtr)(GameInfo *);
#endif
byte *gameOptionsPtr = NULL;
@ -274,7 +272,7 @@ bool initRetroEngine()
engine.running = false;
return false;
}
InitInputDevice();
return true;
@ -750,7 +748,7 @@ void InitScriptSystem()
info.screenInfo = screens;
if (!engine.useExternalCode) {
return LinkGameLogic(&info);
return linkGameLogic(&info);
}
bool32 linked = false;
@ -794,9 +792,9 @@ void InitScriptSystem()
}
#endif
#if RETRO_PLATFORM == RETRO_ANDROID
sprintf(gameLogicName, "/data/data/Game.so", gameLogicName);
sprintf(gameLogicName, "/data/data/org.libsdl.app/files/Game.so", gameLogicName);
//sprintf(gameLogicName, "%s", SDL_GetBasePath());
printLog(PRINT_NORMAL, "Loading from %s", gameLogicName);
printLog(PRINT_NORMAL, "Loading from %s", SDL_AndroidGetExternalStoragePath());
if (!link_handle)
link_handle = SDL_LoadObject(gameLogicName);
printLog(PRINT_NORMAL, "Link handle? %s", SDL_GetError());

View File

@ -48,7 +48,7 @@ enum GameRegions {
#define RETRO_USE_ORIGINAL_CODE (0)
#define RETRO_USE_MOD_LOADER (!RETRO_USE_ORIGINAL_CODE && 1)
#define RETRO_STANDALONE
#define RETRO_STANDALONE (1)
#define RETRO_WIN (0)
#define RETRO_PS4 (1)
@ -127,6 +127,7 @@ enum GameRegions {
#include <SDL.h>
#include <vorbis/vorbisfile.h>
#undef RETRO_STANDALONE
#define RETRO_STANDALONE (0)
#endif
//Determines if the engine is RSDKv5 rev01 (all versions pre-plus) or rev02 (all versions post-plus)
@ -274,6 +275,9 @@ struct RetroEngine {
extern RetroEngine engine;
typedef void (*linkPtr)(GameInfo *);
extern linkPtr linkGameLogic;
bool initRetroEngine();
void runRetroEngine();

View File

@ -15,6 +15,7 @@ SceneInfo sceneInfo;
void LoadScene()
{
printLog(PRINT_NORMAL, "loadscene called");
sceneInfo.timeCounter = 0;
sceneInfo.minutes = 0;
sceneInfo.seconds = 0;

View File

@ -529,13 +529,13 @@ bool32 TryLoadUserFile(const char *filename, void *buffer, uint bufSize, int (*c
byte *bufTest = (byte *)buffer;
//quick and dirty zlib check
if (bufTest[0] == 0x78 && ((bufTest[1] == 0x01 && bufTest[2] == 0xED) || bufTest[1] == 0x9C)) {
uint destLen = bufSize;
uLongf destLen = bufSize;
byte *compData = NULL;
AllocateStorage(bufSize, (void **)&compData, DATASET_TMP, false);
memcpy(compData, buffer, bufSize);
uncompress((Bytef *)buffer, (uLongf *)&destLen, compData, bufSize);
uncompress((Bytef *)buffer, &destLen, compData, bufSize);
RemoveStorageEntry((void **)&compData);
}
@ -566,8 +566,8 @@ bool32 TrySaveUserFile(const char *filename, void *buffer, uint bufSize, int (*c
int *cbuf = NULL;
AllocateStorage(bufSize, (void **)&cbuf, DATASET_TMP, false);
long long clen = bufSize;
compress((Bytef *)cbuf, (uLongf *)&clen, (Bytef *)buffer, (uLong)bufSize);
uLongf clen = bufSize;
compress((Bytef *)cbuf, &clen, (Bytef *)buffer, (uLong)bufSize);
success = SaveUserFile(filename, cbuf, clen);

View File

@ -1,7 +1,14 @@
#include "RetroEngine.hpp"
#include "main.hpp"
int main(int argc, char *argv[])
#if RETRO_STANDALONE
int main(int argc, char *argv[]) { return RSDK_main(argc, argv, LinkGameLogic); }
#endif
int RSDK_main(int argc, char *argv[], linkPtr linkLogicPtr)
{
linkGameLogic = linkLogicPtr;
parseArguments(argc, argv);
if (initRetroEngine()) {
runRetroEngine();

18
RSDKv5/main.hpp Normal file
View File

@ -0,0 +1,18 @@
#ifndef MAIN_HPP
#define MAIN_HPP
#if !RETRO_STANDALONE
#ifdef _MSC_VER
#define DLLExport __declspec(dllexport)
#else
#define DLLExport
#endif
extern "C" {
DLLExport int RSDK_main(int argc, char **argv, void (*linkLogicPtr)(GameInfo *info));
}
#else
int RSDK_main(int argc, char **argv, void (*linkLogicPtr)(GameInfo *info));
#endif
#endif

View File

@ -23,11 +23,7 @@ RSDKFunctionTable RSDK;
APIFunctionTable API;
#endif
#if RETRO_STANDALONE
void LinkGameLogicDLL(GameInfo *info)
#else
void LinkGameLogic(GameInfo *info)
#endif
{
#if RETRO_USE_PLUS
memset(&API, 0, sizeof(APIFunctionTable));
@ -771,3 +767,9 @@ void LinkGameLogic(GameInfo *info)
RSDK_ADD_OBJECT(ZipLine);
RSDK_ADD_OBJECT(Zone);
}
#if !RETRO_STANDALONE
int RSDK_main(int argc, char **argv, void (*linkLogicPtr)(void* info));
int SDL_main(int argc, char *argv[]) { return RSDK_main(argc, argv, LinkGameLogicDLL); }
#endif

View File

@ -972,10 +972,6 @@ extern RSDKFunctionTable RSDK;
#define isMainGameMode() (globals->gameMode == MODE_NOSAVE || globals->gameMode == MODE_MANIA)
#endif
#if RETRO_STANDALONE
DLLExport void LinkGameLogicDLL(GameInfo *gameInfo);
#else
void LinkGameLogic(GameInfo* gameInfo);
#endif
#endif //! GAMEOBJECTS_H

609
Sonic Mania/Objects/All.c Normal file
View File

@ -0,0 +1,609 @@
#include "PGZ/Acetone.c"
#include "Global/ActClear.c"
#include "AIZ/AIZEggRobo.c"
#include "AIZ/AIZEncoreTutorial.c"
#include "AIZ/AIZKingClaw.c"
#include "AIZ/AIZRockPile.c"
#include "AIZ/AIZSetup.c"
#include "AIZ/AIZTornado.c"
#include "AIZ/AIZTornadoPath.c"
#include "CPZ/AmoebaDroid.c"
#include "Credits/AnimalHBH.c"
#include "Global/Animals.c"
#include "Global/Announcer.c"
#include "Global/APICallback.c"
#include "OOZ/Aquis.c"
#include "MSZ/Armadiloid.c"
#include "Helpers/BadnikHelpers.c"
#include "CPZ/Ball.c"
#include "OOZ/BallCannon.c"
#include "TMZ/BallHog.c"
#include "MSZ/BarStool.c"
#include "HPZ/Batbot.c"
#include "GHZ/Batbrain.c"
#include "SSZ/Beanstalk.c"
#include "Common/BGSwitch.c"
#include "FBZ/BigSqueeze.c"
#include "MMZ/BladePole.c"
#include "FBZ/Blaster.c"
#include "HCZ/Blastoid.c"
#include "AIZ/Bloominator.c"
#include "SBZ/Bomb.c"
#include "SSZ/BouncePlant.c"
#include "Global/BoundsMarker.c"
#include "Common/BreakableWall.c"
#include "HCZ/BreakBar.c"
#include "GHZ/Bridge.c"
#include "BSS/BSS_Collectable.c"
#include "BSS/BSS_Collected.c"
#include "BSS/BSS_Horizon.c"
#include "BSS/BSS_HUD.c"
#include "BSS/BSS_Message.c"
#include "BSS/BSS_Palette.c"
#include "BSS/BSS_Player.c"
#include "BSS/BSS_Setup.c"
#include "CPZ/Bubbler.c"
#include "LRZ/BuckwildBall.c"
#include "HCZ/Buggernaut.c"
#include "MSZ/Bumpalo.c"
#include "SSZ/Bungee.c"
#include "GHZ/BurningLog.c"
#include "Common/Button.c"
#include "HCZ/ButtonDoor.c"
#include "GHZ/BuzzBomber.c"
#include "MMZ/BuzzSaw.c"
#include "SPZ/CableWarp.c"
#include "MSZ/Cactula.c"
#include "Global/Camera.c"
#include "SPZ/Canista.c"
#include "SBZ/Caterkiller.c"
#include "CPZ/CaterkillerJr.c"
#include "Cutscene/ChaosEmerald.c"
#include "GHZ/CheckerBall.c"
#include "CPZ/ChemBubble.c"
#include "CPZ/ChemicalBall.c"
#include "CPZ/ChemicalPool.c"
#include "GHZ/Chopper.c"
#include "SPZ/CircleBumper.c"
#include "SPZ/Clapperboard.c"
#include "FBZ/Clucker.c"
#include "Common/CollapsingPlatform.c"
#include "MSZ/CollapsingSand.c"
#include "Helpers/ColorHelpers.c"
#include "Global/Competition.c"
#include "Menu/CompetitionMenu.c"
#include "Common/CompetitionSession.c"
#include "SSZ/Constellation.c"
#include "Continue/ContinuePlayer.c"
#include "Continue/ContinueSetup.c"
#include "LRZ/ConveyorBelt.c"
#include "LRZ/ConveyorPlatform.c"
#include "MMZ/ConveyorWheel.c"
#include "GHZ/CorkscrewPath.c"
#include "Global/COverlay.c"
#include "CPZ/CPZ1Intro.c"
#include "CPZ/CPZ2Outro.c"
#include "CPZ/CPZBoss.c"
#include "CPZ/CPZSetup.c"
#include "CPZ/CPZShutter.c"
#include "GHZ/Crabmeat.c"
#include "FBZ/Crane.c"
#include "TMZ/CrashTest.c"
#include "PGZ/Crate.c"
#include "Credits/CreditsSetup.c"
#include "TMZ/CrimsonEye.c"
#include "LRZ/Current.c"
#include "Cutscene/CutsceneHBH.c"
#include "Cutscene/CutsceneRules.c"
#include "Cutscene/CutsceneSeq.c"
#include "FBZ/Cylinder.c"
#include "Menu/DAControl.c"
#include "SSZ/Dango.c"
#include "Menu/DASetup.c"
#include "LRZ/DashLift.c"
#include "MSZ/DBTower.c"
#include "HCZ/DCEvent.c"
#include "GHZ/DDWrecker.c"
#include "Global/Debris.c"
#include "Global/DebugMode.c"
#include "Common/Decoration.c"
#include "Menu/DemoMenu.c"
#include "GHZ/DERobot.c"
#include "Global/DialogRunner.c"
#include "SPZ/DirectorChair.c"
#include "HCZ/DiveEggman.c"
#include "CPZ/DNARiser.c"
#include "PGZ/DoorTrigger.c"
#include "PGZ/Dragonfly.c"
#include "Helpers/DrawHelpers.c"
#include "LRZ/Drillerdroid.c"
#include "LRZ/DrillerdroidO.c"
#include "Global/Dust.c"
#include "Menu/E3MenuSetup.c"
#include "SPZ/EggJanken.c"
#include "SPZ/EggJankenPart.c"
#include "MSZ/EggLoco.c"
#include "Common/Eggman.c"
#include "MMZ/EggPistonsMKII.c"
#include "Global/EggPrison.c"
#include "SSZ/EggTower.c"
#include "SPZ/EggTV.c"
#include "FBZ/ElectroMagnet.c"
#include "Credits/EncoreGoodEnd.c"
#include "AIZ/EncoreIntro.c"
#include "Global/EncoreRoute.c"
#include "ERZ/ERZGunner.c"
#include "ERZ/ERZKing.c"
#include "ERZ/ERZMystic.c"
#include "ERZ/ERZOutro.c"
#include "ERZ/ERZRider.c"
#include "ERZ/ERZSetup.c"
#include "ERZ/ERZShinobi.c"
#include "ERZ/ERZStart.c"
#include "TMZ/EscapeCar.c"
#include "Global/Explosion.c"
#include "Menu/ExtrasMenu.c"
#include "FBZ/Fan.c"
#include "MMZ/FarPlane.c"
#include "FBZ/FBZ1Outro.c"
#include "FBZ/FBZ2Outro.c"
#include "FBZ/FBZFan.c"
#include "FBZ/FBZMissile.c"
#include "FBZ/FBZSetup.c"
#include "FBZ/FBZSinkTrash.c"
#include "FBZ/FBZStorm.c"
#include "FBZ/FBZTrash.c"
#include "AIZ/FernParallax.c"
#include "SPZ/FilmProjector.c"
#include "SPZ/FilmReel.c"
#include "GHZ/Fireball.c"
#include "SSZ/Fireflies.c"
#include "SSZ/Firework.c"
#include "LRZ/Fireworm.c"
#include "FBZ/FlameSpring.c"
#include "LRZ/Flamethrower.c"
#include "TMZ/FlasherMKII.c"
#include "Common/FlingRamp.c"
#include "MSZ/Flipper.c"
#include "SSZ/FlowerPod.c"
#include "FBZ/FoldingPlatform.c"
#include "Common/ForceSpin.c"
#include "Common/ForceUnstick.c"
#include "PGZ/FrostThrower.c"
#include "SPZ/Funnel.c"
#include "Cutscene/FXExpandRing.c"
#include "Cutscene/FXFade.c"
#include "Cutscene/FXRuby.c"
#include "Cutscene/FXSpinRay.c"
#include "Cutscene/FXTrail.c"
#include "Cutscene/FXWaveRing.c"
#include "MMZ/Gachapandora.c"
#include "Global/GameOver.c"
#include "Helpers/GameProgress.c"
#include "OOZ/GasPlatform.c"
#include "Common/GenericTrigger.c"
#include "GHZ/GHZ2Outro.c"
#include "GHZ/GHZCutsceneK.c"
#include "GHZ/GHZCutsceneST.c"
#include "GHZ/GHZSetup.c"
#include "MSZ/GiantPistol.c"
#include "SSZ/GigaMetal.c"
#include "HCZ/Gondola.c"
#include "CPZ/Grabber.c"
#include "SPZ/GreenScreen.c"
#include "TMZ/GymBar.c"
#include "HCZ/HandLauncher.c"
#include "HCZ/HangConveyor.c"
#include "FBZ/HangGlider.c"
#include "FBZ/HangPoint.c"
#include "OOZ/Hatch.c"
#include "MSZ/Hatterkiller.c"
#include "HCZ/HCZ1Intro.c"
#include "HCZ/HCZOneWayDoor.c"
#include "HCZ/HCZSetup.c"
#include "HCZ/HCZSpikeBall.c"
#include "SPZ/HeavyGunner.c"
#include "LRZ/HeavyKing.c"
#include "MSZ/HeavyMystic.c"
#include "LRZ/HeavyRider.c"
#include "PGZ/HeavyShinobi.c"
#include "SSZ/HiLoSign.c"
#include "MSZ/Honkytonk.c"
#include "SSZ/Hotaru.c"
#include "SSZ/HotaruHiWatt.c"
#include "SSZ/HotaruMKII.c"
#include "LRZ/HPZEmerald.c"
#include "Global/HUD.c"
#include "PGZ/Ice.c"
#include "PGZ/IceBomba.c"
#include "PGZ/IceSpring.c"
#include "Global/ImageTrail.c"
#include "PGZ/Ink.c"
#include "PGZ/InkWipe.c"
#include "Global/InvincibleStars.c"
#include "Global/InvisibleBlock.c"
#include "Global/ItemBox.c"
#include "LRZ/Iwamodoki.c"
#include "TMZ/JacobsLadder.c"
#include "HPZ/Jawz.c"
#include "HCZ/Jellygnite.c"
#include "PGZ/JuggleSaw.c"
#include "SSZ/JunctionWheel.c"
#include "SSZ/Kabasira.c"
#include "SSZ/Kanabun.c"
#include "LRZ/KingAttack.c"
#include "LRZ/KingClaw.c"
#include "ERZ/KleptoMobile.c"
#include "TMZ/LargeGear.c"
#include "FBZ/Launcher.c"
#include "TMZ/LaunchSpring.c"
#include "HCZ/LaundroMobile.c"
#include "LRZ/LavaFall.c"
#include "LRZ/LavaGeyser.c"
#include "SPZ/LEDPanel.c"
#include "SPZ/Letterboard.c"
#include "Menu/LevelSelect.c"
#include "FBZ/LightBarrier.c"
#include "MSZ/LightBulb.c"
#include "Global/Localization.c"
#include "MSZ/LocoSmoke.c"
#include "Helpers/LogHelpers.c"
#include "Menu/LogoSetup.c"
#include "SPZ/LottoBall.c"
#include "SPZ/LottoMachine.c"
#include "SPZ/LoveTester.c"
#include "LRZ/LRZ1Intro.c"
#include "LRZ/LRZ1Outro.c"
#include "LRZ/LRZ1Setup.c"
#include "LRZ/LRZ2Setup.c"
#include "LRZ/LRZ3Cutscene.c"
#include "LRZ/LRZ3Outro.c"
#include "LRZ/LRZ3OutroK.c"
#include "LRZ/LRZ3Setup.c"
#include "LRZ/LRZConvControl.c"
#include "LRZ/LRZConvDropper.c"
#include "LRZ/LRZConveyor.c"
#include "LRZ/LRZConvItem.c"
#include "LRZ/LRZConvSwitch.c"
#include "LRZ/LRZFireball.c"
#include "LRZ/LRZRockPile.c"
#include "LRZ/LRZSpikeBall.c"
#include "LRZ/LRZSpiral.c"
#include "TMZ/MagnetSphere.c"
#include "FBZ/MagPlatform.c"
#include "FBZ/MagSpikeBall.c"
#include "Menu/MainMenu.c"
#include "Menu/ManiaModeMenu.c"
#include "Helpers/MathHelpers.c"
#include "MMZ/MatryoshkaBom.c"
#include "MMZ/MechaBu.c"
#include "HCZ/MegaChopper.c"
#include "OOZ/MegaOctus.c"
#include "Menu/MenuParam.c"
#include "Menu/MenuSetup.c"
#include "TMZ/MetalArm.c"
#include "SSZ/MetalSonic.c"
#include "OOZ/MeterDroid.c"
#include "SPZ/MicDrop.c"
#include "FBZ/Mine.c"
#include "MMZ/MMZ2Outro.c"
#include "MMZ/MMZLightning.c"
#include "MMZ/MMZSetup.c"
#include "MMZ/MMZWheel.c"
#include "TMZ/MonarchBG.c"
#include "SSZ/MonarchPlans.c"
#include "AIZ/MonkeyDude.c"
#include "GHZ/Motobug.c"
#include "SSZ/MSBomb.c"
#include "SSZ/MSFactory.c"
#include "SSZ/MSHologram.c"
#include "SSZ/MSOrb.c"
#include "SSZ/MSPanel.c"
#include "MSZ/MSZ1KIntro.c"
#include "MSZ/MSZ2Cutscene.c"
#include "MSZ/MSZCutsceneK.c"
#include "MSZ/MSZCutsceneST.c"
#include "MSZ/MSZSetup.c"
#include "MSZ/MSZSpotlight.c"
#include "Global/Music.c"
#include "PGZ/Newspaper.c"
#include "GHZ/Newtron.c"
#include "Global/NoSwap.c"
#include "OOZ/Octus.c"
#include "CPZ/OneWayDoor.c"
#include "OOZ/OOZ1Outro.c"
#include "OOZ/OOZ2Outro.c"
#include "OOZ/OOZFlames.c"
#include "OOZ/OOZSetup.c"
#include "Helpers/Options.c"
#include "Menu/OptionsMenu.c"
#include "SBZ/Orbinaut.c"
#include "LRZ/OrbitSpike.c"
#include "MSZ/PaintingEyes.c"
#include "Common/Palette.c"
#include "PGZ/PaperRoller.c"
#include "Common/ParallaxSprite.c"
#include "Helpers/ParticleHelpers.c"
#include "SPZ/PathInverter.c"
#include "Global/PauseMenu.c"
#include "Pinball/PBL_Bumper.c"
#include "Pinball/PBL_Camera.c"
#include "Pinball/PBL_Crane.c"
#include "Pinball/PBL_Flipper.c"
#include "Pinball/PBL_HUD.c"
#include "Pinball/PBL_Player.c"
#include "Pinball/PBL_Ring.c"
#include "Pinball/PBL_Sector.c"
#include "Pinball/PBL_Setup.c"
#include "Pinball/PBL_TargetBumper.c"
#include "Unused/Pendulum.c"
#include "PGZ/PetalPile.c"
#include "ERZ/PhantomEgg.c"
#include "ERZ/PhantomGunner.c"
#include "ERZ/PhantomHand.c"
#include "ERZ/PhantomKing.c"
#include "ERZ/PhantomMissile.c"
#include "ERZ/PhantomMystic.c"
#include "ERZ/PhantomRider.c"
#include "ERZ/PhantomRuby.c"
#include "ERZ/PhantomShield.c"
#include "ERZ/PhantomShinobi.c"
#include "SPZ/PimPom.c"
#include "MSZ/Pinata.c"
#include "MMZ/Piston.c"
#include "ERZ/PKingAttack.c"
#include "MMZ/PlaneSeeSaw.c"
#include "Global/PlaneSwitch.c"
#include "Common/Platform.c"
#include "Common/PlatformControl.c"
#include "Common/PlatformNode.c"
#include "Player/Player.c"
#include "Player/PlayerHelpers.c"
#include "Player/PlayerProbe.c"
#include "MMZ/PohBee.c"
#include "HCZ/Pointdexter.c"
#include "SPZ/PopcornKernel.c"
#include "SPZ/PopcornMachine.c"
#include "TMZ/PopOut.c"
#include "PGZ/Press.c"
#include "PGZ/PrintBlock.c"
#include "Common/Projectile.c"
#include "FBZ/Propeller.c"
#include "FBZ/PropellerShaft.c"
#include "PGZ/PSZ1Intro.c"
#include "PGZ/PSZ1Setup.c"
#include "PGZ/PSZ2Intro.c"
#include "PGZ/PSZ2Outro.c"
#include "PGZ/PSZ2Setup.c"
#include "PGZ/PSZDoor.c"
#include "PGZ/PSZEggman.c"
#include "PGZ/PSZLauncher.c"
#include "HCZ/PullChain.c"
#include "OOZ/PullSwitch.c"
#include "OOZ/PushSpring.c"
#include "Puyo/PuyoAI.c"
#include "Puyo/PuyoAttack.c"
#include "Puyo/PuyoBean.c"
#include "Puyo/PuyoGame.c"
#include "Puyo/PuyoIndicator.c"
#include "Puyo/PuyoLabel.c"
#include "Puyo/PuyoLevelSelect.c"
#include "Puyo/PuyoMatch.c"
#include "Puyo/PuyoScore.c"
#include "MSZ/Rattlekiller.c"
#include "CPZ/Reagent.c"
#include "HPZ/Redz.c"
#include "Helpers/ReplayDB.c"
#include "Global/ReplayRecorder.c"
#include "LRZ/Rexon.c"
#include "AIZ/Rhinobot.c"
#include "Global/Ring.c"
#include "ERZ/RingField.c"
#include "LRZ/RisingLava.c"
#include "LRZ/RockDrill.c"
#include "SPZ/RockemSockem.c"
#include "MSZ/RollerMKII.c"
#include "MSZ/RotatingSpikes.c"
#include "CPZ/RotatingStair.c"
#include "MMZ/RPlaneShifter.c"
#include "SSZ/RTeleporter.c"
#include "Cutscene/RubyPortal.c"
#include "Global/SaveGame.c"
#include "MMZ/Scarab.c"
#include "AIZ/SchrodingersCapsule.c"
#include "Global/ScoreBonus.c"
#include "HCZ/ScrewMobile.c"
#include "SSZ/SDashWheel.c"
#include "MSZ/SeeSaw.c"
#include "MSZ/SeltzerBottle.c"
#include "MSZ/SeltzerWater.c"
#include "TMZ/SentryBug.c"
#include "Global/Shield.c"
#include "PGZ/Shiversaw.c"
#include "SPZ/ShopWindow.c"
#include "PGZ/Shuriken.c"
#include "SPZ/Shutterbug.c"
#include "MSZ/SideBarrel.c"
#include "Global/SignPost.c"
#include "SSZ/SilverSonic.c"
#include "MMZ/SizeLaser.c"
#include "LRZ/SkyTeleporter.c"
#include "OOZ/Smog.c"
#include "PGZ/Snowflakes.c"
#include "OOZ/Sol.c"
#include "Global/Soundboard.c"
#include "PGZ/SP500.c"
#include "PGZ/SP500MkII.c"
#include "SSZ/SparkRail.c"
#include "HCZ/Spear.c"
#include "Unused/SpearBlock.c"
#include "UFO/SpecialClear.c"
#include "Global/SpecialRing.c"
#include "CPZ/SpeedBooster.c"
#include "Global/SpeedGate.c"
#include "FBZ/SpiderMobile.c"
#include "MMZ/SpikeCorridor.c"
#include "LRZ/SpikeCrusher.c"
#include "SSZ/SpikeFlail.c"
#include "GHZ/SpikeLog.c"
#include "Global/Spikes.c"
#include "Common/SpinBooster.c"
#include "SPZ/SpinSign.c"
#include "CPZ/Spiny.c"
#include "FBZ/SpiralPlatform.c"
#include "GHZ/Splats.c"
#include "Global/Spring.c"
#include "CPZ/Springboard.c"
#include "SPZ/SPZ1Intro.c"
#include "SPZ/SPZ1Setup.c"
#include "SPZ/SPZ2Outro.c"
#include "SPZ/SPZ2Setup.c"
#include "SSZ/SSZ1Intro.c"
#include "SSZ/SSZ1Outro.c"
#include "SSZ/SSZ1Setup.c"
#include "SSZ/SSZ2Setup.c"
#include "SSZ/SSZ3Cutscene.c"
#include "SSZ/SSZEggman.c"
#include "SSZ/SSZSpikeBall.c"
#include "SSZ/SSZSpotlight.c"
#include "CPZ/Staircase.c"
#include "LRZ/Stalactite.c"
#include "Global/StarPost.c"
#include "HPZ/Stegway.c"
#include "CPZ/StickyPlatform.c"
#include "Summary/Summary.c"
#include "Summary/SummaryEmerald.c"
#include "Global/SuperSparkle.c"
#include "AIZ/Sweep.c"
#include "MSZ/SwingRope.c"
#include "OOZ/SwitchDoor.c"
#include "CPZ/Syringe.c"
#include "Menu/TAEmerald.c"
#include "Unused/TargetBumper.c"
#include "FBZ/Technosqueek.c"
#include "TMZ/TeeterTotter.c"
#include "FBZ/TetherBall.c"
#include "Menu/ThanksSetup.c"
#include "LRZ/ThoughtBubble.c"
#include "Common/TilePlatform.c"
#include "Helpers/TimeAttackData.c"
#include "Global/TimeAttackGate.c"
#include "Menu/TimeAttackMenu.c"
#include "SSZ/TimePost.c"
#include "SSZ/TimeTravelSetup.c"
#include "CPZ/TippingPlatform.c"
#include "Title/Title3DSprite.c"
#include "Title/TitleBG.c"
#include "Global/TitleCard.c"
#include "Title/TitleEggman.c"
#include "Title/TitleLogo.c"
#include "Title/TitleSetup.c"
#include "Title/TitleSonic.c"
#include "TMZ/TMZ1Outro.c"
#include "TMZ/TMZ1Setup.c"
#include "TMZ/TMZ2Outro.c"
#include "TMZ/TMZ2Setup.c"
#include "TMZ/TMZ3Setup.c"
#include "TMZ/TMZAlert.c"
#include "TMZ/TMZBarrier.c"
#include "TMZ/TMZCable.c"
#include "TMZ/TMZFlames.c"
#include "MSZ/Tornado.c"
#include "MSZ/TornadoPath.c"
#include "LRZ/Toxomister.c"
#include "CPZ/TransportTube.c"
#include "Credits/TryAgain.c"
#include "Credits/TryAgainE.c"
#include "SSZ/TTCutscene.c"
#include "CPZ/TubeSpring.c"
#include "SPZ/Tubinaut.c"
#include "FBZ/Tuesday.c"
#include "LRZ/Turbine.c"
#include "HCZ/TurboSpiker.c"
#include "TMZ/TurboTurtle.c"
#include "PGZ/Turntable.c"
#include "LRZ/TurretSwitch.c"
#include "SPZ/TVFlyingBattery.c"
#include "SPZ/TVPole.c"
#include "SPZ/TVVan.c"
#include "CPZ/TwistedTubes.c"
#include "FBZ/TwistingDoor.c"
#include "HCZ/TwistingSlide.c"
#include "MSZ/UberCaterkiller.c"
#include "UFO/UFO_Camera.c"
#include "UFO/UFO_Circuit.c"
#include "UFO/UFO_Decoration.c"
#include "UFO/UFO_Dust.c"
#include "UFO/UFO_HUD.c"
#include "UFO/UFO_ItemBox.c"
#include "UFO/UFO_Message.c"
#include "UFO/UFO_Plasma.c"
#include "UFO/UFO_Player.c"
#include "UFO/UFO_Ring.c"
#include "UFO/UFO_Setup.c"
#include "UFO/UFO_Shadow.c"
#include "UFO/UFO_SpeedLines.c"
#include "UFO/UFO_Sphere.c"
#include "UFO/UFO_Springboard.c"
#include "UFO/UFO_Water.c"
#include "Menu/UIBackground.c"
#include "Menu/UIButton.c"
#include "Menu/UIButtonLabel.c"
#include "Menu/UIButtonPrompt.c"
#include "Menu/UICarousel.c"
#include "Menu/UICharButton.c"
#include "Menu/UIChoice.c"
#include "Menu/UIControl.c"
#include "Menu/UICreditsText.c"
#include "Menu/UIDialog.c"
#include "Menu/UIDiorama.c"
#include "Menu/UIHeading.c"
#include "Menu/UIInfoLabel.c"
#include "Menu/UIKeyBinder.c"
#include "Menu/UILeaderboard.c"
#include "Menu/UIMedallionPanel.c"
#include "Menu/UIModeButton.c"
#include "Menu/UIOptionPanel.c"
#include "Menu/UIPicture.c"
#include "Menu/UIPopover.c"
#include "Menu/UIRankButton.c"
#include "Menu/UIReplayCarousel.c"
#include "Menu/UIResPicker.c"
#include "Menu/UISaveSlot.c"
#include "Menu/UIShifter.c"
#include "Menu/UISlider.c"
#include "Menu/UISubHeading.c"
#include "Menu/UITABanner.c"
#include "Menu/UITAZoneModule.c"
#include "Menu/UIText.c"
#include "Menu/UITransition.c"
#include "Menu/UIUsernamePopup.c"
#include "Menu/UIVideo.c"
#include "Menu/UIVsCharSelector.c"
#include "Menu/UIVsResults.c"
#include "Menu/UIVsRoundPicker.c"
#include "Menu/UIVsScoreboard.c"
#include "Menu/UIVsZoneButton.c"
#include "Menu/UIWaitSpinner.c"
#include "Menu/UIWidgets.c"
#include "Menu/UIWinSize.c"
#include "SSZ/UncurlPlant.c"
#include "OOZ/Valve.c"
#include "MMZ/VanishPlatform.c"
#include "MSZ/Vultron.c"
#include "LRZ/WalkerLegs.c"
#include "TMZ/WallBumper.c"
#include "Unused/WallCrawl.c"
#include "FBZ/WarpDoor.c"
#include "Common/Water.c"
#include "GHZ/WaterfallSound.c"
#include "HCZ/WaterGush.c"
#include "SPZ/WeatherMobile.c"
#include "SPZ/WeatherTV.c"
#include "HCZ/Whirlpool.c"
#include "Unused/Wisp.c"
#include "PGZ/WoodChipper.c"
#include "PGZ/Woodrow.c"
#include "SSZ/YoyoPulley.c"
#include "GHZ/ZipLine.c"
#include "Global/Zone.c"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff