From 5bc388b9a9ca77457b5378619e79f64e8e762314 Mon Sep 17 00:00:00 2001 From: Anghelo Carvajal Date: Tue, 21 Feb 2023 16:05:12 -0300 Subject: [PATCH] Introduce `object_table.h` (#1136) * object_table * segmentsymbols * format * review Co-authored-by: Derek Hensley * bss * add more descriptions to the object_table * DEFINE_OBJECT_SIZE_ZERO * Update include/tables/object_table.h Co-authored-by: EllipticEllipsis * Rename `z_scene_dlftbls.c` to `object_table.c` * bss * bss * bss * bss --------- Co-authored-by: Derek Hensley Co-authored-by: EllipticEllipsis --- include/segment_symbols.h | 474 +------------ include/tables/object_table.h | 659 ++++++++++++++++++ include/variables.h | 7 +- include/z64object.h | 656 +---------------- spec | 2 +- src/code/object_table.c | 24 + .../actors/ovl_En_Fishing/z_en_fishing.c | 1 + tools/disasm/files.txt | 2 +- tools/disasm/variables.txt | 3 +- 9 files changed, 714 insertions(+), 1114 deletions(-) create mode 100644 include/tables/object_table.h create mode 100644 src/code/object_table.c diff --git a/include/segment_symbols.h b/include/segment_symbols.h index ccb5488d13..d8be247773 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -126,470 +126,15 @@ DECLARE_OVERLAY_SEGMENT(fbdemo_wipe4) DECLARE_OVERLAY_SEGMENT(fbdemo_wipe5) DECLARE_OVERLAY_SEGMENT(Effect_Ss_Sbn) -DECLARE_ROM_SEGMENT(gameplay_keep) -DECLARE_ROM_SEGMENT(gameplay_field_keep) -DECLARE_ROM_SEGMENT(gameplay_dangeon_keep) -DECLARE_ROM_SEGMENT(object_link_boy) -DECLARE_ROM_SEGMENT(object_link_child) -DECLARE_ROM_SEGMENT(object_link_goron) -DECLARE_ROM_SEGMENT(object_link_zora) -DECLARE_ROM_SEGMENT(object_link_nuts) -DECLARE_ROM_SEGMENT(object_mask_ki_tan) -DECLARE_ROM_SEGMENT(object_mask_rabit) -DECLARE_ROM_SEGMENT(object_mask_skj) -DECLARE_ROM_SEGMENT(object_mask_truth) -DECLARE_ROM_SEGMENT(object_mask_gibudo) -DECLARE_ROM_SEGMENT(object_mask_json) -DECLARE_ROM_SEGMENT(object_mask_kerfay) -DECLARE_ROM_SEGMENT(object_mask_bigelf) -DECLARE_ROM_SEGMENT(object_mask_kyojin) -DECLARE_ROM_SEGMENT(object_mask_romerny) -DECLARE_ROM_SEGMENT(object_mask_posthat) -DECLARE_ROM_SEGMENT(object_mask_zacho) -DECLARE_ROM_SEGMENT(object_mask_stone) -DECLARE_ROM_SEGMENT(object_mask_bree) -DECLARE_ROM_SEGMENT(object_mask_gero) -DECLARE_ROM_SEGMENT(object_mask_yofukasi) -DECLARE_ROM_SEGMENT(object_mask_meoto) -DECLARE_ROM_SEGMENT(object_mask_dancer) -DECLARE_ROM_SEGMENT(object_mask_bakuretu) -DECLARE_ROM_SEGMENT(object_mask_bu_san) -DECLARE_ROM_SEGMENT(object_mask_goron) -DECLARE_ROM_SEGMENT(object_mask_zora) -DECLARE_ROM_SEGMENT(object_mask_nuts) -DECLARE_ROM_SEGMENT(object_mask_boy) -DECLARE_ROM_SEGMENT(object_box) -DECLARE_ROM_SEGMENT(object_okuta) -DECLARE_ROM_SEGMENT(object_wallmaster) -DECLARE_ROM_SEGMENT(object_dy_obj) -DECLARE_ROM_SEGMENT(object_firefly) -DECLARE_ROM_SEGMENT(object_dodongo) -DECLARE_ROM_SEGMENT(object_niw) -DECLARE_ROM_SEGMENT(object_tite) -DECLARE_ROM_SEGMENT(object_ph) -DECLARE_ROM_SEGMENT(object_dinofos) -DECLARE_ROM_SEGMENT(object_zl1) -DECLARE_ROM_SEGMENT(object_bubble) -DECLARE_ROM_SEGMENT(object_test3) -DECLARE_ROM_SEGMENT(object_famos) -DECLARE_ROM_SEGMENT(object_st) -DECLARE_ROM_SEGMENT(object_thiefbird) -DECLARE_ROM_SEGMENT(object_bombf) -DECLARE_ROM_SEGMENT(object_am) -DECLARE_ROM_SEGMENT(object_dekubaba) -DECLARE_ROM_SEGMENT(object_warp1) -DECLARE_ROM_SEGMENT(object_b_heart) -DECLARE_ROM_SEGMENT(object_dekunuts) -DECLARE_ROM_SEGMENT(object_bb) -DECLARE_ROM_SEGMENT(object_death) -DECLARE_ROM_SEGMENT(object_hata) -DECLARE_ROM_SEGMENT(object_wood02) -DECLARE_ROM_SEGMENT(object_trap) -DECLARE_ROM_SEGMENT(object_vm) -DECLARE_ROM_SEGMENT(object_efc_star_field) -DECLARE_ROM_SEGMENT(object_rd) -DECLARE_ROM_SEGMENT(object_yukimura_obj) -DECLARE_ROM_SEGMENT(object_horse_link_child) -DECLARE_ROM_SEGMENT(object_syokudai) -DECLARE_ROM_SEGMENT(object_efc_tw) -DECLARE_ROM_SEGMENT(object_gi_key) -DECLARE_ROM_SEGMENT(object_mir_ray) -DECLARE_ROM_SEGMENT(object_ctower_rot) -DECLARE_ROM_SEGMENT(object_bdoor) -DECLARE_ROM_SEGMENT(object_sb) -DECLARE_ROM_SEGMENT(object_gi_melody) -DECLARE_ROM_SEGMENT(object_gi_heart) -DECLARE_ROM_SEGMENT(object_gi_compass) -DECLARE_ROM_SEGMENT(object_gi_bosskey) -DECLARE_ROM_SEGMENT(object_gi_nuts) -DECLARE_ROM_SEGMENT(object_gi_hearts) -DECLARE_ROM_SEGMENT(object_gi_arrowcase) -DECLARE_ROM_SEGMENT(object_gi_bombpouch) -DECLARE_ROM_SEGMENT(object_in) -DECLARE_ROM_SEGMENT(object_os_anime) -DECLARE_ROM_SEGMENT(object_gi_bottle) -DECLARE_ROM_SEGMENT(object_gi_stick) -DECLARE_ROM_SEGMENT(object_gi_map) -DECLARE_ROM_SEGMENT(object_oF1d_map) -DECLARE_ROM_SEGMENT(object_ru2) -DECLARE_ROM_SEGMENT(object_gi_magicpot) -DECLARE_ROM_SEGMENT(object_gi_bomb_1) -DECLARE_ROM_SEGMENT(object_ma2) -DECLARE_ROM_SEGMENT(object_gi_purse) -DECLARE_ROM_SEGMENT(object_rr) -DECLARE_ROM_SEGMENT(object_gi_arrow) -DECLARE_ROM_SEGMENT(object_gi_bomb_2) -DECLARE_ROM_SEGMENT(object_gi_shield_2) -DECLARE_ROM_SEGMENT(object_gi_hookshot) -DECLARE_ROM_SEGMENT(object_gi_ocarina) -DECLARE_ROM_SEGMENT(object_gi_milk) -DECLARE_ROM_SEGMENT(object_ma1) -DECLARE_ROM_SEGMENT(object_ny) -DECLARE_ROM_SEGMENT(object_fr) -DECLARE_ROM_SEGMENT(object_gi_bow) -DECLARE_ROM_SEGMENT(object_gi_glasses) -DECLARE_ROM_SEGMENT(object_gi_liquid) -DECLARE_ROM_SEGMENT(object_ani) -DECLARE_ROM_SEGMENT(object_gi_shield_3) -DECLARE_ROM_SEGMENT(object_gi_bean) -DECLARE_ROM_SEGMENT(object_gi_fish) -DECLARE_ROM_SEGMENT(object_gi_longsword) -DECLARE_ROM_SEGMENT(object_zo) -DECLARE_ROM_SEGMENT(object_umajump) -DECLARE_ROM_SEGMENT(object_mastergolon) -DECLARE_ROM_SEGMENT(object_masterzoora) -DECLARE_ROM_SEGMENT(object_aob) -DECLARE_ROM_SEGMENT(object_ik) -DECLARE_ROM_SEGMENT(object_ahg) -DECLARE_ROM_SEGMENT(object_cne) -DECLARE_ROM_SEGMENT(object_bji) -DECLARE_ROM_SEGMENT(object_bba) -DECLARE_ROM_SEGMENT(object_an1) -DECLARE_ROM_SEGMENT(object_boj) -DECLARE_ROM_SEGMENT(object_fz) -DECLARE_ROM_SEGMENT(object_bob) -DECLARE_ROM_SEGMENT(object_ge1) -DECLARE_ROM_SEGMENT(object_yabusame_point) -DECLARE_ROM_SEGMENT(object_d_hsblock) -DECLARE_ROM_SEGMENT(object_d_lift) -DECLARE_ROM_SEGMENT(object_mamenoki) -DECLARE_ROM_SEGMENT(object_goroiwa) -DECLARE_ROM_SEGMENT(object_toryo) -DECLARE_ROM_SEGMENT(object_daiku) -DECLARE_ROM_SEGMENT(object_nwc) -DECLARE_ROM_SEGMENT(object_gm) -DECLARE_ROM_SEGMENT(object_ms) -DECLARE_ROM_SEGMENT(object_hs) -DECLARE_ROM_SEGMENT(object_lightswitch) -DECLARE_ROM_SEGMENT(object_kusa) -DECLARE_ROM_SEGMENT(object_tsubo) -DECLARE_ROM_SEGMENT(object_kanban) -DECLARE_ROM_SEGMENT(object_owl) -DECLARE_ROM_SEGMENT(object_mk) -DECLARE_ROM_SEGMENT(object_fu) -DECLARE_ROM_SEGMENT(object_gi_ki_tan_mask) -DECLARE_ROM_SEGMENT(object_gi_mask18) -DECLARE_ROM_SEGMENT(object_gi_rabit_mask) -DECLARE_ROM_SEGMENT(object_gi_truth_mask) -DECLARE_ROM_SEGMENT(object_stream) -DECLARE_ROM_SEGMENT(object_mm) -DECLARE_ROM_SEGMENT(object_js) -DECLARE_ROM_SEGMENT(object_cs) -DECLARE_ROM_SEGMENT(object_gi_soldout) -DECLARE_ROM_SEGMENT(object_mag) -DECLARE_ROM_SEGMENT(object_gi_golonmask) -DECLARE_ROM_SEGMENT(object_gi_zoramask) -DECLARE_ROM_SEGMENT(object_ka) -DECLARE_ROM_SEGMENT(object_zg) -DECLARE_ROM_SEGMENT(object_gi_m_arrow) -DECLARE_ROM_SEGMENT(object_ds2) -DECLARE_ROM_SEGMENT(object_fish) -DECLARE_ROM_SEGMENT(object_gi_sutaru) -DECLARE_ROM_SEGMENT(object_ssh) -DECLARE_ROM_SEGMENT(object_bigslime) -DECLARE_ROM_SEGMENT(object_bg) -DECLARE_ROM_SEGMENT(object_bombiwa) -DECLARE_ROM_SEGMENT(object_hintnuts) -DECLARE_ROM_SEGMENT(object_rs) -DECLARE_ROM_SEGMENT(object_gla) -DECLARE_ROM_SEGMENT(object_geldb) -DECLARE_ROM_SEGMENT(object_dog) -DECLARE_ROM_SEGMENT(object_kibako2) -DECLARE_ROM_SEGMENT(object_dns) -DECLARE_ROM_SEGMENT(object_dnk) -DECLARE_ROM_SEGMENT(object_gi_insect) -DECLARE_ROM_SEGMENT(object_gi_ghost) -DECLARE_ROM_SEGMENT(object_gi_soul) -DECLARE_ROM_SEGMENT(object_f40_obj) -DECLARE_ROM_SEGMENT(object_gi_rupy) -DECLARE_ROM_SEGMENT(object_po_composer) -DECLARE_ROM_SEGMENT(object_mu) -DECLARE_ROM_SEGMENT(object_wf) -DECLARE_ROM_SEGMENT(object_skb) -DECLARE_ROM_SEGMENT(object_gs) -DECLARE_ROM_SEGMENT(object_ps) -DECLARE_ROM_SEGMENT(object_omoya_obj) -DECLARE_ROM_SEGMENT(object_crow) -DECLARE_ROM_SEGMENT(object_cow) -DECLARE_ROM_SEGMENT(object_gi_sword_1) -DECLARE_ROM_SEGMENT(object_zl4) -DECLARE_ROM_SEGMENT(object_grasshopper) -DECLARE_ROM_SEGMENT(object_boyo) -DECLARE_ROM_SEGMENT(object_fwall) -DECLARE_ROM_SEGMENT(object_jso) -DECLARE_ROM_SEGMENT(object_knight) -DECLARE_ROM_SEGMENT(object_icicle) -DECLARE_ROM_SEGMENT(object_spdweb) -DECLARE_ROM_SEGMENT(object_boss01) -DECLARE_ROM_SEGMENT(object_boss02) -DECLARE_ROM_SEGMENT(object_boss03) -DECLARE_ROM_SEGMENT(object_boss04) -DECLARE_ROM_SEGMENT(object_boss05) -DECLARE_ROM_SEGMENT(object_boss07) -DECLARE_ROM_SEGMENT(object_raf) -DECLARE_ROM_SEGMENT(object_funen) -DECLARE_ROM_SEGMENT(object_raillift) -DECLARE_ROM_SEGMENT(object_numa_obj) -DECLARE_ROM_SEGMENT(object_flowerpot) -DECLARE_ROM_SEGMENT(object_spinyroll) -DECLARE_ROM_SEGMENT(object_ice_block) -DECLARE_ROM_SEGMENT(object_keikoku_demo) -DECLARE_ROM_SEGMENT(object_slime) -DECLARE_ROM_SEGMENT(object_pr) -DECLARE_ROM_SEGMENT(object_f52_obj) -DECLARE_ROM_SEGMENT(object_f53_obj) -DECLARE_ROM_SEGMENT(object_kibako) -DECLARE_ROM_SEGMENT(object_sek) -DECLARE_ROM_SEGMENT(object_gmo) -DECLARE_ROM_SEGMENT(object_bat) -DECLARE_ROM_SEGMENT(object_sekihil) -DECLARE_ROM_SEGMENT(object_sekihig) -DECLARE_ROM_SEGMENT(object_sekihin) -DECLARE_ROM_SEGMENT(object_sekihiz) -DECLARE_ROM_SEGMENT(object_wiz) -DECLARE_ROM_SEGMENT(object_ladder) -DECLARE_ROM_SEGMENT(object_mkk) -DECLARE_ROM_SEGMENT(object_keikoku_obj) -DECLARE_ROM_SEGMENT(object_sichitai_obj) -DECLARE_ROM_SEGMENT(object_dekucity_ana_obj) -DECLARE_ROM_SEGMENT(object_rat) -DECLARE_ROM_SEGMENT(object_water_effect) -DECLARE_ROM_SEGMENT(object_dblue_object) -DECLARE_ROM_SEGMENT(object_bal) -DECLARE_ROM_SEGMENT(object_warp_uzu) -DECLARE_ROM_SEGMENT(object_driftice) -DECLARE_ROM_SEGMENT(object_fall) -DECLARE_ROM_SEGMENT(object_hanareyama_obj) -DECLARE_ROM_SEGMENT(object_crace_object) -DECLARE_ROM_SEGMENT(object_dno) -DECLARE_ROM_SEGMENT(object_obj_tokeidai) -DECLARE_ROM_SEGMENT(object_eg) -DECLARE_ROM_SEGMENT(object_tru) -DECLARE_ROM_SEGMENT(object_trt) -DECLARE_ROM_SEGMENT(object_hakugin_obj) -DECLARE_ROM_SEGMENT(object_horse_game_check) -DECLARE_ROM_SEGMENT(object_stk) -DECLARE_ROM_SEGMENT(object_mnk) -DECLARE_ROM_SEGMENT(object_gi_bottle_red) -DECLARE_ROM_SEGMENT(object_tokei_tobira) -DECLARE_ROM_SEGMENT(object_az) -DECLARE_ROM_SEGMENT(object_twig) -DECLARE_ROM_SEGMENT(object_dekucity_obj) -DECLARE_ROM_SEGMENT(object_po_fusen) -DECLARE_ROM_SEGMENT(object_racetsubo) -DECLARE_ROM_SEGMENT(object_ha) -DECLARE_ROM_SEGMENT(object_bigokuta) -DECLARE_ROM_SEGMENT(object_open_obj) -DECLARE_ROM_SEGMENT(object_fu_kaiten) -DECLARE_ROM_SEGMENT(object_fu_mato) -DECLARE_ROM_SEGMENT(object_mtoride) -DECLARE_ROM_SEGMENT(object_osn) -DECLARE_ROM_SEGMENT(object_tokei_step) -DECLARE_ROM_SEGMENT(object_lotus) -DECLARE_ROM_SEGMENT(object_tl) -DECLARE_ROM_SEGMENT(object_dkjail_obj) -DECLARE_ROM_SEGMENT(object_visiblock) -DECLARE_ROM_SEGMENT(object_tsn) -DECLARE_ROM_SEGMENT(object_ds2n) -DECLARE_ROM_SEGMENT(object_fsn) -DECLARE_ROM_SEGMENT(object_shn) -DECLARE_ROM_SEGMENT(object_bigicicle) -DECLARE_ROM_SEGMENT(object_gi_bottle_15) -DECLARE_ROM_SEGMENT(object_tk) -DECLARE_ROM_SEGMENT(object_market_obj) -DECLARE_ROM_SEGMENT(object_gi_reserve00) -DECLARE_ROM_SEGMENT(object_gi_reserve01) -DECLARE_ROM_SEGMENT(object_lightblock) -DECLARE_ROM_SEGMENT(object_takaraya_objects) -DECLARE_ROM_SEGMENT(object_wdhand) -DECLARE_ROM_SEGMENT(object_sdn) -DECLARE_ROM_SEGMENT(object_snowwd) -DECLARE_ROM_SEGMENT(object_giant) -DECLARE_ROM_SEGMENT(object_comb) -DECLARE_ROM_SEGMENT(object_hana) -DECLARE_ROM_SEGMENT(object_boss_hakugin) -DECLARE_ROM_SEGMENT(object_meganeana_obj) -DECLARE_ROM_SEGMENT(object_gi_nutsmask) -DECLARE_ROM_SEGMENT(object_stk2) -DECLARE_ROM_SEGMENT(object_spot11_obj) -DECLARE_ROM_SEGMENT(object_danpei_object) -DECLARE_ROM_SEGMENT(object_dhouse) -DECLARE_ROM_SEGMENT(object_hakaisi) -DECLARE_ROM_SEGMENT(object_po) -DECLARE_ROM_SEGMENT(object_snowman) -DECLARE_ROM_SEGMENT(object_po_sisters) -DECLARE_ROM_SEGMENT(object_pp) -DECLARE_ROM_SEGMENT(object_goronswitch) -DECLARE_ROM_SEGMENT(object_delf) -DECLARE_ROM_SEGMENT(object_botihasira) -DECLARE_ROM_SEGMENT(object_gi_bigbomb) -DECLARE_ROM_SEGMENT(object_pst) -DECLARE_ROM_SEGMENT(object_bsmask) -DECLARE_ROM_SEGMENT(object_spidertent) -DECLARE_ROM_SEGMENT(object_zoraegg) -DECLARE_ROM_SEGMENT(object_kbt) -DECLARE_ROM_SEGMENT(object_gg) -DECLARE_ROM_SEGMENT(object_maruta) -DECLARE_ROM_SEGMENT(object_ghaka) -DECLARE_ROM_SEGMENT(object_oyu) -DECLARE_ROM_SEGMENT(object_dnq) -DECLARE_ROM_SEGMENT(object_dai) -DECLARE_ROM_SEGMENT(object_kgy) -DECLARE_ROM_SEGMENT(object_fb) -DECLARE_ROM_SEGMENT(object_taisou) -DECLARE_ROM_SEGMENT(object_gk) -DECLARE_ROM_SEGMENT(object_haka_obj) -DECLARE_ROM_SEGMENT(object_dnt) -DECLARE_ROM_SEGMENT(object_yukiyama) -DECLARE_ROM_SEGMENT(object_icefloe) -DECLARE_ROM_SEGMENT(object_gi_gold_dust) -DECLARE_ROM_SEGMENT(object_gi_bottle_16) -DECLARE_ROM_SEGMENT(object_gi_bottle_22) -DECLARE_ROM_SEGMENT(object_bee) -DECLARE_ROM_SEGMENT(object_ot) -DECLARE_ROM_SEGMENT(object_utubo) -DECLARE_ROM_SEGMENT(object_dora) -DECLARE_ROM_SEGMENT(object_gi_loach) -DECLARE_ROM_SEGMENT(object_gi_seahorse) -DECLARE_ROM_SEGMENT(object_bigpo) -DECLARE_ROM_SEGMENT(object_hariko) -DECLARE_ROM_SEGMENT(object_dnj) -DECLARE_ROM_SEGMENT(object_sinkai_kabe) -DECLARE_ROM_SEGMENT(object_kin2_obj) -DECLARE_ROM_SEGMENT(object_ishi) -DECLARE_ROM_SEGMENT(object_hakugin_demo) -DECLARE_ROM_SEGMENT(object_jg) -DECLARE_ROM_SEGMENT(object_gi_sword_2) -DECLARE_ROM_SEGMENT(object_gi_sword_3) -DECLARE_ROM_SEGMENT(object_gi_sword_4) -DECLARE_ROM_SEGMENT(object_um) -DECLARE_ROM_SEGMENT(object_rb) -DECLARE_ROM_SEGMENT(object_mbar_obj) -DECLARE_ROM_SEGMENT(object_ikana_obj) -DECLARE_ROM_SEGMENT(object_kz) -DECLARE_ROM_SEGMENT(object_tokei_turret) -DECLARE_ROM_SEGMENT(object_zog) -DECLARE_ROM_SEGMENT(object_rotlift) -DECLARE_ROM_SEGMENT(object_posthouse_obj) -DECLARE_ROM_SEGMENT(object_gi_mask09) -DECLARE_ROM_SEGMENT(object_gi_mask14) -DECLARE_ROM_SEGMENT(object_gi_mask15) -DECLARE_ROM_SEGMENT(object_inibs_object) -DECLARE_ROM_SEGMENT(object_tree) -DECLARE_ROM_SEGMENT(object_kaizoku_obj) -DECLARE_ROM_SEGMENT(object_gi_reserve_b_00) -DECLARE_ROM_SEGMENT(object_gi_reserve_c_00) -DECLARE_ROM_SEGMENT(object_zob) -DECLARE_ROM_SEGMENT(object_milkbar) -DECLARE_ROM_SEGMENT(object_dmask) -DECLARE_ROM_SEGMENT(object_gi_reserve_c_01) -DECLARE_ROM_SEGMENT(object_zod) -DECLARE_ROM_SEGMENT(object_kumo30) -DECLARE_ROM_SEGMENT(object_obj_yasi) -DECLARE_ROM_SEGMENT(object_tanron1) -DECLARE_ROM_SEGMENT(object_tanron2) -DECLARE_ROM_SEGMENT(object_tanron3) -DECLARE_ROM_SEGMENT(object_gi_magicmushroom) -DECLARE_ROM_SEGMENT(object_obj_chan) -DECLARE_ROM_SEGMENT(object_gi_mask10) -DECLARE_ROM_SEGMENT(object_zos) -DECLARE_ROM_SEGMENT(object_an2) -DECLARE_ROM_SEGMENT(object_an3) -DECLARE_ROM_SEGMENT(object_f40_switch) -DECLARE_ROM_SEGMENT(object_lodmoon) -DECLARE_ROM_SEGMENT(object_tro) -DECLARE_ROM_SEGMENT(object_gi_mask12) -DECLARE_ROM_SEGMENT(object_gi_mask23) -DECLARE_ROM_SEGMENT(object_gi_bottle_21) -DECLARE_ROM_SEGMENT(object_gi_camera) -DECLARE_ROM_SEGMENT(object_kamejima) -DECLARE_ROM_SEGMENT(object_nb) -DECLARE_ROM_SEGMENT(object_harfgibud) -DECLARE_ROM_SEGMENT(object_zov) -DECLARE_ROM_SEGMENT(object_ah) -DECLARE_ROM_SEGMENT(object_hgdoor) -DECLARE_ROM_SEGMENT(object_dor01) -DECLARE_ROM_SEGMENT(object_dor02) -DECLARE_ROM_SEGMENT(object_dor03) -DECLARE_ROM_SEGMENT(object_dor04) -DECLARE_ROM_SEGMENT(object_last_obj) -DECLARE_ROM_SEGMENT(object_redead_obj) -DECLARE_ROM_SEGMENT(object_ikninside_obj) -DECLARE_ROM_SEGMENT(object_iknv_obj) -DECLARE_ROM_SEGMENT(object_pamera) -DECLARE_ROM_SEGMENT(object_hsstump) -DECLARE_ROM_SEGMENT(object_zm) -DECLARE_ROM_SEGMENT(object_al) -DECLARE_ROM_SEGMENT(object_tab) -DECLARE_ROM_SEGMENT(object_secom_obj) -DECLARE_ROM_SEGMENT(object_dt) -DECLARE_ROM_SEGMENT(object_gi_mask03) -DECLARE_ROM_SEGMENT(object_cha) -DECLARE_ROM_SEGMENT(object_obj_dinner) -DECLARE_ROM_SEGMENT(object_gi_reserve_b_01) -DECLARE_ROM_SEGMENT(object_lastday) -DECLARE_ROM_SEGMENT(object_bai) -DECLARE_ROM_SEGMENT(object_ikn_demo) -DECLARE_ROM_SEGMENT(object_gi_fieldmap) -DECLARE_ROM_SEGMENT(object_big_fwall) -DECLARE_ROM_SEGMENT(object_hunsui) -DECLARE_ROM_SEGMENT(object_uch) -DECLARE_ROM_SEGMENT(object_tanron4) -DECLARE_ROM_SEGMENT(object_tanron5) -DECLARE_ROM_SEGMENT(object_in2) -DECLARE_ROM_SEGMENT(object_yb) -DECLARE_ROM_SEGMENT(object_rz) -DECLARE_ROM_SEGMENT(object_bjt) -DECLARE_ROM_SEGMENT(object_taru) -DECLARE_ROM_SEGMENT(object_moonston) -DECLARE_ROM_SEGMENT(object_gi_schedule) -DECLARE_ROM_SEGMENT(object_gi_stonemask) -DECLARE_ROM_SEGMENT(object_zoraband) -DECLARE_ROM_SEGMENT(object_kepn_koya) -DECLARE_ROM_SEGMENT(object_obj_usiyane) -DECLARE_ROM_SEGMENT(object_gi_mask05) -DECLARE_ROM_SEGMENT(object_gi_mask11) -DECLARE_ROM_SEGMENT(object_gi_mask20) -DECLARE_ROM_SEGMENT(object_nnh) -DECLARE_ROM_SEGMENT(object_kzsaku) -DECLARE_ROM_SEGMENT(object_obj_milk_bin) -DECLARE_ROM_SEGMENT(object_random_obj) -DECLARE_ROM_SEGMENT(object_kujiya) -DECLARE_ROM_SEGMENT(object_kitan) -DECLARE_ROM_SEGMENT(object_gi_mask06) -DECLARE_ROM_SEGMENT(object_gi_mask16) -DECLARE_ROM_SEGMENT(object_astr_obj) -DECLARE_ROM_SEGMENT(object_bsb) -DECLARE_ROM_SEGMENT(object_fall2) -DECLARE_ROM_SEGMENT(object_sth) -DECLARE_ROM_SEGMENT(object_gi_mssa) -DECLARE_ROM_SEGMENT(object_smtower) -DECLARE_ROM_SEGMENT(object_gi_mask21) -DECLARE_ROM_SEGMENT(object_yado_obj) -DECLARE_ROM_SEGMENT(object_syoten) -DECLARE_ROM_SEGMENT(object_moonend) -DECLARE_ROM_SEGMENT(object_ob) -DECLARE_ROM_SEGMENT(object_gi_bottle_04) -DECLARE_ROM_SEGMENT(object_and) -DECLARE_ROM_SEGMENT(object_obj_danpeilift) -DECLARE_ROM_SEGMENT(object_drs) -DECLARE_ROM_SEGMENT(object_msmo) -DECLARE_ROM_SEGMENT(object_an4) -DECLARE_ROM_SEGMENT(object_wdor01) -DECLARE_ROM_SEGMENT(object_wdor02) -DECLARE_ROM_SEGMENT(object_wdor03) -DECLARE_ROM_SEGMENT(object_wdor04) -DECLARE_ROM_SEGMENT(object_wdor05) -DECLARE_ROM_SEGMENT(object_stk3) -DECLARE_ROM_SEGMENT(object_kinsta1_obj) -DECLARE_ROM_SEGMENT(object_kinsta2_obj) -DECLARE_ROM_SEGMENT(object_bh) -DECLARE_ROM_SEGMENT(object_gi_mask17) -DECLARE_ROM_SEGMENT(object_gi_mask22) -DECLARE_ROM_SEGMENT(object_lbfshot) -DECLARE_ROM_SEGMENT(object_fusen) -DECLARE_ROM_SEGMENT(object_ending_obj) -DECLARE_ROM_SEGMENT(object_gi_mask13) +#define DEFINE_OBJECT(name, _enumValue) DECLARE_ROM_SEGMENT(name) +#define DEFINE_OBJECT_UNSET(_enumValue) +#define DEFINE_OBJECT_SIZE_ZERO(_name, _enumValue) + +#include "tables/object_table.h" + +#undef DEFINE_OBJECT +#undef DEFINE_OBJECT_UNSET +#undef DEFINE_OBJECT_SIZE_ZERO DECLARE_ROM_SEGMENT(scene_texture_01) DECLARE_ROM_SEGMENT(scene_texture_02) @@ -1121,4 +666,5 @@ DECLARE_ROM_SEGMENT(KAKUSIANA_room_13) DECLARE_ROM_SEGMENT(KAKUSIANA_room_14) DECLARE_ROM_SEGMENT(bump_texture_static) + #endif diff --git a/include/tables/object_table.h b/include/tables/object_table.h new file mode 100644 index 0000000000..61175c1183 --- /dev/null +++ b/include/tables/object_table.h @@ -0,0 +1,659 @@ +/** + * Object Table + * + * DEFINE_OBJECT should be used for normal objects + * - Argument 0: Name of the object segment in spec + * - Argument 1: Enum value for this object + * + * DEFINE_OBJECT_UNSET and DEFINE_OBJECT_SIZE_ZERO are needed to define empty entries from the original game + * + * DEFINE_OBJECT_UNSET is used to declare a placeholder enum value which maps to an entry with zeroes in `gObjectTable` + * - Argument 0: Enum value for this object + * + * DEFINE_OBJECT_SIZE_ZERO is used to declare a placeholder enum value which maps to a zero-size entry in `gObjectTable`, with no corresponding segment in the rom. + * - Argument 0: Name of the object segment in spec + * - Argument 1: Enum value for this object + */ +/* 0x000 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_0) +/* 0x001 */ DEFINE_OBJECT(gameplay_keep, GAMEPLAY_KEEP) +/* 0x002 */ DEFINE_OBJECT(gameplay_field_keep, GAMEPLAY_FIELD_KEEP) +/* 0x003 */ DEFINE_OBJECT(gameplay_dangeon_keep, GAMEPLAY_DANGEON_KEEP) +/* 0x004 */ DEFINE_OBJECT(object_nb, OBJECT_NB) +/* 0x005 */ DEFINE_OBJECT(object_okuta, OBJECT_OKUTA) +/* 0x006 */ DEFINE_OBJECT(object_crow, OBJECT_CROW) +/* 0x007 */ DEFINE_OBJECT(object_ah, OBJECT_AH) +/* 0x008 */ DEFINE_OBJECT(object_dy_obj, OBJECT_DY_OBJ) +/* 0x009 */ DEFINE_OBJECT(object_wallmaster, OBJECT_WALLMASTER) +/* 0x00A */ DEFINE_OBJECT(object_dodongo, OBJECT_DODONGO) +/* 0x00B */ DEFINE_OBJECT(object_firefly, OBJECT_FIREFLY) +/* 0x00C */ DEFINE_OBJECT(object_box, OBJECT_BOX) +/* 0x00D */ DEFINE_OBJECT(object_al, OBJECT_AL) +/* 0x00E */ DEFINE_OBJECT(object_bubble, OBJECT_BUBBLE) +/* 0x00F */ DEFINE_OBJECT(object_niw, OBJECT_NIW) +/* 0x010 */ DEFINE_OBJECT(object_link_boy, OBJECT_LINK_BOY) +/* 0x011 */ DEFINE_OBJECT(object_link_child, OBJECT_LINK_CHILD) +/* 0x012 */ DEFINE_OBJECT(object_tite, OBJECT_TITE) +/* 0x013 */ DEFINE_OBJECT(object_tab, OBJECT_TAB) +/* 0x014 */ DEFINE_OBJECT(object_ph, OBJECT_PH) +/* 0x015 */ DEFINE_OBJECT(object_and, OBJECT_AND) +/* 0x016 */ DEFINE_OBJECT(object_msmo, OBJECT_MSMO) +/* 0x017 */ DEFINE_OBJECT(object_dinofos, OBJECT_DINOFOS) +/* 0x018 */ DEFINE_OBJECT(object_drs, OBJECT_DRS) +/* 0x019 */ DEFINE_OBJECT(object_zl1, OBJECT_ZL1) +/* 0x01A */ DEFINE_OBJECT(object_an4, OBJECT_AN4) +/* 0x01B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_1B) +/* 0x01C */ DEFINE_OBJECT(object_test3, OBJECT_TEST3) +/* 0x01D */ DEFINE_OBJECT(object_famos, OBJECT_FAMOS) +/* 0x01E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_1E) +/* 0x01F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_1F) +/* 0x020 */ DEFINE_OBJECT(object_st, OBJECT_ST) +/* 0x021 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_21) +/* 0x022 */ DEFINE_OBJECT(object_thiefbird, OBJECT_THIEFBIRD) +/* 0x023 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_23) +/* 0x024 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_24) +/* 0x025 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_25) +/* 0x026 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_26) +/* 0x027 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_27) +/* 0x028 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_28) +/* 0x029 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_29) +/* 0x02A */ DEFINE_OBJECT(object_bombf, OBJECT_BOMBF) +/* 0x02B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_2B) +/* 0x02C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_2C) +/* 0x02D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_2D) +/* 0x02E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_2E) +/* 0x02F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_2F) +/* 0x030 */ DEFINE_OBJECT(object_am, OBJECT_AM) +/* 0x031 */ DEFINE_OBJECT(object_dekubaba, OBJECT_DEKUBABA) +/* 0x032 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_32) +/* 0x033 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_33) +/* 0x034 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_34) +/* 0x035 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_35) +/* 0x036 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_36) +/* 0x037 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_37) +/* 0x038 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_38) +/* 0x039 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_39) +/* 0x03A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_3A) +/* 0x03B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_3B) +/* 0x03C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_3C) +/* 0x03D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_3D) +/* 0x03E */ DEFINE_OBJECT(object_warp1, OBJECT_WARP1) +/* 0x03F */ DEFINE_OBJECT(object_b_heart, OBJECT_B_HEART) +/* 0x040 */ DEFINE_OBJECT(object_dekunuts, OBJECT_DEKUNUTS) +/* 0x041 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_41) +/* 0x042 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_42) +/* 0x043 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_43) +/* 0x044 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_44) +/* 0x045 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_45) +/* 0x046 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_46) +/* 0x047 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_47) +/* 0x048 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_48) +/* 0x049 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_49) +/* 0x04A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4A) +/* 0x04B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4B) +/* 0x04C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4C) +/* 0x04D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4D) +/* 0x04E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4E) +/* 0x04F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_4F) +/* 0x050 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_50) +/* 0x051 */ DEFINE_OBJECT(object_bb, OBJECT_BB) +/* 0x052 */ DEFINE_OBJECT(object_death, OBJECT_DEATH) +/* 0x053 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_53) +/* 0x054 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_54) +/* 0x055 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_55) +/* 0x056 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_56) +/* 0x057 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_57) +/* 0x058 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_58) +/* 0x059 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_59) +/* 0x05A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_5A) +/* 0x05B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_5B) +/* 0x05C */ DEFINE_OBJECT(object_f40_obj, OBJECT_F40_OBJ) +/* 0x05D */ DEFINE_OBJECT(object_po_composer, OBJECT_PO_COMPOSER) +/* 0x05E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_5E) +/* 0x05F */ DEFINE_OBJECT(object_hata, OBJECT_HATA) +/* 0x060 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_60) +/* 0x061 */ DEFINE_OBJECT(object_wood02, OBJECT_WOOD02) +/* 0x062 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_62) +/* 0x063 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_63) +/* 0x064 */ DEFINE_OBJECT(object_trap, OBJECT_TRAP) +/* 0x065 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_65) +/* 0x066 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_66) +/* 0x067 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_67) +/* 0x068 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_68) +/* 0x069 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_69) +/* 0x06A */ DEFINE_OBJECT(object_vm, OBJECT_VM) +/* 0x06B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_6B) +/* 0x06C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_6C) +/* 0x06D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_6D) +/* 0x06E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_6E) +/* 0x06F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_6F) +/* 0x070 */ DEFINE_OBJECT(object_efc_star_field, OBJECT_EFC_STAR_FIELD) +/* 0x071 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_71) +/* 0x072 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_72) +/* 0x073 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_73) +/* 0x074 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_74) +/* 0x075 */ DEFINE_OBJECT(object_rd, OBJECT_RD) +/* 0x076 */ DEFINE_OBJECT(object_yukimura_obj, OBJECT_YUKIMURA_OBJ) +/* 0x077 */ DEFINE_OBJECT_UNSET(OBJECT_HEAVY_OBJECT) +/* 0x078 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_78) +/* 0x079 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_79) +/* 0x07A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7A) +/* 0x07B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7B) +/* 0x07C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7C) +/* 0x07D */ DEFINE_OBJECT(object_horse_link_child, OBJECT_HORSE_LINK_CHILD) +/* 0x07E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7E) +/* 0x07F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_7F) +/* 0x080 */ DEFINE_OBJECT(object_syokudai, OBJECT_SYOKUDAI) +/* 0x081 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_81) +/* 0x082 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_82) +/* 0x083 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_83) +/* 0x084 */ DEFINE_OBJECT(object_efc_tw, OBJECT_EFC_TW) +/* 0x085 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_85) +/* 0x086 */ DEFINE_OBJECT(object_gi_key, OBJECT_GI_KEY) +/* 0x087 */ DEFINE_OBJECT(object_mir_ray, OBJECT_MIR_RAY) +/* 0x088 */ DEFINE_OBJECT(object_ctower_rot, OBJECT_CTOWER_ROT) +/* 0x089 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_89) +/* 0x08A */ DEFINE_OBJECT(object_bdoor, OBJECT_BDOOR) +/* 0x08B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_8B) +/* 0x08C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_8C) +/* 0x08D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_8D) +/* 0x08E */ DEFINE_OBJECT(object_sb, OBJECT_SB) +/* 0x08F */ DEFINE_OBJECT(object_gi_melody, OBJECT_GI_MELODY) +/* 0x090 */ DEFINE_OBJECT(object_gi_heart, OBJECT_GI_HEART) +/* 0x091 */ DEFINE_OBJECT(object_gi_compass, OBJECT_GI_COMPASS) +/* 0x092 */ DEFINE_OBJECT(object_gi_bosskey, OBJECT_GI_BOSSKEY) +/* 0x093 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_93) +/* 0x094 */ DEFINE_OBJECT(object_gi_nuts, OBJECT_GI_NUTS) +/* 0x095 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_95) +/* 0x096 */ DEFINE_OBJECT(object_gi_hearts, OBJECT_GI_HEARTS) +/* 0x097 */ DEFINE_OBJECT(object_gi_arrowcase, OBJECT_GI_ARROWCASE) +/* 0x098 */ DEFINE_OBJECT(object_gi_bombpouch, OBJECT_GI_BOMBPOUCH) +/* 0x099 */ DEFINE_OBJECT(object_in, OBJECT_IN) +/* 0x09A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_9A) +/* 0x09B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_9B) +/* 0x09C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_9C) +/* 0x09D */ DEFINE_OBJECT(object_os_anime, OBJECT_OS_ANIME) +/* 0x09E */ DEFINE_OBJECT(object_gi_bottle, OBJECT_GI_BOTTLE) +/* 0x09F */ DEFINE_OBJECT(object_gi_stick, OBJECT_GI_STICK) +/* 0x0A0 */ DEFINE_OBJECT(object_gi_map, OBJECT_GI_MAP) +/* 0x0A1 */ DEFINE_OBJECT(object_oF1d_map, OBJECT_OF1D_MAP) +/* 0x0A2 */ DEFINE_OBJECT(object_ru2, OBJECT_RU2) +/* 0x0A3 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_A3) +/* 0x0A4 */ DEFINE_OBJECT(object_gi_magicpot, OBJECT_GI_MAGICPOT) +/* 0x0A5 */ DEFINE_OBJECT(object_gi_bomb_1, OBJECT_GI_BOMB_1) +/* 0x0A6 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_A6) +/* 0x0A7 */ DEFINE_OBJECT(object_ma2, OBJECT_MA2) +/* 0x0A8 */ DEFINE_OBJECT(object_gi_purse, OBJECT_GI_PURSE) +/* 0x0A9 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_A9) +/* 0x0AA */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_AA) +/* 0x0AB */ DEFINE_OBJECT(object_rr, OBJECT_RR) +/* 0x0AC */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_AC) +/* 0x0AD */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_AD) +/* 0x0AE */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_AE) +/* 0x0AF */ DEFINE_OBJECT(object_gi_arrow, OBJECT_GI_ARROW) +/* 0x0B0 */ DEFINE_OBJECT(object_gi_bomb_2, OBJECT_GI_BOMB_2) +/* 0x0B1 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_B1) +/* 0x0B2 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_B2) +/* 0x0B3 */ DEFINE_OBJECT(object_gi_shield_2, OBJECT_GI_SHIELD_2) +/* 0x0B4 */ DEFINE_OBJECT(object_gi_hookshot, OBJECT_GI_HOOKSHOT) +/* 0x0B5 */ DEFINE_OBJECT(object_gi_ocarina, OBJECT_GI_OCARINA) +/* 0x0B6 */ DEFINE_OBJECT(object_gi_milk, OBJECT_GI_MILK) +/* 0x0B7 */ DEFINE_OBJECT(object_ma1, OBJECT_MA1) +/* 0x0B8 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_B8) +/* 0x0B9 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_B9) +/* 0x0BA */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_BA) +/* 0x0BB */ DEFINE_OBJECT(object_ny, OBJECT_NY) +/* 0x0BC */ DEFINE_OBJECT(object_fr, OBJECT_FR) +/* 0x0BD */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_BD) +/* 0x0BE */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_BE) +/* 0x0BF */ DEFINE_OBJECT(object_gi_bow, OBJECT_GI_BOW) +/* 0x0C0 */ DEFINE_OBJECT(object_gi_glasses, OBJECT_GI_GLASSES) +/* 0x0C1 */ DEFINE_OBJECT(object_gi_liquid, OBJECT_GI_LIQUID) +/* 0x0C2 */ DEFINE_OBJECT(object_ani, OBJECT_ANI) +/* 0x0C3 */ DEFINE_OBJECT(object_gi_shield_3, OBJECT_GI_SHIELD_3) +/* 0x0C4 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_C4) +/* 0x0C5 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_C5) +/* 0x0C6 */ DEFINE_OBJECT(object_gi_bean, OBJECT_GI_BEAN) +/* 0x0C7 */ DEFINE_OBJECT(object_gi_fish, OBJECT_GI_FISH) +/* 0x0C8 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_C8) +/* 0x0C9 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_C9) +/* 0x0CA */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_CA) +/* 0x0CB */ DEFINE_OBJECT(object_gi_longsword, OBJECT_GI_LONGSWORD) +/* 0x0CC */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_CC) +/* 0x0CD */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_CD) +/* 0x0CE */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_CE) +/* 0x0CF */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_CF) +/* 0x0D0 */ DEFINE_OBJECT(object_zo, OBJECT_ZO) +/* 0x0D1 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_D1) +/* 0x0D2 */ DEFINE_OBJECT(object_umajump, OBJECT_UMAJUMP) +/* 0x0D3 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_D3) +/* 0x0D4 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_D4) +/* 0x0D5 */ DEFINE_OBJECT(object_mastergolon, OBJECT_MASTERGOLON) +/* 0x0D6 */ DEFINE_OBJECT(object_masterzoora, OBJECT_MASTERZOORA) +/* 0x0D7 */ DEFINE_OBJECT(object_aob, OBJECT_AOB) +/* 0x0D8 */ DEFINE_OBJECT(object_ik, OBJECT_IK) +/* 0x0D9 */ DEFINE_OBJECT(object_ahg, OBJECT_AHG) +/* 0x0DA */ DEFINE_OBJECT(object_cne, OBJECT_CNE) +/* 0x0DB */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_DB) +/* 0x0DC */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_DC) +/* 0x0DD */ DEFINE_OBJECT(object_an3, OBJECT_AN3) +/* 0x0DE */ DEFINE_OBJECT(object_bji, OBJECT_BJI) +/* 0x0DF */ DEFINE_OBJECT(object_bba, OBJECT_BBA) +/* 0x0E0 */ DEFINE_OBJECT(object_an2, OBJECT_AN2) +/* 0x0E1 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_E1) +/* 0x0E2 */ DEFINE_OBJECT(object_an1, OBJECT_AN1) +/* 0x0E3 */ DEFINE_OBJECT(object_boj, OBJECT_BOJ) +/* 0x0E4 */ DEFINE_OBJECT(object_fz, OBJECT_FZ) +/* 0x0E5 */ DEFINE_OBJECT(object_bob, OBJECT_BOB) +/* 0x0E6 */ DEFINE_OBJECT(object_ge1, OBJECT_GE1) +/* 0x0E7 */ DEFINE_OBJECT(object_yabusame_point, OBJECT_YABUSAME_POINT) +/* 0x0E8 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_E8) +/* 0x0E9 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_E9) +/* 0x0EA */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_EA) +/* 0x0EB */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_EB) +/* 0x0EC */ DEFINE_OBJECT(object_d_hsblock, OBJECT_D_HSBLOCK) +/* 0x0ED */ DEFINE_OBJECT(object_d_lift, OBJECT_D_LIFT) +/* 0x0EE */ DEFINE_OBJECT(object_mamenoki, OBJECT_MAMENOKI) +/* 0x0EF */ DEFINE_OBJECT(object_goroiwa, OBJECT_GOROIWA) +/* 0x0F0 */ DEFINE_OBJECT(object_toryo, OBJECT_TORYO) +/* 0x0F1 */ DEFINE_OBJECT(object_daiku, OBJECT_DAIKU) +/* 0x0F2 */ DEFINE_OBJECT(object_nwc, OBJECT_NWC) +/* 0x0F3 */ DEFINE_OBJECT(object_gm, OBJECT_GM) +/* 0x0F4 */ DEFINE_OBJECT(object_ms, OBJECT_MS) +/* 0x0F5 */ DEFINE_OBJECT(object_hs, OBJECT_HS) +/* 0x0F6 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_F6) +/* 0x0F7 */ DEFINE_OBJECT(object_lightswitch, OBJECT_LIGHTSWITCH) +/* 0x0F8 */ DEFINE_OBJECT(object_kusa, OBJECT_KUSA) +/* 0x0F9 */ DEFINE_OBJECT(object_tsubo, OBJECT_TSUBO) +/* 0x0FA */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_FA) +/* 0x0FB */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_FB) +/* 0x0FC */ DEFINE_OBJECT(object_kanban, OBJECT_KANBAN) +/* 0x0FD */ DEFINE_OBJECT(object_owl, OBJECT_OWL) +/* 0x0FE */ DEFINE_OBJECT(object_mk, OBJECT_MK) +/* 0x0FF */ DEFINE_OBJECT(object_fu, OBJECT_FU) +/* 0x100 */ DEFINE_OBJECT(object_gi_ki_tan_mask, OBJECT_GI_KI_TAN_MASK) +/* 0x101 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_101) +/* 0x102 */ DEFINE_OBJECT(object_gi_mask18, OBJECT_GI_MASK18) +/* 0x103 */ DEFINE_OBJECT(object_gi_rabit_mask, OBJECT_GI_RABIT_MASK) +/* 0x104 */ DEFINE_OBJECT(object_gi_truth_mask, OBJECT_GI_TRUTH_MASK) +/* 0x105 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_105) +/* 0x106 */ DEFINE_OBJECT(object_stream, OBJECT_STREAM) +/* 0x107 */ DEFINE_OBJECT(object_mm, OBJECT_MM) +/* 0x108 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_108) +/* 0x109 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_109) +/* 0x10A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_10A) +/* 0x10B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_10B) +/* 0x10C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_10C) +/* 0x10D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_10D) +/* 0x10E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_10E) +/* 0x10F */ DEFINE_OBJECT(object_js, OBJECT_JS) +/* 0x110 */ DEFINE_OBJECT(object_cs, OBJECT_CS) +/* 0x111 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_111) +/* 0x112 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_112) +/* 0x113 */ DEFINE_OBJECT(object_gi_soldout, OBJECT_GI_SOLDOUT) +/* 0x114 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_114) +/* 0x115 */ DEFINE_OBJECT(object_mag, OBJECT_MAG) +/* 0x116 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_116) +/* 0x117 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_117) +/* 0x118 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_118) +/* 0x119 */ DEFINE_OBJECT(object_gi_golonmask, OBJECT_GI_GOLONMASK) +/* 0x11A */ DEFINE_OBJECT(object_gi_zoramask, OBJECT_GI_ZORAMASK) +/* 0x11B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_11B) +/* 0x11C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_11C) +/* 0x11D */ DEFINE_OBJECT(object_ka, OBJECT_KA) +/* 0x11E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_11E) +/* 0x11F */ DEFINE_OBJECT(object_zg, OBJECT_ZG) +/* 0x120 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_120) +/* 0x121 */ DEFINE_OBJECT(object_gi_m_arrow, OBJECT_GI_M_ARROW) +/* 0x122 */ DEFINE_OBJECT(object_ds2, OBJECT_DS2) +/* 0x123 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_123) +/* 0x124 */ DEFINE_OBJECT(object_fish, OBJECT_FISH) +/* 0x125 */ DEFINE_OBJECT(object_gi_sutaru, OBJECT_GI_SUTARU) +/* 0x126 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_126) +/* 0x127 */ DEFINE_OBJECT(object_ssh, OBJECT_SSH) +/* 0x128 */ DEFINE_OBJECT(object_bigslime, OBJECT_BIGSLIME) +/* 0x129 */ DEFINE_OBJECT(object_bg, OBJECT_BG) +/* 0x12A */ DEFINE_OBJECT(object_bombiwa, OBJECT_BOMBIWA) +/* 0x12B */ DEFINE_OBJECT(object_hintnuts, OBJECT_HINTNUTS) +/* 0x12C */ DEFINE_OBJECT(object_rs, OBJECT_RS) +/* 0x12D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_12D) +/* 0x12E */ DEFINE_OBJECT(object_gla, OBJECT_GLA) +/* 0x12F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_12F) +/* 0x130 */ DEFINE_OBJECT(object_geldb, OBJECT_GELDB) +/* 0x131 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_131) +/* 0x132 */ DEFINE_OBJECT(object_dog, OBJECT_DOG) +/* 0x133 */ DEFINE_OBJECT(object_kibako2, OBJECT_KIBAKO2) +/* 0x134 */ DEFINE_OBJECT(object_dns, OBJECT_DNS) +/* 0x135 */ DEFINE_OBJECT(object_dnk, OBJECT_DNK) +/* 0x136 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_136) +/* 0x137 */ DEFINE_OBJECT(object_gi_insect, OBJECT_GI_INSECT) +/* 0x138 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_138) +/* 0x139 */ DEFINE_OBJECT(object_gi_ghost, OBJECT_GI_GHOST) +/* 0x13A */ DEFINE_OBJECT(object_gi_soul, OBJECT_GI_SOUL) +/* 0x13B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_13B) +/* 0x13C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_13C) +/* 0x13D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_13D) +/* 0x13E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_13E) +/* 0x13F */ DEFINE_OBJECT(object_gi_rupy, OBJECT_GI_RUPY) +/* 0x140 */ DEFINE_OBJECT(object_mu, OBJECT_MU) +/* 0x141 */ DEFINE_OBJECT(object_wf, OBJECT_WF) +/* 0x142 */ DEFINE_OBJECT(object_skb, OBJECT_SKB) +/* 0x143 */ DEFINE_OBJECT(object_gs, OBJECT_GS) +/* 0x144 */ DEFINE_OBJECT(object_ps, OBJECT_PS) +/* 0x145 */ DEFINE_OBJECT(object_omoya_obj, OBJECT_OMOYA_OBJ) +/* 0x146 */ DEFINE_OBJECT(object_cow, OBJECT_COW) +/* 0x147 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_147) +/* 0x148 */ DEFINE_OBJECT(object_gi_sword_1, OBJECT_GI_SWORD_1) +/* 0x149 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_149) +/* 0x14A */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_14A) +/* 0x14B */ DEFINE_OBJECT(object_zl4, OBJECT_ZL4) +/* 0x14C */ DEFINE_OBJECT(object_link_goron, OBJECT_LINK_GORON) +/* 0x14D */ DEFINE_OBJECT(object_link_zora, OBJECT_LINK_ZORA) +/* 0x14E */ DEFINE_OBJECT(object_grasshopper, OBJECT_GRASSHOPPER) +/* 0x14F */ DEFINE_OBJECT(object_boyo, OBJECT_BOYO) +/* 0x150 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_150) +/* 0x151 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_151) +/* 0x152 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_152) +/* 0x153 */ DEFINE_OBJECT(object_fwall, OBJECT_FWALL) +/* 0x154 */ DEFINE_OBJECT(object_link_nuts, OBJECT_LINK_NUTS) +/* 0x155 */ DEFINE_OBJECT(object_jso, OBJECT_JSO) +/* 0x156 */ DEFINE_OBJECT(object_knight, OBJECT_KNIGHT) +/* 0x157 */ DEFINE_OBJECT(object_icicle, OBJECT_ICICLE) +/* 0x158 */ DEFINE_OBJECT(object_spdweb, OBJECT_SPDWEB) +/* 0x159 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_159) +/* 0x15A */ DEFINE_OBJECT(object_boss01, OBJECT_BOSS01) +/* 0x15B */ DEFINE_OBJECT(object_boss02, OBJECT_BOSS02) +/* 0x15C */ DEFINE_OBJECT(object_boss03, OBJECT_BOSS03) +/* 0x15D */ DEFINE_OBJECT(object_boss04, OBJECT_BOSS04) +/* 0x15E */ DEFINE_OBJECT(object_boss05, OBJECT_BOSS05) +/* 0x15F */ DEFINE_OBJECT_SIZE_ZERO(object_boss07, OBJECT_UNSET_15F) // unused duplicate with size 0 +/* 0x160 */ DEFINE_OBJECT(object_boss07, OBJECT_BOSS07) +/* 0x161 */ DEFINE_OBJECT(object_raf, OBJECT_RAF) +/* 0x162 */ DEFINE_OBJECT(object_funen, OBJECT_FUNEN) +/* 0x163 */ DEFINE_OBJECT(object_raillift, OBJECT_RAILLIFT) +/* 0x164 */ DEFINE_OBJECT(object_numa_obj, OBJECT_NUMA_OBJ) +/* 0x165 */ DEFINE_OBJECT(object_flowerpot, OBJECT_FLOWERPOT) +/* 0x166 */ DEFINE_OBJECT(object_spinyroll, OBJECT_SPINYROLL) +/* 0x167 */ DEFINE_OBJECT(object_ice_block, OBJECT_ICE_BLOCK) +/* 0x168 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_168) +/* 0x169 */ DEFINE_OBJECT(object_keikoku_demo, OBJECT_KEIKOKU_DEMO) +/* 0x16A */ DEFINE_OBJECT(object_slime, OBJECT_SLIME) +/* 0x16B */ DEFINE_OBJECT(object_pr, OBJECT_PR) +/* 0x16C */ DEFINE_OBJECT(object_f52_obj, OBJECT_F52_OBJ) +/* 0x16D */ DEFINE_OBJECT(object_f53_obj, OBJECT_F53_OBJ) +/* 0x16E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_16E) +/* 0x16F */ DEFINE_OBJECT(object_kibako, OBJECT_KIBAKO) +/* 0x170 */ DEFINE_OBJECT(object_sek, OBJECT_SEK) +/* 0x171 */ DEFINE_OBJECT(object_gmo, OBJECT_GMO) +/* 0x172 */ DEFINE_OBJECT(object_bat, OBJECT_BAT) +/* 0x173 */ DEFINE_OBJECT(object_sekihil, OBJECT_SEKIHIL) +/* 0x174 */ DEFINE_OBJECT(object_sekihig, OBJECT_SEKIHIG) +/* 0x175 */ DEFINE_OBJECT(object_sekihin, OBJECT_SEKIHIN) +/* 0x176 */ DEFINE_OBJECT(object_sekihiz, OBJECT_SEKIHIZ) +/* 0x177 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_177) +/* 0x178 */ DEFINE_OBJECT(object_wiz, OBJECT_WIZ) +/* 0x179 */ DEFINE_OBJECT(object_ladder, OBJECT_LADDER) +/* 0x17A */ DEFINE_OBJECT(object_mkk, OBJECT_MKK) +/* 0x17B */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_17B) +/* 0x17C */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_17C) +/* 0x17D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_17D) +/* 0x17E */ DEFINE_OBJECT(object_keikoku_obj, OBJECT_KEIKOKU_OBJ) +/* 0x17F */ DEFINE_OBJECT(object_sichitai_obj, OBJECT_SICHITAI_OBJ) +/* 0x180 */ DEFINE_OBJECT(object_dekucity_ana_obj, OBJECT_DEKUCITY_ANA_OBJ) +/* 0x181 */ DEFINE_OBJECT(object_rat, OBJECT_RAT) +/* 0x182 */ DEFINE_OBJECT(object_water_effect, OBJECT_WATER_EFFECT) +/* 0x183 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_183) +/* 0x184 */ DEFINE_OBJECT(object_dblue_object, OBJECT_DBLUE_OBJECT) +/* 0x185 */ DEFINE_OBJECT(object_bal, OBJECT_BAL) +/* 0x186 */ DEFINE_OBJECT(object_warp_uzu, OBJECT_WARP_UZU) +/* 0x187 */ DEFINE_OBJECT(object_driftice, OBJECT_DRIFTICE) +/* 0x188 */ DEFINE_OBJECT(object_fall, OBJECT_FALL) +/* 0x189 */ DEFINE_OBJECT(object_hanareyama_obj, OBJECT_HANAREYAMA_OBJ) +/* 0x18A */ DEFINE_OBJECT(object_crace_object, OBJECT_CRACE_OBJECT) +/* 0x18B */ DEFINE_OBJECT(object_dno, OBJECT_DNO) +/* 0x18C */ DEFINE_OBJECT(object_obj_tokeidai, OBJECT_OBJ_TOKEIDAI) +/* 0x18D */ DEFINE_OBJECT(object_eg, OBJECT_EG) +/* 0x18E */ DEFINE_OBJECT(object_tru, OBJECT_TRU) +/* 0x18F */ DEFINE_OBJECT(object_trt, OBJECT_TRT) +/* 0x190 */ DEFINE_OBJECT(object_hakugin_obj, OBJECT_HAKUGIN_OBJ) +/* 0x191 */ DEFINE_OBJECT(object_horse_game_check, OBJECT_HORSE_GAME_CHECK) +/* 0x192 */ DEFINE_OBJECT(object_stk, OBJECT_STK) +/* 0x193 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_193) +/* 0x194 */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_194) +/* 0x195 */ DEFINE_OBJECT(object_mnk, OBJECT_MNK) +/* 0x196 */ DEFINE_OBJECT(object_gi_bottle_red, OBJECT_GI_BOTTLE_RED) +/* 0x197 */ DEFINE_OBJECT(object_tokei_tobira, OBJECT_TOKEI_TOBIRA) +/* 0x198 */ DEFINE_OBJECT(object_az, OBJECT_AZ) +/* 0x199 */ DEFINE_OBJECT(object_twig, OBJECT_TWIG) +/* 0x19A */ DEFINE_OBJECT(object_dekucity_obj, OBJECT_DEKUCITY_OBJ) +/* 0x19B */ DEFINE_OBJECT(object_po_fusen, OBJECT_PO_FUSEN) +/* 0x19C */ DEFINE_OBJECT(object_racetsubo, OBJECT_RACETSUBO) +/* 0x19D */ DEFINE_OBJECT(object_ha, OBJECT_HA) +/* 0x19E */ DEFINE_OBJECT(object_bigokuta, OBJECT_BIGOKUTA) +/* 0x19F */ DEFINE_OBJECT(object_open_obj, OBJECT_OPEN_OBJ) +/* 0x1A0 */ DEFINE_OBJECT(object_fu_kaiten, OBJECT_FU_KAITEN) +/* 0x1A1 */ DEFINE_OBJECT(object_fu_mato, OBJECT_FU_MATO) +/* 0x1A2 */ DEFINE_OBJECT(object_mtoride, OBJECT_MTORIDE) +/* 0x1A3 */ DEFINE_OBJECT(object_osn, OBJECT_OSN) +/* 0x1A4 */ DEFINE_OBJECT(object_tokei_step, OBJECT_TOKEI_STEP) +/* 0x1A5 */ DEFINE_OBJECT(object_lotus, OBJECT_LOTUS) +/* 0x1A6 */ DEFINE_OBJECT(object_tl, OBJECT_TL) +/* 0x1A7 */ DEFINE_OBJECT(object_dkjail_obj, OBJECT_DKJAIL_OBJ) +/* 0x1A8 */ DEFINE_OBJECT(object_visiblock, OBJECT_VISIBLOCK) +/* 0x1A9 */ DEFINE_OBJECT(object_tsn, OBJECT_TSN) +/* 0x1AA */ DEFINE_OBJECT(object_ds2n, OBJECT_DS2N) +/* 0x1AB */ DEFINE_OBJECT(object_fsn, OBJECT_FSN) +/* 0x1AC */ DEFINE_OBJECT(object_shn, OBJECT_SHN) +/* 0x1AD */ DEFINE_OBJECT(object_bigicicle, OBJECT_BIGICICLE) +/* 0x1AE */ DEFINE_OBJECT(object_gi_bottle_15, OBJECT_GI_BOTTLE_15) +/* 0x1AF */ DEFINE_OBJECT(object_tk, OBJECT_TK) +/* 0x1B0 */ DEFINE_OBJECT(object_market_obj, OBJECT_MARKET_OBJ) +/* 0x1B1 */ DEFINE_OBJECT(object_gi_reserve00, OBJECT_GI_RESERVE00) +/* 0x1B2 */ DEFINE_OBJECT(object_gi_reserve01, OBJECT_GI_RESERVE01) +/* 0x1B3 */ DEFINE_OBJECT(object_lightblock, OBJECT_LIGHTBLOCK) +/* 0x1B4 */ DEFINE_OBJECT(object_takaraya_objects, OBJECT_TAKARAYA_OBJECTS) +/* 0x1B5 */ DEFINE_OBJECT(object_wdhand, OBJECT_WDHAND) +/* 0x1B6 */ DEFINE_OBJECT(object_sdn, OBJECT_SDN) +/* 0x1B7 */ DEFINE_OBJECT(object_snowwd, OBJECT_SNOWWD) +/* 0x1B8 */ DEFINE_OBJECT(object_giant, OBJECT_GIANT) +/* 0x1B9 */ DEFINE_OBJECT(object_comb, OBJECT_COMB) +/* 0x1BA */ DEFINE_OBJECT(object_hana, OBJECT_HANA) +/* 0x1BB */ DEFINE_OBJECT(object_boss_hakugin, OBJECT_BOSS_HAKUGIN) +/* 0x1BC */ DEFINE_OBJECT(object_meganeana_obj, OBJECT_MEGANEANA_OBJ) +/* 0x1BD */ DEFINE_OBJECT(object_gi_nutsmask, OBJECT_GI_NUTSMASK) +/* 0x1BE */ DEFINE_OBJECT(object_stk2, OBJECT_STK2) +/* 0x1BF */ DEFINE_OBJECT(object_spot11_obj, OBJECT_SPOT11_OBJ) +/* 0x1C0 */ DEFINE_OBJECT(object_danpei_object, OBJECT_DANPEI_OBJECT) +/* 0x1C1 */ DEFINE_OBJECT(object_dhouse, OBJECT_DHOUSE) +/* 0x1C2 */ DEFINE_OBJECT(object_hakaisi, OBJECT_HAKAISI) +/* 0x1C3 */ DEFINE_OBJECT(object_po, OBJECT_PO) +/* 0x1C4 */ DEFINE_OBJECT(object_snowman, OBJECT_SNOWMAN) +/* 0x1C5 */ DEFINE_OBJECT(object_po_sisters, OBJECT_PO_SISTERS) +/* 0x1C6 */ DEFINE_OBJECT(object_pp, OBJECT_PP) +/* 0x1C7 */ DEFINE_OBJECT(object_goronswitch, OBJECT_GORONSWITCH) +/* 0x1C8 */ DEFINE_OBJECT(object_delf, OBJECT_DELF) +/* 0x1C9 */ DEFINE_OBJECT(object_botihasira, OBJECT_BOTIHASIRA) +/* 0x1CA */ DEFINE_OBJECT(object_gi_bigbomb, OBJECT_GI_BIGBOMB) +/* 0x1CB */ DEFINE_OBJECT(object_pst, OBJECT_PST) +/* 0x1CC */ DEFINE_OBJECT(object_bsmask, OBJECT_BSMASK) +/* 0x1CD */ DEFINE_OBJECT(object_spidertent, OBJECT_SPIDERTENT) +/* 0x1CE */ DEFINE_OBJECT(object_zoraegg, OBJECT_ZORAEGG) +/* 0x1CF */ DEFINE_OBJECT(object_kbt, OBJECT_KBT) +/* 0x1D0 */ DEFINE_OBJECT(object_gg, OBJECT_GG) +/* 0x1D1 */ DEFINE_OBJECT(object_maruta, OBJECT_MARUTA) +/* 0x1D2 */ DEFINE_OBJECT(object_ghaka, OBJECT_GHAKA) +/* 0x1D3 */ DEFINE_OBJECT(object_oyu, OBJECT_OYU) +/* 0x1D4 */ DEFINE_OBJECT(object_dnq, OBJECT_DNQ) +/* 0x1D5 */ DEFINE_OBJECT(object_dai, OBJECT_DAI) +/* 0x1D6 */ DEFINE_OBJECT(object_kgy, OBJECT_KGY) +/* 0x1D7 */ DEFINE_OBJECT(object_fb, OBJECT_FB) +/* 0x1D8 */ DEFINE_OBJECT(object_taisou, OBJECT_TAISOU) +/* 0x1D9 */ DEFINE_OBJECT(object_mask_bu_san, OBJECT_MASK_BU_SAN) +/* 0x1DA */ DEFINE_OBJECT(object_mask_ki_tan, OBJECT_MASK_KI_TAN) +/* 0x1DB */ DEFINE_OBJECT(object_mask_rabit, OBJECT_MASK_RABIT) +/* 0x1DC */ DEFINE_OBJECT(object_mask_skj, OBJECT_MASK_SKJ) +/* 0x1DD */ DEFINE_OBJECT(object_mask_bakuretu, OBJECT_MASK_BAKURETU) +/* 0x1DE */ DEFINE_OBJECT(object_mask_truth, OBJECT_MASK_TRUTH) +/* 0x1DF */ DEFINE_OBJECT(object_gk, OBJECT_GK) +/* 0x1E0 */ DEFINE_OBJECT(object_haka_obj, OBJECT_HAKA_OBJ) +/* 0x1E1 */ DEFINE_OBJECT(object_mask_goron, OBJECT_MASK_GORON) +/* 0x1E2 */ DEFINE_OBJECT(object_mask_zora, OBJECT_MASK_ZORA) +/* 0x1E3 */ DEFINE_OBJECT(object_mask_nuts, OBJECT_MASK_NUTS) +/* 0x1E4 */ DEFINE_OBJECT(object_mask_boy, OBJECT_MASK_BOY) +/* 0x1E5 */ DEFINE_OBJECT(object_dnt, OBJECT_DNT) +/* 0x1E6 */ DEFINE_OBJECT(object_yukiyama, OBJECT_YUKIYAMA) +/* 0x1E7 */ DEFINE_OBJECT(object_icefloe, OBJECT_ICEFLOE) +/* 0x1E8 */ DEFINE_OBJECT(object_gi_gold_dust, OBJECT_GI_GOLD_DUST) +/* 0x1E9 */ DEFINE_OBJECT(object_gi_bottle_16, OBJECT_GI_BOTTLE_16) +/* 0x1EA */ DEFINE_OBJECT(object_gi_bottle_22, OBJECT_GI_BOTTLE_22) +/* 0x1EB */ DEFINE_OBJECT(object_bee, OBJECT_BEE) +/* 0x1EC */ DEFINE_OBJECT(object_ot, OBJECT_OT) +/* 0x1ED */ DEFINE_OBJECT(object_utubo, OBJECT_UTUBO) +/* 0x1EE */ DEFINE_OBJECT(object_dora, OBJECT_DORA) +/* 0x1EF */ DEFINE_OBJECT(object_gi_loach, OBJECT_GI_LOACH) +/* 0x1F0 */ DEFINE_OBJECT(object_gi_seahorse, OBJECT_GI_SEAHORSE) +/* 0x1F1 */ DEFINE_OBJECT(object_bigpo, OBJECT_BIGPO) +/* 0x1F2 */ DEFINE_OBJECT(object_hariko, OBJECT_HARIKO) +/* 0x1F3 */ DEFINE_OBJECT(object_dnj, OBJECT_DNJ) +/* 0x1F4 */ DEFINE_OBJECT(object_sinkai_kabe, OBJECT_SINKAI_KABE) +/* 0x1F5 */ DEFINE_OBJECT(object_kin2_obj, OBJECT_KIN2_OBJ) +/* 0x1F6 */ DEFINE_OBJECT(object_ishi, OBJECT_ISHI) +/* 0x1F7 */ DEFINE_OBJECT(object_hakugin_demo, OBJECT_HAKUGIN_DEMO) +/* 0x1F8 */ DEFINE_OBJECT(object_jg, OBJECT_JG) +/* 0x1F9 */ DEFINE_OBJECT(object_gi_sword_2, OBJECT_GI_SWORD_2) +/* 0x1FA */ DEFINE_OBJECT(object_gi_sword_3, OBJECT_GI_SWORD_3) +/* 0x1FB */ DEFINE_OBJECT(object_gi_sword_4, OBJECT_GI_SWORD_4) +/* 0x1FC */ DEFINE_OBJECT(object_um, OBJECT_UM) +/* 0x1FD */ DEFINE_OBJECT(object_mask_gibudo, OBJECT_MASK_GIBUDO) +/* 0x1FE */ DEFINE_OBJECT(object_mask_json, OBJECT_MASK_JSON) +/* 0x1FF */ DEFINE_OBJECT(object_mask_kerfay, OBJECT_MASK_KERFAY) +/* 0x200 */ DEFINE_OBJECT(object_mask_bigelf, OBJECT_MASK_BIGELF) +/* 0x201 */ DEFINE_OBJECT(object_rb, OBJECT_RB) +/* 0x202 */ DEFINE_OBJECT(object_mbar_obj, OBJECT_MBAR_OBJ) +/* 0x203 */ DEFINE_OBJECT(object_ikana_obj, OBJECT_IKANA_OBJ) +/* 0x204 */ DEFINE_OBJECT(object_kz, OBJECT_KZ) +/* 0x205 */ DEFINE_OBJECT(object_tokei_turret, OBJECT_TOKEI_TURRET) +/* 0x206 */ DEFINE_OBJECT(object_zog, OBJECT_ZOG) +/* 0x207 */ DEFINE_OBJECT(object_rotlift, OBJECT_ROTLIFT) +/* 0x208 */ DEFINE_OBJECT(object_posthouse_obj, OBJECT_POSTHOUSE_OBJ) +/* 0x209 */ DEFINE_OBJECT(object_gi_mask09, OBJECT_GI_MASK09) +/* 0x20A */ DEFINE_OBJECT(object_gi_mask14, OBJECT_GI_MASK14) +/* 0x20B */ DEFINE_OBJECT(object_gi_mask15, OBJECT_GI_MASK15) +/* 0x20C */ DEFINE_OBJECT(object_inibs_object, OBJECT_INIBS_OBJECT) +/* 0x20D */ DEFINE_OBJECT(object_tree, OBJECT_TREE) +/* 0x20E */ DEFINE_OBJECT(object_kaizoku_obj, OBJECT_KAIZOKU_OBJ) +/* 0x20F */ DEFINE_OBJECT(object_gi_reserve_b_00, OBJECT_GI_RESERVE_B_00) +/* 0x210 */ DEFINE_OBJECT(object_gi_reserve_c_00, OBJECT_GI_RESERVE_C_00) +/* 0x211 */ DEFINE_OBJECT(object_zob, OBJECT_ZOB) +/* 0x212 */ DEFINE_OBJECT(object_milkbar, OBJECT_MILKBAR) +/* 0x213 */ DEFINE_OBJECT(object_dmask, OBJECT_DMASK) +/* 0x214 */ DEFINE_OBJECT(object_mask_kyojin, OBJECT_MASK_KYOJIN) +/* 0x215 */ DEFINE_OBJECT(object_gi_reserve_c_01, OBJECT_GI_RESERVE_C_01) +/* 0x216 */ DEFINE_OBJECT(object_zod, OBJECT_ZOD) +/* 0x217 */ DEFINE_OBJECT(object_kumo30, OBJECT_KUMO30) +/* 0x218 */ DEFINE_OBJECT(object_obj_yasi, OBJECT_OBJ_YASI) +/* 0x219 */ DEFINE_OBJECT(object_mask_romerny, OBJECT_MASK_ROMERNY) +/* 0x21A */ DEFINE_OBJECT(object_tanron1, OBJECT_TANRON1) +/* 0x21B */ DEFINE_OBJECT(object_tanron2, OBJECT_TANRON2) +/* 0x21C */ DEFINE_OBJECT(object_tanron3, OBJECT_TANRON3) +/* 0x21D */ DEFINE_OBJECT(object_gi_magicmushroom, OBJECT_GI_MAGICMUSHROOM) +/* 0x21E */ DEFINE_OBJECT(object_obj_chan, OBJECT_OBJ_CHAN) +/* 0x21F */ DEFINE_OBJECT(object_gi_mask10, OBJECT_GI_MASK10) +/* 0x220 */ DEFINE_OBJECT(object_zos, OBJECT_ZOS) +/* 0x221 */ DEFINE_OBJECT(object_mask_posthat, OBJECT_MASK_POSTHAT) +/* 0x222 */ DEFINE_OBJECT(object_f40_switch, OBJECT_F40_SWITCH) +/* 0x223 */ DEFINE_OBJECT(object_lodmoon, OBJECT_LODMOON) +/* 0x224 */ DEFINE_OBJECT(object_tro, OBJECT_TRO) +/* 0x225 */ DEFINE_OBJECT(object_gi_mask12, OBJECT_GI_MASK12) +/* 0x226 */ DEFINE_OBJECT(object_gi_mask23, OBJECT_GI_MASK23) +/* 0x227 */ DEFINE_OBJECT(object_gi_bottle_21, OBJECT_GI_BOTTLE_21) +/* 0x228 */ DEFINE_OBJECT(object_gi_camera, OBJECT_GI_CAMERA) +/* 0x229 */ DEFINE_OBJECT(object_kamejima, OBJECT_KAMEJIMA) +/* 0x22A */ DEFINE_OBJECT(object_harfgibud, OBJECT_HARFGIBUD) +/* 0x22B */ DEFINE_OBJECT(object_zov, OBJECT_ZOV) +/* 0x22C */ DEFINE_OBJECT(object_hgdoor, OBJECT_HGDOOR) +/* 0x22D */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_22D) +/* 0x22E */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_22E) +/* 0x22F */ DEFINE_OBJECT_UNSET(OBJECT_UNSET_22F) +/* 0x230 */ DEFINE_OBJECT(object_dor01, OBJECT_DOR01) +/* 0x231 */ DEFINE_OBJECT(object_dor02, OBJECT_DOR02) +/* 0x232 */ DEFINE_OBJECT(object_dor03, OBJECT_DOR03) +/* 0x233 */ DEFINE_OBJECT(object_dor04, OBJECT_DOR04) +/* 0x234 */ DEFINE_OBJECT(object_last_obj, OBJECT_LAST_OBJ) +/* 0x235 */ DEFINE_OBJECT(object_redead_obj, OBJECT_REDEAD_OBJ) +/* 0x236 */ DEFINE_OBJECT(object_ikninside_obj, OBJECT_IKNINSIDE_OBJ) +/* 0x237 */ DEFINE_OBJECT(object_iknv_obj, OBJECT_IKNV_OBJ) +/* 0x238 */ DEFINE_OBJECT(object_pamera, OBJECT_PAMERA) +/* 0x239 */ DEFINE_OBJECT(object_hsstump, OBJECT_HSSTUMP) +/* 0x23A */ DEFINE_OBJECT(object_zm, OBJECT_ZM) +/* 0x23B */ DEFINE_OBJECT(object_big_fwall, OBJECT_BIG_FWALL) +/* 0x23C */ DEFINE_OBJECT(object_secom_obj, OBJECT_SECOM_OBJ) +/* 0x23D */ DEFINE_OBJECT(object_hunsui, OBJECT_HUNSUI) +/* 0x23E */ DEFINE_OBJECT(object_uch, OBJECT_UCH) +/* 0x23F */ DEFINE_OBJECT(object_tanron4, OBJECT_TANRON4) +/* 0x240 */ DEFINE_OBJECT(object_tanron5, OBJECT_TANRON5) +/* 0x241 */ DEFINE_OBJECT(object_dt, OBJECT_DT) +/* 0x242 */ DEFINE_OBJECT(object_gi_mask03, OBJECT_GI_MASK03) +/* 0x243 */ DEFINE_OBJECT(object_cha, OBJECT_CHA) +/* 0x244 */ DEFINE_OBJECT(object_obj_dinner, OBJECT_OBJ_DINNER) +/* 0x245 */ DEFINE_OBJECT(object_gi_reserve_b_01, OBJECT_GI_RESERVE_B_01) +/* 0x246 */ DEFINE_OBJECT(object_lastday, OBJECT_LASTDAY) +/* 0x247 */ DEFINE_OBJECT(object_bai, OBJECT_BAI) +/* 0x248 */ DEFINE_OBJECT(object_in2, OBJECT_IN2) +/* 0x249 */ DEFINE_OBJECT(object_ikn_demo, OBJECT_IKN_DEMO) +/* 0x24A */ DEFINE_OBJECT(object_yb, OBJECT_YB) +/* 0x24B */ DEFINE_OBJECT(object_rz, OBJECT_RZ) +/* 0x24C */ DEFINE_OBJECT(object_mask_zacho, OBJECT_MASK_ZACHO) +/* 0x24D */ DEFINE_OBJECT(object_gi_fieldmap, OBJECT_GI_FIELDMAP) +/* 0x24E */ DEFINE_OBJECT(object_mask_stone, OBJECT_MASK_STONE) +/* 0x24F */ DEFINE_OBJECT(object_bjt, OBJECT_BJT) +/* 0x250 */ DEFINE_OBJECT(object_taru, OBJECT_TARU) +/* 0x251 */ DEFINE_OBJECT(object_moonston, OBJECT_MOONSTON) +/* 0x252 */ DEFINE_OBJECT(object_mask_bree, OBJECT_MASK_BREE) +/* 0x253 */ DEFINE_OBJECT(object_gi_schedule, OBJECT_GI_SCHEDULE) +/* 0x254 */ DEFINE_OBJECT(object_gi_stonemask, OBJECT_GI_STONEMASK) +/* 0x255 */ DEFINE_OBJECT(object_zoraband, OBJECT_ZORABAND) +/* 0x256 */ DEFINE_OBJECT(object_kepn_koya, OBJECT_KEPN_KOYA) +/* 0x257 */ DEFINE_OBJECT(object_obj_usiyane, OBJECT_OBJ_USIYANE) +/* 0x258 */ DEFINE_OBJECT(object_gi_mask05, OBJECT_GI_MASK05) +/* 0x259 */ DEFINE_OBJECT(object_gi_mask11, OBJECT_GI_MASK11) +/* 0x25A */ DEFINE_OBJECT(object_gi_mask20, OBJECT_GI_MASK20) +/* 0x25B */ DEFINE_OBJECT(object_nnh, OBJECT_NNH) +/* 0x25C */ DEFINE_OBJECT(object_mask_gero, OBJECT_MASK_GERO) +/* 0x25D */ DEFINE_OBJECT(object_mask_yofukasi, OBJECT_MASK_YOFUKASI) +/* 0x25E */ DEFINE_OBJECT(object_mask_meoto, OBJECT_MASK_MEOTO) +/* 0x25F */ DEFINE_OBJECT(object_mask_dancer, OBJECT_MASK_DANCER) +/* 0x260 */ DEFINE_OBJECT(object_kzsaku, OBJECT_KZSAKU) +/* 0x261 */ DEFINE_OBJECT(object_obj_milk_bin, OBJECT_OBJ_MILK_BIN) +/* 0x262 */ DEFINE_OBJECT(object_random_obj, OBJECT_RANDOM_OBJ) +/* 0x263 */ DEFINE_OBJECT(object_kujiya, OBJECT_KUJIYA) +/* 0x264 */ DEFINE_OBJECT(object_kitan, OBJECT_KITAN) +/* 0x265 */ DEFINE_OBJECT(object_gi_mask06, OBJECT_GI_MASK06) +/* 0x266 */ DEFINE_OBJECT(object_gi_mask16, OBJECT_GI_MASK16) +/* 0x267 */ DEFINE_OBJECT(object_astr_obj, OBJECT_ASTR_OBJ) +/* 0x268 */ DEFINE_OBJECT(object_bsb, OBJECT_BSB) +/* 0x269 */ DEFINE_OBJECT(object_fall2, OBJECT_FALL2) +/* 0x26A */ DEFINE_OBJECT(object_sth, OBJECT_STH) +/* 0x26B */ DEFINE_OBJECT(object_gi_mssa, OBJECT_GI_MSSA) +/* 0x26C */ DEFINE_OBJECT(object_smtower, OBJECT_SMTOWER) +/* 0x26D */ DEFINE_OBJECT(object_gi_mask21, OBJECT_GI_MASK21) +/* 0x26E */ DEFINE_OBJECT(object_yado_obj, OBJECT_YADO_OBJ) +/* 0x26F */ DEFINE_OBJECT(object_syoten, OBJECT_SYOTEN) +/* 0x270 */ DEFINE_OBJECT(object_moonend, OBJECT_MOONEND) +/* 0x271 */ DEFINE_OBJECT(object_ob, OBJECT_OB) +/* 0x272 */ DEFINE_OBJECT(object_gi_bottle_04, OBJECT_GI_BOTTLE_04) +/* 0x273 */ DEFINE_OBJECT(object_obj_danpeilift, OBJECT_OBJ_DANPEILIFT) +/* 0x274 */ DEFINE_OBJECT(object_wdor01, OBJECT_WDOR01) +/* 0x275 */ DEFINE_OBJECT(object_wdor02, OBJECT_WDOR02) +/* 0x276 */ DEFINE_OBJECT(object_wdor03, OBJECT_WDOR03) +/* 0x277 */ DEFINE_OBJECT(object_stk3, OBJECT_STK3) +/* 0x278 */ DEFINE_OBJECT(object_kinsta1_obj, OBJECT_KINSTA1_OBJ) +/* 0x279 */ DEFINE_OBJECT(object_kinsta2_obj, OBJECT_KINSTA2_OBJ) +/* 0x27A */ DEFINE_OBJECT(object_bh, OBJECT_BH) +/* 0x27B */ DEFINE_OBJECT(object_wdor04, OBJECT_WDOR04) +/* 0x27C */ DEFINE_OBJECT(object_wdor05, OBJECT_WDOR05) +/* 0x27D */ DEFINE_OBJECT(object_gi_mask17, OBJECT_GI_MASK17) +/* 0x27E */ DEFINE_OBJECT(object_gi_mask22, OBJECT_GI_MASK22) +/* 0x27F */ DEFINE_OBJECT(object_lbfshot, OBJECT_LBFSHOT) +/* 0x280 */ DEFINE_OBJECT(object_fusen, OBJECT_FUSEN) +/* 0x281 */ DEFINE_OBJECT(object_ending_obj, OBJECT_ENDING_OBJ) +/* 0x282 */ DEFINE_OBJECT(object_gi_mask13, OBJECT_GI_MASK13) diff --git a/include/variables.h b/include/variables.h index 201cbdc6a8..f12329143e 100644 --- a/include/variables.h +++ b/include/variables.h @@ -657,8 +657,11 @@ extern u8 gItemSlots[]; extern s16 gItemPrices[]; extern u16 gSceneIdsPerRegion[11][27]; extern u8 gPlayerFormItemRestrictions[PLAYER_FORM_MAX][114]; -extern s16 gPlayerFormObjectIndices[8]; -extern RomFile gObjectTable[643]; + +extern s16 gPlayerFormObjectIndices[PLAYER_FORM_MAX]; +extern ObjectId gObjectTableSize; +extern RomFile gObjectTable[OBJECT_ID_MAX]; + extern SceneTableEntry gSceneTable[]; extern UNK_PTR D_801C5C50; // extern UNK_TYPE1 D_801C5C9C; diff --git a/include/z64object.h b/include/z64object.h index e800e91389..7128268156 100644 --- a/include/z64object.h +++ b/include/z64object.h @@ -8,651 +8,17 @@ #define OBJECT_EXCHANGE_BANK_MAX 35 -typedef enum { - /* 0x000 */ OBJECT_UNSET_0, - /* 0x001 */ GAMEPLAY_KEEP, - /* 0x002 */ GAMEPLAY_FIELD_KEEP, - /* 0x003 */ GAMEPLAY_DANGEON_KEEP, - /* 0x004 */ OBJECT_NB, - /* 0x005 */ OBJECT_OKUTA, - /* 0x006 */ OBJECT_CROW, - /* 0x007 */ OBJECT_AH, - /* 0x008 */ OBJECT_DY_OBJ, - /* 0x009 */ OBJECT_WALLMASTER, - /* 0x00A */ OBJECT_DODONGO, - /* 0x00B */ OBJECT_FIREFLY, - /* 0x00C */ OBJECT_BOX, - /* 0x00D */ OBJECT_AL, - /* 0x00E */ OBJECT_BUBBLE, - /* 0x00F */ OBJECT_NIW, - /* 0x010 */ OBJECT_LINK_BOY, - /* 0x011 */ OBJECT_LINK_CHILD, - /* 0x012 */ OBJECT_TITE, - /* 0x013 */ OBJECT_TAB, - /* 0x014 */ OBJECT_PH, - /* 0x015 */ OBJECT_AND, - /* 0x016 */ OBJECT_MSMO, - /* 0x017 */ OBJECT_DINOFOS, - /* 0x018 */ OBJECT_DRS, - /* 0x019 */ OBJECT_ZL1, - /* 0x01A */ OBJECT_AN4, - /* 0x01B */ OBJECT_UNSET_1B, - /* 0x01C */ OBJECT_TEST3, - /* 0x01D */ OBJECT_FAMOS, - /* 0x01E */ OBJECT_UNSET_1E, - /* 0x01F */ OBJECT_UNSET_1F, - /* 0x020 */ OBJECT_ST, - /* 0x021 */ OBJECT_UNSET_21, - /* 0x022 */ OBJECT_THIEFBIRD, - /* 0x023 */ OBJECT_UNSET_23, - /* 0x024 */ OBJECT_UNSET_24, - /* 0x025 */ OBJECT_UNSET_25, - /* 0x026 */ OBJECT_UNSET_26, - /* 0x027 */ OBJECT_UNSET_27, - /* 0x028 */ OBJECT_UNSET_28, - /* 0x029 */ OBJECT_UNSET_29, - /* 0x02A */ OBJECT_BOMBF, - /* 0x02B */ OBJECT_UNSET_2B, - /* 0x02C */ OBJECT_UNSET_2C, - /* 0x02D */ OBJECT_UNSET_2D, - /* 0x02E */ OBJECT_UNSET_2E, - /* 0x02F */ OBJECT_UNSET_2F, - /* 0x030 */ OBJECT_AM, - /* 0x031 */ OBJECT_DEKUBABA, - /* 0x032 */ OBJECT_UNSET_32, - /* 0x033 */ OBJECT_UNSET_33, - /* 0x034 */ OBJECT_UNSET_34, - /* 0x035 */ OBJECT_UNSET_35, - /* 0x036 */ OBJECT_UNSET_36, - /* 0x037 */ OBJECT_UNSET_37, - /* 0x038 */ OBJECT_UNSET_38, - /* 0x039 */ OBJECT_UNSET_39, - /* 0x03A */ OBJECT_UNSET_3A, - /* 0x03B */ OBJECT_UNSET_3B, - /* 0x03C */ OBJECT_UNSET_3C, - /* 0x03D */ OBJECT_UNSET_3D, - /* 0x03E */ OBJECT_WARP1, - /* 0x03F */ OBJECT_B_HEART, - /* 0x040 */ OBJECT_DEKUNUTS, - /* 0x041 */ OBJECT_UNSET_41, - /* 0x042 */ OBJECT_UNSET_42, - /* 0x043 */ OBJECT_UNSET_43, - /* 0x044 */ OBJECT_UNSET_44, - /* 0x045 */ OBJECT_UNSET_45, - /* 0x046 */ OBJECT_UNSET_46, - /* 0x047 */ OBJECT_UNSET_47, - /* 0x048 */ OBJECT_UNSET_48, - /* 0x049 */ OBJECT_UNSET_49, - /* 0x04A */ OBJECT_UNSET_4A, - /* 0x04B */ OBJECT_UNSET_4B, - /* 0x04C */ OBJECT_UNSET_4C, - /* 0x04D */ OBJECT_UNSET_4D, - /* 0x04E */ OBJECT_UNSET_4E, - /* 0x04F */ OBJECT_UNSET_4F, - /* 0x050 */ OBJECT_UNSET_50, - /* 0x051 */ OBJECT_BB, - /* 0x052 */ OBJECT_DEATH, - /* 0x053 */ OBJECT_UNSET_53, - /* 0x054 */ OBJECT_UNSET_54, - /* 0x055 */ OBJECT_UNSET_55, - /* 0x056 */ OBJECT_UNSET_56, - /* 0x057 */ OBJECT_UNSET_57, - /* 0x058 */ OBJECT_UNSET_58, - /* 0x059 */ OBJECT_UNSET_59, - /* 0x05A */ OBJECT_UNSET_5A, - /* 0x05B */ OBJECT_UNSET_5B, - /* 0x05C */ OBJECT_F40_OBJ, - /* 0x05D */ OBJECT_PO_COMPOSER, - /* 0x05E */ OBJECT_UNSET_5E, - /* 0x05F */ OBJECT_HATA, - /* 0x060 */ OBJECT_UNSET_60, - /* 0x061 */ OBJECT_WOOD02, - /* 0x062 */ OBJECT_UNSET_62, - /* 0x063 */ OBJECT_UNSET_63, - /* 0x064 */ OBJECT_TRAP, - /* 0x065 */ OBJECT_UNSET_65, - /* 0x066 */ OBJECT_UNSET_66, - /* 0x067 */ OBJECT_UNSET_67, - /* 0x068 */ OBJECT_UNSET_68, - /* 0x069 */ OBJECT_UNSET_69, - /* 0x06A */ OBJECT_VM, - /* 0x06B */ OBJECT_UNSET_6B, - /* 0x06C */ OBJECT_UNSET_6C, - /* 0x06D */ OBJECT_UNSET_6D, - /* 0x06E */ OBJECT_UNSET_6E, - /* 0x06F */ OBJECT_UNSET_6F, - /* 0x070 */ OBJECT_EFC_STAR_FIELD, - /* 0x071 */ OBJECT_UNSET_71, - /* 0x072 */ OBJECT_UNSET_72, - /* 0x073 */ OBJECT_UNSET_73, - /* 0x074 */ OBJECT_UNSET_74, - /* 0x075 */ OBJECT_RD, - /* 0x076 */ OBJECT_YUKIMURA_OBJ, - /* 0x077 */ OBJECT_HEAVY_OBJECT, - /* 0x078 */ OBJECT_UNSET_78, - /* 0x079 */ OBJECT_UNSET_79, - /* 0x07A */ OBJECT_UNSET_7A, - /* 0x07B */ OBJECT_UNSET_7B, - /* 0x07C */ OBJECT_UNSET_7C, - /* 0x07D */ OBJECT_HORSE_LINK_CHILD, - /* 0x07E */ OBJECT_UNSET_7E, - /* 0x07F */ OBJECT_UNSET_7F, - /* 0x080 */ OBJECT_SYOKUDAI, - /* 0x081 */ OBJECT_UNSET_81, - /* 0x082 */ OBJECT_UNSET_82, - /* 0x083 */ OBJECT_UNSET_83, - /* 0x084 */ OBJECT_EFC_TW, - /* 0x085 */ OBJECT_UNSET_85, - /* 0x086 */ OBJECT_GI_KEY, - /* 0x087 */ OBJECT_MIR_RAY, - /* 0x088 */ OBJECT_CTOWER_ROT, - /* 0x089 */ OBJECT_UNSET_89, - /* 0x08A */ OBJECT_BDOOR, - /* 0x08B */ OBJECT_UNSET_8B, - /* 0x08C */ OBJECT_UNSET_8C, - /* 0x08D */ OBJECT_UNSET_8D, - /* 0x08E */ OBJECT_SB, - /* 0x08F */ OBJECT_GI_MELODY, - /* 0x090 */ OBJECT_GI_HEART, - /* 0x091 */ OBJECT_GI_COMPASS, - /* 0x092 */ OBJECT_GI_BOSSKEY, - /* 0x093 */ OBJECT_UNSET_93, - /* 0x094 */ OBJECT_GI_NUTS, - /* 0x095 */ OBJECT_UNSET_95, - /* 0x096 */ OBJECT_GI_HEARTS, - /* 0x097 */ OBJECT_GI_ARROWCASE, - /* 0x098 */ OBJECT_GI_BOMBPOUCH, - /* 0x099 */ OBJECT_IN, - /* 0x09A */ OBJECT_UNSET_9A, - /* 0x09B */ OBJECT_UNSET_9B, - /* 0x09C */ OBJECT_UNSET_9C, - /* 0x09D */ OBJECT_OS_ANIME, - /* 0x09E */ OBJECT_GI_BOTTLE, - /* 0x09F */ OBJECT_GI_STICK, - /* 0x0A0 */ OBJECT_GI_MAP, - /* 0x0A1 */ OBJECT_OF1D_MAP, - /* 0x0A2 */ OBJECT_RU2, - /* 0x0A3 */ OBJECT_UNSET_A3, - /* 0x0A4 */ OBJECT_GI_MAGICPOT, - /* 0x0A5 */ OBJECT_GI_BOMB_1, - /* 0x0A6 */ OBJECT_UNSET_A6, - /* 0x0A7 */ OBJECT_MA2, - /* 0x0A8 */ OBJECT_GI_PURSE, - /* 0x0A9 */ OBJECT_UNSET_A9, - /* 0x0AA */ OBJECT_UNSET_AA, - /* 0x0AB */ OBJECT_RR, - /* 0x0AC */ OBJECT_UNSET_AC, - /* 0x0AD */ OBJECT_UNSET_AD, - /* 0x0AE */ OBJECT_UNSET_AE, - /* 0x0AF */ OBJECT_GI_ARROW, - /* 0x0B0 */ OBJECT_GI_BOMB_2, - /* 0x0B1 */ OBJECT_UNSET_B1, - /* 0x0B2 */ OBJECT_UNSET_B2, - /* 0x0B3 */ OBJECT_GI_SHIELD_2, - /* 0x0B4 */ OBJECT_GI_HOOKSHOT, - /* 0x0B5 */ OBJECT_GI_OCARINA, - /* 0x0B6 */ OBJECT_GI_MILK, - /* 0x0B7 */ OBJECT_MA1, - /* 0x0B8 */ OBJECT_UNSET_B8, - /* 0x0B9 */ OBJECT_UNSET_B9, - /* 0x0BA */ OBJECT_UNSET_BA, - /* 0x0BB */ OBJECT_NY, - /* 0x0BC */ OBJECT_FR, - /* 0x0BD */ OBJECT_UNSET_BD, - /* 0x0BE */ OBJECT_UNSET_BE, - /* 0x0BF */ OBJECT_GI_BOW, - /* 0x0C0 */ OBJECT_GI_GLASSES, - /* 0x0C1 */ OBJECT_GI_LIQUID, - /* 0x0C2 */ OBJECT_ANI, - /* 0x0C3 */ OBJECT_GI_SHIELD_3, - /* 0x0C4 */ OBJECT_UNSET_C4, - /* 0x0C5 */ OBJECT_UNSET_C5, - /* 0x0C6 */ OBJECT_GI_BEAN, - /* 0x0C7 */ OBJECT_GI_FISH, - /* 0x0C8 */ OBJECT_UNSET_C8, - /* 0x0C9 */ OBJECT_UNSET_C9, - /* 0x0CA */ OBJECT_UNSET_CA, - /* 0x0CB */ OBJECT_GI_LONGSWORD, - /* 0x0CC */ OBJECT_UNSET_CC, - /* 0x0CD */ OBJECT_UNSET_CD, - /* 0x0CE */ OBJECT_UNSET_CE, - /* 0x0CF */ OBJECT_UNSET_CF, - /* 0x0D0 */ OBJECT_ZO, - /* 0x0D1 */ OBJECT_UNSET_D1, - /* 0x0D2 */ OBJECT_UMAJUMP, - /* 0x0D3 */ OBJECT_UNSET_D3, - /* 0x0D4 */ OBJECT_UNSET_D4, - /* 0x0D5 */ OBJECT_MASTERGOLON, - /* 0x0D6 */ OBJECT_MASTERZOORA, - /* 0x0D7 */ OBJECT_AOB, - /* 0x0D8 */ OBJECT_IK, - /* 0x0D9 */ OBJECT_AHG, - /* 0x0DA */ OBJECT_CNE, - /* 0x0DB */ OBJECT_UNSET_DB, - /* 0x0DC */ OBJECT_UNSET_DC, - /* 0x0DD */ OBJECT_AN3, - /* 0x0DE */ OBJECT_BJI, - /* 0x0DF */ OBJECT_BBA, - /* 0x0E0 */ OBJECT_AN2, - /* 0x0E1 */ OBJECT_UNSET_E1, - /* 0x0E2 */ OBJECT_AN1, - /* 0x0E3 */ OBJECT_BOJ, - /* 0x0E4 */ OBJECT_FZ, - /* 0x0E5 */ OBJECT_BOB, - /* 0x0E6 */ OBJECT_GE1, - /* 0x0E7 */ OBJECT_YABUSAME_POINT, - /* 0x0E8 */ OBJECT_UNSET_E8, - /* 0x0E9 */ OBJECT_UNSET_E9, - /* 0x0EA */ OBJECT_UNSET_EA, - /* 0x0EB */ OBJECT_UNSET_EB, - /* 0x0EC */ OBJECT_D_HSBLOCK, - /* 0x0ED */ OBJECT_D_LIFT, - /* 0x0EE */ OBJECT_MAMENOKI, - /* 0x0EF */ OBJECT_GOROIWA, - /* 0x0F0 */ OBJECT_TORYO, - /* 0x0F1 */ OBJECT_DAIKU, - /* 0x0F2 */ OBJECT_NWC, - /* 0x0F3 */ OBJECT_GM, - /* 0x0F4 */ OBJECT_MS, - /* 0x0F5 */ OBJECT_HS, - /* 0x0F6 */ OBJECT_UNSET_F6, - /* 0x0F7 */ OBJECT_LIGHTSWITCH, - /* 0x0F8 */ OBJECT_KUSA, - /* 0x0F9 */ OBJECT_TSUBO, - /* 0x0FA */ OBJECT_UNSET_FA, - /* 0x0FB */ OBJECT_UNSET_FB, - /* 0x0FC */ OBJECT_KANBAN, - /* 0x0FD */ OBJECT_OWL, - /* 0x0FE */ OBJECT_MK, - /* 0x0FF */ OBJECT_FU, - /* 0x100 */ OBJECT_GI_KI_TAN_MASK, - /* 0x101 */ OBJECT_UNSET_101, - /* 0x102 */ OBJECT_GI_MASK18, - /* 0x103 */ OBJECT_GI_RABIT_MASK, - /* 0x104 */ OBJECT_GI_TRUTH_MASK, - /* 0x105 */ OBJECT_UNSET_105, - /* 0x106 */ OBJECT_STREAM, - /* 0x107 */ OBJECT_MM, - /* 0x108 */ OBJECT_UNSET_108, - /* 0x109 */ OBJECT_UNSET_109, - /* 0x10A */ OBJECT_UNSET_10A, - /* 0x10B */ OBJECT_UNSET_10B, - /* 0x10C */ OBJECT_UNSET_10C, - /* 0x10D */ OBJECT_UNSET_10D, - /* 0x10E */ OBJECT_UNSET_10E, - /* 0x10F */ OBJECT_JS, - /* 0x110 */ OBJECT_CS, - /* 0x111 */ OBJECT_UNSET_111, - /* 0x112 */ OBJECT_UNSET_112, - /* 0x113 */ OBJECT_GI_SOLDOUT, - /* 0x114 */ OBJECT_UNSET_114, - /* 0x115 */ OBJECT_MAG, - /* 0x116 */ OBJECT_UNSET_116, - /* 0x117 */ OBJECT_UNSET_117, - /* 0x118 */ OBJECT_UNSET_118, - /* 0x119 */ OBJECT_GI_GOLONMASK, - /* 0x11A */ OBJECT_GI_ZORAMASK, - /* 0x11B */ OBJECT_UNSET_11B, - /* 0x11C */ OBJECT_UNSET_11C, - /* 0x11D */ OBJECT_KA, - /* 0x11E */ OBJECT_UNSET_11E, - /* 0x11F */ OBJECT_ZG, - /* 0x120 */ OBJECT_UNSET_120, - /* 0x121 */ OBJECT_GI_M_ARROW, - /* 0x122 */ OBJECT_DS2, - /* 0x123 */ OBJECT_UNSET_123, - /* 0x124 */ OBJECT_FISH, - /* 0x125 */ OBJECT_GI_SUTARU, - /* 0x126 */ OBJECT_UNSET_126, - /* 0x127 */ OBJECT_SSH, - /* 0x128 */ OBJECT_BIGSLIME, - /* 0x129 */ OBJECT_BG, - /* 0x12A */ OBJECT_BOMBIWA, - /* 0x12B */ OBJECT_HINTNUTS, - /* 0x12C */ OBJECT_RS, - /* 0x12D */ OBJECT_UNSET_12D, - /* 0x12E */ OBJECT_GLA, - /* 0x12F */ OBJECT_UNSET_12F, - /* 0x130 */ OBJECT_GELDB, - /* 0x131 */ OBJECT_UNSET_131, - /* 0x132 */ OBJECT_DOG, - /* 0x133 */ OBJECT_KIBAKO2, - /* 0x134 */ OBJECT_DNS, - /* 0x135 */ OBJECT_DNK, - /* 0x136 */ OBJECT_UNSET_136, - /* 0x137 */ OBJECT_GI_INSECT, - /* 0x138 */ OBJECT_UNSET_138, - /* 0x139 */ OBJECT_GI_GHOST, - /* 0x13A */ OBJECT_GI_SOUL, - /* 0x13B */ OBJECT_UNSET_13B, - /* 0x13C */ OBJECT_UNSET_13C, - /* 0x13D */ OBJECT_UNSET_13D, - /* 0x13E */ OBJECT_UNSET_13E, - /* 0x13F */ OBJECT_GI_RUPY, - /* 0x140 */ OBJECT_MU, - /* 0x141 */ OBJECT_WF, - /* 0x142 */ OBJECT_SKB, - /* 0x143 */ OBJECT_GS, - /* 0x144 */ OBJECT_PS, - /* 0x145 */ OBJECT_OMOYA_OBJ, - /* 0x146 */ OBJECT_COW, - /* 0x147 */ OBJECT_UNSET_147, - /* 0x148 */ OBJECT_GI_SWORD_1, - /* 0x149 */ OBJECT_UNSET_149, - /* 0x14A */ OBJECT_UNSET_14A, - /* 0x14B */ OBJECT_ZL4, - /* 0x14C */ OBJECT_LINK_GORON, - /* 0x14D */ OBJECT_LINK_ZORA, - /* 0x14E */ OBJECT_GRASSHOPPER, - /* 0x14F */ OBJECT_BOYO, - /* 0x150 */ OBJECT_UNSET_150, - /* 0x151 */ OBJECT_UNSET_151, - /* 0x152 */ OBJECT_UNSET_152, - /* 0x153 */ OBJECT_FWALL, - /* 0x154 */ OBJECT_LINK_NUTS, - /* 0x155 */ OBJECT_JSO, - /* 0x156 */ OBJECT_KNIGHT, - /* 0x157 */ OBJECT_ICICLE, - /* 0x158 */ OBJECT_SPDWEB, - /* 0x159 */ OBJECT_UNSET_159, - /* 0x15A */ OBJECT_BOSS01, - /* 0x15B */ OBJECT_BOSS02, - /* 0x15C */ OBJECT_BOSS03, - /* 0x15D */ OBJECT_BOSS04, - /* 0x15E */ OBJECT_BOSS05, - /* 0x15F */ OBJECT_BOSS06, - /* 0x160 */ OBJECT_BOSS07, - /* 0x161 */ OBJECT_RAF, - /* 0x162 */ OBJECT_FUNEN, - /* 0x163 */ OBJECT_RAILLIFT, - /* 0x164 */ OBJECT_NUMA_OBJ, - /* 0x165 */ OBJECT_FLOWERPOT, - /* 0x166 */ OBJECT_SPINYROLL, - /* 0x167 */ OBJECT_ICE_BLOCK, - /* 0x168 */ OBJECT_UNSET_168, - /* 0x169 */ OBJECT_KEIKOKU_DEMO, - /* 0x16A */ OBJECT_SLIME, - /* 0x16B */ OBJECT_PR, - /* 0x16C */ OBJECT_F52_OBJ, - /* 0x16D */ OBJECT_F53_OBJ, - /* 0x16E */ OBJECT_UNSET_16E, - /* 0x16F */ OBJECT_KIBAKO, - /* 0x170 */ OBJECT_SEK, - /* 0x171 */ OBJECT_GMO, - /* 0x172 */ OBJECT_BAT, - /* 0x173 */ OBJECT_SEKIHIL, - /* 0x174 */ OBJECT_SEKIHIG, - /* 0x175 */ OBJECT_SEKIHIN, - /* 0x176 */ OBJECT_SEKIHIZ, - /* 0x177 */ OBJECT_UNSET_177, - /* 0x178 */ OBJECT_WIZ, - /* 0x179 */ OBJECT_LADDER, - /* 0x17A */ OBJECT_MKK, - /* 0x17B */ OBJECT_UNSET_17B, - /* 0x17C */ OBJECT_UNSET_17C, - /* 0x17D */ OBJECT_UNSET_17D, - /* 0x17E */ OBJECT_KEIKOKU_OBJ, - /* 0x17F */ OBJECT_SICHITAI_OBJ, - /* 0x180 */ OBJECT_DEKUCITY_ANA_OBJ, - /* 0x181 */ OBJECT_RAT, - /* 0x182 */ OBJECT_WATER_EFFECT, - /* 0x183 */ OBJECT_UNSET_183, - /* 0x184 */ OBJECT_DBLUE_OBJECT, - /* 0x185 */ OBJECT_BAL, - /* 0x186 */ OBJECT_WARP_UZU, - /* 0x187 */ OBJECT_DRIFTICE, - /* 0x188 */ OBJECT_FALL, - /* 0x189 */ OBJECT_HANAREYAMA_OBJ, - /* 0x18A */ OBJECT_CRACE_OBJECT, - /* 0x18B */ OBJECT_DNO, - /* 0x18C */ OBJECT_OBJ_TOKEIDAI, - /* 0x18D */ OBJECT_EG, - /* 0x18E */ OBJECT_TRU, - /* 0x18F */ OBJECT_TRT, - /* 0x190 */ OBJECT_HAKUGIN_OBJ, - /* 0x191 */ OBJECT_HORSE_GAME_CHECK, - /* 0x192 */ OBJECT_STK, - /* 0x193 */ OBJECT_UNSET_193, - /* 0x194 */ OBJECT_UNSET_194, - /* 0x195 */ OBJECT_MNK, - /* 0x196 */ OBJECT_GI_BOTTLE_RED, - /* 0x197 */ OBJECT_TOKEI_TOBIRA, - /* 0x198 */ OBJECT_AZ, - /* 0x199 */ OBJECT_TWIG, - /* 0x19A */ OBJECT_DEKUCITY_OBJ, - /* 0x19B */ OBJECT_PO_FUSEN, - /* 0x19C */ OBJECT_RACETSUBO, - /* 0x19D */ OBJECT_HA, - /* 0x19E */ OBJECT_BIGOKUTA, - /* 0x19F */ OBJECT_OPEN_OBJ, - /* 0x1A0 */ OBJECT_FU_KAITEN, - /* 0x1A1 */ OBJECT_FU_MATO, - /* 0x1A2 */ OBJECT_MTORIDE, - /* 0x1A3 */ OBJECT_OSN, - /* 0x1A4 */ OBJECT_TOKEI_STEP, - /* 0x1A5 */ OBJECT_LOTUS, - /* 0x1A6 */ OBJECT_TL, - /* 0x1A7 */ OBJECT_DKJAIL_OBJ, - /* 0x1A8 */ OBJECT_VISIBLOCK, - /* 0x1A9 */ OBJECT_TSN, - /* 0x1AA */ OBJECT_DS2N, - /* 0x1AB */ OBJECT_FSN, - /* 0x1AC */ OBJECT_SHN, - /* 0x1AD */ OBJECT_BIGICICLE, - /* 0x1AE */ OBJECT_GI_BOTTLE_15, - /* 0x1AF */ OBJECT_TK, - /* 0x1B0 */ OBJECT_MARKET_OBJ, - /* 0x1B1 */ OBJECT_GI_RESERVE00, - /* 0x1B2 */ OBJECT_GI_RESERVE01, - /* 0x1B3 */ OBJECT_LIGHTBLOCK, - /* 0x1B4 */ OBJECT_TAKARAYA_OBJECTS, - /* 0x1B5 */ OBJECT_WDHAND, - /* 0x1B6 */ OBJECT_SDN, - /* 0x1B7 */ OBJECT_SNOWWD, - /* 0x1B8 */ OBJECT_GIANT, - /* 0x1B9 */ OBJECT_COMB, - /* 0x1BA */ OBJECT_HANA, - /* 0x1BB */ OBJECT_BOSS_HAKUGIN, - /* 0x1BC */ OBJECT_MEGANEANA_OBJ, - /* 0x1BD */ OBJECT_GI_NUTSMASK, - /* 0x1BE */ OBJECT_STK2, - /* 0x1BF */ OBJECT_SPOT11_OBJ, - /* 0x1C0 */ OBJECT_DANPEI_OBJECT, - /* 0x1C1 */ OBJECT_DHOUSE, - /* 0x1C2 */ OBJECT_HAKAISI, - /* 0x1C3 */ OBJECT_PO, - /* 0x1C4 */ OBJECT_SNOWMAN, - /* 0x1C5 */ OBJECT_PO_SISTERS, - /* 0x1C6 */ OBJECT_PP, - /* 0x1C7 */ OBJECT_GORONSWITCH, - /* 0x1C8 */ OBJECT_DELF, - /* 0x1C9 */ OBJECT_BOTIHASIRA, - /* 0x1CA */ OBJECT_GI_BIGBOMB, - /* 0x1CB */ OBJECT_PST, - /* 0x1CC */ OBJECT_BSMASK, - /* 0x1CD */ OBJECT_SPIDERTENT, - /* 0x1CE */ OBJECT_ZORAEGG, - /* 0x1CF */ OBJECT_KBT, - /* 0x1D0 */ OBJECT_GG, - /* 0x1D1 */ OBJECT_MARUTA, - /* 0x1D2 */ OBJECT_GHAKA, - /* 0x1D3 */ OBJECT_OYU, - /* 0x1D4 */ OBJECT_DNQ, - /* 0x1D5 */ OBJECT_DAI, - /* 0x1D6 */ OBJECT_KGY, - /* 0x1D7 */ OBJECT_FB, - /* 0x1D8 */ OBJECT_TAISOU, - /* 0x1D9 */ OBJECT_MASK_BU_SAN, - /* 0x1DA */ OBJECT_MASK_KI_TAN, - /* 0x1DB */ OBJECT_MASK_RABIT, - /* 0x1DC */ OBJECT_MASK_SKJ, - /* 0x1DD */ OBJECT_MASK_BAKURETU, - /* 0x1DE */ OBJECT_MASK_TRUTH, - /* 0x1DF */ OBJECT_GK, - /* 0x1E0 */ OBJECT_HAKA_OBJ, - /* 0x1E1 */ OBJECT_MASK_GORON, - /* 0x1E2 */ OBJECT_MASK_ZORA, - /* 0x1E3 */ OBJECT_MASK_NUTS, - /* 0x1E4 */ OBJECT_MASK_BOY, - /* 0x1E5 */ OBJECT_DNT, - /* 0x1E6 */ OBJECT_YUKIYAMA, - /* 0x1E7 */ OBJECT_ICEFLOE, - /* 0x1E8 */ OBJECT_GI_GOLD_DUST, - /* 0x1E9 */ OBJECT_GI_BOTTLE_16, - /* 0x1EA */ OBJECT_GI_BOTTLE_22, - /* 0x1EB */ OBJECT_BEE, - /* 0x1EC */ OBJECT_OT, - /* 0x1ED */ OBJECT_UTUBO, - /* 0x1EE */ OBJECT_DORA, - /* 0x1EF */ OBJECT_GI_LOACH, - /* 0x1F0 */ OBJECT_GI_SEAHORSE, - /* 0x1F1 */ OBJECT_BIGPO, - /* 0x1F2 */ OBJECT_HARIKO, - /* 0x1F3 */ OBJECT_DNJ, - /* 0x1F4 */ OBJECT_SINKAI_KABE, - /* 0x1F5 */ OBJECT_KIN2_OBJ, - /* 0x1F6 */ OBJECT_ISHI, - /* 0x1F7 */ OBJECT_HAKUGIN_DEMO, - /* 0x1F8 */ OBJECT_JG, - /* 0x1F9 */ OBJECT_GI_SWORD_2, - /* 0x1FA */ OBJECT_GI_SWORD_3, - /* 0x1FB */ OBJECT_GI_SWORD_4, - /* 0x1FC */ OBJECT_UM, - /* 0x1FD */ OBJECT_MASK_GIBUDO, - /* 0x1FE */ OBJECT_MASK_JSON, - /* 0x1FF */ OBJECT_MASK_KERFAY, - /* 0x200 */ OBJECT_MASK_BIGELF, - /* 0x201 */ OBJECT_RB, - /* 0x202 */ OBJECT_MBAR_OBJ, - /* 0x203 */ OBJECT_IKANA_OBJ, - /* 0x204 */ OBJECT_KZ, - /* 0x205 */ OBJECT_TOKEI_TURRET, - /* 0x206 */ OBJECT_ZOG, - /* 0x207 */ OBJECT_ROTLIFT, - /* 0x208 */ OBJECT_POSTHOUSE_OBJ, - /* 0x209 */ OBJECT_GI_MASK09, - /* 0x20A */ OBJECT_GI_MASK14, - /* 0x20B */ OBJECT_GI_MASK15, - /* 0x20C */ OBJECT_INIBS_OBJECT, - /* 0x20D */ OBJECT_TREE, - /* 0x20E */ OBJECT_KAIZOKU_OBJ, - /* 0x20F */ OBJECT_GI_RESERVE_B_00, - /* 0x210 */ OBJECT_GI_RESERVE_C_00, - /* 0x211 */ OBJECT_ZOB, - /* 0x212 */ OBJECT_MILKBAR, - /* 0x213 */ OBJECT_DMASK, - /* 0x214 */ OBJECT_MASK_KYOJIN, - /* 0x215 */ OBJECT_GI_RESERVE_C_01, - /* 0x216 */ OBJECT_ZOD, - /* 0x217 */ OBJECT_KUMO30, - /* 0x218 */ OBJECT_OBJ_YASI, - /* 0x219 */ OBJECT_MASK_ROMERNY, - /* 0x21A */ OBJECT_TANRON1, - /* 0x21B */ OBJECT_TANRON2, - /* 0x21C */ OBJECT_TANRON3, - /* 0x21D */ OBJECT_GI_MAGICMUSHROOM, - /* 0x21E */ OBJECT_OBJ_CHAN, - /* 0x21F */ OBJECT_GI_MASK10, - /* 0x220 */ OBJECT_ZOS, - /* 0x221 */ OBJECT_MASK_POSTHAT, - /* 0x222 */ OBJECT_F40_SWITCH, - /* 0x223 */ OBJECT_LODMOON, - /* 0x224 */ OBJECT_TRO, - /* 0x225 */ OBJECT_GI_MASK12, - /* 0x226 */ OBJECT_GI_MASK23, - /* 0x227 */ OBJECT_GI_BOTTLE_21, - /* 0x228 */ OBJECT_GI_CAMERA, - /* 0x229 */ OBJECT_KAMEJIMA, - /* 0x22A */ OBJECT_HARFGIBUD, - /* 0x22B */ OBJECT_ZOV, - /* 0x22C */ OBJECT_HGDOOR, - /* 0x22D */ OBJECT_UNSET_22D, - /* 0x22E */ OBJECT_UNSET_22E, - /* 0x22F */ OBJECT_UNSET_22F, - /* 0x230 */ OBJECT_DOR01, - /* 0x231 */ OBJECT_DOR02, - /* 0x232 */ OBJECT_DOR03, - /* 0x233 */ OBJECT_DOR04, - /* 0x234 */ OBJECT_LAST_OBJ, - /* 0x235 */ OBJECT_REDEAD_OBJ, - /* 0x236 */ OBJECT_IKNINSIDE_OBJ, - /* 0x237 */ OBJECT_IKNV_OBJ, - /* 0x238 */ OBJECT_PAMERA, - /* 0x239 */ OBJECT_HSSTUMP, - /* 0x23A */ OBJECT_ZM, - /* 0x23B */ OBJECT_BIG_FWALL, - /* 0x23C */ OBJECT_SECOM_OBJ, - /* 0x23D */ OBJECT_HUNSUI, - /* 0x23E */ OBJECT_UCH, - /* 0x23F */ OBJECT_TANRON4, - /* 0x240 */ OBJECT_TANRON5, - /* 0x241 */ OBJECT_DT, - /* 0x242 */ OBJECT_GI_MASK03, - /* 0x243 */ OBJECT_CHA, - /* 0x244 */ OBJECT_OBJ_DINNER, - /* 0x245 */ OBJECT_GI_RESERVE_B_01, - /* 0x246 */ OBJECT_LASTDAY, - /* 0x247 */ OBJECT_BAI, - /* 0x248 */ OBJECT_IN2, - /* 0x249 */ OBJECT_IKN_DEMO, - /* 0x24A */ OBJECT_YB, - /* 0x24B */ OBJECT_RZ, - /* 0x24C */ OBJECT_MASK_ZACHO, - /* 0x24D */ OBJECT_GI_FIELDMAP, - /* 0x24E */ OBJECT_MASK_STONE, - /* 0x24F */ OBJECT_BJT, - /* 0x250 */ OBJECT_TARU, - /* 0x251 */ OBJECT_MOONSTON, - /* 0x252 */ OBJECT_MASK_BREE, - /* 0x253 */ OBJECT_GI_SCHEDULE, - /* 0x254 */ OBJECT_GI_STONEMASK, - /* 0x255 */ OBJECT_ZORABAND, - /* 0x256 */ OBJECT_KEPN_KOYA, - /* 0x257 */ OBJECT_OBJ_USIYANE, - /* 0x258 */ OBJECT_GI_MASK05, - /* 0x259 */ OBJECT_GI_MASK11, - /* 0x25A */ OBJECT_GI_MASK20, - /* 0x25B */ OBJECT_NNH, - /* 0x25C */ OBJECT_MASK_GERO, - /* 0x25D */ OBJECT_MASK_YOFUKASI, - /* 0x25E */ OBJECT_MASK_MEOTO, - /* 0x25F */ OBJECT_MASK_DANCER, - /* 0x260 */ OBJECT_KZSAKU, - /* 0x261 */ OBJECT_OBJ_MILK_BIN, - /* 0x262 */ OBJECT_RANDOM_OBJ, - /* 0x263 */ OBJECT_KUJIYA, - /* 0x264 */ OBJECT_KITAN, - /* 0x265 */ OBJECT_GI_MASK06, - /* 0x266 */ OBJECT_GI_MASK16, - /* 0x267 */ OBJECT_ASTR_OBJ, - /* 0x268 */ OBJECT_BSB, - /* 0x269 */ OBJECT_FALL2, - /* 0x26A */ OBJECT_STH, - /* 0x26B */ OBJECT_GI_MSSA, - /* 0x26C */ OBJECT_SMTOWER, - /* 0x26D */ OBJECT_GI_MASK21, - /* 0x26E */ OBJECT_YADO_OBJ, - /* 0x26F */ OBJECT_SYOTEN, - /* 0x270 */ OBJECT_MOONEND, - /* 0x271 */ OBJECT_OB, - /* 0x272 */ OBJECT_GI_BOTTLE_04, - /* 0x273 */ OBJECT_OBJ_DANPEILIFT, - /* 0x274 */ OBJECT_WDOR01, - /* 0x275 */ OBJECT_WDOR02, - /* 0x276 */ OBJECT_WDOR03, - /* 0x277 */ OBJECT_STK3, - /* 0x278 */ OBJECT_KINSTA1_OBJ, - /* 0x279 */ OBJECT_KINSTA2_OBJ, - /* 0x27A */ OBJECT_BH, - /* 0x27B */ OBJECT_WDOR04, - /* 0x27C */ OBJECT_WDOR05, - /* 0x27D */ OBJECT_GI_MASK17, - /* 0x27E */ OBJECT_GI_MASK22, - /* 0x27F */ OBJECT_LBFSHOT, - /* 0x280 */ OBJECT_FUSEN, - /* 0x281 */ OBJECT_ENDING_OBJ, - /* 0x282 */ OBJECT_GI_MASK13, +#define DEFINE_OBJECT(_name, enumValue) enumValue, +#define DEFINE_OBJECT_UNSET(enumValue) enumValue, +#define DEFINE_OBJECT_SIZE_ZERO(_name, enumValue) enumValue, + +typedef enum ObjectId { + #include "tables/object_table.h" /* 0x283 */ OBJECT_ID_MAX -} ObjectID; +} ObjectId; + +#undef DEFINE_OBJECT +#undef DEFINE_OBJECT_UNSET +#undef DEFINE_OBJECT_SIZE_ZERO #endif diff --git a/spec b/spec index d662369614..754baa265c 100644 --- a/spec +++ b/spec @@ -513,7 +513,7 @@ beginseg pad_text include "build/data/code/code_801C2410.data.o" include "build/src/code/z_scene.o" - include "build/data/code/code_801C2730.data.o" + include "build/src/code/object_table.o" include "build/src/code/z_scene_proc.o" include "build/src/code/z_scene_table.o" include "build/src/code/z_schedule.o" diff --git a/src/code/object_table.c b/src/code/object_table.c new file mode 100644 index 0000000000..aa73199b82 --- /dev/null +++ b/src/code/object_table.c @@ -0,0 +1,24 @@ +#include "global.h" + +s16 gPlayerFormObjectIndices[PLAYER_FORM_MAX] = { + OBJECT_LINK_BOY, // PLAYER_FORM_FIERCE_DEITY + OBJECT_LINK_GORON, // PLAYER_FORM_GORON + OBJECT_LINK_ZORA, // PLAYER_FORM_ZORA + OBJECT_LINK_NUTS, // PLAYER_FORM_DEKU + OBJECT_LINK_CHILD, // PLAYER_FORM_HUMAN +}; + +ObjectId gObjectTableSize = OBJECT_ID_MAX; + +// Object Table definition +#define DEFINE_OBJECT(name, _enumValue) { SEGMENT_ROM_START(name), SEGMENT_ROM_END(name) }, +#define DEFINE_OBJECT_UNSET(_enumValue) { 0, 0 }, +#define DEFINE_OBJECT_SIZE_ZERO(name, _enumValue) { SEGMENT_ROM_START(name), SEGMENT_ROM_START(name) }, + +RomFile gObjectTable[] = { +#include "tables/object_table.h" +}; + +#undef DEFINE_OBJECT +#undef DEFINE_OBJECT_UNSET +#undef DEFINE_OBJECT_SIZE_ZERO diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index a64e8a9471..aac1cb6374 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -3,6 +3,7 @@ * Overlay: ovl_En_Fishing * Description: Fishing Pond Elements (Owner, Fish, Props, Effects...) */ + #include "prevent_bss_reordering.h" #include "z_en_fishing.h" #include "z64rumble.h" diff --git a/tools/disasm/files.txt b/tools/disasm/files.txt index 9b97a8fc3d..0b15fa8345 100644 --- a/tools/disasm/files.txt +++ b/tools/disasm/files.txt @@ -554,7 +554,7 @@ 0x801C1D30 : "code_8012EC80", 0x801C2410 : "code_801C2410", 0x801C2650 : "z_scene", - 0x801C2730 : "", + 0x801C2730 : "object_table", 0x801C3B60 : "z_scene_proc", 0x801C3CA0 : "z_scene_table", 0x801C5C50 : "z_schedule", diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index c723f48d49..f74ea0a5f6 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -1360,7 +1360,8 @@ 0x801C2650:("tatlMessageFiles","RomFile","[2]",0x10), 0x801C2660:("sceneTextureFiles","RomFile","[9]",0x48), 0x801C26A8:("sceneHeaderFuncTable","scene_header_func","[31]",0x7c), - 0x801C2730:("gPlayerFormObjectIndices","s16","[8]",0x10), + 0x801C2730:("gPlayerFormObjectIndices","s16","[5]",0xA), + 0x801C273C:("gObjectTableSize","ObjectId","",0x4), 0x801C2740:("gObjectTable","RomFile","[643]",0x1418), 0x801C3B60:("sSceneDrawDefaultDl","Gfx","[11]",0x58), 0x801C3BB8:("gSceneProcSceneDrawFuncs","SceneDrawConfigFunc","[8]",0x20),