NTSC Support (N64) (#4198)

* 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

* bump otrexporter

* Display same correct info for n64 ntsc-j and ntsc-u

* quicktext more closely aligned with decomp

* linux appimage v64/n64 checksums

* bump zapd

* Credits Fix Tooltip Adjusted

* update supported hashes json

* update shasums to include JP n64
This commit is contained in:
inspectredc
2025-03-30 17:29:59 +01:00
committed by GitHub
parent 0e23adc237
commit 6140b2ec8f
1736 changed files with 107334 additions and 1129 deletions

View File

@@ -540,6 +540,7 @@ typedef enum {
LANGUAGE_ENG,
LANGUAGE_GER,
LANGUAGE_FRA,
LANGUAGE_JPN,
LANGUAGE_MAX
} Language;
@@ -662,7 +663,10 @@ typedef struct {
/* 0xE300 */ s32 msgLength; // original name : "msg_data"
/* 0xE304 */ u8 msgMode; // original name: "msg_mode"
/* 0xE305 */ char unk_E305[0x1];
/* 0xE306 */ u8 msgBufDecoded[200]; // decoded message buffer, may be smaller than this
/* 0xE306 */ union {
u8 msgBufDecoded[200];
u16 msgBufDecodedWide[100];
}; // decoded message buffer, may be smaller than this
/* 0xE3CE */ u16 msgBufPos; // original name : "rdp"
/* 0xE3D0 */ u16 unk_E3D0; // unused, only ever set to 0
/* 0xE3D2 */ u16 textDrawPos; // draw all decoded characters up to this buffer position
@@ -1327,12 +1331,15 @@ typedef struct {
} SceneSelectLoadingMessages;
typedef struct {
/* */ char* japaneseAge;
/* */ char* englishAge;
/* */ char* germanAge;
/* */ char* frenchAge;
} BetterSceneSelectAgeLabels;
// NTSC TODO: japanese bettersceneselect
typedef struct {
// /* */ char* japaneseName;
/* */ char* englishName;
/* */ char* germanName;
/* */ char* frenchName;
@@ -1341,6 +1348,7 @@ typedef struct {
} BetterSceneSelectEntrancePair;
typedef struct {
// /* */ char* japaneseName;
/* */ char* englishName;
/* */ char* germanName;
/* */ char* frenchName;