#include "dynos.cpp.h" extern "C" { #include "behavior_table.h" #include "levels/scripts.h" #include "object_fields.h" #include "engine/behavior_script.h" #include "engine/level_script.h" #include "engine/surface_load.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/obj_behaviors.h" #include "game/obj_behaviors_2.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 "menu/level_select_menu.h" #include "menu/intro_geo.h" #include "actors/common0.h" #include "actors/common1.h" #include "actors/group0.h" #include "actors/group1.h" #include "actors/group2.h" #include "actors/group3.h" #include "actors/group4.h" #include "actors/group5.h" #include "actors/group6.h" #include "actors/group7.h" #include "actors/group8.h" #include "actors/group9.h" #include "actors/group10.h" #include "actors/group11.h" #include "actors/group12.h" #include "actors/group13.h" #include "actors/group14.h" #include "actors/group15.h" #include "actors/group16.h" #include "actors/group17.h" #include "actors/custom0.h" #include "actors/zcustom0.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/ending/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 "levels/menu/header.h" #include "dynos_mgr_builtin_externs.h" #include "textures.h" } #define define_builtin(_ptr) (const void*)#_ptr, (const void*)_ptr #define define_builtin_ptr(_ptr) (const void*)#_ptr, (const void*)&_ptr #define define_animation_builtin(_ptr) (const void*)#_ptr, (const void*)_ptr #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_DATA_FROM_TABLES(_DataTable, _DataTable2, _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]; \ } \ } \ _count = sizeof(_DataTable2) / (2 * sizeof(_DataTable2[0])); \ for (u32 _i = 0; _i < _count; _i++) { \ if (!strcmp((const char*)_DataTable2[_i * 2 + 0], aDataName)) { \ return _Cast _DataTable2[_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 // /////////////////////// static const void* sDynosBuiltinScriptPtrs[] = { define_builtin(level_main_scripts_entry), define_builtin(script_func_global_1), define_builtin(script_func_global_2), define_builtin(script_func_global_3), define_builtin(script_func_global_4), define_builtin(script_func_global_5), define_builtin(script_func_global_6), define_builtin(script_func_global_7), define_builtin(script_func_global_8), define_builtin(script_func_global_9), define_builtin(script_func_global_10), define_builtin(script_func_global_11), define_builtin(script_func_global_12), define_builtin(script_func_global_13), define_builtin(script_func_global_14), define_builtin(script_func_global_15), define_builtin(script_func_global_16), define_builtin(script_func_global_17), define_builtin(script_func_global_18), define_builtin(level_bbh_entry), define_builtin(level_bitdw_entry), define_builtin(level_bitfs_entry), define_builtin(level_bits_entry), define_builtin(level_bob_entry), define_builtin(level_bowser_1_entry), define_builtin(level_bowser_2_entry), define_builtin(level_bowser_3_entry), define_builtin(level_castle_courtyard_entry), define_builtin(level_castle_grounds_entry), define_builtin(level_castle_inside_entry), define_builtin(level_ccm_entry), define_builtin(level_cotmc_entry), define_builtin(level_ddd_entry), define_builtin(level_ending_entry), define_builtin(level_hmc_entry), define_builtin(level_jrb_entry), define_builtin(level_lll_entry), define_builtin(level_pss_entry), define_builtin(level_rr_entry), define_builtin(level_sa_entry), define_builtin(level_sl_entry), define_builtin(level_ssl_entry), define_builtin(level_thi_entry), define_builtin(level_totwc_entry), define_builtin(level_ttc_entry), define_builtin(level_ttm_entry), define_builtin(level_vcutm_entry), define_builtin(level_wdw_entry), define_builtin(level_wf_entry), define_builtin(level_wmotr_entry), define_builtin(level_main_menu_entry_1), }; #define define_level_original(lvl, script) (void*) script void* gDynosLevelScriptsOriginal[LEVEL_COUNT] = { define_level_original(0, NULL), define_level_original(LEVEL_UNKNOWN_1, NULL), define_level_original(LEVEL_UNKNOWN_2, NULL), define_level_original(LEVEL_UNKNOWN_3, NULL), define_level_original(LEVEL_BBH, level_bbh_entry), define_level_original(LEVEL_CCM, level_ccm_entry), define_level_original(LEVEL_CASTLE, level_castle_inside_entry), define_level_original(LEVEL_HMC, level_hmc_entry), define_level_original(LEVEL_SSL, level_ssl_entry), define_level_original(LEVEL_BOB, level_bob_entry), define_level_original(LEVEL_SL, level_sl_entry), define_level_original(LEVEL_WDW, level_wdw_entry), define_level_original(LEVEL_JRB, level_jrb_entry), define_level_original(LEVEL_THI, level_thi_entry), define_level_original(LEVEL_TTC, level_ttc_entry), define_level_original(LEVEL_RR, level_rr_entry), define_level_original(LEVEL_CASTLE_GROUNDS, level_castle_grounds_entry), define_level_original(LEVEL_BITDW, level_bitdw_entry), define_level_original(LEVEL_VCUTM, level_vcutm_entry), define_level_original(LEVEL_BITFS, level_bitfs_entry), define_level_original(LEVEL_SA, level_sa_entry), define_level_original(LEVEL_BITS, level_bits_entry), define_level_original(LEVEL_LLL, level_lll_entry), define_level_original(LEVEL_DDD, level_ddd_entry), define_level_original(LEVEL_WF, level_wf_entry), define_level_original(LEVEL_ENDING, level_ending_entry), define_level_original(LEVEL_CASTLE_COURTYARD, level_castle_courtyard_entry), define_level_original(LEVEL_PSS, level_pss_entry), define_level_original(LEVEL_COTMC, level_cotmc_entry), define_level_original(LEVEL_TOTWC, level_totwc_entry), define_level_original(LEVEL_BOWSER_1, level_bowser_1_entry), define_level_original(LEVEL_WMOTR, level_wmotr_entry), define_level_original(LEVEL_UNKNOWN_32, NULL), define_level_original(LEVEL_BOWSER_2, level_bowser_2_entry), define_level_original(LEVEL_BOWSER_3, level_bowser_3_entry), define_level_original(LEVEL_UNKNOWN_35, NULL), define_level_original(LEVEL_TTM, level_ttm_entry), }; 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); } //////////// // Actors // //////////// static const void *sDynosBuiltinActors[] = { define_builtin(amp_geo), define_builtin(birds_geo), define_builtin(blargg_geo), define_builtin(blue_coin_switch_geo), define_builtin(black_bobomb_geo), define_builtin(bobomb_buddy_geo), define_builtin(boo_geo), define_builtin(boo_castle_geo), define_builtin(bookend_geo), define_builtin(bookend_part_geo), define_builtin(bowling_ball_geo), define_builtin(bowling_ball_track_geo), define_builtin(bowser_geo), define_builtin(bowser2_geo), define_builtin(bowser_bomb_geo), define_builtin(bowser_flames_geo), define_builtin(bowser_impact_smoke_geo), define_builtin(bowser_1_yellow_sphere_geo), define_builtin(invisible_bowser_accessory_geo), define_builtin(bowser_key_geo), define_builtin(bowser_key_cutscene_geo), define_builtin(breakable_box_geo), define_builtin(breakable_box_small_geo), define_builtin(bub_geo), define_builtin(bubba_geo), define_builtin(bubble_geo), define_builtin(bullet_bill_geo), define_builtin(bully_geo), define_builtin(bully_boss_geo), define_builtin(burn_smoke_geo), define_builtin(butterfly_geo), define_builtin(cannon_barrel_geo), define_builtin(cannon_base_geo), define_builtin(cap_switch_geo), define_builtin(cartoon_star_geo), define_builtin(chain_chomp_geo), define_builtin(checkerboard_platform_geo), define_builtin(chilly_chief_geo), define_builtin(chilly_chief_big_geo), define_builtin(chuckya_geo), define_builtin(clam_shell_geo), define_builtin(yellow_coin_geo), define_builtin(yellow_coin_no_shadow_geo), define_builtin(blue_coin_geo), define_builtin(blue_coin_no_shadow_geo), define_builtin(red_coin_geo), define_builtin(red_coin_no_shadow_geo), define_builtin(dirt_animation_geo), define_builtin(dorrie_geo), define_builtin(cabin_door_geo), define_builtin(castle_door_geo), define_builtin(castle_door_0_star_geo), define_builtin(castle_door_1_star_geo), define_builtin(castle_door_3_stars_geo), define_builtin(haunted_door_geo), define_builtin(hazy_maze_door_geo), define_builtin(metal_door_geo), define_builtin(key_door_geo), define_builtin(wooden_door_geo), define_builtin(enemy_lakitu_geo), define_builtin(exclamation_box_geo), define_builtin(exclamation_box_outline_geo), define_builtin(explosion_geo), define_builtin(eyerok_left_hand_geo), define_builtin(eyerok_right_hand_geo), define_builtin(fish_geo), define_builtin(cyan_fish_geo), define_builtin(flyguy_geo), define_builtin(red_flame_geo), define_builtin(red_flame_shadow_geo), define_builtin(blue_flame_geo), define_builtin(fwoosh_geo), define_builtin(goomba_geo), define_builtin(haunted_cage_geo), define_builtin(haunted_chair_geo), define_builtin(heart_geo), define_builtin(heave_ho_geo), define_builtin(hoot_geo), define_builtin(king_bobomb_geo), define_builtin(klepto_geo), define_builtin(koopa_with_shell_geo), define_builtin(koopa_without_shell_geo), define_builtin(koopa_flag_geo), define_builtin(koopa_shell_geo), define_builtin(lakitu_geo), define_builtin(mad_piano_geo), define_builtin(manta_seg5_geo_05008D14), define_builtin(mario_geo), define_builtin(marios_cap_geo), define_builtin(marios_metal_cap_geo), define_builtin(marios_wing_cap_geo), define_builtin(marios_winged_metal_cap_geo), define_builtin(metal_box_geo), define_builtin(metallic_ball_geo), define_builtin(mips_geo), define_builtin(mist_geo), define_builtin(moneybag_geo), define_builtin(monty_mole_geo), define_builtin(mr_blizzard_geo), define_builtin(mr_blizzard_hidden_geo), define_builtin(mr_i_geo), define_builtin(mr_i_iris_geo), define_builtin(mushroom_1up_geo), define_builtin(number_geo), define_builtin(peach_geo), define_builtin(penguin_geo), define_builtin(piranha_plant_geo), define_builtin(pokey_head_geo), define_builtin(pokey_body_part_geo), define_builtin(purple_marble_geo), define_builtin(purple_switch_geo), define_builtin(scuttlebug_geo), define_builtin(seaweed_geo), define_builtin(skeeter_geo), define_builtin(small_key_geo), define_builtin(small_water_splash_geo), define_builtin(smoke_geo), define_builtin(snufit_geo), define_builtin(sparkles_geo), define_builtin(sparkles_animation_geo), define_builtin(spindrift_geo), define_builtin(spiny_geo), define_builtin(spiny_ball_geo), define_builtin(star_geo), define_builtin(transparent_star_geo), define_builtin(sushi_geo), define_builtin(swoop_geo), define_builtin(thwomp_geo), define_builtin(toad_geo), define_builtin(treasure_chest_base_geo), define_builtin(treasure_chest_lid_geo), define_builtin(bubbly_tree_geo), define_builtin(spiky_tree_geo), define_builtin(snow_tree_geo), define_builtin(palm_tree_geo), define_builtin(leaves_geo), define_builtin(tweester_geo), define_builtin(ukiki_geo), define_builtin(unagi_geo), define_builtin(warp_pipe_geo), define_builtin(water_bomb_geo), define_builtin(water_bomb_shadow_geo), define_builtin(water_ring_geo), define_builtin(water_splash_geo), define_builtin(idle_water_wave_geo), define_builtin(wave_trail_geo), define_builtin(white_particle_geo), define_builtin(white_puff_geo), define_builtin(whomp_geo), define_builtin(wiggler_head_geo), define_builtin(wiggler_body_geo), define_builtin(wooden_post_geo), define_builtin(wooden_signpost_geo), define_builtin(yellow_sphere_geo), define_builtin(yoshi_geo), define_builtin(yoshi_egg_geo), // coop models define_builtin(error_model_geo), define_builtin(luigi_geo), define_builtin(luigis_cap_geo), define_builtin(luigis_metal_cap_geo), define_builtin(luigis_wing_cap_geo), define_builtin(luigis_winged_metal_cap_geo), define_builtin(toad_player_geo), define_builtin(toads_cap_geo), define_builtin(toads_metal_cap_geo), define_builtin(toads_wing_cap_geo), define_builtin(waluigi_geo), define_builtin(waluigis_cap_geo), define_builtin(waluigis_metal_cap_geo), define_builtin(waluigis_wing_cap_geo), define_builtin(waluigis_winged_metal_cap_geo), define_builtin(wario_geo), define_builtin(warios_cap_geo), define_builtin(warios_metal_cap_geo), define_builtin(warios_wing_cap_geo), define_builtin(warios_winged_metal_cap_geo), }; const GeoLayout* DynOS_Builtin_Actor_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosBuiltinActors, (const GeoLayout*)); } const char* DynOS_Builtin_Actor_GetFromData(const GeoLayout* aData) { MGR_FIND_NAME(sDynosBuiltinActors); } const GeoLayout* DynOS_Builtin_Actor_GetFromIndex(s32 aIndex) { size_t count = DynOS_Builtin_Actor_GetCount(); if (aIndex < 0 || aIndex >= count) { return NULL; } return (const GeoLayout*)sDynosBuiltinActors[aIndex * 2 + 1]; } const char* DynOS_Builtin_Actor_GetNameFromIndex(s32 aIndex) { size_t count = DynOS_Builtin_Actor_GetCount(); if (aIndex < 0 || aIndex >= count) { return NULL; } return (const char*)sDynosBuiltinActors[aIndex * 2 + 0]; } s32 DynOS_Builtin_Actor_GetCount() { return sizeof(sDynosBuiltinActors) / (2 * sizeof(sDynosBuiltinActors[0])); } //////////////// // Level Geos // //////////////// static const void* sDynosBuiltinLvlGeos[] = { define_builtin(bitfs_geo_0004B0), define_builtin(bitfs_geo_0004C8), define_builtin(bitfs_geo_0004E0), define_builtin(bitfs_geo_0004F8), define_builtin(bitfs_geo_000510), define_builtin(bitfs_geo_000528), define_builtin(bitfs_geo_000540), define_builtin(bitfs_geo_000558), define_builtin(bitfs_geo_000570), define_builtin(bitfs_geo_000588), define_builtin(bitfs_geo_0005A0), define_builtin(bitfs_geo_0005B8), define_builtin(bitfs_geo_0005D0), define_builtin(bitfs_geo_0005E8), define_builtin(bitfs_geo_000600), define_builtin(bitfs_geo_000618), define_builtin(bitfs_geo_000630), define_builtin(bitfs_geo_000648), define_builtin(bitfs_geo_000660), define_builtin(bitfs_geo_000678), define_builtin(bitfs_geo_000690), define_builtin(bitfs_geo_0006A8), define_builtin(bitfs_geo_0006C0), define_builtin(bitfs_geo_0006D8), define_builtin(bitfs_geo_0006F0), define_builtin(bitfs_geo_000708), define_builtin(bitfs_geo_000728), define_builtin(bitfs_geo_000740), define_builtin(bitfs_geo_000758), define_builtin(bitfs_geo_000770), define_builtin(bitfs_geo_000788), define_builtin(bitfs_geo_0007A0), define_builtin(bits_geo_000430), define_builtin(bits_geo_000448), define_builtin(bits_geo_000460), define_builtin(bits_geo_000478), define_builtin(bits_geo_000490), define_builtin(bits_geo_0004A8), define_builtin(bits_geo_0004C0), define_builtin(bits_geo_0004D8), define_builtin(bits_geo_0004F0), define_builtin(bits_geo_000508), define_builtin(bits_geo_000520), define_builtin(bits_geo_000538), define_builtin(bits_geo_000550), define_builtin(bits_geo_000568), define_builtin(bits_geo_000580), define_builtin(bits_geo_000598), define_builtin(bits_geo_0005B0), define_builtin(bits_geo_0005C8), define_builtin(bits_geo_0005E0), define_builtin(bits_geo_0005F8), define_builtin(bits_geo_000610), define_builtin(bits_geo_000628), define_builtin(bits_geo_000640), define_builtin(bits_geo_000658), define_builtin(bits_geo_000670), define_builtin(bits_geo_000688), define_builtin(bits_geo_0006A0), define_builtin(bits_geo_0006B8), define_builtin(bits_geo_0006D0), define_builtin(bits_geo_0006E8), define_builtin(bits_geo_000700), define_builtin(bits_geo_000718), define_builtin(bob_geo_000440), define_builtin(bob_geo_000458), define_builtin(bob_geo_000470), define_builtin(bob_geo_000488), define_builtin(bowser_1_geo_0000D0), define_builtin(bowser_2_geo_000170), define_builtin(bowser_2_geo_000170), define_builtin(bowser_2_geo_000188), define_builtin(bowser_2_geo_000188), define_builtin(bowser_3_geo_000290), define_builtin(bowser_3_geo_000290), define_builtin(bowser_3_geo_0002A8), define_builtin(bowser_3_geo_0002A8), define_builtin(bowser_3_geo_0002C0), define_builtin(bowser_3_geo_0002C0), define_builtin(bowser_3_geo_0002D8), define_builtin(bowser_3_geo_0002D8), define_builtin(bowser_3_geo_0002F0), define_builtin(bowser_3_geo_0002F0), define_builtin(bowser_3_geo_000308), define_builtin(bowser_3_geo_000308), define_builtin(bowser_3_geo_000320), define_builtin(bowser_3_geo_000320), define_builtin(bowser_3_geo_000338), define_builtin(bowser_3_geo_000338), define_builtin(bowser_3_geo_000350), define_builtin(bowser_3_geo_000350), define_builtin(bowser_3_geo_000368), define_builtin(bowser_3_geo_000368), define_builtin(bowser_3_geo_000380), define_builtin(bowser_3_geo_000380), define_builtin(bowser_3_geo_000398), define_builtin(bowser_3_geo_000398), define_builtin(castle_courtyard_geo_000200), define_builtin(castle_courtyard_geo_000218), define_builtin(castle_geo_000F00), define_builtin(castle_geo_000F18), define_builtin(castle_geo_000F30), define_builtin(castle_geo_000F70), define_builtin(castle_geo_000F88), define_builtin(castle_geo_000FA8), define_builtin(castle_geo_000FD0), define_builtin(castle_geo_001000), define_builtin(castle_geo_001038), define_builtin(castle_geo_001088), define_builtin(castle_geo_0010C8), define_builtin(castle_geo_001110), define_builtin(castle_geo_001158), define_builtin(castle_geo_0011A8), define_builtin(castle_geo_001200), define_builtin(castle_geo_001260), define_builtin(castle_geo_0012C8), define_builtin(castle_geo_001348), define_builtin(castle_geo_0013B8), define_builtin(castle_geo_001400), define_builtin(castle_geo_001518), define_builtin(castle_geo_001530), define_builtin(castle_geo_001548), define_builtin(castle_geo_001560), define_builtin(castle_geo_001578), define_builtin(castle_geo_0015B8), define_builtin(castle_geo_0015F8), define_builtin(castle_geo_001628), define_builtin(castle_geo_001668), define_builtin(castle_geo_001690), define_builtin(castle_geo_0016D8), define_builtin(castle_geo_001740), define_builtin(castle_geo_001798), define_builtin(castle_geo_001800), define_builtin(castle_geo_001858), define_builtin(castle_geo_001940), define_builtin(castle_geo_001958), define_builtin(castle_geo_001980), define_builtin(castle_geo_0019C8), define_builtin(castle_geo_0019F8), define_builtin(castle_geo_001A30), define_builtin(castle_geo_001A58), define_builtin(castle_geo_001AB8), define_builtin(castle_geo_001AF8), define_builtin(castle_geo_001B48), define_builtin(castle_geo_001BB0), define_builtin(castle_geo_001C10), define_builtin(castle_grounds_geo_000660), define_builtin(castle_grounds_geo_0006F4), define_builtin(castle_grounds_geo_00070C), define_builtin(castle_grounds_geo_000724), define_builtin(castle_grounds_geo_00073C), define_builtin(ccm_geo_0003D0), define_builtin(ccm_geo_0003F0), define_builtin(ccm_geo_00040C), define_builtin(ccm_geo_00042C), define_builtin(ccm_geo_00045C), define_builtin(ccm_geo_000494), define_builtin(ccm_geo_0004BC), define_builtin(ccm_geo_0004E4), define_builtin(ccm_geo_00051C), define_builtin(ccm_geo_0005E8), define_builtin(cotmc_geo_0001A0), define_builtin(ddd_geo_000450), define_builtin(ddd_geo_000478), define_builtin(ddd_geo_0004A0), define_builtin(ddd_geo_0004C0), define_builtin(ddd_geo_000570), define_builtin(geo_bbh_0005B0), define_builtin(geo_bbh_0005C8), define_builtin(geo_bbh_0005E0), define_builtin(geo_bbh_0005F8), define_builtin(geo_bbh_000610), define_builtin(geo_bbh_000628), define_builtin(geo_bbh_000640), define_builtin(geo_bbh_000658), define_builtin(geo_bbh_000670), define_builtin(geo_bbh_0006B0), define_builtin(geo_bbh_0006E8), define_builtin(geo_bbh_000730), define_builtin(geo_bbh_000750), define_builtin(geo_bbh_000768), define_builtin(geo_bbh_0007B0), define_builtin(geo_bbh_0007D0), define_builtin(geo_bbh_000800), define_builtin(geo_bbh_000828), define_builtin(geo_bbh_000860), define_builtin(geo_bbh_000888), define_builtin(geo_bbh_0008B0), define_builtin(geo_bbh_0008E8), define_builtin(geo_bbh_000950), define_builtin(geo_bbh_0009C8), define_builtin(geo_bbh_000A18), define_builtin(geo_bbh_000A60), define_builtin(geo_bbh_000AD8), define_builtin(geo_bbh_000B28), define_builtin(geo_bbh_000B88), define_builtin(geo_bbh_000BF0), define_builtin(geo_bbh_000C38), define_builtin(geo_bbh_000C88), define_builtin(geo_bbh_000CE8), define_builtin(geo_bbh_000D20), define_builtin(geo_bbh_000D68), define_builtin(geo_bbh_000DB0), define_builtin(geo_bbh_000DF0), define_builtin(geo_bbh_000E40), define_builtin(geo_bbh_000E80), define_builtin(geo_bbh_000EB0), define_builtin(geo_bbh_000F00), define_builtin(geo_bitdw_0003C0), define_builtin(geo_bitdw_0003D8), define_builtin(geo_bitdw_0003F0), define_builtin(geo_bitdw_000408), define_builtin(geo_bitdw_000420), define_builtin(geo_bitdw_000438), define_builtin(geo_bitdw_000450), define_builtin(geo_bitdw_000468), define_builtin(geo_bitdw_000480), define_builtin(geo_bitdw_000498), define_builtin(geo_bitdw_0004B0), define_builtin(geo_bitdw_0004C8), define_builtin(geo_bitdw_0004E0), define_builtin(geo_bitdw_0004F8), define_builtin(geo_bitdw_000510), define_builtin(geo_bitdw_000528), define_builtin(geo_bitdw_000540), define_builtin(geo_bitdw_000558), define_builtin(geo_bitdw_000570), define_builtin(geo_bitdw_000588), define_builtin(geo_bitdw_0005A0), define_builtin(geo_bitdw_0005B8), define_builtin(geo_bitdw_0005D0), define_builtin(geo_bitdw_0005E8), define_builtin(geo_bitdw_000600), define_builtin(geo_bitdw_000618), define_builtin(hmc_geo_000530), define_builtin(hmc_geo_000548), define_builtin(hmc_geo_000570), define_builtin(hmc_geo_000588), define_builtin(hmc_geo_0005A0), define_builtin(hmc_geo_0005B8), define_builtin(hmc_geo_0005D0), define_builtin(hmc_geo_0005E8), define_builtin(hmc_geo_000618), define_builtin(hmc_geo_000658), define_builtin(hmc_geo_0006A8), define_builtin(hmc_geo_0006E0), define_builtin(hmc_geo_000700), define_builtin(hmc_geo_000748), define_builtin(hmc_geo_000770), define_builtin(hmc_geo_000798), define_builtin(hmc_geo_0007F8), define_builtin(hmc_geo_000850), define_builtin(hmc_geo_0008D0), define_builtin(hmc_geo_000938), define_builtin(hmc_geo_000998), define_builtin(hmc_geo_000A18), define_builtin(hmc_geo_000A88), define_builtin(hmc_geo_000AE8), define_builtin(hmc_geo_000B48), define_builtin(hmc_geo_000B90), define_builtin(jrb_geo_000900), define_builtin(jrb_geo_000918), define_builtin(jrb_geo_000930), define_builtin(jrb_geo_000948), define_builtin(jrb_geo_000960), define_builtin(jrb_geo_000978), define_builtin(jrb_geo_000990), define_builtin(jrb_geo_0009B0), define_builtin(jrb_geo_0009C8), define_builtin(jrb_geo_0009E8), define_builtin(jrb_geo_000A00), define_builtin(jrb_geo_000A18), define_builtin(jrb_geo_000AFC), define_builtin(lll_geo_0009E0), define_builtin(lll_geo_0009F8), define_builtin(lll_geo_000A10), define_builtin(lll_geo_000A28), define_builtin(lll_geo_000A40), define_builtin(lll_geo_000A60), define_builtin(lll_geo_000A78), define_builtin(lll_geo_000A90), define_builtin(lll_geo_000AA8), define_builtin(lll_geo_000AC0), define_builtin(lll_geo_000AD8), define_builtin(lll_geo_000AF0), define_builtin(lll_geo_000B08), define_builtin(lll_geo_000B20), define_builtin(lll_geo_000B38), define_builtin(lll_geo_000B50), define_builtin(lll_geo_000B68), define_builtin(lll_geo_000B80), define_builtin(lll_geo_000B98), define_builtin(lll_geo_000BB0), define_builtin(lll_geo_000BC8), define_builtin(lll_geo_000BE0), define_builtin(lll_geo_000BF8), define_builtin(lll_geo_000C10), define_builtin(lll_geo_000C30), define_builtin(lll_geo_000C50), define_builtin(lll_geo_000C70), define_builtin(lll_geo_000C90), define_builtin(lll_geo_000CB0), define_builtin(lll_geo_000CD0), define_builtin(lll_geo_000CF0), define_builtin(lll_geo_000D10), define_builtin(lll_geo_000D30), define_builtin(lll_geo_000D50), define_builtin(lll_geo_000D70), define_builtin(lll_geo_000D90), define_builtin(lll_geo_000DB0), define_builtin(lll_geo_000DD0), define_builtin(lll_geo_000DE8), define_builtin(lll_geo_000E00), define_builtin(lll_geo_000EA8), define_builtin(lll_geo_000EC0), define_builtin(pss_geo_000100), define_builtin(rr_geo_000660), define_builtin(rr_geo_000678), define_builtin(rr_geo_000690), define_builtin(rr_geo_0006A8), define_builtin(rr_geo_0006C0), define_builtin(rr_geo_0006D8), define_builtin(rr_geo_0006F0), define_builtin(rr_geo_000708), define_builtin(rr_geo_000720), define_builtin(rr_geo_000738), define_builtin(rr_geo_000758), define_builtin(rr_geo_000770), define_builtin(rr_geo_000788), define_builtin(rr_geo_0007A0), define_builtin(rr_geo_0007B8), define_builtin(rr_geo_0007D0), define_builtin(rr_geo_0007E8), define_builtin(rr_geo_000800), define_builtin(rr_geo_000818), define_builtin(rr_geo_000830), define_builtin(rr_geo_000848), define_builtin(rr_geo_000860), define_builtin(rr_geo_000878), define_builtin(rr_geo_000890), define_builtin(rr_geo_0008A8), define_builtin(rr_geo_0008C0), define_builtin(rr_geo_0008D8), define_builtin(rr_geo_0008F0), define_builtin(rr_geo_000908), define_builtin(rr_geo_000920), define_builtin(rr_geo_000940), define_builtin(rr_geo_000958), define_builtin(rr_geo_000970), define_builtin(rr_geo_000988), define_builtin(rr_geo_0009A0), define_builtin(rr_geo_0009B8), define_builtin(rr_geo_0009D0), define_builtin(sa_geo_000170), define_builtin(sl_geo_000360), define_builtin(sl_geo_000378), define_builtin(sl_geo_000390), define_builtin(sl_geo_0003A8), define_builtin(sl_geo_000484), define_builtin(ssl_geo_0005C0), define_builtin(ssl_geo_0005D8), define_builtin(ssl_geo_000618), define_builtin(ssl_geo_000630), define_builtin(ssl_geo_000648), define_builtin(ssl_geo_000734), define_builtin(ssl_geo_000764), define_builtin(ssl_geo_000794), define_builtin(ssl_geo_0007AC), define_builtin(ssl_geo_0007CC), define_builtin(ssl_geo_00088C), define_builtin(thi_geo_0005B0), define_builtin(thi_geo_0005C8), define_builtin(thi_geo_0005F0), define_builtin(thi_geo_000608), define_builtin(thi_geo_0006D4), define_builtin(thi_geo_00079C), define_builtin(totwc_geo_000160), define_builtin(totwc_geo_000188), define_builtin(ttc_geo_000240), define_builtin(ttc_geo_000258), define_builtin(ttc_geo_000270), define_builtin(ttc_geo_000288), define_builtin(ttc_geo_0002A8), define_builtin(ttc_geo_0002C8), define_builtin(ttc_geo_0002E0), define_builtin(ttc_geo_0002F8), define_builtin(ttc_geo_000310), define_builtin(ttc_geo_000328), define_builtin(ttc_geo_000340), define_builtin(ttc_geo_000358), define_builtin(ttc_geo_000370), define_builtin(ttc_geo_000388), define_builtin(ttc_geo_0003A0), define_builtin(ttc_geo_0003B8), define_builtin(ttm_geo_000710), define_builtin(ttm_geo_000730), define_builtin(ttm_geo_000748), define_builtin(ttm_geo_000778), define_builtin(ttm_geo_0007A8), define_builtin(ttm_geo_0007D8), define_builtin(ttm_geo_000808), define_builtin(ttm_geo_000830), define_builtin(ttm_geo_000858), define_builtin(ttm_geo_000880), define_builtin(ttm_geo_0008A8), define_builtin(ttm_geo_0008D0), define_builtin(ttm_geo_0008F8), define_builtin(ttm_geo_000920), define_builtin(ttm_geo_000948), define_builtin(ttm_geo_000970), define_builtin(ttm_geo_000990), define_builtin(ttm_geo_0009C0), define_builtin(ttm_geo_0009F0), define_builtin(ttm_geo_000A18), define_builtin(ttm_geo_000A40), define_builtin(ttm_geo_000A70), define_builtin(ttm_geo_000B5C), define_builtin(ttm_geo_000BEC), define_builtin(ttm_geo_000C84), define_builtin(ttm_geo_000D14), define_builtin(ttm_geo_000D4C), define_builtin(ttm_geo_000D84), define_builtin(ttm_geo_000DBC), define_builtin(ttm_geo_000DF4), define_builtin(vcutm_geo_0001F0), define_builtin(vcutm_geo_000208), define_builtin(wdw_geo_000580), define_builtin(wdw_geo_000598), define_builtin(wdw_geo_0005C0), define_builtin(wdw_geo_0005E8), define_builtin(wdw_geo_000610), define_builtin(wdw_geo_000628), define_builtin(wdw_geo_000640), define_builtin(wdw_geo_000658), define_builtin(wdw_geo_000724), define_builtin(wf_geo_0007E0), define_builtin(wf_geo_000820), define_builtin(wf_geo_000860), define_builtin(wf_geo_000878), define_builtin(wf_geo_000890), define_builtin(wf_geo_0008A8), define_builtin(wf_geo_0008E8), define_builtin(wf_geo_000900), define_builtin(wf_geo_000940), define_builtin(wf_geo_000958), define_builtin(wf_geo_0009A0), define_builtin(wf_geo_0009B8), define_builtin(wf_geo_0009D0), define_builtin(wf_geo_0009E8), define_builtin(wf_geo_000A00), define_builtin(wf_geo_000A40), define_builtin(wf_geo_000A58), define_builtin(wf_geo_000A98), define_builtin(wf_geo_000AB0), define_builtin(wf_geo_000AC8), define_builtin(wf_geo_000AE0), define_builtin(wf_geo_000AF8), define_builtin(wf_geo_000B10), define_builtin(wf_geo_000B38), define_builtin(wf_geo_000B60), define_builtin(wf_geo_000B78), define_builtin(wf_geo_000B90), define_builtin(wf_geo_000BA8), define_builtin(wf_geo_000BC8), define_builtin(wf_geo_000BE0), define_builtin(wf_geo_000BF8), define_builtin(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); } //////////////// // Collisions // //////////////// static const void* sDynosBuiltinCols[] = { // Level Collisions define_builtin(bbh_seg7_collision_07026B1C), define_builtin(bbh_seg7_collision_coffin), define_builtin(bbh_seg7_collision_haunted_bookshelf), define_builtin(bbh_seg7_collision_level), define_builtin(bbh_seg7_collision_merry_go_round), define_builtin(bbh_seg7_collision_mesh_elevator), define_builtin(bbh_seg7_collision_staircase_step), define_builtin(bbh_seg7_collision_tilt_floor_platform), define_builtin(bitdw_seg7_collision_0700F688), define_builtin(bitdw_seg7_collision_0700F70C), define_builtin(bitdw_seg7_collision_0700F7F0), define_builtin(bitdw_seg7_collision_0700F898), define_builtin(bitdw_seg7_collision_0700F91C), define_builtin(bitdw_seg7_collision_0700FA3C), define_builtin(bitdw_seg7_collision_0700FB5C), define_builtin(bitdw_seg7_collision_0700FC7C), define_builtin(bitdw_seg7_collision_0700FD9C), define_builtin(bitdw_seg7_collision_level), define_builtin(bitdw_seg7_collision_moving_pyramid), define_builtin(bitfs_seg7_collision_07015124), define_builtin(bitfs_seg7_collision_07015288), define_builtin(bitfs_seg7_collision_07015714), define_builtin(bitfs_seg7_collision_07015768), define_builtin(bitfs_seg7_collision_070157E0), define_builtin(bitfs_seg7_collision_07015928), define_builtin(bitfs_seg7_collision_inverted_pyramid), define_builtin(bitfs_seg7_collision_level), define_builtin(bitfs_seg7_collision_sinking_cage_platform), define_builtin(bitfs_seg7_collision_sinking_platform), define_builtin(bitfs_seg7_collision_squishable_platform), define_builtin(bits_seg7_collision_0701A9A0), define_builtin(bits_seg7_collision_0701AA0C), define_builtin(bits_seg7_collision_0701AA84), define_builtin(bits_seg7_collision_0701AC28), define_builtin(bits_seg7_collision_0701ACAC), define_builtin(bits_seg7_collision_0701AD54), define_builtin(bits_seg7_collision_0701ADD8), define_builtin(bits_seg7_collision_0701AE5C), define_builtin(bits_seg7_collision_0701B0D4), define_builtin(bits_seg7_collision_0701B26C), define_builtin(bits_seg7_collision_0701B404), define_builtin(bits_seg7_collision_0701B59C), define_builtin(bits_seg7_collision_0701B734), define_builtin(bits_seg7_collision_level), define_builtin(bob_seg7_collision_bridge), define_builtin(bob_seg7_collision_chain_chomp_gate), define_builtin(bob_seg7_collision_gate), define_builtin(bob_seg7_collision_level), define_builtin(bowser_1_seg7_collision_level), define_builtin(bowser_2_seg7_collision_lava), define_builtin(bowser_2_seg7_collision_tilting_platform), define_builtin(bowser_3_seg7_collision_07004B94), define_builtin(bowser_3_seg7_collision_07004C18), define_builtin(bowser_3_seg7_collision_07004C9C), define_builtin(bowser_3_seg7_collision_07004D20), define_builtin(bowser_3_seg7_collision_07004DA4), define_builtin(bowser_3_seg7_collision_07004E28), define_builtin(bowser_3_seg7_collision_07004EAC), define_builtin(bowser_3_seg7_collision_07004F30), define_builtin(bowser_3_seg7_collision_07004FB4), define_builtin(bowser_3_seg7_collision_07005038), define_builtin(bowser_3_seg7_collision_level), define_builtin(castle_courtyard_seg7_collision), define_builtin(castle_grounds_seg7_collision_cannon_grill), define_builtin(castle_grounds_seg7_collision_level), define_builtin(castle_grounds_seg7_collision_moat_grills), define_builtin(ccm_seg7_area_1_collision), define_builtin(ccm_seg7_area_2_collision), define_builtin(ccm_seg7_collision_070163F8), define_builtin(cotmc_seg7_collision_level), define_builtin(ddd_seg7_area_1_collision), define_builtin(ddd_seg7_area_2_collision), define_builtin(ddd_seg7_collision_bowser_sub_door), define_builtin(ddd_seg7_collision_submarine), define_builtin(hmc_seg7_collision_0702B65C), define_builtin(hmc_seg7_collision_controllable_platform_sub), define_builtin(hmc_seg7_collision_controllable_platform), define_builtin(hmc_seg7_collision_elevator), define_builtin(hmc_seg7_collision_level), define_builtin(inside_castle_seg7_area_1_collision), define_builtin(inside_castle_seg7_area_2_collision), define_builtin(inside_castle_seg7_area_3_collision), define_builtin(inside_castle_seg7_collision_ddd_warp_2), define_builtin(inside_castle_seg7_collision_ddd_warp), define_builtin(inside_castle_seg7_collision_floor_trap), define_builtin(inside_castle_seg7_collision_star_door), define_builtin(inside_castle_seg7_collision_water_level_pillar), define_builtin(jrb_seg7_area_1_collision), define_builtin(jrb_seg7_area_2_collision), define_builtin(jrb_seg7_collision_0700CEF0), define_builtin(jrb_seg7_collision_0700D1DC), define_builtin(jrb_seg7_collision_floating_box), define_builtin(jrb_seg7_collision_floating_platform), define_builtin(jrb_seg7_collision_in_sunken_ship_2), define_builtin(jrb_seg7_collision_in_sunken_ship_3), define_builtin(jrb_seg7_collision_in_sunken_ship), define_builtin(jrb_seg7_collision_pillar_base), define_builtin(jrb_seg7_collision_rock_solid), define_builtin(lll_seg7_area_1_collision), define_builtin(lll_seg7_area_2_collision), define_builtin(lll_seg7_collision_0701D21C), define_builtin(lll_seg7_collision_drawbridge), define_builtin(lll_seg7_collision_falling_wall), define_builtin(lll_seg7_collision_floating_block), define_builtin(lll_seg7_collision_hexagonal_platform), define_builtin(lll_seg7_collision_inverted_pyramid), define_builtin(lll_seg7_collision_octagonal_moving_platform), define_builtin(lll_seg7_collision_pitoune), define_builtin(lll_seg7_collision_puzzle_piece), define_builtin(lll_seg7_collision_rotating_fire_bars), define_builtin(lll_seg7_collision_rotating_platform), define_builtin(lll_seg7_collision_sinking_pyramids), define_builtin(lll_seg7_collision_slow_tilting_platform), define_builtin(lll_seg7_collision_wood_piece), define_builtin(pss_seg7_collision), define_builtin(rr_seg7_collision_07029038), define_builtin(rr_seg7_collision_07029508), define_builtin(rr_seg7_collision_070295F8), define_builtin(rr_seg7_collision_0702967C), define_builtin(rr_seg7_collision_07029750), define_builtin(rr_seg7_collision_07029858), define_builtin(rr_seg7_collision_07029924), define_builtin(rr_seg7_collision_07029C1C), define_builtin(rr_seg7_collision_07029FA4), define_builtin(rr_seg7_collision_0702A32C), define_builtin(rr_seg7_collision_0702A6B4), define_builtin(rr_seg7_collision_donut_platform), define_builtin(rr_seg7_collision_elevator_platform), define_builtin(rr_seg7_collision_level), define_builtin(rr_seg7_collision_pendulum), define_builtin(rr_seg7_collision_rotating_platform_with_fire), define_builtin(sa_seg7_collision), define_builtin(sl_seg7_area_1_collision), define_builtin(sl_seg7_area_2_collision), define_builtin(sl_seg7_collision_pound_explodes), define_builtin(sl_seg7_collision_sliding_snow_mound), define_builtin(ssl_seg7_area_1_collision), define_builtin(ssl_seg7_area_2_collision), define_builtin(ssl_seg7_area_3_collision), define_builtin(ssl_seg7_collision_0702808C), define_builtin(ssl_seg7_collision_07028274), define_builtin(ssl_seg7_collision_070282F8), define_builtin(ssl_seg7_collision_07028370), define_builtin(ssl_seg7_collision_070284B0), define_builtin(ssl_seg7_collision_grindel), define_builtin(ssl_seg7_collision_pyramid_elevator), define_builtin(ssl_seg7_collision_pyramid_top), define_builtin(ssl_seg7_collision_spindel), define_builtin(ssl_seg7_collision_tox_box), define_builtin(thi_seg7_area_1_collision), define_builtin(thi_seg7_area_2_collision), define_builtin(thi_seg7_area_3_collision), define_builtin(thi_seg7_collision_top_trap), define_builtin(totwc_seg7_collision), define_builtin(ttc_seg7_collision_07014F70), define_builtin(ttc_seg7_collision_07015008), define_builtin(ttc_seg7_collision_070152B4), define_builtin(ttc_seg7_collision_070153E0), define_builtin(ttc_seg7_collision_07015584), define_builtin(ttc_seg7_collision_07015650), define_builtin(ttc_seg7_collision_07015754), define_builtin(ttc_seg7_collision_070157D8), define_builtin(ttc_seg7_collision_clock_main_rotation), define_builtin(ttc_seg7_collision_clock_pendulum), define_builtin(ttc_seg7_collision_clock_platform), define_builtin(ttc_seg7_collision_level), define_builtin(ttc_seg7_collision_rotating_clock_platform2), define_builtin(ttc_seg7_collision_sliding_surface), define_builtin(ttm_seg7_area_1_collision), define_builtin(ttm_seg7_area_2_collision), define_builtin(ttm_seg7_area_3_collision), define_builtin(ttm_seg7_area_4_collision), define_builtin(ttm_seg7_collision_pitoune_2), define_builtin(ttm_seg7_collision_podium_warp), define_builtin(ttm_seg7_collision_ukiki_cage), define_builtin(vcutm_seg7_collision_0700AC44), define_builtin(vcutm_seg7_collision), define_builtin(wdw_seg7_area_1_collision), define_builtin(wdw_seg7_area_2_collision), define_builtin(wdw_seg7_collision_070184C8), define_builtin(wdw_seg7_collision_07018528), define_builtin(wdw_seg7_collision_070186B4), define_builtin(wdw_seg7_collision_arrow_lift), define_builtin(wdw_seg7_collision_express_elevator_platform), define_builtin(wdw_seg7_collision_rect_floating_platform), define_builtin(wdw_seg7_collision_square_floating_platform), define_builtin(wf_seg7_collision_070102D8), define_builtin(wf_seg7_collision_breakable_wall_2), define_builtin(wf_seg7_collision_breakable_wall), define_builtin(wf_seg7_collision_bullet_bill_cannon), define_builtin(wf_seg7_collision_clocklike_rotation), define_builtin(wf_seg7_collision_kickable_board), define_builtin(wf_seg7_collision_large_bomp), define_builtin(wf_seg7_collision_platform), define_builtin(wf_seg7_collision_rotating_platform), define_builtin(wf_seg7_collision_sliding_brick_platform), define_builtin(wf_seg7_collision_small_bomp), define_builtin(wf_seg7_collision_tower_door), define_builtin(wf_seg7_collision_tower), define_builtin(wf_seg7_collision_trapezoid), define_builtin(wf_seg7_collision_tumbling_bridge), define_builtin(wmotr_seg7_collision), // Actor Collisions define_builtin(bbh_seg7_collision_coffin), define_builtin(bbh_seg7_collision_haunted_bookshelf), define_builtin(bbh_seg7_collision_merry_go_round), define_builtin(bbh_seg7_collision_mesh_elevator), define_builtin(bbh_seg7_collision_staircase_step), define_builtin(bbh_seg7_collision_tilt_floor_platform), define_builtin(bitdw_seg7_collision_moving_pyramid), define_builtin(bitfs_seg7_collision_inverted_pyramid), define_builtin(bitfs_seg7_collision_sinking_cage_platform), define_builtin(bitfs_seg7_collision_sinking_platform), define_builtin(bitfs_seg7_collision_squishable_platform), define_builtin(blue_coin_switch_seg8_collision_08000E98), define_builtin(bob_seg7_collision_chain_chomp_gate), define_builtin(bowser_2_seg7_collision_tilting_platform), define_builtin(breakable_box_seg8_collision_08012D70), define_builtin(cannon_lid_seg8_collision_08004950), define_builtin(capswitch_collision_050033D0), define_builtin(capswitch_collision_05003448), define_builtin(castle_grounds_seg7_collision_cannon_grill), define_builtin(castle_grounds_seg7_collision_moat_grills), define_builtin(checkerboard_platform_seg8_collision_0800D710), define_builtin(ddd_seg7_collision_bowser_sub_door), define_builtin(ddd_seg7_collision_submarine), define_builtin(door_seg3_collision_0301CE78), define_builtin(dorrie_seg6_collision_0600F644), define_builtin(dorrie_seg6_collision_0600FBB8), define_builtin(exclamation_box_outline_seg8_collision_08025F78), define_builtin(hmc_seg7_collision_controllable_platform), define_builtin(hmc_seg7_collision_controllable_platform_sub), define_builtin(hmc_seg7_collision_elevator), define_builtin(inside_castle_seg7_collision_floor_trap), define_builtin(inside_castle_seg7_collision_star_door), define_builtin(inside_castle_seg7_collision_water_level_pillar), define_builtin(jrb_seg7_collision_floating_box), define_builtin(jrb_seg7_collision_floating_platform), define_builtin(jrb_seg7_collision_in_sunken_ship), define_builtin(jrb_seg7_collision_in_sunken_ship_2), define_builtin(jrb_seg7_collision_in_sunken_ship_3), define_builtin(jrb_seg7_collision_pillar_base), define_builtin(jrb_seg7_collision_rock_solid), define_builtin(lll_hexagonal_mesh_seg3_collision_0301CECC), define_builtin(lll_seg7_collision_drawbridge), define_builtin(lll_seg7_collision_falling_wall), define_builtin(lll_seg7_collision_floating_block), define_builtin(lll_seg7_collision_hexagonal_platform), define_builtin(lll_seg7_collision_inverted_pyramid), define_builtin(lll_seg7_collision_octagonal_moving_platform), define_builtin(lll_seg7_collision_pitoune), define_builtin(lll_seg7_collision_puzzle_piece), define_builtin(lll_seg7_collision_rotating_fire_bars), define_builtin(lll_seg7_collision_rotating_platform), define_builtin(lll_seg7_collision_sinking_pyramids), define_builtin(lll_seg7_collision_slow_tilting_platform), define_builtin(lll_seg7_collision_wood_piece), define_builtin(metal_box_seg8_collision_08024C28), define_builtin(penguin_seg5_collision_05008B88), define_builtin(poundable_pole_collision_06002490), define_builtin(purple_switch_seg8_collision_0800C7A8), define_builtin(rr_seg7_collision_donut_platform), define_builtin(rr_seg7_collision_elevator_platform), define_builtin(rr_seg7_collision_pendulum), define_builtin(rr_seg7_collision_rotating_platform_with_fire), define_builtin(sl_seg7_collision_pound_explodes), define_builtin(sl_seg7_collision_sliding_snow_mound), define_builtin(springboard_collision_05001A28), define_builtin(ssl_seg7_collision_0702808C), define_builtin(ssl_seg7_collision_grindel), define_builtin(ssl_seg7_collision_pyramid_elevator), define_builtin(ssl_seg7_collision_pyramid_top), define_builtin(ssl_seg7_collision_spindel), define_builtin(ssl_seg7_collision_tox_box), define_builtin(thi_seg7_collision_top_trap), define_builtin(thwomp_seg5_collision_0500B7D0), define_builtin(thwomp_seg5_collision_0500B92C), define_builtin(ttc_seg7_collision_clock_main_rotation), define_builtin(ttc_seg7_collision_clock_pendulum), define_builtin(ttc_seg7_collision_clock_platform), define_builtin(ttc_seg7_collision_rotating_clock_platform2), define_builtin(ttc_seg7_collision_sliding_surface), define_builtin(ttm_seg7_collision_pitoune_2), define_builtin(ttm_seg7_collision_podium_warp), define_builtin(ttm_seg7_collision_ukiki_cage), define_builtin(unknown_seg8_collision_080262F8), define_builtin(warp_pipe_seg3_collision_03009AC8), define_builtin(wdw_seg7_collision_arrow_lift), define_builtin(wdw_seg7_collision_express_elevator_platform), define_builtin(wdw_seg7_collision_rect_floating_platform), define_builtin(wdw_seg7_collision_square_floating_platform), define_builtin(wf_seg7_collision_breakable_wall), define_builtin(wf_seg7_collision_breakable_wall_2), define_builtin(wf_seg7_collision_bullet_bill_cannon), define_builtin(wf_seg7_collision_clocklike_rotation), define_builtin(wf_seg7_collision_kickable_board), define_builtin(wf_seg7_collision_large_bomp), define_builtin(wf_seg7_collision_platform), define_builtin(wf_seg7_collision_sliding_brick_platform), define_builtin(wf_seg7_collision_small_bomp), define_builtin(wf_seg7_collision_tower), define_builtin(wf_seg7_collision_tower_door), define_builtin(whomp_seg6_collision_06020A0C), define_builtin(wooden_signpost_seg3_collision_0302DD80), }; const Collision* DynOS_Builtin_Col_GetFromName(const char* aDataName) { MGR_FIND_DATA(sDynosBuiltinCols, (const Collision*)); } const char* DynOS_Builtin_Col_GetFromData(const Collision* aData) { MGR_FIND_NAME(sDynosBuiltinCols); } //////////////// // Animations // //////////////// static const void* sDynosBuiltinAnims[] = { define_builtin_ptr(amp_seg8_anims_08004034), define_builtin_ptr(bobomb_seg8_anims_0802396C), define_builtin_ptr(chuckya_seg8_anims_0800C070), define_builtin_ptr(flyguy_seg8_anims_08011A64), define_builtin_ptr(goomba_seg8_anims_0801DA4C), define_builtin_ptr(blue_fish_seg3_anims_0301C2B0), define_builtin_ptr(bowser_key_seg3_anims_list), define_builtin_ptr(butterfly_seg3_anims_030056B0), define_builtin_ptr(door_seg3_anims_030156C0), define_builtin_ptr(heave_ho_seg5_anims_0501534C), define_builtin_ptr(hoot_seg5_anims_05005768), define_builtin_ptr(blargg_seg5_anims_0500616C), define_builtin_ptr(bully_seg5_anims_0500470C), define_builtin_ptr(king_bobomb_seg5_anims_0500FE30), define_builtin_ptr(clam_shell_seg5_anims_05001744), define_builtin_ptr(manta_seg5_anims_05008EB4), define_builtin_ptr(sushi_seg5_anims_0500AE54), define_builtin_ptr(unagi_seg5_anims_05012824), define_builtin_ptr(eyerok_seg5_anims_050116E4), define_builtin_ptr(klepto_seg5_anims_05008CFC), define_builtin_ptr(monty_mole_seg5_anims_05007248), define_builtin_ptr(ukiki_seg5_anims_05015784), define_builtin_ptr(penguin_seg5_anims_05008B74), define_builtin_ptr(snowman_seg5_anims_0500D118), define_builtin_ptr(spindrift_seg5_anims_05002D68), define_builtin_ptr(bookend_seg5_anims_05002540), define_builtin_ptr(chair_seg5_anims_05005784), define_builtin_ptr(mad_piano_seg5_anims_05009B14), define_builtin_ptr(birds_seg5_anims_050009E8), define_builtin_ptr(peach_seg5_anims_0501C41C), define_builtin_ptr(yoshi_seg5_anims_05024100), define_builtin_ptr(lakitu_enemy_seg5_anims_050144D4), define_builtin_ptr(spiny_seg5_anims_05016EAC), define_builtin_ptr(spiny_egg_seg5_anims_050157E4), define_builtin_ptr(wiggler_seg5_anims_0500C874), define_builtin_ptr(wiggler_seg5_anims_0500EC8C), define_builtin_ptr(bowser_seg6_anims_06057690), define_builtin_ptr(bub_seg6_anims_06012354), define_builtin_ptr(cyan_fish_seg6_anims_0600E264), define_builtin_ptr(seaweed_seg6_anims_0600A4D4), define_builtin_ptr(skeeter_seg6_anims_06007DE0), define_builtin_ptr(water_ring_seg6_anims_06013F7C), define_builtin_ptr(chain_chomp_seg6_anims_06025178), define_builtin_ptr(koopa_seg6_anims_06011364), define_builtin_ptr(koopa_flag_seg6_anims_06001028), define_builtin_ptr(piranha_plant_seg6_anims_0601C31C), define_builtin_ptr(whomp_seg6_anims_06020A04), define_builtin_ptr(lakitu_seg6_anims_060058F8), define_builtin_ptr(mips_seg6_anims_06015634), define_builtin_ptr(toad_seg6_anims_0600FB58), define_builtin_ptr(chilly_chief_seg6_anims_06003994), define_builtin_ptr(moneybag_seg6_anims_06005E5C), define_builtin_ptr(dorrie_seg6_anims_0600F638), define_builtin_ptr(scuttlebug_seg6_anims_06015064), define_builtin_ptr(swoop_seg6_anims_060070D0), }; const Animation *DynOS_Builtin_Anim_GetFromName(const char *aDataName) { MGR_FIND_DATA(sDynosBuiltinAnims, (const Animation *)); } const char *DynOS_Builtin_Anim_GetFromData(const Animation *aData) { MGR_FIND_NAME(sDynosBuiltinAnims); } //////////////////// // 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 * 0x0800; rotNode->rotation[2] = 0; obj->oFaceAnglePitch = 0; obj->oMoveAnglePitch = 0; obj->oFaceAngleRoll = 0; obj->oMoveAngleRoll = 0; obj->header.gfx.node.flags &= ~(GRAPH_RENDER_BILLBOARD | GRAPH_RENDER_CYLBOARD); } return NULL; } ///////////////////////////////////////////////////////////////////////////////////////////////////////// // // // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // // !! IMPORTANT: ADD NEW ENTRIES AT THE END OF THE sDynosBuiltinFuncs LIST TO PRESERVE INDEXING !! // // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // // // ///////////////////////////////////////////////////////////////////////////////////////////////////////// static const void* sDynosBuiltinFuncs[] = { define_builtin(geo_mirror_mario_set_alpha), define_builtin(geo_switch_mario_stand_run), define_builtin(geo_switch_mario_eyes), define_builtin(geo_mario_tilt_torso), define_builtin(geo_mario_head_rotation), define_builtin(geo_switch_mario_hand), define_builtin(geo_mario_hand_foot_scaler), define_builtin(geo_switch_mario_cap_effect), define_builtin(geo_switch_mario_cap_on_off), define_builtin(geo_mario_rotate_wing_cap_wings), define_builtin(geo_switch_mario_hand_grab_pos), define_builtin(geo_render_mirror_mario), define_builtin(geo_mirror_mario_backface_culling), define_builtin(geo_update_projectile_pos_from_parent), define_builtin(geo_update_layer_transparency), define_builtin(geo_switch_anim_state), define_builtin(geo_switch_area), define_builtin(geo_camera_main), define_builtin(geo_camera_fov), define_builtin(geo_envfx_main), define_builtin(geo_skybox_main), define_builtin(geo_wdw_set_initial_water_level), define_builtin(geo_movtex_pause_control), define_builtin(geo_movtex_draw_water_regions), define_builtin(geo_movtex_draw_nocolor), define_builtin(geo_movtex_draw_colored), define_builtin(geo_movtex_draw_colored_no_update), define_builtin(geo_movtex_draw_colored_2_no_update), define_builtin(geo_movtex_update_horizontal), define_builtin(geo_movtex_draw_colored_no_update), define_builtin(geo_painting_draw), define_builtin(geo_painting_update), define_builtin(geo_exec_inside_castle_light), define_builtin(geo_exec_flying_carpet_timer_update), define_builtin(geo_exec_flying_carpet_create), define_builtin(geo_exec_cake_end_screen), define_builtin(geo_cannon_circle_base), define_builtin(geo_move_mario_part_from_parent), define_builtin(geo_bits_bowser_coloring), define_builtin(geo_update_body_rot_from_parent), define_builtin(geo_switch_bowser_eyes), define_builtin(geo_switch_tuxie_mother_eyes), define_builtin(geo_update_held_mario_pos), define_builtin(geo_snufit_move_mask), define_builtin(geo_snufit_scale_body), define_builtin(geo_scale_bowser_key), (const void *) "geo_rotate_coin", (const void *) geo_rotate_3d_coin, define_builtin(geo_offset_klepto_held_object), define_builtin(geo_switch_peach_eyes), // Co-op specific define_builtin(geo_mario_set_player_colors), define_builtin(geo_movtex_draw_water_regions_ext), define_builtin(lvl_init_or_update), define_builtin(geo_choose_area_ext), // Behaviors define_builtin(bhv_cap_switch_loop), define_builtin(bhv_tiny_star_particles_init), define_builtin(bhv_grindel_thwomp_loop), define_builtin(bhv_koopa_shell_underwater_loop), define_builtin(bhv_door_init), define_builtin(bhv_door_loop), define_builtin(bhv_star_door_loop), define_builtin(bhv_star_door_loop_2), define_builtin(bhv_mr_i_loop), define_builtin(bhv_mr_i_body_loop), define_builtin(bhv_mr_i_particle_loop), define_builtin(bhv_piranha_particle_loop), define_builtin(bhv_giant_pole_loop), define_builtin(bhv_pole_init), define_builtin(bhv_pole_base_loop), define_builtin(bhv_thi_huge_island_top_loop), define_builtin(bhv_thi_tiny_island_top_loop), define_builtin(bhv_king_bobomb_loop), define_builtin(bhv_bobomb_anchor_mario_loop), define_builtin(bhv_beta_chest_bottom_init), define_builtin(bhv_beta_chest_bottom_loop), define_builtin(bhv_beta_chest_lid_loop), define_builtin(bhv_bubble_wave_init), define_builtin(bhv_bubble_maybe_loop), define_builtin(bhv_bubble_player_loop), define_builtin(bhv_water_air_bubble_init), define_builtin(bhv_water_air_bubble_loop), define_builtin(bhv_particle_init), define_builtin(bhv_particle_loop), define_builtin(bhv_water_waves_init), define_builtin(bhv_small_bubbles_loop), define_builtin(bhv_fish_group_loop), define_builtin(bhv_cannon_base_loop), define_builtin(bhv_cannon_barrel_loop), define_builtin(bhv_cannon_base_unused_loop), define_builtin(bhv_chuckya_loop), define_builtin(bhv_chuckya_anchor_mario_loop), define_builtin(bhv_rotating_platform_loop), define_builtin(bhv_wf_breakable_wall_loop), define_builtin(bhv_kickable_board_loop), define_builtin(bhv_tower_door_loop), define_builtin(bhv_wf_rotating_wooden_platform_init), define_builtin(bhv_wf_rotating_wooden_platform_loop), define_builtin(bhv_fading_warp_loop), define_builtin(bhv_warp_loop), define_builtin(bhv_white_puff_exploding_loop), define_builtin(bhv_spawned_star_init), define_builtin(bhv_spawned_star_loop), define_builtin(bhv_coin_init), define_builtin(bhv_coin_loop), define_builtin(bhv_coin_inside_boo_loop), define_builtin(bhv_coin_formation_init), define_builtin(bhv_coin_formation_spawn_loop), define_builtin(bhv_coin_formation_loop), define_builtin(bhv_temp_coin_loop), define_builtin(bhv_coin_sparkles_loop), define_builtin(bhv_golden_coin_sparkles_loop), define_builtin(bhv_wall_tiny_star_particle_loop), define_builtin(bhv_pound_tiny_star_particle_loop), define_builtin(bhv_pound_tiny_star_particle_init), define_builtin(bhv_punch_tiny_triangle_loop), define_builtin(bhv_punch_tiny_triangle_init), define_builtin(bhv_tumbling_bridge_platform_loop), define_builtin(bhv_tumbling_bridge_loop), define_builtin(bhv_elevator_init), define_builtin(bhv_elevator_loop), define_builtin(bhv_water_mist_loop), define_builtin(bhv_water_mist_spawn_loop), define_builtin(bhv_water_mist_2_loop), define_builtin(bhv_pound_white_puffs_init), define_builtin(bhv_ground_sand_init), define_builtin(bhv_ground_snow_init), define_builtin(bhv_wind_loop), define_builtin(bhv_unused_particle_spawn_loop), define_builtin(bhv_ukiki_cage_star_loop), define_builtin(bhv_ukiki_cage_loop), define_builtin(bhv_bitfs_sinking_platform_loop), define_builtin(bhv_bitfs_sinking_cage_platform_loop), define_builtin(bhv_ddd_moving_pole_loop), define_builtin(bhv_platform_normals_init), define_builtin(bhv_tilting_inverted_pyramid_loop), define_builtin(bhv_squishable_platform_loop), define_builtin(bhv_beta_moving_flames_spawn_loop), define_builtin(bhv_beta_moving_flames_loop), define_builtin(bhv_rr_rotating_bridge_platform_loop), define_builtin(bhv_flamethrower_loop), define_builtin(bhv_flamethrower_flame_loop), define_builtin(bhv_bouncing_fireball_loop), define_builtin(bhv_bouncing_fireball_flame_loop), define_builtin(bhv_bowser_shock_wave_loop), define_builtin(bhv_flame_mario_loop), define_builtin(bhv_black_smoke_mario_loop), define_builtin(bhv_black_smoke_bowser_loop), define_builtin(bhv_black_smoke_upward_loop), define_builtin(bhv_beta_fish_splash_spawner_loop), define_builtin(bhv_spindrift_loop), define_builtin(bhv_tower_platform_group_init), define_builtin(bhv_tower_platform_group_loop), define_builtin(bhv_wf_sliding_tower_platform_loop), define_builtin(bhv_wf_elevator_tower_platform_loop), define_builtin(bhv_wf_solid_tower_platform_loop), define_builtin(bhv_snow_leaf_particle_spawn_init), define_builtin(bhv_tree_snow_or_leaf_loop), define_builtin(bhv_piranha_plant_bubble_loop), define_builtin(bhv_piranha_plant_waking_bubbles_loop), define_builtin(bhv_purple_switch_loop), define_builtin(bhv_hidden_object_loop), define_builtin(bhv_breakable_box_loop), define_builtin(bhv_pushable_loop), define_builtin(bhv_init_room), define_builtin(bhv_small_water_wave_loop), define_builtin(bhv_yellow_coin_init), define_builtin(bhv_yellow_coin_loop), define_builtin(bhv_squarish_path_moving_loop), define_builtin(bhv_squarish_path_parent_init), define_builtin(bhv_squarish_path_parent_loop), define_builtin(bhv_heave_ho_loop), define_builtin(bhv_heave_ho_throw_mario_loop), define_builtin(bhv_ccm_touched_star_spawn_loop), define_builtin(bhv_unused_poundable_platform), define_builtin(bhv_beta_trampoline_top_loop), define_builtin(bhv_beta_trampoline_spring_loop), define_builtin(bhv_jumping_box_loop), define_builtin(bhv_boo_cage_init), define_builtin(bhv_boo_cage_loop), define_builtin(bhv_bowser_key_init), define_builtin(bhv_bowser_key_loop), define_builtin(bhv_grand_star_init), define_builtin(bhv_grand_star_loop), define_builtin(bhv_beta_boo_key_loop), define_builtin(bhv_alpha_boo_key_loop), define_builtin(bhv_bullet_bill_init), define_builtin(bhv_bullet_bill_loop), define_builtin(bhv_white_puff_smoke_init), define_builtin(bhv_bowser_tail_anchor_init), define_builtin(bhv_bowser_tail_anchor_loop), define_builtin(bhv_bowser_init), define_builtin(bhv_bowser_loop), define_builtin(bhv_bowser_body_anchor_init), define_builtin(bhv_bowser_body_anchor_loop), define_builtin(bhv_bowser_flame_spawn_loop), define_builtin(bhv_tilting_bowser_lava_platform_init), define_builtin(bhv_falling_bowser_platform_loop), define_builtin(bhv_blue_bowser_flame_init), define_builtin(bhv_blue_bowser_flame_loop), define_builtin(bhv_flame_floating_landing_init), define_builtin(bhv_flame_floating_landing_loop), define_builtin(bhv_blue_flames_group_loop), define_builtin(bhv_flame_bouncing_init), define_builtin(bhv_flame_bouncing_loop), define_builtin(bhv_flame_moving_forward_growing_init), define_builtin(bhv_flame_moving_forward_growing_loop), define_builtin(bhv_flame_bowser_init), define_builtin(bhv_flame_bowser_loop), define_builtin(bhv_flame_large_burning_out_init), define_builtin(bhv_blue_fish_movement_loop), define_builtin(bhv_tank_fish_group_loop), define_builtin(bhv_checkerboard_elevator_group_init), define_builtin(bhv_checkerboard_elevator_group_loop), define_builtin(bhv_checkerboard_platform_init), define_builtin(bhv_checkerboard_platform_loop), define_builtin(bhv_bowser_key_unlock_door_loop), define_builtin(bhv_bowser_key_course_exit_loop), define_builtin(bhv_invisible_objects_under_bridge_init), define_builtin(bhv_invisible_objects_under_bridge_loop), define_builtin(bhv_water_level_pillar_init), define_builtin(bhv_water_level_pillar_loop), define_builtin(bhv_ddd_warp_loop), define_builtin(bhv_moat_grills_loop), define_builtin(bhv_rotating_clock_arm_loop), define_builtin(bhv_ukiki_init), define_builtin(bhv_ukiki_loop), define_builtin(bhv_lll_sinking_rock_block_loop), define_builtin(bhv_lll_moving_octagonal_mesh_platform_loop), define_builtin(bhv_lll_rotating_block_fire_bars_loop), define_builtin(bhv_lll_rotating_hex_flame_loop), define_builtin(bhv_lll_wood_piece_loop), define_builtin(bhv_lll_floating_wood_bridge_loop), define_builtin(bhv_volcano_flames_loop), define_builtin(bhv_lll_rotating_hexagonal_ring_loop), define_builtin(bhv_lll_sinking_rectangular_platform_loop), define_builtin(bhv_lll_sinking_square_platforms_loop), define_builtin(bhv_koopa_shell_loop), define_builtin(bhv_koopa_shell_flame_loop), define_builtin(bhv_tox_box_loop), define_builtin(bhv_piranha_plant_loop), define_builtin(bhv_lll_bowser_puzzle_piece_loop), define_builtin(bhv_lll_bowser_puzzle_loop), define_builtin(bhv_tuxies_mother_loop), define_builtin(bhv_small_penguin_loop), define_builtin(bhv_fish_spawner_loop), define_builtin(bhv_fish_loop), define_builtin(bhv_wdw_express_elevator_loop), define_builtin(bhv_bub_spawner_loop), define_builtin(bhv_bub_loop), define_builtin(bhv_exclamation_box_init), define_builtin(bhv_exclamation_box_loop), define_builtin(bhv_rotating_exclamation_box_loop), define_builtin(bhv_sound_spawner_init), define_builtin(bhv_bowsers_sub_loop), define_builtin(bhv_sushi_shark_loop), define_builtin(bhv_sushi_shark_collision_loop), define_builtin(bhv_jrb_sliding_box_loop), define_builtin(bhv_ship_part_3_loop), define_builtin(bhv_sunken_ship_part_loop), define_builtin(bhv_white_puff_1_loop), define_builtin(bhv_white_puff_2_loop), define_builtin(bhv_blue_coin_switch_loop), define_builtin(bhv_hidden_blue_coin_loop), define_builtin(bhv_openable_cage_door_loop), define_builtin(bhv_openable_grill_loop), define_builtin(bhv_water_level_diamond_loop), define_builtin(bhv_init_changing_water_level_loop), define_builtin(bhv_tweester_sand_particle_loop), define_builtin(bhv_tweester_loop), define_builtin(bhv_merry_go_round_boo_manager_loop), define_builtin(bhv_animated_texture_loop), define_builtin(bhv_boo_in_castle_loop), define_builtin(bhv_boo_with_cage_init), define_builtin(bhv_boo_with_cage_loop), define_builtin(bhv_boo_init), define_builtin(bhv_big_boo_loop), define_builtin(bhv_courtyard_boo_triplet_init), define_builtin(bhv_boo_loop), define_builtin(bhv_boo_boss_spawned_bridge_loop), define_builtin(bhv_bbh_tilting_trap_platform_loop), define_builtin(bhv_haunted_bookshelf_loop), define_builtin(bhv_merry_go_round_loop), // We can't move this without forcing all old mods to possibly need to recompile. How annoying. #ifndef VERSION_JP define_builtin(bhv_play_music_track_when_touched_loop), #else (const void *) "bhv_play_music_track_when_touched_loop", (const void *) stub_behavior_script_2, #endif define_builtin(bhv_beta_bowser_anchor_loop), define_builtin(bhv_static_checkered_platform_loop), define_builtin(bhv_castle_floor_trap_init), define_builtin(bhv_castle_floor_trap_loop), define_builtin(bhv_floor_trap_in_castle_loop), define_builtin(bhv_sparkle_spawn_loop), define_builtin(bhv_scuttlebug_loop), define_builtin(bhv_scuttlebug_spawn_loop), define_builtin(bhv_whomp_loop), define_builtin(bhv_water_splash_spawn_droplets), define_builtin(bhv_water_droplet_loop), define_builtin(bhv_water_droplet_splash_init), define_builtin(bhv_bubble_splash_init), define_builtin(bhv_idle_water_wave_loop), define_builtin(bhv_shallow_water_splash_init), define_builtin(bhv_wave_trail_shrink), define_builtin(bhv_strong_wind_particle_loop), define_builtin(bhv_sl_snowman_wind_loop), define_builtin(bhv_sl_walking_penguin_loop), define_builtin(bhv_menu_button_init), define_builtin(bhv_menu_button_loop), define_builtin(bhv_menu_button_manager_init), define_builtin(bhv_menu_button_manager_loop), define_builtin(bhv_act_selector_star_type_loop), define_builtin(bhv_act_selector_init), define_builtin(bhv_act_selector_loop), define_builtin(bhv_moving_yellow_coin_init), define_builtin(bhv_moving_yellow_coin_loop), define_builtin(bhv_moving_blue_coin_init), define_builtin(bhv_moving_blue_coin_loop), define_builtin(bhv_blue_coin_sliding_jumping_init), define_builtin(bhv_blue_coin_sliding_loop), define_builtin(bhv_blue_coin_jumping_loop), define_builtin(bhv_seaweed_init), define_builtin(bhv_seaweed_bundle_init), define_builtin(bhv_bobomb_init), define_builtin(bhv_bobomb_loop), define_builtin(bhv_bobomb_fuse_smoke_init), define_builtin(bhv_bobomb_buddy_init), define_builtin(bhv_bobomb_buddy_loop), define_builtin(bhv_cannon_closed_init), define_builtin(bhv_cannon_closed_loop), define_builtin(bhv_whirlpool_init), define_builtin(bhv_whirlpool_loop), define_builtin(bhv_jet_stream_loop), define_builtin(bhv_homing_amp_init), define_builtin(bhv_homing_amp_loop), define_builtin(bhv_circling_amp_init), define_builtin(bhv_circling_amp_loop), define_builtin(bhv_butterfly_init), define_builtin(bhv_butterfly_loop), define_builtin(bhv_hoot_init), define_builtin(bhv_hoot_loop), define_builtin(bhv_beta_holdable_object_init), define_builtin(bhv_beta_holdable_object_loop), define_builtin(bhv_object_bubble_init), define_builtin(bhv_object_bubble_loop), define_builtin(bhv_object_water_wave_init), define_builtin(bhv_object_water_wave_loop), define_builtin(bhv_explosion_init), define_builtin(bhv_explosion_loop), define_builtin(bhv_bobomb_bully_death_smoke_init), define_builtin(bhv_bobomb_explosion_bubble_init), define_builtin(bhv_bobomb_explosion_bubble_loop), define_builtin(bhv_respawner_loop), define_builtin(bhv_small_bully_init), define_builtin(bhv_bully_loop), define_builtin(bhv_big_bully_init), define_builtin(bhv_big_bully_with_minions_init), define_builtin(bhv_big_bully_with_minions_loop), define_builtin(bhv_jet_stream_ring_spawner_loop), define_builtin(bhv_jet_stream_water_ring_init), define_builtin(bhv_jet_stream_water_ring_loop), define_builtin(bhv_manta_ray_water_ring_init), define_builtin(bhv_manta_ray_water_ring_loop), define_builtin(bhv_bowser_bomb_loop), define_builtin(bhv_bowser_bomb_explosion_loop), define_builtin(bhv_bowser_bomb_smoke_loop), define_builtin(bhv_celebration_star_init), define_builtin(bhv_celebration_star_loop), define_builtin(bhv_celebration_star_sparkle_loop), define_builtin(bhv_star_key_collection_puff_spawner_loop), define_builtin(bhv_lll_drawbridge_spawner_init), define_builtin(bhv_lll_drawbridge_spawner_loop), define_builtin(bhv_lll_drawbridge_loop), define_builtin(bhv_small_bomp_init), define_builtin(bhv_small_bomp_loop), define_builtin(bhv_large_bomp_init), define_builtin(bhv_large_bomp_loop), define_builtin(bhv_wf_sliding_platform_init), define_builtin(bhv_wf_sliding_platform_loop), define_builtin(bhv_moneybag_init), define_builtin(bhv_moneybag_loop), define_builtin(bhv_moneybag_hidden_loop), define_builtin(bhv_bob_pit_bowling_ball_init), define_builtin(bhv_bob_pit_bowling_ball_loop), define_builtin(bhv_free_bowling_ball_init), define_builtin(bhv_free_bowling_ball_loop), define_builtin(bhv_bowling_ball_init), define_builtin(bhv_bowling_ball_loop), define_builtin(bhv_generic_bowling_ball_spawner_init), define_builtin(bhv_generic_bowling_ball_spawner_loop), define_builtin(bhv_thi_bowling_ball_spawner_loop), define_builtin(bhv_rr_cruiser_wing_init), define_builtin(bhv_rr_cruiser_wing_loop), define_builtin(bhv_spindel_init), define_builtin(bhv_spindel_loop), define_builtin(bhv_ssl_moving_pyramid_wall_init), define_builtin(bhv_ssl_moving_pyramid_wall_loop), define_builtin(bhv_pyramid_elevator_init), define_builtin(bhv_pyramid_elevator_loop), define_builtin(bhv_pyramid_elevator_trajectory_marker_ball_loop), define_builtin(bhv_pyramid_top_init), define_builtin(bhv_pyramid_top_loop), define_builtin(bhv_pyramid_top_fragment_init), define_builtin(bhv_pyramid_top_fragment_loop), define_builtin(bhv_pyramid_pillar_touch_detector_loop), define_builtin(bhv_waterfall_sound_loop), define_builtin(bhv_volcano_sound_loop), define_builtin(bhv_castle_flag_init), define_builtin(bhv_birds_sound_loop), define_builtin(bhv_ambient_sounds_init), define_builtin(bhv_sand_sound_loop), define_builtin(bhv_castle_cannon_grate_init), define_builtin(bhv_snowmans_bottom_init), define_builtin(bhv_snowmans_bottom_loop), define_builtin(bhv_snowmans_head_init), define_builtin(bhv_snowmans_head_loop), define_builtin(bhv_snowmans_body_checkpoint_loop), define_builtin(bhv_big_boulder_init), define_builtin(bhv_big_boulder_loop), define_builtin(bhv_big_boulder_generator_loop), define_builtin(bhv_wing_cap_init), define_builtin(bhv_wing_vanish_cap_loop), define_builtin(bhv_metal_cap_init), define_builtin(bhv_metal_cap_loop), define_builtin(bhv_normal_cap_init), define_builtin(bhv_normal_cap_loop), define_builtin(bhv_vanish_cap_init), define_builtin(bhv_collect_star_init), define_builtin(bhv_collect_star_loop), define_builtin(bhv_star_spawn_init), define_builtin(bhv_star_spawn_loop), define_builtin(bhv_hidden_red_coin_star_init), define_builtin(bhv_hidden_red_coin_star_loop), define_builtin(bhv_red_coin_init), define_builtin(bhv_red_coin_loop), define_builtin(bhv_bowser_course_red_coin_star_loop), define_builtin(bhv_hidden_star_init), define_builtin(bhv_hidden_star_loop), define_builtin(bhv_hidden_star_trigger_loop), define_builtin(bhv_ttm_rolling_log_init), define_builtin(bhv_rolling_log_loop), define_builtin(bhv_lll_rolling_log_init), define_builtin(bhv_1up_common_init), define_builtin(bhv_1up_walking_loop), define_builtin(bhv_1up_running_away_loop), define_builtin(bhv_1up_sliding_loop), define_builtin(bhv_1up_init), define_builtin(bhv_1up_loop), define_builtin(bhv_1up_jump_on_approach_loop), define_builtin(bhv_1up_hidden_loop), define_builtin(bhv_1up_hidden_trigger_loop), define_builtin(bhv_1up_hidden_in_pole_loop), define_builtin(bhv_1up_hidden_in_pole_trigger_loop), define_builtin(bhv_1up_hidden_in_pole_spawner_loop), define_builtin(bhv_controllable_platform_init), define_builtin(bhv_controllable_platform_loop), define_builtin(bhv_controllable_platform_sub_loop), define_builtin(bhv_breakable_box_small_init), define_builtin(bhv_breakable_box_small_loop), define_builtin(bhv_sliding_snow_mound_loop), define_builtin(bhv_snow_mound_spawn_loop), define_builtin(bhv_floating_platform_loop), define_builtin(bhv_arrow_lift_loop), define_builtin(bhv_orange_number_init), define_builtin(bhv_orange_number_loop), define_builtin(bhv_manta_ray_init), define_builtin(bhv_manta_ray_loop), define_builtin(bhv_falling_pillar_init), define_builtin(bhv_falling_pillar_loop), define_builtin(bhv_falling_pillar_hitbox_loop), define_builtin(bhv_jrb_floating_box_loop), define_builtin(bhv_decorative_pendulum_init), define_builtin(bhv_decorative_pendulum_loop), define_builtin(bhv_treasure_chest_ship_init), define_builtin(bhv_treasure_chest_ship_loop), define_builtin(bhv_treasure_chest_jrb_init), define_builtin(bhv_treasure_chest_jrb_loop), define_builtin(bhv_treasure_chest_init), define_builtin(bhv_treasure_chest_loop), define_builtin(bhv_treasure_chest_bottom_init), define_builtin(bhv_treasure_chest_bottom_loop), define_builtin(bhv_treasure_chest_top_loop), define_builtin(bhv_mips_init), define_builtin(bhv_mips_loop), define_builtin(bhv_yoshi_init), define_builtin(bhv_koopa_init), define_builtin(bhv_koopa_update), define_builtin(bhv_koopa_race_endpoint_update), define_builtin(bhv_pokey_update), define_builtin(bhv_pokey_body_part_update), define_builtin(bhv_swoop_update), define_builtin(bhv_fly_guy_update), define_builtin(bhv_goomba_init), define_builtin(bhv_goomba_update), define_builtin(bhv_goomba_triplet_spawner_update), define_builtin(bhv_chain_chomp_update), define_builtin(bhv_chain_chomp_chain_part_update), define_builtin(bhv_wooden_post_update), define_builtin(bhv_chain_chomp_gate_init), define_builtin(bhv_chain_chomp_gate_update), define_builtin(bhv_wiggler_update), define_builtin(bhv_wiggler_body_part_update), define_builtin(bhv_enemy_lakitu_update), define_builtin(bhv_camera_lakitu_init), define_builtin(bhv_camera_lakitu_update), define_builtin(bhv_cloud_update), define_builtin(bhv_cloud_part_update), define_builtin(bhv_spiny_update), define_builtin(bhv_monty_mole_init), define_builtin(bhv_monty_mole_update), define_builtin(bhv_monty_mole_hole_update), define_builtin(bhv_monty_mole_rock_update), define_builtin(bhv_platform_on_track_init), define_builtin(bhv_platform_on_track_update), define_builtin(bhv_track_ball_update), define_builtin(bhv_seesaw_platform_init), define_builtin(bhv_seesaw_platform_update), define_builtin(bhv_ferris_wheel_axle_init), define_builtin(bhv_ferris_wheel_platform_update), define_builtin(bhv_water_bomb_spawner_update), define_builtin(bhv_water_bomb_update), define_builtin(bhv_water_bomb_shadow_update), define_builtin(bhv_ttc_rotating_solid_init), define_builtin(bhv_ttc_rotating_solid_update), define_builtin(bhv_ttc_pendulum_init), define_builtin(bhv_ttc_pendulum_update), define_builtin(bhv_ttc_treadmill_init), define_builtin(bhv_ttc_treadmill_update), define_builtin(bhv_ttc_moving_bar_init), define_builtin(bhv_ttc_moving_bar_update), define_builtin(bhv_ttc_cog_init), define_builtin(bhv_ttc_cog_update), define_builtin(bhv_ttc_pit_block_init), define_builtin(bhv_ttc_pit_block_update), define_builtin(bhv_ttc_elevator_init), define_builtin(bhv_ttc_elevator_update), define_builtin(bhv_ttc_2d_rotator_init), define_builtin(bhv_ttc_2d_rotator_update), define_builtin(bhv_ttc_spinner_update), define_builtin(bhv_mr_blizzard_init), define_builtin(bhv_mr_blizzard_update), define_builtin(bhv_mr_blizzard_snowball), define_builtin(bhv_sliding_plat_2_init), define_builtin(bhv_sliding_plat_2_loop), define_builtin(bhv_rotating_octagonal_plat_init), define_builtin(bhv_rotating_octagonal_plat_loop), define_builtin(bhv_animates_on_floor_switch_press_init), define_builtin(bhv_animates_on_floor_switch_press_loop), define_builtin(bhv_activated_back_and_forth_platform_init), define_builtin(bhv_activated_back_and_forth_platform_update), define_builtin(bhv_recovery_heart_loop), define_builtin(bhv_water_bomb_cannon_loop), define_builtin(bhv_bubble_cannon_barrel_loop), define_builtin(bhv_unagi_init), define_builtin(bhv_unagi_loop), define_builtin(bhv_unagi_subobject_loop), define_builtin(bhv_dorrie_update), define_builtin(bhv_haunted_chair_init), define_builtin(bhv_haunted_chair_loop), define_builtin(bhv_mad_piano_update), define_builtin(bhv_flying_bookend_loop), define_builtin(bhv_bookend_spawn_loop), define_builtin(bhv_haunted_bookshelf_manager_loop), define_builtin(bhv_book_switch_loop), define_builtin(bhv_fire_piranha_plant_init), define_builtin(bhv_fire_piranha_plant_update), define_builtin(bhv_small_piranha_flame_loop), define_builtin(bhv_fire_spitter_update), define_builtin(bhv_fly_guy_flame_loop), define_builtin(bhv_snufit_loop), define_builtin(bhv_snufit_balls_loop), define_builtin(bhv_horizontal_grindel_init), define_builtin(bhv_horizontal_grindel_update), define_builtin(bhv_eyerok_boss_init), define_builtin(bhv_eyerok_boss_loop), define_builtin(bhv_eyerok_hand_loop), define_builtin(bhv_klepto_init), define_builtin(bhv_klepto_update), define_builtin(bhv_bird_update), define_builtin(bhv_racing_penguin_init), define_builtin(bhv_racing_penguin_update), define_builtin(bhv_penguin_race_finish_line_update), define_builtin(bhv_penguin_race_shortcut_check_update), define_builtin(bhv_coffin_spawner_loop), define_builtin(bhv_coffin_loop), define_builtin(bhv_clam_loop), define_builtin(bhv_skeeter_update), define_builtin(bhv_skeeter_wave_update), define_builtin(bhv_swing_platform_init), define_builtin(bhv_swing_platform_update), define_builtin(bhv_donut_platform_spawner_update), define_builtin(bhv_donut_platform_update), define_builtin(bhv_ddd_pole_init), define_builtin(bhv_ddd_pole_update), define_builtin(bhv_red_coin_star_marker_init), define_builtin(bhv_triplet_butterfly_update), define_builtin(bhv_bubba_loop), define_builtin(bhv_intro_lakitu_loop), define_builtin(bhv_intro_peach_loop), define_builtin(bhv_end_birds_1_loop), define_builtin(bhv_end_birds_2_loop), define_builtin(bhv_intro_scene_loop), define_builtin(bhv_dust_smoke_loop), define_builtin(bhv_yoshi_loop), define_builtin(bhv_volcano_trap_loop), // mario_misc.h define_builtin(bhv_toad_message_init), define_builtin(bhv_toad_message_loop), define_builtin(bhv_unlock_door_star_init), define_builtin(bhv_unlock_door_star_loop), // Other define_builtin(load_object_collision_model), define_builtin(obj_set_secondary_camera_focus), // Menu related define_builtin(lvl_intro_update), define_builtin(geo_intro_super_mario_64_logo), define_builtin(geo_intro_tm_copyright), define_builtin(geo_intro_regular_backdrop), define_builtin(geo_draw_mario_head_goddard), // Custom define_builtin(bhv_blue_coin_number_loop), define_builtin(bhv_blue_coin_switch_init), define_builtin(bhv_star_number_loop), define_builtin(spawn_star_number), define_builtin(bhv_ferris_wheel_platform_init), define_builtin(geo_mario_cap_display_list), }; 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 (const void*)sDynosBuiltinFuncs[aIndex * 2 + 1]; } return NULL; } const char *DynOS_Builtin_Func_GetNameFromIndex(s64 aIndex) { size_t count = sizeof(sDynosBuiltinFuncs) / (2 * sizeof(sDynosBuiltinFuncs[0])); if (aIndex >= 0 && aIndex < count) { return (const char *)sDynosBuiltinFuncs[aIndex * 2 + 0]; } return NULL; } 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; }