#include "dynos.cpp.h" extern "C" { #include "behavior_table.h" #include "levels/scripts.h" #include "object_fields.h" #include "engine/level_script.h" #include "game/object_helpers.h" #include "game/segment2.h" #include "game/level_geo.h" #include "game/level_update.h" #include "game/moving_texture.h" #include "game/paintings.h" #include "game/geo_misc.h" #include "game/mario_misc.h" #include "game/mario_actions_cutscene.h" #include "game/screen_transition.h" #include "game/object_list_processor.h" #include "game/behavior_actions.h" #include "game/rendering_graph_node.h" #include "game/skybox.h" #include "levels/bbh/header.h" #include "levels/bitdw/header.h" #include "levels/bitfs/header.h" #include "levels/bits/header.h" #include "levels/bob/header.h" #include "levels/bowser_1/header.h" #include "levels/bowser_2/header.h" #include "levels/bowser_2/header.h" #include "levels/bowser_3/header.h" #include "levels/bowser_3/header.h" #include "levels/castle_courtyard/header.h" #include "levels/castle_grounds/header.h" #include "levels/castle_inside/header.h" #include "levels/ccm/header.h" #include "levels/cotmc/header.h" #include "levels/ddd/header.h" #include "levels/hmc/header.h" #include "levels/jrb/header.h" #include "levels/lll/header.h" #include "levels/pss/header.h" #include "levels/rr/header.h" #include "levels/sa/header.h" #include "levels/sl/header.h" #include "levels/ssl/header.h" #include "levels/thi/header.h" #include "levels/totwc/header.h" #include "levels/ttc/header.h" #include "levels/ttm/header.h" #include "levels/vcutm/header.h" #include "levels/wdw/header.h" #include "levels/wf/header.h" #include "levels/wmotr/header.h" #include "textures.h" } #define MGR_FIND_DATA(_DataTable, _Cast) \ size_t _count = sizeof(_DataTable) / (2 * sizeof(_DataTable[0])); \ for (u32 _i = 0; _i < _count; _i++) { \ if (!strcmp((const char*)_DataTable[_i * 2 + 0], aDataName)) { \ return _Cast _DataTable[_i * 2 + 1]; \ } \ } \ return NULL; #define MGR_FIND_NAME(_DataTable) \ size_t _count = sizeof(_DataTable) / (2 * sizeof(_DataTable[0])); \ for (u32 _i = 0; _i < _count; _i++) { \ if ((const void*)_DataTable[_i * 2 + 1] == aData) { \ return (const char*)_DataTable[_i * 2 + 0]; \ } \ } \ return NULL; /////////////////////// // Function Pointers // /////////////////////// #define define_vanilla_script_ptr(ptr) (const void*)#ptr, (const void*)ptr static const void* sDynosVanillaScriptPtrs[] = { define_vanilla_script_ptr(level_main_scripts_entry), define_vanilla_script_ptr(script_func_global_1), define_vanilla_script_ptr(script_func_global_2), define_vanilla_script_ptr(script_func_global_3), define_vanilla_script_ptr(script_func_global_4), define_vanilla_script_ptr(script_func_global_5), define_vanilla_script_ptr(script_func_global_6), define_vanilla_script_ptr(script_func_global_7), define_vanilla_script_ptr(script_func_global_8), define_vanilla_script_ptr(script_func_global_9), define_vanilla_script_ptr(script_func_global_10), define_vanilla_script_ptr(script_func_global_11), define_vanilla_script_ptr(script_func_global_12), define_vanilla_script_ptr(script_func_global_13), define_vanilla_script_ptr(script_func_global_14), define_vanilla_script_ptr(script_func_global_15), define_vanilla_script_ptr(script_func_global_16), define_vanilla_script_ptr(script_func_global_17), define_vanilla_script_ptr(script_func_global_18), }; const void* DynOS_Mgr_VanillaScriptPtr_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosVanillaScriptPtrs, (const void*)); } const char* DynOS_Mgr_VanillaScriptPtr_GetFromData(const void* aData) { MGR_FIND_NAME(sDynosVanillaScriptPtrs); } //////////////// // Level Geos // //////////////// #define define_vanilla_lvl_geo(tex) (const void*) #tex, (const void*) tex static const void* sDynosVanillaLvlGeos[] = { define_vanilla_lvl_geo(bitfs_geo_0004B0), define_vanilla_lvl_geo(bitfs_geo_0004C8), define_vanilla_lvl_geo(bitfs_geo_0004E0), define_vanilla_lvl_geo(bitfs_geo_0004F8), define_vanilla_lvl_geo(bitfs_geo_000510), define_vanilla_lvl_geo(bitfs_geo_000528), define_vanilla_lvl_geo(bitfs_geo_000540), define_vanilla_lvl_geo(bitfs_geo_000558), define_vanilla_lvl_geo(bitfs_geo_000570), define_vanilla_lvl_geo(bitfs_geo_000588), define_vanilla_lvl_geo(bitfs_geo_0005A0), define_vanilla_lvl_geo(bitfs_geo_0005B8), define_vanilla_lvl_geo(bitfs_geo_0005D0), define_vanilla_lvl_geo(bitfs_geo_0005E8), define_vanilla_lvl_geo(bitfs_geo_000600), define_vanilla_lvl_geo(bitfs_geo_000618), define_vanilla_lvl_geo(bitfs_geo_000630), define_vanilla_lvl_geo(bitfs_geo_000648), define_vanilla_lvl_geo(bitfs_geo_000660), define_vanilla_lvl_geo(bitfs_geo_000678), define_vanilla_lvl_geo(bitfs_geo_000690), define_vanilla_lvl_geo(bitfs_geo_0006A8), define_vanilla_lvl_geo(bitfs_geo_0006C0), define_vanilla_lvl_geo(bitfs_geo_0006D8), define_vanilla_lvl_geo(bitfs_geo_0006F0), define_vanilla_lvl_geo(bitfs_geo_000708), define_vanilla_lvl_geo(bitfs_geo_000728), define_vanilla_lvl_geo(bitfs_geo_000740), define_vanilla_lvl_geo(bitfs_geo_000758), define_vanilla_lvl_geo(bitfs_geo_000770), define_vanilla_lvl_geo(bitfs_geo_000788), define_vanilla_lvl_geo(bitfs_geo_0007A0), define_vanilla_lvl_geo(bits_geo_000430), define_vanilla_lvl_geo(bits_geo_000448), define_vanilla_lvl_geo(bits_geo_000460), define_vanilla_lvl_geo(bits_geo_000478), define_vanilla_lvl_geo(bits_geo_000490), define_vanilla_lvl_geo(bits_geo_0004A8), define_vanilla_lvl_geo(bits_geo_0004C0), define_vanilla_lvl_geo(bits_geo_0004D8), define_vanilla_lvl_geo(bits_geo_0004F0), define_vanilla_lvl_geo(bits_geo_000508), define_vanilla_lvl_geo(bits_geo_000520), define_vanilla_lvl_geo(bits_geo_000538), define_vanilla_lvl_geo(bits_geo_000550), define_vanilla_lvl_geo(bits_geo_000568), define_vanilla_lvl_geo(bits_geo_000580), define_vanilla_lvl_geo(bits_geo_000598), define_vanilla_lvl_geo(bits_geo_0005B0), define_vanilla_lvl_geo(bits_geo_0005C8), define_vanilla_lvl_geo(bits_geo_0005E0), define_vanilla_lvl_geo(bits_geo_0005F8), define_vanilla_lvl_geo(bits_geo_000610), define_vanilla_lvl_geo(bits_geo_000628), define_vanilla_lvl_geo(bits_geo_000640), define_vanilla_lvl_geo(bits_geo_000658), define_vanilla_lvl_geo(bits_geo_000670), define_vanilla_lvl_geo(bits_geo_000688), define_vanilla_lvl_geo(bits_geo_0006A0), define_vanilla_lvl_geo(bits_geo_0006B8), define_vanilla_lvl_geo(bits_geo_0006D0), define_vanilla_lvl_geo(bits_geo_0006E8), define_vanilla_lvl_geo(bits_geo_000700), define_vanilla_lvl_geo(bits_geo_000718), define_vanilla_lvl_geo(bob_geo_000440), define_vanilla_lvl_geo(bob_geo_000458), define_vanilla_lvl_geo(bob_geo_000470), define_vanilla_lvl_geo(bob_geo_000488), define_vanilla_lvl_geo(bowser_1_geo_0000D0), define_vanilla_lvl_geo(bowser_2_geo_000170), define_vanilla_lvl_geo(bowser_2_geo_000170), define_vanilla_lvl_geo(bowser_2_geo_000188), define_vanilla_lvl_geo(bowser_2_geo_000188), define_vanilla_lvl_geo(bowser_3_geo_000290), define_vanilla_lvl_geo(bowser_3_geo_000290), define_vanilla_lvl_geo(bowser_3_geo_0002A8), define_vanilla_lvl_geo(bowser_3_geo_0002A8), define_vanilla_lvl_geo(bowser_3_geo_0002C0), define_vanilla_lvl_geo(bowser_3_geo_0002C0), define_vanilla_lvl_geo(bowser_3_geo_0002D8), define_vanilla_lvl_geo(bowser_3_geo_0002D8), define_vanilla_lvl_geo(bowser_3_geo_0002F0), define_vanilla_lvl_geo(bowser_3_geo_0002F0), define_vanilla_lvl_geo(bowser_3_geo_000308), define_vanilla_lvl_geo(bowser_3_geo_000308), define_vanilla_lvl_geo(bowser_3_geo_000320), define_vanilla_lvl_geo(bowser_3_geo_000320), define_vanilla_lvl_geo(bowser_3_geo_000338), define_vanilla_lvl_geo(bowser_3_geo_000338), define_vanilla_lvl_geo(bowser_3_geo_000350), define_vanilla_lvl_geo(bowser_3_geo_000350), define_vanilla_lvl_geo(bowser_3_geo_000368), define_vanilla_lvl_geo(bowser_3_geo_000368), define_vanilla_lvl_geo(bowser_3_geo_000380), define_vanilla_lvl_geo(bowser_3_geo_000380), define_vanilla_lvl_geo(bowser_3_geo_000398), define_vanilla_lvl_geo(bowser_3_geo_000398), define_vanilla_lvl_geo(castle_courtyard_geo_000200), define_vanilla_lvl_geo(castle_courtyard_geo_000218), define_vanilla_lvl_geo(castle_geo_000F00), define_vanilla_lvl_geo(castle_geo_000F18), define_vanilla_lvl_geo(castle_geo_000F30), define_vanilla_lvl_geo(castle_geo_000F70), define_vanilla_lvl_geo(castle_geo_000F88), define_vanilla_lvl_geo(castle_geo_000FA8), define_vanilla_lvl_geo(castle_geo_000FD0), define_vanilla_lvl_geo(castle_geo_001000), define_vanilla_lvl_geo(castle_geo_001038), define_vanilla_lvl_geo(castle_geo_001088), define_vanilla_lvl_geo(castle_geo_0010C8), define_vanilla_lvl_geo(castle_geo_001110), define_vanilla_lvl_geo(castle_geo_001158), define_vanilla_lvl_geo(castle_geo_0011A8), define_vanilla_lvl_geo(castle_geo_001200), define_vanilla_lvl_geo(castle_geo_001260), define_vanilla_lvl_geo(castle_geo_0012C8), define_vanilla_lvl_geo(castle_geo_001348), define_vanilla_lvl_geo(castle_geo_0013B8), define_vanilla_lvl_geo(castle_geo_001400), define_vanilla_lvl_geo(castle_geo_001518), define_vanilla_lvl_geo(castle_geo_001530), define_vanilla_lvl_geo(castle_geo_001548), define_vanilla_lvl_geo(castle_geo_001560), define_vanilla_lvl_geo(castle_geo_001578), define_vanilla_lvl_geo(castle_geo_0015B8), define_vanilla_lvl_geo(castle_geo_0015F8), define_vanilla_lvl_geo(castle_geo_001628), define_vanilla_lvl_geo(castle_geo_001668), define_vanilla_lvl_geo(castle_geo_001690), define_vanilla_lvl_geo(castle_geo_0016D8), define_vanilla_lvl_geo(castle_geo_001740), define_vanilla_lvl_geo(castle_geo_001798), define_vanilla_lvl_geo(castle_geo_001800), define_vanilla_lvl_geo(castle_geo_001858), define_vanilla_lvl_geo(castle_geo_001940), define_vanilla_lvl_geo(castle_geo_001958), define_vanilla_lvl_geo(castle_geo_001980), define_vanilla_lvl_geo(castle_geo_0019C8), define_vanilla_lvl_geo(castle_geo_0019F8), define_vanilla_lvl_geo(castle_geo_001A30), define_vanilla_lvl_geo(castle_geo_001A58), define_vanilla_lvl_geo(castle_geo_001AB8), define_vanilla_lvl_geo(castle_geo_001AF8), define_vanilla_lvl_geo(castle_geo_001B48), define_vanilla_lvl_geo(castle_geo_001BB0), define_vanilla_lvl_geo(castle_geo_001C10), define_vanilla_lvl_geo(castle_grounds_geo_000660), define_vanilla_lvl_geo(castle_grounds_geo_0006F4), define_vanilla_lvl_geo(castle_grounds_geo_00070C), define_vanilla_lvl_geo(castle_grounds_geo_000724), define_vanilla_lvl_geo(castle_grounds_geo_00073C), define_vanilla_lvl_geo(ccm_geo_0003D0), define_vanilla_lvl_geo(ccm_geo_0003F0), define_vanilla_lvl_geo(ccm_geo_00040C), define_vanilla_lvl_geo(ccm_geo_00042C), define_vanilla_lvl_geo(ccm_geo_00045C), define_vanilla_lvl_geo(ccm_geo_000494), define_vanilla_lvl_geo(ccm_geo_0004BC), define_vanilla_lvl_geo(ccm_geo_0004E4), define_vanilla_lvl_geo(ccm_geo_00051C), define_vanilla_lvl_geo(ccm_geo_0005E8), define_vanilla_lvl_geo(cotmc_geo_0001A0), define_vanilla_lvl_geo(ddd_geo_000450), define_vanilla_lvl_geo(ddd_geo_000478), define_vanilla_lvl_geo(ddd_geo_0004A0), define_vanilla_lvl_geo(ddd_geo_0004C0), define_vanilla_lvl_geo(ddd_geo_000570), define_vanilla_lvl_geo(geo_bbh_0005B0), define_vanilla_lvl_geo(geo_bbh_0005C8), define_vanilla_lvl_geo(geo_bbh_0005E0), define_vanilla_lvl_geo(geo_bbh_0005F8), define_vanilla_lvl_geo(geo_bbh_000610), define_vanilla_lvl_geo(geo_bbh_000628), define_vanilla_lvl_geo(geo_bbh_000640), define_vanilla_lvl_geo(geo_bbh_000658), define_vanilla_lvl_geo(geo_bbh_000670), define_vanilla_lvl_geo(geo_bbh_0006B0), define_vanilla_lvl_geo(geo_bbh_0006E8), define_vanilla_lvl_geo(geo_bbh_000730), define_vanilla_lvl_geo(geo_bbh_000750), define_vanilla_lvl_geo(geo_bbh_000768), define_vanilla_lvl_geo(geo_bbh_0007B0), define_vanilla_lvl_geo(geo_bbh_0007D0), define_vanilla_lvl_geo(geo_bbh_000800), define_vanilla_lvl_geo(geo_bbh_000828), define_vanilla_lvl_geo(geo_bbh_000860), define_vanilla_lvl_geo(geo_bbh_000888), define_vanilla_lvl_geo(geo_bbh_0008B0), define_vanilla_lvl_geo(geo_bbh_0008E8), define_vanilla_lvl_geo(geo_bbh_000950), define_vanilla_lvl_geo(geo_bbh_0009C8), define_vanilla_lvl_geo(geo_bbh_000A18), define_vanilla_lvl_geo(geo_bbh_000A60), define_vanilla_lvl_geo(geo_bbh_000AD8), define_vanilla_lvl_geo(geo_bbh_000B28), define_vanilla_lvl_geo(geo_bbh_000B88), define_vanilla_lvl_geo(geo_bbh_000BF0), define_vanilla_lvl_geo(geo_bbh_000C38), define_vanilla_lvl_geo(geo_bbh_000C88), define_vanilla_lvl_geo(geo_bbh_000CE8), define_vanilla_lvl_geo(geo_bbh_000D20), define_vanilla_lvl_geo(geo_bbh_000D68), define_vanilla_lvl_geo(geo_bbh_000DB0), define_vanilla_lvl_geo(geo_bbh_000DF0), define_vanilla_lvl_geo(geo_bbh_000E40), define_vanilla_lvl_geo(geo_bbh_000E80), define_vanilla_lvl_geo(geo_bbh_000EB0), define_vanilla_lvl_geo(geo_bbh_000F00), define_vanilla_lvl_geo(geo_bitdw_0003C0), define_vanilla_lvl_geo(geo_bitdw_0003D8), define_vanilla_lvl_geo(geo_bitdw_0003F0), define_vanilla_lvl_geo(geo_bitdw_000408), define_vanilla_lvl_geo(geo_bitdw_000420), define_vanilla_lvl_geo(geo_bitdw_000438), define_vanilla_lvl_geo(geo_bitdw_000450), define_vanilla_lvl_geo(geo_bitdw_000468), define_vanilla_lvl_geo(geo_bitdw_000480), define_vanilla_lvl_geo(geo_bitdw_000498), define_vanilla_lvl_geo(geo_bitdw_0004B0), define_vanilla_lvl_geo(geo_bitdw_0004C8), define_vanilla_lvl_geo(geo_bitdw_0004E0), define_vanilla_lvl_geo(geo_bitdw_0004F8), define_vanilla_lvl_geo(geo_bitdw_000510), define_vanilla_lvl_geo(geo_bitdw_000528), define_vanilla_lvl_geo(geo_bitdw_000540), define_vanilla_lvl_geo(geo_bitdw_000558), define_vanilla_lvl_geo(geo_bitdw_000570), define_vanilla_lvl_geo(geo_bitdw_000588), define_vanilla_lvl_geo(geo_bitdw_0005A0), define_vanilla_lvl_geo(geo_bitdw_0005B8), define_vanilla_lvl_geo(geo_bitdw_0005D0), define_vanilla_lvl_geo(geo_bitdw_0005E8), define_vanilla_lvl_geo(geo_bitdw_000600), define_vanilla_lvl_geo(geo_bitdw_000618), define_vanilla_lvl_geo(hmc_geo_000530), define_vanilla_lvl_geo(hmc_geo_000548), define_vanilla_lvl_geo(hmc_geo_000570), define_vanilla_lvl_geo(hmc_geo_000588), define_vanilla_lvl_geo(hmc_geo_0005A0), define_vanilla_lvl_geo(hmc_geo_0005B8), define_vanilla_lvl_geo(hmc_geo_0005D0), define_vanilla_lvl_geo(hmc_geo_0005E8), define_vanilla_lvl_geo(hmc_geo_000618), define_vanilla_lvl_geo(hmc_geo_000658), define_vanilla_lvl_geo(hmc_geo_0006A8), define_vanilla_lvl_geo(hmc_geo_0006E0), define_vanilla_lvl_geo(hmc_geo_000700), define_vanilla_lvl_geo(hmc_geo_000748), define_vanilla_lvl_geo(hmc_geo_000770), define_vanilla_lvl_geo(hmc_geo_000798), define_vanilla_lvl_geo(hmc_geo_0007F8), define_vanilla_lvl_geo(hmc_geo_000850), define_vanilla_lvl_geo(hmc_geo_0008D0), define_vanilla_lvl_geo(hmc_geo_000938), define_vanilla_lvl_geo(hmc_geo_000998), define_vanilla_lvl_geo(hmc_geo_000A18), define_vanilla_lvl_geo(hmc_geo_000A88), define_vanilla_lvl_geo(hmc_geo_000AE8), define_vanilla_lvl_geo(hmc_geo_000B48), define_vanilla_lvl_geo(hmc_geo_000B90), define_vanilla_lvl_geo(jrb_geo_000900), define_vanilla_lvl_geo(jrb_geo_000918), define_vanilla_lvl_geo(jrb_geo_000930), define_vanilla_lvl_geo(jrb_geo_000948), define_vanilla_lvl_geo(jrb_geo_000960), define_vanilla_lvl_geo(jrb_geo_000978), define_vanilla_lvl_geo(jrb_geo_000990), define_vanilla_lvl_geo(jrb_geo_0009B0), define_vanilla_lvl_geo(jrb_geo_0009C8), define_vanilla_lvl_geo(jrb_geo_0009E8), define_vanilla_lvl_geo(jrb_geo_000A00), define_vanilla_lvl_geo(jrb_geo_000A18), define_vanilla_lvl_geo(jrb_geo_000AFC), define_vanilla_lvl_geo(lll_geo_0009E0), define_vanilla_lvl_geo(lll_geo_0009F8), define_vanilla_lvl_geo(lll_geo_000A10), define_vanilla_lvl_geo(lll_geo_000A28), define_vanilla_lvl_geo(lll_geo_000A40), define_vanilla_lvl_geo(lll_geo_000A60), define_vanilla_lvl_geo(lll_geo_000A78), define_vanilla_lvl_geo(lll_geo_000A90), define_vanilla_lvl_geo(lll_geo_000AA8), define_vanilla_lvl_geo(lll_geo_000AC0), define_vanilla_lvl_geo(lll_geo_000AD8), define_vanilla_lvl_geo(lll_geo_000AF0), define_vanilla_lvl_geo(lll_geo_000B08), define_vanilla_lvl_geo(lll_geo_000B20), define_vanilla_lvl_geo(lll_geo_000B38), define_vanilla_lvl_geo(lll_geo_000B50), define_vanilla_lvl_geo(lll_geo_000B68), define_vanilla_lvl_geo(lll_geo_000B80), define_vanilla_lvl_geo(lll_geo_000B98), define_vanilla_lvl_geo(lll_geo_000BB0), define_vanilla_lvl_geo(lll_geo_000BC8), define_vanilla_lvl_geo(lll_geo_000BE0), define_vanilla_lvl_geo(lll_geo_000BF8), define_vanilla_lvl_geo(lll_geo_000C10), define_vanilla_lvl_geo(lll_geo_000C30), define_vanilla_lvl_geo(lll_geo_000C50), define_vanilla_lvl_geo(lll_geo_000C70), define_vanilla_lvl_geo(lll_geo_000C90), define_vanilla_lvl_geo(lll_geo_000CB0), define_vanilla_lvl_geo(lll_geo_000CD0), define_vanilla_lvl_geo(lll_geo_000CF0), define_vanilla_lvl_geo(lll_geo_000D10), define_vanilla_lvl_geo(lll_geo_000D30), define_vanilla_lvl_geo(lll_geo_000D50), define_vanilla_lvl_geo(lll_geo_000D70), define_vanilla_lvl_geo(lll_geo_000D90), define_vanilla_lvl_geo(lll_geo_000DB0), define_vanilla_lvl_geo(lll_geo_000DD0), define_vanilla_lvl_geo(lll_geo_000DE8), define_vanilla_lvl_geo(lll_geo_000E00), define_vanilla_lvl_geo(lll_geo_000EA8), define_vanilla_lvl_geo(lll_geo_000EC0), define_vanilla_lvl_geo(pss_geo_000100), define_vanilla_lvl_geo(rr_geo_000660), define_vanilla_lvl_geo(rr_geo_000678), define_vanilla_lvl_geo(rr_geo_000690), define_vanilla_lvl_geo(rr_geo_0006A8), define_vanilla_lvl_geo(rr_geo_0006C0), define_vanilla_lvl_geo(rr_geo_0006D8), define_vanilla_lvl_geo(rr_geo_0006F0), define_vanilla_lvl_geo(rr_geo_000708), define_vanilla_lvl_geo(rr_geo_000720), define_vanilla_lvl_geo(rr_geo_000738), define_vanilla_lvl_geo(rr_geo_000758), define_vanilla_lvl_geo(rr_geo_000770), define_vanilla_lvl_geo(rr_geo_000788), define_vanilla_lvl_geo(rr_geo_0007A0), define_vanilla_lvl_geo(rr_geo_0007B8), define_vanilla_lvl_geo(rr_geo_0007D0), define_vanilla_lvl_geo(rr_geo_0007E8), define_vanilla_lvl_geo(rr_geo_000800), define_vanilla_lvl_geo(rr_geo_000818), define_vanilla_lvl_geo(rr_geo_000830), define_vanilla_lvl_geo(rr_geo_000848), define_vanilla_lvl_geo(rr_geo_000860), define_vanilla_lvl_geo(rr_geo_000878), define_vanilla_lvl_geo(rr_geo_000890), define_vanilla_lvl_geo(rr_geo_0008A8), define_vanilla_lvl_geo(rr_geo_0008C0), define_vanilla_lvl_geo(rr_geo_0008D8), define_vanilla_lvl_geo(rr_geo_0008F0), define_vanilla_lvl_geo(rr_geo_000908), define_vanilla_lvl_geo(rr_geo_000920), define_vanilla_lvl_geo(rr_geo_000940), define_vanilla_lvl_geo(rr_geo_000958), define_vanilla_lvl_geo(rr_geo_000970), define_vanilla_lvl_geo(rr_geo_000988), define_vanilla_lvl_geo(rr_geo_0009A0), define_vanilla_lvl_geo(rr_geo_0009B8), define_vanilla_lvl_geo(rr_geo_0009D0), define_vanilla_lvl_geo(sa_geo_000170), define_vanilla_lvl_geo(sl_geo_000360), define_vanilla_lvl_geo(sl_geo_000378), define_vanilla_lvl_geo(sl_geo_000390), define_vanilla_lvl_geo(sl_geo_0003A8), define_vanilla_lvl_geo(sl_geo_000484), define_vanilla_lvl_geo(ssl_geo_0005C0), define_vanilla_lvl_geo(ssl_geo_0005D8), define_vanilla_lvl_geo(ssl_geo_000618), define_vanilla_lvl_geo(ssl_geo_000630), define_vanilla_lvl_geo(ssl_geo_000648), define_vanilla_lvl_geo(ssl_geo_000734), define_vanilla_lvl_geo(ssl_geo_000764), define_vanilla_lvl_geo(ssl_geo_000794), define_vanilla_lvl_geo(ssl_geo_0007AC), define_vanilla_lvl_geo(ssl_geo_0007CC), define_vanilla_lvl_geo(ssl_geo_00088C), define_vanilla_lvl_geo(thi_geo_0005B0), define_vanilla_lvl_geo(thi_geo_0005C8), define_vanilla_lvl_geo(thi_geo_0005F0), define_vanilla_lvl_geo(thi_geo_000608), define_vanilla_lvl_geo(thi_geo_0006D4), define_vanilla_lvl_geo(thi_geo_00079C), define_vanilla_lvl_geo(totwc_geo_000160), define_vanilla_lvl_geo(totwc_geo_000188), define_vanilla_lvl_geo(ttc_geo_000240), define_vanilla_lvl_geo(ttc_geo_000258), define_vanilla_lvl_geo(ttc_geo_000270), define_vanilla_lvl_geo(ttc_geo_000288), define_vanilla_lvl_geo(ttc_geo_0002A8), define_vanilla_lvl_geo(ttc_geo_0002C8), define_vanilla_lvl_geo(ttc_geo_0002E0), define_vanilla_lvl_geo(ttc_geo_0002F8), define_vanilla_lvl_geo(ttc_geo_000310), define_vanilla_lvl_geo(ttc_geo_000328), define_vanilla_lvl_geo(ttc_geo_000340), define_vanilla_lvl_geo(ttc_geo_000358), define_vanilla_lvl_geo(ttc_geo_000370), define_vanilla_lvl_geo(ttc_geo_000388), define_vanilla_lvl_geo(ttc_geo_0003A0), define_vanilla_lvl_geo(ttc_geo_0003B8), define_vanilla_lvl_geo(ttm_geo_000710), define_vanilla_lvl_geo(ttm_geo_000730), define_vanilla_lvl_geo(ttm_geo_000748), define_vanilla_lvl_geo(ttm_geo_000778), define_vanilla_lvl_geo(ttm_geo_0007A8), define_vanilla_lvl_geo(ttm_geo_0007D8), define_vanilla_lvl_geo(ttm_geo_000808), define_vanilla_lvl_geo(ttm_geo_000830), define_vanilla_lvl_geo(ttm_geo_000858), define_vanilla_lvl_geo(ttm_geo_000880), define_vanilla_lvl_geo(ttm_geo_0008A8), define_vanilla_lvl_geo(ttm_geo_0008D0), define_vanilla_lvl_geo(ttm_geo_0008F8), define_vanilla_lvl_geo(ttm_geo_000920), define_vanilla_lvl_geo(ttm_geo_000948), define_vanilla_lvl_geo(ttm_geo_000970), define_vanilla_lvl_geo(ttm_geo_000990), define_vanilla_lvl_geo(ttm_geo_0009C0), define_vanilla_lvl_geo(ttm_geo_0009F0), define_vanilla_lvl_geo(ttm_geo_000A18), define_vanilla_lvl_geo(ttm_geo_000A40), define_vanilla_lvl_geo(ttm_geo_000A70), define_vanilla_lvl_geo(ttm_geo_000B5C), define_vanilla_lvl_geo(ttm_geo_000BEC), define_vanilla_lvl_geo(ttm_geo_000C84), define_vanilla_lvl_geo(ttm_geo_000D14), define_vanilla_lvl_geo(ttm_geo_000D4C), define_vanilla_lvl_geo(ttm_geo_000D84), define_vanilla_lvl_geo(ttm_geo_000DBC), define_vanilla_lvl_geo(ttm_geo_000DF4), define_vanilla_lvl_geo(vcutm_geo_0001F0), define_vanilla_lvl_geo(vcutm_geo_000208), define_vanilla_lvl_geo(wdw_geo_000580), define_vanilla_lvl_geo(wdw_geo_000598), define_vanilla_lvl_geo(wdw_geo_0005C0), define_vanilla_lvl_geo(wdw_geo_0005E8), define_vanilla_lvl_geo(wdw_geo_000610), define_vanilla_lvl_geo(wdw_geo_000628), define_vanilla_lvl_geo(wdw_geo_000640), define_vanilla_lvl_geo(wdw_geo_000658), define_vanilla_lvl_geo(wdw_geo_000724), define_vanilla_lvl_geo(wf_geo_0007E0), define_vanilla_lvl_geo(wf_geo_000820), define_vanilla_lvl_geo(wf_geo_000860), define_vanilla_lvl_geo(wf_geo_000878), define_vanilla_lvl_geo(wf_geo_000890), define_vanilla_lvl_geo(wf_geo_0008A8), define_vanilla_lvl_geo(wf_geo_0008E8), define_vanilla_lvl_geo(wf_geo_000900), define_vanilla_lvl_geo(wf_geo_000940), define_vanilla_lvl_geo(wf_geo_000958), define_vanilla_lvl_geo(wf_geo_0009A0), define_vanilla_lvl_geo(wf_geo_0009B8), define_vanilla_lvl_geo(wf_geo_0009D0), define_vanilla_lvl_geo(wf_geo_0009E8), define_vanilla_lvl_geo(wf_geo_000A00), define_vanilla_lvl_geo(wf_geo_000A40), define_vanilla_lvl_geo(wf_geo_000A58), define_vanilla_lvl_geo(wf_geo_000A98), define_vanilla_lvl_geo(wf_geo_000AB0), define_vanilla_lvl_geo(wf_geo_000AC8), define_vanilla_lvl_geo(wf_geo_000AE0), define_vanilla_lvl_geo(wf_geo_000AF8), define_vanilla_lvl_geo(wf_geo_000B10), define_vanilla_lvl_geo(wf_geo_000B38), define_vanilla_lvl_geo(wf_geo_000B60), define_vanilla_lvl_geo(wf_geo_000B78), define_vanilla_lvl_geo(wf_geo_000B90), define_vanilla_lvl_geo(wf_geo_000BA8), define_vanilla_lvl_geo(wf_geo_000BC8), define_vanilla_lvl_geo(wf_geo_000BE0), define_vanilla_lvl_geo(wf_geo_000BF8), define_vanilla_lvl_geo(wmotr_geo_0001F0), }; const GeoLayout* DynOS_Mgr_VanillaLvlGeo_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosVanillaLvlGeos, (const GeoLayout*)); } const char* DynOS_Mgr_VanillaLvlGeo_GetFromData(const GeoLayout* aData) { MGR_FIND_NAME(sDynosVanillaLvlGeos); } //////////////// // Level Cols // //////////////// #define define_vanilla_lvl_col(col) (const void*) #col, (const void*) col static const void* sDynosVanillaLvlCols[] = { define_vanilla_lvl_col(bbh_seg7_collision_07026B1C), define_vanilla_lvl_col(bbh_seg7_collision_coffin), define_vanilla_lvl_col(bbh_seg7_collision_haunted_bookshelf), define_vanilla_lvl_col(bbh_seg7_collision_level), define_vanilla_lvl_col(bbh_seg7_collision_merry_go_round), define_vanilla_lvl_col(bbh_seg7_collision_mesh_elevator), define_vanilla_lvl_col(bbh_seg7_collision_staircase_step), define_vanilla_lvl_col(bbh_seg7_collision_tilt_floor_platform), define_vanilla_lvl_col(bitdw_seg7_collision_0700F688), define_vanilla_lvl_col(bitdw_seg7_collision_0700F70C), define_vanilla_lvl_col(bitdw_seg7_collision_0700F7F0), define_vanilla_lvl_col(bitdw_seg7_collision_0700F898), define_vanilla_lvl_col(bitdw_seg7_collision_0700F91C), define_vanilla_lvl_col(bitdw_seg7_collision_0700FA3C), define_vanilla_lvl_col(bitdw_seg7_collision_0700FB5C), define_vanilla_lvl_col(bitdw_seg7_collision_0700FC7C), define_vanilla_lvl_col(bitdw_seg7_collision_0700FD9C), define_vanilla_lvl_col(bitdw_seg7_collision_level), define_vanilla_lvl_col(bitdw_seg7_collision_moving_pyramid), define_vanilla_lvl_col(bitfs_seg7_collision_07015124), define_vanilla_lvl_col(bitfs_seg7_collision_07015288), define_vanilla_lvl_col(bitfs_seg7_collision_07015714), define_vanilla_lvl_col(bitfs_seg7_collision_07015768), define_vanilla_lvl_col(bitfs_seg7_collision_070157E0), define_vanilla_lvl_col(bitfs_seg7_collision_07015928), define_vanilla_lvl_col(bitfs_seg7_collision_inverted_pyramid), define_vanilla_lvl_col(bitfs_seg7_collision_level), define_vanilla_lvl_col(bitfs_seg7_collision_sinking_cage_platform), define_vanilla_lvl_col(bitfs_seg7_collision_sinking_platform), define_vanilla_lvl_col(bitfs_seg7_collision_squishable_platform), define_vanilla_lvl_col(bits_seg7_collision_0701A9A0), define_vanilla_lvl_col(bits_seg7_collision_0701AA0C), define_vanilla_lvl_col(bits_seg7_collision_0701AA84), define_vanilla_lvl_col(bits_seg7_collision_0701AC28), define_vanilla_lvl_col(bits_seg7_collision_0701ACAC), define_vanilla_lvl_col(bits_seg7_collision_0701AD54), define_vanilla_lvl_col(bits_seg7_collision_0701ADD8), define_vanilla_lvl_col(bits_seg7_collision_0701AE5C), define_vanilla_lvl_col(bits_seg7_collision_0701B0D4), define_vanilla_lvl_col(bits_seg7_collision_0701B26C), define_vanilla_lvl_col(bits_seg7_collision_0701B404), define_vanilla_lvl_col(bits_seg7_collision_0701B59C), define_vanilla_lvl_col(bits_seg7_collision_0701B734), define_vanilla_lvl_col(bits_seg7_collision_level), define_vanilla_lvl_col(bob_seg7_collision_bridge), define_vanilla_lvl_col(bob_seg7_collision_chain_chomp_gate), define_vanilla_lvl_col(bob_seg7_collision_gate), define_vanilla_lvl_col(bob_seg7_collision_level), define_vanilla_lvl_col(bowser_1_seg7_collision_level), define_vanilla_lvl_col(bowser_2_seg7_collision_lava), define_vanilla_lvl_col(bowser_2_seg7_collision_tilting_platform), define_vanilla_lvl_col(bowser_3_seg7_collision_07004B94), define_vanilla_lvl_col(bowser_3_seg7_collision_07004C18), define_vanilla_lvl_col(bowser_3_seg7_collision_07004C9C), define_vanilla_lvl_col(bowser_3_seg7_collision_07004D20), define_vanilla_lvl_col(bowser_3_seg7_collision_07004DA4), define_vanilla_lvl_col(bowser_3_seg7_collision_07004E28), define_vanilla_lvl_col(bowser_3_seg7_collision_07004EAC), define_vanilla_lvl_col(bowser_3_seg7_collision_07004F30), define_vanilla_lvl_col(bowser_3_seg7_collision_07004FB4), define_vanilla_lvl_col(bowser_3_seg7_collision_07005038), define_vanilla_lvl_col(bowser_3_seg7_collision_level), define_vanilla_lvl_col(castle_courtyard_seg7_collision), define_vanilla_lvl_col(castle_grounds_seg7_collision_cannon_grill), define_vanilla_lvl_col(castle_grounds_seg7_collision_level), define_vanilla_lvl_col(castle_grounds_seg7_collision_moat_grills), define_vanilla_lvl_col(ccm_seg7_area_1_collision), define_vanilla_lvl_col(ccm_seg7_area_2_collision), define_vanilla_lvl_col(ccm_seg7_collision_070163F8), define_vanilla_lvl_col(cotmc_seg7_collision_level), define_vanilla_lvl_col(ddd_seg7_area_1_collision), define_vanilla_lvl_col(ddd_seg7_area_2_collision), define_vanilla_lvl_col(ddd_seg7_collision_bowser_sub_door), define_vanilla_lvl_col(ddd_seg7_collision_submarine), define_vanilla_lvl_col(hmc_seg7_collision_0702B65C), define_vanilla_lvl_col(hmc_seg7_collision_controllable_platform_sub), define_vanilla_lvl_col(hmc_seg7_collision_controllable_platform), define_vanilla_lvl_col(hmc_seg7_collision_elevator), define_vanilla_lvl_col(hmc_seg7_collision_level), define_vanilla_lvl_col(inside_castle_seg7_area_1_collision), define_vanilla_lvl_col(inside_castle_seg7_area_2_collision), define_vanilla_lvl_col(inside_castle_seg7_area_3_collision), define_vanilla_lvl_col(inside_castle_seg7_collision_ddd_warp_2), define_vanilla_lvl_col(inside_castle_seg7_collision_ddd_warp), define_vanilla_lvl_col(inside_castle_seg7_collision_floor_trap), define_vanilla_lvl_col(inside_castle_seg7_collision_star_door), define_vanilla_lvl_col(inside_castle_seg7_collision_water_level_pillar), define_vanilla_lvl_col(jrb_seg7_area_1_collision), define_vanilla_lvl_col(jrb_seg7_area_2_collision), define_vanilla_lvl_col(jrb_seg7_collision_0700CEF0), define_vanilla_lvl_col(jrb_seg7_collision_0700D1DC), define_vanilla_lvl_col(jrb_seg7_collision_floating_box), define_vanilla_lvl_col(jrb_seg7_collision_floating_platform), define_vanilla_lvl_col(jrb_seg7_collision_in_sunken_ship_2), define_vanilla_lvl_col(jrb_seg7_collision_in_sunken_ship_3), define_vanilla_lvl_col(jrb_seg7_collision_in_sunken_ship), define_vanilla_lvl_col(jrb_seg7_collision_pillar_base), define_vanilla_lvl_col(jrb_seg7_collision_rock_solid), define_vanilla_lvl_col(lll_seg7_area_1_collision), define_vanilla_lvl_col(lll_seg7_area_2_collision), define_vanilla_lvl_col(lll_seg7_collision_0701D21C), define_vanilla_lvl_col(lll_seg7_collision_drawbridge), define_vanilla_lvl_col(lll_seg7_collision_falling_wall), define_vanilla_lvl_col(lll_seg7_collision_floating_block), define_vanilla_lvl_col(lll_seg7_collision_hexagonal_platform), define_vanilla_lvl_col(lll_seg7_collision_inverted_pyramid), define_vanilla_lvl_col(lll_seg7_collision_octagonal_moving_platform), define_vanilla_lvl_col(lll_seg7_collision_pitoune), define_vanilla_lvl_col(lll_seg7_collision_puzzle_piece), define_vanilla_lvl_col(lll_seg7_collision_rotating_fire_bars), define_vanilla_lvl_col(lll_seg7_collision_rotating_platform), define_vanilla_lvl_col(lll_seg7_collision_sinking_pyramids), define_vanilla_lvl_col(lll_seg7_collision_slow_tilting_platform), define_vanilla_lvl_col(lll_seg7_collision_wood_piece), define_vanilla_lvl_col(pss_seg7_collision), define_vanilla_lvl_col(rr_seg7_collision_07029038), define_vanilla_lvl_col(rr_seg7_collision_07029508), define_vanilla_lvl_col(rr_seg7_collision_070295F8), define_vanilla_lvl_col(rr_seg7_collision_0702967C), define_vanilla_lvl_col(rr_seg7_collision_07029750), define_vanilla_lvl_col(rr_seg7_collision_07029858), define_vanilla_lvl_col(rr_seg7_collision_07029924), define_vanilla_lvl_col(rr_seg7_collision_07029C1C), define_vanilla_lvl_col(rr_seg7_collision_07029FA4), define_vanilla_lvl_col(rr_seg7_collision_0702A32C), define_vanilla_lvl_col(rr_seg7_collision_0702A6B4), define_vanilla_lvl_col(rr_seg7_collision_donut_platform), define_vanilla_lvl_col(rr_seg7_collision_elevator_platform), define_vanilla_lvl_col(rr_seg7_collision_level), define_vanilla_lvl_col(rr_seg7_collision_pendulum), define_vanilla_lvl_col(rr_seg7_collision_rotating_platform_with_fire), define_vanilla_lvl_col(sa_seg7_collision), define_vanilla_lvl_col(sl_seg7_area_1_collision), define_vanilla_lvl_col(sl_seg7_area_2_collision), define_vanilla_lvl_col(sl_seg7_collision_pound_explodes), define_vanilla_lvl_col(sl_seg7_collision_sliding_snow_mound), define_vanilla_lvl_col(ssl_seg7_area_1_collision), define_vanilla_lvl_col(ssl_seg7_area_2_collision), define_vanilla_lvl_col(ssl_seg7_area_3_collision), define_vanilla_lvl_col(ssl_seg7_collision_0702808C), define_vanilla_lvl_col(ssl_seg7_collision_07028274), define_vanilla_lvl_col(ssl_seg7_collision_070282F8), define_vanilla_lvl_col(ssl_seg7_collision_07028370), define_vanilla_lvl_col(ssl_seg7_collision_070284B0), define_vanilla_lvl_col(ssl_seg7_collision_grindel), define_vanilla_lvl_col(ssl_seg7_collision_pyramid_elevator), define_vanilla_lvl_col(ssl_seg7_collision_pyramid_top), define_vanilla_lvl_col(ssl_seg7_collision_spindel), define_vanilla_lvl_col(ssl_seg7_collision_tox_box), define_vanilla_lvl_col(thi_seg7_area_1_collision), define_vanilla_lvl_col(thi_seg7_area_2_collision), define_vanilla_lvl_col(thi_seg7_area_3_collision), define_vanilla_lvl_col(thi_seg7_collision_top_trap), define_vanilla_lvl_col(totwc_seg7_collision), define_vanilla_lvl_col(ttc_seg7_collision_07014F70), define_vanilla_lvl_col(ttc_seg7_collision_07015008), define_vanilla_lvl_col(ttc_seg7_collision_070152B4), define_vanilla_lvl_col(ttc_seg7_collision_070153E0), define_vanilla_lvl_col(ttc_seg7_collision_07015584), define_vanilla_lvl_col(ttc_seg7_collision_07015650), define_vanilla_lvl_col(ttc_seg7_collision_07015754), define_vanilla_lvl_col(ttc_seg7_collision_070157D8), define_vanilla_lvl_col(ttc_seg7_collision_clock_main_rotation), define_vanilla_lvl_col(ttc_seg7_collision_clock_pendulum), define_vanilla_lvl_col(ttc_seg7_collision_clock_platform), define_vanilla_lvl_col(ttc_seg7_collision_level), define_vanilla_lvl_col(ttc_seg7_collision_rotating_clock_platform2), define_vanilla_lvl_col(ttc_seg7_collision_sliding_surface), define_vanilla_lvl_col(ttm_seg7_area_1_collision), define_vanilla_lvl_col(ttm_seg7_area_2_collision), define_vanilla_lvl_col(ttm_seg7_area_3_collision), define_vanilla_lvl_col(ttm_seg7_area_4_collision), define_vanilla_lvl_col(ttm_seg7_collision_pitoune_2), define_vanilla_lvl_col(ttm_seg7_collision_podium_warp), define_vanilla_lvl_col(ttm_seg7_collision_ukiki_cage), define_vanilla_lvl_col(vcutm_seg7_collision_0700AC44), define_vanilla_lvl_col(vcutm_seg7_collision), define_vanilla_lvl_col(wdw_seg7_area_1_collision), define_vanilla_lvl_col(wdw_seg7_area_2_collision), define_vanilla_lvl_col(wdw_seg7_collision_070184C8), define_vanilla_lvl_col(wdw_seg7_collision_07018528), define_vanilla_lvl_col(wdw_seg7_collision_070186B4), define_vanilla_lvl_col(wdw_seg7_collision_arrow_lift), define_vanilla_lvl_col(wdw_seg7_collision_express_elevator_platform), define_vanilla_lvl_col(wdw_seg7_collision_rect_floating_platform), define_vanilla_lvl_col(wdw_seg7_collision_square_floating_platform), define_vanilla_lvl_col(wf_seg7_collision_070102D8), define_vanilla_lvl_col(wf_seg7_collision_breakable_wall_2), define_vanilla_lvl_col(wf_seg7_collision_breakable_wall), define_vanilla_lvl_col(wf_seg7_collision_bullet_bill_cannon), define_vanilla_lvl_col(wf_seg7_collision_clocklike_rotation), define_vanilla_lvl_col(wf_seg7_collision_kickable_board), define_vanilla_lvl_col(wf_seg7_collision_large_bomp), define_vanilla_lvl_col(wf_seg7_collision_platform), define_vanilla_lvl_col(wf_seg7_collision_rotating_platform), define_vanilla_lvl_col(wf_seg7_collision_sliding_brick_platform), define_vanilla_lvl_col(wf_seg7_collision_small_bomp), define_vanilla_lvl_col(wf_seg7_collision_tower_door), define_vanilla_lvl_col(wf_seg7_collision_tower), define_vanilla_lvl_col(wf_seg7_collision_trapezoid), define_vanilla_lvl_col(wf_seg7_collision_tumbling_bridge), define_vanilla_lvl_col(wmotr_seg7_collision), }; const Collision* DynOS_Mgr_VanillaLvlCol_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosVanillaLvlCols, (const Collision*)); } const char* DynOS_Mgr_VanillaLvlCol_GetFromData(const Collision* aData) { MGR_FIND_NAME(sDynosVanillaLvlCols); } ////////////// // Textures // ////////////// #define define_vanilla_tex(tex) (const void*) #tex, (const void*) tex static const void* sDynosVanillaTexs[] = { define_vanilla_tex(cave_09000000), define_vanilla_tex(cave_09001000), define_vanilla_tex(cave_09001800), define_vanilla_tex(cave_09002800), define_vanilla_tex(cave_09003000), define_vanilla_tex(cave_09003800), define_vanilla_tex(cave_09004800), define_vanilla_tex(cave_09005800), define_vanilla_tex(cave_09006800), define_vanilla_tex(cave_09007000), define_vanilla_tex(cave_09007800), define_vanilla_tex(cave_09008800), define_vanilla_tex(cave_09009800), define_vanilla_tex(cave_0900A000), define_vanilla_tex(cave_0900A800), define_vanilla_tex(cave_0900B800), define_vanilla_tex(cave_0900C000), define_vanilla_tex(fire_09000000), define_vanilla_tex(fire_09000800), define_vanilla_tex(fire_09001000), define_vanilla_tex(fire_09001800), define_vanilla_tex(fire_09002000), define_vanilla_tex(fire_09002800), define_vanilla_tex(fire_09003000), define_vanilla_tex(fire_09003800), define_vanilla_tex(fire_09004000), define_vanilla_tex(fire_09004800), define_vanilla_tex(fire_09005000), define_vanilla_tex(fire_09005800), define_vanilla_tex(fire_09006000), define_vanilla_tex(fire_09006800), define_vanilla_tex(fire_09007000), define_vanilla_tex(fire_09007800), define_vanilla_tex(fire_09008000), define_vanilla_tex(fire_09008800), define_vanilla_tex(fire_09009000), define_vanilla_tex(fire_09009800), define_vanilla_tex(fire_0900A000), define_vanilla_tex(fire_0900A800), define_vanilla_tex(fire_0900B000), define_vanilla_tex(fire_0900B800), define_vanilla_tex(generic_09000000), define_vanilla_tex(generic_09000800), define_vanilla_tex(generic_09001000), define_vanilla_tex(generic_09001800), define_vanilla_tex(generic_09002000), define_vanilla_tex(generic_09002800), define_vanilla_tex(generic_09003000), define_vanilla_tex(generic_09003800), define_vanilla_tex(generic_09004000), define_vanilla_tex(generic_09004800), define_vanilla_tex(generic_09005000), define_vanilla_tex(generic_09005800), define_vanilla_tex(generic_09006000), define_vanilla_tex(generic_09007000), define_vanilla_tex(generic_09007800), define_vanilla_tex(generic_09008000), define_vanilla_tex(generic_09008800), define_vanilla_tex(generic_09009000), define_vanilla_tex(generic_09009800), define_vanilla_tex(generic_0900A000), define_vanilla_tex(generic_0900A800), define_vanilla_tex(generic_0900B000), define_vanilla_tex(grass_09000000), define_vanilla_tex(grass_09000800), define_vanilla_tex(grass_09001000), define_vanilla_tex(grass_09001800), define_vanilla_tex(grass_09002000), define_vanilla_tex(grass_09002800), define_vanilla_tex(grass_09003000), define_vanilla_tex(grass_09003800), define_vanilla_tex(grass_09004000), define_vanilla_tex(grass_09004800), define_vanilla_tex(grass_09005000), define_vanilla_tex(grass_09005800), define_vanilla_tex(grass_09006000), define_vanilla_tex(grass_09006800), define_vanilla_tex(grass_09007000), define_vanilla_tex(grass_09007800), define_vanilla_tex(grass_09008000), define_vanilla_tex(grass_09008800), define_vanilla_tex(grass_09009000), define_vanilla_tex(grass_09009800), define_vanilla_tex(grass_0900A000), define_vanilla_tex(grass_0900A800), define_vanilla_tex(grass_0900B000), define_vanilla_tex(grass_0900B800), define_vanilla_tex(inside_09000000), define_vanilla_tex(inside_09001000), define_vanilla_tex(inside_09002000), define_vanilla_tex(inside_09003000), define_vanilla_tex(inside_09003800), define_vanilla_tex(inside_09004000), define_vanilla_tex(inside_09004800), define_vanilla_tex(inside_09005000), define_vanilla_tex(inside_09005800), define_vanilla_tex(inside_09006000), define_vanilla_tex(inside_09007000), define_vanilla_tex(inside_09008000), define_vanilla_tex(inside_09008800), define_vanilla_tex(inside_09009000), define_vanilla_tex(inside_0900A000), define_vanilla_tex(inside_0900B000), define_vanilla_tex(inside_0900B800), define_vanilla_tex(machine_09000000), define_vanilla_tex(machine_09000800), define_vanilla_tex(machine_09001000), define_vanilla_tex(machine_09001800), define_vanilla_tex(machine_09002000), define_vanilla_tex(machine_09002800), define_vanilla_tex(machine_09003000), define_vanilla_tex(machine_09003800), define_vanilla_tex(machine_09004000), define_vanilla_tex(machine_09005000), define_vanilla_tex(machine_09005800), define_vanilla_tex(machine_09006000), define_vanilla_tex(machine_09006800), define_vanilla_tex(machine_09007000), define_vanilla_tex(machine_09007800), define_vanilla_tex(machine_09008000), define_vanilla_tex(machine_09008400), define_vanilla_tex(mountain_09000000), define_vanilla_tex(mountain_09000800), define_vanilla_tex(mountain_09001800), define_vanilla_tex(mountain_09002800), define_vanilla_tex(mountain_09003000), define_vanilla_tex(mountain_09003800), define_vanilla_tex(mountain_09004000), define_vanilla_tex(mountain_09004800), define_vanilla_tex(mountain_09005000), define_vanilla_tex(mountain_09005800), define_vanilla_tex(mountain_09006800), define_vanilla_tex(mountain_09007000), define_vanilla_tex(mountain_09007800), define_vanilla_tex(mountain_09008000), define_vanilla_tex(mountain_09008800), define_vanilla_tex(mountain_09009800), define_vanilla_tex(mountain_0900A000), define_vanilla_tex(mountain_0900A800), define_vanilla_tex(mountain_0900B000), define_vanilla_tex(mountain_0900B800), define_vanilla_tex(mountain_0900C000), define_vanilla_tex(outside_09000000), define_vanilla_tex(outside_09000800), define_vanilla_tex(outside_09001000), define_vanilla_tex(outside_09002000), define_vanilla_tex(outside_09003000), define_vanilla_tex(outside_09003800), define_vanilla_tex(outside_09004000), define_vanilla_tex(outside_09004800), define_vanilla_tex(outside_09005800), define_vanilla_tex(outside_09006000), define_vanilla_tex(outside_09006800), define_vanilla_tex(outside_09007800), define_vanilla_tex(outside_09008000), define_vanilla_tex(outside_09008800), define_vanilla_tex(outside_09009000), define_vanilla_tex(outside_09009800), define_vanilla_tex(outside_0900A000), define_vanilla_tex(outside_0900A800), define_vanilla_tex(outside_0900B000), define_vanilla_tex(outside_0900B400), define_vanilla_tex(outside_0900BC00), define_vanilla_tex(sky_09000000), define_vanilla_tex(sky_09000800), define_vanilla_tex(sky_09001000), define_vanilla_tex(sky_09001800), define_vanilla_tex(sky_09002000), define_vanilla_tex(sky_09003000), define_vanilla_tex(sky_09003800), define_vanilla_tex(sky_09004800), define_vanilla_tex(sky_09005000), define_vanilla_tex(sky_09005800), define_vanilla_tex(sky_09006000), define_vanilla_tex(texture_metal_hole), define_vanilla_tex(sky_09007000), define_vanilla_tex(sky_09007800), define_vanilla_tex(sky_09008000), define_vanilla_tex(snow_09000000), define_vanilla_tex(snow_09000800), define_vanilla_tex(snow_09001000), define_vanilla_tex(snow_09002000), define_vanilla_tex(snow_09002800), define_vanilla_tex(snow_09003000), define_vanilla_tex(snow_09003800), define_vanilla_tex(snow_09004000), define_vanilla_tex(snow_09004800), define_vanilla_tex(snow_09005000), define_vanilla_tex(snow_09005800), define_vanilla_tex(snow_09006000), define_vanilla_tex(snow_09006800), define_vanilla_tex(snow_09007000), define_vanilla_tex(snow_09008000), define_vanilla_tex(snow_09008800), define_vanilla_tex(snow_09009000), define_vanilla_tex(snow_09009800), define_vanilla_tex(spooky_09000000), define_vanilla_tex(spooky_09000800), define_vanilla_tex(spooky_09001800), define_vanilla_tex(spooky_09002800), define_vanilla_tex(spooky_09003800), define_vanilla_tex(spooky_09004800), define_vanilla_tex(spooky_09005000), define_vanilla_tex(spooky_09006000), define_vanilla_tex(spooky_09006800), define_vanilla_tex(spooky_09007000), define_vanilla_tex(spooky_09008000), define_vanilla_tex(spooky_09008800), define_vanilla_tex(spooky_09009000), define_vanilla_tex(spooky_0900A000), define_vanilla_tex(spooky_0900A800), define_vanilla_tex(spooky_0900B000), define_vanilla_tex(spooky_0900B800), define_vanilla_tex(water_09000000), define_vanilla_tex(water_09000800), define_vanilla_tex(water_09001800), define_vanilla_tex(water_09002800), define_vanilla_tex(water_09003800), define_vanilla_tex(water_09004800), define_vanilla_tex(water_09005800), define_vanilla_tex(water_09006000), define_vanilla_tex(water_09006800), define_vanilla_tex(water_09007800), define_vanilla_tex(water_09008800), define_vanilla_tex(water_09009000), define_vanilla_tex(water_0900A000), define_vanilla_tex(water_0900A800), define_vanilla_tex(water_0900B800), }; const Texture* DynOS_Mgr_VanillaTex_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosVanillaTexs, (const Texture*)); } const char* DynOS_Mgr_VanillaTex_GetFromData(const Texture* aData) { MGR_FIND_NAME(sDynosVanillaTexs); } //////////////////// // Functions Ptrs // //////////////////// static void *geo_rotate_3d_coin(s32 callContext, void *node, UNUSED void *c) { if (callContext == GEO_CONTEXT_RENDER) { struct Object *obj = (struct Object *) gCurGraphNodeObject; struct GraphNodeRotation *rotNode = (struct GraphNodeRotation *) ((struct GraphNode *) node)->next; rotNode->rotation[0] = 0; rotNode->rotation[1] = obj->oAnimState; rotNode->rotation[2] = 0; obj->oAnimState += 0x0800; } return NULL; } #define define_vanilla_func(tex) (const void*) #tex, (const void*) tex static const void* sDynosVanillaFuncs[] = { define_vanilla_func(geo_mirror_mario_set_alpha), define_vanilla_func(geo_switch_mario_stand_run), define_vanilla_func(geo_switch_mario_eyes), define_vanilla_func(geo_mario_tilt_torso), define_vanilla_func(geo_mario_head_rotation), define_vanilla_func(geo_switch_mario_hand), define_vanilla_func(geo_mario_hand_foot_scaler), define_vanilla_func(geo_switch_mario_cap_effect), define_vanilla_func(geo_switch_mario_cap_on_off), define_vanilla_func(geo_mario_rotate_wing_cap_wings), define_vanilla_func(geo_switch_mario_hand_grab_pos), define_vanilla_func(geo_render_mirror_mario), define_vanilla_func(geo_mirror_mario_backface_culling), define_vanilla_func(geo_update_projectile_pos_from_parent), define_vanilla_func(geo_update_layer_transparency), define_vanilla_func(geo_switch_anim_state), define_vanilla_func(geo_switch_area), define_vanilla_func(geo_camera_main), define_vanilla_func(geo_camera_fov), define_vanilla_func(geo_envfx_main), define_vanilla_func(geo_skybox_main), define_vanilla_func(geo_wdw_set_initial_water_level), define_vanilla_func(geo_movtex_pause_control), define_vanilla_func(geo_movtex_draw_water_regions), define_vanilla_func(geo_movtex_draw_nocolor), define_vanilla_func(geo_movtex_draw_colored), define_vanilla_func(geo_movtex_draw_colored_no_update), define_vanilla_func(geo_movtex_draw_colored_2_no_update), define_vanilla_func(geo_movtex_update_horizontal), define_vanilla_func(geo_movtex_draw_colored_no_update), define_vanilla_func(geo_painting_draw), define_vanilla_func(geo_painting_update), define_vanilla_func(geo_exec_inside_castle_light), define_vanilla_func(geo_exec_flying_carpet_timer_update), define_vanilla_func(geo_exec_flying_carpet_create), define_vanilla_func(geo_exec_cake_end_screen), define_vanilla_func(geo_cannon_circle_base), define_vanilla_func(geo_move_mario_part_from_parent), define_vanilla_func(geo_bits_bowser_coloring), define_vanilla_func(geo_update_body_rot_from_parent), define_vanilla_func(geo_switch_bowser_eyes), define_vanilla_func(geo_switch_tuxie_mother_eyes), define_vanilla_func(geo_update_held_mario_pos), define_vanilla_func(geo_snufit_move_mask), define_vanilla_func(geo_snufit_scale_body), define_vanilla_func(geo_scale_bowser_key), (const void *) "geo_rotate_coin", (const void *) geo_rotate_3d_coin, define_vanilla_func(geo_offset_klepto_held_object), define_vanilla_func(geo_switch_peach_eyes), // coop-specific define_vanilla_func(geo_mario_set_player_colors), define_vanilla_func(geo_movtex_draw_water_regions_ext), define_vanilla_func(lvl_init_or_update), }; const void* DynOS_Mgr_VanillaFunc_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosVanillaFuncs, (const void*)); } const void* DynOS_Mgr_VanillaFunc_GetFromIndex(s32 aIndex) { size_t count = sizeof(sDynosVanillaFuncs) / (2 * sizeof(sDynosVanillaFuncs[0])); if (aIndex < 0 || aIndex >= count) { return NULL; } return (const void*)sDynosVanillaFuncs[aIndex * 2 + 1]; } s32 DynOS_Mgr_VanillaFunc_GetIndexFromData(const void* aData) { size_t count = sizeof(sDynosVanillaFuncs) / (2 * sizeof(sDynosVanillaFuncs[0])); for (s32 i = 0; i < count; i++) { if ((const void*)sDynosVanillaFuncs[i * 2 + 1] == aData) { return i; } } return -1; }