z_message_nes (1 NON_MATCHING) (#1394)

* Bring over progress

* Some docs

* scratch urls + format

* Fixes

* Match Message_DrawTextNES

* String macros

* color structs
This commit is contained in:
Derek Hensley
2023-09-27 14:24:52 +10:00
committed by GitHub
parent 775501b28b
commit d4c41f0263
10 changed files with 1707 additions and 108 deletions
+7 -14
View File
@@ -1009,14 +1009,14 @@ void func_80148B98(PlayState* play, u8 arg1);
void Message_DrawTextChar(PlayState* play, TexturePtr texture, Gfx** gfxP);
void func_80149C18(PlayState* play);
// void Message_FindMessage(void);
void func_80149F74(PlayState* play, u32** ppuParm2);
void Message_DrawItemIcon(PlayState* play, Gfx** gfxP);
void Message_HandleOcarina(PlayState* play);
void func_8014ADBC(PlayState* play, UNK_PTR puParm2);
void Message_LoadItemIcon(PlayState* play, u16 itemId, s16 arg2);
void Message_LoadChar(PlayState* play, u16 codePointIndex, s32* offset, f32* arg3, s16 decodedBufPos);
void Message_SetupLoadItemIcon(PlayState* play);
// void func_8014CCB4(void);
// void func_8014CDF0(void);
// void func_8014CFDC(void);
// void Message_SetupLoadItemIcon(void);
void func_8014D304(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_8014D62C(void);
// void func_8014D7B4(void);
@@ -1046,19 +1046,12 @@ void Message_Update(PlayState* play);
void func_801586A4(PlayState* play);
void Message_Init(PlayState* play);
void Message_FindMessageNES(PlayState* play, u16 textId);
// void Message_LoadCharNES(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
// void Message_LoadPluralRupeesNES(void);
// void Message_LoadLocalizedRupeesNES(void);
// void Message_LoadRupeesNES(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
// void Message_LoadTimeNES(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void Message_LoadOwlWarpTextNES(void);
// void func_80159438(void);
void func_8015966C(PlayState* play, UNK_PTR puParm2, UNK_TYPE arg3);
// void func_8015A144(void);
void func_8015B198(PlayState* play);
void Message_DrawTextNES(PlayState* play, Gfx** gfxP, u16 textDrawPos);
void Message_DecodeNES(PlayState* play);
void Message_FindCreditsMessage(PlayState* play, u16 textId);
void Message_FindCreditsMessage(PlayState* play, u16 textId);
void Message_DrawTextCredits(PlayState* play, Gfx** gfxP);
// void func_8015F8A8(UNK_TYPE4 ctxt);
void Message_DecodeCredits(PlayState* play);
uintptr_t KaleidoManager_FaultAddrConv(uintptr_t address, void* param);
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl);
+1
View File
@@ -38,6 +38,7 @@
#define DAY_LENGTH (CLOCK_TIME(24, 0))
#define TIME_TO_HOURS_F(time) ((time) * (24.0f / 0x10000))
#define TIME_TO_HOURS_F_ALT(time) (TIME_TO_MINUTES_F(time) / 60.0f)
#define TIME_TO_MINUTES_F(time) ((time) * ((24.0f * 60.0f) / 0x10000)) // 0.021972656f
#define TIME_TO_MINUTES_ALT_F(time) ((time) / (0x10000 / (24.0f * 60.0f)))
#define TIME_TO_SECONDS_F(time) ((time) * ((24.0f * 60.0f * 60.0f) / 0x10000))
+5 -5
View File
@@ -334,9 +334,9 @@ extern char D_801D039C[];
// extern UNK_TYPE1 D_801D045A;
// extern UNK_TYPE1 D_801D0462;
//extern UNK_TYPE1 D_801D0468;
// extern UNK_TYPE1 D_801D0470;
// extern char D_801D06F0[];
// extern UNK_TYPE1 D_801D0710;
// extern UNK_TYPE1 sNESFontWidths;
// extern char sRupeesTextLocalization[];
// extern UNK_TYPE1 sRupeesTextLength;
// extern char D_801D0714[];
// extern UNK_TYPE1 D_801D07C4;
// extern UNK_TYPE1 D_801D07DC;
@@ -348,8 +348,8 @@ extern char D_801D039C[];
// extern UNK_TYPE1 D_801D08CC;
// extern UNK_TYPE1 D_801D08D8;
// extern UNK_TYPE1 D_801D08E4;
// extern UNK_TYPE1 D_801D08E8;
// extern UNK_TYPE1 D_801D0900;
// extern UNK_TYPE1 sMaskCodeTextENG;
// extern UNK_TYPE1 sMaskCodeTextLengthENG;
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[2];
// extern UNK_TYPE1 D_801D0B8C;
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
+14 -3
View File
@@ -154,12 +154,22 @@ typedef enum {
/* 52 */ HUD_VISIBILITY_NONE_INSTANT = 52
} HudVisibility;
// Based on sRupeesTextLocalization
typedef enum Language {
/* 0 */ LANGUAGE_JPN,
/* 1 */ LANGUAGE_ENG,
/* 2 */ LANGUAGE_GER,
/* 3 */ LANGUAGE_FRE,
/* 4 */ LANGUAGE_SPA,
/* 5 */ LANGUAGE_MAX
} Language;
typedef enum HighScore {
/* 0 */ HS_BANK_RUPEES,
/* 1 */ HS_UNK_1,
/* 2 */ HS_FISHING, // Fishing flags
/* 3 */ HS_BOAT_ARCHERY,
/* 4 */ HS_HOSRE_BACK_BALLOON,
/* 4 */ HS_HORSE_BACK_BALLOON,
/* 5 */ HS_LOTTERY_GUESS, // Lottery code chosen by player (only uses lower three hex digits)
/* 6 */ HS_SHOOTING_GALLERY, // High scores for both shooting galleries. Town uses lower 16 bits, Swamp uses higher 16 bits.
/* 7 */ HS_MAX
@@ -520,6 +530,7 @@ typedef enum {
(gSaveContext.save.saveInfo.stolenItems = (gSaveContext.save.saveInfo.stolenItems & ~0x00FF0000) | ((itemId & 0xFF) << 0x10))
#define HIGH_SCORE(type) (gSaveContext.save.saveInfo.highScores[(type)])
#define GET_HIGH_SCORE(type) ((void)0, gSaveContext.save.saveInfo.highScores[(type)])
#define HS_GET_BANK_RUPEES() (HIGH_SCORE(HS_BANK_RUPEES) & 0xFFFF)
#define HS_SET_BANK_RUPEES(rupees) (HIGH_SCORE(HS_BANK_RUPEES) = ((HIGH_SCORE(HS_BANK_RUPEES) & 0xFFFF0000) | (rupees)))
@@ -529,8 +540,8 @@ typedef enum {
#define HS_GET_BOAT_ARCHERY_HIGH_SCORE() ((HIGH_SCORE(HS_BOAT_ARCHERY) & 0xFFFF0000) >> 0x10)
#define HS_SET_BOAT_ARCHERY_HIGH_SCORE(score) (HIGH_SCORE(HS_BOAT_ARCHERY) = ((HIGH_SCORE(HS_BOAT_ARCHERY) & 0xFFFF) | ((u16)(score) << 0x10)))
#define HS_GET_HORSE_BACK_BALLOON_TIME() ((s32)HIGH_SCORE(HS_HOSRE_BACK_BALLOON))
#define HS_SET_HORSE_BACK_BALLOON_TIME(time) (HIGH_SCORE(HS_HOSRE_BACK_BALLOON) = (time))
#define HS_GET_HORSE_BACK_BALLOON_TIME() ((s32)HIGH_SCORE(HS_HORSE_BACK_BALLOON))
#define HS_SET_HORSE_BACK_BALLOON_TIME(time) (HIGH_SCORE(HS_HORSE_BACK_BALLOON) = (time))
#define HS_GET_LOTTERY_CODE_GUESS() (HIGH_SCORE(HS_LOTTERY_GUESS) & 0xFFFF)
#define HS_SET_LOTTERY_CODE_GUESS(guess) (HIGH_SCORE(HS_LOTTERY_GUESS) = ((HIGH_SCORE(HS_LOTTERY_GUESS) & 0xFFFF0000) | ((guess) & 0xFFFF)))