sm64ex-coop/data/dynos_mgr_builtin.cpp

1869 lines
76 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 "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/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 "dynos_mgr_builtin_externs.h"
#include "textures.h"
}
#define define_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_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_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),
};
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);
}
////////////////
// Level Cols //
////////////////
static const void* sDynosBuiltinLvlCols[] = {
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),
};
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 //
//////////////
static const void* sDynosBuiltinTexs[] = {
// levels
define_builtin(cave_09000000),
define_builtin(cave_09001000),
define_builtin(cave_09001800),
define_builtin(cave_09002800),
define_builtin(cave_09003000),
define_builtin(cave_09003800),
define_builtin(cave_09004800),
define_builtin(cave_09005800),
define_builtin(cave_09006800),
define_builtin(cave_09007000),
define_builtin(cave_09007800),
define_builtin(cave_09008800),
define_builtin(cave_09009800),
define_builtin(cave_0900A000),
define_builtin(cave_0900A800),
define_builtin(cave_0900B800),
define_builtin(cave_0900C000),
define_builtin(fire_09000000),
define_builtin(fire_09000800),
define_builtin(fire_09001000),
define_builtin(fire_09001800),
define_builtin(fire_09002000),
define_builtin(fire_09002800),
define_builtin(fire_09003000),
define_builtin(fire_09003800),
define_builtin(fire_09004000),
define_builtin(fire_09004800),
define_builtin(fire_09005000),
define_builtin(fire_09005800),
define_builtin(fire_09006000),
define_builtin(fire_09006800),
define_builtin(fire_09007000),
define_builtin(fire_09007800),
define_builtin(fire_09008000),
define_builtin(fire_09008800),
define_builtin(fire_09009000),
define_builtin(fire_09009800),
define_builtin(fire_0900A000),
define_builtin(fire_0900A800),
define_builtin(fire_0900B000),
define_builtin(fire_0900B800),
define_builtin(generic_09000000),
define_builtin(generic_09000800),
define_builtin(generic_09001000),
define_builtin(generic_09001800),
define_builtin(generic_09002000),
define_builtin(generic_09002800),
define_builtin(generic_09003000),
define_builtin(generic_09003800),
define_builtin(generic_09004000),
define_builtin(generic_09004800),
define_builtin(generic_09005000),
define_builtin(generic_09005800),
define_builtin(generic_09006000),
define_builtin(generic_09007000),
define_builtin(generic_09007800),
define_builtin(generic_09008000),
define_builtin(generic_09008800),
define_builtin(generic_09009000),
define_builtin(generic_09009800),
define_builtin(generic_0900A000),
define_builtin(generic_0900A800),
define_builtin(generic_0900B000),
define_builtin(grass_09000000),
define_builtin(grass_09000800),
define_builtin(grass_09001000),
define_builtin(grass_09001800),
define_builtin(grass_09002000),
define_builtin(grass_09002800),
define_builtin(grass_09003000),
define_builtin(grass_09003800),
define_builtin(grass_09004000),
define_builtin(grass_09004800),
define_builtin(grass_09005000),
define_builtin(grass_09005800),
define_builtin(grass_09006000),
define_builtin(grass_09006800),
define_builtin(grass_09007000),
define_builtin(grass_09007800),
define_builtin(grass_09008000),
define_builtin(grass_09008800),
define_builtin(grass_09009000),
define_builtin(grass_09009800),
define_builtin(grass_0900A000),
define_builtin(grass_0900A800),
define_builtin(grass_0900B000),
define_builtin(grass_0900B800),
define_builtin(inside_09000000),
define_builtin(inside_09001000),
define_builtin(inside_09002000),
define_builtin(inside_09003000),
define_builtin(inside_09003800),
define_builtin(inside_09004000),
define_builtin(inside_09004800),
define_builtin(inside_09005000),
define_builtin(inside_09005800),
define_builtin(inside_09006000),
define_builtin(inside_09007000),
define_builtin(inside_09008000),
define_builtin(inside_09008800),
define_builtin(inside_09009000),
define_builtin(inside_0900A000),
define_builtin(inside_0900B000),
define_builtin(inside_0900B800),
define_builtin(machine_09000000),
define_builtin(machine_09000800),
define_builtin(machine_09001000),
define_builtin(machine_09001800),
define_builtin(machine_09002000),
define_builtin(machine_09002800),
define_builtin(machine_09003000),
define_builtin(machine_09003800),
define_builtin(machine_09004000),
define_builtin(machine_09005000),
define_builtin(machine_09005800),
define_builtin(machine_09006000),
define_builtin(machine_09006800),
define_builtin(machine_09007000),
define_builtin(machine_09007800),
define_builtin(machine_09008000),
define_builtin(machine_09008400),
define_builtin(mountain_09000000),
define_builtin(mountain_09000800),
define_builtin(mountain_09001800),
define_builtin(mountain_09002800),
define_builtin(mountain_09003000),
define_builtin(mountain_09003800),
define_builtin(mountain_09004000),
define_builtin(mountain_09004800),
define_builtin(mountain_09005000),
define_builtin(mountain_09005800),
define_builtin(mountain_09006800),
define_builtin(mountain_09007000),
define_builtin(mountain_09007800),
define_builtin(mountain_09008000),
define_builtin(mountain_09008800),
define_builtin(mountain_09009800),
define_builtin(mountain_0900A000),
define_builtin(mountain_0900A800),
define_builtin(mountain_0900B000),
define_builtin(mountain_0900B800),
define_builtin(mountain_0900C000),
define_builtin(outside_09000000),
define_builtin(outside_09000800),
define_builtin(outside_09001000),
define_builtin(outside_09002000),
define_builtin(outside_09003000),
define_builtin(outside_09003800),
define_builtin(outside_09004000),
define_builtin(outside_09004800),
define_builtin(outside_09005800),
define_builtin(outside_09006000),
define_builtin(outside_09006800),
define_builtin(outside_09007800),
define_builtin(outside_09008000),
define_builtin(outside_09008800),
define_builtin(outside_09009000),
define_builtin(outside_09009800),
define_builtin(outside_0900A000),
define_builtin(outside_0900A800),
define_builtin(outside_0900B000),
define_builtin(outside_0900B400),
define_builtin(outside_0900BC00),
define_builtin(sky_09000000),
define_builtin(sky_09000800),
define_builtin(sky_09001000),
define_builtin(sky_09001800),
define_builtin(sky_09002000),
define_builtin(sky_09003000),
define_builtin(sky_09003800),
define_builtin(sky_09004800),
define_builtin(sky_09005000),
define_builtin(sky_09005800),
define_builtin(sky_09006000),
define_builtin(texture_metal_hole),
define_builtin(sky_09007000),
define_builtin(sky_09007800),
define_builtin(sky_09008000),
define_builtin(snow_09000000),
define_builtin(snow_09000800),
define_builtin(snow_09001000),
define_builtin(snow_09002000),
define_builtin(snow_09002800),
define_builtin(snow_09003000),
define_builtin(snow_09003800),
define_builtin(snow_09004000),
define_builtin(snow_09004800),
define_builtin(snow_09005000),
define_builtin(snow_09005800),
define_builtin(snow_09006000),
define_builtin(snow_09006800),
define_builtin(snow_09007000),
define_builtin(snow_09008000),
define_builtin(snow_09008800),
define_builtin(snow_09009000),
define_builtin(snow_09009800),
define_builtin(spooky_09000000),
define_builtin(spooky_09000800),
define_builtin(spooky_09001800),
define_builtin(spooky_09002800),
define_builtin(spooky_09003800),
define_builtin(spooky_09004800),
define_builtin(spooky_09005000),
define_builtin(spooky_09006000),
define_builtin(spooky_09006800),
define_builtin(spooky_09007000),
define_builtin(spooky_09008000),
define_builtin(spooky_09008800),
define_builtin(spooky_09009000),
define_builtin(spooky_0900A000),
define_builtin(spooky_0900A800),
define_builtin(spooky_0900B000),
define_builtin(spooky_0900B800),
define_builtin(water_09000000),
define_builtin(water_09000800),
define_builtin(water_09001800),
define_builtin(water_09002800),
define_builtin(water_09003800),
define_builtin(water_09004800),
define_builtin(water_09005800),
define_builtin(water_09006000),
define_builtin(water_09006800),
define_builtin(water_09007800),
define_builtin(water_09008800),
define_builtin(water_09009000),
define_builtin(water_0900A000),
define_builtin(water_0900A800),
define_builtin(water_0900B800),
// actors
define_builtin(amp_seg8_texture_08000F18),
define_builtin(amp_seg8_texture_08001318),
define_builtin(amp_seg8_texture_08001B18),
define_builtin(amp_seg8_texture_08002318),
define_builtin(blue_coin_switch_seg8_texture_08000018),
define_builtin(blue_coin_switch_seg8_texture_08000418),
define_builtin(blue_fish_seg3_texture_0301B5E0),
define_builtin(bobomb_seg8_texture_0801DA60),
define_builtin(bobomb_seg8_texture_0801EA60),
define_builtin(bobomb_seg8_texture_0801FA60),
define_builtin(bobomb_seg8_texture_08020A60),
define_builtin(bobomb_seg8_texture_08021A60),
define_builtin(bobomb_seg8_texture_08022260),
define_builtin(bomb_seg6_texture_06057AC0),
define_builtin(bomb_seg6_texture_06058AC0),
define_builtin(bomb_seg6_texture_06059AC0),
define_builtin(boo_seg5_texture_05009B40),
define_builtin(boo_seg5_texture_0500AB40),
define_builtin(boo_castle_seg6_texture_06015670),
define_builtin(boo_castle_seg6_texture_06016670),
define_builtin(book_seg5_texture_05002570),
define_builtin(bookend_seg5_texture_05000060),
define_builtin(bookend_seg5_texture_05000460),
define_builtin(bookend_seg5_texture_05000860),
define_builtin(bookend_seg5_texture_05000C60),
define_builtin(bookend_seg5_texture_05001060),
define_builtin(bowser_seg6_texture_0601F438),
define_builtin(bowser_seg6_texture_0601FC38),
define_builtin(bowser_seg6_texture_06020C38),
define_builtin(bowser_seg6_texture_06021438),
define_builtin(bowser_seg6_texture_06022438),
define_builtin(bowser_seg6_texture_06022C38),
define_builtin(bowser_seg6_texture_06023C38),
define_builtin(bowser_seg6_texture_06024438),
define_builtin(bowser_seg6_texture_06025438),
define_builtin(bowser_seg6_texture_06025C38),
define_builtin(bowser_seg6_texture_06026438),
define_builtin(bowser_seg6_texture_06027438),
define_builtin(bowser_seg6_texture_06028438),
define_builtin(bowser_seg6_texture_06028C38),
define_builtin(bowser_seg6_texture_06029C38),
define_builtin(bowser_seg6_texture_0602AC38),
define_builtin(bowser_seg6_texture_0602BC38),
define_builtin(bowser_seg6_texture_0602CC38),
define_builtin(bowser_seg6_texture_0602DC38),
define_builtin(bowser_seg6_texture_0602EC38),
define_builtin(bowser_seg6_texture_0602FC38),
define_builtin(bowser_seg6_texture_06030C38),
define_builtin(bowser_seg6_texture_06031C38),
define_builtin(bowser_seg6_texture_06032C38),
define_builtin(bowser_seg6_texture_06033C38),
define_builtin(bowser_seg6_texture_06034C38),
define_builtin(bowser_seg6_texture_06035C38),
define_builtin(bowser_seg6_texture_06036C38),
define_builtin(bowser_seg6_texture_06037C38),
define_builtin(flame_seg6_texture_06000000),
define_builtin(flame_seg6_texture_06002000),
define_builtin(flame_seg6_texture_06004000),
define_builtin(flame_seg6_texture_06006000),
define_builtin(flame_seg6_texture_06008000),
define_builtin(flame_seg6_texture_0600A000),
define_builtin(flame_seg6_texture_0600C000),
define_builtin(flame_seg6_texture_0600E000),
define_builtin(flame_seg6_texture_06010000),
define_builtin(flame_seg6_texture_06012000),
define_builtin(flame_seg6_texture_06014000),
define_builtin(flame_seg6_texture_06016000),
define_builtin(flame_seg6_texture_06018000),
define_builtin(flame_seg6_texture_0601A000),
define_builtin(breakable_box_seg8_texture_08011A90),
define_builtin(breakable_box_seg8_texture_08012290),
define_builtin(bub_seg6_texture_0600E2A8),
define_builtin(bub_seg6_texture_0600EAA8),
define_builtin(bub_seg6_texture_0600F2A8),
define_builtin(bub_seg6_texture_060102A8),
define_builtin(bubba_seg5_texture_05000008),
define_builtin(bubba_seg5_texture_05000408),
define_builtin(bubba_seg5_texture_05001408),
define_builtin(bubba_seg5_texture_05001C08),
define_builtin(bubba_seg5_texture_05002408),
define_builtin(bubble_seg4_texture_0401CD60),
define_builtin(bubble_seg4_texture_0401D560),
define_builtin(bullet_bill_seg5_texture_0500BAA8),
define_builtin(bullet_bill_seg5_texture_0500CAA8),
define_builtin(bully_seg5_texture_050000E0),
define_builtin(bully_seg5_texture_05000468),
define_builtin(bully_seg5_texture_05001468),
define_builtin(bully_seg5_texture_05002468),
define_builtin(burn_smoke_seg4_texture_04021800),
define_builtin(butterfly_seg3_texture_030043A8),
define_builtin(cannon_barrel_seg8_texture_080058A8),
define_builtin(cannon_base_seg8_texture_080049B8),
define_builtin(cannon_lid_seg8_texture_08004058),
define_builtin(capswitch_seg5_texture_05001C48),
define_builtin(capswitch_seg5_texture_05002C48),
define_builtin(chain_ball_seg6_texture_06020AE8),
define_builtin(chain_chomp_seg6_texture_060213D0),
define_builtin(chain_chomp_seg6_texture_06021BD0),
define_builtin(chain_chomp_seg6_texture_060223D0),
define_builtin(chain_chomp_seg6_texture_06022BD0),
define_builtin(chain_chomp_seg6_texture_060233D0),
define_builtin(chair_seg5_texture_05003060),
define_builtin(chair_seg5_texture_05003860),
define_builtin(chair_seg5_texture_05004060),
define_builtin(chair_seg5_texture_05004460),
define_builtin(checkerboard_platform_seg8_texture_0800C840),
define_builtin(checkerboard_platform_seg8_texture_0800CC40),
define_builtin(chilly_chief_seg6_texture_06000060),
define_builtin(chilly_chief_seg6_texture_06001060),
define_builtin(chilly_chief_seg6_texture_06002060),
define_builtin(chuckya_seg8_texture_08006778),
define_builtin(chuckya_seg8_texture_08007778),
define_builtin(chuckya_seg8_texture_08007F78),
define_builtin(chuckya_seg8_texture_08008F78),
define_builtin(clam_shell_seg5_texture_05000030),
define_builtin(clam_shell_seg5_texture_05000830),
define_builtin(coin_seg3_texture_03005780),
define_builtin(coin_seg3_texture_03005F80),
define_builtin(coin_seg3_texture_03006780),
define_builtin(coin_seg3_texture_03006F80),
define_builtin(cyan_fish_seg6_texture_0600D468),
define_builtin(dirt_seg3_texture_0302BDF8),
define_builtin(door_seg3_texture_03009D10),
define_builtin(door_seg3_texture_0300AD10),
define_builtin(door_seg3_texture_0300BD10),
define_builtin(door_seg3_texture_0300CD10),
define_builtin(door_seg3_texture_0300D510),
define_builtin(door_seg3_texture_0300E510),
define_builtin(door_seg3_texture_0300ED10),
define_builtin(door_seg3_texture_0300FD10),
define_builtin(door_seg3_texture_03010510),
define_builtin(door_seg3_texture_03011510),
define_builtin(door_seg3_texture_03011D10),
define_builtin(door_seg3_texture_03012510),
define_builtin(door_seg3_texture_03012D10),
define_builtin(door_seg3_texture_03013510),
define_builtin(dorrie_seg6_texture_06009BA0),
define_builtin(dorrie_seg6_texture_06009DA0),
define_builtin(dorrie_seg6_texture_0600ADA0),
define_builtin(exclamation_box_seg8_texture_08012E28),
define_builtin(exclamation_box_seg8_texture_08013628),
define_builtin(exclamation_box_seg8_texture_08014628),
define_builtin(exclamation_box_seg8_texture_08014E28),
define_builtin(exclamation_box_seg8_texture_08015E28),
define_builtin(exclamation_box_seg8_texture_08016628),
define_builtin(exclamation_box_seg8_texture_08017628),
define_builtin(exclamation_box_seg8_texture_08017E28),
define_builtin(exclamation_box_outline_seg8_texture_08025168),
define_builtin(exclamation_box_outline_seg8_texture_08025A80),
define_builtin(explosion_seg3_texture_03000A08),
define_builtin(explosion_seg3_texture_03001208),
define_builtin(explosion_seg3_texture_03001A08),
define_builtin(explosion_seg3_texture_03002208),
define_builtin(explosion_seg3_texture_03002A08),
define_builtin(explosion_seg3_texture_03003208),
define_builtin(explosion_seg3_texture_03003A08),
define_builtin(eyerok_seg5_texture_05008D40),
define_builtin(eyerok_seg5_texture_05009540),
define_builtin(eyerok_seg5_texture_05009D40),
define_builtin(eyerok_seg5_texture_0500A540),
define_builtin(eyerok_seg5_texture_0500AD40),
define_builtin(flame_seg3_texture_03017320),
define_builtin(flame_seg3_texture_03017B20),
define_builtin(flame_seg3_texture_03018320),
define_builtin(flame_seg3_texture_03018B20),
define_builtin(flame_seg3_texture_03019320),
define_builtin(flame_seg3_texture_03019B20),
define_builtin(flame_seg3_texture_0301A320),
define_builtin(flame_seg3_texture_0301AB20),
define_builtin(flyguy_seg8_texture_0800E088),
define_builtin(flyguy_seg8_texture_0800F088),
define_builtin(flyguy_seg8_texture_0800F888),
define_builtin(fwoosh_seg5_texture_05015808),
define_builtin(goomba_seg8_texture_08019530),
define_builtin(goomba_seg8_texture_08019D30),
define_builtin(goomba_seg8_texture_0801A530),
define_builtin(haunted_cage_seg5_texture_0500C288),
define_builtin(haunted_cage_seg5_texture_0500CA88),
define_builtin(haunted_cage_seg5_texture_0500D288),
define_builtin(haunted_cage_seg5_texture_0500D688),
define_builtin(haunted_cage_seg5_texture_0500DA88),
define_builtin(haunted_cage_seg5_texture_0500E288),
define_builtin(heart_seg8_texture_0800D7E0),
define_builtin(heave_ho_seg5_texture_0500E9C8),
define_builtin(heave_ho_seg5_texture_0500F1C8),
define_builtin(heave_ho_seg5_texture_0500F9C8),
define_builtin(heave_ho_seg5_texture_050109C8),
define_builtin(heave_ho_seg5_texture_050111C8),
define_builtin(heave_ho_seg5_texture_050113C8),
define_builtin(hoot_seg5_texture_05000A20),
define_builtin(hoot_seg5_texture_05001E50),
define_builtin(hoot_seg5_texture_05002650),
define_builtin(impact_ring_seg6_texture_0601CA50),
define_builtin(impact_ring_seg6_texture_0601DA50),
define_builtin(king_bobomb_seg5_texture_05000078),
define_builtin(king_bobomb_seg5_texture_05001078),
define_builtin(king_bobomb_seg5_texture_05002078),
define_builtin(king_bobomb_seg5_texture_05002878),
define_builtin(king_bobomb_seg5_texture_05004878),
define_builtin(king_bobomb_seg5_texture_05005878),
define_builtin(king_bobomb_seg5_texture_05006078),
define_builtin(king_bobomb_seg5_texture_05006478),
define_builtin(king_bobomb_seg5_texture_05008478),
define_builtin(king_bobomb_seg5_texture_05009478),
define_builtin(klepto_seg5_texture_05000008),
define_builtin(klepto_seg5_texture_05000808),
define_builtin(klepto_seg5_texture_05001008),
define_builtin(klepto_seg5_texture_05002008),
define_builtin(klepto_seg5_texture_05003008),
define_builtin(koopa_seg6_texture_06002648),
define_builtin(koopa_seg6_texture_06002E48),
define_builtin(koopa_seg6_texture_06003648),
define_builtin(koopa_seg6_texture_06003E48),
define_builtin(koopa_seg6_texture_06004648),
define_builtin(koopa_seg6_texture_06004E48),
define_builtin(koopa_seg6_texture_06005648),
define_builtin(koopa_seg6_texture_06005E48),
define_builtin(koopa_flag_seg6_texture_06000048),
define_builtin(koopa_shell_seg8_texture_080274A0),
define_builtin(koopa_shell_seg8_texture_08027CA0),
define_builtin(lakitu_seg6_texture_06000000),
define_builtin(lakitu_seg6_texture_06000800),
define_builtin(lakitu_seg6_texture_06001800),
define_builtin(lakitu_seg6_texture_06002800),
define_builtin(lakitu_seg6_texture_06003000),
define_builtin(lakitu_seg6_texture_06003800),
define_builtin(lakitu_enemy_seg5_texture_0500ECE0),
define_builtin(lakitu_enemy_seg5_texture_0500F4E0),
define_builtin(lakitu_enemy_seg5_texture_050104E0),
define_builtin(lakitu_enemy_seg5_texture_050114E0),
define_builtin(lakitu_enemy_seg5_texture_05011CE0),
define_builtin(leaves_seg3_texture_0301CBE0),
define_builtin(mad_piano_seg5_texture_05006AF0),
define_builtin(mad_piano_seg5_texture_050072F0),
define_builtin(mad_piano_seg5_texture_050076F0),
define_builtin(mad_piano_seg5_texture_05007AF0),
define_builtin(mad_piano_seg5_texture_05007EF0),
define_builtin(mad_piano_seg5_texture_050082F0),
define_builtin(manta_seg5_texture_050017A0),
define_builtin(manta_seg5_texture_05001FA0),
define_builtin(manta_seg5_texture_05002FA0),
define_builtin(manta_seg5_texture_050037A0),
define_builtin(metal_box_seg8_texture_08023998),
define_builtin(mips_seg6_texture_0600FB80),
define_builtin(mist_seg3_texture_03000080),
define_builtin(moneybag_seg6_texture_060039B0),
define_builtin(moneybag_seg6_texture_060049B0),
define_builtin(monty_mole_seg5_texture_05000970),
define_builtin(monty_mole_seg5_texture_05001170),
define_builtin(monty_mole_seg5_texture_05001970),
define_builtin(monty_mole_seg5_texture_05002170),
define_builtin(monty_mole_seg5_texture_05002970),
define_builtin(monty_mole_hole_seg5_texture_05000040),
define_builtin(mr_i_eyeball_seg6_texture_06000080),
define_builtin(mr_i_eyeball_seg6_texture_06001080),
define_builtin(mr_i_iris_seg6_texture_06002170),
define_builtin(mr_i_iris_seg6_texture_06002970),
define_builtin(mr_i_iris_seg6_texture_06003170),
define_builtin(mr_i_iris_seg6_texture_06003970),
define_builtin(mushroom_1up_seg3_texture_03029628),
define_builtin(peach_seg5_texture_05000A28),
define_builtin(peach_seg5_texture_05001228),
define_builtin(peach_seg5_texture_05001A28),
define_builtin(peach_seg5_texture_05002228),
define_builtin(peach_seg5_texture_05002A28),
define_builtin(peach_seg5_texture_05002C28),
define_builtin(peach_seg5_texture_05002E28),
define_builtin(peach_seg5_texture_05003628),
define_builtin(peach_seg5_texture_05003E28),
define_builtin(peach_seg5_texture_05004028),
define_builtin(pebble_seg3_texture_0301C300),
define_builtin(penguin_seg5_texture_05002DE0),
define_builtin(penguin_seg5_texture_050035E0),
define_builtin(penguin_seg5_texture_05003DE0),
define_builtin(penguin_seg5_texture_050045E0),
define_builtin(penguin_seg5_texture_05004DE0),
define_builtin(penguin_seg5_texture_050055E0),
define_builtin(piranha_plant_seg6_texture_060113F8),
define_builtin(piranha_plant_seg6_texture_060123F8),
define_builtin(piranha_plant_seg6_texture_06012BF8),
define_builtin(piranha_plant_seg6_texture_060133F8),
define_builtin(piranha_plant_seg6_texture_06013BF8),
define_builtin(piranha_plant_seg6_texture_060143F8),
define_builtin(pokey_seg5_texture_05011750),
define_builtin(pokey_seg5_texture_05011F50),
define_builtin(pokey_seg5_texture_05012878),
define_builtin(poundable_pole_seg6_texture_06001050),
define_builtin(poundable_pole_seg6_texture_06001850),
define_builtin(texture_power_meter_left_side),
define_builtin(texture_power_meter_right_side),
define_builtin(texture_power_meter_full),
define_builtin(texture_power_meter_seven_segments),
define_builtin(texture_power_meter_six_segments),
define_builtin(texture_power_meter_five_segments),
define_builtin(texture_power_meter_four_segments),
define_builtin(texture_power_meter_three_segments),
define_builtin(texture_power_meter_two_segments),
define_builtin(texture_power_meter_one_segments),
define_builtin(purple_switch_seg8_texture_0800C0A8),
define_builtin(purple_switch_seg8_texture_0800C128),
define_builtin(sand_seg3_texture_0302BAD0),
define_builtin(scuttlebug_seg6_texture_06010108),
define_builtin(scuttlebug_seg6_texture_06010908),
define_builtin(scuttlebug_seg6_texture_06011908),
define_builtin(scuttlebug_seg6_texture_06012908),
define_builtin(scuttlebug_seg6_texture_06013108),
define_builtin(seaweed_seg6_texture_06007E10),
define_builtin(seaweed_seg6_texture_06008610),
define_builtin(seaweed_seg6_texture_06008E10),
define_builtin(seaweed_seg6_texture_06009610),
define_builtin(skeeter_seg6_texture_06000090),
define_builtin(skeeter_seg6_texture_06000890),
define_builtin(smoke_seg5_texture_050072C0),
define_builtin(snowman_seg5_texture_05008C70),
define_builtin(snowman_seg5_texture_05009470),
define_builtin(snowman_seg5_texture_0500A470),
define_builtin(snowman_seg5_texture_0500B470),
define_builtin(snowman_seg5_texture_0500BC70),
define_builtin(snufit_seg6_texture_060070E0),
define_builtin(snufit_seg6_texture_060078E0),
define_builtin(snufit_seg6_texture_060080E0),
define_builtin(snufit_seg6_texture_060084E0),
define_builtin(sparkles_seg4_texture_04027490),
define_builtin(sparkles_seg4_texture_04027C90),
define_builtin(sparkles_seg4_texture_04028490),
define_builtin(sparkles_seg4_texture_04028C90),
define_builtin(sparkles_seg4_texture_04029490),
define_builtin(sparkles_seg4_texture_04029C90),
define_builtin(sparkles_animation_seg4_texture_04032A88),
define_builtin(sparkles_animation_seg4_texture_04033288),
define_builtin(sparkles_animation_seg4_texture_04033A88),
define_builtin(sparkles_animation_seg4_texture_04034288),
define_builtin(sparkles_animation_seg4_texture_04034A88),
define_builtin(spindrift_seg5_texture_050006D0),
define_builtin(spindrift_seg5_texture_05000ED0),
define_builtin(spindrift_seg5_texture_050016D0),
define_builtin(spindrift_seg5_texture_05001ED0),
define_builtin(springboard_seg5_texture_05000018),
define_builtin(springboard_seg5_texture_05000818),
define_builtin(star_seg3_texture_0302A6F0),
define_builtin(star_seg3_texture_0302AEF0),
define_builtin(stomp_smoke_seg4_texture_04022148),
define_builtin(stomp_smoke_seg4_texture_04022948),
define_builtin(stomp_smoke_seg4_texture_04023148),
define_builtin(stomp_smoke_seg4_texture_04023948),
define_builtin(stomp_smoke_seg4_texture_04024148),
define_builtin(stomp_smoke_seg4_texture_04024948),
define_builtin(sushi_seg5_texture_05008ED0),
define_builtin(sushi_seg5_texture_050096D0),
define_builtin(sushi_seg5_texture_05009AD0),
define_builtin(swoop_seg6_texture_06004270),
define_builtin(swoop_seg6_texture_06004A70),
define_builtin(swoop_seg6_texture_06005270),
define_builtin(swoop_seg6_texture_06005A70),
define_builtin(thwomp_seg5_texture_05009900),
define_builtin(thwomp_seg5_texture_0500A900),
define_builtin(toad_seg6_texture_06005920),
define_builtin(toad_seg6_texture_06006120),
define_builtin(tornado_seg5_texture_05013128),
define_builtin(treasure_chest_seg6_texture_06013FA8),
define_builtin(treasure_chest_seg6_texture_060147A8),
define_builtin(treasure_chest_seg6_texture_06014FA8),
define_builtin(treasure_chest_seg6_texture_060157A8),
define_builtin(tree_seg3_texture_0302DE28),
define_builtin(tree_seg3_texture_0302EE28),
define_builtin(tree_seg3_texture_0302FF60),
define_builtin(tree_seg3_texture_03031048),
define_builtin(tree_seg3_texture_03032218),
define_builtin(ukiki_seg5_texture_05007BC0),
define_builtin(ukiki_seg5_texture_05008BC0),
define_builtin(ukiki_seg5_texture_05009BC0),
define_builtin(ukiki_seg5_texture_0500A3C0),
define_builtin(unagi_seg5_texture_0500AF20),
define_builtin(unagi_seg5_texture_0500B720),
define_builtin(unagi_seg5_texture_0500B920),
define_builtin(unagi_seg5_texture_0500C120),
define_builtin(unagi_seg5_texture_0500C320),
define_builtin(unagi_seg5_texture_0500C3A0),
define_builtin(smoke_seg4_texture_0401DEA0),
define_builtin(smoke_seg4_texture_0401E6A0),
define_builtin(smoke_seg4_texture_0401EEA0),
define_builtin(smoke_seg4_texture_0401F6A0),
define_builtin(smoke_seg4_texture_0401FEA0),
define_builtin(smoke_seg4_texture_040206A0),
define_builtin(smoke_seg4_texture_04020EA0),
define_builtin(warp_pipe_seg3_texture_03007E40),
define_builtin(warp_pipe_seg3_texture_03009168),
define_builtin(water_bubble_seg5_texture_0500FE80),
define_builtin(water_mine_seg6_texture_0600A4F8),
define_builtin(water_mine_seg6_texture_0600B4F8),
define_builtin(water_mine_seg6_texture_0600C4F8),
define_builtin(water_ring_seg6_texture_06012380),
define_builtin(water_splash_seg4_texture_0402A5C8),
define_builtin(water_splash_seg4_texture_0402B5C8),
define_builtin(water_splash_seg4_texture_0402C5C8),
define_builtin(water_splash_seg4_texture_0402D5C8),
define_builtin(water_splash_seg4_texture_0402E5C8),
define_builtin(water_splash_seg4_texture_0402F5C8),
define_builtin(water_splash_seg4_texture_040305C8),
define_builtin(water_splash_seg4_texture_040315C8),
define_builtin(water_wave_seg4_texture_04025358),
define_builtin(water_wave_seg4_texture_04025B58),
define_builtin(water_wave_seg4_texture_04026358),
define_builtin(water_wave_seg4_texture_04026B58),
define_builtin(whirlpool_seg5_texture_05012848),
define_builtin(white_particle_texture),
define_builtin(white_particle_small_texture),
define_builtin(whomp_seg6_texture_0601C360),
define_builtin(whomp_seg6_texture_0601D360),
define_builtin(whomp_seg6_texture_0601E360),
define_builtin(whomp_seg6_texture_0601EB60),
define_builtin(wiggler_seg5_texture_05005A30),
define_builtin(wiggler_seg5_texture_05006A30),
define_builtin(wiggler_seg5_texture_05007A30),
define_builtin(wiggler_seg5_texture_05008230),
define_builtin(wiggler_seg5_texture_05008A30),
define_builtin(wiggler_seg5_texture_05009230),
define_builtin(wiggler_seg5_texture_0500A230),
define_builtin(wooden_signpost_seg3_texture_0302C9C8),
define_builtin(wooden_signpost_seg3_texture_0302D1C8),
define_builtin(yellow_sphere_seg6_texture_0601EB88),
define_builtin(yellow_sphere_seg5_texture_05000040),
define_builtin(yoshi_seg5_texture_0501C4A0),
define_builtin(yoshi_seg5_texture_0501C6A0),
define_builtin(yoshi_seg5_texture_0501C8A0),
define_builtin(yoshi_egg_seg5_texture_050057B8),
define_builtin(yoshi_egg_seg5_texture_05005FB8),
define_builtin(yoshi_egg_seg5_texture_050067B8),
define_builtin(yoshi_egg_seg5_texture_05006FB8),
define_builtin(yoshi_egg_seg5_texture_050077B8),
define_builtin(yoshi_egg_seg5_texture_05007FB8),
define_builtin(yoshi_egg_seg5_texture_050087B8),
define_builtin(yoshi_egg_seg5_texture_05008FB8),
define_builtin(bobomb_seg8_texture_0801DA60),
define_builtin(bobomb_seg8_texture_0801EA60),
define_builtin(bobomb_seg8_texture_0801FA60),
define_builtin(bobomb_seg8_texture_08020A60),
define_builtin(bobomb_seg8_texture_08021A60),
define_builtin(bobomb_seg8_texture_08022260),
// mario
define_builtin(mario_texture_metal),
define_builtin(mario_texture_yellow_button),
define_builtin(mario_texture_m_logo),
define_builtin(mario_texture_hair_sideburn),
define_builtin(mario_texture_mustache),
define_builtin(mario_texture_eyes_front),
define_builtin(mario_texture_eyes_half_closed),
define_builtin(mario_texture_eyes_closed),
define_builtin(mario_texture_eyes_closed_unused1),
define_builtin(mario_texture_eyes_closed_unused2),
define_builtin(mario_texture_eyes_right),
define_builtin(mario_texture_eyes_left),
define_builtin(mario_texture_eyes_up),
define_builtin(mario_texture_eyes_down),
define_builtin(mario_texture_eyes_dead),
define_builtin(mario_texture_wings_half_1),
define_builtin(mario_texture_wings_half_2),
define_builtin(mario_texture_metal_wings_half_1),
define_builtin(mario_texture_metal_wings_half_2),
};
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;
}
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),
// coop-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),
};
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;
}