├── .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 | --------------------------------------------------------------------------------