mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Gamecube NTSC US Support (#155)
* initial asset xml split * move otrexporter back * update exporter * update xml progress * update xmls -- todo: rename actor.xml * use latest otrexporter * cherry pick over gc support changes * zapdtr gc support * fix title screen * fix jumpslash * add gc file list * add additional asset header * Update OTRExporter * Update ZAPDTR * Update libultraship * Update OTRExporter * submodule * attempt 3 at submodules * add gPowderKegFuseVtx to gc xml * lus main * for pr * zapdtr rebased * move game versions to benport * update xml for PRs * move audio, todo: add to GC * gc audio * explain commented assets * zapdtr * pull and update zapdtr * Update OTRExporter
This commit is contained in:
+1
-1
Submodule OTRExporter updated: 741fb6b9fc...6c8122f1b9
@@ -694,6 +694,7 @@ extern "C" uint32_t ResourceMgr_GetGamePlatform(int index) {
|
||||
case OOT_NTSC_US_12:
|
||||
case OOT_PAL_10:
|
||||
case OOT_PAL_11:
|
||||
case MM_NTSC_US_10:
|
||||
return GAME_PLATFORM_N64;
|
||||
case OOT_NTSC_JP_GC:
|
||||
case OOT_NTSC_US_GC:
|
||||
@@ -704,6 +705,7 @@ extern "C" uint32_t ResourceMgr_GetGamePlatform(int index) {
|
||||
case OOT_PAL_GC_DBG1:
|
||||
case OOT_PAL_GC_DBG2:
|
||||
case OOT_PAL_GC_MQ_DBG:
|
||||
case MM_NTSC_US_GC:
|
||||
return GAME_PLATFORM_GC;
|
||||
}
|
||||
}
|
||||
@@ -719,6 +721,8 @@ extern "C" uint32_t ResourceMgr_GetGameRegion(int index) {
|
||||
case OOT_NTSC_US_GC:
|
||||
case OOT_NTSC_JP_MQ:
|
||||
case OOT_NTSC_US_MQ:
|
||||
case MM_NTSC_US_10:
|
||||
case MM_NTSC_US_GC:
|
||||
return GAME_REGION_NTSC;
|
||||
case OOT_PAL_10:
|
||||
case OOT_PAL_11:
|
||||
|
||||
@@ -10,6 +10,9 @@
|
||||
#define GAME_PLATFORM_N64 0
|
||||
#define GAME_PLATFORM_GC 1
|
||||
|
||||
#define MM_NTSC_US_10 0x5354631C
|
||||
#define MM_NTSC_US_GC 0xB443EB08
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include <Context.h>
|
||||
|
||||
|
||||
@@ -60,9 +60,11 @@ static constexpr uint32_t OOT_PAL_10 = 0xB044B569;
|
||||
static constexpr uint32_t OOT_PAL_11 = 0xB2055FBD;
|
||||
|
||||
static constexpr uint32_t MM_US_10 = 0x5354631C;
|
||||
static constexpr uint32_t MM_US_GC = 0xB443EB08;
|
||||
|
||||
static const std::unordered_map<uint32_t, const char*> verMap = {
|
||||
{ MM_US_10, "US 1.0" },
|
||||
{ MM_US_GC, "US GC"},
|
||||
//{ OOT_PAL_GC, "PAL Gamecube" },
|
||||
//{ OOT_PAL_MQ, "PAL MQ" },
|
||||
//{ OOT_PAL_GC_DBG1, "PAL Debug 1" },
|
||||
@@ -75,6 +77,7 @@ static const std::unordered_map<uint32_t, const char*> verMap = {
|
||||
// TODO only check the first 54MB of the rom.
|
||||
static constexpr std::array<const uint32_t, 10> goodCrcs = {
|
||||
0x96F49400, // MM US 1.0 32MB
|
||||
0xBB434787, // MM GC
|
||||
//0xfa8c0555, // MQ DBG 64MB (Original overdump)
|
||||
//0x8652ac4c, // MQ DBG 64MB
|
||||
//0x5B8A1EB7, // MQ DBG 64MB (Empty overdump)
|
||||
@@ -506,6 +509,10 @@ const char* Extractor::GetZapdVerStr() const {
|
||||
return "N64_PAL_10";
|
||||
case OOT_PAL_11:
|
||||
return "N64_PAL_11";
|
||||
case MM_US_10:
|
||||
return "N64_US";
|
||||
case MM_US_GC:
|
||||
return "GC_US";
|
||||
default:
|
||||
// We should never be in a state where this path happens.
|
||||
UNREACHABLE;
|
||||
@@ -541,7 +548,7 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
||||
char confPath[1024];
|
||||
char portVersion[18]; // 5 digits for int16_max (x3) + separators + terminator
|
||||
std::array<const char*, argc> argv;
|
||||
// const char* version = GetZapdVerStr();
|
||||
const char* version = GetZapdVerStr();
|
||||
const char* otrFile = "mm.otr";
|
||||
|
||||
std::string romPath = std::filesystem::absolute(mCurrentRomPath).string();
|
||||
@@ -559,8 +566,8 @@ bool Extractor::CallZapd(std::string installPath, std::string exportdir) {
|
||||
|
||||
std::filesystem::current_path(tempdir);
|
||||
|
||||
snprintf(xmlPath, 1024, "assets/extractor/xmls");
|
||||
snprintf(confPath, 1024, "assets/extractor/Config.xml");
|
||||
snprintf(xmlPath, 1024, "assets/extractor/xmls/%s", version);
|
||||
snprintf(confPath, 1024, "assets/extractor/Config_%s.xml", version);
|
||||
snprintf(portVersion, 18, "%d.%d.%d", gBuildVersionMajor, gBuildVersionMinor, gBuildVersionPatch);
|
||||
|
||||
argv[0] = "ZAPD";
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
#ifndef CODE_ACTOR_H
|
||||
#define CODE_ACTOR_H 1
|
||||
|
||||
#include "align_asset_macro.h"
|
||||
|
||||
#define dD_801AEF88 "__OTR__code/actor/D_801AEF88"
|
||||
static const ALIGN_ASSET(2) char D_801AEF88[] = dD_801AEF88;
|
||||
|
||||
#define dD_801AEFA0 "__OTR__code/actor/D_801AEFA0"
|
||||
static const ALIGN_ASSET(2) char D_801AEFA0[] = dD_801AEFA0;
|
||||
#endif // CODE_ACTOR_H
|
||||
@@ -3,6 +3,6 @@
|
||||
<ActorList File="symbols/ActorList_MM.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_MM.txt"/>
|
||||
<EnumData File="EnumData.xml"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/GC_US/"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
@@ -0,0 +1,8 @@
|
||||
<Root>
|
||||
<SymbolMap File="symbols/SymbolMap_MM.txt"/>
|
||||
<ActorList File="symbols/ActorList_MM.txt"/>
|
||||
<ObjectList File="symbols/ObjectList_MM.txt"/>
|
||||
<EnumData File="EnumData.xml"/>
|
||||
<ExternalXMLFolder Path="assets/extractor/xmls/N64_US/"/>
|
||||
<ExternalFile XmlPath="objects/gameplay_keep.xml" OutPath="objects/gameplay_keep/"/>
|
||||
</Root>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,6 @@
|
||||
<Root>
|
||||
<File Name="code" BaseAddress="0x800A6440" RangeStart="0x107218" RangeEnd="0x107238" OutName="actor">
|
||||
<DList Name="D_801AEF88" Offset="0x107218"/>
|
||||
<DList Name="D_801AEFA0" Offset="0x107230"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,29 @@
|
||||
<Root>
|
||||
<File Name="code" BaseAddress="0x800A6440" RangeStart="0x1127E0" RangeEnd="0x1132A0" OutName="debug_display">
|
||||
<Array Name="sDebugDisplay1Vtx" Count="36" Offset="0x1127E0">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplay1DL" Offset="0x112A20"/>
|
||||
|
||||
<Array Name="sDebugDisplay2Vtx" Count="8" Offset="0x112A80">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplay2DL" Offset="0x112B00"/>
|
||||
|
||||
<Array Name="sDebugDisplay3Vtx" Count="40" Offset="0x112B50">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplay3DL" Offset="0x112DD0"/>
|
||||
|
||||
<Texture Name="sDebugDisplayCircleTex" OutName="debug_circle" Format="i8" Width="16" Height="16" Offset="0x112E48"/>
|
||||
<Texture Name="sDebugDisplayBallTex" OutName="debug_ball" Format="i8" Width="16" Height="16" Offset="0x112F48"/>
|
||||
<Texture Name="sDebugDisplayCursorTex" OutName="debug_cursor" Format="i8" Width="16" Height="16" Offset="0x113048"/>
|
||||
<Texture Name="sDebugDisplayCrossTex" OutName="debug_cross" Format="i8" Width="16" Height="16" Offset="0x113148"/>
|
||||
|
||||
<Array Name="sDebugDisplaySpriteVtx" Count="4" Offset="0x113248">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="sDebugDisplaySpriteDL" Offset="0x113288"/>
|
||||
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,9 @@
|
||||
<Root>
|
||||
<File Name="code" BaseAddress="0x800A6440" RangeStart="0x1144A0" RangeEnd="0x114530" OutName="eff_footmark">
|
||||
<Array Name="gEffFootprintVtx" Count="3" Offset="0x1144A0">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
<DList Name="gEffFootprintMaterialDL" Offset="0x1144D0"/>
|
||||
<DList Name="gEffFootprintModelDL" Offset="0x114518"/>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Root>
|
||||
<File Name="code" BaseAddress="0x800A6440" RangeStart="0x106910" RangeEnd="0x106950" OutName="eff_shield_particle">
|
||||
<Array Name="sEffShieldParticleVtx" Count="4" Offset="0x106910">
|
||||
<Vtx/>
|
||||
</Array>
|
||||
</File>
|
||||
</Root>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Root>
|
||||
<File Name="code" OutName="fbdemo_circle" BaseAddress="0x800A6440" RangeStart="0x11E070" RangeEnd="0x11E870">
|
||||
<Texture Name="gCircleTex" Format="i4" Width="64" Height="64" Offset="0x11E070"/>
|
||||
</File>
|
||||
</Root>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user