diff --git a/Makefile b/Makefile index c00c99d..7cd24ec 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ ALL_LDFLAGS = -T $(LDSCRIPT) -L$(LIBDIR) -nostartfiles -specs=nosys.sp ALL_LDLIBS = $(LDLIBS) LUAFILE = $(EMUDIR)/Lua/patch-data.lua RESDESC = $(RESDIR)/resources.json -GZ_VERSIONS = oot-1.0 oot-1.1 oot-1.2 oot-mq-j oot-mq-u oot-gc-j oot-gc-u oot-ce-j oot-ique-cn oot-1.0-vc oot-1.1-vc oot-1.2-vc oot-mq-j-vc oot-mq-u-vc oot-gc-j-vc oot-gc-u-vc oot-ce-j-vc +GZ_VERSIONS = oot-gc-eu oot-gc-eu-vc GZ_ADDRESS = 80400000 SRCDIR = src RESDIR = res @@ -49,6 +49,7 @@ OBJ-OOT-GC-J = $(OBJ-gz-oot-gc-j) $(OBJ-gz-oot-gc-j-vc) OBJ-OOT-GC-U = $(OBJ-gz-oot-gc-u) $(OBJ-gz-oot-gc-u-vc) OBJ-OOT-CE-J = $(OBJ-gz-oot-ce-j) $(OBJ-gz-oot-ce-j-vc) OBJ-OOT-IQUE-CN = $(OBJ-gz-oot-ique-cn) +OBJ-OOT-GC-EU = $(OBJ-gz-oot-gc-eu) $(OBJ-gz-oot-gc-eu-vc) ELF-OOT-1.0 = $(ELF-gz-oot-1.0) $(ELF-gz-oot-1.0-vc) ELF-OOT-1.1 = $(ELF-gz-oot-1.1) $(ELF-gz-oot-1.1-vc) ELF-OOT-1.2 = $(ELF-gz-oot-1.2) $(ELF-gz-oot-1.2-vc) @@ -57,11 +58,12 @@ ELF-OOT-MQ-U = $(ELF-gz-oot-mq-u) $(ELF-gz-oot-mq-u-vc) ELF-OOT-GC-J = $(ELF-gz-oot-gc-j) $(ELF-gz-oot-gc-j-vc) ELF-OOT-GC-U = $(ELF-gz-oot-gc-u) $(ELF-gz-oot-gc-u-vc) ELF-OOT-CE-J = $(ELF-gz-oot-ce-j) $(ELF-gz-oot-ce-j-vc) +ELF-OOT-GC-EU = $(ELF-gz-oot-gc-eu) $(ELF-gz-oot-gc-eu-vc) ELF-OOT-IQUE-CN = $(ELF-gz-oot-ique-cn) -OBJ-N64 = $(OBJ-gz-oot-1.0) $(OBJ-gz-oot-1.1) $(OBJ-gz-oot-1.2) $(OBJ-gz-oot-mq-j) $(OBJ-gz-oot-mq-u) $(OBJ-gz-oot-gc-j) $(OBJ-gz-oot-gc-u) $(OBJ-gz-oot-ce-j) $(OBJ-gz-oot-ique-cn) -OBJ-VC = $(OBJ-gz-oot-1.0-vc) $(OBJ-gz-oot-1.1-vc) $(OBJ-gz-oot-1.2-vc) $(OBJ-gz-oot-mq-j-vc) $(OBJ-gz-oot-mq-u-vc) $(OBJ-gz-oot-gc-j-vc) $(OBJ-gz-oot-gc-u-vc) $(OBJ-gz-oot-ce-j-vc) -ELF-N64 = $(ELF-gz-oot-1.0) $(ELF-gz-oot-1.1) $(ELF-gz-oot-1.2) $(ELF-gz-oot-mq-j) $(ELF-gz-oot-mq-u) $(ELF-gz-oot-gc-j) $(ELF-gz-oot-gc-u) $(ELF-gz-oot-ce-j) $(ELF-gz-oot-ique-cn) -ELF-VC = $(ELF-gz-oot-1.0-vc) $(ELF-gz-oot-1.1-vc) $(ELF-gz-oot-1.2-vc) $(ELF-gz-oot-mq-j-vc) $(ELF-gz-oot-mq-u-vc) $(ELF-gz-oot-gc-j-vc) $(ELF-gz-oot-gc-u-vc) $(ELF-gz-oot-ce-j-vc) +OBJ-N64 = $(OBJ-gz-oot-1.0) $(OBJ-gz-oot-1.1) $(OBJ-gz-oot-1.2) $(OBJ-gz-oot-mq-j) $(OBJ-gz-oot-mq-u) $(OBJ-gz-oot-gc-j) $(OBJ-gz-oot-gc-u) $(OBJ-gz-oot-ce-j) $(OBJ-gz-oot-ique-cn) $(OBJ-gz-oot-gc-eu) +OBJ-VC = $(OBJ-gz-oot-1.0-vc) $(OBJ-gz-oot-1.1-vc) $(OBJ-gz-oot-1.2-vc) $(OBJ-gz-oot-mq-j-vc) $(OBJ-gz-oot-mq-u-vc) $(OBJ-gz-oot-gc-j-vc) $(OBJ-gz-oot-gc-u-vc) $(OBJ-gz-oot-ce-j-vc) $(OBJ-gz-oot-gc-eu-vc) +ELF-N64 = $(ELF-gz-oot-1.0) $(ELF-gz-oot-1.1) $(ELF-gz-oot-1.2) $(ELF-gz-oot-mq-j) $(ELF-gz-oot-mq-u) $(ELF-gz-oot-gc-j) $(ELF-gz-oot-gc-u) $(ELF-gz-oot-ce-j) $(ELF-gz-oot-ique-cn) $(ELF-gz-oot-gc-eu) +ELF-VC = $(ELF-gz-oot-1.0-vc) $(ELF-gz-oot-1.1-vc) $(ELF-gz-oot-1.2-vc) $(ELF-gz-oot-mq-j-vc) $(ELF-gz-oot-mq-u-vc) $(ELF-gz-oot-gc-j-vc) $(ELF-gz-oot-gc-u-vc) $(ELF-gz-oot-ce-j-vc) $(ELF-gz-oot-gc-eu-vc) GZ = $(foreach v,$(GZ_VERSIONS),gz-$(v)) HOOKS = $(foreach v,$(GZ_VERSIONS),gz-$(v)-hooks) @@ -166,6 +168,7 @@ $(OBJ-OOT-GC-J) : ALL_CPPFLAGS += -DZ64_VERSION=Z64_OOTGCJ $(OBJ-OOT-GC-U) : ALL_CPPFLAGS += -DZ64_VERSION=Z64_OOTGCU $(OBJ-OOT-CE-J) : ALL_CPPFLAGS += -DZ64_VERSION=Z64_OOTCEJ $(OBJ-OOT-IQUE-CN) : ALL_CPPFLAGS += -DZ64_VERSION=Z64_OOTIQC +$(OBJ-OOT-GC-EU) : ALL_CPPFLAGS += -DZ64_VERSION=Z64_OOTGCEU $(ELF-OOT-1.0) : ALL_LDLIBS += -loot-1.0 $(ELF-OOT-1.1) : ALL_LDLIBS += -loot-1.1 $(ELF-OOT-1.2) : ALL_LDLIBS += -loot-1.2 @@ -175,6 +178,7 @@ $(ELF-OOT-GC-J) : ALL_LDLIBS += -loot-gc-j $(ELF-OOT-GC-U) : ALL_LDLIBS += -loot-gc-u $(ELF-OOT-CE-J) : ALL_LDLIBS += -loot-ce-j $(ELF-OOT-IQUE-CN) : ALL_LDLIBS += -loot-ique-cn +$(ELF-OOT-GC-EU) : ALL_LDLIBS += -loot-gc-eu ifeq '$(target)' 'mips64-ultra-elf' $(OBJ-VC) : ALL_CFLAGS += -n64-wiivc $(OBJ-VC) : ALL_CXXFLAGS += -n64-wiivc diff --git a/gsc/oot-gc-eu/mem_patch.gsc b/gsc/oot-gc-eu/mem_patch.gsc new file mode 100644 index 0000000..9c4e560 --- /dev/null +++ b/gsc/oot-gc-eu/mem_patch.gsc @@ -0,0 +1,2 @@ +810004D4 3C02 +810004D6 0040 diff --git a/gsc/oot-gc-eu/ups_size_patch.gsc b/gsc/oot-gc-eu/ups_size_patch.gsc new file mode 100644 index 0000000..e69de29 diff --git a/lib/liboot-gc-eu.a b/lib/liboot-gc-eu.a new file mode 100644 index 0000000..a9153ca --- /dev/null +++ b/lib/liboot-gc-eu.a @@ -0,0 +1,186 @@ +entrypoint = 0x80000400 ; +__osPiGetAccess = 0x800019B0 ; +__osPiRelAccess = 0x800019F4 ; +osSendMesg = 0x80001A20 ; +osStopThread = 0x80001B70 ; +osRecvMesg = 0x80001C40 ; +osCreateThread = 0x80002F10 ; +osSetEventMesg = 0x80003BE0 ; +osCreateMesgQueue = 0x80003E10 ; +osStartThread = 0x80005C60 ; +z64_thread_idle = 0x80006590 ; +z64_thread_main = 0x80006F60 ; +z64_thread_dmamgr = 0x80007C28 ; +z64_file_mq = 0x80007B90 ; +__osEventStateTab = 0x80009C30 ; +__osViIntrCount = 0x80009CDC ; +z64_ftab = 0x8000AF90 ; +z64_Actor_UpdateBgCheckInfo = 0x80021C8C ; +z64_DrawActors = 0x8002490C ; +z64_SpawnActor = 0x80024F68 ; +z64_SpawnActorAttachedB = 0x80025248 ; +z64_CreateStaticCollision = 0x8002E4BC ; +z64_camera_hook = 0x800485FC ; +z64_Camera_ChangeMode = 0x80048EFC ; +z64_Math_SinS = 0x80063314 ; +z64_Math_CosS = 0x800632D4 ; +z64_LoadMinimap = 0x8006BAA4 ; +z64_SwitchAgeEquips = 0x8006F2BC ; +z64_UpdateItemButton = 0x8006F608 ; +z64_LoadActionLabel = 0x80071804 ; +z64_UpdateEquipment = 0x80079284 ; +z64_InitPauseObjects = 0x8007BBE4 ; +z64_LoadRoom = 0x80080588 ; +z64_room_load_sync_hook = 0x800806EC ; +z64_DrawRoom = 0x80080764 ; +z64_UnloadRoom = 0x800807B4 ; +z64_Sram_LoadDebugSave = 0x8008FE2C ; +z64_Io = 0x800912A4 ; +z64_CreateSkyGfx = 0x80095868 ; +z64_CreateSkyVtx = 0x80095A18 ; +z64_entrance_offset_hook = 0x8009A7BC ; +z64_srand_call = 0x8009AA08 ; +z64_draw_room_1_call = 0x8009C4E8 ; +z64_draw_room_2_call = 0x8009C500 ; +z64_draw_actors_call = 0x8009C5D4 ; +z64_StopSfx = 0x8009FE50 ; +z64_UpdateCtxtInput = 0x800A06D4 ; +z64_main_hook = 0x800A0728 ; +z64_disp_swap_1 = 0x800A0C48 ; +z64_disp_swap_2 = 0x800A0C60 ; +z64_disp_swap_3 = 0x800A0C78 ; +z64_disp_swap_4 = 0x800A0C94 ; +z64_frame_input_call = 0x800A118C ; +z64_ocarina_update_call = 0x800A131C ; +z64_GetInput = 0x800A221C ; +z64_AfxCmdF = 0x800BB9F8 ; +z64_AfxCmdW = 0x800BBA1C ; +z64_FlushAfxCmd = 0x800BBAA0 ; +z64_ConfigureAfx = 0x800BBEA8 ; +z64_AfxRand = 0x800BC6E0 ; +z64_ocarina_input_call = 0x800C2940 ; +z64_afx_rand_call = 0x800C4538 ; +z64_ocarina_sync = 0x800C4634 ; +z64_OcarinaUpdate = 0x800C48B0 ; +z64_ResetAudio = 0x800C8964 ; +z64_Audio_PlaySfxGeneral = 0x800C8B3C ; +z64_Audio_IsSfxPlaying = 0x800CA644 ; +z64_CheckAfxConfigBusy = 0x800CC268 ; +z64_LoadOverlay = 0x800CD500 ; +z64_SeedRandom = 0x800CE4B0 ; +z64_guPerspectiveF_hook = 0x800D10C8 ; +z64_guPerspective_camo = 0x800D1300 ; +osGetCurrFaultedThread = 0x800D6540 ; +z64_metronome_start_1 = 0x800DDF48 ; +z64_metronome_start_2 = 0x800DE230 ; +z64_metronome_check_1 = 0x800DE2A0 ; +z64_part_space = 0x800E49B0 ; +z64_part_pos = 0x800E49B4 ; +z64_part_max = 0x800E49B8 ; +z64_part_ovl_tab = 0x800E4AB0 ; +z64_actor_ovl_tab = 0x800E53A0 ; +z_camera_c_data = 0x800E8FE0 ; +z64_hud_state = 0x800EC018 ; +z64_event_state_1 = 0x800EC020 ; +z64_letterbox_time = 0x800EC068 ; +z64_event_state_2 = 0x800EC06C ; +z64_event_camera = 0x800EC0C4 ; +z64_oob_timer = 0x800EC51C ; +z64_cs_message = 0x800ECB40 ; +z64_state_ovl_tab = 0x800EE1B0 ; +z64_weather_state = 0x800EE4B0 ; +z64_day_speed = 0x800EE4C0 ; +z64_sky_images = 0x800EE6BC ; +z64_light_handlers = 0x800EE9B0 ; +z64_map_mark_ovl = 0x800EEA68 ; +z_onepointdemo_c_data = 0x800EEA80 ; +z64_dins_state_1 = 0x800EEA88 ; +z64_dins_state_2 = 0x800F1A8C ; +z64_minimap_entrance_x = 0x800F23A0 ; +z64_minimap_entrance_y = 0x800F23A4 ; +z64_minimap_entrance_r = 0x800F23A8 ; +z64_hazard_state = 0x800F43A8 ; +z64_temp_day_speed = 0x800F44B4 ; +z64_n_camera_shake = 0x800F4BA4 ; +z64_object_table = 0x800F5E78 ; +z64_entrance_table = 0x800F6B10 ; +z64_scene_table = 0x800F8360 ; +z64_scene_config_table = 0x800F8C44 ; +z64_letterbox_target = 0x800FB2F4 ; +z64_letterbox_current = 0x800FB2F8 ; +z64_play_ovl_tab = 0x800FB300 ; +z64_play_ovl_ptr = 0x800FB33C ; +code_800EC960_c_data = 0x800FE260 ; +z64_sound_state = 0x800FE2F4 ; +z64_night_sfx = 0x800FE3C8 ; +z64_ocarina_state = 0x800FEBF8 ; +z64_song_play_counter = z64_ocarina_state + 0x005C ; +z64_ocarina_song_length = z64_ocarina_state + 0x0068 ; +z64_scarecrow_song = 0x800FF3EC ; +z64_song_ptr = 0x800FF52C ; +z64_song_rec_counter = 0x800FF54C ; +z64_ocarina_button_state = 0x800FF56C ; +z64_sfx_write_pos = 0x80100D50 ; +z64_sfx_read_pos = 0x80100D54 ; +z64_audio_cmd_write_pos = 0x80100DA0 ; +z64_audio_cmd_read_pos = 0x80100DA4 ; +z64_afx_cfg = 0x80100DB0 ; +z64_afx_config_busy = 0x80100DB4 ; +z64_random = 0x80101E50 ; +z64_message_state = 0x801077E4 ; +z64_textbox_skipped = z64_message_state + 0xC ; +z64_staff_notes = 0x8010FE3C ; +z64_message_select_state = 0x8010FE74 ; +z64_message_icon_state = 0x8010FED0 ; +z64_message_note_icon_state = 0x801101C8 ; +z64_gameover_countdown = 0x80110260 ; +gspF3DEX2_NoN_fifoTextStart = 0x80111310 ; +gspF3DEX2_NoN_fifoDataStart = 0x80112940 ; +z64_pfx = 0x80113160 ; +z64_fw_state_1 = 0x80116F78 ; +z64_fw_state_2 = 0x80116F80 ; +z64_camera_state = 0x801171C0 ; +z64_file = 0x80118958 ; +z64_gameinfo = 0x80119D80 ; +z64_cs_state = 0x80119FA0 ; +z64_light_queue = 0x8011A0E0 ; +z64_game_arena = 0x8011A270 ; +z64_map_mark_data_tab = 0x8011A2A0 ; +z64_timer_state = 0x8011A2C0 ; +z64_camera_shake = 0x8011A300 ; +z64_poly_colorfilter_state = 0x8011B4E8 ; +z64_stab = 0x8011B668 ; +z64_thread_sched = 0x8011B718 ; +z64_thread_padmgr = 0x8011B980 ; +z64_input_direct = 0x8011BB30 ; +z64_thread_irqmgr = 0x8011BE00 ; +z64_thread_graph = 0x8011BFE8 ; +z64_thread_audio = 0x8011F320 ; +z64_mtx_stack = 0x8011F7C0 ; +z64_mtx_stack_top = 0x8011F7C4 ; +z64_thread_fault = 0x8011FDF8 ; +code_800EC960_c_bss = 0x80120770 ; +z64_song_state = 0x801208BC; +z64_ocarina_counter = z64_song_state + 0x0010 ; +z64_sfx_mute = 0x80123104 ; +z64_audio_cmd_buf = 0x801231B0 ; +z64_seq_ctl = 0x801235B0 ; +z64_afx = 0x80123FE0 ; +z64_afx_counter = z64_afx + 0x289C ; +z64_afx_cmd_write_pos = z64_afx + 0x5BD8 ; +z64_afx_cmd_read_pos = z64_afx + 0x5BD9 ; +z64_afx_cmd_buf = z64_afx + 0x5C50 ; +z_message_c_bss = 0x8012A800 ; +z64_zimg = 0x8012A840 ; +z64_disp = 0x80169040 ; +z64_ctxt = 0x801C6E60 ; +z64_game = z64_ctxt ; +z64_link = 0x801D93B0 ; +z64_cimg = 0x803B5000 ; +z64_item_highlight_vram = 0x80828824 ; +ovl_En_Skj = 0x80ADD870 ; +z64_metronome_check_2 = ovl_En_Skj + 0x29F4 ; +z64_metronome_check_3 = ovl_En_Skj + 0x2A3C ; +z64_metronome_check_4 = ovl_En_Skj + 0x2AC4 ; +ovl_En_Bom_Chu = 0x809B2180 ; +z64_bombchu_floor_poly_hook = ovl_En_Bom_Chu + 0x654 ; diff --git a/lua/rom_table.lua b/lua/rom_table.lua index 4a81341..a59c135 100644 --- a/lua/rom_table.lua +++ b/lua/rom_table.lua @@ -234,6 +234,27 @@ rom_table = patches = { "mem_patch", "ups_size_patch" }, title_id = "NGEJ", }, + [0x3FBD519F] = { + game = "oot", + version = "gc", + region = "eu", + boot_ind = 1, + boot_ram = 0x80000460, + code_ind = 28, + code_ram = 0x80010F00, + ovl_tbls = { + part = { addr = 0x800E4AB0 }, + actor = { addr = 0x800E53A0 }, + state = { addr = 0x800EE1B0 }, + map_mark = { addr = 0x800EEA68 }, + play = { addr = 0x800FB300 }, + }, + data_dir = "oot-gc-eu", + gz_version = "oot-gc-eu" .. version_suffix, + gz_name = "gz-oot-gc-eu" .. version_suffix, + patches = { "mem_patch", "ups_size_patch" }, + title_id = "NGPL", + }, [0xF45C5532] = { game = "oot", version = "ique", diff --git a/src/gz/gz_file.c b/src/gz/gz_file.c index ef43b7d..a056b1f 100644 --- a/src/gz/gz_file.c +++ b/src/gz/gz_file.c @@ -22,6 +22,8 @@ #define LANGS "japanese\0""english\0" #elif Z64_VERSION == Z64_OOTIQC #define LANGS "japanese\0""chinese\0" +#elif Z64_VERSION == Z64_OOTGCEU +#define LANGS "english\0""french\0""german\0" #endif static int byte_mod_proc(struct menu_item *item, diff --git a/src/gz/input.c b/src/gz/input.c index 528a3e9..3b7f5a6 100644 --- a/src/gz/input.c +++ b/src/gz/input.c @@ -89,7 +89,8 @@ const uint32_t input_button_color[] = Z64_VERSION == Z64_OOTMQU || \ Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ - Z64_VERSION == Z64_OOTCEJ + Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU 0x787878, 0xC0C0C0, 0xFF1E1E, diff --git a/src/gz/ldr.S b/src/gz/ldr.S index bdc18d8..ed20ccb 100644 --- a/src/gz/ldr.S +++ b/src/gz/ldr.S @@ -11,7 +11,8 @@ Z64_VERSION == Z64_OOTMQU || \ Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ - Z64_VERSION == Z64_OOTCEJ + Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU .equ entry_size, 0x60 #elif Z64_VERSION == Z64_OOTIQC .equ entry_size, 0x50 diff --git a/src/gz/state.c b/src/gz/state.c index 0830def..da676f3 100644 --- a/src/gz/state.c +++ b/src/gz/state.c @@ -74,6 +74,7 @@ static void save_ovl(void **p, void *addr, Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU || \ Z64_VERSION == Z64_OOTIQC z64_ovl_hdr_t l_hdr; hdr = &l_hdr; @@ -165,6 +166,7 @@ static void load_ovl(void **p, void **p_addr, Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU || \ Z64_VERSION == Z64_OOTIQC z64_ovl_hdr_t l_hdr; hdr = &l_hdr; @@ -1282,6 +1284,7 @@ uint32_t save_state(struct state_meta *state) Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU || \ Z64_VERSION == Z64_OOTIQC serial_write(&p, &code_800EC960_c_data[0x0998], 0x0060); /* 12b overhead */ serial_write(&p, &code_800EC960_c_data[0x0A00], 0x0008); @@ -1757,14 +1760,19 @@ void load_state(const struct state_meta *state) zu_getfile(vaddr, z64_game.pause_ctxt.name_texture, 0x0400); } } - if (z64_file.language == 0) { - zu_getfile_idx(z64_icon_item_jpn_static, - z64_game.pause_ctxt.icon_item_lang); - } - else { - zu_getfile_idx(z64_icon_item_nes_static, + #if Z64_VERSION == Z64_OOTGCEU + zu_getfile_idx(z64_icon_item_nes_static, z64_game.pause_ctxt.icon_item_lang); - } + #else + if (z64_file.language == 0) { + zu_getfile_idx(z64_icon_item_jpn_static, + z64_game.pause_ctxt.icon_item_lang); + } + else { + zu_getfile_idx(z64_icon_item_nes_static, + z64_game.pause_ctxt.icon_item_lang); + } + #endif zu_getfile_idx(z64_icon_item_static, z64_game.pause_ctxt.icon_item); zu_getfile_idx(z64_icon_item_24_static, z64_game.pause_ctxt.icon_item_24); /* gray out restricted items */ @@ -2269,6 +2277,7 @@ void load_state(const struct state_meta *state) Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU || \ Z64_VERSION == Z64_OOTIQC serial_read(&p, &code_800EC960_c_data[0x0998], 0x0060); /* 12b overhead */ serial_read(&p, &code_800EC960_c_data[0x0A00], 0x0008); diff --git a/src/gz/z64.h b/src/gz/z64.h index 7de8b68..f99607c 100644 --- a/src/gz/z64.h +++ b/src/gz/z64.h @@ -57,6 +57,7 @@ struct z64_arena Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU || \ Z64_VERSION == Z64_OOTIQC /* 0x0008 */ #endif @@ -85,6 +86,7 @@ struct z64_arena_node Z64_VERSION == Z64_OOTGCJ || \ Z64_VERSION == Z64_OOTGCU || \ Z64_VERSION == Z64_OOTCEJ || \ + Z64_VERSION == Z64_OOTGCEU || \ Z64_VERSION == Z64_OOTIQC char data[]; /* 0x0010 */ #endif @@ -2191,6 +2193,70 @@ typedef struct # define z64_vr_TTVR_pal_static 1001 # define z64_vr_FCVR_static 1002 # define z64_vr_FCVR_pal_static 1003 +#elif Z64_VERSION == Z64_OOTGCEU +# define z64_icon_item_static 7 +# define z64_icon_item_24_static 8 +# define z64_icon_item_field_static 9 +# define z64_icon_item_dungeon_static 10 +# define z64_icon_item_gameover_static 11 +# define z64_icon_item_nes_static 12 +# define z64_item_name_static 15 +# define z64_map_name_static 16 +# define z64_message_static 18 +# define z64_message_texture_static 19 +# define z64_nes_font_static 20 +# define z64_map_48x85_static 26 +# define z64_parameter_static 940 +# define z64_vr_cloud2_static 952 +# define z64_vr_cloud2_pal_static 954 +# define z64_vr_holy0_static 957 +# define z64_vr_holy0_pal_static 958 +# define z64_vr_holy1_static 959 +# define z64_vr_holy1_pal_static 960 +# define z64_vr_MDVR_static 961 +# define z64_vr_MDVR_pal_static 962 +# define z64_vr_MNVR_static 963 +# define z64_vr_MNVR_pal_static 964 +# define z64_vr_RUVR_static 965 +# define z64_vr_RUVR_pal_static 966 +# define z64_vr_LHVR_static 967 +# define z64_vr_LHVR_pal_static 968 +# define z64_vr_KHVR_static 969 +# define z64_vr_KHVR_pal_static 970 +# define z64_vr_K3VR_static 971 +# define z64_vr_K3VR_pal_static 972 +# define z64_vr_K4VR_static 973 +# define z64_vr_K4VR_pal_static 974 +# define z64_vr_K5VR_static 975 +# define z64_vr_K5VR_pal_static 976 +# define z64_vr_SP1a_static 977 +# define z64_vr_SP1a_pal_static 978 +# define z64_vr_MLVR_static 979 +# define z64_vr_MLVR_pal_static 980 +# define z64_vr_KKRVR_static 981 +# define z64_vr_KKRVR_pal_static 982 +# define z64_vr_KR3VR_static 983 +# define z64_vr_KR3VR_pal_static 984 +# define z64_vr_IPVR_static 985 +# define z64_vr_IPVR_pal_static 986 +# define z64_vr_KSVR_static 987 +# define z64_vr_KSVR_pal_static 988 +# define z64_vr_GLVR_static 989 +# define z64_vr_GLVR_pal_static 990 +# define z64_vr_ZRVR_static 991 +# define z64_vr_ZRVR_pal_static 992 +# define z64_vr_DGVR_static 993 +# define z64_vr_DGVR_pal_static 994 +# define z64_vr_ALVR_static 995 +# define z64_vr_ALVR_pal_static 996 +# define z64_vr_NSVR_static 997 +# define z64_vr_NSVR_pal_static 998 +# define z64_vr_LBVR_static 999 +# define z64_vr_LBVR_pal_static 1000 +# define z64_vr_TTVR_static 1001 +# define z64_vr_TTVR_pal_static 1002 +# define z64_vr_FCVR_static 1003 +# define z64_vr_FCVR_pal_static 1004 #endif /* data */ diff --git a/src/gz/z64_version.h b/src/gz/z64_version.h index 51c3d00..be04322 100644 --- a/src/gz/z64_version.h +++ b/src/gz/z64_version.h @@ -14,5 +14,6 @@ #define Z64_OOTGCU 0x06 #define Z64_OOTCEJ 0x07 #define Z64_OOTIQC 0x08 +#define Z64_OOTGCEU 0x09 #endif