diff --git a/Makefile b/Makefile index f1e7e75f22..b60aad6c57 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,7 @@ COMPILER := ido # Target game version. Currently only the following version is supported: # gc-eu-mq-dbg GameCube Europe/PAL Master Quest Debug (default) # The following versions are work-in-progress and not yet matching: +# gc-eu GameCube Europe/PAL # gc-eu-mq GameCube Europe/PAL Master Quest VERSION := gc-eu-mq-dbg # Number of threads to extract and compress with @@ -51,10 +52,17 @@ ifeq ($(NON_MATCHING),1) endif # Version-specific settings -ifeq ($(VERSION),gc-eu-mq) +ifeq ($(VERSION),gc-eu) DEBUG := 0 + COMPARE := 0 +else ifeq ($(VERSION),gc-eu-mq) + DEBUG := 0 + CFLAGS += -DOOT_MQ + CPPFLAGS += -DOOT_MQ else ifeq ($(VERSION),gc-eu-mq-dbg) DEBUG := 1 + CFLAGS += -DOOT_MQ + CPPFLAGS += -DOOT_MQ else $(error Unsupported version $(VERSION)) endif diff --git a/baseroms/gc-eu/checksum-compressed.md5 b/baseroms/gc-eu/checksum-compressed.md5 new file mode 100644 index 0000000000..5525ac5dca --- /dev/null +++ b/baseroms/gc-eu/checksum-compressed.md5 @@ -0,0 +1 @@ +2c27b4e000e85fd78dbca551f1b1c965 build/gc-eu/oot-gc-eu-compressed.z64 diff --git a/baseroms/gc-eu/checksum.md5 b/baseroms/gc-eu/checksum.md5 new file mode 100644 index 0000000000..960213bea2 --- /dev/null +++ b/baseroms/gc-eu/checksum.md5 @@ -0,0 +1 @@ +05d6c0a3528d6de7472e5a98520d9f46 build/gc-eu/oot-gc-eu.z64 diff --git a/baseroms/gc-eu/dmadata_names.txt b/baseroms/gc-eu/dmadata_names.txt new file mode 100644 index 0000000000..cfe5c4689b --- /dev/null +++ b/baseroms/gc-eu/dmadata_names.txt @@ -0,0 +1,1510 @@ +makerom +boot +dmadata +Audiobank +Audioseq +Audiotable +link_animetion +icon_item_static +icon_item_24_static +icon_item_field_static +icon_item_dungeon_static +icon_item_gameover_static +icon_item_nes_static +icon_item_ger_static +icon_item_fra_static +item_name_static +map_name_static +do_action_static +message_static +message_texture_static +nes_font_static +nes_message_data_static +ger_message_data_static +fra_message_data_static +staff_message_data_static +map_grand_static +map_48x85_static +map_i_static +code +ovl_title +ovl_select +ovl_opening +ovl_file_choose +ovl_kaleido_scope +ovl_player_actor +ovl_map_mark_data +ovl_En_Test +ovl_Arms_Hook +ovl_Arrow_Fire +ovl_Arrow_Ice +ovl_Arrow_Light +ovl_Bg_Bdan_Objects +ovl_Bg_Bdan_Switch +ovl_Bg_Bom_Guard +ovl_Bg_Bombwall +ovl_Bg_Bowl_Wall +ovl_Bg_Breakwall +ovl_Bg_Ddan_Jd +ovl_Bg_Ddan_Kd +ovl_Bg_Dodoago +ovl_Bg_Dy_Yoseizo +ovl_Bg_Ganon_Otyuka +ovl_Bg_Gate_Shutter +ovl_Bg_Gjyo_Bridge +ovl_Bg_Gnd_Darkmeiro +ovl_Bg_Gnd_Firemeiro +ovl_Bg_Gnd_Iceblock +ovl_Bg_Gnd_Nisekabe +ovl_Bg_Gnd_Soulmeiro +ovl_Bg_Haka +ovl_Bg_Haka_Gate +ovl_Bg_Haka_Huta +ovl_Bg_Haka_Megane +ovl_Bg_Haka_MeganeBG +ovl_Bg_Haka_Sgami +ovl_Bg_Haka_Ship +ovl_Bg_Haka_Trap +ovl_Bg_Haka_Tubo +ovl_Bg_Haka_Water +ovl_Bg_Haka_Zou +ovl_Bg_Heavy_Block +ovl_Bg_Hidan_Curtain +ovl_Bg_Hidan_Dalm +ovl_Bg_Hidan_Firewall +ovl_Bg_Hidan_Fslift +ovl_Bg_Hidan_Fwbig +ovl_Bg_Hidan_Hamstep +ovl_Bg_Hidan_Hrock +ovl_Bg_Hidan_Kousi +ovl_Bg_Hidan_Kowarerukabe +ovl_Bg_Hidan_Rock +ovl_Bg_Hidan_Rsekizou +ovl_Bg_Hidan_Sekizou +ovl_Bg_Hidan_Sima +ovl_Bg_Hidan_Syoku +ovl_Bg_Ice_Objects +ovl_Bg_Ice_Shelter +ovl_Bg_Ice_Shutter +ovl_Bg_Ice_Turara +ovl_Bg_Ingate +ovl_Bg_Jya_1flift +ovl_Bg_Jya_Amishutter +ovl_Bg_Jya_Bigmirror +ovl_Bg_Jya_Block +ovl_Bg_Jya_Bombchuiwa +ovl_Bg_Jya_Bombiwa +ovl_Bg_Jya_Cobra +ovl_Bg_Jya_Goroiwa +ovl_Bg_Jya_Haheniron +ovl_Bg_Jya_Ironobj +ovl_Bg_Jya_Kanaami +ovl_Bg_Jya_Lift +ovl_Bg_Jya_Megami +ovl_Bg_Jya_Zurerukabe +ovl_Bg_Menkuri_Eye +ovl_Bg_Menkuri_Kaiten +ovl_Bg_Menkuri_Nisekabe +ovl_Bg_Mizu_Bwall +ovl_Bg_Mizu_Movebg +ovl_Bg_Mizu_Shutter +ovl_Bg_Mizu_Uzu +ovl_Bg_Mizu_Water +ovl_Bg_Mjin +ovl_Bg_Mori_Bigst +ovl_Bg_Mori_Elevator +ovl_Bg_Mori_Hashigo +ovl_Bg_Mori_Hashira4 +ovl_Bg_Mori_Hineri +ovl_Bg_Mori_Idomizu +ovl_Bg_Mori_Kaitenkabe +ovl_Bg_Mori_Rakkatenjo +ovl_Bg_Po_Event +ovl_Bg_Po_Syokudai +ovl_Bg_Pushbox +ovl_Bg_Relay_Objects +ovl_Bg_Spot00_Break +ovl_Bg_Spot00_Hanebasi +ovl_Bg_Spot01_Fusya +ovl_Bg_Spot01_Idohashira +ovl_Bg_Spot01_Idomizu +ovl_Bg_Spot01_Idosoko +ovl_Bg_Spot01_Objects2 +ovl_Bg_Spot02_Objects +ovl_Bg_Spot03_Taki +ovl_Bg_Spot05_Soko +ovl_Bg_Spot06_Objects +ovl_Bg_Spot07_Taki +ovl_Bg_Spot08_Bakudankabe +ovl_Bg_Spot08_Iceblock +ovl_Bg_Spot09_Obj +ovl_Bg_Spot11_Bakudankabe +ovl_Bg_Spot11_Oasis +ovl_Bg_Spot12_Gate +ovl_Bg_Spot12_Saku +ovl_Bg_Spot15_Rrbox +ovl_Bg_Spot15_Saku +ovl_Bg_Spot16_Bombstone +ovl_Bg_Spot16_Doughnut +ovl_Bg_Spot17_Bakudankabe +ovl_Bg_Spot17_Funen +ovl_Bg_Spot18_Basket +ovl_Bg_Spot18_Futa +ovl_Bg_Spot18_Obj +ovl_Bg_Spot18_Shutter +ovl_Bg_Sst_Floor +ovl_Bg_Toki_Hikari +ovl_Bg_Toki_Swd +ovl_Bg_Treemouth +ovl_Bg_Umajump +ovl_Bg_Vb_Sima +ovl_Bg_Ydan_Hasi +ovl_Bg_Ydan_Maruta +ovl_Bg_Ydan_Sp +ovl_Bg_Zg +ovl_Boss_Dodongo +ovl_Boss_Fd +ovl_Boss_Fd2 +ovl_Boss_Ganon +ovl_Boss_Ganon2 +ovl_Boss_Ganondrof +ovl_Boss_Goma +ovl_Boss_Mo +ovl_Boss_Sst +ovl_Boss_Tw +ovl_Boss_Va +ovl_Demo_6K +ovl_Demo_Du +ovl_Demo_Ec +ovl_Demo_Effect +ovl_Demo_Ext +ovl_Demo_Geff +ovl_Demo_Gj +ovl_Demo_Go +ovl_Demo_Gt +ovl_Demo_Ik +ovl_Demo_Im +ovl_Demo_Kankyo +ovl_Demo_Kekkai +ovl_Demo_Sa +ovl_Demo_Shd +ovl_Demo_Tre_Lgt +ovl_Door_Ana +ovl_Door_Gerudo +ovl_Door_Killer +ovl_Door_Shutter +ovl_Door_Toki +ovl_Door_Warp1 +ovl_Efc_Erupc +ovl_Eff_Dust +ovl_Effect_Ss_Blast +ovl_Effect_Ss_Bomb +ovl_Effect_Ss_Bomb2 +ovl_Effect_Ss_Bubble +ovl_Effect_Ss_D_Fire +ovl_Effect_Ss_Dead_Db +ovl_Effect_Ss_Dead_Dd +ovl_Effect_Ss_Dead_Ds +ovl_Effect_Ss_Dead_Sound +ovl_Effect_Ss_Dt_Bubble +ovl_Effect_Ss_Dust +ovl_Effect_Ss_En_Fire +ovl_Effect_Ss_En_Ice +ovl_Effect_Ss_Extra +ovl_Effect_Ss_Fcircle +ovl_Effect_Ss_Fhg_Flash +ovl_Effect_Ss_Fire_Tail +ovl_Effect_Ss_G_Fire +ovl_Effect_Ss_G_Magma +ovl_Effect_Ss_G_Magma2 +ovl_Effect_Ss_G_Ripple +ovl_Effect_Ss_G_Spk +ovl_Effect_Ss_G_Splash +ovl_Effect_Ss_Hahen +ovl_Effect_Ss_HitMark +ovl_Effect_Ss_Ice_Piece +ovl_Effect_Ss_Ice_Smoke +ovl_Effect_Ss_K_Fire +ovl_Effect_Ss_Kakera +ovl_Effect_Ss_KiraKira +ovl_Effect_Ss_Lightning +ovl_Effect_Ss_Sibuki +ovl_Effect_Ss_Sibuki2 +ovl_Effect_Ss_Solder_Srch_Ball +ovl_Effect_Ss_Stick +ovl_Effect_Ss_Stone1 +ovl_Elf_Msg +ovl_Elf_Msg2 +ovl_En_Am +ovl_En_Ani +ovl_En_Anubice +ovl_En_Anubice_Fire +ovl_En_Anubice_Tag +ovl_En_Arow_Trap +ovl_En_Arrow +ovl_En_Attack_Niw +ovl_En_Ba +ovl_En_Bb +ovl_En_Bdfire +ovl_En_Bigokuta +ovl_En_Bili +ovl_En_Bird +ovl_En_Blkobj +ovl_En_Bom +ovl_En_Bom_Bowl_Man +ovl_En_Bom_Bowl_Pit +ovl_En_Bom_Chu +ovl_En_Bombf +ovl_En_Boom +ovl_En_Box +ovl_En_Brob +ovl_En_Bubble +ovl_En_Butte +ovl_En_Bw +ovl_En_Bx +ovl_En_Changer +ovl_En_Clear_Tag +ovl_En_Cow +ovl_En_Crow +ovl_En_Cs +ovl_En_Daiku +ovl_En_Daiku_Kakariko +ovl_En_Dekubaba +ovl_En_Dekunuts +ovl_En_Dh +ovl_En_Dha +ovl_En_Diving_Game +ovl_En_Dns +ovl_En_Dnt_Demo +ovl_En_Dnt_Jiji +ovl_En_Dnt_Nomal +ovl_En_Dodojr +ovl_En_Dodongo +ovl_En_Dog +ovl_En_Door +ovl_En_Ds +ovl_En_Du +ovl_En_Dy_Extra +ovl_En_Eg +ovl_En_Eiyer +ovl_En_Elf +ovl_En_Encount1 +ovl_En_Encount2 +ovl_En_Ex_Item +ovl_En_Ex_Ruppy +ovl_En_Fd +ovl_En_Fd_Fire +ovl_En_Fhg_Fire +ovl_En_Fire_Rock +ovl_En_Firefly +ovl_En_Fish +ovl_En_Floormas +ovl_En_Fr +ovl_En_Fu +ovl_En_Fw +ovl_En_Fz +ovl_En_G_Switch +ovl_En_Ganon_Mant +ovl_En_Ganon_Organ +ovl_En_Gb +ovl_En_Ge1 +ovl_En_Ge2 +ovl_En_Ge3 +ovl_En_GeldB +ovl_En_GirlA +ovl_En_Gm +ovl_En_Go +ovl_En_Go2 +ovl_En_Goma +ovl_En_Goroiwa +ovl_En_Gs +ovl_En_Guest +ovl_En_Hata +ovl_En_Heishi1 +ovl_En_Heishi2 +ovl_En_Heishi3 +ovl_En_Heishi4 +ovl_En_Hintnuts +ovl_En_Holl +ovl_En_Honotrap +ovl_En_Horse +ovl_En_Horse_Game_Check +ovl_En_Horse_Ganon +ovl_En_Horse_Link_Child +ovl_En_Horse_Normal +ovl_En_Horse_Zelda +ovl_En_Hs +ovl_En_Hs2 +ovl_En_Hy +ovl_En_Ice_Hono +ovl_En_Ik +ovl_En_In +ovl_En_Insect +ovl_En_Ishi +ovl_En_It +ovl_En_Jj +ovl_En_Js +ovl_En_Jsjutan +ovl_En_Kakasi +ovl_En_Kakasi2 +ovl_En_Kakasi3 +ovl_En_Kanban +ovl_En_Karebaba +ovl_En_Ko +ovl_En_Kusa +ovl_En_Kz +ovl_En_Light +ovl_En_Lightbox +ovl_En_M_Fire1 +ovl_En_M_Thunder +ovl_En_Ma1 +ovl_En_Ma2 +ovl_En_Ma3 +ovl_En_Mag +ovl_En_Mb +ovl_En_Md +ovl_En_Mk +ovl_En_Mm +ovl_En_Mm2 +ovl_En_Ms +ovl_En_Mu +ovl_En_Nb +ovl_En_Niw +ovl_En_Niw_Girl +ovl_En_Niw_Lady +ovl_En_Nutsball +ovl_En_Nwc +ovl_En_Ny +ovl_En_OE2 +ovl_En_Okarina_Effect +ovl_En_Okarina_Tag +ovl_En_Okuta +ovl_En_Ossan +ovl_En_Owl +ovl_En_Part +ovl_En_Peehat +ovl_En_Po_Desert +ovl_En_Po_Field +ovl_En_Po_Relay +ovl_En_Po_Sisters +ovl_En_Poh +ovl_En_Pu_box +ovl_En_Rd +ovl_En_Reeba +ovl_En_River_Sound +ovl_En_Rl +ovl_En_Rr +ovl_En_Ru1 +ovl_En_Ru2 +ovl_En_Sa +ovl_En_Sb +ovl_En_Scene_Change +ovl_En_Sda +ovl_En_Shopnuts +ovl_En_Si +ovl_En_Siofuki +ovl_En_Skb +ovl_En_Skj +ovl_En_Skjneedle +ovl_En_Ssh +ovl_En_St +ovl_En_Sth +ovl_En_Stream +ovl_En_Sw +ovl_En_Syateki_Itm +ovl_En_Syateki_Man +ovl_En_Syateki_Niw +ovl_En_Ta +ovl_En_Takara_Man +ovl_En_Tana +ovl_En_Tg +ovl_En_Tite +ovl_En_Tk +ovl_En_Torch +ovl_En_Torch2 +ovl_En_Toryo +ovl_En_Tp +ovl_En_Tr +ovl_En_Trap +ovl_En_Tubo_Trap +ovl_En_Vali +ovl_En_Vase +ovl_En_Vb_Ball +ovl_En_Viewer +ovl_En_Vm +ovl_En_Wall_Tubo +ovl_En_Wallmas +ovl_En_Weather_Tag +ovl_En_Weiyer +ovl_En_Wf +ovl_En_Wonder_Item +ovl_En_Wonder_Talk +ovl_En_Wonder_Talk2 +ovl_En_Wood02 +ovl_En_Xc +ovl_En_Yabusame_Mark +ovl_En_Yukabyun +ovl_En_Zf +ovl_En_Zl1 +ovl_En_Zl2 +ovl_En_Zl3 +ovl_En_Zl4 +ovl_En_Zo +ovl_En_fHG +ovl_End_Title +ovl_Fishing +ovl_Item_B_Heart +ovl_Item_Etcetera +ovl_Item_Inbox +ovl_Item_Ocarina +ovl_Item_Shield +ovl_Magic_Dark +ovl_Magic_Fire +ovl_Magic_Wind +ovl_Mir_Ray +ovl_Obj_Bean +ovl_Obj_Blockstop +ovl_Obj_Bombiwa +ovl_Obj_Comb +ovl_Obj_Dekujr +ovl_Obj_Elevator +ovl_Obj_Hamishi +ovl_Obj_Hana +ovl_Obj_Hsblock +ovl_Obj_Ice_Poly +ovl_Obj_Kibako +ovl_Obj_Kibako2 +ovl_Obj_Lift +ovl_Obj_Lightswitch +ovl_Obj_Makekinsuta +ovl_Obj_Makeoshihiki +ovl_Obj_Mure +ovl_Obj_Mure2 +ovl_Obj_Mure3 +ovl_Obj_Oshihiki +ovl_Obj_Roomtimer +ovl_Obj_Switch +ovl_Obj_Syokudai +ovl_Obj_Timeblock +ovl_Obj_Tsubo +ovl_Obj_Warp2block +ovl_Object_Kankyo +ovl_Oceff_Spot +ovl_Oceff_Storm +ovl_Oceff_Wipe +ovl_Oceff_Wipe2 +ovl_Oceff_Wipe3 +ovl_Oceff_Wipe4 +ovl_Shot_Sun +gameplay_keep +gameplay_field_keep +gameplay_dangeon_keep +gameplay_object_exchange_static +object_link_boy +object_link_child +object_box +object_human +object_okuta +object_poh +object_wallmaster +object_dy_obj +object_firefly +object_dodongo +object_fire +object_niw +object_tite +object_reeba +object_peehat +object_kingdodongo +object_horse +object_zf +object_goma +object_zl1 +object_gol +object_bubble +object_dodojr +object_torch2 +object_bl +object_tp +object_oA1 +object_st +object_bw +object_ei +object_horse_normal +object_oB1 +object_o_anime +object_spot04_objects +object_ddan_objects +object_hidan_objects +object_horse_ganon +object_oA2 +object_spot00_objects +object_mb +object_bombf +object_sk2 +object_oE1 +object_oE_anime +object_oE2 +object_ydan_objects +object_gnd +object_am +object_dekubaba +object_oA3 +object_oA4 +object_oA5 +object_oA6 +object_oA7 +object_jj +object_oA8 +object_oA9 +object_oB2 +object_oB3 +object_oB4 +object_horse_zelda +object_opening_demo1 +object_warp1 +object_b_heart +object_dekunuts +object_oE3 +object_oE4 +object_menkuri_objects +object_oE5 +object_oE6 +object_oE7 +object_oE8 +object_oE9 +object_oE10 +object_oE11 +object_oE12 +object_vali +object_oA10 +object_oA11 +object_mizu_objects +object_fhg +object_ossan +object_mori_hineri1 +object_Bb +object_toki_objects +object_yukabyun +object_zl2 +object_mjin +object_mjin_flash +object_mjin_dark +object_mjin_flame +object_mjin_ice +object_mjin_soul +object_mjin_wind +object_mjin_oka +object_haka_objects +object_spot06_objects +object_ice_objects +object_relay_objects +object_mori_hineri1a +object_mori_hineri2 +object_mori_hineri2a +object_mori_objects +object_mori_tex +object_spot08_obj +object_warp2 +object_hata +object_bird +object_wood02 +object_lightbox +object_pu_box +object_trap +object_vase +object_im +object_ta +object_tk +object_xc +object_vm +object_bv +object_hakach_objects +object_efc_crystal_light +object_efc_fire_ball +object_efc_flash +object_efc_lgt_shower +object_efc_star_field +object_god_lgt +object_light_ring +object_triforce_spot +object_medal +object_bdan_objects +object_sd +object_rd +object_po_sisters +object_heavy_object +object_gndd +object_fd +object_du +object_fw +object_horse_link_child +object_spot02_objects +object_haka +object_ru1 +object_syokudai +object_fd2 +object_dh +object_rl +object_efc_tw +object_demo_tre_lgt +object_gi_key +object_mir_ray +object_brob +object_gi_jewel +object_spot09_obj +object_spot18_obj +object_bdoor +object_spot17_obj +object_shop_dungen +object_nb +object_mo +object_sb +object_gi_melody +object_gi_heart +object_gi_compass +object_gi_bosskey +object_gi_medal +object_gi_nuts +object_sa +object_gi_hearts +object_gi_arrowcase +object_gi_bombpouch +object_in +object_tr +object_spot16_obj +object_oE1s +object_oE4s +object_os_anime +object_gi_bottle +object_gi_stick +object_gi_map +object_oF1d_map +object_ru2 +object_gi_shield_1 +object_dekujr +object_gi_magicpot +object_gi_bomb_1 +object_oF1s +object_ma2 +object_gi_purse +object_hni +object_tw +object_rr +object_bxa +object_anubice +object_gi_gerudo +object_gi_arrow +object_gi_bomb_2 +object_gi_egg +object_gi_scale +object_gi_shield_2 +object_gi_hookshot +object_gi_ocarina +object_gi_milk +object_ma1 +object_ganon +object_sst +object_ny +object_fr +object_gi_pachinko +object_gi_boomerang +object_gi_bow +object_gi_glasses +object_gi_liquid +object_ani +object_demo_6k +object_gi_shield_3 +object_gi_letter +object_spot15_obj +object_jya_obj +object_gi_clothes +object_gi_bean +object_gi_fish +object_gi_saw +object_gi_hammer +object_gi_grass +object_gi_longsword +object_spot01_objects +object_md +object_km1 +object_kw1 +object_zo +object_kz +object_umajump +object_masterkokiri +object_masterkokirihead +object_mastergolon +object_masterzoora +object_aob +object_ik +object_ahg +object_cne +object_gi_niwatori +object_skj +object_gi_bottle_letter +object_bji +object_bba +object_gi_ocarina_0 +object_ds +object_ane +object_boj +object_spot03_object +object_spot07_object +object_fz +object_bob +object_ge1 +object_yabusame_point +object_gi_boots_2 +object_gi_seed +object_gnd_magic +object_d_elevator +object_d_hsblock +object_d_lift +object_mamenoki +object_goroiwa +object_toryo +object_daiku +object_nwc +object_blkobj +object_gm +object_ms +object_hs +object_ingate +object_lightswitch +object_kusa +object_tsubo +object_gi_gloves +object_gi_coin +object_kanban +object_gjyo_objects +object_owl +object_mk +object_fu +object_gi_ki_tan_mask +object_gi_redead_mask +object_gi_skj_mask +object_gi_rabit_mask +object_gi_truth_mask +object_ganon_objects +object_siofuki +object_stream +object_mm +object_fa +object_os +object_gi_eye_lotion +object_gi_powder +object_gi_mushroom +object_gi_ticketstone +object_gi_brokensword +object_js +object_cs +object_gi_prescription +object_gi_bracelet +object_gi_soldout +object_gi_frog +object_mag +object_door_gerudo +object_gt +object_efc_erupc +object_zl2_anime1 +object_zl2_anime2 +object_gi_golonmask +object_gi_zoramask +object_gi_gerudomask +object_ganon2 +object_ka +object_ts +object_zg +object_gi_hoverboots +object_gi_m_arrow +object_ds2 +object_ec +object_fish +object_gi_sutaru +object_gi_goddess +object_ssh +object_bigokuta +object_bg +object_spot05_objects +object_spot12_obj +object_bombiwa +object_hintnuts +object_rs +object_spot00_break +object_gla +object_shopnuts +object_geldb +object_gr +object_dog +object_jya_iron +object_jya_door +object_spot01_objects2 +object_spot11_obj +object_kibako2 +object_dns +object_dnk +object_gi_fire +object_gi_insect +object_gi_butterfly +object_gi_ghost +object_gi_soul +object_bowl +object_po_field +object_demo_kekkai +object_efc_doughnut +object_gi_dekupouch +object_ganon_anime1 +object_ganon_anime2 +object_ganon_anime3 +object_gi_rupy +object_spot01_matoya +object_spot01_matoyab +object_po_composer +object_mu +object_wf +object_skb +object_gj +object_geff +object_haka_door +object_gs +object_ps +object_bwall +object_crow +object_cow +object_cob +object_gi_sword_1 +object_door_killer +object_ouke_haka +object_timeblock +object_zl4 +g_pn_01 +g_pn_02 +g_pn_03 +g_pn_04 +g_pn_05 +g_pn_06 +g_pn_07 +g_pn_08 +g_pn_09 +g_pn_10 +g_pn_11 +g_pn_12 +g_pn_13 +g_pn_14 +g_pn_15 +g_pn_16 +g_pn_17 +g_pn_18 +g_pn_19 +g_pn_20 +g_pn_21 +g_pn_22 +g_pn_23 +g_pn_24 +g_pn_25 +g_pn_26 +g_pn_27 +g_pn_28 +g_pn_29 +g_pn_30 +g_pn_31 +g_pn_32 +g_pn_33 +g_pn_34 +g_pn_35 +g_pn_36 +g_pn_37 +g_pn_38 +g_pn_39 +g_pn_40 +g_pn_41 +g_pn_42 +g_pn_43 +g_pn_44 +g_pn_45 +g_pn_46 +g_pn_47 +g_pn_48 +g_pn_49 +g_pn_50 +g_pn_51 +g_pn_52 +g_pn_53 +g_pn_54 +g_pn_55 +g_pn_56 +g_pn_57 +z_select_static +nintendo_rogo_static +title_static +parameter_static +vr_fine0_static +vr_fine0_pal_static +vr_fine1_static +vr_fine1_pal_static +vr_fine2_static +vr_fine2_pal_static +vr_fine3_static +vr_fine3_pal_static +vr_cloud0_static +vr_cloud0_pal_static +vr_cloud1_static +vr_cloud1_pal_static +vr_cloud2_static +vr_cloud2_pal_static +vr_cloud3_static +vr_cloud3_pal_static +vr_holy0_static +vr_holy0_pal_static +vr_holy1_static +vr_holy1_pal_static +vr_MDVR_static +vr_MDVR_pal_static +vr_MNVR_static +vr_MNVR_pal_static +vr_RUVR_static +vr_RUVR_pal_static +vr_LHVR_static +vr_LHVR_pal_static +vr_KHVR_static +vr_KHVR_pal_static +vr_K3VR_static +vr_K3VR_pal_static +vr_K4VR_static +vr_K4VR_pal_static +vr_K5VR_static +vr_K5VR_pal_static +vr_SP1a_static +vr_SP1a_pal_static +vr_MLVR_static +vr_MLVR_pal_static +vr_KKRVR_static +vr_KKRVR_pal_static +vr_KR3VR_static +vr_KR3VR_pal_static +vr_IPVR_static +vr_IPVR_pal_static +vr_KSVR_static +vr_KSVR_pal_static +vr_GLVR_static +vr_GLVR_pal_static +vr_ZRVR_static +vr_ZRVR_pal_static +vr_DGVR_static +vr_DGVR_pal_static +vr_ALVR_static +vr_ALVR_pal_static +vr_NSVR_static +vr_NSVR_pal_static +vr_LBVR_static +vr_LBVR_pal_static +vr_TTVR_static +vr_TTVR_pal_static +vr_FCVR_static +vr_FCVR_pal_static +elf_message_field +elf_message_ydan +ydan_scene +ydan_room_0 +ydan_room_1 +ydan_room_2 +ydan_room_3 +ydan_room_4 +ydan_room_5 +ydan_room_6 +ydan_room_7 +ydan_room_8 +ydan_room_9 +ydan_room_10 +ydan_room_11 +ddan_scene +ddan_room_0 +ddan_room_1 +ddan_room_2 +ddan_room_3 +ddan_room_4 +ddan_room_5 +ddan_room_6 +ddan_room_7 +ddan_room_8 +ddan_room_9 +ddan_room_10 +ddan_room_11 +ddan_room_12 +ddan_room_13 +ddan_room_14 +ddan_room_15 +ddan_room_16 +bdan_scene +bdan_room_0 +bdan_room_1 +bdan_room_2 +bdan_room_3 +bdan_room_4 +bdan_room_5 +bdan_room_6 +bdan_room_7 +bdan_room_8 +bdan_room_9 +bdan_room_10 +bdan_room_11 +bdan_room_12 +bdan_room_13 +bdan_room_14 +bdan_room_15 +Bmori1_scene +Bmori1_room_0 +Bmori1_room_1 +Bmori1_room_2 +Bmori1_room_3 +Bmori1_room_4 +Bmori1_room_5 +Bmori1_room_6 +Bmori1_room_7 +Bmori1_room_8 +Bmori1_room_9 +Bmori1_room_10 +Bmori1_room_11 +Bmori1_room_12 +Bmori1_room_13 +Bmori1_room_14 +Bmori1_room_15 +Bmori1_room_16 +Bmori1_room_17 +Bmori1_room_18 +Bmori1_room_19 +Bmori1_room_20 +Bmori1_room_21 +Bmori1_room_22 +HIDAN_scene +HIDAN_room_0 +HIDAN_room_1 +HIDAN_room_2 +HIDAN_room_3 +HIDAN_room_4 +HIDAN_room_5 +HIDAN_room_6 +HIDAN_room_7 +HIDAN_room_8 +HIDAN_room_9 +HIDAN_room_10 +HIDAN_room_11 +HIDAN_room_12 +HIDAN_room_13 +HIDAN_room_14 +HIDAN_room_15 +HIDAN_room_16 +HIDAN_room_17 +HIDAN_room_18 +HIDAN_room_19 +HIDAN_room_20 +HIDAN_room_21 +HIDAN_room_22 +HIDAN_room_23 +HIDAN_room_24 +HIDAN_room_25 +HIDAN_room_26 +MIZUsin_scene +MIZUsin_room_0 +MIZUsin_room_1 +MIZUsin_room_2 +MIZUsin_room_3 +MIZUsin_room_4 +MIZUsin_room_5 +MIZUsin_room_6 +MIZUsin_room_7 +MIZUsin_room_8 +MIZUsin_room_9 +MIZUsin_room_10 +MIZUsin_room_11 +MIZUsin_room_12 +MIZUsin_room_13 +MIZUsin_room_14 +MIZUsin_room_15 +MIZUsin_room_16 +MIZUsin_room_17 +MIZUsin_room_18 +MIZUsin_room_19 +MIZUsin_room_20 +MIZUsin_room_21 +MIZUsin_room_22 +jyasinzou_scene +jyasinzou_room_0 +jyasinzou_room_1 +jyasinzou_room_2 +jyasinzou_room_3 +jyasinzou_room_4 +jyasinzou_room_5 +jyasinzou_room_6 +jyasinzou_room_7 +jyasinzou_room_8 +jyasinzou_room_9 +jyasinzou_room_10 +jyasinzou_room_11 +jyasinzou_room_12 +jyasinzou_room_13 +jyasinzou_room_14 +jyasinzou_room_15 +jyasinzou_room_16 +jyasinzou_room_17 +jyasinzou_room_18 +jyasinzou_room_19 +jyasinzou_room_20 +jyasinzou_room_21 +jyasinzou_room_22 +jyasinzou_room_23 +jyasinzou_room_24 +jyasinzou_room_25 +jyasinzou_room_26 +jyasinzou_room_27 +jyasinzou_room_28 +HAKAdan_scene +HAKAdan_room_0 +HAKAdan_room_1 +HAKAdan_room_2 +HAKAdan_room_3 +HAKAdan_room_4 +HAKAdan_room_5 +HAKAdan_room_6 +HAKAdan_room_7 +HAKAdan_room_8 +HAKAdan_room_9 +HAKAdan_room_10 +HAKAdan_room_11 +HAKAdan_room_12 +HAKAdan_room_13 +HAKAdan_room_14 +HAKAdan_room_15 +HAKAdan_room_16 +HAKAdan_room_17 +HAKAdan_room_18 +HAKAdan_room_19 +HAKAdan_room_20 +HAKAdan_room_21 +HAKAdan_room_22 +HAKAdanCH_scene +HAKAdanCH_room_0 +HAKAdanCH_room_1 +HAKAdanCH_room_2 +HAKAdanCH_room_3 +HAKAdanCH_room_4 +HAKAdanCH_room_5 +HAKAdanCH_room_6 +ice_doukutu_scene +ice_doukutu_room_0 +ice_doukutu_room_1 +ice_doukutu_room_2 +ice_doukutu_room_3 +ice_doukutu_room_4 +ice_doukutu_room_5 +ice_doukutu_room_6 +ice_doukutu_room_7 +ice_doukutu_room_8 +ice_doukutu_room_9 +ice_doukutu_room_10 +ice_doukutu_room_11 +men_scene +men_room_0 +men_room_1 +men_room_2 +men_room_3 +men_room_4 +men_room_5 +men_room_6 +men_room_7 +men_room_8 +men_room_9 +men_room_10 +ganontika_scene +ganontika_room_0 +ganontika_room_1 +ganontika_room_2 +ganontika_room_3 +ganontika_room_4 +ganontika_room_5 +ganontika_room_6 +ganontika_room_7 +ganontika_room_8 +ganontika_room_9 +ganontika_room_10 +ganontika_room_11 +ganontika_room_12 +ganontika_room_13 +ganontika_room_14 +ganontika_room_15 +ganontika_room_16 +ganontika_room_17 +ganontika_room_18 +ganontika_room_19 +spot00_scene +spot00_room_0 +spot01_scene +spot01_room_0 +spot02_scene +spot02_room_0 +spot02_room_1 +spot03_scene +spot03_room_0 +spot03_room_1 +spot04_scene +spot04_room_0 +spot04_room_1 +spot04_room_2 +spot05_scene +spot05_room_0 +spot06_scene +spot06_room_0 +spot07_scene +spot07_room_0 +spot07_room_1 +spot08_scene +spot08_room_0 +spot09_scene +spot09_room_0 +spot10_scene +spot10_room_0 +spot10_room_1 +spot10_room_2 +spot10_room_3 +spot10_room_4 +spot10_room_5 +spot10_room_6 +spot10_room_7 +spot10_room_8 +spot10_room_9 +spot11_scene +spot11_room_0 +spot12_scene +spot12_room_0 +spot12_room_1 +spot13_scene +spot13_room_0 +spot13_room_1 +spot15_scene +spot15_room_0 +spot16_scene +spot16_room_0 +spot17_scene +spot17_room_0 +spot17_room_1 +spot18_scene +spot18_room_0 +spot18_room_1 +spot18_room_2 +spot18_room_3 +market_day_scene +market_day_room_0 +market_night_scene +market_night_room_0 +kenjyanoma_scene +kenjyanoma_room_0 +tokinoma_scene +tokinoma_room_0 +tokinoma_room_1 +link_home_scene +link_home_room_0 +kokiri_shop_scene +kokiri_shop_room_0 +kokiri_home_scene +kokiri_home_room_0 +kakusiana_scene +kakusiana_room_0 +kakusiana_room_1 +kakusiana_room_2 +kakusiana_room_3 +kakusiana_room_4 +kakusiana_room_5 +kakusiana_room_6 +kakusiana_room_7 +kakusiana_room_8 +kakusiana_room_9 +kakusiana_room_10 +kakusiana_room_11 +kakusiana_room_12 +kakusiana_room_13 +entra_scene +entra_room_0 +moribossroom_scene +moribossroom_room_0 +moribossroom_room_1 +syatekijyou_scene +syatekijyou_room_0 +shop1_scene +shop1_room_0 +hairal_niwa_scene +hairal_niwa_room_0 +ganon_tou_scene +ganon_tou_room_0 +market_alley_scene +market_alley_room_0 +spot20_scene +spot20_room_0 +market_ruins_scene +market_ruins_room_0 +entra_n_scene +entra_n_room_0 +enrui_scene +enrui_room_0 +market_alley_n_scene +market_alley_n_room_0 +hiral_demo_scene +hiral_demo_room_0 +kokiri_home3_scene +kokiri_home3_room_0 +malon_stable_scene +malon_stable_room_0 +kakariko_scene +kakariko_room_0 +bdan_boss_scene +bdan_boss_room_0 +bdan_boss_room_1 +FIRE_bs_scene +FIRE_bs_room_0 +FIRE_bs_room_1 +hut_scene +hut_room_0 +daiyousei_izumi_scene +daiyousei_izumi_room_0 +hakaana_scene +hakaana_room_0 +yousei_izumi_tate_scene +yousei_izumi_tate_room_0 +yousei_izumi_yoko_scene +yousei_izumi_yoko_room_0 +golon_scene +golon_room_0 +zoora_scene +zoora_room_0 +drag_scene +drag_room_0 +alley_shop_scene +alley_shop_room_0 +night_shop_scene +night_shop_room_0 +impa_scene +impa_room_0 +labo_scene +labo_room_0 +tent_scene +tent_room_0 +nakaniwa_scene +nakaniwa_room_0 +ddan_boss_scene +ddan_boss_room_0 +ddan_boss_room_1 +ydan_boss_scene +ydan_boss_room_0 +ydan_boss_room_1 +HAKAdan_bs_scene +HAKAdan_bs_room_0 +HAKAdan_bs_room_1 +MIZUsin_bs_scene +MIZUsin_bs_room_0 +MIZUsin_bs_room_1 +ganon_scene +ganon_room_0 +ganon_room_1 +ganon_room_2 +ganon_room_3 +ganon_room_4 +ganon_room_5 +ganon_room_6 +ganon_room_7 +ganon_room_8 +ganon_room_9 +ganon_boss_scene +ganon_boss_room_0 +jyasinboss_scene +jyasinboss_room_0 +jyasinboss_room_1 +jyasinboss_room_2 +jyasinboss_room_3 +kokiri_home4_scene +kokiri_home4_room_0 +kokiri_home5_scene +kokiri_home5_room_0 +ganon_final_scene +ganon_final_room_0 +kakariko3_scene +kakariko3_room_0 +hakasitarelay_scene +hakasitarelay_room_0 +hakasitarelay_room_1 +hakasitarelay_room_2 +hakasitarelay_room_3 +hakasitarelay_room_4 +hakasitarelay_room_5 +hakasitarelay_room_6 +shrine_scene +shrine_room_0 +turibori_scene +turibori_room_0 +shrine_n_scene +shrine_n_room_0 +shrine_r_scene +shrine_r_room_0 +hakaana2_scene +hakaana2_room_0 +gerudoway_scene +gerudoway_room_0 +gerudoway_room_1 +gerudoway_room_2 +gerudoway_room_3 +gerudoway_room_4 +gerudoway_room_5 +hairal_niwa_n_scene +hairal_niwa_n_room_0 +bowling_scene +bowling_room_0 +hakaana_ouke_scene +hakaana_ouke_room_0 +hakaana_ouke_room_1 +hakaana_ouke_room_2 +hylia_labo_scene +hylia_labo_room_0 +souko_scene +souko_room_0 +souko_room_1 +souko_room_2 +miharigoya_scene +miharigoya_room_0 +mahouya_scene +mahouya_room_0 +takaraya_scene +takaraya_room_0 +takaraya_room_1 +takaraya_room_2 +takaraya_room_3 +takaraya_room_4 +takaraya_room_5 +takaraya_room_6 +ganon_sonogo_scene +ganon_sonogo_room_0 +ganon_sonogo_room_1 +ganon_sonogo_room_2 +ganon_sonogo_room_3 +ganon_sonogo_room_4 +ganon_demo_scene +ganon_demo_room_0 +face_shop_scene +face_shop_room_0 +kinsuta_scene +kinsuta_room_0 +ganontikasonogo_scene +ganontikasonogo_room_0 +ganontikasonogo_room_1 +bump_texture_static +anime_model_1_static +anime_model_2_static +anime_model_3_static +anime_model_4_static +anime_model_5_static +anime_model_6_static +anime_texture_1_static +anime_texture_2_static +anime_texture_3_static +anime_texture_4_static +anime_texture_5_static +anime_texture_6_static +softsprite_matrix_static diff --git a/baseroms/gc-eu/dmadata_start.txt b/baseroms/gc-eu/dmadata_start.txt new file mode 100644 index 0000000000..08515b6d6a --- /dev/null +++ b/baseroms/gc-eu/dmadata_start.txt @@ -0,0 +1 @@ +0x07170 diff --git a/spec b/spec index 1630ba28cc..a20bc38c60 100644 --- a/spec +++ b/spec @@ -655,7 +655,11 @@ beginseg include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_prompt.o" include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_kaleido_scope_PAL.o" include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark.o" +#if !OOT_MQ include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.o" +#else + include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data_mq.o" +#endif include "$(BUILD_DIR)/src/overlays/misc/ovl_kaleido_scope/ovl_kaleido_scope_reloc.o" endseg @@ -669,7 +673,11 @@ endseg beginseg name "ovl_map_mark_data" compress +#if !OOT_MQ include "$(BUILD_DIR)/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.o" +#else + include "$(BUILD_DIR)/src/overlays/misc/ovl_map_mark_data/z_map_mark_data_mq.o" +#endif include "$(BUILD_DIR)/src/overlays/misc/ovl_map_mark_data/ovl_map_mark_data_reloc.o" endseg diff --git a/src/boot/build.c b/src/boot/build.c index 91585b4ebe..d2fb891c0c 100644 --- a/src/boot/build.c +++ b/src/boot/build.c @@ -3,7 +3,9 @@ const char gBuildTeam[] = "zelda@srd022j"; // TODO: Use per-version preprocessor defines #if OOT_DEBUG // gc-eu-mq-dbg const char gBuildDate[] = "03-02-21 00:16:31"; -#else // gc-eu-mq +#elif !OOT_MQ // gc-eu +const char gBuildDate[] = "03-02-21 20:12:23"; +#else // gc-eu-mq const char gBuildDate[] = "03-02-21 20:37:19"; #endif diff --git a/src/code/z_scene_table.c b/src/code/z_scene_table.c index d3dc097518..b52c2e5ca8 100644 --- a/src/code/z_scene_table.c +++ b/src/code/z_scene_table.c @@ -418,7 +418,11 @@ void Scene_DrawConfigWaterTemple(PlayState* play) { spAC = play->roomCtx.unk_74[1] & 0xFF; gameplayFrames = play->gameplayFrames; +#if !OOT_MQ + gSPSegment(POLY_XLU_DISP++, 0x06, SEGMENTED_TO_VIRTUAL(D_8012A330[((void)0, gSaveContext.save.nightFlag)])); +#else gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(D_8012A330[((void)0, gSaveContext.save.nightFlag)])); +#endif if (spB0 == 1) { gSPSegment(POLY_OPA_DISP++, 0x08, diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index e3f40128ae..fde43d48e6 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -76,12 +76,20 @@ void EnMag_Init(Actor* thisx, PlayState* play) { this->effectPrimLodFrac = 128.0f; this->effectAlpha = 255.0f; +#if !OOT_MQ + this->effectPrimColor[0] = 255.0f; + this->effectPrimColor[1] = 255.0f; + this->effectPrimColor[2] = 170; + this->effectEnvColor[0] = 255.0f; + this->effectEnvColor[1] = 100; +#else this->effectPrimColor[0] = 170; this->effectPrimColor[1] = 255.0f; this->effectPrimColor[2] = 255.0f; this->effectEnvColor[0] = 200.0f; this->effectEnvColor[1] = 255.0f; this->effectEnvColor[2] = 0; +#endif gSaveContext.forceRisingButtonAlphas = false; this->globalState = MAG_STATE_DISPLAY; @@ -121,12 +129,20 @@ void EnMag_Update(Actor* thisx, PlayState* play) { this->effectPrimLodFrac = 128.0f; this->effectAlpha = 255.0f; +#if !OOT_MQ + this->effectPrimColor[0] = 255.0f; + this->effectPrimColor[1] = 255.0f; + this->effectPrimColor[2] = 170; + this->effectEnvColor[0] = 255.0f; + this->effectEnvColor[1] = 100; +#else this->effectPrimColor[0] = 170; this->effectPrimColor[1] = 255.0f; this->effectPrimColor[2] = 255.0f; this->effectEnvColor[0] = 200.0f; this->effectEnvColor[1] = 255.0f; this->effectEnvColor[2] = 0; +#endif this->globalState = MAG_STATE_DISPLAY; sDelayTimer = 20; @@ -187,8 +203,13 @@ void EnMag_Update(Actor* thisx, PlayState* play) { this->effectFadeInState = 1; } } else if (this->effectFadeInState == 1) { +#if !OOT_MQ + this->effectPrimColor[2] += -2.125f; + this->effectEnvColor[1] += -3.875f; +#else this->effectPrimColor[0] += -2.125f; this->effectEnvColor[0] += -1.375f; +#endif this->effectPrimLodFrac += 2.4f; @@ -197,8 +218,13 @@ void EnMag_Update(Actor* thisx, PlayState* play) { if (this->effectFadeInTimer == 0) { this->effectPrimLodFrac = 128.0f; +#if !OOT_MQ + this->effectPrimColor[2] = 170.0f; + this->effectEnvColor[1] = 100.0f; +#else this->effectPrimColor[0] = 170.0f; this->effectEnvColor[0] = 200.0f; +#endif this->effectFadeInTimer = 32; this->effectFadeInState = 2; @@ -371,6 +397,13 @@ void EnMag_DrawCharTexture(Gfx** gfxP, u8* texture, s32 rectLeft, s32 rectTop) { *gfxP = gfx; } +// Title logo is shifted to the left in Master Quest +#if !OOT_MQ +#define LOGO_X_SHIFT 0 +#else +#define LOGO_X_SHIFT (-8) +#endif + void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxP) { static s16 textAlpha = 0; static s16 textFadeDirection = 0; @@ -413,7 +446,7 @@ void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxP) { if ((s16)this->effectPrimLodFrac != 0) { for (k = 0, i = 0, rectTop = 0; i < 3; i++, rectTop += 64) { - for (j = 0, rectLeft = 56; j < 3; j++, k++, rectLeft += 64) { + for (j = 0, rectLeft = 64 + LOGO_X_SHIFT; j < 3; j++, k++, rectLeft += 64) { EnMag_DrawEffectTextures(&gfx, effectMaskTextures[k], gTitleFlameEffectTex, 64, 64, 32, 32, rectLeft, rectTop, 64, 64, 1024, 1024, 1, 1, k, this); } @@ -423,7 +456,7 @@ void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxP) { gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, (s16)this->mainAlpha); if ((s16)this->mainAlpha != 0) { - EnMag_DrawImageRGBA32(&gfx, 152, 100, (u8*)gTitleZeldaShieldLogoMQTex, 160, 160); + EnMag_DrawImageRGBA32(&gfx, 160 + LOGO_X_SHIFT, 100, (u8*)gTitleZeldaShieldLogoMQTex, 160, 160); } Gfx_SetupDL_39Ptr(&gfx); @@ -440,23 +473,35 @@ void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxP) { } gDPSetPrimColor(gfx++, 0, 0, 0, 0, 0, (s16)this->mainAlpha); +#if !OOT_MQ + gDPSetEnvColor(gfx++, 100, 0, 100, 255); +#else gDPSetEnvColor(gfx++, 0, 0, 100, 255); +#endif if ((s16)this->mainAlpha != 0) { - EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 146, 73, 72, 8, 1024, 1024); - EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 144, 127, 96, 8, 1024, 1024); + EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 154 + LOGO_X_SHIFT, 73, 72, 8, 1024, 1024); + EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 152 + LOGO_X_SHIFT, 127, 96, 8, 1024, 1024); gDPPipeSync(gfx++); + +#if !OOT_MQ + gDPSetPrimColor(gfx++, 0, 0, 200, 200, 150, (s16)this->mainAlpha); + gDPSetEnvColor(gfx++, 100, 100, 50, 255); +#else gDPSetPrimColor(gfx++, 0, 0, 100, 150, 255, (s16)this->mainAlpha); gDPSetEnvColor(gfx++, 20, 80, 160, 255); +#endif - EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 145, 72, 72, 8, 1024, 1024); - EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 143, 126, 96, 8, 1024, 1024); + EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 153 + LOGO_X_SHIFT, 72, 72, 8, 1024, 1024); + EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 151 + LOGO_X_SHIFT, 126, 96, 8, 1024, 1024); +#if OOT_MQ gDPPipeSync(gfx++); gDPSetPrimColor(gfx++, 0, 0, 255, 255, 255, (s16)this->subAlpha); EnMag_DrawImageRGBA32(&gfx, 174, 145, (u8*)gTitleMasterQuestSubtitleTex, 128, 32); +#endif } Gfx_SetupDL_39Ptr(&gfx); diff --git a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.c b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.c index df96fc8764..64c151b04b 100644 --- a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.c +++ b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data.c @@ -34,9 +34,10 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 1, + 2, { { 1, 48.0f, -63.0f }, + { 5, 52.0f, -68.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -58,11 +59,9 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 3, + 1, { - { 0, 46.0f, -59.0f }, { 4, 77.0f, -26.0f }, - { 5, 65.0f, -61.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -86,9 +85,9 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 3, { - { 2, 55.0f, -36.0f }, - { 3, 54.0f, -51.0f }, - { 5, 13.0f, -61.0f }, + { 10, 25.0f, -41.0f }, + { 4, 53.0f, -47.0f }, + { 6, 58.0f, -59.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -98,11 +97,10 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 3, + 2, { - { 0, 47.0f, -40.0f }, - { 1, 51.0f, -3.0f }, - { 4, 47.0f, -47.0f }, + { 5, 13.0f, -60.0f }, + { 8, 20.0f, -49.0f }, } }, { PAUSE_MAP_MARK_BOSS, 23, @@ -120,13 +118,11 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 5, + 3, { - { 3, 48.0f, -68.0f }, - { 5, 50.0f, -66.0f }, - { 7, 55.0f, -50.0f }, - { 9, 58.0f, 1.0f }, - { 10, 62.0f, -45.0f }, + { 1, 67.0f, -13.0f }, + { 2, 28.0f, -13.0f }, + { 4, 38.0f, 0.0f }, } }, { PAUSE_MAP_MARK_BOSS, 23, @@ -140,19 +136,6 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { }, // Jabu-Jabu's Belly map 1 { - { PAUSE_MAP_MARK_CHEST, - 23, - sMarkChestVtx, - 4, - 6, - { - { 0, 37.0f, -49.0f }, - { 1, 65.0f, -38.0f }, - { 2, 52.0f, -48.0f }, - { 4, 46.0f, -36.0f }, - { 6, 59.0f, -41.0f }, - { 8, 52.0f, -26.0f }, - } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, // Forest Temple map 0 @@ -161,12 +144,13 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 6, + 7, { - { 3, 53.0f, -64.0f }, - { 5, 65.0f, -9.0f }, - { 12, 49.0f, -1.0f }, - { 13, 40.0f, 0.0f }, + { 1, 50.0f, -12.0f }, + { 3, 46.0f, -66.0f }, + { 4, 20.0f, -38.0f }, + { 12, 49.0f, -3.0f }, + { 13, 39.0f, 0.0f }, { 14, 18.0f, -2.0f }, { 15, 59.0f, 0.0f }, } }, @@ -180,10 +164,10 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 4, { - { 0, 49.0f, -1.0f }, - { 1, 71.0f, -13.0f }, - { 2, 11.0f, -25.0f }, - { 6, 84.0f, -16.0f }, + { 0, 49.0f, -3.0f }, + { 2, 12.0f, -26.0f }, + { 5, 74.0f, -13.0f }, + { 7, 82.0f, -22.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -195,7 +179,7 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 1, { - { 9, 65.0f, -30.0f }, + { 9, 31.0f, -29.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -207,7 +191,7 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 1, { - { 11, 41.0f, -24.0f }, + { 11, 40.0f, -41.0f }, } }, { PAUSE_MAP_MARK_BOSS, 23, @@ -225,9 +209,10 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 1, + 2, { - { 5, 24.0f, -40.0f }, + { 5, 22.0f, -41.0f }, + { 13, 74.0f, -29.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -241,11 +226,14 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 3, + 6, { - { 3, 75.0f, -47.0f }, - { 6, 72.0f, -51.0f }, - { 8, 65.0f, -12.0f }, + { 3, 76.0f, -48.0f }, + { 6, 72.0f, -50.0f }, + { 7, 44.0f, -17.0f }, + { 8, 63.0f, -12.0f }, + { 9, 30.0f, -34.0f }, + { 10, 61.0f, -31.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -257,7 +245,7 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 1, { - { 11, 78.0f, -35.0f }, + { 11, 78.0f, -34.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -269,11 +257,11 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 5, { - { 1, 67.0f, -58.0f }, - { 2, 48.0f, -30.0f }, - { 4, 63.0f, -14.0f }, - { 7, 36.0f, -45.0f }, - { 12, 47.0f, -26.0f }, + { 0, 48.0f, -17.0f }, + { 1, 35.0f, -45.0f }, + { 2, 67.0f, -58.0f }, + { 4, 74.0f, -15.0f }, + { 12, 47.0f, -27.0f }, } }, { PAUSE_MAP_MARK_BOSS, 23, @@ -291,9 +279,11 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 1, + 3, { { 2, 88.0f, -60.0f }, + { 7, 23.0f, -2.0f }, + { 9, 84.0f, -45.0f }, } }, { PAUSE_MAP_MARK_BOSS, 23, @@ -311,9 +301,10 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 1, + 2, { - { 0, 88.0f, -60.0f }, + { 0, 86.0f, -60.0f }, + { 8, 76.0f, -72.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -323,10 +314,12 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 2, + 4, { { 1, 88.0f, -60.0f }, - { 5, 49.0f, -43.0f }, + { 3, 42.0f, -21.0f }, + { 5, 47.0f, -15.0f }, + { 10, 33.0f, -31.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -338,7 +331,7 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 1, { - { 6, 75.0f, -65.0f }, + { 6, 77.0f, -66.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -348,9 +341,10 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 1, + 2, { - { 18, 46.0f, -30.0f }, + { 10, 59.0f, -9.0f }, + { 18, 32.0f, -20.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -362,11 +356,11 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 5, { - { 1, 23.0f, -33.0f }, - { 2, 56.0f, -11.0f }, - { 5, 83.0f, -25.0f }, - { 24, 84.0f, -39.0f }, - { 25, 74.0f, -37.0f }, + { 1, 20.0f, -43.0f }, + { 5, 83.0f, -26.0f }, + { 15, 57.0f, -14.0f }, + { 20, 81.0f, -55.0f }, + { 21, 87.0f, -55.0f }, } }, { PAUSE_MAP_MARK_BOSS, 23, @@ -384,13 +378,14 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 5, + 6, { - { 3, 46.0f, -20.0f }, - { 6, 28.0f, -19.0f }, - { 12, 25.0f, -25.0f }, - { 15, 50.0f, -13.0f }, - { 28, 48.0f, -29.0f }, + { 2, 41.0f, -16.0f }, + { 3, 47.0f, -17.0f }, + { 6, 27.0f, -16.0f }, + { 12, 29.0f, -20.0f }, + { 13, 70.0f, -22.0f }, + { 14, 70.0f, -25.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -400,17 +395,12 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 9, + 4, { - { 0, 14.0f, -24.0f }, + { 0, 38.0f, -17.0f }, { 4, 55.0f, -14.0f }, - { 7, 78.0f, -2.0f }, - { 8, 14.0f, -16.0f }, - { 26, 42.0f, -43.0f }, - { 27, 50.0f, -43.0f }, - { 29, 25.0f, -35.0f }, - { 30, 42.0f, -36.0f }, - { 31, 50.0f, -36.0f }, + { 8, 15.0f, -14.0f }, + { 7, 78.0f, -3.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, @@ -449,7 +439,6 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 2, { { 12, 96.0f, -51.0f }, - { 16, 46.0f, -42.0f }, { 22, 96.0f, -55.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, @@ -460,7 +449,7 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 12, + 10, { { 4, 43.0f, -66.0f }, { 5, 37.0f, -66.0f }, @@ -470,8 +459,6 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { { 10, 15.0f, -4.0f }, { 11, 25.0f, -4.0f }, { 13, 19.0f, -29.0f }, - { 14, 78.0f, -15.0f }, - { 15, 60.0f, -70.0f }, { 21, 92.0f, -29.0f }, { 20, 87.0f, -20.0f }, } }, @@ -491,15 +478,32 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 23, sMarkChestVtx, 4, - 2, + 9, { - { 2, 84.0f, -38.0f }, - { 3, 57.0f, -18.0f }, + { 1, 51.0f, -24.0f }, + { 3, 84.0f, -38.0f }, + { 4, 31.0f, -2.0f }, + { 5, 67.0f, -27.0f }, + { 8, 46.0f, -27.0f }, + { 10, 82.0f, -12.0f }, + { 12, 80.0f, -16.0f }, + { 14, 62.0f, -24.0f }, + { 20, 89.0f, -38.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, // Bottom of the Well map 1 { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 3, + { + { 2, 54.0f, -27.0f }, + { 9, 28.0f, -17.0f }, + { 16, 56.0f, -38.0f }, + } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, // Bottom of the Well map 2 @@ -510,7 +514,7 @@ PauseMapMarksData gPauseMapMarkDataTable[] = { 4, 1, { - { 1, 72.0f, -32.0f }, + { 7, 71.0f, -33.0f }, } }, { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, }, diff --git a/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data_mq.c b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data_mq.c new file mode 100644 index 0000000000..df96fc8764 --- /dev/null +++ b/src/overlays/misc/ovl_kaleido_scope/z_lmap_mark_data_mq.c @@ -0,0 +1,531 @@ +#include "z_kaleido_scope.h" + +static const Vtx sMarkBossVtx[] = { + VTX(-4, 4, 0, 0, 0, 255, 255, 255, 255), + VTX(-4, -4, 0, 0, 256, 255, 255, 255, 255), + VTX(4, 4, 0, 256, 0, 255, 255, 255, 255), + VTX(4, -4, 0, 256, 256, 255, 255, 255, 255), +}; + +static const Vtx sMarkChestVtx[] = { + VTX(-4, 4, 0, 0, 0, 255, 255, 255, 255), + VTX(-4, -4, 0, 0, 256, 255, 255, 255, 255), + VTX(4, 4, 0, 256, 0, 255, 255, 255, 255), + VTX(4, -4, 0, 256, 256, 255, 255, 255, 255), +}; + +PauseMapMarksData gPauseMapMarkDataTable[] = { + // Deku Tree map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 2, + { + { 2, 40.0f, -33.0f }, + { 6, 49.0f, -42.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Deku Tree map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 1, 48.0f, -63.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Deku Tree map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 3, 84.0f, -39.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Deku Tree map 3 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 3, + { + { 0, 46.0f, -59.0f }, + { 4, 77.0f, -26.0f }, + { 5, 65.0f, -61.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Deku Tree map 4 + { + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 55.0f, 0.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Dodongo's Cavern map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 3, + { + { 2, 55.0f, -36.0f }, + { 3, 54.0f, -51.0f }, + { 5, 13.0f, -61.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Dodongo's Cavern map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 3, + { + { 0, 47.0f, -40.0f }, + { 1, 51.0f, -3.0f }, + { 4, 47.0f, -47.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 23.0f, -25.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Jabu-Jabu's Belly map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 5, + { + { 3, 48.0f, -68.0f }, + { 5, 50.0f, -66.0f }, + { 7, 55.0f, -50.0f }, + { 9, 58.0f, 1.0f }, + { 10, 62.0f, -45.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 65.0f, -37.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Jabu-Jabu's Belly map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 6, + { + { 0, 37.0f, -49.0f }, + { 1, 65.0f, -38.0f }, + { 2, 52.0f, -48.0f }, + { 4, 46.0f, -36.0f }, + { 6, 59.0f, -41.0f }, + { 8, 52.0f, -26.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Forest Temple map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 6, + { + { 3, 53.0f, -64.0f }, + { 5, 65.0f, -9.0f }, + { 12, 49.0f, -1.0f }, + { 13, 40.0f, 0.0f }, + { 14, 18.0f, -2.0f }, + { 15, 59.0f, 0.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Forest Temple map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 4, + { + { 0, 49.0f, -1.0f }, + { 1, 71.0f, -13.0f }, + { 2, 11.0f, -25.0f }, + { 6, 84.0f, -16.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Forest Temple map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 9, 65.0f, -30.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Forest Temple map 3 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 11, 41.0f, -24.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 50.0f, -11.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Fire Temple map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 5, 24.0f, -40.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Fire Temple map 1 + { + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Fire Temple map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 3, + { + { 3, 75.0f, -47.0f }, + { 6, 72.0f, -51.0f }, + { 8, 65.0f, -12.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Fire Temple map 3 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 11, 78.0f, -35.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Fire Temple map 4 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 5, + { + { 1, 67.0f, -58.0f }, + { 2, 48.0f, -30.0f }, + { 4, 63.0f, -14.0f }, + { 7, 36.0f, -45.0f }, + { 12, 47.0f, -26.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 26.0f, -34.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Water Temple map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 2, 88.0f, -60.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 62.0f, -23.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Water Temple map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 0, 88.0f, -60.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Water Temple map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 2, + { + { 1, 88.0f, -60.0f }, + { 5, 49.0f, -43.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Water Temple map 3 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 6, 75.0f, -65.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Spirit Temple map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 18, 46.0f, -30.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Spirit Temple map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 5, + { + { 1, 23.0f, -33.0f }, + { 2, 56.0f, -11.0f }, + { 5, 83.0f, -25.0f }, + { 24, 84.0f, -39.0f }, + { 25, 74.0f, -37.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 47.0f, 0.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Spirit Temple map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 5, + { + { 3, 46.0f, -20.0f }, + { 6, 28.0f, -19.0f }, + { 12, 25.0f, -25.0f }, + { 15, 50.0f, -13.0f }, + { 28, 48.0f, -29.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Spirit Temple map 3 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 9, + { + { 0, 14.0f, -24.0f }, + { 4, 55.0f, -14.0f }, + { 7, 78.0f, -2.0f }, + { 8, 14.0f, -16.0f }, + { 26, 42.0f, -43.0f }, + { 27, 50.0f, -43.0f }, + { 29, 25.0f, -35.0f }, + { 30, 42.0f, -36.0f }, + { 31, 50.0f, -36.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Shadow Temple map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 2, + { + { 1, 41.0f, -17.0f }, + { 7, 27.0f, -24.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Shadow Temple map 1 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 2, + { + { 2, 81.0f, -20.0f }, + { 3, 74.0f, -37.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Shadow Temple map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 2, + { + { 12, 96.0f, -51.0f }, + { 16, 46.0f, -42.0f }, + { 22, 96.0f, -55.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Shadow Temple map 3 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 12, + { + { 4, 43.0f, -66.0f }, + { 5, 37.0f, -66.0f }, + { 6, 33.0f, -72.0f }, + { 8, 85.0f, -18.0f }, + { 9, 61.0f, -42.0f }, + { 10, 15.0f, -4.0f }, + { 11, 25.0f, -4.0f }, + { 13, 19.0f, -29.0f }, + { 14, 78.0f, -15.0f }, + { 15, 60.0f, -70.0f }, + { 21, 92.0f, -29.0f }, + { 20, 87.0f, -20.0f }, + } }, + { PAUSE_MAP_MARK_BOSS, + 23, + sMarkBossVtx, + 4, + 1, + { + { -1, 31.0f, -45.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Bottom of the Well map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 2, + { + { 2, 84.0f, -38.0f }, + { 3, 57.0f, -18.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Bottom of the Well map 1 + { + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Bottom of the Well map 2 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 1, + { + { 1, 72.0f, -32.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, + // Ice Cavern map 0 + { + { PAUSE_MAP_MARK_CHEST, + 23, + sMarkChestVtx, + 4, + 3, + { + { 0, 66.0f, -2.0f }, + { 1, 77.0f, -46.0f }, + { 2, 27.0f, -45.0f }, + } }, + { PAUSE_MAP_MARK_NONE, 0, NULL, 0, 0, { 0 } }, + }, +}; diff --git a/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.c b/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.c index 1fa95837a7..013b8b7b31 100644 --- a/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.c +++ b/src/overlays/misc/ovl_map_mark_data/z_map_mark_data.c @@ -17,9 +17,10 @@ static MapMarkData sMapMarkDekuTree[] = { // Deku Tree minimap 2 { { MAP_MARK_CHEST, - 1, + 2, { { 1, 64, 62 }, + { 5, 71, 69 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -38,12 +39,6 @@ static MapMarkData sMapMarkDekuTree[] = { }, // Deku Tree minimap 5 { - { MAP_MARK_CHEST, - 2, - { - { 0, 46, 50 }, - { 5, 76, 52 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Deku Tree minimap 6 @@ -91,10 +86,9 @@ static MapMarkData sMapMarkDodongosCavern[] = { // Dodongo's Cavern minimap 0 { { MAP_MARK_CHEST, - 2, + 1, { - { 0, 69, 14 }, - { 4, 69, 30 }, + { 8, 22, 32 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -116,20 +110,10 @@ static MapMarkData sMapMarkDodongosCavern[] = { }, // Dodongo's Cavern minimap 5 { - { MAP_MARK_CHEST, - 1, - { - { 5, 54, 54 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Dodongo's Cavern minimap 6 { - { MAP_MARK_CHEST, - 1, - { - { 2, 69, 54 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Dodongo's Cavern minimap 7 @@ -148,9 +132,10 @@ static MapMarkData sMapMarkDodongosCavern[] = { // Dodongo's Cavern minimap 9 { { MAP_MARK_CHEST, - 1, + 2, { - { 3, 59, 53 }, + { 4, 58, 40 }, + { 6, 65, 64 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -172,19 +157,24 @@ static MapMarkData sMapMarkDodongosCavern[] = { }, // Dodongo's Cavern minimap 14 { - { MAP_MARK_CHEST, - 1, - { - { 1, 68, 54 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Dodongo's Cavern minimap 15 { + { MAP_MARK_CHEST, + 1, + { + { 5, 68, 64 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Dodongo's Cavern minimap 16 { + { MAP_MARK_CHEST, + 1, + { + { 10, 31, 27 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Dodongo's Cavern minimap 17 @@ -200,21 +190,10 @@ static MapMarkData sMapMarkDodongosCavern[] = { static MapMarkData sMapMarkJabuJabuBelly[] = { // Jabu-Jabu's Belly minimap 0 { - { MAP_MARK_CHEST, - 2, - { - { 3, 66, 50 }, - { 5, 72, 47 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 1 { - { MAP_MARK_CHEST, - 1, - { - { 7, 72, 54 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 2 @@ -223,12 +202,6 @@ static MapMarkData sMapMarkJabuJabuBelly[] = { }, // Jabu-Jabu's Belly minimap 3 { - { MAP_MARK_CHEST, - 2, - { - { 4, 64, 62 }, - { 8, 79, 38 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 4 @@ -237,11 +210,6 @@ static MapMarkData sMapMarkJabuJabuBelly[] = { }, // Jabu-Jabu's Belly minimap 5 { - { MAP_MARK_CHEST, - 1, - { - { 10, 64, 45 }, - } }, { MAP_MARK_BOSS, 1, { @@ -263,23 +231,33 @@ static MapMarkData sMapMarkJabuJabuBelly[] = { }, // Jabu-Jabu's Belly minimap 9 { + { MAP_MARK_CHEST, + 1, + { + { 1, 74, 57 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 10 { + { MAP_MARK_CHEST, + 1, + { + { 2, 59, 57 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 11 { - { MAP_MARK_CHEST, - 1, - { - { 9, 68, 45 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 12 { + { MAP_MARK_CHEST, + 1, + { + { 4, 68, 51 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 13 @@ -288,22 +266,14 @@ static MapMarkData sMapMarkJabuJabuBelly[] = { }, // Jabu-Jabu's Belly minimap 14 { - { MAP_MARK_CHEST, - 2, - { - { 1, 79, 33 }, - { 6, 61, 41 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Jabu-Jabu's Belly minimap 15 { - { MAP_MARK_CHEST, - 2, - { - { 0, 48, 57 }, - { 2, 77, 55 }, - } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 16 + { { MAP_MARK_NONE, 0, { 0 } }, }, }; @@ -338,22 +308,26 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 0, 72, 57 }, + { 0, 72, 60 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 7 { { MAP_MARK_CHEST, - 2, + 1, { - { 1, 69, 39 }, - { 9, 62, 65 }, + { 5, 76, 38 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 8 { + { MAP_MARK_CHEST, + 1, + { + { 9, 59, 66 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 9 @@ -361,12 +335,17 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 9, 71, 59 }, + { 9, 15, 58 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 10 { + { MAP_MARK_CHEST, + 1, + { + { 1, 69, 56 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 11 @@ -378,7 +357,7 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 13, 80, 53 }, + { 13, 80, 54 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -400,7 +379,7 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 6, 65, 53 }, + { 7, 61, 61 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -413,7 +392,7 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 11, 39, 35 }, + { 11, 39, 63 }, } }, { MAP_MARK_BOSS, 1, @@ -427,7 +406,7 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 2, 65, 54 }, + { 2, 66, 57 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -453,7 +432,7 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 3, 75, 53 }, + { 3, 63, 56 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -462,17 +441,12 @@ static MapMarkData sMapMarkForestTemple[] = { { MAP_MARK_CHEST, 1, { - { 12, 69, 52 }, + { 12, 69, 59 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 24 { - { MAP_MARK_CHEST, - 1, - { - { 5, 58, 27 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Forest Temple minimap 25 @@ -481,6 +455,11 @@ static MapMarkData sMapMarkForestTemple[] = { }, // Forest Temple minimap 26 { + { MAP_MARK_CHEST, + 1, + { + { 4, 73, 54 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, }; @@ -499,7 +478,7 @@ static MapMarkData sMapMarkFireTemple[] = { { MAP_MARK_CHEST, 1, { - { 7, 53, 70 }, + { 1, 53, 70 }, } }, { MAP_MARK_BOSS, 1, @@ -510,6 +489,11 @@ static MapMarkData sMapMarkFireTemple[] = { }, // Fire Temple minimap 3 { + { MAP_MARK_CHEST, + 1, + { + { 0, 71, 60 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 4 @@ -517,7 +501,7 @@ static MapMarkData sMapMarkFireTemple[] = { { MAP_MARK_CHEST, 1, { - { 11, 57, 48 }, + { 11, 59, 46 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -526,8 +510,8 @@ static MapMarkData sMapMarkFireTemple[] = { { MAP_MARK_CHEST, 2, { - { 3, 67, 73 }, - { 6, 58, 76 }, + { 6, 57, 73 }, + { 3, 66, 71 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -541,6 +525,11 @@ static MapMarkData sMapMarkFireTemple[] = { }, // Fire Temple minimap 8 { + { MAP_MARK_CHEST, + 1, + { + { 13, 72, 38 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 9 @@ -553,6 +542,11 @@ static MapMarkData sMapMarkFireTemple[] = { }, // Fire Temple minimap 11 { + { MAP_MARK_CHEST, + 1, + { + { 9, 80, 61 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 12 @@ -573,14 +567,18 @@ static MapMarkData sMapMarkFireTemple[] = { }, // Fire Temple minimap 16 { + { MAP_MARK_CHEST, + 1, + { + { 10, 71, 36 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 17 { { MAP_MARK_CHEST, - 2, + 1, { - { 2, 78, 62 }, { 12, 77, 58 }, } }, { MAP_MARK_NONE, 0, { 0 } }, @@ -591,15 +589,15 @@ static MapMarkData sMapMarkFireTemple[] = { }, // Fire Temple minimap 19 { - { MAP_MARK_CHEST, - 1, - { - { 4, 60, 54 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 20 { + { MAP_MARK_CHEST, + 1, + { + { 4, 78, 59 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 21 @@ -611,7 +609,7 @@ static MapMarkData sMapMarkFireTemple[] = { { MAP_MARK_CHEST, 1, { - { 1, 72, 68 }, + { 2, 71, 68 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -620,7 +618,7 @@ static MapMarkData sMapMarkFireTemple[] = { { MAP_MARK_CHEST, 1, { - { 8, 66, 57 }, + { 8, 66, 58 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -630,6 +628,11 @@ static MapMarkData sMapMarkFireTemple[] = { }, // Fire Temple minimap 25 { + { MAP_MARK_CHEST, + 1, + { + { 7, 77, 54 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Fire Temple minimap 26 @@ -673,7 +676,7 @@ static MapMarkData sMapMarkFireTemple[] = { { MAP_MARK_CHEST, 1, { - { 5, 51, 61 }, + { 5, 49, 62 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -701,7 +704,7 @@ static MapMarkData sMapMarkWaterTemple[] = { { MAP_MARK_CHEST, 1, { - { 6, 81, 68 }, + { 6, 79, 68 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -711,6 +714,11 @@ static MapMarkData sMapMarkWaterTemple[] = { }, // Water Temple minimap 4 { + { MAP_MARK_CHEST, + 1, + { + { 9, 81, 62 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 5 @@ -723,19 +731,24 @@ static MapMarkData sMapMarkWaterTemple[] = { }, // Water Temple minimap 7 { + { MAP_MARK_CHEST, + 1, + { + { 7, 74, 62 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 8 { + { MAP_MARK_CHEST, + 1, + { + { 10, 57, 66 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 9 { - { MAP_MARK_CHEST, - 1, - { - { 5, 75, 55 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 10 @@ -769,6 +782,11 @@ static MapMarkData sMapMarkWaterTemple[] = { }, // Water Temple minimap 16 { + { MAP_MARK_CHEST, + 1, + { + { 5, 76, 64 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 17 @@ -789,7 +807,7 @@ static MapMarkData sMapMarkWaterTemple[] = { { MAP_MARK_CHEST, 1, { - { 2, 73, 65 }, + { 2, 74, 63 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -874,7 +892,7 @@ static MapMarkData sMapMarkWaterTemple[] = { { MAP_MARK_CHEST, 1, { - { 0, 73, 63 }, + { 0, 74, 64 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -884,10 +902,20 @@ static MapMarkData sMapMarkWaterTemple[] = { }, // Water Temple minimap 41 { + { MAP_MARK_CHEST, + 1, + { + { 8, 75, 67 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 42 { + { MAP_MARK_CHEST, + 1, + { + { 3, 82, 65 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Water Temple minimap 43 @@ -899,36 +927,27 @@ static MapMarkData sMapMarkWaterTemple[] = { static MapMarkData sMapMarkSpiritTemple[] = { // Spirit Temple minimap 0 { - { MAP_MARK_CHEST, - 4, - { - { 26, 27, 35 }, - { 27, 36, 35 }, - { 30, 27, 28 }, - { 31, 36, 28 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 1 { - { MAP_MARK_CHEST, - 1, - { - { 29, 67, 63 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 2 { + { MAP_MARK_CHEST, + 1, + { + { 0, 78, 43 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 3 { { MAP_MARK_CHEST, - 2, + 1, { - { 0, 71, 62 }, - { 8, 71, 48 }, + { 8, 69, 40 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -941,18 +960,13 @@ static MapMarkData sMapMarkSpiritTemple[] = { { MAP_MARK_CHEST, 2, { + { 2, 43, 50 }, { 3, 56, 54 }, - { 15, 69, 42 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 6 { - { MAP_MARK_CHEST, - 1, - { - { 28, 60, 54 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 7 @@ -964,7 +978,7 @@ static MapMarkData sMapMarkSpiritTemple[] = { { MAP_MARK_CHEST, 1, { - { 1, 76, 40 }, + { 1, 70, 67 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -985,7 +999,7 @@ static MapMarkData sMapMarkSpiritTemple[] = { { MAP_MARK_CHEST, 1, { - { 7, 70, 53 }, + { 7, 70, 58 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -1012,24 +1026,20 @@ static MapMarkData sMapMarkSpiritTemple[] = { }, // Spirit Temple minimap 17 { - { MAP_MARK_CHEST, - 1, - { - { 25, 78, 58 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 18 { - { MAP_MARK_CHEST, - 1, - { - { 24, 78, 58 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 19 { + { MAP_MARK_CHEST, + 2, + { + { 20, 75, 58 }, + { 21, 83, 58 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 20 @@ -1047,6 +1057,11 @@ static MapMarkData sMapMarkSpiritTemple[] = { }, // Spirit Temple minimap 22 { + { MAP_MARK_CHEST, + 1, + { + { 10, 72, 49 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 23 @@ -1066,7 +1081,7 @@ static MapMarkData sMapMarkSpiritTemple[] = { { MAP_MARK_CHEST, 1, { - { 18, 75, 54 }, + { 18, 50, 41 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -1079,8 +1094,8 @@ static MapMarkData sMapMarkSpiritTemple[] = { { MAP_MARK_CHEST, 2, { - { 6, 78, 55 }, - { 12, 70, 70 }, + { 6, 73, 49 }, + { 12, 79, 55 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -1089,7 +1104,7 @@ static MapMarkData sMapMarkSpiritTemple[] = { { MAP_MARK_CHEST, 1, { - { 2, 76, 37 }, + { 15, 77, 42 }, } }, { MAP_MARK_BOSS, 1, @@ -1100,6 +1115,12 @@ static MapMarkData sMapMarkSpiritTemple[] = { }, // Spirit Temple minimap 30 { + { MAP_MARK_CHEST, + 2, + { + { 13, 77, 63 }, + { 14, 77, 68 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Spirit Temple minimap 31 @@ -1155,10 +1176,9 @@ static MapMarkData sMapMarkShadowTemple[] = { // Shadow Temple minimap 6 { { MAP_MARK_CHEST, - 2, + 1, { { 2, 83, 67 }, - { 14, 84, 59 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -1215,11 +1235,6 @@ static MapMarkData sMapMarkShadowTemple[] = { }, // Shadow Temple minimap 14 { - { MAP_MARK_CHEST, - 1, - { - { 16, 73, 64 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Shadow Temple minimap 15 @@ -1270,11 +1285,6 @@ static MapMarkData sMapMarkShadowTemple[] = { }, // Shadow Temple minimap 21 { - { MAP_MARK_CHEST, - 1, - { - { 14, 77, 62 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Shadow Temple minimap 22 @@ -1283,11 +1293,6 @@ static MapMarkData sMapMarkShadowTemple[] = { }, // Shadow Temple minimap 23 { - { MAP_MARK_CHEST, - 1, - { - { 15, 56, 67 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Shadow Temple minimap 24 @@ -1296,20 +1301,10 @@ static MapMarkData sMapMarkShadowTemple[] = { }, // Shadow Temple minimap 25 { - { MAP_MARK_CHEST, - 1, - { - { 16, 73, 64 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Shadow Temple minimap 26 { - { MAP_MARK_CHEST, - 1, - { - { 14, 77, 62 }, - } }, { MAP_MARK_NONE, 0, { 0 } }, }, }; @@ -1318,9 +1313,14 @@ static MapMarkData sMapMarkBottomWell[] = { // Bottom of the Well minimap 0 { { MAP_MARK_CHEST, - 1, + 6, { - { 3, 60, 18 }, + { 1, 56, 26 }, + { 4, 39, 3 }, + { 5, 69, 30 }, + { 8, 53, 30 }, + { 12, 83, 16 }, + { 14, 67, 26 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -1334,14 +1334,20 @@ static MapMarkData sMapMarkBottomWell[] = { }, // Bottom of the Well minimap 3 { + { MAP_MARK_CHEST, + 1, + { + { 10, 79, 67 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Bottom of the Well minimap 4 { { MAP_MARK_CHEST, - 1, + 2, { - { 2, 73, 61 }, + { 3, 73, 62 }, + { 20, 81, 62 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, @@ -1355,6 +1361,13 @@ static MapMarkData sMapMarkBottomWell[] = { }, // Bottom of the Well minimap 7 { + { MAP_MARK_CHEST, + 3, + { + { 2, 59, 28 }, + { 9, 36, 19 }, + { 16, 62, 38 }, + } }, { MAP_MARK_NONE, 0, { 0 } }, }, // Bottom of the Well minimap 8 @@ -1366,7 +1379,7 @@ static MapMarkData sMapMarkBottomWell[] = { { MAP_MARK_CHEST, 1, { - { 1, 74, 66 }, + { 7, 75, 66 }, } }, { MAP_MARK_NONE, 0, { 0 } }, }, diff --git a/src/overlays/misc/ovl_map_mark_data/z_map_mark_data_mq.c b/src/overlays/misc/ovl_map_mark_data/z_map_mark_data_mq.c new file mode 100644 index 0000000000..1fa95837a7 --- /dev/null +++ b/src/overlays/misc/ovl_map_mark_data/z_map_mark_data_mq.c @@ -0,0 +1,1444 @@ +#include "global.h" + +static MapMarkData sMapMarkDekuTree[] = { + // Deku Tree minimap 0 + { + { MAP_MARK_CHEST, + 1, + { + { 3, 71, 50 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 2 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 64, 62 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 3 + { + { MAP_MARK_CHEST, + 1, + { + { 4, 76, 37 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 5 + { + { MAP_MARK_CHEST, + 2, + { + { 0, 46, 50 }, + { 5, 76, 52 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 6 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 7 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 9 + { + { MAP_MARK_BOSS, + 1, + { + { -1, 50, 23 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 10 + { + { MAP_MARK_CHEST, + 2, + { + { 2, 46, 50 }, + { 6, 58, 60 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 11 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Deku Tree minimap 12 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkDodongosCavern[] = { + // Dodongo's Cavern minimap 0 + { + { MAP_MARK_CHEST, + 2, + { + { 0, 69, 14 }, + { 4, 69, 30 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 3 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 5 + { + { MAP_MARK_CHEST, + 1, + { + { 5, 54, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 6 + { + { MAP_MARK_CHEST, + 1, + { + { 2, 69, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 7 + { + { MAP_MARK_BOSS, + 1, + { + { -1, 37, 49 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 9 + { + { MAP_MARK_CHEST, + 1, + { + { 3, 59, 53 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 11 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 12 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 13 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 14 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 68, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 15 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 16 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 17 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Dodongo's Cavern minimap 18 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkJabuJabuBelly[] = { + // Jabu-Jabu's Belly minimap 0 + { + { MAP_MARK_CHEST, + 2, + { + { 3, 66, 50 }, + { 5, 72, 47 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 1 + { + { MAP_MARK_CHEST, + 1, + { + { 7, 72, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 3 + { + { MAP_MARK_CHEST, + 2, + { + { 4, 64, 62 }, + { 8, 79, 38 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 5 + { + { MAP_MARK_CHEST, + 1, + { + { 10, 64, 45 }, + } }, + { MAP_MARK_BOSS, + 1, + { + { -1, 67, 32 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 6 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 7 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 9 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 11 + { + { MAP_MARK_CHEST, + 1, + { + { 9, 68, 45 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 12 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 13 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 14 + { + { MAP_MARK_CHEST, + 2, + { + { 1, 79, 33 }, + { 6, 61, 41 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Jabu-Jabu's Belly minimap 15 + { + { MAP_MARK_CHEST, + 2, + { + { 0, 48, 57 }, + { 2, 77, 55 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkForestTemple[] = { + // Forest Temple minimap 0 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 3 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 5 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 6 + { + { MAP_MARK_CHEST, + 1, + { + { 0, 72, 57 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 7 + { + { MAP_MARK_CHEST, + 2, + { + { 1, 69, 39 }, + { 9, 62, 65 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 9 + { + { MAP_MARK_CHEST, + 1, + { + { 9, 71, 59 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 11 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 12 + { + { MAP_MARK_CHEST, + 1, + { + { 13, 80, 53 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 13 + { + { MAP_MARK_CHEST, + 1, + { + { 15, 49, 50 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 14 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 15 + { + { MAP_MARK_CHEST, + 1, + { + { 6, 65, 53 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 16 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 17 + { + { MAP_MARK_CHEST, + 1, + { + { 11, 39, 35 }, + } }, + { MAP_MARK_BOSS, + 1, + { + { -1, 53, 5 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 18 + { + { MAP_MARK_CHEST, + 1, + { + { 2, 65, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 19 + { + { MAP_MARK_CHEST, + 1, + { + { 14, 64, 31 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 20 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 21 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 22 + { + { MAP_MARK_CHEST, + 1, + { + { 3, 75, 53 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 23 + { + { MAP_MARK_CHEST, + 1, + { + { 12, 69, 52 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 24 + { + { MAP_MARK_CHEST, + 1, + { + { 5, 58, 27 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 25 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Forest Temple minimap 26 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkFireTemple[] = { + // Fire Temple minimap 0 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 2 + { + { MAP_MARK_CHEST, + 1, + { + { 7, 53, 70 }, + } }, + { MAP_MARK_BOSS, + 1, + { + { -1, 40, 47 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 3 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 4 + { + { MAP_MARK_CHEST, + 1, + { + { 11, 57, 48 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 5 + { + { MAP_MARK_CHEST, + 2, + { + { 3, 67, 73 }, + { 6, 58, 76 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 6 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 7 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 9 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 11 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 12 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 13 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 14 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 15 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 16 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 17 + { + { MAP_MARK_CHEST, + 2, + { + { 2, 78, 62 }, + { 12, 77, 58 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 18 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 19 + { + { MAP_MARK_CHEST, + 1, + { + { 4, 60, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 20 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 21 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 22 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 72, 68 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 23 + { + { MAP_MARK_CHEST, + 1, + { + { 8, 66, 57 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 24 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 25 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 26 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 27 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 28 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 29 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 30 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 31 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 32 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 33 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 34 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 35 + { + { MAP_MARK_CHEST, + 1, + { + { 5, 51, 61 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 36 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Fire Temple minimap 37 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkWaterTemple[] = { + // Water Temple minimap 0 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 2 + { + { MAP_MARK_CHEST, + 1, + { + { 6, 81, 68 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 3 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 5 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 6 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 7 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 9 + { + { MAP_MARK_CHEST, + 1, + { + { 5, 75, 55 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 11 + { + { MAP_MARK_BOSS, + 1, + { + { -1, 77, 40 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 12 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 13 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 14 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 15 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 16 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 17 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 18 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 74, 61 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 19 + { + { MAP_MARK_CHEST, + 1, + { + { 2, 73, 65 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 20 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 21 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 22 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 23 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 24 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 25 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 26 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 27 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 28 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 29 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 30 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 31 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 32 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 33 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 34 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 35 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 36 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 37 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 38 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 39 + { + { MAP_MARK_CHEST, + 1, + { + { 0, 73, 63 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 40 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 41 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 42 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Water Temple minimap 43 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkSpiritTemple[] = { + // Spirit Temple minimap 0 + { + { MAP_MARK_CHEST, + 4, + { + { 26, 27, 35 }, + { 27, 36, 35 }, + { 30, 27, 28 }, + { 31, 36, 28 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 1 + { + { MAP_MARK_CHEST, + 1, + { + { 29, 67, 63 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 3 + { + { MAP_MARK_CHEST, + 2, + { + { 0, 71, 62 }, + { 8, 71, 48 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 5 + { + { MAP_MARK_CHEST, + 2, + { + { 3, 56, 54 }, + { 15, 69, 42 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 6 + { + { MAP_MARK_CHEST, + 1, + { + { 28, 60, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 7 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 8 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 76, 40 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 9 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 11 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 12 + { + { MAP_MARK_CHEST, + 1, + { + { 7, 70, 53 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 13 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 14 + { + { MAP_MARK_CHEST, + 1, + { + { 4, 68, 42 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 15 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 16 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 17 + { + { MAP_MARK_CHEST, + 1, + { + { 25, 78, 58 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 18 + { + { MAP_MARK_CHEST, + 1, + { + { 24, 78, 58 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 19 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 20 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 21 + { + { MAP_MARK_CHEST, + 1, + { + { 5, 71, 55 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 22 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 23 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 24 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 25 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 26 + { + { MAP_MARK_CHEST, + 1, + { + { 18, 75, 54 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 27 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 28 + { + { MAP_MARK_CHEST, + 2, + { + { 6, 78, 55 }, + { 12, 70, 70 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 29 + { + { MAP_MARK_CHEST, + 1, + { + { 2, 76, 37 }, + } }, + { MAP_MARK_BOSS, + 1, + { + { -1, 57, 23 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 30 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 31 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Spirit Temple minimap 32 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkShadowTemple[] = { + // Shadow Temple minimap 0 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 1 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 77, 64 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 3 + { + { MAP_MARK_BOSS, + 1, + { + { -1, 77, 76 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 4 + { + { MAP_MARK_CHEST, + 1, + { + { 7, 76, 65 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 5 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 6 + { + { MAP_MARK_CHEST, + 2, + { + { 2, 83, 67 }, + { 14, 84, 59 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 7 + { + { MAP_MARK_CHEST, + 1, + { + { 3, 76, 67 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 9 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 10 + { + { MAP_MARK_CHEST, + 3, + { + { 4, 78, 62 }, + { 5, 74, 62 }, + { 6, 71, 68 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 11 + { + { MAP_MARK_CHEST, + 1, + { + { 9, 77, 64 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 12 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 13 + { + { MAP_MARK_CHEST, + 2, + { + { 10, 71, 65 }, + { 11, 80, 65 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 14 + { + { MAP_MARK_CHEST, + 1, + { + { 16, 73, 64 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 15 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 16 + { + { MAP_MARK_CHEST, + 2, + { + { 12, 87, 64 }, + { 22, 87, 68 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 17 + { + { MAP_MARK_CHEST, + 1, + { + { 13, 77, 66 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 18 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 19 + { + { MAP_MARK_CHEST, + 1, + { + { 21, 78, 66 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 20 + { + { MAP_MARK_CHEST, + 2, + { + { 8, 76, 66 }, + { 20, 78, 68 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 21 + { + { MAP_MARK_CHEST, + 1, + { + { 14, 77, 62 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 22 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 23 + { + { MAP_MARK_CHEST, + 1, + { + { 15, 56, 67 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 24 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 25 + { + { MAP_MARK_CHEST, + 1, + { + { 16, 73, 64 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Shadow Temple minimap 26 + { + { MAP_MARK_CHEST, + 1, + { + { 14, 77, 62 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkBottomWell[] = { + // Bottom of the Well minimap 0 + { + { MAP_MARK_CHEST, + 1, + { + { 3, 60, 18 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 3 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 4 + { + { MAP_MARK_CHEST, + 1, + { + { 2, 73, 61 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 5 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 6 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 7 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Bottom of the Well minimap 9 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 74, 66 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +static MapMarkData sMapMarkIceCavern[] = { + // Ice Cavern minimap 0 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 1 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 2 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 3 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 4 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 5 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 6 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 7 + { + { MAP_MARK_CHEST, + 1, + { + { 2, 71, 59 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 8 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 9 + { + { MAP_MARK_CHEST, + 1, + { + { 0, 48, 36 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 10 + { + { MAP_MARK_NONE, 0, { 0 } }, + }, + // Ice Cavern minimap 11 + { + { MAP_MARK_CHEST, + 1, + { + { 1, 73, 67 }, + } }, + { MAP_MARK_NONE, 0, { 0 } }, + }, +}; + +MapMarkData* gMapMarkDataTable[] = { + sMapMarkDekuTree, sMapMarkDodongosCavern, sMapMarkJabuJabuBelly, sMapMarkForestTemple, sMapMarkFireTemple, + sMapMarkWaterTemple, sMapMarkSpiritTemple, sMapMarkShadowTemple, sMapMarkBottomWell, sMapMarkIceCavern, +}; diff --git a/tools/msgdis.py b/tools/msgdis.py index 89447afdbc..dd0da006b6 100755 --- a/tools/msgdis.py +++ b/tools/msgdis.py @@ -426,7 +426,7 @@ def main(): parser = argparse.ArgumentParser( description="Extract text from the baserom into .h files" ) - parser.add_argument("--oot-version", help="OOT version", default="gc-eu-mq-dbg", choices=["gc-eu-mq", "gc-eu-mq-dbg"]) + parser.add_argument("--oot-version", help="OOT version", default="gc-eu-mq-dbg") parser.add_argument("--text-out", help="Path to output .h file for text") parser.add_argument( "--staff-text-out", help="Path to output .h file for staff text" @@ -449,6 +449,12 @@ def main(): fra_message_entry_table_addr = 0x00B84C28 staff_message_entry_table_addr = 0x00B86D38 staff_message_entry_table_addr_end = 0x00B86EC0 + elif version == "gc-eu": + nes_message_entry_table_addr = 0x00B7E910 + ger_message_entry_table_addr = 0x00B82B38 + fra_message_entry_table_addr = 0x00B84C48 + staff_message_entry_table_addr = 0x00B86D58 + staff_message_entry_table_addr_end = 0x00B86EE0 else: parser.error("Unsupported OOT version")