mirror of https://github.com/zeldaret/mm.git
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:
parent
775501b28b
commit
d4c41f0263
|
@ -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);
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)))
|
||||
|
|
1
spec
1
spec
|
@ -531,7 +531,6 @@ beginseg
|
|||
include "build/data/code/z_message.data.o"
|
||||
include "build/data/code/z_message.bss.o"
|
||||
include "build/src/code/z_message_nes.o"
|
||||
include "build/data/code/z_message_nes.data.o"
|
||||
include "build/src/code/z_message_staff.o"
|
||||
include "build/src/code/z_player_call.o"
|
||||
include "build/src/code/z_shrink_window.o"
|
||||
|
|
|
@ -223,7 +223,7 @@ void Message_FindMessage(PlayState* play, u16 textId) {
|
|||
font->messageEnd = nextSegment - foundSegment;
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_80149F74.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_DrawItemIcon.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_HandleOcarina.s")
|
||||
|
||||
|
@ -272,7 +272,7 @@ void func_8014CCB4(PlayState* play, s16* decodedBufPos, s32* offset, f32* arg3)
|
|||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CDF0.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014CFDC.s")
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/Message_SetupLoadItemIcon.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_message/func_8014D304.s")
|
||||
|
||||
|
@ -363,7 +363,7 @@ void func_80151A68(PlayState* play, u16 textId) {
|
|||
msgCtx->msgLength = 0;
|
||||
func_80150D08(play, textId);
|
||||
func_80150A84(play);
|
||||
func_8015B198(play);
|
||||
Message_DecodeNES(play);
|
||||
msgCtx->msgMode = 0x45;
|
||||
msgCtx->textDelayTimer = 0;
|
||||
msgCtx->textboxColorAlphaCurrent = msgCtx->textboxColorAlphaTarget = msgCtx->textColorAlpha = 0;
|
||||
|
@ -548,7 +548,7 @@ void func_80153E7C(PlayState* play, Gfx** gfxP) {
|
|||
} else if (play->msgCtx.textIsCredits) {
|
||||
Message_DrawTextCredits(play, gfxP);
|
||||
} else {
|
||||
func_8015966C(play, gfxP, 0);
|
||||
Message_DrawTextNES(play, gfxP, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2838,14 +2838,14 @@
|
|||
0x8014995C:("Message_DrawTextChar",),
|
||||
0x80149C18:("func_80149C18",),
|
||||
0x80149EBC:("Message_FindMessage",),
|
||||
0x80149F74:("func_80149F74",),
|
||||
0x80149F74:("Message_DrawItemIcon",),
|
||||
0x8014AAD0:("Message_HandleOcarina",),
|
||||
0x8014ADBC:("func_8014ADBC",),
|
||||
0x8014C70C:("Message_LoadItemIcon",),
|
||||
0x8014CC14:("Message_LoadChar",),
|
||||
0x8014CCB4:("func_8014CCB4",),
|
||||
0x8014CDF0:("func_8014CDF0",),
|
||||
0x8014CFDC:("func_8014CFDC",),
|
||||
0x8014CFDC:("Message_SetupLoadItemIcon",),
|
||||
0x8014D304:("func_8014D304",),
|
||||
0x8014D62C:("func_8014D62C",),
|
||||
0x8014D7B4:("func_8014D7B4",),
|
||||
|
@ -2881,9 +2881,9 @@
|
|||
0x80158D98:("Message_LoadRupeesNES",),
|
||||
0x80158FB0:("Message_LoadTimeNES",),
|
||||
0x8015926C:("Message_LoadOwlWarpTextNES",),
|
||||
0x80159438:("func_80159438",),
|
||||
0x8015966C:("func_8015966C",),
|
||||
0x8015B198:("func_8015B198",),
|
||||
0x80159438:("Message_GetTimerDigitsNES",),
|
||||
0x8015966C:("Message_DrawTextNES",),
|
||||
0x8015B198:("Message_DecodeNES",),
|
||||
0x8015E750:("Message_FindCreditsMessage",),
|
||||
0x8015E7EC:("Message_DrawTextCredits",),
|
||||
0x8015F8A8:("Message_DecodeCredits",),
|
||||
|
|
|
@ -2058,10 +2058,10 @@
|
|||
0x801D045A:("D_801D045A","UNK_TYPE1","",0x1),
|
||||
0x801D0462:("D_801D0462","UNK_TYPE1","",0x1),
|
||||
0x801D0468:("D_801D0468","UNK_TYPE1","",0x1),
|
||||
0x801D0470:("D_801D0470","UNK_TYPE1","",0x1),
|
||||
0x801D06F0:("D_801D06F0","char","[]",0x18),
|
||||
0x801D0470:("sNESFontWidths","UNK_TYPE1","",0x1),
|
||||
0x801D06F0:("sRupeesTextLocalization","char","[]",0x18),
|
||||
0x801D0708:("D_801D0708","char","[]",1),
|
||||
0x801D0710:("D_801D0710","UNK_TYPE1","",0x1),
|
||||
0x801D0710:("sRupeesTextLength","UNK_TYPE1","",0x1),
|
||||
0x801D0714:("D_801D0714","char","[]",0x1),
|
||||
0x801D0724:("D_801D0724","char","[]",0x1),
|
||||
0x801D0730:("D_801D0730","char","[]",0x1),
|
||||
|
@ -2083,14 +2083,13 @@
|
|||
0x801D07DC:("D_801D07DC","UNK_TYPE1","",0x1),
|
||||
0x801D080C:("D_801D080C","UNK_TYPE1","",0x1),
|
||||
0x801D083C:("D_801D083C","UNK_TYPE1","",0x1),
|
||||
0x801D086C:("D_801D086C","UNK_TYPE1","",0x1),
|
||||
0x801D0890:("D_801D0890","UNK_TYPE1","",0x1),
|
||||
0x801D086C:("D_801D086C","UNK_TYPE1","",0x30),
|
||||
0x801D089C:("D_801D089C","UNK_TYPE1","",0x1),
|
||||
0x801D08CC:("D_801D08CC","UNK_TYPE1","",0x1),
|
||||
0x801D08D8:("D_801D08D8","UNK_TYPE1","",0x1),
|
||||
0x801D08E4:("D_801D08E4","UNK_TYPE1","",0x1),
|
||||
0x801D08E8:("D_801D08E8","UNK_TYPE1","",0x1),
|
||||
0x801D0900:("D_801D0900","UNK_TYPE1","",0x1),
|
||||
0x801D08E8:("sMaskCodeTextENG","UNK_TYPE1","",0x1),
|
||||
0x801D0900:("sMaskCodeTextLengthENG","UNK_TYPE1","",0x1),
|
||||
0x801D0B50:("Player_InitVars","ActorInit","",0x20),
|
||||
0x801D0B70:("gKaleidoMgrOverlayTable","KaleidoMgrOverlay","",0x38),
|
||||
0x801D0BA8:("sKaleidoAreaPtr","void*","",0x4),
|
||||
|
|
|
@ -2350,16 +2350,16 @@ asm/non_matchings/code/z_message/func_801491DC.s,func_801491DC,0x801491DC,0x9E
|
|||
asm/non_matchings/code/z_message/func_80149454.s,func_80149454,0x80149454,0x9D
|
||||
asm/non_matchings/code/z_message/func_801496C8.s,func_801496C8,0x801496C8,0xA5
|
||||
asm/non_matchings/code/z_message/func_8014995C.s,func_8014995C,0x8014995C,0xAF
|
||||
asm/non_matchings/code/z_message/func_80149C18.s,func_80149C18,0x80149C18,0xA9
|
||||
asm/non_matchings/code/z_message/Message_DrawItemIcon.s,Message_DrawItemIcon,0x80149C18,0xA9
|
||||
asm/non_matchings/code/z_message/Message_FindMessage.s,Message_FindMessage,0x80149EBC,0x2E
|
||||
asm/non_matchings/code/z_message/func_80149F74.s,func_80149F74,0x80149F74,0x2D7
|
||||
asm/non_matchings/code/z_message/Message_DrawItemIcon.s,Message_DrawItemIcon,0x80149F74,0x2D7
|
||||
asm/non_matchings/code/z_message/func_8014AAD0.s,func_8014AAD0,0x8014AAD0,0xBB
|
||||
asm/non_matchings/code/z_message/func_8014ADBC.s,func_8014ADBC,0x8014ADBC,0x654
|
||||
asm/non_matchings/code/z_message/func_8014C70C.s,func_8014C70C,0x8014C70C,0x142
|
||||
asm/non_matchings/code/z_message/Message_LoadChar.s,Message_LoadChar,0x8014CC14,0x28
|
||||
asm/non_matchings/code/z_message/func_8014CCB4.s,func_8014CCB4,0x8014CCB4,0x4F
|
||||
asm/non_matchings/code/z_message/func_8014CDF0.s,func_8014CDF0,0x8014CDF0,0x7B
|
||||
asm/non_matchings/code/z_message/func_8014CFDC.s,func_8014CFDC,0x8014CFDC,0xCA
|
||||
asm/non_matchings/code/z_message/Message_SetupLoadItemIcon.s,Message_SetupLoadItemIcon,0x8014CFDC,0xCA
|
||||
asm/non_matchings/code/z_message/func_8014D304.s,func_8014D304,0x8014D304,0xCA
|
||||
asm/non_matchings/code/z_message/func_8014D62C.s,func_8014D62C,0x8014D62C,0x62
|
||||
asm/non_matchings/code/z_message/func_8014D7B4.s,func_8014D7B4,0x8014D7B4,0xCB4
|
||||
|
|
|
Loading…
Reference in New Issue