sm64coopdx/data
Isaac0-dev 5303357146
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
fix custom level data memory leak (#1256)
this fixes the giant memory leak that happens due to not freeing custom level data when closing a lobby.
`DynOS_Lvl_ModShutdown` was not freeing the data nodes for the level data, it was only freeing the surface data.
To fix this, I have made it use `DynOS_Gfx_Free` to free the `GfxData` correctly. I found that the level script VM will still be trying to warp from the custom level after `DynOS_Lvl_ModShutdown` is executed, so I added a schedule to simply free it the next frame.
I've made it force the level script to change to a vanilla level during mod shutdown. This is critical to ensure the VM doesn't continue to read from a freed level script.

Removed the explicit deletion of data nodes in `DynOS_MovtexQC_ModShutdown` because `DynOS_Gfx_Free` already frees that, and it's actually data owned by the data node, so it's more appropriate in `DynOS_Gfx_Free`
2026-06-15 11:22:03 +10:00
..
behavior_data.c Fix Lua/custom behaviors bugs and flaws (#1229) 2026-05-19 10:56:08 +10:00
behavior_table.c Fix Lua/custom behaviors bugs and flaws (#1229) 2026-05-19 10:56:08 +10:00
dynos.c.h fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos.cpp.h fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos.h Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_actor.cpp Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_ambient_t.cpp Added in-game console for DynOS and Lua errors 2023-05-19 04:20:08 -07:00
dynos_bin_animation.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_behavior.cpp Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_col.cpp Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_common.cpp Fix inconsistencies with tabs and remove trailing whitespaces 2026-05-26 23:51:58 +02:00
dynos_bin_compress.cpp ModFs improvements (#907) 2025-10-21 19:42:06 +02:00
dynos_bin_geo.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_gfx.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_legacy.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_light0.cpp Add Lights0 support to DynOS 2023-06-12 02:08:20 -07:00
dynos_bin_light_t.cpp Added in-game console for DynOS and Lua errors 2023-05-19 04:20:08 -07:00
dynos_bin_lights.cpp Added in-game console for DynOS and Lua errors 2023-05-19 04:20:08 -07:00
dynos_bin_lvl.cpp Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_lvl_validate.cpp Add lua params support to level macros (allocate dialog pt. 2) (#905) 2025-09-13 20:36:28 +02:00
dynos_bin_macro_object.cpp Added in-game console for DynOS and Lua errors 2023-05-19 04:20:08 -07:00
dynos_bin_movtex.cpp Added in-game console for DynOS and Lua errors 2023-05-19 04:20:08 -07:00
dynos_bin_movtexqc.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_pointer.cpp Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_read.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_rooms.cpp DynOS Bin Compression (#131) 2022-06-25 00:52:53 -07:00
dynos_bin_tex.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_bin_texlist.cpp Enforce function pointers types in dynos 2025-08-17 19:27:41 +02:00
dynos_bin_trajectory.cpp Added in-game console for DynOS and Lua errors 2023-05-19 04:20:08 -07:00
dynos_bin_utils.cpp Prevent compiling dynos packs with lua variables; Instead of killing the game, don't enable actor in dynos pack if it contains lua variables 2026-05-29 14:04:56 +02:00
dynos_bin_vtx.cpp Add G_PACKED_NORMALS Geo Mode from F3DEX3 (#768) 2025-04-25 15:07:31 -04:00
dynos_c.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_cmap.cpp optimised loading the mod cache (#1222) 2026-05-09 11:13:08 -04:00
dynos_cmap.cpp.h optimised loading the mod cache (#1222) 2026-05-09 11:13:08 -04:00
dynos_gfx_init.cpp Add mod development mode (#851) 2025-06-22 19:07:15 +10:00
dynos_level.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_main.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_mgr_actor.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_mgr_anim.cpp Scale bone anim support (#1215) 2026-05-05 00:15:00 +02:00
dynos_mgr_bhv.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_mgr_builtin.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_mgr_builtin_externs.h Show Ping option (#889) 2025-07-29 22:39:36 +10:00
dynos_mgr_builtin_tex.cpp Fix djui hud texture unsupported formats (#995) 2025-11-20 11:44:02 +10:00
dynos_mgr_col.cpp Fix DynOS generation bug with duplicates (#1220) 2026-05-18 07:50:20 +10:00
dynos_mgr_gfx.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_mgr_lvl.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_mgr_moddata.cpp Gfx/Vtx improvements (#756) 2025-04-24 14:03:17 +10:00
dynos_mgr_moddata.hpp Fix Texture type; add various get_name functions (#945) 2025-09-15 20:59:26 +02:00
dynos_mgr_models.cpp Fix warnings and some bugs 2025-07-02 18:49:44 +02:00
dynos_mgr_movtexqc.cpp fix custom level data memory leak (#1256) 2026-06-15 11:22:03 +10:00
dynos_mgr_pack.cpp path separators 2026-04-03 00:23:31 +02:00
dynos_mgr_tex.cpp Fix get_texture_info and add HOOK_ON_DYNOS_PACKS_TOGGLED (#1181) 2026-04-21 21:22:18 -04:00
dynos_misc.cpp massive performance improvements for add_scroll_target (#1219) 2026-05-08 20:57:06 +10:00
dynos_warps.cpp Reset pause menu hidden on network shutdown (Oldest mistake in the book) 2025-11-23 20:19:05 -05:00