The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .clang-format
├── .clang-tidy
├── .dockerignore
├── .gitattributes
├── .gitignore
├── Dockerfile
├── Doxyfile
├── Jenkinsfile
├── Makefile
├── README.md
├── assets
    ├── audio
    │   └── sequences
    │   │   ├── seq_0.prg.seq
    │   │   ├── seq_1.prg.seq
    │   │   ├── seq_109.prg.seq
    │   │   └── seq_2.prg.seq
    ├── objects
    │   ├── object_ganon_anime3
    │   │   ├── gGanonRoarAnim.c
    │   │   ├── gGanonUncurlAndFlailAnim.c
    │   │   ├── gGanondorfBurstOutAnim.c
    │   │   ├── gGanondorfFloatingHeavyBreathingAnim.c
    │   │   ├── gGanondorfShowTriforceLoopAnim.c
    │   │   ├── gGanondorfShowTriforceStartAnim.c
    │   │   ├── gGanondorfTransformEndAnim.c
    │   │   ├── gGanondorfTransformLoopAnim.c
    │   │   ├── gGanondorfTransformStartAnim.c
    │   │   └── object_ganon_anime3.h
    │   ├── object_link_boy
    │   │   ├── object_link_boy.c
    │   │   └── object_link_boy.h
    │   ├── object_link_child
    │   │   ├── object_link_child.c
    │   │   └── object_link_child.h
    │   ├── object_tp
    │   │   ├── object_tp.c
    │   │   └── object_tp.h
    │   ├── object_triforce_spot
    │   │   ├── object_triforce_spot.c
    │   │   └── object_triforce_spot.h
    │   ├── object_umajump
    │   │   ├── gJumpableHorseFenceCol.c
    │   │   ├── gJumpableHorseFenceDL.c
    │   │   └── object_umajump.h
    │   ├── object_vase
    │   │   ├── gUnusedVaseDL.c
    │   │   └── object_vase.h
    │   ├── object_yukabyun
    │   │   ├── gFloorTileEnemyDL.c
    │   │   ├── gFloorTileEnemyFragmentDL.c
    │   │   └── object_yukabyun.h
    │   ├── object_zg
    │   │   ├── gTowerCollapseBarsCol.c
    │   │   ├── gTowerCollapseBarsDL.c
    │   │   └── object_zg.h
    │   └── object_zo
    │   │   ├── effect_bubbles.c
    │   │   ├── effect_ripples.c
    │   │   ├── effect_splashes.c
    │   │   ├── gZoraHandsOnHipsTappingFootAnim.c
    │   │   ├── gZoraIdleAnim.c
    │   │   ├── gZoraOpenArmsAnim.c
    │   │   ├── gZoraSkel.c
    │   │   ├── gZoraSurfaceAnim.c
    │   │   ├── gZoraThrowRupeesAnim.c
    │   │   └── object_zo.h
    ├── text
    │   ├── charmap.chn.txt
    │   ├── charmap.jpn.txt
    │   ├── charmap.nes.txt
    │   ├── fra_message_data_static.c
    │   ├── ger_message_data_static.c
    │   ├── jpn_message_data_static.c
    │   ├── message_data.h
    │   ├── message_data_staff.h
    │   ├── nes_message_data_static.c
    │   └── staff_message_data_static.c
    ├── textures
    │   ├── do_action_static
    │   │   ├── do_action_static.c
    │   │   └── do_action_static.h
    │   ├── icon_item_24_static
    │   │   ├── icon_item_24_static.c
    │   │   └── icon_item_24_static.h
    │   ├── icon_item_fra_static
    │   │   ├── icon_item_fra_static.c
    │   │   └── icon_item_fra_static.h
    │   ├── icon_item_ger_static
    │   │   ├── icon_item_ger_static.c
    │   │   └── icon_item_ger_static.h
    │   ├── icon_item_jpn_static
    │   │   ├── icon_item_jpn_static.c
    │   │   └── icon_item_jpn_static.h
    │   ├── icon_item_nes_static
    │   │   ├── icon_item_nes_static.c
    │   │   └── icon_item_nes_static.h
    │   ├── icon_item_static
    │   │   ├── icon_item_static.c
    │   │   └── icon_item_static.h
    │   ├── item_name_static
    │   │   ├── item_name_static.c
    │   │   └── item_name_static.h
    │   └── place_title_cards
    │   │   ├── g_pn_01.c
    │   │   ├── g_pn_02.c
    │   │   ├── g_pn_03.c
    │   │   ├── g_pn_04.c
    │   │   ├── g_pn_05.c
    │   │   ├── g_pn_06.c
    │   │   ├── g_pn_07.c
    │   │   ├── g_pn_08.c
    │   │   ├── g_pn_09.c
    │   │   ├── g_pn_10.c
    │   │   ├── g_pn_11.c
    │   │   ├── g_pn_12.c
    │   │   ├── g_pn_13.c
    │   │   ├── g_pn_14.c
    │   │   ├── g_pn_15.c
    │   │   ├── g_pn_16.c
    │   │   ├── g_pn_17.c
    │   │   ├── g_pn_18.c
    │   │   ├── g_pn_19.c
    │   │   ├── g_pn_20.c
    │   │   ├── g_pn_21.c
    │   │   ├── g_pn_22.c
    │   │   ├── g_pn_23.c
    │   │   ├── g_pn_24.c
    │   │   ├── g_pn_25.c
    │   │   ├── g_pn_26.c
    │   │   ├── g_pn_27.c
    │   │   ├── g_pn_28.c
    │   │   ├── g_pn_29.c
    │   │   ├── g_pn_30.c
    │   │   ├── g_pn_31.c
    │   │   ├── g_pn_32.c
    │   │   ├── g_pn_33.c
    │   │   ├── g_pn_34.c
    │   │   ├── g_pn_35.c
    │   │   ├── g_pn_36.c
    │   │   ├── g_pn_37.c
    │   │   ├── g_pn_38.c
    │   │   ├── g_pn_39.c
    │   │   ├── g_pn_40.c
    │   │   ├── g_pn_41.c
    │   │   ├── g_pn_42.c
    │   │   ├── g_pn_43.c
    │   │   ├── g_pn_44.c
    │   │   ├── g_pn_45.c
    │   │   ├── g_pn_46.c
    │   │   ├── g_pn_47.c
    │   │   ├── g_pn_48.c
    │   │   ├── g_pn_49.c
    │   │   ├── g_pn_50.c
    │   │   ├── g_pn_51.c
    │   │   ├── g_pn_52.c
    │   │   ├── g_pn_53.c
    │   │   ├── g_pn_54.c
    │   │   ├── g_pn_55.c
    │   │   ├── g_pn_56.c
    │   │   └── g_pn_57.c
    └── xml
    │   ├── audio
    │       ├── samplebanks
    │       │   ├── SampleBank_0.xml
    │       │   ├── SampleBank_2.xml
    │       │   ├── SampleBank_3.xml
    │       │   ├── SampleBank_4.xml
    │       │   ├── SampleBank_5.xml
    │       │   └── SampleBank_6.xml
    │       ├── sequences
    │       │   ├── seq_0.xml
    │       │   ├── seq_1.xml
    │       │   ├── seq_10.xml
    │       │   ├── seq_100.xml
    │       │   ├── seq_101.xml
    │       │   ├── seq_102.xml
    │       │   ├── seq_103.xml
    │       │   ├── seq_104.xml
    │       │   ├── seq_105.xml
    │       │   ├── seq_106.xml
    │       │   ├── seq_107.xml
    │       │   ├── seq_108.xml
    │       │   ├── seq_109.xml
    │       │   ├── seq_11.xml
    │       │   ├── seq_12.xml
    │       │   ├── seq_13.xml
    │       │   ├── seq_14.xml
    │       │   ├── seq_15.xml
    │       │   ├── seq_16.xml
    │       │   ├── seq_17.xml
    │       │   ├── seq_18.xml
    │       │   ├── seq_19.xml
    │       │   ├── seq_2.xml
    │       │   ├── seq_20.xml
    │       │   ├── seq_21.xml
    │       │   ├── seq_22.xml
    │       │   ├── seq_23.xml
    │       │   ├── seq_24.xml
    │       │   ├── seq_25.xml
    │       │   ├── seq_26.xml
    │       │   ├── seq_27.xml
    │       │   ├── seq_28.xml
    │       │   ├── seq_29.xml
    │       │   ├── seq_3.xml
    │       │   ├── seq_30.xml
    │       │   ├── seq_31.xml
    │       │   ├── seq_32.xml
    │       │   ├── seq_33.xml
    │       │   ├── seq_34.xml
    │       │   ├── seq_35.xml
    │       │   ├── seq_36.xml
    │       │   ├── seq_37.xml
    │       │   ├── seq_38.xml
    │       │   ├── seq_39.xml
    │       │   ├── seq_4.xml
    │       │   ├── seq_40.xml
    │       │   ├── seq_41.xml
    │       │   ├── seq_42.xml
    │       │   ├── seq_43.xml
    │       │   ├── seq_44.xml
    │       │   ├── seq_45.xml
    │       │   ├── seq_46.xml
    │       │   ├── seq_47.xml
    │       │   ├── seq_48.xml
    │       │   ├── seq_49.xml
    │       │   ├── seq_5.xml
    │       │   ├── seq_50.xml
    │       │   ├── seq_51.xml
    │       │   ├── seq_52.xml
    │       │   ├── seq_53.xml
    │       │   ├── seq_54.xml
    │       │   ├── seq_55.xml
    │       │   ├── seq_56.xml
    │       │   ├── seq_57.xml
    │       │   ├── seq_58.xml
    │       │   ├── seq_59.xml
    │       │   ├── seq_6.xml
    │       │   ├── seq_60.xml
    │       │   ├── seq_61.xml
    │       │   ├── seq_62.xml
    │       │   ├── seq_63.xml
    │       │   ├── seq_64.xml
    │       │   ├── seq_65.xml
    │       │   ├── seq_66.xml
    │       │   ├── seq_67.xml
    │       │   ├── seq_68.xml
    │       │   ├── seq_69.xml
    │       │   ├── seq_7.xml
    │       │   ├── seq_70.xml
    │       │   ├── seq_71.xml
    │       │   ├── seq_72.xml
    │       │   ├── seq_73.xml
    │       │   ├── seq_74.xml
    │       │   ├── seq_75.xml
    │       │   ├── seq_76.xml
    │       │   ├── seq_77.xml
    │       │   ├── seq_78.xml
    │       │   ├── seq_79.xml
    │       │   ├── seq_8.xml
    │       │   ├── seq_80.xml
    │       │   ├── seq_81.xml
    │       │   ├── seq_82.xml
    │       │   ├── seq_83.xml
    │       │   ├── seq_84.xml
    │       │   ├── seq_85.xml
    │       │   ├── seq_86.xml
    │       │   ├── seq_88.xml
    │       │   ├── seq_89.xml
    │       │   ├── seq_9.xml
    │       │   ├── seq_90.xml
    │       │   ├── seq_91.xml
    │       │   ├── seq_92.xml
    │       │   ├── seq_93.xml
    │       │   ├── seq_94.xml
    │       │   ├── seq_95.xml
    │       │   ├── seq_96.xml
    │       │   ├── seq_97.xml
    │       │   ├── seq_98.xml
    │       │   └── seq_99.xml
    │       └── soundfonts
    │       │   ├── Soundfont_0.xml
    │       │   ├── Soundfont_1.xml
    │       │   ├── Soundfont_10.xml
    │       │   ├── Soundfont_11.xml
    │       │   ├── Soundfont_12.xml
    │       │   ├── Soundfont_13.xml
    │       │   ├── Soundfont_14.xml
    │       │   ├── Soundfont_15.xml
    │       │   ├── Soundfont_16.xml
    │       │   ├── Soundfont_17.xml
    │       │   ├── Soundfont_18.xml
    │       │   ├── Soundfont_19.xml
    │       │   ├── Soundfont_2.xml
    │       │   ├── Soundfont_20.xml
    │       │   ├── Soundfont_21.xml
    │       │   ├── Soundfont_22.xml
    │       │   ├── Soundfont_23.xml
    │       │   ├── Soundfont_24.xml
    │       │   ├── Soundfont_25.xml
    │       │   ├── Soundfont_26.xml
    │       │   ├── Soundfont_27.xml
    │       │   ├── Soundfont_28.xml
    │       │   ├── Soundfont_29.xml
    │       │   ├── Soundfont_3.xml
    │       │   ├── Soundfont_30.xml
    │       │   ├── Soundfont_31.xml
    │       │   ├── Soundfont_32.xml
    │       │   ├── Soundfont_33.xml
    │       │   ├── Soundfont_34.xml
    │       │   ├── Soundfont_35.xml
    │       │   ├── Soundfont_36.xml
    │       │   ├── Soundfont_37.xml
    │       │   ├── Soundfont_4.xml
    │       │   ├── Soundfont_5.xml
    │       │   ├── Soundfont_6.xml
    │       │   ├── Soundfont_7.xml
    │       │   ├── Soundfont_8.xml
    │       │   └── Soundfont_9.xml
    │   ├── code
    │       ├── fbdemo_circle.xml
    │       ├── fbdemo_triforce.xml
    │       └── fbdemo_wipe1.xml
    │   ├── misc
    │       ├── link_animetion.xml
    │       └── z_select_static.xml
    │   ├── n64dd
    │       └── error_textures.xml
    │   ├── objects
    │       ├── gameplay_dangeon_keep.xml
    │       ├── gameplay_field_keep.xml
    │       ├── gameplay_keep.xml
    │       ├── gameplay_keep_pal.xml
    │       ├── object_Bb.xml
    │       ├── object_ahg.xml
    │       ├── object_am.xml
    │       ├── object_ane.xml
    │       ├── object_ani.xml
    │       ├── object_anubice.xml
    │       ├── object_aob.xml
    │       ├── object_b_heart.xml
    │       ├── object_bba.xml
    │       ├── object_bdan_objects.xml
    │       ├── object_bdoor.xml
    │       ├── object_bg.xml
    │       ├── object_bigokuta.xml
    │       ├── object_bird.xml
    │       ├── object_bji.xml
    │       ├── object_bl.xml
    │       ├── object_blkobj.xml
    │       ├── object_bob.xml
    │       ├── object_boj.xml
    │       ├── object_bombf.xml
    │       ├── object_bombiwa.xml
    │       ├── object_bowl.xml
    │       ├── object_box.xml
    │       ├── object_brob.xml
    │       ├── object_bubble.xml
    │       ├── object_bv.xml
    │       ├── object_bv_pal.xml
    │       ├── object_bw.xml
    │       ├── object_bwall.xml
    │       ├── object_bxa.xml
    │       ├── object_cne.xml
    │       ├── object_cob.xml
    │       ├── object_cow.xml
    │       ├── object_crow.xml
    │       ├── object_cs.xml
    │       ├── object_d_elevator.xml
    │       ├── object_d_hsblock.xml
    │       ├── object_d_lift.xml
    │       ├── object_daiku.xml
    │       ├── object_ddan_objects.xml
    │       ├── object_dekubaba.xml
    │       ├── object_dekujr.xml
    │       ├── object_dekunuts.xml
    │       ├── object_demo_6k.xml
    │       ├── object_demo_kekkai.xml
    │       ├── object_demo_tre_lgt.xml
    │       ├── object_dh.xml
    │       ├── object_dnk.xml
    │       ├── object_dns.xml
    │       ├── object_dodojr.xml
    │       ├── object_dodongo.xml
    │       ├── object_dog.xml
    │       ├── object_door_gerudo.xml
    │       ├── object_door_killer.xml
    │       ├── object_ds.xml
    │       ├── object_ds2.xml
    │       ├── object_du.xml
    │       ├── object_du_pal.xml
    │       ├── object_dy_obj.xml
    │       ├── object_ec.xml
    │       ├── object_efc_crystal_light.xml
    │       ├── object_efc_doughnut.xml
    │       ├── object_efc_erupc.xml
    │       ├── object_efc_fire_ball.xml
    │       ├── object_efc_flash.xml
    │       ├── object_efc_lgt_shower.xml
    │       ├── object_efc_star_field.xml
    │       ├── object_efc_tw.xml
    │       ├── object_ei.xml
    │       ├── object_fa.xml
    │       ├── object_fd.xml
    │       ├── object_fd2.xml
    │       ├── object_fd_pal.xml
    │       ├── object_fhg.xml
    │       ├── object_fhg_pal.xml
    │       ├── object_fire.xml
    │       ├── object_firefly.xml
    │       ├── object_fish.xml
    │       ├── object_fr.xml
    │       ├── object_fu.xml
    │       ├── object_fw.xml
    │       ├── object_fz.xml
    │       ├── object_ganon.xml
    │       ├── object_ganon2.xml
    │       ├── object_ganon2_pal.xml
    │       ├── object_ganon_anime1.xml
    │       ├── object_ganon_anime2.xml
    │       ├── object_ganon_anime3.xml
    │       ├── object_ganon_objects.xml
    │       ├── object_ganon_pal.xml
    │       ├── object_ge1.xml
    │       ├── object_geff.xml
    │       ├── object_geldb.xml
    │       ├── object_gi_arrow.xml
    │       ├── object_gi_arrowcase.xml
    │       ├── object_gi_bean.xml
    │       ├── object_gi_bomb_1.xml
    │       ├── object_gi_bomb_2.xml
    │       ├── object_gi_bombpouch.xml
    │       ├── object_gi_boomerang.xml
    │       ├── object_gi_boots_2.xml
    │       ├── object_gi_bosskey.xml
    │       ├── object_gi_bottle.xml
    │       ├── object_gi_bottle_letter.xml
    │       ├── object_gi_bow.xml
    │       ├── object_gi_bracelet.xml
    │       ├── object_gi_brokensword.xml
    │       ├── object_gi_butterfly.xml
    │       ├── object_gi_clothes.xml
    │       ├── object_gi_coin.xml
    │       ├── object_gi_compass.xml
    │       ├── object_gi_dekupouch.xml
    │       ├── object_gi_egg.xml
    │       ├── object_gi_eye_lotion.xml
    │       ├── object_gi_fire.xml
    │       ├── object_gi_fish.xml
    │       ├── object_gi_frog.xml
    │       ├── object_gi_gerudo.xml
    │       ├── object_gi_gerudomask.xml
    │       ├── object_gi_ghost.xml
    │       ├── object_gi_glasses.xml
    │       ├── object_gi_gloves.xml
    │       ├── object_gi_goddess.xml
    │       ├── object_gi_golonmask.xml
    │       ├── object_gi_grass.xml
    │       ├── object_gi_hammer.xml
    │       ├── object_gi_heart.xml
    │       ├── object_gi_hearts.xml
    │       ├── object_gi_hookshot.xml
    │       ├── object_gi_hoverboots.xml
    │       ├── object_gi_insect.xml
    │       ├── object_gi_jewel.xml
    │       ├── object_gi_key.xml
    │       ├── object_gi_ki_tan_mask.xml
    │       ├── object_gi_letter.xml
    │       ├── object_gi_liquid.xml
    │       ├── object_gi_longsword.xml
    │       ├── object_gi_m_arrow.xml
    │       ├── object_gi_magicpot.xml
    │       ├── object_gi_map.xml
    │       ├── object_gi_medal.xml
    │       ├── object_gi_melody.xml
    │       ├── object_gi_milk.xml
    │       ├── object_gi_mushroom.xml
    │       ├── object_gi_niwatori.xml
    │       ├── object_gi_nuts.xml
    │       ├── object_gi_ocarina.xml
    │       ├── object_gi_ocarina_0.xml
    │       ├── object_gi_pachinko.xml
    │       ├── object_gi_powder.xml
    │       ├── object_gi_prescription.xml
    │       ├── object_gi_purse.xml
    │       ├── object_gi_rabit_mask.xml
    │       ├── object_gi_redead_mask.xml
    │       ├── object_gi_rupy.xml
    │       ├── object_gi_saw.xml
    │       ├── object_gi_scale.xml
    │       ├── object_gi_seed.xml
    │       ├── object_gi_shield_1.xml
    │       ├── object_gi_shield_2.xml
    │       ├── object_gi_shield_3.xml
    │       ├── object_gi_skj_mask.xml
    │       ├── object_gi_soldout.xml
    │       ├── object_gi_soul.xml
    │       ├── object_gi_stick.xml
    │       ├── object_gi_sutaru.xml
    │       ├── object_gi_sword_1.xml
    │       ├── object_gi_ticketstone.xml
    │       ├── object_gi_truth_mask.xml
    │       ├── object_gi_zoramask.xml
    │       ├── object_gj.xml
    │       ├── object_gjyo_objects.xml
    │       ├── object_gla.xml
    │       ├── object_gm.xml
    │       ├── object_gnd.xml
    │       ├── object_gnd_magic.xml
    │       ├── object_gndd.xml
    │       ├── object_god_lgt.xml
    │       ├── object_gol.xml
    │       ├── object_goma.xml
    │       ├── object_goma_pal.xml
    │       ├── object_goroiwa.xml
    │       ├── object_gr.xml
    │       ├── object_gs.xml
    │       ├── object_gt.xml
    │       ├── object_haka.xml
    │       ├── object_haka_door.xml
    │       ├── object_haka_objects.xml
    │       ├── object_hakach_objects.xml
    │       ├── object_hata.xml
    │       ├── object_heavy_object.xml
    │       ├── object_hidan_objects.xml
    │       ├── object_hintnuts.xml
    │       ├── object_hni.xml
    │       ├── object_horse.xml
    │       ├── object_horse_ganon.xml
    │       ├── object_horse_link_child.xml
    │       ├── object_horse_normal.xml
    │       ├── object_horse_zelda.xml
    │       ├── object_hs.xml
    │       ├── object_human.xml
    │       ├── object_ice_objects.xml
    │       ├── object_ik.xml
    │       ├── object_im.xml
    │       ├── object_in.xml
    │       ├── object_ingate.xml
    │       ├── object_jj.xml
    │       ├── object_js.xml
    │       ├── object_jya_door.xml
    │       ├── object_jya_iron.xml
    │       ├── object_jya_obj.xml
    │       ├── object_ka.xml
    │       ├── object_kanban.xml
    │       ├── object_kibako2.xml
    │       ├── object_kingdodongo.xml
    │       ├── object_kingdodongo_pal.xml
    │       ├── object_km1.xml
    │       ├── object_kusa.xml
    │       ├── object_kw1.xml
    │       ├── object_kz.xml
    │       ├── object_light_ring.xml
    │       ├── object_lightbox.xml
    │       ├── object_lightswitch.xml
    │       ├── object_link_boy.xml
    │       ├── object_link_child.xml
    │       ├── object_ma1.xml
    │       ├── object_ma2.xml
    │       ├── object_mag.xml
    │       ├── object_mag_ique.xml
    │       ├── object_mag_v2.xml
    │       ├── object_mag_v2_mq.xml
    │       ├── object_mag_v3.xml
    │       ├── object_mag_v3_mq.xml
    │       ├── object_mamenoki.xml
    │       ├── object_mastergolon.xml
    │       ├── object_masterkokiri.xml
    │       ├── object_masterkokirihead.xml
    │       ├── object_masterzoora.xml
    │       ├── object_mb.xml
    │       ├── object_md.xml
    │       ├── object_medal.xml
    │       ├── object_menkuri_objects.xml
    │       ├── object_mir_ray.xml
    │       ├── object_mizu_objects.xml
    │       ├── object_mjin.xml
    │       ├── object_mjin_dark.xml
    │       ├── object_mjin_flame.xml
    │       ├── object_mjin_flash.xml
    │       ├── object_mjin_ice.xml
    │       ├── object_mjin_oka.xml
    │       ├── object_mjin_soul.xml
    │       ├── object_mjin_wind.xml
    │       ├── object_mk.xml
    │       ├── object_mm.xml
    │       ├── object_mo.xml
    │       ├── object_mo_pal.xml
    │       ├── object_mori_hineri1.xml
    │       ├── object_mori_hineri1a.xml
    │       ├── object_mori_hineri2.xml
    │       ├── object_mori_hineri2a.xml
    │       ├── object_mori_objects.xml
    │       ├── object_mori_tex.xml
    │       ├── object_ms.xml
    │       ├── object_mu.xml
    │       ├── object_nb.xml
    │       ├── object_niw.xml
    │       ├── object_nwc.xml
    │       ├── object_ny.xml
    │       ├── object_oA1.xml
    │       ├── object_oA10.xml
    │       ├── object_oA11.xml
    │       ├── object_oA2.xml
    │       ├── object_oA3.xml
    │       ├── object_oA4.xml
    │       ├── object_oA5.xml
    │       ├── object_oA6.xml
    │       ├── object_oA7.xml
    │       ├── object_oA8.xml
    │       ├── object_oA9.xml
    │       ├── object_oB1.xml
    │       ├── object_oB2.xml
    │       ├── object_oB3.xml
    │       ├── object_oB4.xml
    │       ├── object_oE1.xml
    │       ├── object_oE10.xml
    │       ├── object_oE11.xml
    │       ├── object_oE12.xml
    │       ├── object_oE1s.xml
    │       ├── object_oE2.xml
    │       ├── object_oE3.xml
    │       ├── object_oE4.xml
    │       ├── object_oE4s.xml
    │       ├── object_oE5.xml
    │       ├── object_oE6.xml
    │       ├── object_oE7.xml
    │       ├── object_oE8.xml
    │       ├── object_oE9.xml
    │       ├── object_oE_anime.xml
    │       ├── object_oF1d_map.xml
    │       ├── object_oF1s.xml
    │       ├── object_o_anime.xml
    │       ├── object_okuta.xml
    │       ├── object_opening_demo1.xml
    │       ├── object_os.xml
    │       ├── object_os_anime.xml
    │       ├── object_ossan.xml
    │       ├── object_ouke_haka.xml
    │       ├── object_owl.xml
    │       ├── object_peehat.xml
    │       ├── object_po_composer.xml
    │       ├── object_po_field.xml
    │       ├── object_po_sisters.xml
    │       ├── object_poh.xml
    │       ├── object_ps.xml
    │       ├── object_pu_box.xml
    │       ├── object_rd.xml
    │       ├── object_reeba.xml
    │       ├── object_relay_objects.xml
    │       ├── object_rl.xml
    │       ├── object_rr.xml
    │       ├── object_rs.xml
    │       ├── object_ru1.xml
    │       ├── object_ru2.xml
    │       ├── object_sa.xml
    │       ├── object_sb.xml
    │       ├── object_sd.xml
    │       ├── object_shop_dungen.xml
    │       ├── object_shopnuts.xml
    │       ├── object_siofuki.xml
    │       ├── object_sk2.xml
    │       ├── object_skb.xml
    │       ├── object_skj.xml
    │       ├── object_spot00_break.xml
    │       ├── object_spot00_objects.xml
    │       ├── object_spot01_matoya.xml
    │       ├── object_spot01_matoyab.xml
    │       ├── object_spot01_objects.xml
    │       ├── object_spot01_objects2.xml
    │       ├── object_spot02_objects.xml
    │       ├── object_spot03_object.xml
    │       ├── object_spot04_objects.xml
    │       ├── object_spot05_objects.xml
    │       ├── object_spot06_objects.xml
    │       ├── object_spot07_object.xml
    │       ├── object_spot08_obj.xml
    │       ├── object_spot09_obj.xml
    │       ├── object_spot11_obj.xml
    │       ├── object_spot12_obj.xml
    │       ├── object_spot15_obj.xml
    │       ├── object_spot16_obj.xml
    │       ├── object_spot17_obj.xml
    │       ├── object_spot18_obj.xml
    │       ├── object_ssh.xml
    │       ├── object_sst.xml
    │       ├── object_sst_pal.xml
    │       ├── object_st.xml
    │       ├── object_stream.xml
    │       ├── object_syokudai.xml
    │       ├── object_ta.xml
    │       ├── object_timeblock.xml
    │       ├── object_tite.xml
    │       ├── object_tk.xml
    │       ├── object_toki_objects.xml
    │       ├── object_torch2.xml
    │       ├── object_toryo.xml
    │       ├── object_tp.xml
    │       ├── object_tr.xml
    │       ├── object_trap.xml
    │       ├── object_triforce_spot.xml
    │       ├── object_ts.xml
    │       ├── object_tsubo.xml
    │       ├── object_tw.xml
    │       ├── object_tw_pal.xml
    │       ├── object_umajump.xml
    │       ├── object_vali.xml
    │       ├── object_vase.xml
    │       ├── object_vm.xml
    │       ├── object_wallmaster.xml
    │       ├── object_warp1.xml
    │       ├── object_warp2.xml
    │       ├── object_wf.xml
    │       ├── object_wood02.xml
    │       ├── object_xc.xml
    │       ├── object_xc_pal.xml
    │       ├── object_yabusame_point.xml
    │       ├── object_ydan_objects.xml
    │       ├── object_yukabyun.xml
    │       ├── object_zf.xml
    │       ├── object_zg.xml
    │       ├── object_zl1.xml
    │       ├── object_zl2.xml
    │       ├── object_zl2_anime1.xml
    │       ├── object_zl2_anime2.xml
    │       ├── object_zl4.xml
    │       └── object_zo.xml
    │   ├── overlays
    │       ├── ovl_Arrow_Fire.xml
    │       ├── ovl_Arrow_Ice.xml
    │       ├── ovl_Arrow_Light.xml
    │       ├── ovl_Bg_Ganon_Otyuka.xml
    │       ├── ovl_Bg_Jya_Cobra.xml
    │       ├── ovl_Boss_Dodongo.xml
    │       ├── ovl_Boss_Ganon.xml
    │       ├── ovl_Boss_Ganon2.xml
    │       ├── ovl_Boss_Sst.xml
    │       ├── ovl_Demo_Shd.xml
    │       ├── ovl_Effect_Ss_Fhg_Flash.xml
    │       ├── ovl_Elf_Msg.xml
    │       ├── ovl_Elf_Msg2.xml
    │       ├── ovl_En_Bili.xml
    │       ├── ovl_En_Clear_Tag.xml
    │       ├── ovl_En_Ganon_Mant.xml
    │       ├── ovl_En_Ganon_Organ.xml
    │       ├── ovl_En_Holl.xml
    │       ├── ovl_En_Jsjutan.xml
    │       ├── ovl_En_Kanban.xml
    │       ├── ovl_En_Mag_ique.xml
    │       ├── ovl_En_Sda.xml
    │       ├── ovl_En_Ssh.xml
    │       ├── ovl_En_St.xml
    │       ├── ovl_En_Sth.xml
    │       ├── ovl_End_Title.xml
    │       ├── ovl_End_Title_ique.xml
    │       ├── ovl_Magic_Dark.xml
    │       ├── ovl_Magic_Fire.xml
    │       ├── ovl_Magic_Wind.xml
    │       ├── ovl_Oceff_Spot.xml
    │       ├── ovl_Oceff_Storm.xml
    │       ├── ovl_Oceff_Wipe.xml
    │       ├── ovl_Oceff_Wipe2.xml
    │       ├── ovl_Oceff_Wipe3.xml
    │       ├── ovl_Oceff_Wipe4.xml
    │       ├── ovl_file_choose.xml
    │       ├── ovl_file_choose_pal_gc.xml
    │       └── ovl_file_choose_pal_n64.xml
    │   ├── scenes
    │       ├── dungeons
    │       │   ├── Bmori1.xml
    │       │   ├── Bmori1_mq.xml
    │       │   ├── FIRE_bs.xml
    │       │   ├── HAKAdan.xml
    │       │   ├── HAKAdanCH.xml
    │       │   ├── HAKAdanCH_mq.xml
    │       │   ├── HAKAdan_bs.xml
    │       │   ├── HAKAdan_mq.xml
    │       │   ├── HIDAN.xml
    │       │   ├── HIDAN_mq.xml
    │       │   ├── MIZUsin.xml
    │       │   ├── MIZUsin_bs.xml
    │       │   ├── MIZUsin_mq.xml
    │       │   ├── bdan.xml
    │       │   ├── bdan_boss.xml
    │       │   ├── bdan_mq.xml
    │       │   ├── ddan.xml
    │       │   ├── ddan_boss.xml
    │       │   ├── ddan_boss_v2.xml
    │       │   ├── ddan_mq.xml
    │       │   ├── ganon.xml
    │       │   ├── ganon_boss.xml
    │       │   ├── ganon_demo.xml
    │       │   ├── ganon_final.xml
    │       │   ├── ganon_sonogo.xml
    │       │   ├── ganontika.xml
    │       │   ├── ganontika_mq.xml
    │       │   ├── ganontikasonogo.xml
    │       │   ├── gerudoway.xml
    │       │   ├── ice_doukutu.xml
    │       │   ├── ice_doukutu_mq.xml
    │       │   ├── ice_doukutu_pal_n64.xml
    │       │   ├── ice_doukutu_v2.xml
    │       │   ├── jyasinboss.xml
    │       │   ├── jyasinzou.xml
    │       │   ├── jyasinzou_mq.xml
    │       │   ├── men.xml
    │       │   ├── men_mq.xml
    │       │   ├── moribossroom.xml
    │       │   ├── ydan.xml
    │       │   ├── ydan_boss.xml
    │       │   └── ydan_mq.xml
    │       ├── indoors
    │       │   ├── bowling.xml
    │       │   ├── daiyousei_izumi.xml
    │       │   ├── hairal_niwa.xml
    │       │   ├── hairal_niwa2.xml
    │       │   ├── hairal_niwa_n.xml
    │       │   ├── hakasitarelay.xml
    │       │   ├── hut.xml
    │       │   ├── hylia_labo.xml
    │       │   ├── impa.xml
    │       │   ├── kakariko.xml
    │       │   ├── kenjyanoma.xml
    │       │   ├── kokiri_home.xml
    │       │   ├── kokiri_home3.xml
    │       │   ├── kokiri_home4.xml
    │       │   ├── kokiri_home5.xml
    │       │   ├── labo.xml
    │       │   ├── link_home.xml
    │       │   ├── mahouya.xml
    │       │   ├── malon_stable.xml
    │       │   ├── miharigoya.xml
    │       │   ├── nakaniwa.xml
    │       │   ├── souko.xml
    │       │   ├── syatekijyou.xml
    │       │   ├── takaraya.xml
    │       │   ├── tent.xml
    │       │   ├── tokinoma.xml
    │       │   ├── tokinoma_pal_n64.xml
    │       │   ├── yousei_izumi_tate.xml
    │       │   └── yousei_izumi_yoko.xml
    │       ├── misc
    │       │   ├── enrui.xml
    │       │   ├── entra.xml
    │       │   ├── entra_n.xml
    │       │   ├── hakaana.xml
    │       │   ├── hakaana2.xml
    │       │   ├── hakaana_ouke.xml
    │       │   ├── hiral_demo.xml
    │       │   ├── hiral_demo_pal_n64.xml
    │       │   ├── kakariko3.xml
    │       │   ├── kakusiana.xml
    │       │   ├── kinsuta.xml
    │       │   ├── market_alley.xml
    │       │   ├── market_alley_n.xml
    │       │   ├── market_day.xml
    │       │   ├── market_night.xml
    │       │   ├── market_ruins.xml
    │       │   ├── shrine.xml
    │       │   ├── shrine_n.xml
    │       │   ├── shrine_r.xml
    │       │   └── turibori.xml
    │       ├── overworld
    │       │   ├── ganon_tou.xml
    │       │   ├── spot00.xml
    │       │   ├── spot00_pal_n64.xml
    │       │   ├── spot01.xml
    │       │   ├── spot01_pal_n64.xml
    │       │   ├── spot02.xml
    │       │   ├── spot03.xml
    │       │   ├── spot04.xml
    │       │   ├── spot04_pal_n64.xml
    │       │   ├── spot05.xml
    │       │   ├── spot05_pal_n64.xml
    │       │   ├── spot06.xml
    │       │   ├── spot06_pal_n64.xml
    │       │   ├── spot07.xml
    │       │   ├── spot07_pal_n64.xml
    │       │   ├── spot08.xml
    │       │   ├── spot09.xml
    │       │   ├── spot09_pal_n64.xml
    │       │   ├── spot10.xml
    │       │   ├── spot11.xml
    │       │   ├── spot11_pal_n64.xml
    │       │   ├── spot12.xml
    │       │   ├── spot12_pal_n64.xml
    │       │   ├── spot13.xml
    │       │   ├── spot15.xml
    │       │   ├── spot16.xml
    │       │   ├── spot16_pal_n64.xml
    │       │   ├── spot16_v2.xml
    │       │   ├── spot17.xml
    │       │   ├── spot17_pal_n64.xml
    │       │   ├── spot18.xml
    │       │   ├── spot18_pal_n64.xml
    │       │   ├── spot20.xml
    │       │   └── spot20_pal.xml
    │       ├── shops
    │       │   ├── alley_shop.xml
    │       │   ├── drag.xml
    │       │   ├── face_shop.xml
    │       │   ├── golon.xml
    │       │   ├── kokiri_shop.xml
    │       │   ├── night_shop.xml
    │       │   ├── shop1.xml
    │       │   └── zoora.xml
    │       └── test_levels
    │       │   ├── besitu.xml
    │       │   ├── depth_test.xml
    │       │   ├── sasatest.xml
    │       │   ├── sutaru.xml
    │       │   ├── syotes.xml
    │       │   ├── syotes2.xml
    │       │   ├── test01.xml
    │       │   └── testroom.xml
    │   └── textures
    │       ├── backgrounds.xml
    │       ├── do_action_static.xml
    │       ├── do_action_static_pal.xml
    │       ├── icon_item_24_static.xml
    │       ├── icon_item_dungeon_static.xml
    │       ├── icon_item_field_static.xml
    │       ├── icon_item_fra_static.xml
    │       ├── icon_item_gameover_static.xml
    │       ├── icon_item_gameover_static_pal.xml
    │       ├── icon_item_ger_static.xml
    │       ├── icon_item_jpn_static.xml
    │       ├── icon_item_nes_static.xml
    │       ├── icon_item_static.xml
    │       ├── icon_item_static_pal.xml
    │       ├── item_name_static.xml
    │       ├── item_name_static_pal.xml
    │       ├── kanji.xml
    │       ├── map_48x85_static.xml
    │       ├── map_grand_static.xml
    │       ├── map_i_static.xml
    │       ├── map_name_static.xml
    │       ├── map_name_static_pal.xml
    │       ├── message_static.xml
    │       ├── message_texture_static.xml
    │       ├── nes_font_static.xml
    │       ├── nes_font_static_ique_cn.xml
    │       ├── nes_font_static_v2.xml
    │       ├── nintendo_rogo_static.xml
    │       ├── nintendo_rogo_static_v2.xml
    │       ├── parameter_static.xml
    │       ├── parameter_static_ique.xml
    │       ├── place_title_cards.xml
    │       ├── place_title_cards_pal.xml
    │       ├── skyboxes.xml
    │       ├── title_static.xml
    │       ├── title_static_pal_gc.xml
    │       └── title_static_pal_n64.xml
├── baseroms
    ├── gc-eu-mq-dbg
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-eu-mq
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-eu
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-jp-ce
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-jp-mq
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-jp
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-us-mq
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── gc-us
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── ique-cn
    │   ├── bss-order.txt
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── ntsc-1.0
    │   ├── checksum-JP-compressed.md5
    │   ├── checksum-JP.md5
    │   ├── checksum-US-compressed.md5
    │   ├── checksum-US.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── ntsc-1.1
    │   ├── checksum-JP-compressed.md5
    │   ├── checksum-JP.md5
    │   ├── checksum-US-compressed.md5
    │   ├── checksum-US.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── ntsc-1.2
    │   ├── checksum-JP-compressed.md5
    │   ├── checksum-JP.md5
    │   ├── checksum-US-compressed.md5
    │   ├── checksum-US.md5
    │   ├── config.yml
    │   └── segments.csv
    ├── pal-1.0
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
    └── pal-1.1
    │   ├── checksum-compressed.md5
    │   ├── checksum.md5
    │   ├── config.yml
    │   └── segments.csv
├── data
    ├── cic6105.text.s
    ├── rsp.rodata.s
    ├── rsp.text.s
    ├── rsp_boot.text.s
    ├── unk_8012ABC0.data.s
    └── z_text.data.s
├── diff.py
├── diff_settings.py
├── docker-compose.yml
├── docs
    ├── BUILDING_DOCKER.md
    ├── BUILDING_MACOS.md
    ├── Documenting.md
    ├── assets
    │   ├── extraction.md
    │   └── images.md
    ├── audio
    │   ├── Samplebank_XML.md
    │   ├── Soundfont_XML.md
    │   └── build_flowchart.png
    ├── c_cpp_properties.json
    ├── compilers.md
    ├── decompiling_tutorial.md
    ├── filter_global_asm.py
    ├── libu64.md
    ├── logo.png
    ├── retail_versions.md
    └── vscode.md
├── first_diff.py
├── fixle.sh
├── format.py
├── include
    ├── actor.h
    ├── actor_profile.h
    ├── alignment.h
    ├── animation.h
    ├── animation_legacy.h
    ├── array_count.h
    ├── attributes.h
    ├── audio.h
    ├── audio
    │   ├── aseq.h
    │   └── soundfont_file.h
    ├── audiomgr.h
    ├── audiothread_cmd.h
    ├── avoid_ub.h
    ├── bgcheck.h
    ├── boot.h
    ├── buffers.h
    ├── build.h
    ├── camera.h
    ├── carthandle.h
    ├── cic6105.h
    ├── collision_check.h
    ├── color.h
    ├── command_macros_base.h
    ├── console_logo_state.h
    ├── controller.h
    ├── curve.h
    ├── cutscene.h
    ├── cutscene_commands.h
    ├── cutscene_flags.h
    ├── cutscene_spline.h
    ├── db_camera.h
    ├── debug.h
    ├── debug_arena.h
    ├── debug_display.h
    ├── dma.h
    ├── draw.h
    ├── effect.h
    ├── environment.h
    ├── face_change.h
    ├── face_reaction.h
    ├── fault.h
    ├── file_select_state.h
    ├── flag_set.h
    ├── font.h
    ├── frame_advance.h
    ├── game.h
    ├── game_over.h
    ├── gamealloc.h
    ├── gfx.h
    ├── gfx_setupdl.h
    ├── gfxalloc.h
    ├── horse.h
    ├── ichain.h
    ├── idle.h
    ├── inflate.h
    ├── interface.h
    ├── inventory.h
    ├── irqmgr.h
    ├── is_debug.h
    ├── item.h
    ├── jpeg.h
    ├── kaleido_manager.h
    ├── kanread.h
    ├── language_array.h
    ├── letterbox.h
    ├── libc
    │   ├── alloca.h
    │   ├── assert.h
    │   ├── math.h
    │   ├── stdarg.h
    │   ├── stdbool.h
    │   ├── stddef.h
    │   ├── stdint.h
    │   ├── stdlib.h
    │   └── string.h
    ├── libc64
    │   ├── aprintf.h
    │   ├── malloc.h
    │   ├── math64.h
    │   ├── os_malloc.h
    │   ├── qrand.h
    │   ├── sleep.h
    │   └── sprintf.h
    ├── libu64
    │   ├── debug.h
    │   ├── gfxprint.h
    │   ├── mtxuty-cvt.h
    │   ├── overlay.h
    │   ├── pad.h
    │   ├── padsetup.h
    │   ├── rcp_utils.h
    │   └── runtime.h
    ├── lifemeter.h
    ├── light.h
    ├── line_numbers.h
    ├── listalloc.h
    ├── macro.inc
    ├── main.h
    ├── map.h
    ├── map_mark.h
    ├── map_select_state.h
    ├── memory_utils.h
    ├── mempak.h
    ├── message.h
    ├── message_data_fmt.h
    ├── message_data_static.h
    ├── mio0.h
    ├── n64dd.h
    ├── object.h
    ├── ocarina.h
    ├── olib.h
    ├── one_point_cutscene.h
    ├── padmgr.h
    ├── path.h
    ├── pause.h
    ├── play_state.h
    ├── player.h
    ├── prenmi_buff.h
    ├── prenmi_state.h
    ├── prerender.h
    ├── printf.h
    ├── quake.h
    ├── quest_hint.h
    ├── quest_hint_commands.h
    ├── rand.h
    ├── region.h
    ├── regs.h
    ├── romfile.h
    ├── room.h
    ├── rumble.h
    ├── sample_state.h
    ├── save.h
    ├── scene.h
    ├── sched.h
    ├── segment_symbols.h
    ├── segmented_address.h
    ├── seqcmd.h
    ├── sequence.h
    ├── setup_state.h
    ├── sfx.h
    ├── sfx_source.h
    ├── skin.h
    ├── skin_matrix.h
    ├── skybox.h
    ├── speed_meter.h
    ├── sram.h
    ├── ss_sram.h
    ├── stack.h
    ├── stackcheck.h
    ├── sys_cfb.h
    ├── sys_debug_controller.h
    ├── sys_freeze.h
    ├── sys_math.h
    ├── sys_math3d.h
    ├── sys_matrix.h
    ├── sys_ucode.h
    ├── tables
    │   ├── actor_table.h
    │   ├── dmadata_table.h
    │   ├── dmadata_table_mqdbg.h
    │   ├── effect_ss_table.h
    │   ├── entrance_table.h
    │   ├── gamestate_table.h
    │   ├── object_table.h
    │   ├── scene_table.h
    │   ├── sequence_table.h
    │   └── sfx
    │   │   ├── enemybank_table.h
    │   │   ├── environmentbank_table.h
    │   │   ├── itembank_table.h
    │   │   ├── ocarinabank_table.h
    │   │   ├── playerbank_table.h
    │   │   ├── systembank_table.h
    │   │   └── voicebank_table.h
    ├── terminal.h
    ├── tex_len.h
    ├── tha.h
    ├── thga.h
    ├── thread.h
    ├── title_setup_state.h
    ├── transition.h
    ├── transition_circle.h
    ├── transition_fade.h
    ├── transition_instances.h
    ├── transition_tile.h
    ├── transition_triforce.h
    ├── transition_wipe.h
    ├── translation.h
    ├── ucode_disas.h
    ├── ultra64.h
    ├── ultra64
    │   ├── R4300.h
    │   ├── abi.h
    │   ├── asm.h
    │   ├── bbskapi.h
    │   ├── bcp.h
    │   ├── controller.h
    │   ├── convert.h
    │   ├── exception.h
    │   ├── gbi.h
    │   ├── gs2dex.h
    │   ├── gu.h
    │   ├── internal.h
    │   ├── leo.h
    │   ├── leoappli.h
    │   ├── leodrive.h
    │   ├── libc.h
    │   ├── mbi.h
    │   ├── message.h
    │   ├── motor.h
    │   ├── os_pi.h
    │   ├── os_system.h
    │   ├── os_vi.h
    │   ├── osint.h
    │   ├── pfs.h
    │   ├── pi.h
    │   ├── piint.h
    │   ├── rcp.h
    │   ├── rdb.h
    │   ├── regdef.h
    │   ├── siint.h
    │   ├── sptask.h
    │   ├── thread.h
    │   ├── time.h
    │   ├── ucode.h
    │   ├── ultratypes.h
    │   ├── version.h
    │   ├── vi.h
    │   ├── viint.h
    │   └── xstdio.h
    ├── unk.h
    ├── versions.h
    ├── vi_mode.h
    ├── view.h
    ├── vis.h
    ├── yaz0.h
    ├── z_actor_dlftbls.h
    ├── z_en_a_obj.h
    ├── z_en_item00.h
    ├── z_game_dlftbls.h
    ├── z_lib.h
    ├── z_locale.h
    ├── z_math.h
    └── zelda_arena.h
├── linker_scripts
    ├── data_with_rodata.ld
    ├── makerom.ld
    └── soundfont.ld
├── requirements.txt
├── retail_progress.py
├── spec
    ├── boot_libultra_gc.inc
    ├── boot_libultra_ique.inc
    ├── boot_libultra_n64.inc
    ├── code_libultra_gc.inc
    ├── code_libultra_ique.inc
    ├── code_libultra_n64.inc
    ├── overlays_gc.inc
    ├── overlays_n64_ique.inc
    ├── scenes_gc_ique.inc
    ├── scenes_n64.inc
    └── spec
├── src
    ├── audio
    │   ├── game
    │   │   ├── data.c
    │   │   ├── debug.inc.c
    │   │   ├── general.c
    │   │   ├── sequence.c
    │   │   ├── session_config.c
    │   │   ├── session_init.c
    │   │   ├── sfx.c
    │   │   └── sfx_params.c
    │   ├── internal
    │   │   ├── data.c
    │   │   ├── effects.c
    │   │   ├── heap.c
    │   │   ├── load.c
    │   │   ├── os.c
    │   │   ├── playback.c
    │   │   ├── seqplayer.c
    │   │   ├── synthesis.c
    │   │   └── thread.c
    │   └── tables
    │   │   ├── samplebank_table.c
    │   │   ├── sequence_table.c
    │   │   └── soundfont_table.c
    ├── boot
    │   ├── assert.c
    │   ├── boot_main.c
    │   ├── build.c
    │   ├── carthandle.c
    │   ├── cic6105.c
    │   ├── driverominit.c
    │   ├── idle.c
    │   ├── inflate.c
    │   ├── is_debug.c
    │   ├── is_debug_ique.c
    │   ├── mio0.s
    │   ├── viconfig.c
    │   ├── yaz0.c
    │   ├── z_locale.c
    │   └── z_std_dma.c
    ├── buffers
    │   ├── audio_heap.c
    │   ├── gfxbuffers.c
    │   └── zbuffer.c
    ├── code
    │   ├── PreRender.c
    │   ├── TwoHeadArena.c
    │   ├── TwoHeadGfxArena.c
    │   ├── audio_stop_all_sfx.c
    │   ├── audio_thread_manager.c
    │   ├── code_n64dd_800AD410.c
    │   ├── code_n64dd_800AD4C0.c
    │   ├── db_camera.c
    │   ├── debug_malloc.c
    │   ├── fault_gc.c
    │   ├── fault_gc_drawer.c
    │   ├── fault_n64.c
    │   ├── flg_set.c
    │   ├── gDPLoadTextureBlock_Runtime.inc.c
    │   ├── game.c
    │   ├── gamealloc.c
    │   ├── gfxalloc.c
    │   ├── graph.c
    │   ├── irqmgr.c
    │   ├── jpegdecoder.c
    │   ├── jpegutils.c
    │   ├── kanread.s
    │   ├── listalloc.c
    │   ├── main.c
    │   ├── mempak.c
    │   ├── object_table.c
    │   ├── padmgr.c
    │   ├── sched.c
    │   ├── shrink_window.c
    │   ├── speed_meter.c
    │   ├── sys_cfb.c
    │   ├── sys_debug_controller.c
    │   ├── sys_freeze.c
    │   ├── sys_math.c
    │   ├── sys_math3d.c
    │   ├── sys_math3d_draw.c
    │   ├── sys_math_atan.c
    │   ├── sys_matrix.c
    │   ├── sys_rumble.c
    │   ├── sys_ucode.c
    │   ├── title_setup.c
    │   ├── ucode_disas.c
    │   ├── z_DLF.c
    │   ├── z_actor.c
    │   ├── z_actor_dlftbls.c
    │   ├── z_bg_collect.c
    │   ├── z_bg_item.c
    │   ├── z_bgcheck.c
    │   ├── z_camera.c
    │   ├── z_camera_data.inc.c
    │   ├── z_cheap_proc.inc.c
    │   ├── z_collision_btltbls.c
    │   ├── z_collision_check.c
    │   ├── z_common_data.c
    │   ├── z_construct.c
    │   ├── z_cutscene_spline.c
    │   ├── z_debug.c
    │   ├── z_debug_display.c
    │   ├── z_demo.c
    │   ├── z_draw.c
    │   ├── z_eff_blure.c
    │   ├── z_eff_shield_particle.c
    │   ├── z_eff_spark.c
    │   ├── z_eff_ss_dead.c
    │   ├── z_effect.c
    │   ├── z_effect_soft_sprite.c
    │   ├── z_effect_soft_sprite_dlftbls.c
    │   ├── z_effect_soft_sprite_old_init.c
    │   ├── z_elf_message.c
    │   ├── z_en_a_keep.c
    │   ├── z_en_item00.c
    │   ├── z_env_flags.c
    │   ├── z_face_reaction.c
    │   ├── z_fbdemo.c
    │   ├── z_fbdemo_circle.c
    │   ├── z_fbdemo_fade.c
    │   ├── z_fbdemo_triforce.c
    │   ├── z_fbdemo_wipe1.c
    │   ├── z_fcurve_data.c
    │   ├── z_fcurve_data_skelanime.c
    │   ├── z_frame_advance.c
    │   ├── z_game_dlftbls.c
    │   ├── z_game_over.c
    │   ├── z_horse.c
    │   ├── z_inventory.c
    │   ├── z_jpeg.c
    │   ├── z_kaleido_manager.c
    │   ├── z_kaleido_scope_call.c
    │   ├── z_kaleido_setup.c
    │   ├── z_kanfont.c
    │   ├── z_kankyo.c
    │   ├── z_lib.c
    │   ├── z_lifemeter.c
    │   ├── z_lights.c
    │   ├── z_malloc.c
    │   ├── z_map_data.c
    │   ├── z_map_exp.c
    │   ├── z_map_mark.c
    │   ├── z_memory_utils.c
    │   ├── z_message.c
    │   ├── z_moji.c
    │   ├── z_nulltask.c
    │   ├── z_olib.c
    │   ├── z_onepointdemo.c
    │   ├── z_parameter.c
    │   ├── z_path.c
    │   ├── z_play.c
    │   ├── z_player_call.c
    │   ├── z_player_lib.c
    │   ├── z_prenmi.c
    │   ├── z_prenmi_buff.c
    │   ├── z_quake.c
    │   ├── z_rcp.c
    │   ├── z_room.c
    │   ├── z_rumble.c
    │   ├── z_sample.c
    │   ├── z_scene.c
    │   ├── z_scene_table.c
    │   ├── z_sfx_source.c
    │   ├── z_skelanime.c
    │   ├── z_skin.c
    │   ├── z_skin_awb.c
    │   ├── z_skin_matrix.c
    │   ├── z_sram.c
    │   ├── z_ss_sram.c
    │   ├── z_view.c
    │   ├── z_vimode.c
    │   ├── z_viscvg.c
    │   ├── z_vismono.c
    │   ├── z_viszbuf.c
    │   ├── z_vr_box.c
    │   └── z_vr_box_draw.c
    ├── dmadata
    │   └── dmadata.c
    ├── elf_message
    │   ├── elf_message_field.c
    │   └── elf_message_ydan.c
    ├── gcc_fix
    │   └── missing_gcc_functions.c
    ├── libc
    │   ├── fabsf.s
    │   ├── fmodf.c
    │   ├── memmove.c
    │   ├── memset.c
    │   └── sqrt.s
    ├── libc64
    │   ├── __osMalloc_gc.c
    │   ├── __osMalloc_n64.c
    │   ├── aprintf.c
    │   ├── fp.s
    │   ├── malloc.c
    │   ├── math64.c
    │   ├── qrand.c
    │   ├── sleep.c
    │   └── sprintf.c
    ├── libgcc
    │   ├── __cmpdi2.c
    │   ├── __divdi3.c
    │   ├── __fixdfdi.c
    │   ├── __fixsfdi.c
    │   ├── __fixunsdfdi.c
    │   ├── __fixunssfdi.c
    │   ├── __floatdidf.c
    │   ├── __floatdisf.c
    │   ├── __moddi3.c
    │   ├── __udivdi3.c
    │   ├── __umoddi3.c
    │   ├── libgcc2.inc.c
    │   └── longlong.h
    ├── libleo
    │   ├── api
    │   │   ├── bytetolba.c
    │   │   ├── cacreateleomanager.c
    │   │   ├── cjcreateleomanager.c
    │   │   ├── clearqueue.c
    │   │   ├── driveexist.c
    │   │   ├── getaadr.s
    │   │   ├── getaadr2.s
    │   │   ├── getkadr.s
    │   │   ├── lbatobyte.c
    │   │   ├── readwrite.c
    │   │   ├── seek.c
    │   │   ├── spdlmotor.c
    │   │   └── testunitready.c
    │   └── leo
    │   │   ├── leo_tbl.c
    │   │   ├── leoc2_syndrome.c
    │   │   ├── leoc2ecc.c
    │   │   ├── leocmdex.c
    │   │   ├── leodiskinit.c
    │   │   ├── leofunc.c
    │   │   ├── leoglobals.c
    │   │   ├── leoinquiry.c
    │   │   ├── leoint.c
    │   │   ├── leointerrupt.c
    │   │   ├── leomecha.c
    │   │   ├── leomode_sel.c
    │   │   ├── leomotor.c
    │   │   ├── leomseq_tbl.c
    │   │   ├── leoram.c
    │   │   ├── leord_capa.c
    │   │   ├── leord_diskid.c
    │   │   ├── leoread.c
    │   │   ├── leoreset.c
    │   │   ├── leorezero.c
    │   │   ├── leoseek.c
    │   │   ├── leotempbuffer.c
    │   │   ├── leotestunit.c
    │   │   ├── leotimer.c
    │   │   ├── leotranslat.c
    │   │   ├── leoutil.c
    │   │   └── leowrite.c
    ├── libu64
    │   ├── debug.c
    │   ├── gfxprint.c
    │   ├── load_gc.c
    │   ├── loadfragment2_gc.c
    │   ├── loadfragment2_n64.c
    │   ├── logseverity_gc.c
    │   ├── mtxuty-cvt.c
    │   ├── pad.c
    │   ├── padsetup.c
    │   ├── rcp_utils.c
    │   ├── relocation_gc.c
    │   ├── runtime.c
    │   └── stackcheck.c
    ├── libultra
    │   ├── audio
    │   │   ├── auxbus.c
    │   │   ├── copy.c
    │   │   ├── drvrnew.c
    │   │   ├── env.c
    │   │   ├── filter.c
    │   │   ├── heapalloc.c
    │   │   ├── libaudio.h
    │   │   ├── libaudio_abi.h
    │   │   ├── load.c
    │   │   ├── mainbus.c
    │   │   ├── resample.c
    │   │   ├── reverb.c
    │   │   ├── save.c
    │   │   ├── sl.c
    │   │   ├── synallocfx.c
    │   │   ├── syndelete.c
    │   │   ├── synthInternals.h
    │   │   └── synthesizer.c
    │   ├── bb
    │   │   ├── sa
    │   │   │   └── common.c
    │   │   └── sk
    │   │   │   └── skapi.s
    │   ├── gu
    │   │   ├── cosf.c
    │   │   ├── coss.c
    │   │   ├── libm_vals.s
    │   │   ├── lookat.c
    │   │   ├── lookathil.c
    │   │   ├── mtxutil.c
    │   │   ├── normalize.c
    │   │   ├── ortho.c
    │   │   ├── perspective.c
    │   │   ├── position.c
    │   │   ├── rotate.c
    │   │   ├── scale.c
    │   │   ├── sinf.c
    │   │   ├── sins.c
    │   │   ├── sintable.inc.c
    │   │   ├── sqrtf.s
    │   │   ├── translate.c
    │   │   └── us2dex.c
    │   ├── io
    │   │   ├── aigetlen.c
    │   │   ├── aisetfreq.c
    │   │   ├── cartrominit.c
    │   │   ├── contpfs.c
    │   │   ├── contquery.c
    │   │   ├── contramread.c
    │   │   ├── contramwrite.c
    │   │   ├── contreaddata.c
    │   │   ├── controller.c
    │   │   ├── contsetch.c
    │   │   ├── crc.c
    │   │   ├── devmgr.c
    │   │   ├── dpgetstat.c
    │   │   ├── dpsetstat.c
    │   │   ├── epidma.c
    │   │   ├── epirawdma.c
    │   │   ├── epirawread.c
    │   │   ├── epirawwrite.c
    │   │   ├── epiread.c
    │   │   ├── epiwrite.c
    │   │   ├── motor.c
    │   │   ├── pfsallocatefile.c
    │   │   ├── pfschecker.c
    │   │   ├── pfsdeletefile.c
    │   │   ├── pfsfilestate.c
    │   │   ├── pfsfindfile.c
    │   │   ├── pfsfreeblocks.c
    │   │   ├── pfsgetstatus.c
    │   │   ├── pfsinitpak.c
    │   │   ├── pfsisplug.c
    │   │   ├── pfsreadwritefile.c
    │   │   ├── pfsselectbank.c
    │   │   ├── piacs.c
    │   │   ├── pigetcmdq.c
    │   │   ├── pimgr.c
    │   │   ├── pirawdma.c
    │   │   ├── si.c
    │   │   ├── siacs.c
    │   │   ├── sirawdma.c
    │   │   ├── sirawread.c
    │   │   ├── sirawwrite.c
    │   │   ├── sp.c
    │   │   ├── spgetstat.c
    │   │   ├── sprawdma.c
    │   │   ├── spsetpc.c
    │   │   ├── spsetstat.c
    │   │   ├── sptask.c
    │   │   ├── sptaskyield.c
    │   │   ├── sptaskyielded.c
    │   │   ├── vi.c
    │   │   ├── viblack.c
    │   │   ├── viextendvstart.c
    │   │   ├── vigetcurrcontext.c
    │   │   ├── vigetcurrframebuf.c
    │   │   ├── vigetnextframebuf.c
    │   │   ├── vimgr.c
    │   │   ├── vimodefpalhaf1.c
    │   │   ├── vimodefpalhan1.c
    │   │   ├── vimodefpalhpf1.c
    │   │   ├── vimodefpalhpf2.c
    │   │   ├── vimodefpalhpn1.c
    │   │   ├── vimodefpalhpn2.c
    │   │   ├── vimodefpallaf1.c
    │   │   ├── vimodefpallaf2.c
    │   │   ├── vimodefpallan1.c
    │   │   ├── vimodefpallan2.c
    │   │   ├── vimodefpallpf1.c
    │   │   ├── vimodefpallpf2.c
    │   │   ├── vimodefpallpn1.c
    │   │   ├── vimodefpallpn2.c
    │   │   ├── vimodempalhaf1.c
    │   │   ├── vimodempalhan1.c
    │   │   ├── vimodempalhpf1.c
    │   │   ├── vimodempalhpf2.c
    │   │   ├── vimodempalhpn1.c
    │   │   ├── vimodempalhpn2.c
    │   │   ├── vimodempallaf1.c
    │   │   ├── vimodempallaf2.c
    │   │   ├── vimodempallan1.c
    │   │   ├── vimodempallan2.c
    │   │   ├── vimodempallpf1.c
    │   │   ├── vimodempallpf2.c
    │   │   ├── vimodempallpn1.c
    │   │   ├── vimodempallpn2.c
    │   │   ├── vimodentschaf1.c
    │   │   ├── vimodentschan1.c
    │   │   ├── vimodentschpf1.c
    │   │   ├── vimodentschpf2.c
    │   │   ├── vimodentschpn1.c
    │   │   ├── vimodentschpn2.c
    │   │   ├── vimodentsclaf1.c
    │   │   ├── vimodentsclaf2.c
    │   │   ├── vimodentsclan1.c
    │   │   ├── vimodentsclan2.c
    │   │   ├── vimodentsclpf1.c
    │   │   ├── vimodentsclpf2.c
    │   │   ├── vimodentsclpn1.c
    │   │   ├── vimodentsclpn2.c
    │   │   ├── vimodepalhaf1.c
    │   │   ├── vimodepalhan1.c
    │   │   ├── vimodepalhpf1.c
    │   │   ├── vimodepalhpf2.c
    │   │   ├── vimodepalhpn1.c
    │   │   ├── vimodepalhpn2.c
    │   │   ├── vimodepallaf1.c
    │   │   ├── vimodepallaf2.c
    │   │   ├── vimodepallan1.c
    │   │   ├── vimodepallan2.c
    │   │   ├── vimodepallpf1.c
    │   │   ├── vimodepallpf2.c
    │   │   ├── vimodepallpn1.c
    │   │   ├── vimodepallpn2.c
    │   │   ├── visetevent.c
    │   │   ├── visetmode.c
    │   │   ├── visetspecial.c
    │   │   ├── visetxscale.c
    │   │   ├── visetyscale.c
    │   │   ├── viswapbuf.c
    │   │   ├── viswapcontext.c
    │   │   └── vitbl.c
    │   ├── libc
    │   │   ├── bcmp.s
    │   │   ├── bcopy.s
    │   │   ├── bzero.s
    │   │   ├── ldiv.c
    │   │   ├── ll.c
    │   │   ├── llcvt.c
    │   │   ├── string.c
    │   │   ├── xldtob.c
    │   │   ├── xlitob.c
    │   │   └── xprintf.c
    │   ├── mgu
    │   │   ├── mtxf2l.s
    │   │   ├── mtxident.s
    │   │   ├── mtxidentf.s
    │   │   ├── mtxl2f.s
    │   │   ├── normalize.s
    │   │   ├── scale.s
    │   │   └── translate.s
    │   ├── os
    │   │   ├── afterprenmi.c
    │   │   ├── createmesgqueue.c
    │   │   ├── createthread.c
    │   │   ├── destroythread.c
    │   │   ├── exceptasm.s
    │   │   ├── getactivequeue.c
    │   │   ├── getcause.s
    │   │   ├── getcount.s
    │   │   ├── getcurrfaultedthread.c
    │   │   ├── getfpccsr.s
    │   │   ├── gethwintrroutine.c
    │   │   ├── getintmask.s
    │   │   ├── getmemsize.c
    │   │   ├── getsr.s
    │   │   ├── getthreadid.c
    │   │   ├── getthreadpri.c
    │   │   ├── gettime.c
    │   │   ├── initialize.c
    │   │   ├── interrupt.s
    │   │   ├── invaldcache.s
    │   │   ├── invalicache.s
    │   │   ├── jammesg.c
    │   │   ├── kdebugserver.c
    │   │   ├── maptlbrdb.s
    │   │   ├── parameters.s
    │   │   ├── probetlb.s
    │   │   ├── recvmesg.c
    │   │   ├── resetglobalintmask.c
    │   │   ├── sendmesg.c
    │   │   ├── setcompare.s
    │   │   ├── seteventmesg.c
    │   │   ├── setfpccsr.s
    │   │   ├── setglobalintmask.c
    │   │   ├── sethwintrroutine.c
    │   │   ├── setintmask.s
    │   │   ├── setsr.s
    │   │   ├── setthreadpri.c
    │   │   ├── settime.c
    │   │   ├── settimer.c
    │   │   ├── setwatchlo.s
    │   │   ├── startthread.c
    │   │   ├── stopthread.c
    │   │   ├── stoptimer.c
    │   │   ├── thread.c
    │   │   ├── timerintr.c
    │   │   ├── unmaptlball.s
    │   │   ├── virtualtophysical.c
    │   │   ├── writebackdcache.s
    │   │   ├── writebackdcacheall.s
    │   │   └── yieldthread.c
    │   └── reg
    │   │   ├── _getcount.c
    │   │   └── _setcompare.c
    ├── makerom
    │   ├── entry.s
    │   ├── rom_header.h
    │   └── rom_header.s
    ├── n64dd
    │   ├── n64dd_801C8000.c
    │   ├── n64dd_801C8940.c
    │   ├── n64dd_801C9440.c
    │   ├── n64dd_801C9B70.c
    │   ├── n64dd_801CA0B0.c
    │   ├── n64dd_data_buffer.c
    │   ├── n64dd_error_bodies.c
    │   ├── n64dd_error_headers.c
    │   ├── n64dd_error_textures.c
    │   └── z_n64dd.c
    └── overlays
    │   ├── actors
    │       ├── ovl_Arms_Hook
    │       │   ├── z_arms_hook.c
    │       │   └── z_arms_hook.h
    │       ├── ovl_Arrow_Fire
    │       │   ├── z_arrow_fire.c
    │       │   └── z_arrow_fire.h
    │       ├── ovl_Arrow_Ice
    │       │   ├── z_arrow_ice.c
    │       │   └── z_arrow_ice.h
    │       ├── ovl_Arrow_Light
    │       │   ├── z_arrow_light.c
    │       │   └── z_arrow_light.h
    │       ├── ovl_Bg_Bdan_Objects
    │       │   ├── z_bg_bdan_objects.c
    │       │   └── z_bg_bdan_objects.h
    │       ├── ovl_Bg_Bdan_Switch
    │       │   ├── z_bg_bdan_switch.c
    │       │   └── z_bg_bdan_switch.h
    │       ├── ovl_Bg_Bom_Guard
    │       │   ├── z_bg_bom_guard.c
    │       │   └── z_bg_bom_guard.h
    │       ├── ovl_Bg_Bombwall
    │       │   ├── z_bg_bombwall.c
    │       │   └── z_bg_bombwall.h
    │       ├── ovl_Bg_Bowl_Wall
    │       │   ├── z_bg_bowl_wall.c
    │       │   └── z_bg_bowl_wall.h
    │       ├── ovl_Bg_Breakwall
    │       │   ├── z_bg_breakwall.c
    │       │   └── z_bg_breakwall.h
    │       ├── ovl_Bg_Ddan_Jd
    │       │   ├── z_bg_ddan_jd.c
    │       │   └── z_bg_ddan_jd.h
    │       ├── ovl_Bg_Ddan_Kd
    │       │   ├── z_bg_ddan_kd.c
    │       │   └── z_bg_ddan_kd.h
    │       ├── ovl_Bg_Dodoago
    │       │   ├── z_bg_dodoago.c
    │       │   └── z_bg_dodoago.h
    │       ├── ovl_Bg_Dy_Yoseizo
    │       │   ├── z_bg_dy_yoseizo.c
    │       │   └── z_bg_dy_yoseizo.h
    │       ├── ovl_Bg_Ganon_Otyuka
    │       │   ├── z_bg_ganon_otyuka.c
    │       │   └── z_bg_ganon_otyuka.h
    │       ├── ovl_Bg_Gate_Shutter
    │       │   ├── z_bg_gate_shutter.c
    │       │   └── z_bg_gate_shutter.h
    │       ├── ovl_Bg_Gjyo_Bridge
    │       │   ├── z_bg_gjyo_bridge.c
    │       │   └── z_bg_gjyo_bridge.h
    │       ├── ovl_Bg_Gnd_Darkmeiro
    │       │   ├── z_bg_gnd_darkmeiro.c
    │       │   └── z_bg_gnd_darkmeiro.h
    │       ├── ovl_Bg_Gnd_Firemeiro
    │       │   ├── z_bg_gnd_firemeiro.c
    │       │   └── z_bg_gnd_firemeiro.h
    │       ├── ovl_Bg_Gnd_Iceblock
    │       │   ├── z_bg_gnd_iceblock.c
    │       │   └── z_bg_gnd_iceblock.h
    │       ├── ovl_Bg_Gnd_Nisekabe
    │       │   ├── z_bg_gnd_nisekabe.c
    │       │   └── z_bg_gnd_nisekabe.h
    │       ├── ovl_Bg_Gnd_Soulmeiro
    │       │   ├── z_bg_gnd_soulmeiro.c
    │       │   └── z_bg_gnd_soulmeiro.h
    │       ├── ovl_Bg_Haka
    │       │   ├── z_bg_haka.c
    │       │   └── z_bg_haka.h
    │       ├── ovl_Bg_Haka_Gate
    │       │   ├── z_bg_haka_gate.c
    │       │   └── z_bg_haka_gate.h
    │       ├── ovl_Bg_Haka_Huta
    │       │   ├── z_bg_haka_huta.c
    │       │   └── z_bg_haka_huta.h
    │       ├── ovl_Bg_Haka_Megane
    │       │   ├── z_bg_haka_megane.c
    │       │   └── z_bg_haka_megane.h
    │       ├── ovl_Bg_Haka_MeganeBG
    │       │   ├── z_bg_haka_meganebg.c
    │       │   └── z_bg_haka_meganebg.h
    │       ├── ovl_Bg_Haka_Sgami
    │       │   ├── z_bg_haka_sgami.c
    │       │   └── z_bg_haka_sgami.h
    │       ├── ovl_Bg_Haka_Ship
    │       │   ├── z_bg_haka_ship.c
    │       │   └── z_bg_haka_ship.h
    │       ├── ovl_Bg_Haka_Trap
    │       │   ├── z_bg_haka_trap.c
    │       │   └── z_bg_haka_trap.h
    │       ├── ovl_Bg_Haka_Tubo
    │       │   ├── z_bg_haka_tubo.c
    │       │   └── z_bg_haka_tubo.h
    │       ├── ovl_Bg_Haka_Water
    │       │   ├── z_bg_haka_water.c
    │       │   └── z_bg_haka_water.h
    │       ├── ovl_Bg_Haka_Zou
    │       │   ├── z_bg_haka_zou.c
    │       │   └── z_bg_haka_zou.h
    │       ├── ovl_Bg_Heavy_Block
    │       │   ├── z_bg_heavy_block.c
    │       │   └── z_bg_heavy_block.h
    │       ├── ovl_Bg_Hidan_Curtain
    │       │   ├── z_bg_hidan_curtain.c
    │       │   └── z_bg_hidan_curtain.h
    │       ├── ovl_Bg_Hidan_Dalm
    │       │   ├── z_bg_hidan_dalm.c
    │       │   └── z_bg_hidan_dalm.h
    │       ├── ovl_Bg_Hidan_Firewall
    │       │   ├── z_bg_hidan_firewall.c
    │       │   └── z_bg_hidan_firewall.h
    │       ├── ovl_Bg_Hidan_Fslift
    │       │   ├── z_bg_hidan_fslift.c
    │       │   └── z_bg_hidan_fslift.h
    │       ├── ovl_Bg_Hidan_Fwbig
    │       │   ├── z_bg_hidan_fwbig.c
    │       │   └── z_bg_hidan_fwbig.h
    │       ├── ovl_Bg_Hidan_Hamstep
    │       │   ├── z_bg_hidan_hamstep.c
    │       │   └── z_bg_hidan_hamstep.h
    │       ├── ovl_Bg_Hidan_Hrock
    │       │   ├── z_bg_hidan_hrock.c
    │       │   └── z_bg_hidan_hrock.h
    │       ├── ovl_Bg_Hidan_Kousi
    │       │   ├── z_bg_hidan_kousi.c
    │       │   └── z_bg_hidan_kousi.h
    │       ├── ovl_Bg_Hidan_Kowarerukabe
    │       │   ├── z_bg_hidan_kowarerukabe.c
    │       │   └── z_bg_hidan_kowarerukabe.h
    │       ├── ovl_Bg_Hidan_Rock
    │       │   ├── z_bg_hidan_rock.c
    │       │   └── z_bg_hidan_rock.h
    │       ├── ovl_Bg_Hidan_Rsekizou
    │       │   ├── z_bg_hidan_rsekizou.c
    │       │   └── z_bg_hidan_rsekizou.h
    │       ├── ovl_Bg_Hidan_Sekizou
    │       │   ├── z_bg_hidan_sekizou.c
    │       │   └── z_bg_hidan_sekizou.h
    │       ├── ovl_Bg_Hidan_Sima
    │       │   ├── z_bg_hidan_sima.c
    │       │   └── z_bg_hidan_sima.h
    │       ├── ovl_Bg_Hidan_Syoku
    │       │   ├── z_bg_hidan_syoku.c
    │       │   └── z_bg_hidan_syoku.h
    │       ├── ovl_Bg_Ice_Objects
    │       │   ├── z_bg_ice_objects.c
    │       │   └── z_bg_ice_objects.h
    │       ├── ovl_Bg_Ice_Shelter
    │       │   ├── z_bg_ice_shelter.c
    │       │   └── z_bg_ice_shelter.h
    │       ├── ovl_Bg_Ice_Shutter
    │       │   ├── z_bg_ice_shutter.c
    │       │   └── z_bg_ice_shutter.h
    │       ├── ovl_Bg_Ice_Turara
    │       │   ├── z_bg_ice_turara.c
    │       │   └── z_bg_ice_turara.h
    │       ├── ovl_Bg_Ingate
    │       │   ├── z_bg_ingate.c
    │       │   └── z_bg_ingate.h
    │       ├── ovl_Bg_Jya_1flift
    │       │   ├── z_bg_jya_1flift.c
    │       │   └── z_bg_jya_1flift.h
    │       ├── ovl_Bg_Jya_Amishutter
    │       │   ├── z_bg_jya_amishutter.c
    │       │   └── z_bg_jya_amishutter.h
    │       ├── ovl_Bg_Jya_Bigmirror
    │       │   ├── z_bg_jya_bigmirror.c
    │       │   └── z_bg_jya_bigmirror.h
    │       ├── ovl_Bg_Jya_Block
    │       │   ├── z_bg_jya_block.c
    │       │   └── z_bg_jya_block.h
    │       ├── ovl_Bg_Jya_Bombchuiwa
    │       │   ├── z_bg_jya_bombchuiwa.c
    │       │   └── z_bg_jya_bombchuiwa.h
    │       ├── ovl_Bg_Jya_Bombiwa
    │       │   ├── z_bg_jya_bombiwa.c
    │       │   └── z_bg_jya_bombiwa.h
    │       ├── ovl_Bg_Jya_Cobra
    │       │   ├── z_bg_jya_cobra.c
    │       │   └── z_bg_jya_cobra.h
    │       ├── ovl_Bg_Jya_Goroiwa
    │       │   ├── z_bg_jya_goroiwa.c
    │       │   └── z_bg_jya_goroiwa.h
    │       ├── ovl_Bg_Jya_Haheniron
    │       │   ├── z_bg_jya_haheniron.c
    │       │   └── z_bg_jya_haheniron.h
    │       ├── ovl_Bg_Jya_Ironobj
    │       │   ├── z_bg_jya_ironobj.c
    │       │   └── z_bg_jya_ironobj.h
    │       ├── ovl_Bg_Jya_Kanaami
    │       │   ├── z_bg_jya_kanaami.c
    │       │   └── z_bg_jya_kanaami.h
    │       ├── ovl_Bg_Jya_Lift
    │       │   ├── z_bg_jya_lift.c
    │       │   └── z_bg_jya_lift.h
    │       ├── ovl_Bg_Jya_Megami
    │       │   ├── z_bg_jya_megami.c
    │       │   └── z_bg_jya_megami.h
    │       ├── ovl_Bg_Jya_Zurerukabe
    │       │   ├── z_bg_jya_zurerukabe.c
    │       │   └── z_bg_jya_zurerukabe.h
    │       ├── ovl_Bg_Menkuri_Eye
    │       │   ├── z_bg_menkuri_eye.c
    │       │   └── z_bg_menkuri_eye.h
    │       ├── ovl_Bg_Menkuri_Kaiten
    │       │   ├── z_bg_menkuri_kaiten.c
    │       │   └── z_bg_menkuri_kaiten.h
    │       ├── ovl_Bg_Menkuri_Nisekabe
    │       │   ├── z_bg_menkuri_nisekabe.c
    │       │   └── z_bg_menkuri_nisekabe.h
    │       ├── ovl_Bg_Mizu_Bwall
    │       │   ├── z_bg_mizu_bwall.c
    │       │   └── z_bg_mizu_bwall.h
    │       ├── ovl_Bg_Mizu_Movebg
    │       │   ├── z_bg_mizu_movebg.c
    │       │   └── z_bg_mizu_movebg.h
    │       ├── ovl_Bg_Mizu_Shutter
    │       │   ├── z_bg_mizu_shutter.c
    │       │   └── z_bg_mizu_shutter.h
    │       ├── ovl_Bg_Mizu_Uzu
    │       │   ├── z_bg_mizu_uzu.c
    │       │   └── z_bg_mizu_uzu.h
    │       ├── ovl_Bg_Mizu_Water
    │       │   ├── z_bg_mizu_water.c
    │       │   └── z_bg_mizu_water.h
    │       ├── ovl_Bg_Mjin
    │       │   ├── z_bg_mjin.c
    │       │   └── z_bg_mjin.h
    │       ├── ovl_Bg_Mori_Bigst
    │       │   ├── z_bg_mori_bigst.c
    │       │   └── z_bg_mori_bigst.h
    │       ├── ovl_Bg_Mori_Elevator
    │       │   ├── z_bg_mori_elevator.c
    │       │   └── z_bg_mori_elevator.h
    │       ├── ovl_Bg_Mori_Hashigo
    │       │   ├── z_bg_mori_hashigo.c
    │       │   └── z_bg_mori_hashigo.h
    │       ├── ovl_Bg_Mori_Hashira4
    │       │   ├── z_bg_mori_hashira4.c
    │       │   └── z_bg_mori_hashira4.h
    │       ├── ovl_Bg_Mori_Hineri
    │       │   ├── z_bg_mori_hineri.c
    │       │   └── z_bg_mori_hineri.h
    │       ├── ovl_Bg_Mori_Idomizu
    │       │   ├── z_bg_mori_idomizu.c
    │       │   └── z_bg_mori_idomizu.h
    │       ├── ovl_Bg_Mori_Kaitenkabe
    │       │   ├── z_bg_mori_kaitenkabe.c
    │       │   └── z_bg_mori_kaitenkabe.h
    │       ├── ovl_Bg_Mori_Rakkatenjo
    │       │   ├── z_bg_mori_rakkatenjo.c
    │       │   └── z_bg_mori_rakkatenjo.h
    │       ├── ovl_Bg_Po_Event
    │       │   ├── z_bg_po_event.c
    │       │   └── z_bg_po_event.h
    │       ├── ovl_Bg_Po_Syokudai
    │       │   ├── z_bg_po_syokudai.c
    │       │   └── z_bg_po_syokudai.h
    │       ├── ovl_Bg_Pushbox
    │       │   ├── z_bg_pushbox.c
    │       │   └── z_bg_pushbox.h
    │       ├── ovl_Bg_Relay_Objects
    │       │   ├── z_bg_relay_objects.c
    │       │   └── z_bg_relay_objects.h
    │       ├── ovl_Bg_Spot00_Break
    │       │   ├── z_bg_spot00_break.c
    │       │   └── z_bg_spot00_break.h
    │       ├── ovl_Bg_Spot00_Hanebasi
    │       │   ├── z_bg_spot00_hanebasi.c
    │       │   └── z_bg_spot00_hanebasi.h
    │       ├── ovl_Bg_Spot01_Fusya
    │       │   ├── z_bg_spot01_fusya.c
    │       │   └── z_bg_spot01_fusya.h
    │       ├── ovl_Bg_Spot01_Idohashira
    │       │   ├── z_bg_spot01_idohashira.c
    │       │   └── z_bg_spot01_idohashira.h
    │       ├── ovl_Bg_Spot01_Idomizu
    │       │   ├── z_bg_spot01_idomizu.c
    │       │   └── z_bg_spot01_idomizu.h
    │       ├── ovl_Bg_Spot01_Idosoko
    │       │   ├── z_bg_spot01_idosoko.c
    │       │   └── z_bg_spot01_idosoko.h
    │       ├── ovl_Bg_Spot01_Objects2
    │       │   ├── z_bg_spot01_objects2.c
    │       │   └── z_bg_spot01_objects2.h
    │       ├── ovl_Bg_Spot02_Objects
    │       │   ├── z_bg_spot02_objects.c
    │       │   └── z_bg_spot02_objects.h
    │       ├── ovl_Bg_Spot03_Taki
    │       │   ├── z_bg_spot03_taki.c
    │       │   └── z_bg_spot03_taki.h
    │       ├── ovl_Bg_Spot05_Soko
    │       │   ├── z_bg_spot05_soko.c
    │       │   └── z_bg_spot05_soko.h
    │       ├── ovl_Bg_Spot06_Objects
    │       │   ├── z_bg_spot06_objects.c
    │       │   └── z_bg_spot06_objects.h
    │       ├── ovl_Bg_Spot07_Taki
    │       │   ├── z_bg_spot07_taki.c
    │       │   └── z_bg_spot07_taki.h
    │       ├── ovl_Bg_Spot08_Bakudankabe
    │       │   ├── z_bg_spot08_bakudankabe.c
    │       │   └── z_bg_spot08_bakudankabe.h
    │       ├── ovl_Bg_Spot08_Iceblock
    │       │   ├── z_bg_spot08_iceblock.c
    │       │   └── z_bg_spot08_iceblock.h
    │       ├── ovl_Bg_Spot09_Obj
    │       │   ├── z_bg_spot09_obj.c
    │       │   └── z_bg_spot09_obj.h
    │       ├── ovl_Bg_Spot11_Bakudankabe
    │       │   ├── z_bg_spot11_bakudankabe.c
    │       │   └── z_bg_spot11_bakudankabe.h
    │       ├── ovl_Bg_Spot11_Oasis
    │       │   ├── z_bg_spot11_oasis.c
    │       │   └── z_bg_spot11_oasis.h
    │       ├── ovl_Bg_Spot12_Gate
    │       │   ├── z_bg_spot12_gate.c
    │       │   └── z_bg_spot12_gate.h
    │       ├── ovl_Bg_Spot12_Saku
    │       │   ├── z_bg_spot12_saku.c
    │       │   └── z_bg_spot12_saku.h
    │       ├── ovl_Bg_Spot15_Rrbox
    │       │   ├── z_bg_spot15_rrbox.c
    │       │   └── z_bg_spot15_rrbox.h
    │       ├── ovl_Bg_Spot15_Saku
    │       │   ├── z_bg_spot15_saku.c
    │       │   └── z_bg_spot15_saku.h
    │       ├── ovl_Bg_Spot16_Bombstone
    │       │   ├── z_bg_spot16_bombstone.c
    │       │   └── z_bg_spot16_bombstone.h
    │       ├── ovl_Bg_Spot16_Doughnut
    │       │   ├── z_bg_spot16_doughnut.c
    │       │   └── z_bg_spot16_doughnut.h
    │       ├── ovl_Bg_Spot17_Bakudankabe
    │       │   ├── z_bg_spot17_bakudankabe.c
    │       │   └── z_bg_spot17_bakudankabe.h
    │       ├── ovl_Bg_Spot17_Funen
    │       │   ├── z_bg_spot17_funen.c
    │       │   └── z_bg_spot17_funen.h
    │       ├── ovl_Bg_Spot18_Basket
    │       │   ├── z_bg_spot18_basket.c
    │       │   └── z_bg_spot18_basket.h
    │       ├── ovl_Bg_Spot18_Futa
    │       │   ├── z_bg_spot18_futa.c
    │       │   └── z_bg_spot18_futa.h
    │       ├── ovl_Bg_Spot18_Obj
    │       │   ├── z_bg_spot18_obj.c
    │       │   └── z_bg_spot18_obj.h
    │       ├── ovl_Bg_Spot18_Shutter
    │       │   ├── z_bg_spot18_shutter.c
    │       │   └── z_bg_spot18_shutter.h
    │       ├── ovl_Bg_Sst_Floor
    │       │   ├── z_bg_sst_floor.c
    │       │   └── z_bg_sst_floor.h
    │       ├── ovl_Bg_Toki_Hikari
    │       │   ├── z_bg_toki_hikari.c
    │       │   └── z_bg_toki_hikari.h
    │       ├── ovl_Bg_Toki_Swd
    │       │   ├── z_bg_toki_swd.c
    │       │   ├── z_bg_toki_swd.h
    │       │   ├── z_bg_toki_swd_cutscene_data_1.c
    │       │   ├── z_bg_toki_swd_cutscene_data_2.c
    │       │   └── z_bg_toki_swd_cutscene_data_3.c
    │       ├── ovl_Bg_Treemouth
    │       │   ├── z_bg_treemouth.c
    │       │   ├── z_bg_treemouth.h
    │       │   └── z_bg_treemouth_cutscene_data.c
    │       ├── ovl_Bg_Umajump
    │       │   ├── z_bg_umajump.c
    │       │   └── z_bg_umajump.h
    │       ├── ovl_Bg_Vb_Sima
    │       │   ├── z_bg_vb_sima.c
    │       │   └── z_bg_vb_sima.h
    │       ├── ovl_Bg_Ydan_Hasi
    │       │   ├── z_bg_ydan_hasi.c
    │       │   └── z_bg_ydan_hasi.h
    │       ├── ovl_Bg_Ydan_Maruta
    │       │   ├── z_bg_ydan_maruta.c
    │       │   └── z_bg_ydan_maruta.h
    │       ├── ovl_Bg_Ydan_Sp
    │       │   ├── z_bg_ydan_sp.c
    │       │   └── z_bg_ydan_sp.h
    │       ├── ovl_Bg_Zg
    │       │   ├── z_bg_zg.c
    │       │   └── z_bg_zg.h
    │       ├── ovl_Boss_Dodongo
    │       │   ├── z_boss_dodongo.c
    │       │   ├── z_boss_dodongo.h
    │       │   └── z_boss_dodongo_data.inc.c
    │       ├── ovl_Boss_Fd
    │       │   ├── z_boss_fd.c
    │       │   ├── z_boss_fd.h
    │       │   └── z_boss_fd_colchk.inc.c
    │       ├── ovl_Boss_Fd2
    │       │   ├── z_boss_fd2.c
    │       │   ├── z_boss_fd2.h
    │       │   └── z_boss_fd2_colchk.inc.c
    │       ├── ovl_Boss_Ganon
    │       │   ├── z_boss_ganon.c
    │       │   └── z_boss_ganon.h
    │       ├── ovl_Boss_Ganon2
    │       │   ├── z_boss_ganon2.c
    │       │   └── z_boss_ganon2.h
    │       ├── ovl_Boss_Ganondrof
    │       │   ├── z_boss_ganondrof.c
    │       │   └── z_boss_ganondrof.h
    │       ├── ovl_Boss_Goma
    │       │   ├── z_boss_goma.c
    │       │   └── z_boss_goma.h
    │       ├── ovl_Boss_Mo
    │       │   ├── z_boss_mo.c
    │       │   ├── z_boss_mo.h
    │       │   └── z_boss_mo_colchk.inc.c
    │       ├── ovl_Boss_Sst
    │       │   ├── z_boss_sst.c
    │       │   ├── z_boss_sst.h
    │       │   └── z_boss_sst_colchk.inc.c
    │       ├── ovl_Boss_Tw
    │       │   ├── z_boss_tw.c
    │       │   └── z_boss_tw.h
    │       ├── ovl_Boss_Va
    │       │   ├── z_boss_va.c
    │       │   └── z_boss_va.h
    │       ├── ovl_Demo_6K
    │       │   ├── z_demo_6k.c
    │       │   └── z_demo_6k.h
    │       ├── ovl_Demo_Du
    │       │   ├── z_demo_du.c
    │       │   ├── z_demo_du.h
    │       │   └── z_demo_du_cutscene_data.inc.c
    │       ├── ovl_Demo_Ec
    │       │   ├── z_demo_ec.c
    │       │   └── z_demo_ec.h
    │       ├── ovl_Demo_Effect
    │       │   ├── z_demo_effect.c
    │       │   └── z_demo_effect.h
    │       ├── ovl_Demo_Ext
    │       │   ├── z_demo_ext.c
    │       │   └── z_demo_ext.h
    │       ├── ovl_Demo_Geff
    │       │   ├── z_demo_geff.c
    │       │   └── z_demo_geff.h
    │       ├── ovl_Demo_Gj
    │       │   ├── z_demo_gj.c
    │       │   └── z_demo_gj.h
    │       ├── ovl_Demo_Go
    │       │   ├── z_demo_go.c
    │       │   └── z_demo_go.h
    │       ├── ovl_Demo_Gt
    │       │   ├── z_demo_gt.c
    │       │   └── z_demo_gt.h
    │       ├── ovl_Demo_Ik
    │       │   ├── z_demo_ik.c
    │       │   └── z_demo_ik.h
    │       ├── ovl_Demo_Im
    │       │   ├── z_demo_im.c
    │       │   ├── z_demo_im.h
    │       │   └── z_demo_im_cutscene_data.inc.c
    │       ├── ovl_Demo_Kankyo
    │       │   ├── z_demo_kankyo.c
    │       │   ├── z_demo_kankyo.h
    │       │   ├── z_demo_kankyo_cutscene_data1.c
    │       │   ├── z_demo_kankyo_cutscene_data2.c
    │       │   ├── z_demo_kankyo_cutscene_data3.c
    │       │   ├── z_demo_kankyo_cutscene_data4.c
    │       │   ├── z_demo_kankyo_cutscene_data5.c
    │       │   ├── z_demo_kankyo_cutscene_data6.c
    │       │   ├── z_demo_kankyo_cutscene_data7.c
    │       │   └── z_demo_kankyo_cutscene_data8.c
    │       ├── ovl_Demo_Kekkai
    │       │   ├── z_demo_kekkai.c
    │       │   └── z_demo_kekkai.h
    │       ├── ovl_Demo_Sa
    │       │   ├── z_demo_sa.c
    │       │   ├── z_demo_sa.h
    │       │   └── z_demo_sa_cutscene_data.inc.c
    │       ├── ovl_Demo_Shd
    │       │   ├── z_demo_shd.c
    │       │   └── z_demo_shd.h
    │       ├── ovl_Demo_Tre_Lgt
    │       │   ├── z_demo_tre_lgt.c
    │       │   └── z_demo_tre_lgt.h
    │       ├── ovl_Door_Ana
    │       │   ├── z_door_ana.c
    │       │   └── z_door_ana.h
    │       ├── ovl_Door_Gerudo
    │       │   ├── z_door_gerudo.c
    │       │   └── z_door_gerudo.h
    │       ├── ovl_Door_Killer
    │       │   ├── z_door_killer.c
    │       │   └── z_door_killer.h
    │       ├── ovl_Door_Shutter
    │       │   ├── z_door_shutter.c
    │       │   └── z_door_shutter.h
    │       ├── ovl_Door_Toki
    │       │   ├── z_door_toki.c
    │       │   └── z_door_toki.h
    │       ├── ovl_Door_Warp1
    │       │   ├── z_door_warp1.c
    │       │   └── z_door_warp1.h
    │       ├── ovl_Efc_Erupc
    │       │   ├── z_efc_erupc.c
    │       │   └── z_efc_erupc.h
    │       ├── ovl_Eff_Dust
    │       │   ├── z_eff_dust.c
    │       │   └── z_eff_dust.h
    │       ├── ovl_Elf_Msg
    │       │   ├── z_elf_msg.c
    │       │   └── z_elf_msg.h
    │       ├── ovl_Elf_Msg2
    │       │   ├── z_elf_msg2.c
    │       │   └── z_elf_msg2.h
    │       ├── ovl_En_Am
    │       │   ├── z_en_am.c
    │       │   └── z_en_am.h
    │       ├── ovl_En_Ani
    │       │   ├── z_en_ani.c
    │       │   └── z_en_ani.h
    │       ├── ovl_En_Anubice
    │       │   ├── z_en_anubice.c
    │       │   └── z_en_anubice.h
    │       ├── ovl_En_Anubice_Fire
    │       │   ├── z_en_anubice_fire.c
    │       │   └── z_en_anubice_fire.h
    │       ├── ovl_En_Anubice_Tag
    │       │   ├── z_en_anubice_tag.c
    │       │   └── z_en_anubice_tag.h
    │       ├── ovl_En_Arow_Trap
    │       │   ├── z_en_arow_trap.c
    │       │   └── z_en_arow_trap.h
    │       ├── ovl_En_Arrow
    │       │   ├── z_en_arrow.c
    │       │   └── z_en_arrow.h
    │       ├── ovl_En_Attack_Niw
    │       │   ├── z_en_attack_niw.c
    │       │   └── z_en_attack_niw.h
    │       ├── ovl_En_Ba
    │       │   ├── z_en_ba.c
    │       │   └── z_en_ba.h
    │       ├── ovl_En_Bb
    │       │   ├── z_en_bb.c
    │       │   └── z_en_bb.h
    │       ├── ovl_En_Bdfire
    │       │   ├── z_en_bdfire.c
    │       │   └── z_en_bdfire.h
    │       ├── ovl_En_Bigokuta
    │       │   ├── z_en_bigokuta.c
    │       │   └── z_en_bigokuta.h
    │       ├── ovl_En_Bili
    │       │   ├── z_en_bili.c
    │       │   └── z_en_bili.h
    │       ├── ovl_En_Bird
    │       │   ├── z_en_bird.c
    │       │   └── z_en_bird.h
    │       ├── ovl_En_Blkobj
    │       │   ├── z_en_blkobj.c
    │       │   └── z_en_blkobj.h
    │       ├── ovl_En_Bom
    │       │   ├── z_en_bom.c
    │       │   └── z_en_bom.h
    │       ├── ovl_En_Bom_Bowl_Man
    │       │   ├── z_en_bom_bowl_man.c
    │       │   └── z_en_bom_bowl_man.h
    │       ├── ovl_En_Bom_Bowl_Pit
    │       │   ├── z_en_bom_bowl_pit.c
    │       │   └── z_en_bom_bowl_pit.h
    │       ├── ovl_En_Bom_Chu
    │       │   ├── z_en_bom_chu.c
    │       │   └── z_en_bom_chu.h
    │       ├── ovl_En_Bombf
    │       │   ├── z_en_bombf.c
    │       │   └── z_en_bombf.h
    │       ├── ovl_En_Boom
    │       │   ├── z_en_boom.c
    │       │   └── z_en_boom.h
    │       ├── ovl_En_Box
    │       │   ├── z_en_box.c
    │       │   └── z_en_box.h
    │       ├── ovl_En_Brob
    │       │   ├── z_en_brob.c
    │       │   └── z_en_brob.h
    │       ├── ovl_En_Bubble
    │       │   ├── z_en_bubble.c
    │       │   └── z_en_bubble.h
    │       ├── ovl_En_Butte
    │       │   ├── z_en_butte.c
    │       │   └── z_en_butte.h
    │       ├── ovl_En_Bw
    │       │   ├── z_en_bw.c
    │       │   └── z_en_bw.h
    │       ├── ovl_En_Bx
    │       │   ├── z_en_bx.c
    │       │   └── z_en_bx.h
    │       ├── ovl_En_Changer
    │       │   ├── z_en_changer.c
    │       │   └── z_en_changer.h
    │       ├── ovl_En_Clear_Tag
    │       │   ├── z_en_clear_tag.c
    │       │   └── z_en_clear_tag.h
    │       ├── ovl_En_Cow
    │       │   ├── z_en_cow.c
    │       │   └── z_en_cow.h
    │       ├── ovl_En_Crow
    │       │   ├── z_en_crow.c
    │       │   └── z_en_crow.h
    │       ├── ovl_En_Cs
    │       │   ├── z_en_cs.c
    │       │   └── z_en_cs.h
    │       ├── ovl_En_Daiku
    │       │   ├── z_en_daiku.c
    │       │   └── z_en_daiku.h
    │       ├── ovl_En_Daiku_Kakariko
    │       │   ├── z_en_daiku_kakariko.c
    │       │   └── z_en_daiku_kakariko.h
    │       ├── ovl_En_Dekubaba
    │       │   ├── z_en_dekubaba.c
    │       │   └── z_en_dekubaba.h
    │       ├── ovl_En_Dekunuts
    │       │   ├── z_en_dekunuts.c
    │       │   └── z_en_dekunuts.h
    │       ├── ovl_En_Dh
    │       │   ├── z_en_dh.c
    │       │   └── z_en_dh.h
    │       ├── ovl_En_Dha
    │       │   ├── z_en_dha.c
    │       │   └── z_en_dha.h
    │       ├── ovl_En_Diving_Game
    │       │   ├── z_en_diving_game.c
    │       │   └── z_en_diving_game.h
    │       ├── ovl_En_Dns
    │       │   ├── z_en_dns.c
    │       │   └── z_en_dns.h
    │       ├── ovl_En_Dnt_Demo
    │       │   ├── z_en_dnt_demo.c
    │       │   └── z_en_dnt_demo.h
    │       ├── ovl_En_Dnt_Jiji
    │       │   ├── z_en_dnt_jiji.c
    │       │   └── z_en_dnt_jiji.h
    │       ├── ovl_En_Dnt_Nomal
    │       │   ├── z_en_dnt_nomal.c
    │       │   └── z_en_dnt_nomal.h
    │       ├── ovl_En_Dodojr
    │       │   ├── z_en_dodojr.c
    │       │   └── z_en_dodojr.h
    │       ├── ovl_En_Dodongo
    │       │   ├── z_en_dodongo.c
    │       │   └── z_en_dodongo.h
    │       ├── ovl_En_Dog
    │       │   ├── z_en_dog.c
    │       │   └── z_en_dog.h
    │       ├── ovl_En_Door
    │       │   ├── z_en_door.c
    │       │   └── z_en_door.h
    │       ├── ovl_En_Ds
    │       │   ├── z_en_ds.c
    │       │   └── z_en_ds.h
    │       ├── ovl_En_Du
    │       │   ├── z_en_du.c
    │       │   └── z_en_du.h
    │       ├── ovl_En_Dy_Extra
    │       │   ├── z_en_dy_extra.c
    │       │   └── z_en_dy_extra.h
    │       ├── ovl_En_Eg
    │       │   ├── z_en_eg.c
    │       │   └── z_en_eg.h
    │       ├── ovl_En_Eiyer
    │       │   ├── z_en_eiyer.c
    │       │   └── z_en_eiyer.h
    │       ├── ovl_En_Elf
    │       │   ├── z_en_elf.c
    │       │   └── z_en_elf.h
    │       ├── ovl_En_Encount1
    │       │   ├── z_en_encount1.c
    │       │   └── z_en_encount1.h
    │       ├── ovl_En_Encount2
    │       │   ├── z_en_encount2.c
    │       │   └── z_en_encount2.h
    │       ├── ovl_En_Ex_Item
    │       │   ├── z_en_ex_item.c
    │       │   └── z_en_ex_item.h
    │       ├── ovl_En_Ex_Ruppy
    │       │   ├── z_en_ex_ruppy.c
    │       │   └── z_en_ex_ruppy.h
    │       ├── ovl_En_Fd
    │       │   ├── z_en_fd.c
    │       │   └── z_en_fd.h
    │       ├── ovl_En_Fd_Fire
    │       │   ├── z_en_fd_fire.c
    │       │   └── z_en_fd_fire.h
    │       ├── ovl_En_Fhg_Fire
    │       │   ├── z_en_fhg_fire.c
    │       │   └── z_en_fhg_fire.h
    │       ├── ovl_En_Fire_Rock
    │       │   ├── z_en_fire_rock.c
    │       │   └── z_en_fire_rock.h
    │       ├── ovl_En_Firefly
    │       │   ├── z_en_firefly.c
    │       │   └── z_en_firefly.h
    │       ├── ovl_En_Fish
    │       │   ├── z_en_fish.c
    │       │   └── z_en_fish.h
    │       ├── ovl_En_Floormas
    │       │   ├── z_en_floormas.c
    │       │   └── z_en_floormas.h
    │       ├── ovl_En_Fr
    │       │   ├── z_en_fr.c
    │       │   └── z_en_fr.h
    │       ├── ovl_En_Fu
    │       │   ├── z_en_fu.c
    │       │   └── z_en_fu.h
    │       ├── ovl_En_Fw
    │       │   ├── z_en_fw.c
    │       │   └── z_en_fw.h
    │       ├── ovl_En_Fz
    │       │   ├── z_en_fz.c
    │       │   └── z_en_fz.h
    │       ├── ovl_En_G_Switch
    │       │   ├── z_en_g_switch.c
    │       │   └── z_en_g_switch.h
    │       ├── ovl_En_Ganon_Mant
    │       │   ├── z_en_ganon_mant.c
    │       │   └── z_en_ganon_mant.h
    │       ├── ovl_En_Ganon_Organ
    │       │   ├── z_en_ganon_organ.c
    │       │   └── z_en_ganon_organ.h
    │       ├── ovl_En_Gb
    │       │   ├── z_en_gb.c
    │       │   └── z_en_gb.h
    │       ├── ovl_En_Ge1
    │       │   ├── z_en_ge1.c
    │       │   └── z_en_ge1.h
    │       ├── ovl_En_Ge2
    │       │   ├── z_en_ge2.c
    │       │   └── z_en_ge2.h
    │       ├── ovl_En_Ge3
    │       │   ├── z_en_ge3.c
    │       │   └── z_en_ge3.h
    │       ├── ovl_En_GeldB
    │       │   ├── z_en_geldb.c
    │       │   └── z_en_geldb.h
    │       ├── ovl_En_GirlA
    │       │   ├── z_en_girla.c
    │       │   └── z_en_girla.h
    │       ├── ovl_En_Gm
    │       │   ├── z_en_gm.c
    │       │   └── z_en_gm.h
    │       ├── ovl_En_Go
    │       │   ├── z_en_go.c
    │       │   └── z_en_go.h
    │       ├── ovl_En_Go2
    │       │   ├── z_en_go2.c
    │       │   └── z_en_go2.h
    │       ├── ovl_En_Goma
    │       │   ├── z_en_goma.c
    │       │   └── z_en_goma.h
    │       ├── ovl_En_Goroiwa
    │       │   ├── z_en_goroiwa.c
    │       │   └── z_en_goroiwa.h
    │       ├── ovl_En_Gs
    │       │   ├── z_en_gs.c
    │       │   └── z_en_gs.h
    │       ├── ovl_En_Guest
    │       │   ├── z_en_guest.c
    │       │   └── z_en_guest.h
    │       ├── ovl_En_Hata
    │       │   ├── z_en_hata.c
    │       │   └── z_en_hata.h
    │       ├── ovl_En_Heishi1
    │       │   ├── z_en_heishi1.c
    │       │   └── z_en_heishi1.h
    │       ├── ovl_En_Heishi2
    │       │   ├── z_en_heishi2.c
    │       │   └── z_en_heishi2.h
    │       ├── ovl_En_Heishi3
    │       │   ├── z_en_heishi3.c
    │       │   └── z_en_heishi3.h
    │       ├── ovl_En_Heishi4
    │       │   ├── z_en_heishi4.c
    │       │   └── z_en_heishi4.h
    │       ├── ovl_En_Hintnuts
    │       │   ├── z_en_hintnuts.c
    │       │   └── z_en_hintnuts.h
    │       ├── ovl_En_Holl
    │       │   ├── z_en_holl.c
    │       │   └── z_en_holl.h
    │       ├── ovl_En_Honotrap
    │       │   ├── z_en_honotrap.c
    │       │   └── z_en_honotrap.h
    │       ├── ovl_En_Horse
    │       │   ├── z_en_horse.c
    │       │   └── z_en_horse.h
    │       ├── ovl_En_Horse_Game_Check
    │       │   ├── z_en_horse_game_check.c
    │       │   └── z_en_horse_game_check.h
    │       ├── ovl_En_Horse_Ganon
    │       │   ├── z_en_horse_ganon.c
    │       │   └── z_en_horse_ganon.h
    │       ├── ovl_En_Horse_Link_Child
    │       │   ├── z_en_horse_link_child.c
    │       │   └── z_en_horse_link_child.h
    │       ├── ovl_En_Horse_Normal
    │       │   ├── z_en_horse_normal.c
    │       │   └── z_en_horse_normal.h
    │       ├── ovl_En_Horse_Zelda
    │       │   ├── z_en_horse_zelda.c
    │       │   └── z_en_horse_zelda.h
    │       ├── ovl_En_Hs
    │       │   ├── z_en_hs.c
    │       │   └── z_en_hs.h
    │       ├── ovl_En_Hs2
    │       │   ├── z_en_hs2.c
    │       │   └── z_en_hs2.h
    │       ├── ovl_En_Hy
    │       │   ├── z_en_hy.c
    │       │   └── z_en_hy.h
    │       ├── ovl_En_Ice_Hono
    │       │   ├── z_en_ice_hono.c
    │       │   └── z_en_ice_hono.h
    │       ├── ovl_En_Ik
    │       │   ├── z_en_ik.c
    │       │   └── z_en_ik.h
    │       ├── ovl_En_In
    │       │   ├── z_en_in.c
    │       │   └── z_en_in.h
    │       ├── ovl_En_Insect
    │       │   ├── z_en_insect.c
    │       │   └── z_en_insect.h
    │       ├── ovl_En_Ishi
    │       │   ├── z_en_ishi.c
    │       │   └── z_en_ishi.h
    │       ├── ovl_En_It
    │       │   ├── z_en_it.c
    │       │   └── z_en_it.h
    │       ├── ovl_En_Jj
    │       │   ├── z_en_jj.c
    │       │   ├── z_en_jj.h
    │       │   └── z_en_jj_cutscene_data.inc.c
    │       ├── ovl_En_Js
    │       │   ├── z_en_js.c
    │       │   └── z_en_js.h
    │       ├── ovl_En_Jsjutan
    │       │   ├── z_en_jsjutan.c
    │       │   └── z_en_jsjutan.h
    │       ├── ovl_En_Kakasi
    │       │   ├── z_en_kakasi.c
    │       │   └── z_en_kakasi.h
    │       ├── ovl_En_Kakasi2
    │       │   ├── z_en_kakasi2.c
    │       │   └── z_en_kakasi2.h
    │       ├── ovl_En_Kakasi3
    │       │   ├── z_en_kakasi3.c
    │       │   └── z_en_kakasi3.h
    │       ├── ovl_En_Kanban
    │       │   ├── z_en_kanban.c
    │       │   ├── z_en_kanban.h
    │       │   └── z_en_kanban_gfx.inc.c
    │       ├── ovl_En_Karebaba
    │       │   ├── z_en_karebaba.c
    │       │   └── z_en_karebaba.h
    │       ├── ovl_En_Ko
    │       │   ├── z_en_ko.c
    │       │   └── z_en_ko.h
    │       ├── ovl_En_Kusa
    │       │   ├── z_en_kusa.c
    │       │   └── z_en_kusa.h
    │       ├── ovl_En_Kz
    │       │   ├── z_en_kz.c
    │       │   └── z_en_kz.h
    │       ├── ovl_En_Light
    │       │   ├── z_en_light.c
    │       │   └── z_en_light.h
    │       ├── ovl_En_Lightbox
    │       │   ├── z_en_lightbox.c
    │       │   └── z_en_lightbox.h
    │       ├── ovl_En_M_Fire1
    │       │   ├── z_en_m_fire1.c
    │       │   └── z_en_m_fire1.h
    │       ├── ovl_En_M_Thunder
    │       │   ├── z_en_m_thunder.c
    │       │   └── z_en_m_thunder.h
    │       ├── ovl_En_Ma1
    │       │   ├── z_en_ma1.c
    │       │   └── z_en_ma1.h
    │       ├── ovl_En_Ma2
    │       │   ├── z_en_ma2.c
    │       │   └── z_en_ma2.h
    │       ├── ovl_En_Ma3
    │       │   ├── z_en_ma3.c
    │       │   └── z_en_ma3.h
    │       ├── ovl_En_Mag
    │       │   ├── z_en_mag.c
    │       │   └── z_en_mag.h
    │       ├── ovl_En_Mb
    │       │   ├── z_en_mb.c
    │       │   └── z_en_mb.h
    │       ├── ovl_En_Md
    │       │   ├── z_en_md.c
    │       │   └── z_en_md.h
    │       ├── ovl_En_Mk
    │       │   ├── z_en_mk.c
    │       │   └── z_en_mk.h
    │       ├── ovl_En_Mm
    │       │   ├── z_en_mm.c
    │       │   └── z_en_mm.h
    │       ├── ovl_En_Mm2
    │       │   ├── z_en_mm2.c
    │       │   └── z_en_mm2.h
    │       ├── ovl_En_Ms
    │       │   ├── z_en_ms.c
    │       │   └── z_en_ms.h
    │       ├── ovl_En_Mu
    │       │   ├── z_en_mu.c
    │       │   └── z_en_mu.h
    │       ├── ovl_En_Nb
    │       │   ├── z_en_nb.c
    │       │   ├── z_en_nb.h
    │       │   └── z_en_nb_cutscene_data.inc.c
    │       ├── ovl_En_Niw
    │       │   ├── z_en_niw.c
    │       │   └── z_en_niw.h
    │       ├── ovl_En_Niw_Girl
    │       │   ├── z_en_niw_girl.c
    │       │   └── z_en_niw_girl.h
    │       ├── ovl_En_Niw_Lady
    │       │   ├── z_en_niw_lady.c
    │       │   └── z_en_niw_lady.h
    │       ├── ovl_En_Nutsball
    │       │   ├── z_en_nutsball.c
    │       │   └── z_en_nutsball.h
    │       ├── ovl_En_Nwc
    │       │   ├── z_en_nwc.c
    │       │   └── z_en_nwc.h
    │       ├── ovl_En_Ny
    │       │   ├── z_en_ny.c
    │       │   └── z_en_ny.h
    │       ├── ovl_En_OE2
    │       │   ├── z_en_oe2.c
    │       │   └── z_en_oe2.h
    │       ├── ovl_En_Okarina_Effect
    │       │   ├── z_en_okarina_effect.c
    │       │   └── z_en_okarina_effect.h
    │       ├── ovl_En_Okarina_Tag
    │       │   ├── z_en_okarina_tag.c
    │       │   ├── z_en_okarina_tag.h
    │       │   └── z_en_okarina_tag_cutscene_data.c
    │       ├── ovl_En_Okuta
    │       │   ├── z_en_okuta.c
    │       │   └── z_en_okuta.h
    │       ├── ovl_En_Ossan
    │       │   ├── z_en_ossan.c
    │       │   └── z_en_ossan.h
    │       ├── ovl_En_Owl
    │       │   ├── z_en_owl.c
    │       │   └── z_en_owl.h
    │       ├── ovl_En_Part
    │       │   ├── z_en_part.c
    │       │   └── z_en_part.h
    │       ├── ovl_En_Peehat
    │       │   ├── z_en_peehat.c
    │       │   └── z_en_peehat.h
    │       ├── ovl_En_Po_Desert
    │       │   ├── z_en_po_desert.c
    │       │   └── z_en_po_desert.h
    │       ├── ovl_En_Po_Field
    │       │   ├── z_en_po_field.c
    │       │   └── z_en_po_field.h
    │       ├── ovl_En_Po_Relay
    │       │   ├── z_en_po_relay.c
    │       │   └── z_en_po_relay.h
    │       ├── ovl_En_Po_Sisters
    │       │   ├── z_en_po_sisters.c
    │       │   └── z_en_po_sisters.h
    │       ├── ovl_En_Poh
    │       │   ├── z_en_poh.c
    │       │   └── z_en_poh.h
    │       ├── ovl_En_Pu_box
    │       │   ├── z_en_pu_box.c
    │       │   └── z_en_pu_box.h
    │       ├── ovl_En_Rd
    │       │   ├── z_en_rd.c
    │       │   └── z_en_rd.h
    │       ├── ovl_En_Reeba
    │       │   ├── z_en_reeba.c
    │       │   └── z_en_reeba.h
    │       ├── ovl_En_River_Sound
    │       │   ├── z_en_river_sound.c
    │       │   └── z_en_river_sound.h
    │       ├── ovl_En_Rl
    │       │   ├── z_en_rl.c
    │       │   └── z_en_rl.h
    │       ├── ovl_En_Rr
    │       │   ├── z_en_rr.c
    │       │   └── z_en_rr.h
    │       ├── ovl_En_Ru1
    │       │   ├── z_en_ru1.c
    │       │   ├── z_en_ru1.h
    │       │   └── z_en_ru1_cutscene_data.inc.c
    │       ├── ovl_En_Ru2
    │       │   ├── z_en_ru2.c
    │       │   ├── z_en_ru2.h
    │       │   └── z_en_ru2_cutscene_data.inc.c
    │       ├── ovl_En_Sa
    │       │   ├── z_en_sa.c
    │       │   └── z_en_sa.h
    │       ├── ovl_En_Sb
    │       │   ├── z_en_sb.c
    │       │   └── z_en_sb.h
    │       ├── ovl_En_Scene_Change
    │       │   ├── z_en_scene_change.c
    │       │   └── z_en_scene_change.h
    │       ├── ovl_En_Sda
    │       │   ├── z_en_sda.c
    │       │   └── z_en_sda.h
    │       ├── ovl_En_Shopnuts
    │       │   ├── z_en_shopnuts.c
    │       │   └── z_en_shopnuts.h
    │       ├── ovl_En_Si
    │       │   ├── z_en_si.c
    │       │   └── z_en_si.h
    │       ├── ovl_En_Siofuki
    │       │   ├── z_en_siofuki.c
    │       │   └── z_en_siofuki.h
    │       ├── ovl_En_Skb
    │       │   ├── z_en_skb.c
    │       │   └── z_en_skb.h
    │       ├── ovl_En_Skj
    │       │   ├── z_en_skj.c
    │       │   └── z_en_skj.h
    │       ├── ovl_En_Skjneedle
    │       │   ├── z_en_skjneedle.c
    │       │   └── z_en_skjneedle.h
    │       ├── ovl_En_Ssh
    │       │   ├── z_en_ssh.c
    │       │   └── z_en_ssh.h
    │       ├── ovl_En_St
    │       │   ├── z_en_st.c
    │       │   └── z_en_st.h
    │       ├── ovl_En_Sth
    │       │   ├── z_en_sth.c
    │       │   └── z_en_sth.h
    │       ├── ovl_En_Stream
    │       │   ├── z_en_stream.c
    │       │   └── z_en_stream.h
    │       ├── ovl_En_Sw
    │       │   ├── z_en_sw.c
    │       │   └── z_en_sw.h
    │       ├── ovl_En_Syateki_Itm
    │       │   ├── z_en_syateki_itm.c
    │       │   └── z_en_syateki_itm.h
    │       ├── ovl_En_Syateki_Man
    │       │   ├── z_en_syateki_man.c
    │       │   └── z_en_syateki_man.h
    │       ├── ovl_En_Syateki_Niw
    │       │   ├── z_en_syateki_niw.c
    │       │   └── z_en_syateki_niw.h
    │       ├── ovl_En_Ta
    │       │   ├── z_en_ta.c
    │       │   └── z_en_ta.h
    │       ├── ovl_En_Takara_Man
    │       │   ├── z_en_takara_man.c
    │       │   └── z_en_takara_man.h
    │       ├── ovl_En_Tana
    │       │   ├── z_en_tana.c
    │       │   └── z_en_tana.h
    │       ├── ovl_En_Test
    │       │   ├── z_en_test.c
    │       │   └── z_en_test.h
    │       ├── ovl_En_Tg
    │       │   ├── z_en_tg.c
    │       │   └── z_en_tg.h
    │       ├── ovl_En_Tite
    │       │   ├── z_en_tite.c
    │       │   └── z_en_tite.h
    │       ├── ovl_En_Tk
    │       │   ├── z_en_tk.c
    │       │   └── z_en_tk.h
    │       ├── ovl_En_Torch
    │       │   ├── z_en_torch.c
    │       │   └── z_en_torch.h
    │       ├── ovl_En_Torch2
    │       │   ├── z_en_torch2.c
    │       │   └── z_en_torch2.h
    │       ├── ovl_En_Toryo
    │       │   ├── z_en_toryo.c
    │       │   └── z_en_toryo.h
    │       ├── ovl_En_Tp
    │       │   ├── z_en_tp.c
    │       │   └── z_en_tp.h
    │       ├── ovl_En_Tr
    │       │   ├── z_en_tr.c
    │       │   └── z_en_tr.h
    │       ├── ovl_En_Trap
    │       │   ├── z_en_trap.c
    │       │   └── z_en_trap.h
    │       ├── ovl_En_Tubo_Trap
    │       │   ├── z_en_tubo_trap.c
    │       │   └── z_en_tubo_trap.h
    │       ├── ovl_En_Vali
    │       │   ├── z_en_vali.c
    │       │   └── z_en_vali.h
    │       ├── ovl_En_Vase
    │       │   ├── z_en_vase.c
    │       │   └── z_en_vase.h
    │       ├── ovl_En_Vb_Ball
    │       │   ├── z_en_vb_ball.c
    │       │   └── z_en_vb_ball.h
    │       ├── ovl_En_Viewer
    │       │   ├── z_en_viewer.c
    │       │   └── z_en_viewer.h
    │       ├── ovl_En_Vm
    │       │   ├── z_en_vm.c
    │       │   └── z_en_vm.h
    │       ├── ovl_En_Wall_Tubo
    │       │   ├── z_en_wall_tubo.c
    │       │   └── z_en_wall_tubo.h
    │       ├── ovl_En_Wallmas
    │       │   ├── z_en_wallmas.c
    │       │   └── z_en_wallmas.h
    │       ├── ovl_En_Weather_Tag
    │       │   ├── z_en_weather_tag.c
    │       │   └── z_en_weather_tag.h
    │       ├── ovl_En_Weiyer
    │       │   ├── z_en_weiyer.c
    │       │   └── z_en_weiyer.h
    │       ├── ovl_En_Wf
    │       │   ├── z_en_wf.c
    │       │   └── z_en_wf.h
    │       ├── ovl_En_Wonder_Item
    │       │   ├── z_en_wonder_item.c
    │       │   └── z_en_wonder_item.h
    │       ├── ovl_En_Wonder_Talk
    │       │   ├── z_en_wonder_talk.c
    │       │   └── z_en_wonder_talk.h
    │       ├── ovl_En_Wonder_Talk2
    │       │   ├── z_en_wonder_talk2.c
    │       │   └── z_en_wonder_talk2.h
    │       ├── ovl_En_Wood02
    │       │   ├── z_en_wood02.c
    │       │   └── z_en_wood02.h
    │       ├── ovl_En_Xc
    │       │   ├── z_en_xc.c
    │       │   └── z_en_xc.h
    │       ├── ovl_En_Yabusame_Mark
    │       │   ├── z_en_yabusame_mark.c
    │       │   └── z_en_yabusame_mark.h
    │       ├── ovl_En_Yukabyun
    │       │   ├── z_en_yukabyun.c
    │       │   └── z_en_yukabyun.h
    │       ├── ovl_En_Zf
    │       │   ├── z_en_zf.c
    │       │   └── z_en_zf.h
    │       ├── ovl_En_Zl1
    │       │   ├── z_en_zl1.c
    │       │   ├── z_en_zl1.h
    │       │   ├── z_en_zl1_camera_data.inc.c
    │       │   └── z_en_zl1_cutscene_data.c
    │       ├── ovl_En_Zl2
    │       │   ├── z_en_zl2.c
    │       │   └── z_en_zl2.h
    │       ├── ovl_En_Zl3
    │       │   ├── z_en_zl3.c
    │       │   └── z_en_zl3.h
    │       ├── ovl_En_Zl4
    │       │   ├── z_en_zl4.c
    │       │   ├── z_en_zl4.h
    │       │   └── z_en_zl4_cutscene_data.inc.c
    │       ├── ovl_En_Zo
    │       │   ├── z_en_zo.c
    │       │   └── z_en_zo.h
    │       ├── ovl_En_fHG
    │       │   ├── z_en_fhg.c
    │       │   └── z_en_fhg.h
    │       ├── ovl_End_Title
    │       │   ├── z_end_title.c
    │       │   └── z_end_title.h
    │       ├── ovl_Fishing
    │       │   ├── z_fishing.c
    │       │   └── z_fishing.h
    │       ├── ovl_Item_B_Heart
    │       │   ├── z_item_b_heart.c
    │       │   └── z_item_b_heart.h
    │       ├── ovl_Item_Etcetera
    │       │   ├── z_item_etcetera.c
    │       │   └── z_item_etcetera.h
    │       ├── ovl_Item_Inbox
    │       │   ├── z_item_inbox.c
    │       │   └── z_item_inbox.h
    │       ├── ovl_Item_Ocarina
    │       │   ├── z_item_ocarina.c
    │       │   └── z_item_ocarina.h
    │       ├── ovl_Item_Shield
    │       │   ├── z_item_shield.c
    │       │   └── z_item_shield.h
    │       ├── ovl_Magic_Dark
    │       │   ├── z_magic_dark.c
    │       │   └── z_magic_dark.h
    │       ├── ovl_Magic_Fire
    │       │   ├── z_magic_fire.c
    │       │   └── z_magic_fire.h
    │       ├── ovl_Magic_Wind
    │       │   ├── z_magic_wind.c
    │       │   └── z_magic_wind.h
    │       ├── ovl_Mir_Ray
    │       │   ├── z_mir_ray.c
    │       │   └── z_mir_ray.h
    │       ├── ovl_Obj_Bean
    │       │   ├── z_obj_bean.c
    │       │   └── z_obj_bean.h
    │       ├── ovl_Obj_Blockstop
    │       │   ├── z_obj_blockstop.c
    │       │   └── z_obj_blockstop.h
    │       ├── ovl_Obj_Bombiwa
    │       │   ├── z_obj_bombiwa.c
    │       │   └── z_obj_bombiwa.h
    │       ├── ovl_Obj_Comb
    │       │   ├── z_obj_comb.c
    │       │   └── z_obj_comb.h
    │       ├── ovl_Obj_Dekujr
    │       │   ├── z_obj_dekujr.c
    │       │   └── z_obj_dekujr.h
    │       ├── ovl_Obj_Elevator
    │       │   ├── z_obj_elevator.c
    │       │   └── z_obj_elevator.h
    │       ├── ovl_Obj_Hamishi
    │       │   ├── z_obj_hamishi.c
    │       │   └── z_obj_hamishi.h
    │       ├── ovl_Obj_Hana
    │       │   ├── z_obj_hana.c
    │       │   └── z_obj_hana.h
    │       ├── ovl_Obj_Hsblock
    │       │   ├── z_obj_hsblock.c
    │       │   └── z_obj_hsblock.h
    │       ├── ovl_Obj_Ice_Poly
    │       │   ├── z_obj_ice_poly.c
    │       │   └── z_obj_ice_poly.h
    │       ├── ovl_Obj_Kibako
    │       │   ├── z_obj_kibako.c
    │       │   └── z_obj_kibako.h
    │       ├── ovl_Obj_Kibako2
    │       │   ├── z_obj_kibako2.c
    │       │   └── z_obj_kibako2.h
    │       ├── ovl_Obj_Lift
    │       │   ├── z_obj_lift.c
    │       │   └── z_obj_lift.h
    │       ├── ovl_Obj_Lightswitch
    │       │   ├── z_obj_lightswitch.c
    │       │   └── z_obj_lightswitch.h
    │       ├── ovl_Obj_Makekinsuta
    │       │   ├── z_obj_makekinsuta.c
    │       │   └── z_obj_makekinsuta.h
    │       ├── ovl_Obj_Makeoshihiki
    │       │   ├── z_obj_makeoshihiki.c
    │       │   └── z_obj_makeoshihiki.h
    │       ├── ovl_Obj_Mure
    │       │   ├── z_obj_mure.c
    │       │   └── z_obj_mure.h
    │       ├── ovl_Obj_Mure2
    │       │   ├── z_obj_mure2.c
    │       │   └── z_obj_mure2.h
    │       ├── ovl_Obj_Mure3
    │       │   ├── z_obj_mure3.c
    │       │   └── z_obj_mure3.h
    │       ├── ovl_Obj_Oshihiki
    │       │   ├── z_obj_oshihiki.c
    │       │   └── z_obj_oshihiki.h
    │       ├── ovl_Obj_Roomtimer
    │       │   ├── z_obj_roomtimer.c
    │       │   └── z_obj_roomtimer.h
    │       ├── ovl_Obj_Switch
    │       │   ├── z_obj_switch.c
    │       │   └── z_obj_switch.h
    │       ├── ovl_Obj_Syokudai
    │       │   ├── z_obj_syokudai.c
    │       │   └── z_obj_syokudai.h
    │       ├── ovl_Obj_Timeblock
    │       │   ├── z_obj_timeblock.c
    │       │   └── z_obj_timeblock.h
    │       ├── ovl_Obj_Tsubo
    │       │   ├── z_obj_tsubo.c
    │       │   └── z_obj_tsubo.h
    │       ├── ovl_Obj_Warp2block
    │       │   ├── z_obj_warp2block.c
    │       │   └── z_obj_warp2block.h
    │       ├── ovl_Object_Kankyo
    │       │   ├── z_object_kankyo.c
    │       │   └── z_object_kankyo.h
    │       ├── ovl_Oceff_Spot
    │       │   ├── z_oceff_spot.c
    │       │   └── z_oceff_spot.h
    │       ├── ovl_Oceff_Storm
    │       │   ├── z_oceff_storm.c
    │       │   └── z_oceff_storm.h
    │       ├── ovl_Oceff_Wipe
    │       │   ├── z_oceff_wipe.c
    │       │   └── z_oceff_wipe.h
    │       ├── ovl_Oceff_Wipe2
    │       │   ├── z_oceff_wipe2.c
    │       │   └── z_oceff_wipe2.h
    │       ├── ovl_Oceff_Wipe3
    │       │   ├── z_oceff_wipe3.c
    │       │   └── z_oceff_wipe3.h
    │       ├── ovl_Oceff_Wipe4
    │       │   ├── z_oceff_wipe4.c
    │       │   └── z_oceff_wipe4.h
    │       ├── ovl_Shot_Sun
    │       │   ├── z_shot_sun.c
    │       │   └── z_shot_sun.h
    │       └── ovl_player_actor
    │       │   └── z_player.c
    │   ├── effects
    │       ├── ovl_Effect_Ss_Blast
    │       │   ├── z_eff_ss_blast.c
    │       │   └── z_eff_ss_blast.h
    │       ├── ovl_Effect_Ss_Bomb
    │       │   ├── z_eff_ss_bomb.c
    │       │   └── z_eff_ss_bomb.h
    │       ├── ovl_Effect_Ss_Bomb2
    │       │   ├── z_eff_ss_bomb2.c
    │       │   └── z_eff_ss_bomb2.h
    │       ├── ovl_Effect_Ss_Bubble
    │       │   ├── z_eff_ss_bubble.c
    │       │   └── z_eff_ss_bubble.h
    │       ├── ovl_Effect_Ss_D_Fire
    │       │   ├── z_eff_ss_d_fire.c
    │       │   └── z_eff_ss_d_fire.h
    │       ├── ovl_Effect_Ss_Dead_Db
    │       │   ├── z_eff_ss_dead_db.c
    │       │   └── z_eff_ss_dead_db.h
    │       ├── ovl_Effect_Ss_Dead_Dd
    │       │   ├── z_eff_ss_dead_dd.c
    │       │   └── z_eff_ss_dead_dd.h
    │       ├── ovl_Effect_Ss_Dead_Ds
    │       │   ├── z_eff_ss_dead_ds.c
    │       │   └── z_eff_ss_dead_ds.h
    │       ├── ovl_Effect_Ss_Dead_Sound
    │       │   ├── z_eff_ss_dead_sound.c
    │       │   └── z_eff_ss_dead_sound.h
    │       ├── ovl_Effect_Ss_Dt_Bubble
    │       │   ├── z_eff_ss_dt_bubble.c
    │       │   └── z_eff_ss_dt_bubble.h
    │       ├── ovl_Effect_Ss_Dust
    │       │   ├── z_eff_ss_dust.c
    │       │   └── z_eff_ss_dust.h
    │       ├── ovl_Effect_Ss_En_Fire
    │       │   ├── z_eff_ss_en_fire.c
    │       │   └── z_eff_ss_en_fire.h
    │       ├── ovl_Effect_Ss_En_Ice
    │       │   ├── z_eff_ss_en_ice.c
    │       │   └── z_eff_ss_en_ice.h
    │       ├── ovl_Effect_Ss_Extra
    │       │   ├── z_eff_ss_extra.c
    │       │   └── z_eff_ss_extra.h
    │       ├── ovl_Effect_Ss_Fcircle
    │       │   ├── z_eff_ss_fcircle.c
    │       │   └── z_eff_ss_fcircle.h
    │       ├── ovl_Effect_Ss_Fhg_Flash
    │       │   ├── z_eff_ss_fhg_flash.c
    │       │   └── z_eff_ss_fhg_flash.h
    │       ├── ovl_Effect_Ss_Fire_Tail
    │       │   ├── z_eff_ss_fire_tail.c
    │       │   └── z_eff_ss_fire_tail.h
    │       ├── ovl_Effect_Ss_G_Fire
    │       │   ├── z_eff_ss_g_fire.c
    │       │   └── z_eff_ss_g_fire.h
    │       ├── ovl_Effect_Ss_G_Magma
    │       │   ├── z_eff_ss_g_magma.c
    │       │   └── z_eff_ss_g_magma.h
    │       ├── ovl_Effect_Ss_G_Magma2
    │       │   ├── z_eff_ss_g_magma2.c
    │       │   └── z_eff_ss_g_magma2.h
    │       ├── ovl_Effect_Ss_G_Ripple
    │       │   ├── z_eff_ss_g_ripple.c
    │       │   └── z_eff_ss_g_ripple.h
    │       ├── ovl_Effect_Ss_G_Spk
    │       │   ├── z_eff_ss_g_spk.c
    │       │   └── z_eff_ss_g_spk.h
    │       ├── ovl_Effect_Ss_G_Splash
    │       │   ├── z_eff_ss_g_splash.c
    │       │   └── z_eff_ss_g_splash.h
    │       ├── ovl_Effect_Ss_Hahen
    │       │   ├── z_eff_ss_hahen.c
    │       │   └── z_eff_ss_hahen.h
    │       ├── ovl_Effect_Ss_HitMark
    │       │   ├── z_eff_ss_hitmark.c
    │       │   └── z_eff_ss_hitmark.h
    │       ├── ovl_Effect_Ss_Ice_Piece
    │       │   ├── z_eff_ss_ice_piece.c
    │       │   └── z_eff_ss_ice_piece.h
    │       ├── ovl_Effect_Ss_Ice_Smoke
    │       │   ├── z_eff_ss_ice_smoke.c
    │       │   └── z_eff_ss_ice_smoke.h
    │       ├── ovl_Effect_Ss_K_Fire
    │       │   ├── z_eff_ss_k_fire.c
    │       │   └── z_eff_ss_k_fire.h
    │       ├── ovl_Effect_Ss_Kakera
    │       │   ├── z_eff_ss_kakera.c
    │       │   └── z_eff_ss_kakera.h
    │       ├── ovl_Effect_Ss_KiraKira
    │       │   ├── z_eff_ss_kirakira.c
    │       │   └── z_eff_ss_kirakira.h
    │       ├── ovl_Effect_Ss_Lightning
    │       │   ├── z_eff_ss_lightning.c
    │       │   └── z_eff_ss_lightning.h
    │       ├── ovl_Effect_Ss_Sibuki
    │       │   ├── z_eff_ss_sibuki.c
    │       │   └── z_eff_ss_sibuki.h
    │       ├── ovl_Effect_Ss_Sibuki2
    │       │   ├── z_eff_ss_sibuki2.c
    │       │   └── z_eff_ss_sibuki2.h
    │       ├── ovl_Effect_Ss_Solder_Srch_Ball
    │       │   ├── z_eff_ss_solder_srch_ball.c
    │       │   └── z_eff_ss_solder_srch_ball.h
    │       ├── ovl_Effect_Ss_Stick
    │       │   ├── z_eff_ss_stick.c
    │       │   └── z_eff_ss_stick.h
    │       └── ovl_Effect_Ss_Stone1
    │       │   ├── z_eff_ss_stone1.c
    │       │   └── z_eff_ss_stone1.h
    │   ├── gamestates
    │       ├── ovl_file_choose
    │       │   ├── file_select.h
    │       │   ├── z_file_choose.c
    │       │   ├── z_file_copy_erase.c
    │       │   ├── z_file_nameset.c
    │       │   └── z_file_nameset_data.c
    │       ├── ovl_opening
    │       │   └── z_opening.c
    │       ├── ovl_select
    │       │   └── z_select.c
    │       └── ovl_title
    │       │   └── z_title.c
    │   └── misc
    │       ├── ovl_kaleido_scope
    │           ├── z_kaleido_collect.c
    │           ├── z_kaleido_debug.c
    │           ├── z_kaleido_equipment.c
    │           ├── z_kaleido_item.c
    │           ├── z_kaleido_map.c
    │           ├── z_kaleido_prompt.c
    │           ├── z_kaleido_scope.c
    │           ├── z_kaleido_scope.h
    │           ├── z_lmap_mark.c
    │           ├── z_lmap_mark_data.c
    │           └── z_lmap_mark_data_mq.c
    │       └── ovl_map_mark_data
    │           ├── z_map_mark_data.c
    │           └── z_map_mark_data_mq.c
├── sym_info.py
├── tools
    ├── .gitignore
    ├── Makefile
    ├── asm-differ
    │   ├── .github
    │   │   └── workflows
    │   │   │   ├── black.yml
    │   │   │   ├── check-poetry-lock.yml
    │   │   │   └── unit-tests.yml
    │   ├── .gitignore
    │   ├── .gitrepo
    │   ├── .pre-commit-config.yaml
    │   ├── LICENSE
    │   ├── README.md
    │   ├── diff-stylesheet.css
    │   ├── diff.py
    │   ├── diff_settings.py
    │   ├── mypy.ini
    │   ├── poetry.lock
    │   ├── pyproject.toml
    │   ├── screenshot.png
    │   └── test.py
    ├── asm_processor
    │   ├── asm_processor.py
    │   ├── build.py
    │   └── prelude.inc
    ├── assets
    │   ├── Makefile
    │   ├── build_from_png
    │   │   ├── .gitignore
    │   │   ├── Makefile
    │   │   └── build_from_png.c
    │   ├── conf.py
    │   ├── descriptor
    │   │   ├── README.md
    │   │   ├── __main__.py
    │   │   ├── base.py
    │   │   ├── n64resources.py
    │   │   ├── spec.md
    │   │   ├── xml_errors.py
    │   │   └── z64resources.py
    │   ├── extract
    │   │   ├── __main__.py
    │   │   ├── extase
    │   │   │   ├── __init__.py
    │   │   │   ├── cdata_resources.py
    │   │   │   ├── memorymap.py
    │   │   │   └── repr_c_struct.py
    │   │   ├── extase_oot64
    │   │   │   ├── animation_resources.py
    │   │   │   ├── collision_resources.py
    │   │   │   ├── dlist_resources.py
    │   │   │   ├── misc_resources.py
    │   │   │   ├── playeranim_resources.py
    │   │   │   ├── room_shape_resources.py
    │   │   │   ├── scene_commands_resource.py
    │   │   │   ├── scene_rooms_resources.py
    │   │   │   ├── skelanime_legacy_resources.py
    │   │   │   ├── skelcurve_resources.py
    │   │   │   ├── skeleton_resources.py
    │   │   │   └── skeleton_skin_resources.py
    │   │   ├── extract_xml_z64.py
    │   │   ├── oot64_data
    │   │   │   ├── Makefile
    │   │   │   ├── __init__.py
    │   │   │   ├── actor_ids.py
    │   │   │   ├── audio_ids.py
    │   │   │   ├── entrance_ids_special.py
    │   │   │   ├── entrance_table_mini.py
    │   │   │   ├── misc_ids.py
    │   │   │   ├── object_ids.py
    │   │   │   └── scene_table_mini.py
    │   │   ├── write_source.txt
    │   │   └── z64_resource_handlers.py
    │   ├── n64.py
    │   └── n64texconv
    │   │   ├── .clang-format
    │   │   ├── .gitignore
    │   │   ├── LICENSE
    │   │   ├── Makefile
    │   │   ├── __init__.py
    │   │   ├── lib
    │   │       ├── libimagequant
    │   │       │   ├── COPYRIGHT
    │   │       │   ├── blur.c
    │   │       │   ├── blur.h
    │   │       │   ├── kmeans.c
    │   │       │   ├── kmeans.h
    │   │       │   ├── libimagequant.c
    │   │       │   ├── libimagequant.h
    │   │       │   ├── libimagequant_private.h
    │   │       │   ├── mediancut.c
    │   │       │   ├── mediancut.h
    │   │       │   ├── mempool.c
    │   │       │   ├── mempool.h
    │   │       │   ├── nearest.c
    │   │       │   ├── nearest.h
    │   │       │   ├── pam.c
    │   │       │   ├── pam.h
    │   │       │   ├── remap.c
    │   │       │   └── remap.h
    │   │       └── spng
    │   │       │   ├── LICENSE
    │   │       │   ├── spng.c
    │   │       │   └── spng.h
    │   │   └── src
    │   │       ├── LICENSE
    │   │       ├── app
    │   │           └── main.c
    │   │       └── libn64texconv
    │   │           ├── bin2c.c
    │   │           ├── bin2c.h
    │   │           ├── endian.h
    │   │           ├── jfif.c
    │   │           ├── jfif.h
    │   │           ├── n64texconv.c
    │   │           └── n64texconv.h
    ├── assist.py
    ├── audio
    │   ├── .clang-format
    │   ├── .gitignore
    │   ├── Makefile
    │   ├── README.md
    │   ├── afile_sizes.c
    │   ├── aifc.c
    │   ├── aifc.h
    │   ├── audio_tablegen.c
    │   ├── elf32.h
    │   ├── extraction
    │   │   ├── audio_extract.py
    │   │   ├── audio_tables.py
    │   │   ├── audiobank_file.py
    │   │   ├── audiobank_structs.py
    │   │   ├── audiotable.py
    │   │   ├── disassemble_sequence.py
    │   │   ├── envelope.py
    │   │   ├── extraction_xml.py
    │   │   ├── tuning.py
    │   │   └── util.py
    │   ├── samplebank.c
    │   ├── samplebank.h
    │   ├── samplebank_compiler.c
    │   ├── sampleconv
    │   │   ├── .clang-format
    │   │   ├── .gitignore
    │   │   ├── Makefile
    │   │   └── src
    │   │   │   ├── codec
    │   │   │       ├── codec.h
    │   │   │       ├── uncompressed.c
    │   │   │       ├── uncompressed.h
    │   │   │       ├── vadpcm.c
    │   │   │       ├── vadpcm.h
    │   │   │       └── vadpcm_tabledesign.c
    │   │   │   ├── container
    │   │   │       ├── aiff.c
    │   │   │       ├── aiff.h
    │   │   │       ├── container.c
    │   │   │       ├── container.h
    │   │   │       ├── wav.c
    │   │   │       └── wav.h
    │   │   │   ├── main.c
    │   │   │   ├── util.c
    │   │   │   └── util.h
    │   ├── sfpatch.c
    │   ├── soundfont.c
    │   ├── soundfont.h
    │   ├── soundfont_compiler.c
    │   ├── util.c
    │   ├── util.h
    │   ├── xml.c
    │   └── xml.h
    ├── bin2c.c
    ├── check_disasm_metadata_unksyms.py
    ├── check_format.py
    ├── com-plugin
    │   ├── .gitignore
    │   ├── .gitrepo
    │   ├── LICENSE
    │   ├── Makefile
    │   ├── README.md
    │   ├── elf.h
    │   ├── endian.h
    │   ├── plugin-api.h
    │   └── plugin.c
    ├── compare_actors_sizes.py
    ├── compress.py
    ├── convert_chars.py
    ├── csdis.py
    ├── csdis_re.py
    ├── decompile_data.py
    ├── decompress_baserom.py
    ├── disasm
    │   ├── disasm.py
    │   ├── do_disasm.sh
    │   ├── file_addresses.py
    │   └── sym_info.py
    ├── disasm_elf_msg.py
    ├── dmadata.py
    ├── dmadata_start.sh
    ├── elf2rom.c
    ├── elf32.c
    ├── elf32.h
    ├── endian.h
    ├── extract_assets.sh
    ├── extract_audio.py
    ├── extract_baserom.py
    ├── extract_incbins.py
    ├── extract_text.py
    ├── fado
    │   ├── .clang-format
    │   ├── .gitignore
    │   ├── .gitrepo
    │   ├── LICENSE
    │   ├── Makefile
    │   ├── README.md
    │   ├── find_program.sh
    │   ├── include
    │   │   ├── fado.h
    │   │   ├── help.h
    │   │   ├── macros.h
    │   │   ├── mido.h
    │   │   └── mips_elf.h
    │   ├── lib
    │   │   ├── fairy
    │   │   │   ├── fairy.c
    │   │   │   ├── fairy.h
    │   │   │   ├── fairy_data.inc
    │   │   │   ├── fairy_print.c
    │   │   │   └── fairy_print.h
    │   │   └── vc_vector
    │   │   │   ├── .gitrepo
    │   │   │   ├── .travis.yml
    │   │   │   ├── LICENSE.md
    │   │   │   ├── Makefile
    │   │   │   ├── README.md
    │   │   │   ├── vc_vector.c
    │   │   │   ├── vc_vector.h
    │   │   │   ├── vc_vector_test.c
    │   │   │   └── vc_vector_test.h
    │   ├── ovl_En_Hs_reloc.s
    │   ├── src
    │   │   ├── fado.c
    │   │   ├── help.c
    │   │   ├── main.c
    │   │   ├── mido.c
    │   │   └── version.inc
    │   └── z64_relocation_section_format.md
    ├── fix_bss.py
    ├── generate_patch_from_jenkins.sh
    ├── ichaindis.py
    ├── ido5.3_compiler
    │   ├── LICENSE.md
    │   ├── lib
    │   │   ├── libmalloc.so
    │   │   ├── libmalloc_old.so
    │   │   └── rld
    │   └── usr
    │   │   ├── bin
    │   │       └── cc
    │   │   └── lib
    │   │       ├── as0
    │   │       ├── as1
    │   │       ├── cfe
    │   │       ├── crt1.o
    │   │       ├── err.english.cc
    │   │       ├── libc.so.1
    │   │       ├── libexc.so
    │   │       ├── libgen.so
    │   │       ├── libm.so
    │   │       ├── ugen
    │   │       ├── ujoin
    │   │       ├── uld
    │   │       ├── umerge
    │   │       ├── uopt
    │   │       └── usplit
    ├── ido7.1_compiler
    │   ├── lib
    │   │   ├── cpp
    │   │   ├── libc.so.1
    │   │   ├── libmalloc.so
    │   │   └── rld
    │   └── usr
    │   │   ├── bin
    │   │       └── cc
    │   │   └── lib
    │   │       ├── as1
    │   │       ├── cfe
    │   │       ├── err.english.cc
    │   │       ├── libc.so.1
    │   │       ├── libexc.so
    │   │       ├── libm.so
    │   │       ├── ugen
    │   │       ├── umerge
    │   │       └── uopt
    ├── ido_block_numbers.py
    ├── m2ctx.py
    ├── makeromfs.c
    ├── mkdmadata.c
    ├── mkldscript.c
    ├── msgenc.py
    ├── n64chksum.c
    ├── n64chksum.h
    ├── namefixer.py
    ├── overlayhelpers
    │   ├── colliderinit.py
    │   ├── damage_table.py
    │   ├── filemap.py
    │   ├── filetable.json
    │   ├── lmapmark.py
    │   └── mapmark.py
    ├── patch_data_with_rodata_mdebug.py
    ├── patch_ique_driverominit.py
    ├── patch_ique_kaleido_reloc.py
    ├── permuter_settings.toml
    ├── preprocess.sh
    ├── preprocess_pragmas.c
    ├── regconvert.py
    ├── reloc_prereq.c
    ├── rgba5551.py
    ├── set_o32abi_bit.py
    ├── sfxconvert.py
    ├── spec.c
    ├── spec.h
    ├── split_out.py
    ├── tests
    │   ├── README
    │   └── test_preprocess_pragmas.py
    ├── util.c
    ├── util.h
    ├── version_config.py
    ├── vt_fmt.py
    └── vtxdis.c
└── undefined_syms.txt


/.dockerignore:
--------------------------------------------------------------------------------
1 | *
2 | 
3 | 


--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 | # Set browser syntax highlighting for certain files
4 | *.inc linguist-language=gas
5 | *.seq linguist-language=gas
6 | include/audio/aseq.h linguist-language=gas
7 | 


--------------------------------------------------------------------------------
/assets/objects/object_umajump/object_umajump.h:
--------------------------------------------------------------------------------
 1 | #ifndef OBJECT_UMAJUMP_H
 2 | #define OBJECT_UMAJUMP_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "bgcheck.h"
 6 | 
 7 | extern Gfx gJumpableHorseFenceDL[37];
 8 | extern CollisionHeader gJumpableHorseFenceCol;
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/assets/objects/object_zg/object_zg.h:
--------------------------------------------------------------------------------
 1 | #ifndef OBJECT_ZG_H
 2 | #define OBJECT_ZG_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "bgcheck.h"
 6 | 
 7 | extern Gfx gTowerCollapseBarsDL[28];
 8 | 
 9 | extern CollisionHeader gTowerCollapseBarsCol;
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/assets/objects/object_zo/effect_ripples.c:
--------------------------------------------------------------------------------
 1 | #include "object_zo.h"
 2 | #include "assets/objects/gameplay_keep/gameplay_keep.h"
 3 | 
 4 | Gfx gZoraRipplesMaterialDL[13] = {
 5 | #include "assets/objects/object_zo/gZoraRipplesMaterialDL.inc.c"
 6 | };
 7 | 
 8 | Gfx gZoraRipplesModelDL[3] = {
 9 | #include "assets/objects/object_zo/gZoraRipplesModelDL.inc.c"
10 | };
11 | 


--------------------------------------------------------------------------------
/assets/objects/object_zo/gZoraIdleAnim.c:
--------------------------------------------------------------------------------
 1 | #include "object_zo.h"
 2 | #include "array_count.h"
 3 | 
 4 | s16 gZoraIdleFrameData[] = {
 5 | #include "assets/objects/object_zo/gZoraIdleFrameData.inc.c"
 6 | };
 7 | 
 8 | JointIndex gZoraIdleJointIndices[] = {
 9 | #include "assets/objects/object_zo/gZoraIdleJointIndices.inc.c"
10 | };
11 | 
12 | AnimationHeader gZoraIdleAnim = {
13 | #include "assets/objects/object_zo/gZoraIdleAnim.inc.c"
14 | };
15 | 


--------------------------------------------------------------------------------
/assets/objects/object_zo/gZoraOpenArmsAnim.c:
--------------------------------------------------------------------------------
 1 | #include "object_zo.h"
 2 | #include "array_count.h"
 3 | 
 4 | s16 gZoraOpenArmsFrameData[] = {
 5 | #include "assets/objects/object_zo/gZoraOpenArmsFrameData.inc.c"
 6 | };
 7 | 
 8 | JointIndex gZoraOpenArmsJointIndices[] = {
 9 | #include "assets/objects/object_zo/gZoraOpenArmsJointIndices.inc.c"
10 | };
11 | 
12 | AnimationHeader gZoraOpenArmsAnim = {
13 | #include "assets/objects/object_zo/gZoraOpenArmsAnim.inc.c"
14 | };
15 | 


--------------------------------------------------------------------------------
/assets/objects/object_zo/gZoraSurfaceAnim.c:
--------------------------------------------------------------------------------
 1 | #include "object_zo.h"
 2 | #include "array_count.h"
 3 | 
 4 | s16 gZoraSurfaceFrameData[] = {
 5 | #include "assets/objects/object_zo/gZoraSurfaceFrameData.inc.c"
 6 | };
 7 | 
 8 | JointIndex gZoraSurfaceJointIndices[] = {
 9 | #include "assets/objects/object_zo/gZoraSurfaceJointIndices.inc.c"
10 | };
11 | 
12 | AnimationHeader gZoraSurfaceAnim = {
13 | #include "assets/objects/object_zo/gZoraSurfaceAnim.inc.c"
14 | };
15 | 


--------------------------------------------------------------------------------
/assets/text/message_data_staff.h:
--------------------------------------------------------------------------------
1 | #include "text/message_data_staff.h"
2 | 


--------------------------------------------------------------------------------
/assets/text/staff_message_data_static.c:
--------------------------------------------------------------------------------
1 | #define MESSAGE_DATA_STATIC
2 | 
3 | #include "message_data_fmt.h"
4 | 
5 | #define DEFINE_MESSAGE(textId, type, yPos, staffMessage) \
6 |     const char _message_##textId##_staff[] = staffMessage;
7 | 
8 | #include "assets/text/message_data_staff.enc.nes.h"
9 | 


--------------------------------------------------------------------------------
/assets/xml/audio/samplebanks/SampleBank_2.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. For other purposes see assets/audio/samplebanks/ -->
2 | <SampleBank Name="SampleBank_2" Index="2">
3 |     <Sample Name="SAMPLE_2_0" FileName="Sample0" SampleRate="32000" BaseNote="F4"/>
4 | </SampleBank>
5 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_0.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_0" Index="0"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_1.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_1" Index="1"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_10.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_10" Index="10"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_100.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_100" Index="100"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_101.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_101" Index="101"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_102.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_102" Index="102"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_103.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_103" Index="103"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_104.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_104" Index="104"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_105.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_105" Index="105"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_106.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_106" Index="106"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_107.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_107" Index="107"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_108.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_108" Index="108"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_109.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_109" Index="109"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_11.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_11" Index="11"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_12.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_12" Index="12"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_13.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_13" Index="13"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_14.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_14" Index="14"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_15.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_15" Index="15"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_16.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_16" Index="16"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_17.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_17" Index="17"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_18.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_18" Index="18"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_19.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_19" Index="19"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_2.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_2" Index="2"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_20.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_20" Index="20"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_21.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_21" Index="21"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_22.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_22" Index="22"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_23.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_23" Index="23"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_24.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_24" Index="24"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_25.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_25" Index="25"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_26.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_26" Index="26"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_27.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_27" Index="27"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_28.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_28" Index="28"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_29.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_29" Index="29"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_3.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_3" Index="3"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_30.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_30" Index="30"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_31.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_31" Index="31"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_32.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_32" Index="32"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_33.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_33" Index="33"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_34.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_34" Index="34"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_35.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_35" Index="35"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_36.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_36" Index="36"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_37.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_37" Index="37"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_38.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_38" Index="38"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_39.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_39" Index="39"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_4.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_4" Index="4"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_40.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_40" Index="40"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_41.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_41" Index="41"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_42.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_42" Index="42"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_43.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_43" Index="43"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_44.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_44" Index="44"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_45.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_45" Index="45"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_46.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_46" Index="46"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_47.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_47" Index="47"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_48.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_48" Index="48"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_49.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_49" Index="49"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_5.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_5" Index="5"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_50.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_50" Index="50"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_51.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_51" Index="51"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_52.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_52" Index="52"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_53.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_53" Index="53"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_54.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_54" Index="54"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_55.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_55" Index="55"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_56.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_56" Index="56"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_57.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_57" Index="57"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_58.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_58" Index="58"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_59.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_59" Index="59"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_6.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_6" Index="6"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_60.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_60" Index="60"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_61.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_61" Index="61"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_62.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_62" Index="62"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_63.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_63" Index="63"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_64.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_64" Index="64"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_65.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_65" Index="65"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_66.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_66" Index="66"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_67.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_67" Index="67"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_68.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_68" Index="68"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_69.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_69" Index="69"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_7.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_7" Index="7"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_70.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_70" Index="70"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_71.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_71" Index="71"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_72.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_72" Index="72"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_73.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_73" Index="73"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_74.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_74" Index="74"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_75.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_75" Index="75"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_76.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_76" Index="76"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_77.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_77" Index="77"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_78.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_78" Index="78"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_79.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_79" Index="79"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_8.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_8" Index="8"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_80.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_80" Index="80"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_81.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_81" Index="81"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_82.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_82" Index="82"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_83.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_83" Index="83"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_84.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_84" Index="84"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_85.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_85" Index="85"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_86.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_86" Index="86"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_88.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_88" Index="88"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_89.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_89" Index="89"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_9.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_9" Index="9"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_90.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_90" Index="90"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_91.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_91" Index="91"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_92.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_92" Index="92"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_93.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_93" Index="93"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_94.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_94" Index="94"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_95.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_95" Index="95"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_96.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_96" Index="96"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_97.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_97" Index="97"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_98.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_98" Index="98"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/sequences/seq_99.xml:
--------------------------------------------------------------------------------
1 | <!-- This file is only for extraction of vanilla data. -->
2 | <Sequence Name="Sequence_99" Index="99"/>
3 | 


--------------------------------------------------------------------------------
/assets/xml/audio/soundfonts/Soundfont_26.xml:
--------------------------------------------------------------------------------
 1 | <!-- This file is only for extraction of vanilla data. For other purposes see assets/audio/soundfonts/ -->
 2 | <SoundFont Name="Soundfont_26" Index="26">
 3 |     <Envelopes>
 4 |         <Envelope Name="Env0"/>
 5 |     </Envelopes>
 6 |     <Instruments>
 7 |         <Instrument ProgramNumber="14" Name="INST_14"/>
 8 |         <Instrument ProgramNumber="13" Name="INST_13"/>
 9 |     </Instruments>
10 | </SoundFont>
11 | 


--------------------------------------------------------------------------------
/assets/xml/code/fbdemo_triforce.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="code">
3 |         <DList Name="sTransTriforceDL" Offset="0x0"/>
4 |         <Array Name="sTransTriforceVtx" Count="10" Offset="0x30">
5 |             <Vtx/>
6 |         </Array>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/code/fbdemo_wipe1.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="code">
 3 |         <Array Name="sTransWipeVtx" Count="25" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <Texture Name="sTransWipeTex" Format="i4" Width="64" Height="64" Offset="0x190"/>
 7 |         <DList Name="sTransWipeDL" Offset="0x990"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_bubble.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_bubble" Segment="6">
 3 |         <Texture Name="gBubbleTex" Format="ia8" Width="64" Height="64" Offset="0x0"/>
 4 |         <DList Name="gBubbleDL" Offset="0x1000"/>
 5 |         <Array Name="gBubbleVtx" Count="4" Offset="0x1080">
 6 |             <Vtx/>
 7 |         </Array>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_demo_tre_lgt.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_demo_tre_lgt" Segment="6">
3 |         <!-- This file is empty -->
4 |         <Blob Name="gWarpDemoTreLgtBlob_000000" Size="0x10" Offset="0x0"/>
5 |     </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_door_gerudo.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_door_gerudo" Segment="6">
 3 |         <Texture Name="gGerudoCellDoorTex" Format="rgba16" Width="16" Height="64" Offset="0x1A0"/>
 4 |         <Array Name="gGerudoCellDoorVtx" Count="4" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGerudoCellDoorDL" Offset="0x40"/>
 8 |         <Collision Name="gGerudoCellDoorCol" Offset="0x170"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_efc_crystal_light.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_efc_crystal_light" Segment="6">
 3 |         <Texture Name="gCrystalLightTex" Format="i4" Width="64" Height="64" Offset="0x0000"/>
 4 |         <Array Name="gCrystalLightVtx" Count="24" Offset="0x800">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gCrystalLightDL" Offset="0x0980"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_efc_flash.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_efc_flash" Segment="6">
3 |         <!-- This file is empty -->
4 |         <Blob Name="gEfcFlashBlob_000000" Size="0x10" Offset="0x0"/>
5 |     </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_efc_lgt_shower.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_efc_lgt_shower" Segment="6">
 3 |         <Texture Name="gEnliveningLightTex" Format="i8" Width="64" Height="64" Offset="0x0000"/>
 4 |         <Array Name="gEnliveningLightVtx" Count="29" Offset="0x1000">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gEnliveningLightDL" Offset="0x11D0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_ganon_objects.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_ganon_objects" Segment="6">
 3 |         <Array Name="object_ganon_objects_Vtx_000000" Count="12" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <DList Name="object_ganon_objects_DL_0000C0" Offset="0xC0"/>
 7 |         <Texture Name="object_ganon_objects_Tex_000170" Format="rgba16" Width="32" Height="64" Offset="0x170"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_bean.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_bean" Segment="6">
 4 |         <Array Name="gGiBeanVtx" Count="88" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBeanDL" Offset="0x0580"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_bomb_1.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_bomb_1" Segment="6">
 4 |         <Array Name="gGiBombVtx" Count="154" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBombDL" Offset="0x09A0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_bomb_2.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_bomb_2" Segment="6">
 4 |         <Array Name="gGiBombchuVtx" Count="75" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBombchuDL" Offset="0x04B0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_boomerang.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_boomerang" Segment="6">
 4 |         <Array Name="gGiBoomerangVtx" Count="163" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBoomerangDL" Offset="0x0A30"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_bow.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_bow" Segment="6">
 4 |         <Array Name="gGiBowVtx" Count="153" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBowDL" Offset="0x0990"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_bracelet.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_bracelet" Segment="6">
 4 |         <Array Name="gGiGoronBraceletVtx" Count="150" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiGoronBraceletDL" Offset="0x0960"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_brokensword.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_brokensword" Segment="6">
 4 |         <Array Name="gGiBrokenGoronSwordVtx" Count="110" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBrokenGoronSwordDL" Offset="0x06E0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_egg.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_egg" Segment="6">
 4 |         <Array Name="gGiEggVtx" Count="253" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiEggMaterialDL" Offset="0x0FD0"/>
 8 |         <DList Name="gGiEggDL" Offset="0x1008"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_fish.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_fish" Segment="6">
 4 |         <Array Name="gGiFishVtx" Count="96" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiFishDL" Offset="0x0600"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_gerudo.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_gerudo" Segment="6">
 4 |         <Texture Name="gGiGerudoCardTex" Format="i8" Width="32" Height="32" Offset="0x0"/>
 5 |         <Array Name="gGiGerudoCardVtx" Count="182" Offset="0x400">
 6 |             <Vtx/>
 7 |         </Array>
 8 |         <DList Name="gGiGerudoCardDL" Offset="0x0F60"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_grass.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_grass" Segment="6">
 4 |         <Array Name="gGiGrassVtx" Count="142" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiGrassDL" Offset="0x08E0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_hammer.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_hammer" Segment="6">
 4 |         <Array Name="gGiHammerVtx" Count="157" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiHammerDL" Offset="0x09D0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_heart.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_heart" Segment="6">
 4 |         <Array Name="gGiRecoveryHeartVtx" Count="14" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiRecoveryHeartDL" Offset="0x00E0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_key.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_key" Segment="6">
 4 |         <Array Name="gGiSmallKeyVtx" Count="128" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSmallKeyDL" Offset="0x0800"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_longsword.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_longsword" Segment="6">
 4 |         <Array Name="gGiBiggoronSwordVtx" Count="96" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiBiggoronSwordDL" Offset="0x0600"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_mushroom.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_mushroom" Segment="6">
 4 |         <Array Name="gGiOddMushroomVtx" Count="157" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiOddMushroomDL" Offset="0x09D0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_nuts.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_nuts" Segment="6">
 4 |         <Texture Name="object_gi_nuts_000000_Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
 5 |         <Array Name="gGiNutVtx" Count="169" Offset="0x400">
 6 |             <Vtx/>
 7 |         </Array>
 8 |         <DList Name="gGiNutDL" Offset="0x0E90"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_pachinko.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_pachinko" Segment="6">
 4 |         <Array Name="gGiSlingshotVtx" Count="148" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSlingshotDL" Offset="0x0940"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_powder.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_powder" Segment="6">
 4 |         <Array Name="gGiOddPotionVtx" Count="139" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiOddPotionDL" Offset="0x08B0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_redead_mask.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_redead_mask" Segment="6">
 4 |         <Array Name="gGiSpookyMaskVtx" Count="126" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSpookyMaskDL" Offset="0x07E0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_saw.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_saw" Segment="6">
 4 |         <Array Name="gGiSawVtx" Count="126" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSawDL" Offset="0x07E0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_seed.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_seed" Segment="6">
 4 |         <Array Name="gGiSeedVtx" Count="129" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSeedDL" Offset="0x0810"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_shield_1.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_shield_1" Segment="6">
 4 |         <Texture Name="object_gi_shield_1_000000_Tex" Format="i8" Width="32" Height="32" Offset="0x0"/>
 5 |         <Array Name="gGiDekuShieldVtx" Count="101" Offset="0x400">
 6 |             <Vtx/>
 7 |         </Array>
 8 |         <DList Name="gGiDekuShieldDL" Offset="0x0A50"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_shield_2.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_shield_2" Segment="6">
 4 |         <Array Name="gGiHylianShieldVtx" Count="199" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiHylianShieldDL" Offset="0x0C70"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_skj_mask.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_skj_mask" Segment="6">
 4 |         <Array Name="gGiSkullMaskVtx" Count="157" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSkullMaskDL" Offset="0x09D0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_soldout.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_gi_soldout" Segment="6">
 3 |         <Texture Name="gGiSoldOutTex" Format="ia8" Width="32" Height="32" Offset="0x0"/>
 4 |         <Array Name="gGiSoldOutVtx" Count="4" Offset="0x400">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiSoldOutDL" Offset="0x0440"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_stick.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_stick" Segment="6">
 4 |         <Array Name="gGiStickVtx" Count="77" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiStickDL" Offset="0x04D0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gi_sword_1.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_gi_sword_1" Segment="6">
 4 |         <Array Name="gGiKokiriSwordVtx" Count="150" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gGiKokiriSwordDL" Offset="0x0960"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gjyo_objects.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_gjyo_objects" Segment="6">
 3 |         <Texture Name="gRainbowBridgeTex" Format="rgba16" Width="32" Height="32" Offset="0xDF0"/>
 4 |         <Array Name="gRainbowBridgeVtx" Count="96" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gRainbowBridgeDL" Offset="0x600"/>
 8 |         <Collision Name="gRainbowBridgeCol" Offset="0xDB8"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_gm.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_gm" Segment="6">
3 |         <Animation Name="object_gm_Anim_0002B8" Offset="0x2B8"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_goroiwa.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_goroiwa" Segment="6">
 3 |         <Texture Name="gRollingRockTex" Format="rgba16" Width="32" Height="64" Offset="0x8A0"/>
 4 |         <Array Name="gRollingRockVtx" Count="107" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gRollingRockDL" Offset="0x6B0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_ingate.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_ingate" Segment="6">
 3 |         <Texture Name="gIngoGateTex" Format="ia8" Width="64" Height="64" Offset="0x0"/>
 4 |         <Array Name="gIngoGateVtx" Count="4" Offset="0x1000">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="gIngoGateDL" Offset="0x1040"/>
 8 |         <Collision Name="gIngoGateCol" Offset="0x11B8"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_light_ring.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_light_ring" Segment="6">
 3 |         <Array Name="gGoldenGoddessLightRingVtx" Count="25" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <DList Name="gGoldenGoddessLightRingDL" Offset="0x0190"/>
 7 |         <Texture Name="gGoldenGoddessLightRingTex" Format="i8" Width="32" Height="128" Offset="0x0278"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mastergolon.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mastergolon" Segment="6">
3 |         <Animation Name="gGoronShopkeeperAnim" Offset="0xFC"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_masterkokiri.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_masterkokiri" Segment="6">
3 |         <Animation Name="object_masterkokiri_Anim_0004A8" Offset="0x4A8"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_masterzoora.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_masterzoora" Segment="6">
3 |         <Animation Name="gZoraShopkeeperAnim" Offset="0x78C"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mjin_dark.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mjin_dark" Segment="6">
3 |         <Texture Name="gShadowMedallionPlatformTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mjin_flame.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mjin_flame" Segment="6">
3 |         <Texture Name="gFireMedallionPlatformTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mjin_flash.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mjin_flash" Segment="6">
3 |         <Texture Name="gLightMedallionPlatformTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mjin_ice.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mjin_ice" Segment="6">
3 |         <Texture Name="gWaterMedallionPlatformTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mjin_soul.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mjin_soul" Segment="6">
3 |         <Texture Name="gSpiritMedallionPlatformTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mjin_wind.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_mjin_wind" Segment="6">
3 |         <Texture Name="gForestMedallionPlatformTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
4 |     </File>
5 | </Root>
6 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mori_hineri1.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/object_mori_tex/"/>
 3 |     <File Name="object_mori_hineri1" Segment="6">
 4 |         <Array Name="object_mori_hineri1_Vtx_000000" Count="590" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="object_mori_hineri1_DL_0024E0" Offset="0x24E0"/>
 8 |         <Collision Name="object_mori_hineri1_Col_0054B8" Offset="0x54B8"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_mori_hineri2.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/object_mori_tex/"/>
 3 |     <File Name="object_mori_hineri2" Segment="6">
 4 |         <Array Name="object_mori_hineri2_Vtx_000000" Count="527" Offset="0x0">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="object_mori_hineri2_DL_0020F0" Offset="0x20F0"/>
 8 |         <Collision Name="object_mori_hineri2_Col_0043D0" Offset="0x43D0"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_ouke_haka.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_ouke_haka" Segment="6">
 3 |         <Array Name="object_ouke_haka_Vtx_000000" Count="12" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <DList Name="object_ouke_haka_DL_0000C0" Offset="0xC0"/>
 7 |         <Texture Name="object_ouke_haka_Tex_000170" Format="i4" Width="128" Height="32" Offset="0x170"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_spot01_objects2.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_spot01_objects2" Segment="6" >
3 |         <!-- Seems to be empty -->
4 |         <Blob Name="object_spot01_objects2_Blob_000000" Size="0x10" Offset="0x0"/>
5 |     </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_stream.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <ExternalFile OutPath="assets/objects/gameplay_keep"/>
 3 |     <File Name="object_stream" Segment="6">
 4 |         <Texture Name="object_stream_Tex_000000" Format="i4" Width="64" Height="64" Offset="0x0"/>
 5 |         <Array Name="object_stream_Vtx_000800" Count="21" Offset="0x800">
 6 |             <Vtx/>
 7 |         </Array>
 8 |         <DList Name="object_stream_DL_000950" Offset="0x950"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_timeblock.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="object_timeblock" Segment="6">
 3 |         <Array Name="gSongOfTimeBlockVtx" Count="24" Offset="0x800">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <DList Name="gSongOfTimeBlockDL" Offset="0x980"/>
 7 |         <Texture Name="gSongOfTimeBlockTex" Format="i4" Width="64" Height="64" Offset="0x0"/>
 8 |         <Collision Name="gSongOfTimeBlockCol" Offset="0xB30"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/objects/object_warp2.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="object_warp2" Segment="6">
3 |         <!-- This file is empty -->
4 |         <Blob Name="gWarp2Blob_000000" Size="0x10" Offset="0x0"/>
5 |     </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Bg_Jya_Cobra.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Bg_Jya_Cobra">
 3 |         <Array Name="sShadowVtx" Count="4" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 | 
 7 |         <DList Name="sShadowDL" Offset="0x40"/>
 8 | 
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Boss_Dodongo.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_Boss_Dodongo">
3 |         <Texture Name="sLavaFloorLavaTex" Format="rgba16" Width="64" Height="64" Offset="0x0"/>
4 |         <Texture Name="sLavaFloorRockTex" Format="rgba16" Width="32" Height="64" Offset="0x2000"/>
5 |     </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Effect_Ss_Fhg_Flash.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Effect_Ss_Fhg_Flash">
 3 |         <Array Name="sShockVtx" Count="4" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <DList Name="sShockDL" Offset="0x40"/>
 7 |         <Texture Name="sShockTex" Format="i8" Width="32" Height="32" Offset="0xB8"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Elf_Msg2.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Elf_Msg2">
 3 | 
 4 |         <DList Name="sMaterialDL" Offset="0x0"/>
 5 | 
 6 |         <Array Name="sCubeVtx" Count="8" Offset="0x40">
 7 |             <Vtx/>
 8 |         </Array>
 9 |         <DList Name="sCubeDL" Offset="0xC0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_Bili.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_En_Bili">
3 |         <DList Name="D_809C16F0" Offset="0x0"/>
4 |         <DList Name="D_809C1700" Offset="0x10"/>
5 | 
6 |     </File>
7 | </Root>
8 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_Holl.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_En_Holl">
3 |         <Array Name="sPlaneVtx" Count="4" Offset="0x0">
4 |             <Vtx/>
5 |         </Array>
6 |         <DList Name="sPlaneDL" Offset="0x40"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_Kanban.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_En_Kanban">
3 |         <Array Name="sShadowVtx" Count="4" Offset="0x0">
4 |             <Vtx/>
5 |         </Array>
6 |         <DList Name="sShadowDL" Offset="0x40"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_Mag_ique.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_En_Mag">
3 |         <!-- 32-bit aligned textures. -->
4 |         <Texture Name="gTitlePressCHN" Format="i4" Width="16" Height="16" Offset="0x0"/>
5 |     </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_Sda.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_En_Sda">
 3 |         <Array Name="D_80AFA398" Count="4" Offset="0x0">
 4 |             <Vtx/>
 5 |         </Array>
 6 |         <DList Name="D_80AFA3D8" Offset="0x40"/>
 7 |         <DList Name="D_80AFA3F8" Offset="0x60"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_Ssh.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_En_Ssh">
3 |         <Array Name="D_80B043C0" Count="4" Offset="0x0">
4 |             <Vtx/>
5 |         </Array>
6 |         <DList Name="D_80B04400" Offset="0x40"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_En_St.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="ovl_En_St">
3 |         <Array Name="sSkulltulaUnusedVtx" Count="4" Offset="0x0">
4 |             <Vtx/>
5 |         </Array>
6 |         <DList Name="sSkulltulaUnusedDL" Offset="0x40"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Magic_Fire.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Magic_Fire">
 3 |         <Texture Name="sTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
 4 |         <Array Name="sSphereVtx" Count="76" Offset="0x1000">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="sMaterialDL" Offset="0x14C0"/>
 8 |         <DList Name="sModelDL" Offset="0x14E8"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Oceff_Spot.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Oceff_Spot">
 3 |         <Texture Name="sTex" Format="i8" Width="32" Height="32" Offset="0x0"/>
 4 |         <Array Name="sCylinderVtx" Count="27" Offset="0x400">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="sCylinderMaterialDL" Offset="0x5B0"/>
 8 |         <DList Name="sCylinderModelDL" Offset="0x648"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Oceff_Wipe.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Oceff_Wipe">
 3 |         <Texture Name="sTex" Format="i8" Width="32" Height="32" Offset="0x0"/>
 4 |         <Array Name="sFrustumVtx" Count="40" Offset="0x400">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="sMaterialDL" Offset="0x680"/>
 8 |         <DList Name="sFrustumDL" Offset="0x708"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/overlays/ovl_Oceff_Wipe3.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ovl_Oceff_Wipe3">
 3 |         <Texture Name="sTex" Format="i8" Width="64" Height="64" Offset="0x0"/>
 4 |         <Array Name="sFrustumVtx" Count="22" Offset="0x1000">
 5 |             <Vtx/>
 6 |         </Array>
 7 |         <DList Name="sMaterialDL" Offset="0x1160"/>
 8 |         <DList Name="sFrustumDL" Offset="0x11E8"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/FIRE_bs.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="FIRE_bs_scene" Segment="2">
 3 |         <Scene Name="FIRE_bs_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="FIRE_bs_room_0" Segment="3">
 6 |         <Room Name="FIRE_bs_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="FIRE_bs_room_1" Segment="3">
 9 |         <Room Name="FIRE_bs_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/HAKAdan_bs.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="HAKAdan_bs_scene" Segment="2">
 3 |         <Scene Name="HAKAdan_bs_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="HAKAdan_bs_room_0" Segment="3">
 6 |         <Room Name="HAKAdan_bs_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="HAKAdan_bs_room_1" Segment="3">
 9 |         <Room Name="HAKAdan_bs_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/MIZUsin_bs.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="MIZUsin_bs_scene" Segment="2">
 3 |         <Scene Name="MIZUsin_bs_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="MIZUsin_bs_room_0" Segment="3">
 6 |         <Room Name="MIZUsin_bs_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="MIZUsin_bs_room_1" Segment="3">
 9 |         <Room Name="MIZUsin_bs_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/bdan_boss.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="bdan_boss_scene" Segment="2">
 3 |         <Scene Name="bdan_boss_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="bdan_boss_room_0" Segment="3">
 6 |         <Room Name="bdan_boss_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="bdan_boss_room_1" Segment="3">
 9 |         <Room Name="bdan_boss_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/ganon_demo.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ganon_demo_scene" Segment="2">
 3 |         <Scene Name="ganon_demo_scene" Offset="0x0"/>
 4 |         <Cutscene Name="gGanonCastleCollapseCs" Offset="0x01B0"/>
 5 |     </File>
 6 |     <File Name="ganon_demo_room_0" Segment="3">
 7 |         <Room Name="ganon_demo_room_0" Offset="0x0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/ganon_final.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ganon_final_scene" Segment="2">
 3 |         <Path Name="ganon_final_scenePathList_0001F4" Offset="0x01F4" NumPaths="4"/>
 4 |         <Scene Name="ganon_final_scene" Offset="0x0"/>
 5 |     </File>
 6 |     <File Name="ganon_final_room_0" Segment="3">
 7 |         <Room Name="ganon_final_room_0" Offset="0x0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/moribossroom.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="moribossroom_scene" Segment="2">
 3 |         <Scene Name="moribossroom_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="moribossroom_room_0" Segment="3">
 6 |         <Room Name="moribossroom_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="moribossroom_room_1" Segment="3">
 9 |         <Room Name="moribossroom_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/dungeons/ydan_boss.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="ydan_boss_scene" Segment="2">
 3 |         <Scene Name="ydan_boss_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="ydan_boss_room_0" Segment="3">
 6 |         <Room Name="ydan_boss_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="ydan_boss_room_1" Segment="3">
 9 |         <Room Name="ydan_boss_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/bowling.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="bowling_scene" Segment="2">
3 |         <Scene Name="bowling_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="bowling_room_0" Segment="3">
6 |         <Room Name="bowling_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/hairal_niwa.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="hairal_niwa_scene" Segment="2">
 3 |         <Path Name="hairal_niwa_scenePathList_000268" Offset="0x0268" NumPaths="8"/>
 4 |         <Scene Name="hairal_niwa_scene" Offset="0x0"/>
 5 |         <Scene Name="hairal_niwa_scene_unused" Offset="0x30E0"/>
 6 |     </File>
 7 |     <File Name="hairal_niwa_room_0" Segment="3">
 8 |         <Room Name="hairal_niwa_room_0" Offset="0x0"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/hairal_niwa2.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="hairal_niwa2_scene" Segment="2">
3 |         <Scene Name="hairal_niwa2_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="hairal_niwa2_room_0" Segment="3">
6 |         <Room Name="hairal_niwa2_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/hairal_niwa_n.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="hairal_niwa_n_scene" Segment="2">
3 |         <Scene Name="hairal_niwa_n_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="hairal_niwa_n_room_0" Segment="3">
6 |         <Room Name="hairal_niwa_n_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/hut.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="hut_scene" Segment="2">
3 |         <Scene Name="hut_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="hut_room_0" Segment="3">
6 |         <Room Name="hut_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/hylia_labo.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="hylia_labo_scene" Segment="2">
3 |         <Scene Name="hylia_labo_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="hylia_labo_room_0" Segment="3">
6 |         <Room Name="hylia_labo_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/impa.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="impa_scene" Segment="2">
3 |         <Scene Name="impa_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="impa_room_0" Segment="3">
6 |         <Room Name="impa_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/kakariko.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kakariko_scene" Segment="2">
3 |         <Scene Name="kakariko_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kakariko_room_0" Segment="3">
6 |         <Room Name="kakariko_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/kokiri_home.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kokiri_home_scene" Segment="2">
3 |         <Scene Name="kokiri_home_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kokiri_home_room_0" Segment="3">
6 |         <Room Name="kokiri_home_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/kokiri_home3.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kokiri_home3_scene" Segment="2">
3 |         <Scene Name="kokiri_home3_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kokiri_home3_room_0" Segment="3">
6 |         <Room Name="kokiri_home3_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/kokiri_home4.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kokiri_home4_scene" Segment="2">
3 |         <Scene Name="kokiri_home4_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kokiri_home4_room_0" Segment="3">
6 |         <Room Name="kokiri_home4_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/kokiri_home5.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kokiri_home5_scene" Segment="2">
3 |         <Scene Name="kokiri_home5_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kokiri_home5_room_0" Segment="3">
6 |         <Room Name="kokiri_home5_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/labo.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="labo_scene" Segment="2">
3 |         <Scene Name="labo_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="labo_room_0" Segment="3">
6 |         <Room Name="labo_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/link_home.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="link_home_scene" Segment="2">
 3 |         <Scene Name="link_home_scene" Offset="0x0"/>
 4 |         <Cutscene Name="gLinkHouseIntroWakeUpCs" Offset="0x1040"/>
 5 |         <Cutscene Name="gLinkHouseIntroSleepCs" Offset="0x15D0"/>
 6 |     </File>
 7 |     <File Name="link_home_room_0" Segment="3">
 8 |         <Room Name="link_home_room_0" Offset="0x0"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/mahouya.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="mahouya_scene" Segment="2">
3 |         <Scene Name="mahouya_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="mahouya_room_0" Segment="3">
6 |         <Room Name="mahouya_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/malon_stable.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="malon_stable_scene" Segment="2">
3 |         <Scene Name="malon_stable_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="malon_stable_room_0" Segment="3">
6 |         <Room Name="malon_stable_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/tent.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="tent_scene" Segment="2">
3 |         <Scene Name="tent_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="tent_room_0" Segment="3">
6 |         <Room Name="tent_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/indoors/yousei_izumi_tate.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="yousei_izumi_tate_scene" Segment="2">
3 |         <Scene Name="yousei_izumi_tate_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="yousei_izumi_tate_room_0" Segment="3">
6 |         <Room Name="yousei_izumi_tate_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/enrui.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="enrui_scene" Segment="2">
3 |         <Scene Name="enrui_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="enrui_room_0" Segment="3">
6 |         <Room Name="enrui_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/entra.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="entra_scene" Segment="2">
3 |         <Scene Name="entra_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="entra_room_0" Segment="3">
6 |         <Room Name="entra_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/entra_n.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="entra_n_scene" Segment="2">
3 |         <Scene Name="entra_n_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="entra_n_room_0" Segment="3">
6 |         <Room Name="entra_n_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/hakaana.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="hakaana_scene" Segment="2">
3 |         <Scene Name="hakaana_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="hakaana_room_0" Segment="3">
6 |         <Room Name="hakaana_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/hakaana2.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="hakaana2_scene" Segment="2">
3 |         <Scene Name="hakaana2_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="hakaana2_room_0" Segment="3">
6 |         <Room Name="hakaana2_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/kakariko3.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kakariko3_scene" Segment="2">
3 |         <Scene Name="kakariko3_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kakariko3_room_0" Segment="3">
6 |         <Room Name="kakariko3_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/kinsuta.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="kinsuta_scene" Segment="2">
 3 |         <Scene Name="kinsuta_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="kinsuta_room_0" Segment="3">
 6 |         <DList Name="gKinsutaDL_0030B0" Offset="0x30B0"/>
 7 |         <DList Name="gKinsutaDL_00B088" Offset="0xB088"/>
 8 |         <Room Name="kinsuta_room_0" Offset="0x0"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/market_alley.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="market_alley_scene" Segment="2">
3 |         <Scene Name="market_alley_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="market_alley_room_0" Segment="3">
6 |         <Room Name="market_alley_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/market_day.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="market_day_scene" Segment="2">
 3 |         <Path Name="market_day_scenePathList_000330" Offset="0x0330" NumPaths="4"/>
 4 |         <Scene Name="market_day_scene" Offset="0x0"/>
 5 |     </File>
 6 |     <File Name="market_day_room_0" Segment="3">
 7 |         <Room Name="market_day_room_0" Offset="0x0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/market_night.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="market_night_scene" Segment="2">
 3 |         <Path Name="market_night_scenePathList_0002FC" Offset="0x02FC" NumPaths="7"/>
 4 |         <Scene Name="market_night_scene" Offset="0x0"/>
 5 |     </File>
 6 |     <File Name="market_night_room_0" Segment="3">
 7 |         <Room Name="market_night_room_0" Offset="0x0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/market_ruins.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="market_ruins_scene" Segment="2">
3 |         <Scene Name="market_ruins_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="market_ruins_room_0" Segment="3">
6 |         <Room Name="market_ruins_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/shrine.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="shrine_scene" Segment="2">
3 |         <Scene Name="shrine_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="shrine_room_0" Segment="3">
6 |         <Room Name="shrine_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/shrine_n.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="shrine_n_scene" Segment="2">
 3 |         <Path Name="shrine_n_scenePathList_000100" Offset="0x0100" NumPaths="2"/>
 4 |         <Scene Name="shrine_n_scene" Offset="0x0"/>
 5 |     </File>
 6 |     <File Name="shrine_n_room_0" Segment="3">
 7 |         <Room Name="shrine_n_room_0" Offset="0x0"/>
 8 |     </File>
 9 | </Root>
10 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/shrine_r.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="shrine_r_scene" Segment="2">
3 |         <Scene Name="shrine_r_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="shrine_r_room_0" Segment="3">
6 |         <Room Name="shrine_r_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/misc/turibori.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="turibori_scene" Segment="2">
3 |         <Scene Name="turibori_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="turibori_room_0" Segment="3">
6 |         <Room Name="turibori_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/overworld/spot13.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="spot13_scene" Segment="2">
 3 |         <Scene Name="spot13_scene" Offset="0x0"/>
 4 |     </File>
 5 |     <File Name="spot13_room_0" Segment="3">
 6 |         <Room Name="spot13_room_0" Offset="0x0"/>
 7 |     </File>
 8 |     <File Name="spot13_room_1" Segment="3">
 9 |         <Room Name="spot13_room_1" Offset="0x0"/>
10 |     </File>
11 | </Root>
12 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/overworld/spot15.xml:
--------------------------------------------------------------------------------
 1 | <Root>
 2 |     <File Name="spot15_scene" Segment="2">
 3 |         <Cutscene Name="gHyruleCastleIntroCs" Offset="0x3F40"/>
 4 |         <Scene Name="spot15_scene" Offset="0x0"/>
 5 |         <Scene Name="spot15_scene_unused" Offset="0x3D20"/>
 6 |     </File>
 7 |     <File Name="spot15_room_0" Segment="3">
 8 |         <Room Name="spot15_room_0" Offset="0x0"/>
 9 |     </File>
10 | </Root>
11 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/alley_shop.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="alley_shop_scene" Segment="2">
3 |         <Scene Name="alley_shop_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="alley_shop_room_0" Segment="3">
6 |         <Room Name="alley_shop_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/drag.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="drag_scene" Segment="2">
3 |         <Scene Name="drag_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="drag_room_0" Segment="3">
6 |         <Room Name="drag_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/face_shop.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="face_shop_scene" Segment="2">
3 |         <Scene Name="face_shop_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="face_shop_room_0" Segment="3">
6 |         <Room Name="face_shop_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/golon.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="golon_scene" Segment="2">
3 |         <Scene Name="golon_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="golon_room_0" Segment="3">
6 |         <Room Name="golon_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/kokiri_shop.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="kokiri_shop_scene" Segment="2">
3 |         <Scene Name="kokiri_shop_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="kokiri_shop_room_0" Segment="3">
6 |         <Room Name="kokiri_shop_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/night_shop.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="night_shop_scene" Segment="2">
3 |         <Scene Name="night_shop_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="night_shop_room_0" Segment="3">
6 |         <Room Name="night_shop_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/shops/zoora.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="zoora_scene" Segment="2">
3 |         <Scene Name="zoora_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="zoora_room_0" Segment="3">
6 |         <Room Name="zoora_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/besitu.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="besitu_scene" Segment="2">
3 |         <Scene Name="besitu_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="besitu_room_0" Segment="3">
6 |         <Room Name="besitu_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/depth_test.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="depth_test_scene" Segment="2">
3 |         <Scene Name="depth_test_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="depth_test_room_0" Segment="3">
6 |         <Room Name="depth_test_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/sasatest.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="sasatest_scene" Segment="2">
3 |         <Scene Name="sasatest_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="sasatest_room_0" Segment="3">
6 |         <Room Name="sasatest_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/sutaru.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="sutaru_scene" Segment="2">
3 |         <Scene Name="sutaru_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="sutaru_room_0" Segment="3">
6 |         <Room Name="sutaru_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/syotes.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="syotes_scene" Segment="2">
3 |         <Scene Name="syotes_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="syotes_room_0" Segment="3">
6 |         <Room Name="syotes_room_0" HackMode="syotes_room" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/syotes2.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="syotes2_scene" Segment="2">
3 |         <Scene Name="syotes2_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="syotes2_room_0" Segment="3">
6 |         <Room Name="syotes2_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/scenes/test_levels/test01.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |     <File Name="test01_scene" Segment="2">
3 |         <Scene Name="test01_scene" Offset="0x0"/>
4 |     </File>
5 |     <File Name="test01_room_0" Segment="3">
6 |         <Room Name="test01_room_0" Offset="0x0"/>
7 |     </File>
8 | </Root>
9 | 


--------------------------------------------------------------------------------
/assets/xml/textures/message_texture_static.xml:
--------------------------------------------------------------------------------
1 | <Root>
2 |      <File Name="message_texture_static" Segment="9">
3 |         <Texture Name="gRedMessageXLeftTex" Format="i4" Width="96" Height="48" Offset="0x0"/>
4 |         <Texture Name="gRedMessageXRightTex" Format="i4" Width="96" Height="48" Offset="0x900"/>
5 |      </File>
6 | </Root>
7 | 


--------------------------------------------------------------------------------
/baseroms/gc-eu-mq-dbg/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 9704bc98c20c20319cc1633fe02b6fc7  build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-eu-mq-dbg/checksum.md5:
--------------------------------------------------------------------------------
1 | 75e344f41c26ec2ec5ad92caa9e25629  build/gc-eu-mq-dbg/oot-gc-eu-mq-dbg.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-eu-mq/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 1618403427e4344a57833043db5ce3c3  build/gc-eu-mq/oot-gc-eu-mq-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-eu-mq/checksum.md5:
--------------------------------------------------------------------------------
1 | 4920520254b9aab86de57b42ab477dbb  build/gc-eu-mq/oot-gc-eu-mq.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-eu/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 2c27b4e000e85fd78dbca551f1b1c965  build/gc-eu/oot-gc-eu-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-eu/checksum.md5:
--------------------------------------------------------------------------------
1 | 05d6c0a3528d6de7472e5a98520d9f46  build/gc-eu/oot-gc-eu.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-jp-ce/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 0c13e0449a28ea5b925cdb8af8d29768  build/gc-jp-ce/oot-gc-jp-ce-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-jp-ce/checksum.md5:
--------------------------------------------------------------------------------
1 | fe2f22c16e03762513b5af5449d453aa  build/gc-jp-ce/oot-gc-jp-ce.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-jp-mq/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 69895c5c78442260f6eafb2506dc482a  build/gc-jp-mq/oot-gc-jp-mq-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-jp-mq/checksum.md5:
--------------------------------------------------------------------------------
1 | f70cf137eb8f783cb5d79756190728ce  build/gc-jp-mq/oot-gc-jp-mq.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-jp/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 33fb7852c180b18ea0b9620b630f413f  build/gc-jp/oot-gc-jp-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-jp/checksum.md5:
--------------------------------------------------------------------------------
1 | c72746a38cee7b25e6bbecde8db7e2d1  build/gc-jp/oot-gc-jp.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-us-mq/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | da35577fe54579f6a266931cc75f512d  build/gc-us-mq/oot-gc-us-mq-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-us-mq/checksum.md5:
--------------------------------------------------------------------------------
1 | 3f0d68ac5b8a9dc3898655025db474dd  build/gc-us-mq/oot-gc-us-mq.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-us/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | cd09029edcfb7c097ac01986a0f83d3f  build/gc-us/oot-gc-us-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/gc-us/checksum.md5:
--------------------------------------------------------------------------------
1 | 282e6281bc7f030cddccf2422237e9a7  build/gc-us/oot-gc-us.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ique-cn/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | 0ab48b2d44a74b3bb2d384f6170c2742  build/ique-cn/oot-ique-cn-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ique-cn/checksum.md5:
--------------------------------------------------------------------------------
1 | 0238288a8e7c53b558b818865daf6ef3  build/ique-cn/oot-ique-cn.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.0/checksum-JP-compressed.md5:
--------------------------------------------------------------------------------
1 | 9f04c8e68534b870f707c247fa4b50fc  build/ntsc-1.0/oot-ntsc-1.0-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.0/checksum-JP.md5:
--------------------------------------------------------------------------------
1 | 963d8ee3bd921f4d3c833b82004a76d2  build/ntsc-1.0/oot-ntsc-1.0.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.0/checksum-US-compressed.md5:
--------------------------------------------------------------------------------
1 | 5bd1fe107bf8106b2ab6650abecd54d6  build/ntsc-1.0/oot-ntsc-1.0-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.0/checksum-US.md5:
--------------------------------------------------------------------------------
1 | 6829a16db1a34e8ce989847cd8da8d9a  build/ntsc-1.0/oot-ntsc-1.0.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.1/checksum-JP-compressed.md5:
--------------------------------------------------------------------------------
1 | 1bf5f42b98c3e97948f01155f12e2d88  build/ntsc-1.1/oot-ntsc-1.1-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.1/checksum-JP.md5:
--------------------------------------------------------------------------------
1 | 8b07c719217cb89334edf481a52ef392  build/ntsc-1.1/oot-ntsc-1.1.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.1/checksum-US-compressed.md5:
--------------------------------------------------------------------------------
1 | 721fdcc6f5f34be55c43a807f2a16af4  build/ntsc-1.1/oot-ntsc-1.1-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.1/checksum-US.md5:
--------------------------------------------------------------------------------
1 | a11496a4abcd9f173f2f2a342a6370d2  build/ntsc-1.1/oot-ntsc-1.1.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.2/checksum-JP-compressed.md5:
--------------------------------------------------------------------------------
1 | 2258052847bdd056c8406a9ef6427f13  build/ntsc-1.2/oot-ntsc-1.2-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.2/checksum-JP.md5:
--------------------------------------------------------------------------------
1 | 48b3e547359f21bb7e123fb362c1dd4e  build/ntsc-1.2/oot-ntsc-1.2.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.2/checksum-US-compressed.md5:
--------------------------------------------------------------------------------
1 | 57a9719ad547c516342e1a15d5c28c3d  build/ntsc-1.2/oot-ntsc-1.2-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/ntsc-1.2/checksum-US.md5:
--------------------------------------------------------------------------------
1 | 12fcafeba93992facaf65c2ba00f3089  build/ntsc-1.2/oot-ntsc-1.2.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/pal-1.0/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | e040de91a74b61e3201db0e2323f768a  build/pal-1.0/oot-pal-1.0-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/pal-1.0/checksum.md5:
--------------------------------------------------------------------------------
1 | f7e8dec14a2fbae90aafa838c801310f  build/pal-1.0/oot-pal-1.0.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/pal-1.1/checksum-compressed.md5:
--------------------------------------------------------------------------------
1 | d714580dd74c2c033f5e1b6dc0aeac77  build/pal-1.1/oot-pal-1.1-compressed.z64
2 | 


--------------------------------------------------------------------------------
/baseroms/pal-1.1/checksum.md5:
--------------------------------------------------------------------------------
1 | fee6fe6e4cc6228aae02e15c40168aa1  build/pal-1.1/oot-pal-1.1.z64
2 | 


--------------------------------------------------------------------------------
/data/rsp_boot.text.s:
--------------------------------------------------------------------------------
 1 | .include "macro.inc"
 2 | 
 3 | /* assembler directives */
 4 | .set noat      /* allow manual use of $at */
 5 | .set noreorder /* don't insert nops after branches */
 6 | .set gp=64     /* allow use of 64-bit general purpose registers */
 7 | 
 8 | .section .text
 9 | 
10 | .balign 16
11 | 
12 | glabel rspbootTextStart
13 |     .incbin "incbin/rspbootText"
14 | glabel rspbootTextEnd
15 | 


--------------------------------------------------------------------------------
/diff.py:
--------------------------------------------------------------------------------
1 | ./tools/asm-differ/diff.py


--------------------------------------------------------------------------------
/docker-compose.yml:
--------------------------------------------------------------------------------
 1 | services:
 2 |   oot:
 3 |     build:
 4 |       context: .
 5 |       dockerfile: Dockerfile
 6 |     volumes:
 7 |       - ./:/oot
 8 |     tty: true
 9 |     stdin_open: true
10 | 


--------------------------------------------------------------------------------
/docs/audio/build_flowchart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/docs/audio/build_flowchart.png


--------------------------------------------------------------------------------
/docs/filter_global_asm.py:
--------------------------------------------------------------------------------
 1 | 
 2 | import re
 3 | import sys
 4 | 
 5 | global_asm_regex = re.compile(r"#pragma GLOBAL_ASM((.)*)")
 6 | 
 7 | def repl_global_asm(cap):
 8 |     return "/// " + cap.group(0).replace("#pragma ","") + "\n? " + cap.group(0).split("/")[-1].split(".s")[0] + "(?);"
 9 | 
10 | with open(sys.argv[1], 'r') as infile:
11 |     sys.stdout.write(re.sub(global_asm_regex, repl_global_asm, infile.read()))
12 | 


--------------------------------------------------------------------------------
/docs/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/docs/logo.png


--------------------------------------------------------------------------------
/fixle.sh:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env bash
 2 | 
 3 | var="$1"
 4 | if [ ! -n "$var" ]
 5 | then
 6 |     var=dos2unix
 7 | fi
 8 | 
 9 | find src -type f -print0 | xargs -0 $var
10 | find include -type f -print0 | xargs -0 $var
11 | $var checksum.md5
12 | 


--------------------------------------------------------------------------------
/include/array_count.h:
--------------------------------------------------------------------------------
1 | #ifndef ARRAY_COUNT_H
2 | #define ARRAY_COUNT_H
3 | 
4 | #define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0]))
5 | #define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0]))
6 | #define ARRAY_COUNT_2D(arr) (s32)(sizeof(arr) / sizeof(arr[0][0]))
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/avoid_ub.h:
--------------------------------------------------------------------------------
 1 | #ifndef AVOID_UB_H
 2 | #define AVOID_UB_H
 3 | 
 4 | /**
 5 |  * This macro is used when the return type of a function is incorrect
 6 |  */
 7 | #ifndef AVOID_UB
 8 | #define BAD_RETURN(type) type
 9 | #else
10 | #define BAD_RETURN(type) void
11 | #endif
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/include/boot.h:
--------------------------------------------------------------------------------
1 | #ifndef BOOT_H
2 | #define BOOT_H
3 | 
4 | #define BOOT_STACK_SIZE 0x400
5 | 
6 | #endif
7 | 


--------------------------------------------------------------------------------
/include/build.h:
--------------------------------------------------------------------------------
1 | #ifndef BUILD_H
2 | #define BUILD_H
3 | 
4 | extern const char gBuildCreator[];
5 | extern const char gBuildDate[];
6 | extern const char gBuildMakeOption[];
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/carthandle.h:
--------------------------------------------------------------------------------
1 | #ifndef CARTHANDLE_H
2 | #define CARTHANDLE_H
3 | 
4 | #include "ultra64.h"
5 | 
6 | extern OSPiHandle* gCartHandle;
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/cic6105.h:
--------------------------------------------------------------------------------
 1 | #ifndef CIC6105_H
 2 | #define CIC6105_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | extern u32 B_80008EE0;
 7 | 
 8 | void func_800014E8(void);
 9 | void CIC6105_AddFaultClient(void);
10 | void CIC6105_RemoveFaultClient(void);
11 | void func_80001640(void);
12 | void func_80001720(void);
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/include/cutscene_flags.h:
--------------------------------------------------------------------------------
 1 | #ifndef CUTSCENE_FLAGS_H
 2 | #define CUTSCENE_FLAGS_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | struct PlayState;
 7 | 
 8 | void CutsceneFlags_UnsetAll(struct PlayState* play);
 9 | void CutsceneFlags_Set(struct PlayState* play, s16 flag);
10 | void CutsceneFlags_Unset(struct PlayState* play, s16 flag);
11 | s32 CutsceneFlags_Get(struct PlayState* play, s16 flag);
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/include/cutscene_spline.h:
--------------------------------------------------------------------------------
 1 | #ifndef CUTSCENE_SPLINE_H
 2 | #define CUTSCENE_SPLINE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | union CutsceneCameraPoint;
 8 | 
 9 | void func_800BB0A0(f32 u, Vec3f* pos, f32* roll, f32* viewAngle, f32* point0, f32* point1, f32* point2, f32* point3);
10 | s32 func_800BB2B4(Vec3f* pos, f32* roll, f32* fov, union CutsceneCameraPoint* point, s16* keyFrame, f32* curFrame);
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/debug.h:
--------------------------------------------------------------------------------
 1 | #ifndef DEBUG_H
 2 | #define DEBUG_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | struct GraphicsContext;
 7 | struct Input;
 8 | 
 9 | void Regs_Init(void);
10 | void DebugCamera_ScreenText(u8 x, u8 y, const char* text);
11 | void DebugCamera_ScreenTextColored(u8 x, u8 y, u8 colorIndex, const char* text);
12 | #if DEBUG_FEATURES
13 | void Regs_UpdateEditor(struct Input* input);
14 | #endif
15 | void Debug_DrawText(struct GraphicsContext* gfxCtx);
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/include/draw.h:
--------------------------------------------------------------------------------
 1 | #ifndef DRAW_H
 2 | #define DRAW_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | struct PlayState;
 7 | 
 8 | void GetItem_Draw(struct PlayState* play, s16 giDrawId);
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/include/flag_set.h:
--------------------------------------------------------------------------------
1 | #ifndef FLAG_SET_H
2 | #define FLAG_SET_H
3 | 
4 | struct PlayState;
5 | 
6 | void FlagSet_Update(struct PlayState* play);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/gfxalloc.h:
--------------------------------------------------------------------------------
 1 | #ifndef GFXALLOC_H
 2 | #define GFXALLOC_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | Gfx* Gfx_Open(Gfx* gfx);
 7 | Gfx* Gfx_Close(Gfx* gfx, Gfx* dst);
 8 | void* Gfx_Alloc(Gfx** gfxP, u32 size);
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/include/horse.h:
--------------------------------------------------------------------------------
 1 | #ifndef HORSE_H
 2 | #define HORSE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | struct PlayState;
 8 | struct Actor;
 9 | struct Player;
10 | 
11 | void Horse_ResetHorseData(struct PlayState* play);
12 | void Horse_FixLakeHyliaPosition(struct PlayState* play);
13 | void Horse_InitPlayerHorse(struct PlayState* play, struct Player* player);
14 | void Horse_RotateToPoint(struct Actor* actor, Vec3f* pos, s16 turnAmount);
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/include/idle.h:
--------------------------------------------------------------------------------
 1 | #ifndef IDLE_H
 2 | #define IDLE_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | void Idle_ThreadEntry(void* arg);
 7 | 
 8 | extern OSMesgQueue gPiMgrCmdQueue;
 9 | extern OSViMode gViConfigMode;
10 | extern u8 gViConfigModeType;
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/inflate.h:
--------------------------------------------------------------------------------
 1 | #ifndef INFLATE_H
 2 | #define INFLATE_H
 3 | 
 4 | #include "stddef.h"
 5 | #include "stdint.h"
 6 | #include "ultra64.h"
 7 | 
 8 | void gzip_decompress(uintptr_t romStart, u8* dst, size_t size);
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/include/is_debug.h:
--------------------------------------------------------------------------------
 1 | #ifndef IS_DEBUG_H
 2 | #define IS_DEBUG_H
 3 | 
 4 | #include "stddef.h"
 5 | #include "attributes.h"
 6 | 
 7 | #if DEBUG_FEATURES
 8 | void isPrintfInit(void);
 9 | #endif
10 | 
11 | void rmonPrintf(const char* fmt, ...);
12 | 
13 | #if DEBUG_FEATURES
14 | void* is_proutSyncPrintf(void* arg, const char* str, size_t count);
15 | NORETURN void func_80002384(const char* exp, const char* file, int line);
16 | #endif
17 | 
18 | #endif
19 | 


--------------------------------------------------------------------------------
/include/kanread.h:
--------------------------------------------------------------------------------
1 | #ifndef KANREAD_H
2 | #define KANREAD_H
3 | 
4 | #include "ultra64/ultratypes.h"
5 | 
6 | s32 Kanji_OffsetFromShiftJIS(s32 sjis);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/language_array.h:
--------------------------------------------------------------------------------
 1 | #ifndef LANGUAGE_ARRAY_H
 2 | #define LANGUAGE_ARRAY_H
 3 | 
 4 | #include "versions.h"
 5 | 
 6 | #if OOT_NTSC
 7 | #define LANGUAGE_ARRAY(jpn, eng, ger, fra) { jpn, eng }
 8 | #else
 9 | #define LANGUAGE_ARRAY(jpn, eng, ger, fra) { eng, ger, fra }
10 | #endif
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/letterbox.h:
--------------------------------------------------------------------------------
 1 | #ifndef LETTERBOX_H
 2 | #define LETTERBOX_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | void Letterbox_SetSizeTarget(s32 target);
 7 | u32 Letterbox_GetSizeTarget(void);
 8 | void Letterbox_SetSize(s32 size);
 9 | u32 Letterbox_GetSize(void);
10 | void Letterbox_Init(void);
11 | void Letterbox_Destroy(void);
12 | void Letterbox_Update(s32 updateRate);
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/include/libc/alloca.h:
--------------------------------------------------------------------------------
 1 | #ifndef ALLOCA_H
 2 | #define ALLOCA_H
 3 | 
 4 | #include "stddef.h"
 5 | 
 6 | void* alloca(size_t);
 7 | #define alloca(size) __builtin_alloca(size)
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/include/libc/stdbool.h:
--------------------------------------------------------------------------------
 1 | #ifndef STDBOOL_H
 2 | #define STDBOOL_H
 3 | 
 4 | #define __bool_true_false_are_defined 1
 5 | 
 6 | #ifndef __cplusplus
 7 | 
 8 | #if (__STDC_VERSION__ >= 199901L)
 9 | #define bool    _Bool
10 | #else
11 | #define bool    unsigned int
12 | #endif
13 | 
14 | #define false   0
15 | #define true    1
16 | 
17 | #endif
18 | 
19 | #endif
20 | 


--------------------------------------------------------------------------------
/include/libc/stdlib.h:
--------------------------------------------------------------------------------
 1 | #ifndef STDLIB_H
 2 | #define STDLIB_H
 3 | 
 4 | typedef struct lldiv_t {
 5 |     long long quot;
 6 |     long long rem;
 7 | } lldiv_t;
 8 | 
 9 | typedef struct ldiv_t {
10 |     long quot;
11 |     long rem;
12 | } ldiv_t;
13 | 
14 | ldiv_t ldiv(long num, long denom);
15 | lldiv_t lldiv(long long num, long long denom);
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/include/libc/string.h:
--------------------------------------------------------------------------------
 1 | #ifndef STRING_H
 2 | #define STRING_H
 3 | 
 4 | #include "stddef.h"
 5 | 
 6 | char* strchr(const char*, int);
 7 | size_t strlen(const char*);
 8 | 
 9 | void* memcpy(void*, const void*, size_t);
10 | void* memmove(void* dest, const void* src, size_t len);
11 | void* memset(void* dest, int val, size_t len);
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/include/libc64/aprintf.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIBC64_APRINTF_H
 2 | #define LIBC64_APRINTF_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | #include "stdarg.h"
 7 | 
 8 | s32 PrintUtils_VPrintf(PrintCallback* pfn, const char* fmt, va_list args);
 9 | s32 PrintUtils_Printf(PrintCallback* pfn, const char* fmt, ...);
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/libc64/math64.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIBC64_MATH64_H
 2 | #define LIBC64_MATH64_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | f32 Math_FTanF(f32 angle);
 7 | f32 Math_FFloorF(f32 x);
 8 | f32 Math_FCeilF(f32 x);
 9 | f32 Math_FRoundF(f32 x);
10 | f32 Math_FNearbyIntF(f32 x);
11 | f32 Math_FTruncF(f32 x);
12 | f32 Math_FAtanF(f32 x);
13 | f32 Math_FAtan2F(f32 y, f32 x);
14 | f32 Math_FAsinF(f32 x);
15 | f32 Math_FAcosF(f32 x);
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/include/libc64/qrand.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIBC64_QRAND_H
 2 | #define LIBC64_QRAND_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | u32 Rand_Next(void);
 7 | void Rand_Seed(u32 seed);
 8 | f32 Rand_ZeroOne(void);
 9 | void Rand_Seed_Variable(u32* rndNum, u32 seed);
10 | u32 Rand_Next_Variable(u32* rndNum);
11 | f32 Rand_ZeroOne_Variable(u32* rndNum);
12 | 
13 | #if !PLATFORM_N64
14 | f32 Rand_Centered(void);
15 | f32 Rand_Centered_Variable(u32* rndNum);
16 | #endif
17 | 
18 | #endif
19 | 


--------------------------------------------------------------------------------
/include/libc64/sleep.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIBC64_SLEEP_H
 2 | #define LIBC64_SLEEP_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | void Sleep_Cycles(OSTime cycles);
 7 | void Sleep_Nsec(u32 nsec);
 8 | void Sleep_Usec(u32 usec);
 9 | void Sleep_Msec(u32 ms);
10 | void Sleep_Sec(u32 sec);
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/libc64/sprintf.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIBC64_SPRINTF_H
 2 | #define LIBC64_SPRINTF_H
 3 | 
 4 | #include "stdarg.h"
 5 | 
 6 | int vsprintf(char* dst, const char* fmt, va_list args);
 7 | int sprintf(char* dst, const char* fmt, ...);
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/include/libu64/mtxuty-cvt.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIBU64_MTXUTY_CVT_H
 2 | #define LIBU64_MTXUTY_CVT_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | void MtxConv_F2L(Mtx* m1, MtxF* m2);
 7 | void MtxConv_L2F(MtxF* m1, Mtx* m2);
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/include/libu64/padsetup.h:
--------------------------------------------------------------------------------
1 | #ifndef LIBU64_PADSETUP_H
2 | #define LIBU64_PADSETUP_H
3 | 
4 | #include "ultra64.h"
5 | 
6 | s32 PadSetup_Init(OSMesgQueue* mq, u8* outMask, OSContStatus* status);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/libu64/rcp_utils.h:
--------------------------------------------------------------------------------
1 | #ifndef LIBU64_RCP_UTILS_H
2 | #define LIBU64_RCP_UTILS_H
3 | 
4 | void RcpUtils_Reset(void);
5 | 
6 | #endif
7 | 


--------------------------------------------------------------------------------
/include/libu64/runtime.h:
--------------------------------------------------------------------------------
1 | #ifndef LIBU64_RUNTIME_H
2 | #define LIBU64_RUNTIME_H
3 | 
4 | #include "ultra64.h"
5 | 
6 | void Runtime_Init(void* start, u32 size);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/lifemeter.h:
--------------------------------------------------------------------------------
 1 | #ifndef LIFEMETER_H
 2 | #define LIFEMETER_H
 3 | 
 4 | #include "ultra64/ultratypes.h"
 5 | 
 6 | struct PlayState;
 7 | 
 8 | void Health_InitMeter(struct PlayState* play);
 9 | void Health_UpdateMeter(struct PlayState* play);
10 | void Health_DrawMeter(struct PlayState* play);
11 | void Health_UpdateBeatingHeart(struct PlayState* play);
12 | u32 Health_IsCritical(void);
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/include/main.h:
--------------------------------------------------------------------------------
 1 | #ifndef MAIN_H
 2 | #define MAIN_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | extern s32 gScreenWidth;
 7 | extern s32 gScreenHeight;
 8 | extern u32 gSystemHeapSize;
 9 | 
10 | void Main(void* arg);
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/memory_utils.h:
--------------------------------------------------------------------------------
 1 | #ifndef MEMORY_UTILS_H
 2 | #define MEMORY_UTILS_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | void* MemCpy(void* dest, const void* src, s32 len);
 7 | void* MemSet(void* dest, s32 val, s32 len);
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/include/mio0.h:
--------------------------------------------------------------------------------
1 | #ifndef MIO0_H
2 | #define MIO0_H
3 | 
4 | #include "ultra64.h"
5 | 
6 | void Mio0_Decompress(u8* src, u8* dst);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/prenmi_state.h:
--------------------------------------------------------------------------------
 1 | #ifndef PRENMI_STATE_H
 2 | #define PRENMI_STATE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "game.h"
 6 | 
 7 | typedef struct PreNMIState {
 8 |     /* 0x00 */ GameState state;
 9 |     /* 0xA4 */ u32 timer;
10 |     /* 0xA8 */ s32 unk_A8;
11 | } PreNMIState; // size = 0xAC
12 | 
13 | void PreNMI_Init(GameState* thisx);
14 | void PreNMI_Destroy(GameState* thisx);
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/include/quest_hint.h:
--------------------------------------------------------------------------------
 1 | #ifndef QUEST_HINT_H
 2 | #define QUEST_HINT_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | struct PlayState;
 7 | 
 8 | u16 QuestHint_GetSariaTextId(struct PlayState* play);
 9 | u16 QuestHint_GetNaviTextId(struct PlayState* play);
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/rand.h:
--------------------------------------------------------------------------------
 1 | #ifndef RAND_H
 2 | #define RAND_H
 3 | 
 4 | #include "libc64/qrand.h"
 5 | 
 6 | f32 Rand_ZeroFloat(f32 f);
 7 | f32 Rand_CenteredFloat(f32 f);
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/include/region.h:
--------------------------------------------------------------------------------
 1 | #ifndef REGION_H
 2 | #define REGION_H
 3 | 
 4 | #define REGION_NULL 0
 5 | #define REGION_JP 1
 6 | #define REGION_US 2
 7 | #define REGION_EU 3
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/include/sample_state.h:
--------------------------------------------------------------------------------
 1 | #ifndef SAMPLE_STATE_H
 2 | #define SAMPLE_STATE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "game.h"
 6 | #include "view.h"
 7 | 
 8 | typedef struct SampleState {
 9 |     /* 0x0000 */ GameState state;
10 |     /* 0x00A4 */ u8* staticSegment;
11 |     /* 0x00A8 */ View view;
12 | } SampleState; // size = 0x1D0
13 | 
14 | void Sample_Init(GameState* thisx);
15 | void Sample_Destroy(GameState* thisx);
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/include/segmented_address.h:
--------------------------------------------------------------------------------
 1 | #ifndef SEGMENTED_ADDRESS_H
 2 | #define SEGMENTED_ADDRESS_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "stdint.h"
 6 | 
 7 | extern uintptr_t gSegments[NUM_SEGMENTS];
 8 | 
 9 | #define SEGMENTED_TO_VIRTUAL(addr) (void*)(gSegments[SEGMENT_NUMBER(addr)] + SEGMENT_OFFSET(addr) + K0BASE)
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/setup_state.h:
--------------------------------------------------------------------------------
 1 | #ifndef SETUP_STATE_H
 2 | #define SETUP_STATE_H
 3 | 
 4 | #include "game.h"
 5 | 
 6 | typedef struct SetupState {
 7 |     /* 0x00 */ GameState state;
 8 | } SetupState; // size = 0xA4
 9 | 
10 | void Setup_Init(GameState* thisx);
11 | void Setup_Destroy(GameState* thisx);
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/include/ss_sram.h:
--------------------------------------------------------------------------------
 1 | #ifndef SS_SRAM_H
 2 | #define SS_SRAM_H
 3 | 
 4 | #include "stddef.h"
 5 | #include "ultra64/ultratypes.h"
 6 | 
 7 | void SsSram_Init(s32 addr, u8 handleType, u8 handleDomain, u8 handleLatency, u8 handlePageSize, u8 handleRelDuration,
 8 |     u8 handlePulse, u32 handleSpeed);
 9 | void SsSram_Dma(void* dramAddr, size_t size, s32 direction);
10 | void SsSram_ReadWrite(s32 addr, void* dramAddr, size_t size, s32 direction);
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/stack.h:
--------------------------------------------------------------------------------
 1 | #ifndef STACK_H
 2 | #define STACK_H
 3 | 
 4 | #include "alignment.h"
 5 | 
 6 | #define STACK(stack, size) \
 7 |     u64 stack[ALIGN8(size) / sizeof(u64)]
 8 | 
 9 | #define STACK_TOP(stack) \
10 |     ((u8*)(stack) + sizeof(stack))
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/include/sys_cfb.h:
--------------------------------------------------------------------------------
 1 | #ifndef SYS_CFB_H
 2 | #define SYS_CFB_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | void SysCfb_Init(s32 n64dd);
 7 | void* SysCfb_GetFbPtr(s32 idx);
 8 | void* SysCfb_GetFbEnd(void);
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/include/sys_debug_controller.h:
--------------------------------------------------------------------------------
 1 | #ifndef SYS_DEBUG_CONTROLLER_H
 2 | #define SYS_DEBUG_CONTROLLER_H
 3 | 
 4 | #include "ultra64/ultratypes.h"
 5 | 
 6 | #if DEBUG_FEATURES
 7 | extern u32 gIsCtrlr2Valid;
 8 | 
 9 | void func_800D31F0(void);
10 | void func_800D3210(void);
11 | #endif
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/include/sys_freeze.h:
--------------------------------------------------------------------------------
1 | #ifndef SYS_FREEZE_H
2 | #define SYS_FREEZE_H
3 | 
4 | #include "attributes.h"
5 | 
6 | NORETURN void func_800D31A0(void);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/sys_math.h:
--------------------------------------------------------------------------------
 1 | #ifndef SYS_MATH_H
 2 | #define SYS_MATH_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | f32 Math_FactorialF(f32 n);
 7 | f32 Math_Factorial(s32 n);
 8 | f32 Math_PowF(f32 base, s32 exp);
 9 | f32 Math_SinF(f32 angle);
10 | f32 Math_CosF(f32 angle);
11 | s16 Math_Atan2S(f32 x, f32 y);
12 | f32 Math_Atan2F(f32 x, f32 y);
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/include/sys_ucode.h:
--------------------------------------------------------------------------------
 1 | #ifndef SYS_UCODE_H
 2 | #define SYS_UCODE_H
 3 | 
 4 | #include "ultra64.h"
 5 | 
 6 | u64* SysUcode_GetUCodeBoot(void);
 7 | size_t SysUcode_GetUCodeBootSize(void);
 8 | u64* SysUcode_GetUCode(void);
 9 | u64* SysUcode_GetUCodeData(void);
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/tables/dmadata_table.h:
--------------------------------------------------------------------------------
 1 | #include "versions.h"
 2 | 
 3 | /**
 4 |  * Select dmadata table for version
 5 |  */
 6 | #if OOT_VERSION == GC_EU_MQ_DBG && !NON_MATCHING
 7 | #include "dmadata_table_mqdbg.h"
 8 | #else
 9 | // For retail versions and non-matching builds, dmadata is generated from the specfile segments
10 | #include "dmadata_table_spec.h"
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/title_setup_state.h:
--------------------------------------------------------------------------------
 1 | #ifndef TITLE_SETUP_STATE_H
 2 | #define TITLE_SETUP_STATE_H
 3 | 
 4 | #include "game.h"
 5 | #include "view.h"
 6 | 
 7 | typedef struct TitleSetupState {
 8 |     /* 0x0000 */ GameState state;
 9 |     /* 0x00A8 */ View view;
10 | } TitleSetupState; // size = 0x1D0
11 | 
12 | void TitleSetup_Init(GameState* thisx);
13 | void TitleSetup_Destroy(GameState* thisx);
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/include/transition_instances.h:
--------------------------------------------------------------------------------
 1 | #ifndef TRANSITION_INSTANCES_H
 2 | #define TRANSITION_INSTANCES_H
 3 | 
 4 | typedef enum TransitionInstanceType {
 5 |     /* 1 */ TRANS_INSTANCE_TYPE_FILL_OUT = 1,
 6 |     /* 2 */ TRANS_INSTANCE_TYPE_FILL_IN,
 7 |     /* 3 */ TRANS_INSTANCE_TYPE_FADE_FLASH
 8 | } TransitionInstanceType;
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/include/ultra64/motor.h:
--------------------------------------------------------------------------------
 1 | #ifndef ULTRA64_MOTOR_H
 2 | #define ULTRA64_MOTOR_H
 3 | 
 4 | #include "pfs.h"
 5 | 
 6 | #define MOTOR_START 1
 7 | #define MOTOR_STOP  0
 8 | 
 9 | #define osMotorStart(x) __osMotorAccess((x), MOTOR_START)
10 | #define osMotorStop(x)  __osMotorAccess((x), MOTOR_STOP)
11 | 
12 | s32 __osMotorAccess(OSPfs* pfs, s32 vibrate);
13 | s32 osMotorInit(OSMesgQueue* ctrlrqueue, OSPfs* pfs, s32 channel);
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/include/ultra64/os_pi.h:
--------------------------------------------------------------------------------
1 | #ifndef ULTRA64_OS_PI_H
2 | #define ULTRA64_OS_PI_H
3 | 
4 | #include "pi.h"
5 | 
6 | extern OSPiHandle* __osPiTable;
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/ultra64/os_vi.h:
--------------------------------------------------------------------------------
 1 | #ifndef ULTRA64_OS_VI_H
 2 | #define ULTRA64_OS_VI_H
 3 | 
 4 | #include "vi.h"
 5 | 
 6 | extern OSViMode osViModeNtscLan1;
 7 | extern OSViMode osViModePalLan1;
 8 | extern OSViMode osViModeMpalLan1;
 9 | extern OSViMode osViModeFpalLan1;
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/ultra64/piint.h:
--------------------------------------------------------------------------------
 1 | #ifndef ULTRA64_PIINT_H
 2 | #define ULTRA64_PIINT_H
 3 | 
 4 | #include "ultratypes.h"
 5 | #include "pi.h"
 6 | 
 7 | extern OSPiHandle* __osCurrentHandle[];
 8 | extern OSMesgQueue __osPiAccessQueue;
 9 | extern u32 __osPiAccessQueueEnabled;
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/include/ultra64/siint.h:
--------------------------------------------------------------------------------
1 | #ifndef ULTRA64_SIINT_H
2 | #define ULTRA64_SIINT_H
3 | 
4 | #include "pfs.h"
5 | 
6 | extern u8 __osPfsInodeCacheBank;
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/include/ultra64/time.h:
--------------------------------------------------------------------------------
 1 | #ifndef ULTRA64_TIME_H
 2 | #define ULTRA64_TIME_H
 3 | 
 4 | #include "message.h"
 5 | 
 6 | typedef u64 OSTime;
 7 | 
 8 | typedef struct OSTimer {
 9 |     /* 0x00 */ struct OSTimer* next;
10 |     /* 0x04 */ struct OSTimer* prev;
11 |     /* 0x08 */ OSTime interval;
12 |     /* 0x10 */ OSTime value;
13 |     /* 0x18 */ OSMesgQueue* mq;
14 |     /* 0x1C */ OSMesg msg;
15 | } OSTimer; // size = 0x20
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/include/ultra64/version.h:
--------------------------------------------------------------------------------
 1 | #ifndef ULTRA64_VERSION_H
 2 | #define ULTRA64_VERSION_H
 3 | 
 4 | #define LIBULTRA_VERSION_D  'D'
 5 | #define LIBULTRA_VERSION_E  'E'
 6 | #define LIBULTRA_VERSION_F  'F'
 7 | #define LIBULTRA_VERSION_G  'G'
 8 | #define LIBULTRA_VERSION_H  'H'
 9 | #define LIBULTRA_VERSION_I  'I'
10 | #define LIBULTRA_VERSION_J  'J'
11 | #define LIBULTRA_VERSION_K  'K'
12 | #define LIBULTRA_VERSION_L  'L'
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/include/unk.h:
--------------------------------------------------------------------------------
 1 | #ifndef UNK_H
 2 | #define UNK_H
 3 | 
 4 | #define UNK_TYPE s32
 5 | #define UNK_TYPE1 s8
 6 | #define UNK_TYPE2 s16
 7 | #define UNK_TYPE4 s32
 8 | #define UNK_PTR void*
 9 | #define UNK_RET void
10 | #define UNK_FUN_ARG void(*)(void)
11 | #define UNK_FUN_PTR(name) void(*name)(void)
12 | #define UNK_ARGS
13 | #define UNK_SIZE 1
14 | 
15 | // Unknown filename and line number for debug macros
16 | #define UNK_FILE "<unknown>"
17 | #define UNK_LINE 0
18 | 
19 | #endif
20 | 


--------------------------------------------------------------------------------
/include/yaz0.h:
--------------------------------------------------------------------------------
 1 | #ifndef YAZ0_H
 2 | #define YAZ0_H
 3 | 
 4 | #include "stddef.h"
 5 | #include "stdint.h"
 6 | #include "ultra64.h"
 7 | 
 8 | void Yaz0_Decompress(uintptr_t romStart, u8* dst, size_t size);
 9 | 
10 | #endif
11 | 


--------------------------------------------------------------------------------
/include/z_locale.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_LOCALE_H
 2 | #define Z_LOCALE_H
 3 | 
 4 | #include "ultra64/ultratypes.h"
 5 | 
 6 | extern s32 gCurrentRegion;
 7 | 
 8 | void Locale_Init(void);
 9 | void Locale_ResetRegion(void);
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/linker_scripts/soundfont.ld:
--------------------------------------------------------------------------------
 1 | OUTPUT_ARCH (mips)
 2 | 
 3 | /* Soundfont Linker Script, maps data into rodata and adds a file length symbol */
 4 | 
 5 | SECTIONS {
 6 | 
 7 |     .rodata ALIGN(16) :
 8 |     {
 9 |         *(.data*)
10 |         *(.rodata*)
11 |         . = ALIGN(16);
12 |     }
13 | 
14 |     __LEN__ = ABSOLUTE(SIZEOF(.rodata));
15 | 
16 |     /DISCARD/ :
17 |     {
18 |         *(*);
19 |     }
20 | }
21 | 


--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
 1 | # Setup and compression
 2 | crunch64>=0.5.1,<1.0.0
 3 | ipl3checksum>=1.2.0,<2.0.0
 4 | pyyaml>=6.0.1,<7.0.0
 5 | pygfxd>=1.0.3,<2.0.0
 6 | 
 7 | # asm-differ
 8 | argcomplete
 9 | colorama
10 | cxxfilt
11 | python-Levenshtein
12 | watchdog
13 | 
14 | # decomp-permuter
15 | pycparser
16 | toml
17 | 
18 | # tools
19 | mapfile-parser>=2.3.5,<3.0.0
20 | pyelftools==0.30
21 | rabbitizer>=1.0.0,<2.0.0
22 | spimdisasm>=1.28.1,<2.0.0
23 | 


--------------------------------------------------------------------------------
/src/boot/assert.c:
--------------------------------------------------------------------------------
 1 | #include "libc64/sprintf.h"
 2 | #include "assert.h"
 3 | #include "fault.h"
 4 | 
 5 | NORETURN void __assert(const char* assertion, const char* file, int line) {
 6 |     char msg[256];
 7 | 
 8 |     osSyncPrintf("Assertion failed: %s, file %s, line %d, thread %d\n", assertion, file, line, osGetThreadId(NULL));
 9 |     sprintf(msg, "ASSERT: %s:%d(%d)", file, line, osGetThreadId(NULL));
10 |     Fault_AddHungupAndCrashImpl(msg, assertion);
11 | }
12 | 


--------------------------------------------------------------------------------
/src/boot/build.c:
--------------------------------------------------------------------------------
1 | #include "build.h"
2 | 
3 | #include "versions.h"
4 | 
5 | const char gBuildCreator[] = BUILD_CREATOR;
6 | const char gBuildDate[] = BUILD_DATE " " BUILD_TIME;
7 | const char gBuildMakeOption[] = "";
8 | 


--------------------------------------------------------------------------------
/src/boot/carthandle.c:
--------------------------------------------------------------------------------
1 | #include "carthandle.h"
2 | 
3 | OSPiHandle* gCartHandle = NULL;
4 | 


--------------------------------------------------------------------------------
/src/boot/is_debug_ique.c:
--------------------------------------------------------------------------------
1 | void osSyncPrintfUnused() {
2 | }
3 | 
4 | void osSyncPrintf() {
5 | }
6 | 
7 | void rmonPrintf() {
8 | }
9 | 


--------------------------------------------------------------------------------
/src/buffers/audio_heap.c:
--------------------------------------------------------------------------------
1 | #include "ultra64/ultratypes.h"
2 | #include "alignment.h"
3 | #include "buffers.h"
4 | 
5 | ALIGNED(16) u8 gAudioHeap[0x38000];
6 | 


--------------------------------------------------------------------------------
/src/buffers/gfxbuffers.c:
--------------------------------------------------------------------------------
 1 | #include "alignment.h"
 2 | #include "buffers.h"
 3 | #include "gfx.h"
 4 | #include "ultra64.h"
 5 | 
 6 | ALIGNED(16) u64 gGfxSPTaskOutputBuffer[0x3000];
 7 | 
 8 | ALIGNED(16) u64 gGfxSPTaskYieldBuffer[OS_YIELD_DATA_SIZE / sizeof(u64)];
 9 | 
10 | ALIGNED(16) u64 gGfxSPTaskStack[SP_DRAM_STACK_SIZE64];
11 | 
12 | ALIGNED(16) GfxPool gGfxPools[2];
13 | 


--------------------------------------------------------------------------------
/src/buffers/zbuffer.c:
--------------------------------------------------------------------------------
1 | #include "alignment.h"
2 | #include "buffers.h"
3 | #include "ultra64/ultratypes.h"
4 | 
5 | ALIGNED(64) u16 gZBuffer[SCREEN_HEIGHT][SCREEN_WIDTH];
6 | 


--------------------------------------------------------------------------------
/src/code/audio_stop_all_sfx.c:
--------------------------------------------------------------------------------
 1 | #include "array_count.h"
 2 | #include "sfx.h"
 3 | #include "ultra64.h"
 4 | 
 5 | u8 sSfxBankIds[] = {
 6 |     BANK_PLAYER, BANK_ITEM, BANK_ENV, BANK_ENEMY, BANK_SYSTEM, BANK_OCARINA, BANK_VOICE,
 7 | };
 8 | 
 9 | void AudioMgr_StopAllSfx(void) {
10 |     u8* bankIdPtr;
11 | 
12 |     for (bankIdPtr = &sSfxBankIds[0]; bankIdPtr < (sSfxBankIds + ARRAY_COUNT(sSfxBankIds)); bankIdPtr++) {
13 |         Audio_StopSfxByBank(*bankIdPtr);
14 |     }
15 | }
16 | 


--------------------------------------------------------------------------------
/src/code/sys_debug_controller.c:
--------------------------------------------------------------------------------
 1 | #include "sys_debug_controller.h"
 2 | #include "stdbool.h"
 3 | #include "ultra64/ultratypes.h"
 4 | #include "padmgr.h"
 5 | 
 6 | u32 gIsCtrlr2Valid = false;
 7 | 
 8 | void func_800D31F0(void) {
 9 |     gIsCtrlr2Valid = (gPadMgr.validCtrlrsMask & 2) != 0;
10 | }
11 | 
12 | void func_800D3210(void) {
13 |     gIsCtrlr2Valid = false;
14 | }
15 | 


--------------------------------------------------------------------------------
/src/code/sys_freeze.c:
--------------------------------------------------------------------------------
 1 | #include "libc64/sleep.h"
 2 | #include "attributes.h"
 3 | #include "printf.h"
 4 | #include "sys_freeze.h"
 5 | #include "terminal.h"
 6 | 
 7 | NORETURN void func_800D31A0(void) {
 8 |     PRINTF(VT_FGCOL(RED) "\n**** Freeze!! ****\n" VT_RST);
 9 |     for (;;) {
10 |         Sleep_Msec(1000);
11 |     }
12 | }
13 | 


--------------------------------------------------------------------------------
/src/code/sys_math3d_draw.c:
--------------------------------------------------------------------------------
1 | #include "sys_math3d.h"
2 | #include "play_state.h"
3 | 
4 | void Math3D_DrawSphere(PlayState* play, Sphere16* sph) {
5 | }
6 | 
7 | void Math3D_DrawCylinder(PlayState* play, Cylinder16* cyl) {
8 | }
9 | 


--------------------------------------------------------------------------------
/src/elf_message/elf_message_ydan.c:
--------------------------------------------------------------------------------
1 | #include "quest_hint_commands.h"
2 | 
3 | QuestHintCmd gDungeonNaviQuestHints[] = {
4 |     QUEST_HINT_END(0x5F),
5 | };
6 | 


--------------------------------------------------------------------------------
/src/libc/fabsf.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | 
 4 | .text
 5 | 
 6 | LEAF(fabsf)
 7 |     abs.s       fv0, fa0
 8 |     jr          ra
 9 | END(fabsf)
10 | 


--------------------------------------------------------------------------------
/src/libc/sqrt.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | 
 4 | .text
 5 | 
 6 | LEAF(sqrt)
 7 |     sqrt.d      fv0, fa0
 8 |     jr          ra
 9 | END(sqrt)
10 | 


--------------------------------------------------------------------------------
/src/libc64/aprintf.c:
--------------------------------------------------------------------------------
 1 | #include "libc64/aprintf.h"
 2 | #include "ultra64.h"
 3 | 
 4 | s32 PrintUtils_VPrintf(PrintCallback* pfn, const char* fmt, va_list args) {
 5 |     return _Printf(*pfn, pfn, fmt, args);
 6 | }
 7 | 
 8 | s32 PrintUtils_Printf(PrintCallback* pfn, const char* fmt, ...) {
 9 |     s32 ret;
10 |     va_list args;
11 |     va_start(args, fmt);
12 | 
13 |     ret = PrintUtils_VPrintf(pfn, fmt, args);
14 | 
15 |     va_end(args);
16 | 
17 |     return ret;
18 | }
19 | 


--------------------------------------------------------------------------------
/src/libgcc/__cmpdi2.c:
--------------------------------------------------------------------------------
1 | #define L_cmpdi2
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__divdi3.c:
--------------------------------------------------------------------------------
1 | #define L_divdi3
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__fixdfdi.c:
--------------------------------------------------------------------------------
1 | #define L_fixdfdi
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__fixsfdi.c:
--------------------------------------------------------------------------------
1 | #define L_fixsfdi
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__fixunsdfdi.c:
--------------------------------------------------------------------------------
1 | #define L_fixunsdfdi
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__fixunssfdi.c:
--------------------------------------------------------------------------------
1 | #define L_fixunssfdi
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__floatdidf.c:
--------------------------------------------------------------------------------
1 | #define L_floatdidf
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__floatdisf.c:
--------------------------------------------------------------------------------
1 | #define L_floatdisf
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__moddi3.c:
--------------------------------------------------------------------------------
1 | #define L_moddi3
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__udivdi3.c:
--------------------------------------------------------------------------------
1 | #define L_udivdi3
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libgcc/__umoddi3.c:
--------------------------------------------------------------------------------
1 | #define L_umoddi3
2 | #include "src/libgcc/libgcc2.inc.c"
3 | 


--------------------------------------------------------------------------------
/src/libleo/leo/leoc2_syndrome.c:
--------------------------------------------------------------------------------
1 | #include "n64dd.h"
2 | 
3 | u8 LEOC2_Syndrome[2][0xE8 * 4];
4 | 


--------------------------------------------------------------------------------
/src/libleo/leo/leoglobals.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | #include "ultra64/leo.h"
3 | #include "ultra64/leoappli.h"
4 | #include "ultra64/leodrive.h"
5 | 
6 | s32 __leoActive = false;
7 | 
8 | LEOVersion __leoVersion;
9 | 


--------------------------------------------------------------------------------
/src/libleo/leo/leotempbuffer.c:
--------------------------------------------------------------------------------
1 | #include "n64dd.h"
2 | 
3 | u8 LEO_TempBuffer[0xE8];
4 | 


--------------------------------------------------------------------------------
/src/libleo/leo/leotestunit.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "ultra64/leo.h"
 3 | #include "ultra64/leoappli.h"
 4 | #include "ultra64/leodrive.h"
 5 | 
 6 | void leoTest_unit_rdy(void) {
 7 |     ((LEOCmdTestUnitReady*)LEOcur_command)->test = leoChk_cur_drvmode();
 8 |     LEOcur_command->header.sense = LEO_SENSE_NO_ADDITIONAL_SENSE_INFOMATION;
 9 |     LEOcur_command->header.status = LEO_STATUS_GOOD;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libu64/logseverity_gc.c:
--------------------------------------------------------------------------------
1 | #include "libu64/overlay.h"
2 | 
3 | s32 gOverlayLogSeverity = 2;
4 | 


--------------------------------------------------------------------------------
/src/libultra/audio/copy.c:
--------------------------------------------------------------------------------
 1 | #include "libaudio.h"
 2 | 
 3 | void alCopy(void* src, void* dest, s32 len) {
 4 |     s32 i;
 5 |     u8* s = (u8*)src;
 6 |     u8* d = (u8*)dest;
 7 | 
 8 |     for (i = 0; i < len; i++) {
 9 |         *d++ = *s++;
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/audio/filter.c:
--------------------------------------------------------------------------------
 1 | #include "libaudio.h"
 2 | #include "synthInternals.h"
 3 | #include "stddef.h"
 4 | 
 5 | void alFilterNew(ALFilter* f, ALCmdHandler h, ALSetParam s, s32 type) {
 6 |     f->source = NULL;
 7 |     f->handler = h;
 8 |     f->setParam = s;
 9 |     f->inp = 0;
10 |     f->outp = 0;
11 |     f->type = type;
12 | }
13 | 


--------------------------------------------------------------------------------
/src/libultra/audio/heapalloc.c:
--------------------------------------------------------------------------------
 1 | #include "libaudio.h"
 2 | #include "synthInternals.h"
 3 | #include "stddef.h"
 4 | 
 5 | void* alHeapDBAlloc(u8* file, s32 line, ALHeap* hp, s32 num, s32 size) {
 6 |     s32 bytes;
 7 |     u8* ptr = NULL;
 8 | 
 9 |     bytes = (num * size + AL_CACHE_ALIGN) & ~AL_CACHE_ALIGN;
10 | 
11 |     if (hp->cur + bytes <= hp->base + hp->len) {
12 |         ptr = hp->cur;
13 |         hp->cur += bytes;
14 |     }
15 |     return ptr;
16 | }
17 | 


--------------------------------------------------------------------------------
/src/libultra/audio/synallocfx.c:
--------------------------------------------------------------------------------
 1 | #include "libaudio.h"
 2 | #include "synthInternals.h"
 3 | 
 4 | ALFxRef* alSynAllocFX(ALSynth* s, s16 bus, ALSynConfig* c, ALHeap* hp) {
 5 |     alFxNew(&s->auxBus[bus].fx[0], c, hp);
 6 |     alFxParam(&s->auxBus[bus].fx[0], AL_FILTER_SET_SOURCE, &s->auxBus[bus]);
 7 |     alMainBusParam(s->mainBus, AL_FILTER_ADD_SOURCE, &s->auxBus[bus].fx[0]);
 8 |     return (ALFxRef)&s->auxBus[bus].fx[0];
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/audio/syndelete.c:
--------------------------------------------------------------------------------
1 | #include "libaudio.h"
2 | #include "stddef.h"
3 | 
4 | void alSynDelete(ALSynth* drvr) {
5 |     drvr->head = NULL;
6 | }
7 | 


--------------------------------------------------------------------------------
/src/libultra/gu/coss.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | /**
 4 |  * @param angle binang
 5 |  * @return cos(angle)*0x7FFF
 6 |  */
 7 | s16 coss(u16 angle) {
 8 |     return sins(angle + 0x4000);
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/gu/libm_vals.s:
--------------------------------------------------------------------------------
1 | #include "ultra64/asm.h"
2 | 
3 | .rdata
4 | 
5 | DATA(__libm_qnan_f)
6 |     .word 0x7F810000
7 | ENDDATA(__libm_qnan_f)
8 | 


--------------------------------------------------------------------------------
/src/libultra/gu/normalize.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "z_math.h" // TODO: libultra should not have access to game-side headers
 3 | 
 4 | void guNormalize(f32* x, f32* y, f32* z) {
 5 |     f32 m = 1 / sqrtf(SQ(*x) + SQ(*y) + SQ(*z));
 6 | 
 7 |     *x *= m;
 8 |     *y *= m;
 9 |     *z *= m;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libultra/gu/scale.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void guScaleF(f32 m[4][4], f32 x, f32 y, f32 z) {
 4 |     guMtxIdentF(m);
 5 | 
 6 |     m[0][0] = x;
 7 |     m[1][1] = y;
 8 |     m[2][2] = z;
 9 |     m[3][3] = 1;
10 | }
11 | 
12 | void guScale(Mtx* m, f32 x, f32 y, f32 z) {
13 |     f32 mf[4][4];
14 | 
15 |     guScaleF(mf, x, y, z);
16 | 
17 |     guMtxF2L(mf, m);
18 | }
19 | 


--------------------------------------------------------------------------------
/src/libultra/gu/sqrtf.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | 
 4 | .text
 5 | 
 6 | LEAF(sqrtf)
 7 |     sqrt.s  fv0, fa0
 8 |     j       ra
 9 | END(sqrtf)
10 | 


--------------------------------------------------------------------------------
/src/libultra/gu/translate.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void guTranslateF(f32 m[4][4], f32 x, f32 y, f32 z) {
 4 |     guMtxIdentF(m);
 5 | 
 6 |     m[3][0] = x;
 7 |     m[3][1] = y;
 8 |     m[3][2] = z;
 9 | }
10 | 
11 | void guTranslate(Mtx* m, f32 x, f32 y, f32 z) {
12 |     f32 mf[4][4];
13 | 
14 |     guTranslateF(mf, x, y, z);
15 | 
16 |     guMtxF2L(mf, m);
17 | }
18 | 


--------------------------------------------------------------------------------
/src/libultra/io/aigetlen.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | /**
 4 |  * Returns the number of bytes remaining in a currently ongoing audio DMA.
 5 |  *
 6 |  * Note that audio DMA is double-buffered, a DMA can be queued while another is in-progress. This only returns
 7 |  * information about the currently in-progress DMA.
 8 |  */
 9 | u32 osAiGetLength(void) {
10 |     return IO_READ(AI_LEN_REG);
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/io/dpgetstat.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | u32 osDpGetStatus(void) {
4 |     return IO_READ(DPC_STATUS_REG);
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/dpsetstat.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void osDpSetStatus(u32 status) {
4 |     IO_WRITE(DPC_STATUS_REG, status);
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/epiread.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | s32 osEPiReadIo(OSPiHandle* handle, u32 devAddr, u32* data) {
 4 |     register s32 ret;
 5 | 
 6 |     __osPiGetAccess();
 7 |     ret = __osEPiRawReadIo(handle, devAddr, data);
 8 |     __osPiRelAccess();
 9 | 
10 |     return ret;
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/io/epiwrite.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | s32 osEPiWriteIo(OSPiHandle* handle, u32 devAddr, u32 data) {
 4 |     register s32 ret;
 5 | 
 6 |     __osPiGetAccess();
 7 |     ret = __osEPiRawWriteIo(handle, devAddr, data);
 8 |     __osPiRelAccess();
 9 | 
10 |     return ret;
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/io/pigetcmdq.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "ultra64/internal.h"
 3 | 
 4 | OSMesgQueue* osPiGetCmdQueue(void) {
 5 |     if (!__osPiDevMgr.active) {
 6 |         return NULL;
 7 |     }
 8 | 
 9 |     return __osPiDevMgr.cmdQueue;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libultra/io/si.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | s32 __osSiDeviceBusy(void) {
 4 |     register u32 status = IO_READ(SI_STATUS_REG);
 5 | 
 6 |     if (status & (SI_STATUS_DMA_BUSY | SI_STATUS_RD_BUSY)) {
 7 |         return true;
 8 |     }
 9 |     return false;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libultra/io/sirawread.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | s32 __osSiRawReadIo(void* devAddr, u32* dst) {
 4 |     if (__osSiDeviceBusy()) {
 5 |         return -1;
 6 |     }
 7 |     *dst = IO_READ(devAddr);
 8 |     return 0;
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/io/sirawwrite.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | s32 __osSiRawWriteIo(void* devAddr, u32 val) {
 4 |     if (__osSiDeviceBusy()) {
 5 |         return -1;
 6 |     }
 7 |     IO_WRITE(devAddr, val);
 8 |     return 0;
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/io/sp.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | u32 __osSpDeviceBusy(void) {
 4 |     register u32 status = IO_READ(SP_STATUS_REG);
 5 | 
 6 |     if (status & (SP_STATUS_DMA_BUSY | SP_STATUS_DMA_FULL | SP_STATUS_IO_FULL)) {
 7 |         return 1;
 8 |     }
 9 |     return 0;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libultra/io/spgetstat.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | u32 __osSpGetStatus(void) {
4 |     return IO_READ(SP_STATUS_REG);
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/spsetpc.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | s32 __osSpSetPc(void* pc) {
 4 |     register u32 spStatus = IO_READ(SP_STATUS_REG);
 5 | 
 6 |     if (!(spStatus & SP_STATUS_HALT)) {
 7 |         return -1;
 8 |     }
 9 | 
10 |     IO_WRITE(SP_PC_REG, pc);
11 |     return 0;
12 | }
13 | 


--------------------------------------------------------------------------------
/src/libultra/io/spsetstat.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void __osSpSetStatus(u32 status) {
4 |     IO_WRITE(SP_STATUS_REG, status);
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/sptaskyield.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void osSpTaskYield(void) {
4 |     __osSpSetStatus(SP_SET_SIG0);
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/sptaskyielded.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | u32 osSpTaskYielded(OSTask* task) {
 4 |     u32 status = __osSpGetStatus();
 5 |     u32 result;
 6 | 
 7 |     result = (status & SP_STATUS_YIELDED) ? OS_TASK_YIELDED : 0;
 8 | 
 9 |     if (status & SP_STATUS_YIELD) {
10 |         task->t.flags |= result;
11 |         task->t.flags &= ~OS_TASK_DP_WAIT;
12 |     }
13 |     return result;
14 | }
15 | 


--------------------------------------------------------------------------------
/src/libultra/io/viblack.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "ultra64/viint.h"
 3 | 
 4 | void osViBlack(u8 active) {
 5 |     register u32 prevInt = __osDisableInt();
 6 | 
 7 |     if (active) {
 8 |         __osViNext->state |= VI_STATE_BLACK;
 9 |     } else {
10 |         __osViNext->state &= ~VI_STATE_BLACK;
11 |     }
12 |     __osRestoreInt(prevInt);
13 | }
14 | 


--------------------------------------------------------------------------------
/src/libultra/io/viextendvstart.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void osViExtendVStart(u32 value) {
4 |     __additional_scanline = value;
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/vigetcurrcontext.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | OSViContext* __osViGetCurrentContext(void) {
4 |     return __osViCurr;
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/io/vigetcurrframebuf.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void* osViGetCurrentFramebuffer(void) {
 4 |     register u32 prevInt = __osDisableInt();
 5 |     void* framep = __osViCurr->framep;
 6 | 
 7 |     __osRestoreInt(prevInt);
 8 | 
 9 |     return framep;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libultra/io/vigetnextframebuf.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void* osViGetNextFramebuffer(void) {
 4 |     register u32 prevInt = __osDisableInt();
 5 |     void* framep = __osViNext->framep;
 6 | 
 7 |     __osRestoreInt(prevInt);
 8 |     return framep;
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/io/visetevent.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void osViSetEvent(OSMesgQueue* mq, OSMesg msg, u32 retraceCount) {
 4 |     register u32 prevInt = __osDisableInt();
 5 | 
 6 |     __osViNext->mq = mq;
 7 |     __osViNext->msg = msg;
 8 |     __osViNext->retraceCount = retraceCount;
 9 | 
10 |     __osRestoreInt(prevInt);
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/io/visetyscale.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "ultra64/viint.h"
 3 | 
 4 | void osViSetYScale(f32 scale) {
 5 |     register u32 prevInt = __osDisableInt();
 6 | 
 7 |     __osViNext->y.factor = scale;
 8 |     __osViNext->state |= VI_STATE_YSCALE_FACTOR_SET;
 9 | 
10 |     __osRestoreInt(prevInt);
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/io/viswapbuf.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "ultra64/viint.h"
 3 | 
 4 | void osViSwapBuffer(void* frameBufPtr) {
 5 |     u32 prevInt = __osDisableInt();
 6 | 
 7 |     __osViNext->framep = frameBufPtr;
 8 |     __osViNext->state |= VI_STATE_BUFFER_SET;
 9 | 
10 |     __osRestoreInt(prevInt);
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/os/afterprenmi.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | s32 osAfterPreNMI(void) {
4 |     return __osSpSetPc(0);
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/os/createmesgqueue.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void osCreateMesgQueue(OSMesgQueue* mq, OSMesg* msg, s32 count) {
 4 |     mq->mtqueue = (OSThread*)&__osThreadTail;
 5 |     mq->fullqueue = (OSThread*)&__osThreadTail;
 6 |     mq->validCount = 0;
 7 |     mq->first = 0;
 8 |     mq->msgCount = count;
 9 |     mq->msg = msg;
10 | }
11 | 


--------------------------------------------------------------------------------
/src/libultra/os/getactivequeue.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | OSThread* __osGetActiveQueue(void) {
4 |     return __osActiveQueue;
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/os/getcause.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osGetCause)
 8 |     MFC0(   v0, C0_CAUSE)
 9 |     jr      ra
10 | END(__osGetCause)
11 | 


--------------------------------------------------------------------------------
/src/libultra/os/getcount.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(osGetCount)
 8 |     MFC0(   v0, C0_COUNT)
 9 |     jr      ra
10 | END(osGetCount)
11 | 


--------------------------------------------------------------------------------
/src/libultra/os/getcurrfaultedthread.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | OSThread* __osGetCurrFaultedThread(void) {
4 |     return __osFaultedThread;
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/os/getfpccsr.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osGetFpcCsr)
 8 |     CFC1(   v0, C1_FPCSR)
 9 |     jr      ra
10 | END(__osGetFpcCsr)
11 | 


--------------------------------------------------------------------------------
/src/libultra/os/gethwintrroutine.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | #include "ultra64/internal.h"
3 | 
4 | void __osGetHWIntrRoutine(OSHWIntr intr, s32 (**callbackOut)(void), void** spOut) {
5 |     *callbackOut = __osHwIntTable[intr].callback;
6 |     *spOut = __osHwIntTable[intr].sp;
7 | }
8 | 


--------------------------------------------------------------------------------
/src/libultra/os/getsr.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osGetSR)
 8 |     MFC0(   v0, C0_SR)
 9 |     jr      ra
10 | END(__osGetSR)
11 | 


--------------------------------------------------------------------------------
/src/libultra/os/getthreadid.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | OSId osGetThreadId(OSThread* thread) {
 4 |     if (thread == NULL) {
 5 |         thread = __osRunningThread;
 6 |     }
 7 | 
 8 |     return thread->id;
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/os/getthreadpri.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | OSPri osGetThreadPri(OSThread* thread) {
 4 |     if (thread == NULL) {
 5 |         thread = __osRunningThread;
 6 |     }
 7 | 
 8 |     return thread->priority;
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/libultra/os/gettime.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | OSTime osGetTime(void) {
 4 |     u32 count;
 5 |     u32 base;
 6 |     OSTime t;
 7 |     register u32 prevInt = __osDisableInt();
 8 | 
 9 |     count = osGetCount();
10 |     base = count - __osBaseCounter;
11 |     t = __osCurrentTime;
12 |     __osRestoreInt(prevInt);
13 | 
14 |     return t + base;
15 | }
16 | 


--------------------------------------------------------------------------------
/src/libultra/os/kdebugserver.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | OSThread __osThreadSave;
4 | 


--------------------------------------------------------------------------------
/src/libultra/os/resetglobalintmask.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void __osResetGlobalIntMask(OSHWIntr mask) {
4 |     register u32 prevInt = __osDisableInt();
5 | 
6 |     __OSGlobalIntMask &= ~(mask & ~OS_IM_RCP);
7 |     __osRestoreInt(prevInt);
8 | }
9 | 


--------------------------------------------------------------------------------
/src/libultra/os/setcompare.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osSetCompare)
 8 |     MTC0(   a0, C0_COMPARE)
 9 |     jr      ra
10 | END(__osSetCompare)
11 | 


--------------------------------------------------------------------------------
/src/libultra/os/setfpccsr.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osSetFpcCsr)
 8 |     CFC1(   v0, C1_FPCSR)
 9 |     CTC1(   a0, C1_FPCSR)
10 |     jr      ra
11 | END(__osSetFpcCsr)
12 | 


--------------------------------------------------------------------------------
/src/libultra/os/setglobalintmask.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void __osSetGlobalIntMask(OSHWIntr mask) {
4 |     register u32 prevInt = __osDisableInt();
5 | 
6 |     __OSGlobalIntMask |= mask;
7 |     __osRestoreInt(prevInt);
8 | }
9 | 


--------------------------------------------------------------------------------
/src/libultra/os/sethwintrroutine.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | #include "ultra64/internal.h"
 3 | 
 4 | void __osSetHWIntrRoutine(OSHWIntr intr, s32 (*callback)(void), void* sp) {
 5 |     register u32 prevInt = __osDisableInt();
 6 | 
 7 |     __osHwIntTable[intr].callback = callback;
 8 |     __osHwIntTable[intr].sp = sp;
 9 | 
10 |     __osRestoreInt(prevInt);
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/os/setsr.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osSetSR)
 8 |     MTC0(   a0, C0_SR)
 9 |     NOP
10 |     jr      ra
11 | END(__osSetSR)
12 | 


--------------------------------------------------------------------------------
/src/libultra/os/settime.c:
--------------------------------------------------------------------------------
1 | #include "ultra64.h"
2 | 
3 | void osSetTime(OSTime time) {
4 |     __osCurrentTime = time;
5 | }
6 | 


--------------------------------------------------------------------------------
/src/libultra/os/setwatchlo.s:
--------------------------------------------------------------------------------
 1 | #include "ultra64/asm.h"
 2 | #include "ultra64/regdef.h"
 3 | #include "ultra64/R4300.h"
 4 | 
 5 | .text
 6 | 
 7 | LEAF(__osSetWatchLo)
 8 |     MTC0(   a0, C0_WATCHLO)
 9 |     NOP
10 |     jr      ra
11 | END(__osSetWatchLo)
12 | 


--------------------------------------------------------------------------------
/src/libultra/os/virtualtophysical.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | u32 osVirtualToPhysical(void* vaddr) {
 4 |     if (IS_KSEG0(vaddr)) {
 5 |         return K0_TO_PHYS(vaddr);
 6 |     } else if (IS_KSEG1(vaddr)) {
 7 |         return K1_TO_PHYS(vaddr);
 8 |     } else {
 9 |         return __osProbeTLB(vaddr);
10 |     }
11 | }
12 | 


--------------------------------------------------------------------------------
/src/libultra/os/yieldthread.c:
--------------------------------------------------------------------------------
 1 | #include "ultra64.h"
 2 | 
 3 | void osYieldThread(void) {
 4 |     register u32 prevInt = __osDisableInt();
 5 | 
 6 |     __osRunningThread->state = OS_STATE_RUNNABLE;
 7 |     __osEnqueueAndYield(&__osRunQueue);
 8 |     __osRestoreInt(prevInt);
 9 | }
10 | 


--------------------------------------------------------------------------------
/src/n64dd/n64dd_data_buffer.c:
--------------------------------------------------------------------------------
1 | #include "n64dd.h"
2 | 
3 | // Buffer used for reading from the disk?
4 | u8 B_801DC000[0x4D10];
5 | 


--------------------------------------------------------------------------------
/src/n64dd/n64dd_error_headers.c:
--------------------------------------------------------------------------------
1 | #include "n64dd.h"
2 | 
3 | // Padding in .rodata suggests that these are in a separate file
4 | const char* D_801D2ED0[4] = { "エラー番号   ", "Error Number    ", NULL, NULL };
5 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Gnd_Nisekabe/z_bg_gnd_nisekabe.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_GND_NISEKABE_H
 2 | #define Z_BG_GND_NISEKABE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgGndNisekabe;
 8 | 
 9 | typedef struct BgGndNisekabe {
10 |     /* 0x0000 */ Actor actor;
11 | } BgGndNisekabe; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Haka/z_bg_haka.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_HAKA_H
 2 | #define Z_BG_HAKA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgHaka;
 8 | 
 9 | typedef void (*BgHakaActionFunc)(struct BgHaka*, struct PlayState*);
10 | 
11 | typedef struct BgHaka {
12 |     /* 0x0000 */ DynaPolyActor dyna;
13 |     /* 0x0164 */ BgHakaActionFunc actionFunc;
14 | } BgHaka; // size = 0x0168
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_INGATE_H
 2 | #define Z_BG_INGATE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgInGate;
 8 | 
 9 | typedef void (*BgInGateActionFunc)(struct BgInGate*, struct PlayState*);
10 | 
11 | typedef struct BgInGate {
12 |     /* 0x0000 */ DynaPolyActor dyna;
13 |     /* 0x0164 */ BgInGateActionFunc actionFunc;
14 | } BgInGate; // size = 0x0168
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Jya_Block/z_bg_jya_block.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_JYA_BLOCK_H
 2 | #define Z_BG_JYA_BLOCK_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgJyaBlock;
 8 | 
 9 | typedef struct BgJyaBlock {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 | } BgJyaBlock; // size = 0x0164
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Menkuri_Kaiten/z_bg_menkuri_kaiten.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_MENKURI_KAITEN_H
 2 | #define Z_BG_MENKURI_KAITEN_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgMenkuriKaiten;
 8 | 
 9 | typedef struct BgMenkuriKaiten {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 | } BgMenkuriKaiten; // size = 0x0164
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Menkuri_Nisekabe/z_bg_menkuri_nisekabe.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_MENKURI_NISEKABE_H
 2 | #define Z_BG_MENKURI_NISEKABE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgMenkuriNisekabe;
 8 | 
 9 | typedef struct BgMenkuriNisekabe {
10 |     /* 0x0000 */ Actor actor;
11 | } BgMenkuriNisekabe; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Mizu_Uzu/z_bg_mizu_uzu.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_MIZU_UZU_H
 2 | #define Z_BG_MIZU_UZU_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgMizuUzu;
 8 | 
 9 | typedef void (*BgMizuUzuActionFunc)(struct BgMizuUzu*, struct PlayState*);
10 | 
11 | typedef struct BgMizuUzu {
12 |     /* 0x0000 */ DynaPolyActor dyna;
13 |     /* 0x0164 */ BgMizuUzuActionFunc actionFunc;
14 | } BgMizuUzu; // size = 0x0168
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Mjin/z_bg_mjin.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_MJIN_H
 2 | #define Z_BG_MJIN_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgMjin;
 8 | 
 9 | typedef void (*BgMjinActionFunc)(struct BgMjin*, struct PlayState*);
10 | 
11 | typedef struct BgMjin {
12 |     /* 0x0000 */ DynaPolyActor dyna;
13 |     /* 0x0164 */ s8 requiredObjectSlot;
14 |     /* 0x0168 */ BgMjinActionFunc actionFunc;
15 | } BgMjin; // size = 0x016C
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Pushbox/z_bg_pushbox.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_PUSHBOX_H
 2 | #define Z_BG_PUSHBOX_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgPushbox;
 8 | 
 9 | typedef void (*BgPushboxActionFunc)(struct BgPushbox*, struct PlayState*);
10 | 
11 | typedef struct BgPushbox {
12 |     /* 0x0000 */ DynaPolyActor dyna;
13 |     /* 0x0164 */ BgPushboxActionFunc actionFunc;
14 | } BgPushbox; // size = 0x0168
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot00_Break/z_bg_spot00_break.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT00_BREAK_H
 2 | #define Z_BG_SPOT00_BREAK_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | 
 8 | struct BgSpot00Break;
 9 | 
10 | typedef struct BgSpot00Break {
11 |     /* 0x0000 */ DynaPolyActor dyna;
12 | } BgSpot00Break; // size = 0x0164
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot09_Obj/z_bg_spot09_obj.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT09_OBJ_H
 2 | #define Z_BG_SPOT09_OBJ_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgSpot09Obj;
 8 | 
 9 | typedef struct BgSpot09Obj {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 |     /* 0x0164 */ char unk_164[0x04];
12 | } BgSpot09Obj; // size = 0x0168
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot11_Bakudankabe/z_bg_spot11_bakudankabe.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT11_BAKUDANKABE_H
 2 | #define Z_BG_SPOT11_BAKUDANKABE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgSpot11Bakudankabe;
 8 | 
 9 | typedef struct BgSpot11Bakudankabe {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 |     /* 0x0164 */ ColliderCylinder collider;
12 | } BgSpot11Bakudankabe; // size = 0x01B0
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot16_Doughnut/z_bg_spot16_doughnut.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT16_DOUGHNUT_H
 2 | #define Z_BG_SPOT16_DOUGHNUT_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgSpot16Doughnut;
 8 | 
 9 | typedef struct BgSpot16Doughnut {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ u16 fireFlag;
12 |     /* 0x014E */ char pad[0x02];
13 |     /* 0x0150 */ u8 envColorAlpha;
14 | } BgSpot16Doughnut; // size = 0x0154
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot17_Bakudankabe/z_bg_spot17_bakudankabe.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT17_BAKUDANKABE_H
 2 | #define Z_BG_SPOT17_BAKUDANKABE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgSpot17Bakudankabe;
 8 | 
 9 | typedef struct BgSpot17Bakudankabe {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 | } BgSpot17Bakudankabe; // size = 0x0164
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot17_Funen/z_bg_spot17_funen.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT17_FUNEN_H
 2 | #define Z_BG_SPOT17_FUNEN_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgSpot17Funen;
 8 | 
 9 | typedef struct BgSpot17Funen {
10 |     /* 0x0000 */ Actor actor;
11 | } BgSpot17Funen; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Spot18_Futa/z_bg_spot18_futa.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_SPOT18_FUTA_H
 2 | #define Z_BG_SPOT18_FUTA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgSpot18Futa;
 8 | 
 9 | typedef struct BgSpot18Futa {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 | } BgSpot18Futa; // size = 0x0164
12 | #endif
13 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Bg_Umajump/z_bg_umajump.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_BG_UMAJUMP_H
 2 | #define Z_BG_UMAJUMP_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct BgUmaJump;
 8 | 
 9 | typedef struct BgUmaJump {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 | } BgUmaJump; // size = 0x0164
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Door_Ana/z_door_ana.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_DOOR_ANA_H
 2 | #define Z_DOOR_ANA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct DoorAna;
 8 | 
 9 | typedef void (*DoorAnaActionFunc)(struct DoorAna*, struct PlayState*);
10 | 
11 | typedef struct DoorAna {
12 |     /* 0x0000 */ Actor actor;
13 |     /* 0x014C */ ColliderCylinder collider;
14 |     /* 0x0198 */ DoorAnaActionFunc actionFunc;
15 | } DoorAna; // size = 0x019C
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Door_Toki/z_door_toki.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_DOOR_TOKI_H
 2 | #define Z_DOOR_TOKI_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct DoorToki;
 8 | 
 9 | typedef struct DoorToki {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 |     /* 0x0164 */ char unk_164[0x4];
12 | } DoorToki; // size = 0x0168
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Elf_Msg/z_elf_msg.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_ELF_MSG_H
 2 | #define Z_ELF_MSG_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ElfMsg;
 8 | 
 9 | typedef void (*ElfMsgActionFunc)(struct ElfMsg*, struct PlayState*);
10 | 
11 | typedef struct ElfMsg {
12 |     /* 0x0000 */ Actor actor;
13 |     /* 0x014C */ ElfMsgActionFunc actionFunc;
14 | } ElfMsg; // size = 0x0150
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Elf_Msg2/z_elf_msg2.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_ELF_MSG2_H
 2 | #define Z_ELF_MSG2_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ElfMsg2;
 8 | 
 9 | typedef void (*ElfMsg2ActionFunc)(struct ElfMsg2*, struct PlayState*);
10 | 
11 | typedef struct ElfMsg2 {
12 |     /* 0x0000 */ Actor              actor;
13 |     /* 0x014C */ ElfMsg2ActionFunc  actionFunc;
14 | } ElfMsg2; // size = 0x0150
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Arow_Trap/z_en_arow_trap.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_AROW_TRAP_H
 2 | #define Z_EN_AROW_TRAP_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnArowTrap;
 8 | 
 9 | typedef struct EnArowTrap {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ u32 unk_14C;
12 |     /* 0x0150 */ u32 attackTimer;
13 | } EnArowTrap; // size = 0x0154
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Eg/z_en_eg.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_EG_H
 2 | #define Z_EN_EG_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnEg;
 8 | 
 9 | typedef void (*EnEgActionFunc)(struct EnEg*, struct PlayState*);
10 | 
11 | typedef struct EnEg {
12 |     /* 0x0000 */ Actor actor;
13 |     /* 0x014C */ s32 action;
14 | } EnEg; // size = 0x0154
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Ganon_Organ/z_en_ganon_organ.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_GANON_ORGAN_H
 2 | #define Z_EN_GANON_ORGAN_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnGanonOrgan;
 8 | 
 9 | typedef struct EnGanonOrgan {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ char unk_14C[0x4];
12 | } EnGanonOrgan; // size = 0x0150
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_It/z_en_it.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_IT_H
 2 | #define Z_EN_IT_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnIt;
 8 | 
 9 | typedef struct EnIt {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ u32 unk_14C;
12 |     /* 0x0150 */ ColliderCylinder collider;
13 | } EnIt; // size = 0x019C
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Light/z_en_light.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_LIGHT_H
 2 | #define Z_EN_LIGHT_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | #include "light.h"
 7 | 
 8 | struct EnLight;
 9 | 
10 | typedef struct EnLight {
11 |     /* 0x0000 */ Actor actor;
12 |     /* 0x014C */ u8 timer;
13 |     /* 0x0150 */ LightNode* lightNode;
14 |     /* 0x0154 */ LightInfo lightInfo;
15 | } EnLight; // size = 0x0164
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Lightbox/z_en_lightbox.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_LIGHTBOX_H
 2 | #define Z_EN_LIGHTBOX_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnLightbox;
 8 | 
 9 | typedef struct EnLightbox {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 | } EnLightbox; // size = 0x0164
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_M_Fire1/z_en_m_fire1.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_M_FIRE1_H
 2 | #define Z_EN_M_FIRE1_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnMFire1;
 8 | 
 9 | typedef struct EnMFire1 {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ ColliderCylinder collider;
12 |     /* 0x0198 */ f32 timer;
13 | } EnMFire1; // size = 0x019C
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_OE2/z_en_oe2.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_OE2_H
 2 | #define Z_EN_OE2_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnOE2;
 8 | 
 9 | typedef void (*EnOE2ActionFunc)(struct EnOE2*, struct PlayState*);
10 | 
11 | typedef struct EnOE2 {
12 |     /* 0x0000 */ Actor actor;
13 |     /* 0x014C */ char unk_14C[0x44];
14 |     /* 0x0190 */ EnOE2ActionFunc actionFunc;
15 | } EnOE2; // size = 0x0194
16 | 
17 | #endif
18 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Pu_box/z_en_pu_box.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_PU_BOX_H
 2 | #define Z_EN_PU_BOX_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnPubox;
 8 | 
 9 | typedef struct EnPubox {
10 |     /* 0x0000 */ DynaPolyActor dyna;
11 |     /* 0x0164 */ u32 unk_164;
12 | } EnPubox; // size = 0x0168
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Sda/z_en_sda.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_SDA_H
 2 | #define Z_EN_SDA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnSda;
 8 | 
 9 | typedef struct EnSda {
10 |     /* 0x0000 */ Actor actor;
11 | } EnSda; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Si/z_en_si.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_SI_H
 2 | #define Z_EN_SI_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnSi;
 8 | 
 9 | typedef void (*EnSiActionFunc)(struct EnSi*, struct PlayState*);
10 | 
11 | typedef struct EnSi {
12 |     /* 0x0000 */ Actor actor;
13 |     /* 0x014C */ EnSiActionFunc actionFunc;
14 |     /* 0x0150 */ ColliderCylinder collider;
15 |     /* 0x019C */ u8 unk_19C;
16 | } EnSi; // size = 0x01A0
17 | 
18 | #endif
19 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Tana/z_en_tana.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_TANA_H
 2 | #define Z_EN_TANA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnTana;
 8 | 
 9 | typedef struct EnTana {
10 |     /* 0x0000 */ Actor actor;
11 | } EnTana; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Torch/z_en_torch.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_TORCH_H
 2 | #define Z_EN_TORCH_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnTorch;
 8 | 
 9 | typedef struct EnTorch {
10 |     /* 0x0000 */ Actor actor;
11 | } EnTorch; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Torch2/z_en_torch2.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_TORCH2_H
 2 | #define Z_EN_TORCH2_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | // Uses the Player struct (from player.h)
 8 | 
 9 | #endif
10 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_En_Vase/z_en_vase.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EN_VASE_H
 2 | #define Z_EN_VASE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EnVase;
 8 | 
 9 | typedef struct EnVase {
10 |     /* 0x0000 */ Actor actor;
11 | } EnVase; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_End_Title/z_end_title.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_END_TITLE_H
 2 | #define Z_END_TITLE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct EndTitle;
 8 | 
 9 | typedef struct EndTitle {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ u8 endAlpha;
12 |     /* 0x014D */ u8 tlozAlpha;
13 |     /* 0x014E */ u8 ootAlpha;
14 | } EndTitle; // size = 0x0150
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Item_Inbox/z_item_inbox.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_ITEM_INBOX_H
 2 | #define Z_ITEM_INBOX_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ItemInbox;
 8 | 
 9 | typedef void (*ItemInboxActionFunc)(struct ItemInbox*, struct PlayState*);
10 | 
11 | typedef struct ItemInbox {
12 |     /* 0x0000 */ Actor actor;
13 |     /* 0x014C */ ItemInboxActionFunc actionFunc;
14 | } ItemInbox; // size = 0x0150
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Obj_Blockstop/z_obj_blockstop.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OBJ_BLOCKSTOP_H
 2 | #define Z_OBJ_BLOCKSTOP_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ObjBlockstop;
 8 | 
 9 | typedef struct ObjBlockstop {
10 |     /* 0x0000 */ Actor actor;
11 | } ObjBlockstop; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Obj_Bombiwa/z_obj_bombiwa.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OBJ_BOMBIWA_H
 2 | #define Z_OBJ_BOMBIWA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ObjBombiwa;
 8 | 
 9 | typedef struct ObjBombiwa {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ ColliderCylinder collider;
12 | } ObjBombiwa; // size = 0x0198
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Obj_Hana/z_obj_hana.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OBJ_HANA_H
 2 | #define Z_OBJ_HANA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ObjHana;
 8 | 
 9 | typedef struct ObjHana {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ ColliderCylinder collider;
12 | } ObjHana; // size = 0x0198
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Obj_Hsblock/z_obj_hsblock.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OBJ_HSBLOCK_H
 2 | #define Z_OBJ_HSBLOCK_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ObjHsblock;
 8 | 
 9 | typedef void (*ObjHsblockActionFunc)(struct ObjHsblock*, struct PlayState*);
10 | 
11 | typedef struct ObjHsblock {
12 |     /* 0x0000 */ DynaPolyActor dyna;
13 |     /* 0x0164 */ ObjHsblockActionFunc actionFunc;
14 | } ObjHsblock; // size = 0x0168
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Obj_Makeoshihiki/z_obj_makeoshihiki.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OBJ_MAKEOSHIHIKI_H
 2 | #define Z_OBJ_MAKEOSHIHIKI_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct ObjMakeoshihiki;
 8 | 
 9 | typedef struct ObjMakeoshihiki {
10 |     /* 0x0000 */ Actor actor;
11 | } ObjMakeoshihiki; // size = 0x014C
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Oceff_Wipe/z_oceff_wipe.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OCEFF_WIPE_H
 2 | #define Z_OCEFF_WIPE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | typedef enum OceffWipeType {
 8 |     /* 0x00 */ OCEFF_WIPE_ZL,
 9 |     /* 0x01 */ OCEFF_WIPE_SOT
10 | } OceffWipeType;
11 | 
12 | struct OceffWipe;
13 | 
14 | typedef struct OceffWipe {
15 |     /* 0x0000 */ Actor actor;
16 |     /* 0x014C */ s16 timer;
17 | } OceffWipe; // size = 0x0150
18 | 
19 | #endif
20 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Oceff_Wipe2/z_oceff_wipe2.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OCEFF_WIPE2_H
 2 | #define Z_OCEFF_WIPE2_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct OceffWipe2;
 8 | 
 9 | typedef struct OceffWipe2 {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ s16 timer;
12 | } OceffWipe2; // size = 0x0150
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/actors/ovl_Oceff_Wipe3/z_oceff_wipe3.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_OCEFF_WIPE3_H
 2 | #define Z_OCEFF_WIPE3_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "actor.h"
 6 | 
 7 | struct OceffWipe3;
 8 | 
 9 | typedef struct OceffWipe3 {
10 |     /* 0x0000 */ Actor actor;
11 |     /* 0x014C */ s16 counter;
12 | } OceffWipe3; // size = 0x0150
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Bomb/z_eff_ss_bomb.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_BOMB_H
 2 | #define Z_EFF_SS_BOMB_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsBombInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ Vec3f velocity;
10 |     /* 0x18 */ Vec3f accel;
11 | } EffectSsBombInitParams; // size = 0x24
12 | 
13 | #endif
14 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Bomb2/z_eff_ss_bomb2.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_BOMB2_H
 2 | #define Z_EFF_SS_BOMB2_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsBomb2InitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ Vec3f velocity;
10 |     /* 0x18 */ Vec3f accel;
11 |     /* 0x24 */ s16 scale;
12 |     /* 0x26 */ s16 scaleStep;
13 |     /* 0x28 */ u8 drawMode;
14 | } EffectSsBomb2InitParams; // size = 0x30
15 | 
16 | #endif
17 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Bubble/z_eff_ss_bubble.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_BUBBLE_H
 2 | #define Z_EFF_SS_BUBBLE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsBubbleInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ f32 yPosOffset;
10 |     /* 0x10 */ f32 yPosRandScale;
11 |     /* 0x14 */ f32 xzPosRandScale;
12 |     /* 0x18 */ f32 scale;
13 | } EffectSsBubbleInitParams; // size = 0x1C
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Fcircle/z_eff_ss_fcircle.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_FCIRCLE_H
 2 | #define Z_EFF_SS_FCIRCLE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsFcircleInitParams {
 8 |     /* 0x00 */ struct Actor* actor;
 9 |     /* 0x04 */ Vec3f pos;
10 |     /* 0x10 */ s16 radius;
11 |     /* 0x12 */ s16 height;
12 | } EffectSsFcircleInitParams; // size = 0x14
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_G_Fire/z_eff_ss_g_fire.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_G_FIRE_H
 2 | #define Z_EFF_SS_G_FIRE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsGFireInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 | } EffectSsGFireInitParams; // size = 0xC
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_G_Magma/z_eff_ss_g_magma.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_G_MAGMA_H
 2 | #define Z_EFF_SS_G_MAGMA_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsGMagmaInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 | } EffectSsGMagmaInitParams; // size = 0xC
10 | 
11 | #endif
12 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_G_Ripple/z_eff_ss_g_ripple.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_G_RIPPLE_H
 2 | #define Z_EFF_SS_G_RIPPLE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsGRippleInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ s16 radius;
10 |     /* 0x0E */ s16 radiusMax;
11 |     /* 0x10 */ s16 life;
12 | } EffectSsGRippleInitParams; // size = 0x14
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Ice_Piece/z_eff_ss_ice_piece.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_ICE_PIECE_H
 2 | #define Z_EFF_SS_ICE_PIECE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsIcePieceInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ f32 scale;
10 |     /* 0x10 */ Vec3f velocity;
11 |     /* 0x1C */ Vec3f accel;
12 |     /* 0x28 */ s32 life;
13 | } EffectSsIcePieceInitParams; // size = 0xC
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Ice_Smoke/z_eff_ss_ice_smoke.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_ICE_SMOKE_H
 2 | #define Z_EFF_SS_ICE_SMOKE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsIceSmokeInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ Vec3f velocity;
10 |     /* 0x18 */ Vec3f accel;
11 |     /* 0x24 */ s16 scale;
12 | } EffectSsIceSmokeInitParams; // size = 0x28
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_K_Fire/z_eff_ss_k_fire.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_K_FIRE_H
 2 | #define Z_EFF_SS_K_FIRE_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsKFireInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ Vec3f velocity;
10 |     /* 0x18 */ Vec3f accel;
11 |     /* 0x24 */ s16 scaleMax;
12 |     /* 0x26 */ u8 type;
13 | } EffectSsKFireInitParams; // size = 0x28
14 | 
15 | #endif
16 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Sibuki2/z_eff_ss_sibuki2.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_SIBUKI2_H
 2 | #define Z_EFF_SS_SIBUKI2_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsSibuki2InitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ Vec3f velocity;
10 |     /* 0x18 */ Vec3f accel;
11 |     /* 0x24 */ s16 scale;
12 | } EffectSsSibuki2InitParams; // size = 0x28
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_STICK_H
 2 | #define Z_EFF_SS_STICK_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsStickInitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x0C */ s16 yaw;
10 | } EffectSsStickInitParams; // size = 0x10
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/src/overlays/effects/ovl_Effect_Ss_Stone1/z_eff_ss_stone1.h:
--------------------------------------------------------------------------------
 1 | #ifndef Z_EFF_SS_STONE1_H
 2 | #define Z_EFF_SS_STONE1_H
 3 | 
 4 | #include "ultra64.h"
 5 | #include "z_math.h"
 6 | 
 7 | typedef struct EffectSsStone1InitParams {
 8 |     /* 0x00 */ Vec3f pos;
 9 |     /* 0x00 */ s32 unk_C;
10 | } EffectSsStone1InitParams; // size = 0x
11 | 
12 | #endif
13 | 


--------------------------------------------------------------------------------
/tools/.gitignore:
--------------------------------------------------------------------------------
 1 | # Output files
 2 | *.exe
 3 | bin2c
 4 | elf2rom
 5 | makeromfs
 6 | mkdmadata
 7 | mkldscript
 8 | preprocess_pragmas
 9 | reloc_prereq
10 | vtxdis
11 | yaz0
12 | 
13 | ido_recomp/
14 | egcs/
15 | 


--------------------------------------------------------------------------------
/tools/asm-differ/.github/workflows/black.yml:
--------------------------------------------------------------------------------
 1 | name: black
 2 | 
 3 | on:
 4 |   pull_request:
 5 |   push:
 6 | 
 7 | permissions: read-all
 8 | 
 9 | jobs:
10 |   black:
11 |     runs-on: ubuntu-latest
12 |     steps:
13 |       - uses: actions/checkout@v4
14 |       - run: python3 -m pip install --user colorama watchdog levenshtein cxxfilt black==23.12.1
15 |       - run: python3 -m black .
16 | 


--------------------------------------------------------------------------------
/tools/asm-differ/.github/workflows/unit-tests.yml:
--------------------------------------------------------------------------------
 1 | name: unit tests
 2 | 
 3 | on:
 4 |   pull_request:
 5 |   push:
 6 | 
 7 | permissions: read-all
 8 | 
 9 | jobs:
10 |   tests:
11 |     runs-on: ubuntu-latest
12 |     steps:
13 |       - uses: actions/checkout@v3
14 |       - run: python3 -m pip install --user colorama watchdog levenshtein cxxfilt
15 |       - run: python3 test.py
16 | 


--------------------------------------------------------------------------------
/tools/asm-differ/.gitignore:
--------------------------------------------------------------------------------
1 | .mypy_cache/
2 | __pycache__/
3 | .vscode/
4 | 


--------------------------------------------------------------------------------
/tools/asm-differ/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | repos:
2 | -   repo: https://github.com/psf/black-pre-commit-mirror
3 |     rev: 23.12.1
4 |     hooks:
5 |     - id: black
6 | 


--------------------------------------------------------------------------------
/tools/asm-differ/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/asm-differ/screenshot.png


--------------------------------------------------------------------------------
/tools/asm_processor/prelude.inc:
--------------------------------------------------------------------------------
1 | .set noat
2 | .set noreorder
3 | .set gp=64
4 | .include "macro.inc"
5 | 
6 | 


--------------------------------------------------------------------------------
/tools/assets/Makefile:
--------------------------------------------------------------------------------
 1 | all:
 2 | # must build n64texconv before build_from_png
 3 | 	$(MAKE) -C n64texconv
 4 | 	$(MAKE) -C build_from_png
 5 | 
 6 | clean:
 7 | 	$(MAKE) -C n64texconv clean
 8 | 	$(MAKE) -C build_from_png clean
 9 | 
10 | distclean: clean
11 | 	$(MAKE) -C n64texconv distclean
12 | 
13 | .PHONY: all clean distclean
14 | 


--------------------------------------------------------------------------------
/tools/assets/build_from_png/.gitignore:
--------------------------------------------------------------------------------
1 | build_from_png
2 | 


--------------------------------------------------------------------------------
/tools/assets/build_from_png/Makefile:
--------------------------------------------------------------------------------
 1 | CFLAGS := -Wall -Werror -O3
 2 | 
 3 | ifeq ($(shell $(CC) --version | grep clang),)
 4 |   OMPFLAGS := -fopenmp
 5 | else
 6 |   OMPFLAGS :=
 7 | endif
 8 | 
 9 | default: build_from_png
10 | 
11 | clean:
12 | 	$(RM) build_from_png
13 | 
14 | .PHONY: default clean
15 | 
16 | build_from_png: build_from_png.c ../n64texconv/libn64texconv.a
17 | 	$(CC) $(CFLAGS) -o $@ $^ $(OMPFLAGS) -lz -lm
18 | 


--------------------------------------------------------------------------------
/tools/assets/conf.py:
--------------------------------------------------------------------------------
1 | WRITE_HINTS = True
2 | I_D_OMEGALUL = True  # IDO specific things that may be otherwise different
3 | 


--------------------------------------------------------------------------------
/tools/assets/descriptor/README.md:
--------------------------------------------------------------------------------
1 | This package serves as an abstraction layer wrapping assets xml files.
2 | 


--------------------------------------------------------------------------------
/tools/assets/extract/__main__.py:
--------------------------------------------------------------------------------
 1 | # SPDX-FileCopyrightText: © 2025 ZeldaRET
 2 | # SPDX-License-Identifier: CC0-1.0
 3 | 
 4 | from . import extract_xml_z64
 5 | 
 6 | if __name__ == "__main__":
 7 |     profile = False
 8 |     if profile:
 9 |         import cProfile
10 | 
11 |         cProfile.run("extract_xml_z64.main()", "cprofile_extract_assets.txt")
12 |     else:
13 |         extract_xml_z64.main()
14 | 


--------------------------------------------------------------------------------
/tools/assets/extract/oot64_data/entrance_ids_special.py:
--------------------------------------------------------------------------------
 1 | # This file was made manually
 2 | 
 3 | DATA = {
 4 |     0x7FF9: "ENTR_RETURN_GREAT_FAIRYS_FOUNTAIN_SPELLS",
 5 |     0x7FFA: "ENTR_RETURN_SHOOTING_GALLERY",
 6 |     0x7FFB: "ENTR_RETURN_2",
 7 |     0x7FFC: "ENTR_RETURN_BAZAAR",
 8 |     0x7FFD: "ENTR_RETURN_4",
 9 |     0x7FFE: "ENTR_RETURN_GREAT_FAIRYS_FOUNTAIN_MAGIC",
10 |     0x7FFF: "ENTR_RETURN_GROTTO",
11 | }
12 | 


--------------------------------------------------------------------------------
/tools/assets/n64texconv/.gitignore:
--------------------------------------------------------------------------------
 1 | build/
 2 | 
 3 | libn64texconv.a
 4 | libn64texconv.dll
 5 | libn64texconv.so
 6 | n64texconv
 7 | 
 8 | # Tests
 9 | *.png
10 | *.bin
11 | 


--------------------------------------------------------------------------------
/tools/assets/n64texconv/lib/libimagequant/blur.h:
--------------------------------------------------------------------------------
1 | #ifndef BLUR_H
2 | #define BLUR_H
3 | 
4 | LIQ_PRIVATE void liq_blur(unsigned char *src, unsigned char *tmp, unsigned char *dst, unsigned int width, unsigned int height, unsigned int size);
5 | LIQ_PRIVATE void liq_max3(unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height);
6 | LIQ_PRIVATE void liq_min3(unsigned char *src, unsigned char *dst, unsigned int width, unsigned int height);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/tools/assets/n64texconv/lib/libimagequant/mediancut.h:
--------------------------------------------------------------------------------
1 | #ifndef MEDIANCUT_H
2 | #define MEDIANCUT_H
3 | 
4 | LIQ_PRIVATE colormap *mediancut(histogram *hist, unsigned int newcolors, const double target_mse, const double max_mse, void* (*malloc)(size_t), void (*free)(void*));
5 | 
6 | #endif
7 | 


--------------------------------------------------------------------------------
/tools/assets/n64texconv/lib/libimagequant/nearest.h:
--------------------------------------------------------------------------------
 1 | //
 2 | //  nearest.h
 3 | //  pngquant
 4 | //
 5 | 
 6 | #ifndef NEAREST_H
 7 | #define NEAREST_H
 8 | 
 9 | struct nearest_map;
10 | LIQ_PRIVATE struct nearest_map *nearest_init(const colormap *palette);
11 | LIQ_PRIVATE unsigned int nearest_search(const struct nearest_map *map, const f_pixel *px, const int palette_index_guess, float *diff);
12 | LIQ_PRIVATE void nearest_free(struct nearest_map *map);
13 | 
14 | #endif
15 | 


--------------------------------------------------------------------------------
/tools/assets/n64texconv/lib/libimagequant/remap.h:
--------------------------------------------------------------------------------
1 | #ifndef REMAP_H
2 | #define REMAP_H
3 | 
4 | LIQ_PRIVATE float remap_to_palette(liq_image *const input_image, unsigned char *const *const output_pixels, colormap *const map) LIQ_NONNULL;
5 | LIQ_PRIVATE bool remap_to_palette_floyd(liq_image *input_image, unsigned char *const output_pixels[], liq_remapping_result *quant, const float max_dither_error, const bool output_image_is_remapped) LIQ_NONNULL;
6 | 
7 | #endif
8 | 


--------------------------------------------------------------------------------
/tools/audio/.gitignore:
--------------------------------------------------------------------------------
1 | __pycache__/
2 | 
3 | afile_sizes
4 | atblgen
5 | sfpatch
6 | sbc
7 | sfc
8 | 


--------------------------------------------------------------------------------
/tools/audio/sampleconv/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | sampleconv
3 | 


--------------------------------------------------------------------------------
/tools/com-plugin/.gitignore:
--------------------------------------------------------------------------------
1 | *.d
2 | *.o
3 | *.so
4 | 


--------------------------------------------------------------------------------
/tools/com-plugin/Makefile:
--------------------------------------------------------------------------------
 1 | TARGET := common-plugin.so
 2 | SOURCES := plugin.c
 3 | 
 4 | CC := gcc
 5 | CFLAGS := -Wall -Wextra -std=gnu11 -O2 -fPIC -DHAVE_STDINT_H
 6 | 
 7 | DEP_FILES := $(TARGET:.so=.d)
 8 | 
 9 | .PHONY: all clean
10 | 
11 | all: $(TARGET)
12 | 
13 | clean:
14 | 	$(RM) $(TARGET) $(DEP_FILES)
15 | 
16 | $(TARGET): $(SOURCES)
17 | 	$(CC) -shared $(CFLAGS) -MMD -o $@ $(SOURCES)
18 | 
19 | -include $(DEP_FILES)
20 | 


--------------------------------------------------------------------------------
/tools/extract_assets.sh:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env bash
 2 | 
 3 | # SPDX-FileCopyrightText: © 2024 ZeldaRET
 4 | # SPDX-License-Identifier: CC0-1.0
 5 | 
 6 | if [ $# -eq 0 ]
 7 | then
 8 |     echo "Usage: $0 <version> [args...]"
 9 |     exit 1
10 | fi
11 | 
12 | v=$1
13 | .venv/bin/python3 -m tools.assets.extract extracted/$v/baserom extracted/$v -v $v "${@:2}"
14 | 


--------------------------------------------------------------------------------
/tools/fado/find_program.sh:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env bash
 2 | 
 3 | for i in "${@:2}"
 4 |     do
 5 |         RESULT=$(IFS=:;find $PATH -maxdepth 1 -name "$i" -print -quit 2> /dev/null | grep -o '[^/]*
#39;)
 6 |         COUNT=$(echo "$RESULT" | wc -c)
 7 | 
 8 |         if [ $COUNT -gt 1 ]
 9 |         then
10 |             echo $RESULT
11 |             exit 0
12 |         fi
13 |     done
14 | 
15 | echo $1
16 | exit 0
17 | 


--------------------------------------------------------------------------------
/tools/fado/include/fado.h:
--------------------------------------------------------------------------------
1 | /* Copyright (C) 2021 Elliptic Ellipsis */
2 | /* SPDX-License-Identifier: AGPL-3.0-only */
3 | #pragma once
4 | 
5 | #include <stdio.h>
6 | 
7 | void Fado_Relocs(FILE* outputFile, int inputFilesCount, FILE** inputFiles, const char* ovlName);
8 | // void Fado_WriteRelocFile(FILE* outputFile, FILE** inputFiles, int inputFilesCount);
9 | 


--------------------------------------------------------------------------------
/tools/fado/include/mido.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | 
3 | #include <stdio.h>
4 | #include "vc_vector/vc_vector.h"
5 | 
6 | int Mido_WriteDependencyFile(FILE* dependencyFile, const char* relocFile, vc_vector* inputFilesVector);
7 | 


--------------------------------------------------------------------------------
/tools/fado/lib/fairy/fairy_print.h:
--------------------------------------------------------------------------------
1 | /* Copyright (C) 2021 Elliptic Ellipsis */
2 | /* SPDX-License-Identifier: AGPL-3.0-only */
3 | #include <stdio.h>
4 | 
5 | void Fairy_PrintSymbolTable(FILE* inputFile);
6 | void Fairy_PrintRelocs(FILE* inputFile);
7 | void Fairy_PrintSectionTable(FILE* inputFile);
8 | 


--------------------------------------------------------------------------------
/tools/fado/lib/vc_vector/.travis.yml:
--------------------------------------------------------------------------------
1 | language: c
2 | compiler:
3 |   - gcc
4 |   - clang
5 | script:
6 |   - make && make test
7 | 


--------------------------------------------------------------------------------
/tools/fado/lib/vc_vector/vc_vector_test.h:
--------------------------------------------------------------------------------
1 | #ifndef VCVECTORTESTS_H
2 | #define VCVECTORTESTS_H
3 | 
4 | void vc_vector_run_tests();
5 | 
6 | #endif // VCVECTORTESTS_H
7 | 


--------------------------------------------------------------------------------
/tools/fado/src/version.inc:
--------------------------------------------------------------------------------
1 | /* Copyright (C) 2021 Elliptic Ellipsis */
2 | /* SPDX-License-Identifier: AGPL-3.0-only */
3 | const char versionNumber[] = "1.3.2";
4 | const char credits[] = "Written by Elliptic Ellipsis\nwith additions from AngheloAlf and Tharo";
5 | const char repo[] = "https://github.com/EllipticEllipsis/fado/";
6 | 


--------------------------------------------------------------------------------
/tools/generate_patch_from_jenkins.sh:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env bash
 2 | set -euo pipefail
 3 | 
 4 | PATCH=$(git diff | base64 -w 0)
 5 | if [ -n "$PATCH" ]; then
 6 |     echo "Jenkins made some fixes to your PR. To apply these changes to your working directory,"
 7 |     echo "copy and run the following command (triple-click to select the entire line):"
 8 |     echo
 9 |     echo "echo -n $PATCH | base64 -d | git apply -"
10 |     echo
11 | fi
12 | 


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/lib/libmalloc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/lib/libmalloc.so


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/lib/libmalloc_old.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/lib/libmalloc_old.so


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/lib/rld:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/lib/rld


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/bin/cc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/bin/cc


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/as0:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/as0


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/as1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/as1


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/cfe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/cfe


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/crt1.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/crt1.o


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/libc.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/libc.so.1


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/libexc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/libexc.so


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/libgen.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/libgen.so


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/libm.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/libm.so


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/ugen:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/ugen


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/ujoin:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/ujoin


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/uld:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/uld


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/umerge:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/umerge


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/uopt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/uopt


--------------------------------------------------------------------------------
/tools/ido5.3_compiler/usr/lib/usplit:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido5.3_compiler/usr/lib/usplit


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/lib/cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/lib/cpp


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/lib/libc.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/lib/libc.so.1


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/lib/libmalloc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/lib/libmalloc.so


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/lib/rld:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/lib/rld


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/bin/cc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/bin/cc


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/as1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/as1


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/cfe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/cfe


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/libc.so.1:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/libc.so.1


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/libexc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/libexc.so


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/libm.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/libm.so


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/ugen:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/ugen


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/umerge:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/umerge


--------------------------------------------------------------------------------
/tools/ido7.1_compiler/usr/lib/uopt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zeldaret/oot/4d2bc68bacdff06261f7a89a24b63bf4eec97487/tools/ido7.1_compiler/usr/lib/uopt


--------------------------------------------------------------------------------
/tools/n64chksum.h:
--------------------------------------------------------------------------------
1 | #ifndef N64CHKSUM_H
2 | #define N64CHKSUM_H
3 | 
4 | #include <stdint.h>
5 | 
6 | bool n64chksum_calculate(const uint8_t *romData, int cicType, uint32_t *chksum);
7 | 
8 | #endif
9 | 


--------------------------------------------------------------------------------
/tools/patch_ique_kaleido_reloc.py:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env python3
 2 | #
 3 | #   Patches kaleido bss size in relocations for matching builds.
 4 | #
 5 | 
 6 | import sys
 7 | 
 8 | with open(sys.argv[1], "r+") as reloc_sfile:
 9 |     contents = reloc_sfile.read()
10 |     contents = contents.replace(".word _ovl_kaleido_scopeSegmentBssSize\n", ".word 0x10\n")
11 |     reloc_sfile.seek(0)
12 |     reloc_sfile.write(contents)
13 |     reloc_sfile.truncate()
14 | 


--------------------------------------------------------------------------------
/tools/tests/README:
--------------------------------------------------------------------------------
1 | This folder contains tests for the tools living in this repo.
2 | 


--------------------------------------------------------------------------------
/undefined_syms.txt:
--------------------------------------------------------------------------------
 1 | // z_kankyo, z_demo_kankyo, z_en_viewer, z_object_kankyo, z_eff_ss_dead_dd
 2 | D_01000000 = 0x01000000;
 3 | 
 4 | // code_800AD920
 5 | D_0E000000 = 0x0E000000;
 6 | 
 7 | // z_vismono
 8 | D_0F000000 = 0x0F000000;
 9 | 
10 | // z_bg_mjin
11 | D_06000000 = 0x06000000;
12 | 


--------------------------------------------------------------------------------