mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-09-07 03:49:47 -04:00
NTSC GC Support (#5254)
* copy n64 pal 10 doing this so i can check diffs i make * transfer german->jp icon item * overlays, message data, icon item jpn, audio, code todo: title_static, gameplay keep * add kanji and fix title cards * title static * spell folder correctly * boss title cards, do action, icon item, item name, map name * headers for jpn stuff * gameplay_keep * Scenes, audio, jp text extraction, rom support, overlay fixes, sheik & darunia todo: test & disable darunia fix cvar for ntsc * msgptr init fix * icon item offsets * comment out title cards until zapd can fix itself (we extract these in a different file anyway) * compile and font implemented to get past title screen * file select * message, kaleido and everything else but rando * uintptr_t * rando and custom messages working! * ntsc-j 1.0 support * n64 logo? * copy ntsc 10 to 11 * ntsc 11 extraction * change title version names * copy ntsc 11 to 12 * ntsc 12 extraction * clean up some todos * re checkout submodules post merge * fix US filename * support cross-version filenames * add new versions to non-mq list * use correct message table init * Fix ntsc nes message table overriding pal nes message table * actual fix, allows extraction * fix file name using wrong font of file being hovered over * Fix barinade crash * re-add pal * better jabu fix and revert LUS * fix gerudo title cards * better better owl select * more owl fixes * build * fix some name decode issues * Switch Language Mid Text * Fix PAL displaying for JP filenames * Fix AskToEquip Crash * Disable Credits Timing Fix on NTSC * Fix JP Text positioning * basic language switching (BIG todo: file select, title screen) * Title Screen Hopefully working * add ntsc to linux appimage stuff, TODO: add .v64/.n64 support * Update OTRExporter * Fix pause to decide offset * Fix bomb item name crash * fix fire arrows and PoH * builds * update asset changes and fix menu language changing * fix name decode * Fix crashes and add rando/boss rush select stuff * Revive debug feature by setting language cvar too * Fix ocarina text speed softlock, and update jp text speed changes * Merge remote-tracking branch 'upstream/develop' into NTSC * Fix options menu and let pal use japanese fully * Resolve some suggestions * match up gTextSpeed changes to english (still broken!) * Fix text speed crash * Set default filename language on save init funcs * copy n64 ntsc 1.2 to gc nmq ntsc and add rom info * extractor working for ntsc gc u * Extraction Works * bump otrexporter * Display same correct info for n64 ntsc-j and ntsc-u * ovl asset fixes * final font diff * change the correct ovl file choose xml * copy asset files for jp * JP Working * Copy jp and us xmls to mq * MQ Working * quicktext more closely aligned with decomp * add versions to mq switch * linux appimage v64/n64 checksums * bump zapd * Credits Fix Tooltip Adjusted * update supported hashes json * update shasums to include JP n64 * add shasum hashes * Bump submodules back to upstream
This commit is contained in:
@@ -58,6 +58,11 @@ static constexpr uint32_t OOT_PAL_GC_DBG2 = 0x87121EFE; // 03-13-2002 build
|
||||
static constexpr uint32_t OOT_PAL_GC_MQ_DBG = 0x917D18F6;
|
||||
static constexpr uint32_t OOT_PAL_10 = 0xB044B569;
|
||||
static constexpr uint32_t OOT_PAL_11 = 0xB2055FBD;
|
||||
static constexpr uint32_t OOT_NTSC_US_GC = 0xF3DD35BA;
|
||||
static constexpr uint32_t OOT_NTSC_JP_GC = 0xF611F4BA;
|
||||
static constexpr uint32_t OOT_NTSC_JP_GC_CE = 0xF7F52DB8;
|
||||
static constexpr uint32_t OOT_NTSC_US_MQ = 0xF034001A;
|
||||
static constexpr uint32_t OOT_NTSC_JP_MQ = 0xF43B45BA;
|
||||
static constexpr uint32_t OOT_NTSC_10 = 0xEC7011B7;
|
||||
static constexpr uint32_t OOT_NTSC_11 = 0xD43DA81F;
|
||||
static constexpr uint32_t OOT_NTSC_12 = 0x693BA2AE;
|
||||
@@ -70,13 +75,18 @@ static const std::unordered_map<uint32_t, const char*> verMap = {
|
||||
{ OOT_PAL_GC_MQ_DBG, "PAL MQ Debug" },
|
||||
{ OOT_PAL_10, "PAL N64 1.0" },
|
||||
{ OOT_PAL_11, "PAL N64 1.1" },
|
||||
{ OOT_NTSC_US_GC, "NTSC Gamecube US" },
|
||||
{ OOT_NTSC_JP_GC, "NTSC Gamecube JP" },
|
||||
{ OOT_NTSC_JP_GC_CE, "NTSC Gamecube JP (Collector's Edition)" },
|
||||
{ OOT_NTSC_US_GC, "NTSC MQ US" },
|
||||
{ OOT_NTSC_JP_GC, "NTSC MQ JP" },
|
||||
{ OOT_NTSC_10, "NTSC N64 1.0" },
|
||||
{ OOT_NTSC_11, "NTSC N64 1.1" },
|
||||
{ OOT_NTSC_12, "NTSC N64 1.2" },
|
||||
};
|
||||
|
||||
// TODO only check the first 54MB of the rom.
|
||||
static constexpr std::array<const uint32_t, 16> goodCrcs = {
|
||||
static constexpr std::array<const uint32_t, 21> goodCrcs = {
|
||||
0xfa8c0555, // MQ DBG 64MB (Original overdump)
|
||||
0x8652ac4c, // MQ DBG 64MB
|
||||
0x5B8A1EB7, // MQ DBG 64MB (Empty overdump)
|
||||
@@ -93,6 +103,11 @@ static constexpr std::array<const uint32_t, 16> goodCrcs = {
|
||||
0xA25D1262, // N64 NTSC JP 1.1
|
||||
0x15736A58, // N64 NTSC US 1.2
|
||||
0x83B8967D, // N64 NTSC JP 1.2
|
||||
0xD61453DE, // GC NTSC US
|
||||
0x4129C825, // GC MQ NTSC US
|
||||
0x11A4BE61, // GC NTSC JP
|
||||
0x2BC6C6FD, // GC NTSC JP Collector's Edition
|
||||
0x02CD974C, // GC MQ NTSC JP
|
||||
};
|
||||
|
||||
enum class ButtonId : int {
|
||||
@@ -519,10 +534,15 @@ bool Extractor::IsMasterQuest() const {
|
||||
switch (GetRomVerCrc()) {
|
||||
case OOT_PAL_MQ:
|
||||
case OOT_PAL_GC_MQ_DBG:
|
||||
case OOT_NTSC_US_MQ:
|
||||
case OOT_NTSC_JP_MQ:
|
||||
return true;
|
||||
case OOT_NTSC_10:
|
||||
case OOT_NTSC_11:
|
||||
case OOT_NTSC_12:
|
||||
case OOT_NTSC_US_GC:
|
||||
case OOT_NTSC_JP_GC:
|
||||
case OOT_NTSC_JP_GC_CE:
|
||||
case OOT_PAL_10:
|
||||
case OOT_PAL_11:
|
||||
case OOT_PAL_GC:
|
||||
@@ -547,6 +567,16 @@ const char* Extractor::GetZapdVerStr() const {
|
||||
return "N64_PAL_10";
|
||||
case OOT_PAL_11:
|
||||
return "N64_PAL_11";
|
||||
case OOT_NTSC_US_GC:
|
||||
return "GC_NMQ_NTSC_U";
|
||||
case OOT_NTSC_JP_GC:
|
||||
return "GC_NMQ_NTSC_J";
|
||||
case OOT_NTSC_JP_GC_CE:
|
||||
return "GC_NMQ_NTSC_J_CE";
|
||||
case OOT_NTSC_US_MQ:
|
||||
return "GC_MQ_NTSC_U";
|
||||
case OOT_NTSC_JP_MQ:
|
||||
return "GC_MQ_NTSC_J";
|
||||
case OOT_NTSC_10:
|
||||
return "N64_NTSC_10";
|
||||
case OOT_NTSC_11:
|
||||
|
||||
Reference in New Issue
Block a user