diff options
-rwxr-xr-x | include/game.h | 5 | ||||
-rw-r--r-- | kamek_pal.x | 7 | ||||
-rw-r--r-- | src/koopatlas/core.cpp | 9 |
3 files changed, 21 insertions, 0 deletions
diff --git a/include/game.h b/include/game.h index a5fa86b..837d340 100755 --- a/include/game.h +++ b/include/game.h @@ -3102,5 +3102,10 @@ class BGGMEffectRenderer : public m3d::proc_c { virtual bool setupEffectRenderer(mAllocator_c *allocator, int opaPrio, int xluPrio, int groupID);
};
+void CleanUpEffectThings();
+bool FreeEffects(int efNum);
+bool FreeBreff(int efNum);
+bool FreeBreft(int efNum);
+
#endif
diff --git a/kamek_pal.x b/kamek_pal.x index c0f9887..d88df1e 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -1,6 +1,13 @@ SECTIONS { /* Scrolling is annoying, clown car goes here! */ + StockWMInit_LoadEffects__FPv = 0x80926B10; + + CleanUpEffectThings__Fv = 0x80093520; + FreeEffects__Fi = 0x800934D0; + FreeBreff__Fi = 0x80093170; + FreeBreft__Fi = 0x800931B0; + __dt__18BGGMEffectRendererFv = 0x80092E30; __vt__18BGGMEffectRenderer = 0x80311908; __construct_array = 0x802DCC90; diff --git a/src/koopatlas/core.cpp b/src/koopatlas/core.cpp index 164ea89..c20d715 100644 --- a/src/koopatlas/core.cpp +++ b/src/koopatlas/core.cpp @@ -46,6 +46,7 @@ dScKoopatlas_c *dScKoopatlas_c::build() { } bool WMInit_StartLoading(void*); +bool StockWMInit_LoadEffects(void*); bool WMInit_LoadSIAnims(void*); bool WMInit_EndLoading(void*); bool WMInit_LoadResources1(void*); @@ -56,6 +57,7 @@ bool WMInit_SetupWipe(void*); ChainedFunc initFunctions[] = { WMInit_StartLoading, + StockWMInit_LoadEffects, WMInit_LoadSIAnims, WMInit_EndLoading, WMInit_LoadResources1, @@ -409,6 +411,11 @@ int dScKoopatlas_c::onDelete() { FreeScene(0); FreeScene(1); + CleanUpEffectThings(); + FreeEffects(1); + FreeBreff(1); + FreeBreft(1); + DVD_FreeFile(GetDVDClass2(), "SI_kinoko"); DVD_FreeFile(GetDVDClass2(), "SI_fireflower"); DVD_FreeFile(GetDVDClass2(), "SI_iceflower"); @@ -419,6 +426,8 @@ int dScKoopatlas_c::onDelete() { levelInfoLoader.unload(); mapListLoader.unload(); + CleanUpEffectThings(); + return true; } |