diff options
| author | cadmic <cadmic24@gmail.com> | 2024-07-17 15:36:17 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-17 18:36:17 -0400 |
| commit | 4fbb48177fcf38d339cab6bc725421e13be7d6bb (patch) | |
| tree | d52c2d000f7bad2302b1e47c203d9f3796c505c4 /src | |
| parent | f0796afb8621e60ea56b44a443b73af6a4d763c1 (diff) | |
Create FILENAME_ macros for NTSC filename encoding (#1986)
* Create FILENAME_ macros for NTSC filename encoding
* Add defines/comments for all filename characters
* FILENAME_EXCLAMATION_POINT -> FILENAME_EXCLAMATION_MARK to match kanji file
* hirigana -> hiragana
Diffstat (limited to 'src')
| -rw-r--r-- | src/code/z_message.c | 24 | ||||
| -rw-r--r-- | src/code/z_sram.c | 86 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_En_Mag/z_en_mag.c | 8 | ||||
| -rw-r--r-- | src/overlays/gamestates/ovl_file_choose/z_file_choose.c | 5 | ||||
| -rw-r--r-- | src/overlays/gamestates/ovl_file_choose/z_file_nameset.c | 15 |
5 files changed, 82 insertions, 56 deletions
diff --git a/src/code/z_message.c b/src/code/z_message.c index e0a98beb5..6e3477871 100644 --- a/src/code/z_message.c +++ b/src/code/z_message.c @@ -1303,7 +1303,7 @@ void Message_Decode(PlayState* play) { // Substitute the player name control character for the file's player name. for (playerNameLen = ARRAY_COUNT(gSaveContext.save.info.playerData.playerName); playerNameLen > 0; playerNameLen--) { - if (gSaveContext.save.info.playerData.playerName[playerNameLen - 1] != 0x3E) { + if (gSaveContext.save.info.playerData.playerName[playerNameLen - 1] != FILENAME_SPACE) { break; } } @@ -1311,21 +1311,21 @@ void Message_Decode(PlayState* play) { PRINTF("\n名前 = "); for (i = 0; i < playerNameLen; i++) { curChar2 = gSaveContext.save.info.playerData.playerName[i]; - if (curChar2 == 0x3E) { + if (curChar2 == FILENAME_SPACE) { curChar2 = ' '; - } else if (curChar2 == 0x40) { + } else if (curChar2 == FILENAME_PERIOD) { curChar2 = '.'; - } else if (curChar2 == 0x3F) { + } else if (curChar2 == FILENAME_DASH) { curChar2 = '-'; - } else if (curChar2 < 0xA) { - curChar2 += 0; + } else if (curChar2 <= FILENAME_DIGIT('9')) { + curChar2 -= FILENAME_DIGIT('0'); curChar2 += '0'; - } else if (curChar2 < 0x24) { - curChar2 += 0; - curChar2 += '7'; - } else if (curChar2 < 0x3E) { - curChar2 += 0; - curChar2 += '='; + } else if (curChar2 <= FILENAME_UPPERCASE('Z')) { + curChar2 -= FILENAME_UPPERCASE('A'); + curChar2 += 'A'; + } else if (curChar2 <= FILENAME_LOWERCASE('z')) { + curChar2 -= FILENAME_LOWERCASE('a'); + curChar2 += 'a'; } if (curChar2 != ' ') { Font_LoadChar(font, curChar2 - ' ', charTexIdx); diff --git a/src/code/z_sram.c b/src/code/z_sram.c index b5da4691c..fb2a4d119 100644 --- a/src/code/z_sram.c +++ b/src/code/z_sram.c @@ -27,23 +27,32 @@ u16 gSramSlotOffsets[] = { static char sZeldaMagic[] = { '\0', '\0', '\0', '\x98', '\x09', '\x10', '\x21', 'Z', 'E', 'L', 'D', 'A' }; static SavePlayerData sNewSavePlayerData = { - { '\0', '\0', '\0', '\0', '\0', '\0' }, // newf - 0, // deaths - { 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E }, // playerName - 0, // n64ddFlag - 0x30, // healthCapacity - 0x30, // defense - 0, // magicLevel - MAGIC_NORMAL_METER, // magic - 0, // rupees - 0, // swordHealth - 0, // naviTimer - false, // isMagicAcquired - 0, // unk_1F - false, // isDoubleMagicAcquired - false, // isDoubleDefenseAcquired - 0, // bgsFlag - 0, // ocarinaGameRoundNum + { '\0', '\0', '\0', '\0', '\0', '\0' }, // newf + 0, // deaths + { + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + }, // playerName + 0, // n64ddFlag + 0x30, // healthCapacity + 0x30, // defense + 0, // magicLevel + MAGIC_NORMAL_METER, // magic + 0, // rupees + 0, // swordHealth + 0, // naviTimer + false, // isMagicAcquired + 0, // unk_1F + false, // isDoubleMagicAcquired + false, // isDoubleDefenseAcquired + 0, // bgsFlag + 0, // ocarinaGameRoundNum { { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots @@ -155,23 +164,32 @@ void Sram_InitNewSave(void) { } static SavePlayerData sDebugSavePlayerData = { - { 'Z', 'E', 'L', 'D', 'A', 'Z' }, // newf - 0, // deaths - { 0x15, 0x12, 0x17, 0x14, 0x3E, 0x3E, 0x3E, 0x3E }, // playerName ( "LINK" ) - 0, // n64ddFlag - 0xE0, // healthCapacity - 0xE0, // health - 0, // magicLevel - MAGIC_NORMAL_METER, // magic - 150, // rupees - 8, // swordHealth - 0, // naviTimer - true, // isMagicAcquired - 0, // unk_1F - false, // isDoubleMagicAcquired - false, // isDoubleDefenseAcquired - 0, // bgsFlag - 0, // ocarinaGameRoundNum + { 'Z', 'E', 'L', 'D', 'A', 'Z' }, // newf + 0, // deaths + { + FILENAME_UPPERCASE('L'), + FILENAME_UPPERCASE('I'), + FILENAME_UPPERCASE('N'), + FILENAME_UPPERCASE('K'), + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + FILENAME_SPACE, + }, // playerName + 0, // n64ddFlag + 0xE0, // healthCapacity + 0xE0, // health + 0, // magicLevel + MAGIC_NORMAL_METER, // magic + 150, // rupees + 8, // swordHealth + 0, // naviTimer + true, // isMagicAcquired + 0, // unk_1F + false, // isDoubleMagicAcquired + false, // isDoubleDefenseAcquired + 0, // bgsFlag + 0, // ocarinaGameRoundNum { { ITEM_NONE, ITEM_NONE, ITEM_NONE, ITEM_NONE }, // buttonItems { SLOT_NONE, SLOT_NONE, SLOT_NONE }, // cButtonSlots diff --git a/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/src/overlays/actors/ovl_En_Mag/z_en_mag.c index e32b01b4e..840b056a8 100644 --- a/src/overlays/actors/ovl_En_Mag/z_en_mag.c +++ b/src/overlays/actors/ovl_En_Mag/z_en_mag.c @@ -409,10 +409,14 @@ void EnMag_DrawInner(Actor* thisx, PlayState* play, Gfx** gfxP) { static s16 textFadeDirection = 0; static s16 textFadeTimer = 0; static u8 noControllerFontIndices[] = { - 0x17, 0x18, 0x0C, 0x18, 0x17, 0x1D, 0x1B, 0x18, 0x15, 0x15, 0x0E, 0x1B, + FILENAME_UPPERCASE('N'), FILENAME_UPPERCASE('O'), FILENAME_UPPERCASE('C'), FILENAME_UPPERCASE('O'), + FILENAME_UPPERCASE('N'), FILENAME_UPPERCASE('T'), FILENAME_UPPERCASE('R'), FILENAME_UPPERCASE('O'), + FILENAME_UPPERCASE('L'), FILENAME_UPPERCASE('L'), FILENAME_UPPERCASE('E'), FILENAME_UPPERCASE('R'), }; static u8 pressStartFontIndices[] = { - 0x19, 0x1B, 0x0E, 0x1C, 0x1C, 0x1C, 0x1D, 0x0A, 0x1B, 0x1D, + FILENAME_UPPERCASE('P'), FILENAME_UPPERCASE('R'), FILENAME_UPPERCASE('E'), FILENAME_UPPERCASE('S'), + FILENAME_UPPERCASE('S'), FILENAME_UPPERCASE('S'), FILENAME_UPPERCASE('T'), FILENAME_UPPERCASE('A'), + FILENAME_UPPERCASE('R'), FILENAME_UPPERCASE('T'), }; static void* effectMaskTextures[] = { gTitleEffectMask00Tex, gTitleEffectMask01Tex, gTitleEffectMask02Tex, diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c index 9569fc956..df6118dce 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.c @@ -169,7 +169,10 @@ void FileSelect_FinishFadeIn(GameState* thisx) { * Update function for `CM_MAIN_MENU` */ void FileSelect_UpdateMainMenu(GameState* thisx) { - static u8 emptyName[] = { 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E, 0x3E }; + static u8 emptyName[] = { + FILENAME_SPACE, FILENAME_SPACE, FILENAME_SPACE, FILENAME_SPACE, + FILENAME_SPACE, FILENAME_SPACE, FILENAME_SPACE, FILENAME_SPACE, + }; FileSelectState* this = (FileSelectState*)thisx; SramContext* sramCtx = &this->sramCtx; Input* input = &this->state.input[0]; diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c b/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c index 3067ea368..b6f452546 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c +++ b/src/overlays/gamestates/ovl_file_choose/z_file_nameset.c @@ -373,12 +373,12 @@ void FileSelect_DrawNameEntry(GameState* thisx) { this->kbdY = 5; this->kbdX = 4; } else if (CHECK_BTN_ALL(input->press.button, BTN_B)) { - if ((this->newFileNameCharCount == 7) && (this->fileNames[this->buttonIndex][7] != 0x3E)) { + if ((this->newFileNameCharCount == 7) && (this->fileNames[this->buttonIndex][7] != FILENAME_SPACE)) { for (i = this->newFileNameCharCount; i < 7; i++) { this->fileNames[this->buttonIndex][i] = this->fileNames[this->buttonIndex][i + 1]; } - this->fileNames[this->buttonIndex][i] = 0x3E; + this->fileNames[this->buttonIndex][i] = FILENAME_SPACE; Audio_PlaySfxGeneral(NA_SE_SY_FSEL_DECIDE_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } else { @@ -392,7 +392,7 @@ void FileSelect_DrawNameEntry(GameState* thisx) { this->fileNames[this->buttonIndex][i] = this->fileNames[this->buttonIndex][i + 1]; } - this->fileNames[this->buttonIndex][i] = 0x3E; + this->fileNames[this->buttonIndex][i] = FILENAME_SPACE; Audio_PlaySfxGeneral(NA_SE_SY_FSEL_DECIDE_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); } @@ -419,12 +419,13 @@ void FileSelect_DrawNameEntry(GameState* thisx) { } } else if (CHECK_BTN_ALL(input->press.button, BTN_A) && (this->charPage != this->kbdButton)) { if (this->kbdButton == FS_KBD_BTN_BACKSPACE) { - if ((this->newFileNameCharCount == 7) && (this->fileNames[this->buttonIndex][7] != 0x3E)) { + if ((this->newFileNameCharCount == 7) && + (this->fileNames[this->buttonIndex][7] != FILENAME_SPACE)) { for (i = this->newFileNameCharCount; i < 7; i++) { this->fileNames[this->buttonIndex][i] = this->fileNames[this->buttonIndex][i + 1]; } - this->fileNames[this->buttonIndex][i] = 0x3E; + this->fileNames[this->buttonIndex][i] = FILENAME_SPACE; Audio_PlaySfxGeneral(NA_SE_SY_FSEL_DECIDE_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -439,7 +440,7 @@ void FileSelect_DrawNameEntry(GameState* thisx) { this->fileNames[this->buttonIndex][i] = this->fileNames[this->buttonIndex][i + 1]; } - this->fileNames[this->buttonIndex][i] = 0x3E; + this->fileNames[this->buttonIndex][i] = FILENAME_SPACE; Audio_PlaySfxGeneral(NA_SE_SY_FSEL_DECIDE_S, &gSfxDefaultPos, 4, &gSfxDefaultFreqAndVolScale, &gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb); @@ -448,7 +449,7 @@ void FileSelect_DrawNameEntry(GameState* thisx) { validName = false; for (i = 0; i < 8; i++) { - if (this->fileNames[this->buttonIndex][i] != 0x3E) { + if (this->fileNames[this->buttonIndex][i] != FILENAME_SPACE) { validName = true; break; } |
