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