Added support for multiple game versions (#107)

* WIP Multiversion support

* GC PAL Non-MQ support complete

* Updated OtrGui to handle different game versions

* Added version file

* Added new extract mode to ZAPD and optimized OTR gen time

* Fixed bug causing crash

* Further optimized OTRExporter, saving around ~20 seconds.

* ZAPD is now multi-threaded.

* Fixed merge issue

* Fixed memory leak and fog issue on pause screen.

* Additional fog fixes.

Co-authored-by: Jack Walker <7463599+Jack-Walker@users.noreply.github.com>
This commit is contained in:
Nicholas Estelami
2022-03-31 19:42:44 -04:00
committed by GitHub
parent 572e9fb9d0
commit c80f9fbd57
1203 changed files with 30620 additions and 501 deletions

View File

@@ -0,0 +1,8 @@
<Root>
<File Name="entra_scene" Segment="2">
<Scene Name="entra_scene" Offset="0x0"/>
</File>
<File Name="entra_room_0" Segment="3">
<Room Name="entra_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,16 @@
<Root>
<File Name="souko_scene" Segment="2">
<Texture Name="gLonLonHouseDayEntranceTex" OutName="day_entrance" Format="ia16" Width="64" Height="4" Offset="0x5210"/>
<Texture Name="gLonLonHouseNightEntranceTex" OutName="night_entrance" Format="ia16" Width="64" Height="4" Offset="0x5010"/>
<Scene Name="souko_scene" Offset="0x0"/>
</File>
<File Name="souko_room_0" Segment="3">
<Room Name="souko_room_0" Offset="0x0"/>
</File>
<File Name="souko_room_1" Segment="3">
<Room Name="souko_room_1" Offset="0x0"/>
</File>
<File Name="souko_room_2" Segment="3">
<Room Name="souko_room_2" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,18 @@
<Root>
<File Name="spot00_scene" Segment="2">
<Cutscene Name="gHyruleFieldGetOoTCs" Offset="0xBB80"/>
<Cutscene Name="gHyruleFieldZeldaSongOfTimeCs" Offset="0xF870"/>
<Cutscene Name="gHyruleFieldEastEponaJumpCs" Offset="0xFF00"/>
<Cutscene Name="gHyruleFieldIntroCs" Offset="0x13AA0"/>
<Cutscene Name="gHyruleFieldSouthEponaJumpCs" Offset="0xF9E0"/>
<Cutscene Name="gHyruleFieldWestEponaJumpCs" Offset="0x10550"/>
<Cutscene Name="gHyruleFieldGateEponaJumpCs" Offset="0x10B30"/>
<Path Name="spot00_scenePathway_011AB4" Offset="0x11AB4" NumPaths="2"/>
<Scene Name="spot00_scene" Offset="0x0"/>
<Texture Name="spot00_scene_Tex_02A198" Format="ia8" Width="8" Height="16" Offset="0x2A198"/>
</File>
<File Name="spot00_room_0" Segment="3">
<Room Name="spot00_room_0" Offset="0x0"/>
<DList Name="spot00_room_0DL_012B20" Offset="0x12B20"/>
</File>
</Root>

View File

@@ -0,0 +1,13 @@
<Root>
<File Name="spot01_scene" Segment="2">
<Path Name="gKakarikoVillagePath_003D0" Offset="0x3D0" NumPaths="3"/>
<Cutscene Name="gKakarikoVillageIntroCs" Offset="0xA540"/>
<Texture Name="gKakarikoVillageDayWindowTex" OutName="day_window" Format="rgba16" Width="32" Height="64" Offset="0x15B50"/>
<Texture Name="gKakarikoVillageNightWindowTex" OutName="night_window" Format="rgba16" Width="32" Height="64" Offset="0x16B50"/>
<Scene Name="spot01_scene" Offset="0x0"/>
</File>
<File Name="spot01_room_0" Segment="3">
<DList Name="gSpot01DL_009E38" Offset="0x9E38"/>
<Room Name="spot01_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,17 @@
<Root>
<File Name="spot02_scene" Segment="2">
<Scene Name="spot02_scene" Offset="0x0"/>
<Cutscene Name="spot02_scene_Cs_003C80" Offset="0x3C80"/>
<Cutscene Name="spot02_scene_Cs_005020" Offset="0x5020"/>
<Cutscene Name="gGraveyardIntroCs" Offset="0x70C0"/>
</File>
<File Name="spot02_room_0" Segment="3">
<DList Name="gSpot02DL_0026D0" Offset="0x26D0"/>
<Room Name="spot02_room_0" Offset="0x0"/>
</File>
<File Name="spot02_room_1" Segment="3">
<Room Name="spot02_room_1" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,15 @@
<Root>
<File Name="spot03_scene" Segment="2">
<Path Name="gSpot03Path_0002BC" Offset="0x2BC" NumPaths="2"/>
<Path Name="gSpot03Path_006908" Offset="0x6908" NumPaths="3"/>
<Scene Name="spot03_scene" Offset="0x0"/>
</File>
<File Name="spot03_room_0" Segment="3">
<Room Name="spot03_room_0" Offset="0x0"/>
</File>
<File Name="spot03_room_1" Segment="3">
<DList Name="gSpot03DL_0074E8" Offset="0x74E8"/>
<Room Name="spot03_room_1" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,21 @@
<Root>
<File Name="spot04_scene" Segment="2">
<Path Name="gSpot04Path_00030C" Offset="0x30C" NumPaths="3"/>
<Path Name="gSpot04Path_00D730" Offset="0xD730"/>
<Cutscene Name="gKokiriForestDekuSproutCs" Offset="0xC9D0"/>
<Cutscene Name="gSpot04Cs_10E20" Offset="0x10E20"/>
<Scene Name="spot04_scene" Offset="0x0"/>
</File>
<File Name="spot04_room_0" Segment="3">
<Room Name="spot04_room_0" Offset="0x0"/>
</File>
<File Name="spot04_room_1" Segment="3">
<Room Name="spot04_room_1" Offset="0x0"/>
</File>
<File Name="spot04_room_2" Segment="3">
<DList Name="gSpot04DL_002BB8" Offset="0x2BB8"/>
<DList Name="gSpot04DL_005058" Offset="0x5058"/>
<Room Name="spot04_room_2" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,16 @@
<Root>
<File Name="spot05_scene" Segment="2">
<Cutscene Name="gMinuetCs" Offset="0x3F80"/>
<Cutscene Name="spot05_scene_Cs_005730" Offset="0x5730"/>
<Path Name="gSpot05Path_0069D8" Offset="0x69D8" NumPaths="5"/>
<Scene Name="spot05_scene" Offset="0x0"/>
</File>
<File Name="spot05_room_0" Segment="3">
<DList Name="gSpot05DL_009A60" Offset="0x9A60"/>
<DList Name="gSpot05DL_009EE0" Offset="0x9EE0"/>
<Room Name="spot05_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,15 @@
<Root>
<File Name="spot06_scene" Segment="2">
<Cutscene Name="gLakeHyliaFireArrowsCS" Offset="0x7020"/>
<Cutscene Name="gLakeHyliaOwlCs" Offset="0x1B0C0"/>
<Path Name="gSpot06Path_007764" Offset="0x7764" NumPaths="2"/>
<Cutscene Name="gLakeHyliaIntroCs" Offset="0x7A30"/>
<Scene Name="spot06_scene" Offset="0x0"/>
</File>
<File Name="spot06_room_0" Segment="3">
<DList Name="gSpot06DL_00A400" Offset="0xA400"/>
<DList Name="gSpot06DL_00A608" Offset="0xA608"/>
<Room Name="spot06_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,15 @@
<Root>
<File Name="spot07_scene" Segment="2">
<Path Name="gZorasDomainPath_0234" Offset="0x234" NumPaths="3"/>
<Cutscene Name="gZorasDomainIntroCs" Offset="0x3D70"/>
<Texture Name="gZorasDomainDayEntranceTex" OutName="day_entrance" Format="ia8" Width="8" Height="8" Offset="0x8F98"/>
<Texture Name="gZorasDomainNightEntranceTex" OutName="night_entrance" Format="ia8" Width="8" Height="8" Offset="0x8FD8"/>
<Scene Name="spot07_scene" Offset="0x0"/>
</File>
<File Name="spot07_room_0" Segment="3">
<Room Name="spot07_room_0" Offset="0x0"/>
</File>
<File Name="spot07_room_1" Segment="3">
<Room Name="spot07_room_1" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,9 @@
<Root>
<File Name="spot08_scene" Segment="2">
<Cutscene Name="gZorasFountainIntroCs" Offset="0x4A80"/>
<Scene Name="spot08_scene" Offset="0x0"/>
</File>
<File Name="spot08_room_0" Segment="3">
<Room Name="spot08_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,16 @@
<Root>
<File Name="spot09_scene" Segment="2">
<Cutscene Name="gGerudoValleyBridgeJumpFieldFortressCs" Offset="0x2AC0"/>
<Cutscene Name="gGerudoValleyBridgeJumpFortressToFieldCs" Offset="0x230"/>
<Cutscene Name="gGerudoValleyIntroCs" Offset="0x31E0"/>
<Path Name="gSpot09Path_002F58" Offset="0x2F58" NumPaths="3"/>
<Scene Name="spot09_scene" Offset="0x0"/>
</File>
<File Name="spot09_room_0" Segment="3">
<DList Name="gSpot09DL_007108" Offset="0x7108"/>
<DList Name="gSpot09DL_008780" Offset="0x8780"/>
<Room Name="spot09_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,36 @@
<Root>
<File Name="spot10_scene" Segment="2">
<Path Name="gSpot10Path_00C080" Offset="0xC080" NumPaths="3"/>
<Scene Name="spot10_scene" Offset="0x0"/>
</File>
<File Name="spot10_room_0" Segment="3">
<Room Name="spot10_room_0" Offset="0x0"/>
</File>
<File Name="spot10_room_1" Segment="3">
<Room Name="spot10_room_1" Offset="0x0"/>
</File>
<File Name="spot10_room_2" Segment="3">
<Room Name="spot10_room_2" Offset="0x0"/>
</File>
<File Name="spot10_room_3" Segment="3">
<Room Name="spot10_room_3" Offset="0x0"/>
</File>
<File Name="spot10_room_4" Segment="3">
<Room Name="spot10_room_4" Offset="0x0"/>
</File>
<File Name="spot10_room_5" Segment="3">
<Room Name="spot10_room_5" Offset="0x0"/>
</File>
<File Name="spot10_room_6" Segment="3">
<Room Name="spot10_room_6" Offset="0x0"/>
</File>
<File Name="spot10_room_7" Segment="3">
<Room Name="spot10_room_7" Offset="0x0"/>
</File>
<File Name="spot10_room_8" Segment="3">
<Room Name="spot10_room_8" Offset="0x0"/>
</File>
<File Name="spot10_room_9" Segment="3">
<Room Name="spot10_room_9" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,9 @@
<Root>
<File Name="spot11_scene" Segment="2">
<Cutscene Name="gDesertColossusIntroCs" Offset="0x7990"/>
<Scene Name="spot11_scene" Offset="0x0"/>
</File>
<File Name="spot11_room_0" Segment="3">
<Room Name="spot11_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,15 @@
<Root>
<File Name="spot12_scene" Segment="2">
<Cutscene Name="gGerudoFortressFirstCaptureCs" Offset="0x55C0"/>
<Cutscene Name="gGerudoFortressIntroCs" Offset="0x6490"/>
<Texture Name="gSpot12_009678Tex" Format="rgba16" Width="64" Height="32" Offset="0x9678"/>
<Texture Name="gSpot12_00DE78Tex" Format="rgba16" Width="64" Height="32" Offset="0xDE78"/>
<Scene Name="spot12_scene" Offset="0x0"/>
</File>
<File Name="spot12_room_0" Segment="3">
<Room Name="spot12_room_0" Offset="0x0"/>
</File>
<File Name="spot12_room_1" Segment="3">
<Room Name="spot12_room_1" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,11 @@
<Root>
<File Name="spot13_scene" Segment="2">
<Scene Name="spot13_scene" Offset="0x0"/>
</File>
<File Name="spot13_room_0" Segment="3">
<Room Name="spot13_room_0" Offset="0x0"/>
</File>
<File Name="spot13_room_1" Segment="3">
<Room Name="spot13_room_1" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,9 @@
<Root>
<File Name="spot15_scene" Segment="2">
<Cutscene Name="gHyruleCastleIntroCs" Offset="0x3F40"/>
<Scene Name="spot15_scene" Offset="0x0"/>
</File>
<File Name="spot15_room_0" Segment="3">
<Room Name="spot15_room_0" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,14 @@
<Root>
<File Name="spot16_scene" Segment="2">
<Path Name="gDMTPath_00254" Offset="0x254" NumPaths="3"/>
<Path Name="gDMTPath_07884" Offset="0x7884" NumPaths="3"/>
<Cutscene Name="gDMTOwlCs" Offset="0x1E6A0"/>
<Cutscene Name="gDMTIntroCs" Offset="0x7EA0"/>
<Scene Name="spot16_scene" Offset="0x0"/>
<Texture Name="spot16_scene_Tex_01AE98" Format="i4" Width="64" Height="64" Offset="0x1AE98"/>
</File>
<File Name="spot16_room_0" Segment="3">
<Room Name="spot16_room_0" Offset="0x0"/>
<DList Name="spot16_room_0DL_00AA48" Offset="0xAA48"/>
</File>
</Root>

View File

@@ -0,0 +1,13 @@
<Root>
<File Name="spot17_scene" Segment="2">
<Cutscene Name="gDeathMountainCraterBoleroCs" Offset="0x45D0"/>
<Cutscene Name="gDeathMountainCraterIntroCs" Offset="0x76D0"/>
<Scene Name="spot17_scene" Offset="0x0"/>
</File>
<File Name="spot17_room_0" Segment="3">
<Room Name="spot17_room_0" Offset="0x0"/>
</File>
<File Name="spot17_room_1" Segment="3">
<Room Name="spot17_room_1" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,23 @@
<Root>
<File Name="spot18_scene" Segment="2">
<Cutscene Name="gGoronCityDaruniaCorrectCs" Offset="0x59E0"/>
<Cutscene Name="gGoronCityDarunia01Cs" Offset="0x6930"/>
<Cutscene Name="gGoronCityDaruniaWrongCs" Offset="0x7DE0"/>
<Cutscene Name="gGoronCityIntroCs" Offset="0x8400"/>
<Texture Name="gGoronCityNightEntranceTex" OutName="night_entrance" Format="ia8" Width="8" Height="8" Offset="0x8FC8"/>
<Texture Name="gGoronCityDayEntranceTex" OutName="day_entrance" Format="ia8" Width="8" Height="8" Offset="0x9808"/>
<Scene Name="spot18_scene" Offset="0x0"/>
</File>
<File Name="spot18_room_0" Segment="3">
<Room Name="spot18_room_0" Offset="0x0"/>
</File>
<File Name="spot18_room_1" Segment="3">
<Room Name="spot18_room_1" Offset="0x0"/>
</File>
<File Name="spot18_room_2" Segment="3">
<Room Name="spot18_room_2" Offset="0x0"/>
</File>
<File Name="spot18_room_3" Segment="3">
<Room Name="spot18_room_3" Offset="0x0"/>
</File>
</Root>

View File

@@ -0,0 +1,14 @@
<Root>
<File Name="spot20_scene" Segment="2">
<Path Name="gLonLonPath_05844" Offset="0x5844" NumPaths="3"/>
<Cutscene Name="gLonLonRanchIntroCs" Offset="0x5BD0"/>
<Texture Name="gLonLonRanchDayWindowTex" OutName="day_window" Format="rgba16" Width="32" Height="64" Offset="0x81E0"/>
<Texture Name="gLonLonRangeNightWindowsTex" OutName="night_window" Format="rgba16" Width="32" Height="64" Offset="0xFBE0"/>
<Scene Name="spot20_scene" Offset="0x0"/>
</File>
<File Name="spot20_room_0" Segment="3">
<DList Name="gSpot20DL_005E50" Offset="0x5E50"/>
<DList Name="gSpot20DL_0066B8" Offset="0x66B8"/>
<Room Name="spot20_room_0" Offset="0x0"/>
</File>
</Root>