mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
Z_message (2 NON_MATCHINGS) (#1398)
* matched func_8014D62C * matched func_8014D304 * matched func_80149048 * matched func_80159438 & func_8014CDF0 * matched Message_GetState * matched func_80152CAC * matched func_80149454 * matched func_801491DC * matched func_80150A84 * matched func_801496C8 * matched func_80149C18 * func_8014995C progress * matched 8014995C * matched func_80153EF0 * fix MessageContext lottery guess array size to match func_801496C8 * matched 80148D64 * matched func_8014AAD0 * progress func_8014CFDC * matched func_8014CFDC * progress func_801514B0 * progress#2 func_801514B0 * matched func_801514B0 * progress func_8014C70C * Progress on few functions * fix some variables & func name * change unk11F00 type and usages * func_8014C70C matched * match func_8015268c * fix building * format * engi message WIP * enums, cleanup * missed one * oops * even more enums * another oops * func_8015E7EC NON_MATCHING * cleanup Message_DrawTextCredits * MSGMODE cleanup * import sFontWidths * Import z_message_nes data * Message_DrawTextNES draft * fix types in message_nes * Message_DrawTextNES NON_EQUIVALENT * Message_DrawTextNES improvement Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> * Import bss * fixes * Data clean up * Delete Message_Decode m2c output * Readd Message_Update data * import data * func declaration * cleanup * Language enum * fix naming, some flags * Update functions and variables related to the bombers notebook event queue. * Update renamed variables.txt * format * attempt Message_DecodeCredits * begin Message_DecodeNES * decode cleanup * incremental improvements on Message_DecodeNES * oops * more progress * first attempt at Message_Decode * cleanup Message_Decode * Message_Decode progress * good progress on decode loops * more progress * good Message_Decode progress, thank anon * decode creep * big improvements, thanks anon/hatal * small nes improvement * cleanup * match Message_DrawTextDefault, big progress on Message_DrawTextNES * namefixer for save structs * Some cleanup/fix non-equivalencies in decodes * cleanup * Small cleanup * func_80150A84 * TextBoxType enum usage * Format * match Message_DecodeCredit by Maide, small improvement in Message_DrawTextNES * comments * some docs * cleanup, improve matches * Some improvement Co-Authored-By: Santiago <github-santaclose-noreplay@NA.com> * Fixes * Missed * Match Message_DrawTextNES * Move functions to z64message.h * string macros * Small cleanups * 1 more small thing * decompme scratches * Cleanup * Item enum * PR * SEGMENT_ROM_START * PR * format * ocarina cleanup --------- Co-authored-by: andzura <andzura@andzura.fr> Co-authored-by: Angie <angheloalf95@gmail.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: Zoey Zolotova <zoey.zolotova@gmail.com> Co-authored-by: Santiago <github-santaclose-noreplay@NA.com>
This commit is contained in:
co-authored by
andzura
Angie
engineer124
engineer124
Zoey Zolotova
Santiago
parent
f08a69a2cb
commit
9e72c240d9
+1
-63
@@ -991,68 +991,6 @@ void func_8014116C(Gfx** gfxP, u16* arg1, u16* workBuffer, s32 width, s32 height
|
||||
// void func_80141678(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
|
||||
void func_80141778(Struct_80140E80* arg0, Gfx** gfxp, void* unk_18E60, GraphicsContext* gfxCtx);
|
||||
|
||||
// void func_80147520(void);
|
||||
void func_80147564(PlayState* play);
|
||||
s32 Message_ShouldAdvance(PlayState* play);
|
||||
s32 Message_ShouldAdvanceSilent(PlayState* play);
|
||||
void Message_CloseTextbox(PlayState* play);
|
||||
void func_80147818(PlayState* play, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
||||
// void func_80147F18(PlayState* play, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
||||
// void func_80148558(PlayState* play, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
|
||||
void func_80148B98(PlayState* play, u8 arg1);
|
||||
// void func_80148CBC(void);
|
||||
// void func_80148D64(void);
|
||||
// void func_80149048(void);
|
||||
// void func_801491DC(void);
|
||||
// void func_80149454(void);
|
||||
// void func_801496C8(void);
|
||||
void Message_DrawTextChar(PlayState* play, TexturePtr texture, Gfx** gfxP);
|
||||
void func_80149C18(PlayState* play);
|
||||
// void Message_FindMessage(void);
|
||||
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_SetupLoadItemIcon(PlayState* play);
|
||||
// void func_8014CCB4(void);
|
||||
// void func_8014CDF0(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);
|
||||
void func_80150A84(PlayState* play);
|
||||
void func_80150D08(PlayState* play, u32 uParm2);
|
||||
void func_801514B0(PlayState* play, u16 arg1, u8 arg2);
|
||||
void Message_StartTextbox(PlayState* play, u16 textId, Actor* actor);
|
||||
void Message_ContinueTextbox(PlayState* play, u16 textId);
|
||||
void func_80151A68(PlayState* play, u16 textId);
|
||||
void Message_BombersNotebookQueueEvent(PlayState* play, u8 event);
|
||||
// void func_80151C9C(void);
|
||||
void func_80151DA4(PlayState* play, u16 arg2);
|
||||
void func_80152434(PlayState* play, u16 arg2);
|
||||
// void func_80152464(void);
|
||||
u8 Message_GetState(MessageContext* msgCtx);
|
||||
// void func_8015268C(void);
|
||||
// void func_80152C64(void);
|
||||
// void func_80152CAC(void);
|
||||
// void func_80152EC0(void);
|
||||
// void func_80152FB8(void);
|
||||
// void func_80153750(void);
|
||||
// void func_80153E7C(void);
|
||||
// void func_80153EF0(void);
|
||||
void func_801541D4(PlayState* play, Gfx** gfxp);
|
||||
void Message_Draw(PlayState* play);
|
||||
void Message_Update(PlayState* play);
|
||||
void func_801586A4(PlayState* play);
|
||||
void Message_Init(PlayState* play);
|
||||
void Message_FindMessageNES(PlayState* play, u16 textId);
|
||||
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 Message_DecodeCredits(PlayState* play);
|
||||
|
||||
uintptr_t KaleidoManager_FaultAddrConv(uintptr_t address, void* param);
|
||||
void KaleidoManager_LoadOvl(KaleidoMgrOverlay* ovl);
|
||||
void KaleidoManager_ClearOvl(KaleidoMgrOverlay* ovl);
|
||||
@@ -1463,7 +1401,7 @@ void Audio_StopSequenceInCutscene(u16 seqId);
|
||||
s32 Audio_IsSequencePlaying(u8 seqId);
|
||||
void Audio_PlayBgm_StorePrevBgm(u16 seqId);
|
||||
void Audio_RestorePrevBgm(void);
|
||||
// void func_801A3000(void);
|
||||
void func_801A3000(u16 seqId, u8 ioData);
|
||||
// void func_801A3038(void);
|
||||
void Audio_PlayFanfare(u16 seqId);
|
||||
// void func_801A312C(void);
|
||||
|
||||
@@ -219,137 +219,6 @@ extern UNK_PTR D_801C5C50;
|
||||
// extern UNK_TYPE1 D_801C5C9C;
|
||||
extern UNK_PTR D_801C5CB0;
|
||||
|
||||
// extern UNK_TYPE1 D_801C6A70;
|
||||
// extern UNK_TYPE2 D_801C6A74;
|
||||
// extern UNK_TYPE2 D_801C6A78;
|
||||
// extern UNK_TYPE2 D_801C6A7C;
|
||||
// extern UNK_TYPE2 D_801C6A80;
|
||||
// extern UNK_TYPE2 D_801C6A84;
|
||||
// extern UNK_TYPE2 D_801C6A88;
|
||||
// extern UNK_TYPE2 D_801C6A8C;
|
||||
// extern UNK_TYPE2 D_801C6A90;
|
||||
// extern UNK_TYPE2 D_801C6A94;
|
||||
extern u8 gPageSwitchNextButtonStatus[6][5];
|
||||
// extern UNK_TYPE1 D_801CED40;
|
||||
// extern UNK_TYPE2 D_801CFC78;
|
||||
// extern UNK_TYPE1 D_801CFC7A;
|
||||
// extern UNK_TYPE1 D_801CFC7C;
|
||||
// extern UNK_TYPE1 D_801CFC7E;
|
||||
// extern UNK_TYPE1 D_801CFC84;
|
||||
// extern UNK_TYPE1 D_801CFC88;
|
||||
// extern UNK_TYPE1 D_801CFC8C;
|
||||
// extern UNK_TYPE1 D_801CFC8E;
|
||||
// extern UNK_TYPE1 D_801CFC92;
|
||||
extern u8 D_801CFC98;
|
||||
extern s16 D_801CFCA4[9];
|
||||
// extern UNK_TYPE2 D_801CFCAC;
|
||||
extern s16 gOcarinaSongItemMap[];
|
||||
// extern UNK_TYPE2 D_801CFCD8;
|
||||
// extern UNK_TYPE2 D_801CFCE4;
|
||||
// extern UNK_TYPE2 D_801CFCF0;
|
||||
// extern UNK_TYPE2 D_801CFCF4;
|
||||
// extern UNK_TYPE2 D_801CFCF8;
|
||||
// extern UNK_TYPE2 D_801CFCFC;
|
||||
// extern UNK_TYPE2 D_801CFD00;
|
||||
// extern UNK_TYPE2 D_801CFD04;
|
||||
// extern UNK_TYPE2 D_801CFD08;
|
||||
// extern UNK_TYPE2 D_801CFD0C;
|
||||
// extern UNK_TYPE2 D_801CFD10;
|
||||
// extern UNK_TYPE2 D_801CFD1C;
|
||||
// extern UNK_TYPE2 D_801CFD28;
|
||||
// extern UNK_TYPE2 D_801CFD2C;
|
||||
// extern UNK_TYPE2 D_801CFD30;
|
||||
// extern UNK_TYPE2 D_801CFD34;
|
||||
// extern UNK_TYPE2 D_801CFD38;
|
||||
// extern UNK_TYPE2 D_801CFD3C;
|
||||
// extern UNK_TYPE2 D_801CFD40;
|
||||
// extern UNK_TYPE2 D_801CFD44;
|
||||
// extern UNK_TYPE2 D_801CFD48;
|
||||
// extern UNK_TYPE2 D_801CFD54;
|
||||
// extern UNK_TYPE2 D_801CFD60;
|
||||
// extern UNK_TYPE2 D_801CFD64;
|
||||
// extern UNK_TYPE2 D_801CFD68;
|
||||
// extern UNK_TYPE2 D_801CFD6C;
|
||||
// extern UNK_TYPE2 D_801CFD70;
|
||||
// extern UNK_TYPE2 D_801CFD74;
|
||||
// extern UNK_TYPE2 D_801CFD78;
|
||||
// extern UNK_TYPE2 D_801CFD7C;
|
||||
// extern UNK_TYPE2 D_801CFD80;
|
||||
// extern UNK_TYPE2 D_801CFD84;
|
||||
// extern UNK_TYPE2 D_801CFD88;
|
||||
// extern UNK_TYPE2 D_801CFD8C;
|
||||
// extern UNK_TYPE2 D_801CFD90;
|
||||
extern UNK_PTR D_801CFD94;
|
||||
// extern UNK_TYPE2 D_801CFD98;
|
||||
// extern UNK_TYPE2 D_801CFD9C;
|
||||
// extern UNK_TYPE2 D_801CFDA0;
|
||||
// extern UNK_TYPE1 D_801CFDA4;
|
||||
// extern UNK_TYPE1 D_801CFDC8;
|
||||
// extern UNK_TYPE1 D_801CFDEC;
|
||||
// extern UNK_TYPE1 D_801CFE04;
|
||||
// extern UNK_TYPE1 D_801CFE1C;
|
||||
// extern UNK_TYPE1 D_801CFE34;
|
||||
// extern UNK_TYPE1 D_801CFE4C;
|
||||
// extern UNK_TYPE1 D_801CFE5C;
|
||||
// extern UNK_TYPE1 D_801CFE68;
|
||||
// extern UNK_TYPE1 D_801CFE74;
|
||||
// extern UNK_TYPE1 D_801CFEA4;
|
||||
// extern UNK_TYPE1 D_801CFED4;
|
||||
// extern UNK_TYPE1 D_801CFF04;
|
||||
// extern UNK_TYPE1 D_801CFF34;
|
||||
// extern UNK_TYPE1 D_801CFF64;
|
||||
// extern UNK_TYPE1 D_801CFF70;
|
||||
// extern UNK_TYPE1 D_801CFF7C;
|
||||
// extern UNK_TYPE1 D_801CFF88;
|
||||
// extern UNK_TYPE1 D_801CFF94;
|
||||
// extern UNK_TYPE1 D_801D0000;
|
||||
// extern UNK_TYPE1 D_801D0001;
|
||||
// extern UNK_TYPE1 D_801D001F;
|
||||
// extern UNK_TYPE1 D_801D0188;
|
||||
// extern UNK_TYPE1 D_801D023A;
|
||||
// extern UNK_TYPE1 D_801D0250;
|
||||
// extern UNK_TYPE2 D_801D0268;
|
||||
// extern UNK_TYPE1 D_801D027C;
|
||||
// extern UNK_TYPE1 D_801D0284;
|
||||
// extern UNK_TYPE1 D_801D028C;
|
||||
// extern UNK_TYPE1 D_801D02C0;
|
||||
// extern UNK_TYPE1 D_801D02D8;
|
||||
// extern UNK_TYPE1 D_801D02F8;
|
||||
// extern UNK_TYPE1 D_801D0330;
|
||||
// extern UNK_TYPE1 D_801D0334;
|
||||
// extern UNK_TYPE1 D_801D0340;
|
||||
// extern UNK_TYPE1 D_801D034C;
|
||||
// extern UNK_TYPE1 D_801D0358;
|
||||
// extern UNK_TYPE1 D_801D0364;
|
||||
// extern UNK_TYPE1 D_801D0378;
|
||||
extern char D_801D039C[];
|
||||
// extern UNK_TYPE1 D_801D03A4;
|
||||
// extern UNK_TYPE1 D_801D03A8;
|
||||
// extern UNK_TYPE1 D_801D03C8;
|
||||
// extern UNK_TYPE1 D_801D03E8;
|
||||
// extern UNK_TYPE1 D_801D03F0;
|
||||
// extern UNK_TYPE1 D_801D0401;
|
||||
// extern UNK_TYPE1 D_801D0408;
|
||||
// extern UNK_TYPE1 D_801D0428;
|
||||
// extern UNK_TYPE1 D_801D045A;
|
||||
// extern UNK_TYPE1 D_801D0462;
|
||||
//extern UNK_TYPE1 D_801D0468;
|
||||
// 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;
|
||||
// extern UNK_TYPE1 D_801D080C;
|
||||
// extern UNK_TYPE1 D_801D083C;
|
||||
// extern UNK_TYPE1 D_801D086C;
|
||||
// extern UNK_TYPE1 D_801D0890;
|
||||
// extern UNK_TYPE1 D_801D089C;
|
||||
// extern UNK_TYPE1 D_801D08CC;
|
||||
// extern UNK_TYPE1 D_801D08D8;
|
||||
// extern UNK_TYPE1 D_801D08E4;
|
||||
// extern UNK_TYPE1 sMaskCodeTextENG;
|
||||
// extern UNK_TYPE1 sMaskCodeTextLengthENG;
|
||||
extern KaleidoMgrOverlay gKaleidoMgrOverlayTable[2];
|
||||
// extern UNK_TYPE1 D_801D0B8C;
|
||||
extern KaleidoMgrOverlay* gKaleidoMgrCurOvl;
|
||||
|
||||
@@ -326,6 +326,27 @@ typedef enum ItemId {
|
||||
/* 0xB1 */ ITEM_MAP_POINT_MOUNTAIN_VILLAGE,
|
||||
/* 0xB2 */ ITEM_MAP_POINT_MILK_ROAD,
|
||||
/* 0xB3 */ ITEM_MAP_POINT_ZORA_CAPE,
|
||||
/* 0xB8 */ ITEM_B8 = 0xB8,
|
||||
/* 0xB9 */ ITEM_B9,
|
||||
/* 0xBA */ ITEM_BA,
|
||||
/* 0xBB */ ITEM_BB,
|
||||
/* 0xBC */ ITEM_BC,
|
||||
/* 0xBD */ ITEM_BD,
|
||||
/* 0xBE */ ITEM_BE,
|
||||
/* 0xBF */ ITEM_BF,
|
||||
/* 0xC0 */ ITEM_C0,
|
||||
/* 0xC1 */ ITEM_C1,
|
||||
/* 0xC2 */ ITEM_C2,
|
||||
/* 0xC3 */ ITEM_C3,
|
||||
/* 0xC4 */ ITEM_C4,
|
||||
/* 0xC5 */ ITEM_C5,
|
||||
/* 0xC6 */ ITEM_C6,
|
||||
/* 0xC7 */ ITEM_C7,
|
||||
/* 0xC8 */ ITEM_C8,
|
||||
/* 0xC9 */ ITEM_C9,
|
||||
/* 0xCA */ ITEM_CA,
|
||||
/* 0xCB */ ITEM_CB,
|
||||
/* 0xCC */ ITEM_CC,
|
||||
/* 0xF0 */ ITEM_F0 = 0xF0, // PLAYER_MASK_BLAST
|
||||
/* 0xF1 */ ITEM_F1, // PLAYER_MASK_BREMEN
|
||||
/* 0xF2 */ ITEM_F2, // PLAYER_MASK_KAMARO
|
||||
|
||||
+31
-6
@@ -139,9 +139,6 @@ typedef enum MessageMode {
|
||||
/* 0x4F */ MSGMODE_OWL_SAVE_2
|
||||
} MessageMode;
|
||||
|
||||
extern u16 sBombersNotebookEventMessages[BOMBERS_NOTEBOOK_EVENT_MAX];
|
||||
extern u16 gBombersNotebookWeekEventFlags[BOMBERS_NOTEBOOK_EVENT_MAX];
|
||||
|
||||
typedef enum FaceReactionSet {
|
||||
/* 0x11 */ FACE_REACTION_SET_JIM = 0x11,
|
||||
/* 0x12 */ FACE_REACTION_SET_BOMBERS,
|
||||
@@ -177,7 +174,6 @@ typedef enum TextState {
|
||||
/* 18 */ TEXT_STATE_18
|
||||
} TextState;
|
||||
|
||||
|
||||
#define FONT_CHAR_TEX_WIDTH 16
|
||||
#define FONT_CHAR_TEX_HEIGHT 16
|
||||
//! TODO: Make this use `sizeof(AnyFontTextureSymbol)`
|
||||
@@ -203,8 +199,8 @@ typedef struct {
|
||||
u16 wchar[640]; // msgBufWide
|
||||
u64 force_structure_alignment_msg;
|
||||
} msgBuf;
|
||||
/* 0x11D80 */ u8* messageStart;
|
||||
/* 0x11D84 */ u8* messageEnd;
|
||||
/* 0x11D80 */ u32 messageStart;
|
||||
/* 0x11D84 */ u32 messageEnd;
|
||||
/* 0x11D88 */ u8 unk_11D88; // current Char Buffer ?
|
||||
} Font; // size = 0x11D90
|
||||
|
||||
@@ -324,4 +320,33 @@ typedef struct MessageContext {
|
||||
/* 0x120DA */ UNK_TYPE1 unk_120DA[0x6];
|
||||
} MessageContext; // size = 0x120E0
|
||||
|
||||
s32 Message_ShouldAdvance(struct PlayState* play);
|
||||
void Message_CloseTextbox(struct PlayState* play);
|
||||
void Message_DrawTextChar(struct PlayState* play, TexturePtr texture, Gfx** gfxP);
|
||||
void Message_DrawItemIcon(struct PlayState* play, Gfx** gfxP);
|
||||
void Message_HandleOcarina(struct PlayState* play);
|
||||
void Message_LoadItemIcon(struct PlayState* play, u16 itemId, s16 arg2);
|
||||
void Message_SetupLoadItemIcon(struct PlayState* play);
|
||||
void func_801514B0(struct PlayState* play, u16 arg1, u8 arg2);
|
||||
void Message_StartTextbox(struct PlayState* play, u16 textId, Actor* actor);
|
||||
void Message_ContinueTextbox(struct PlayState* play, u16 textId);
|
||||
void Message_DisplaySceneTitleCard(struct PlayState* play, u16 textId);
|
||||
void Message_BombersNotebookQueueEvent(struct PlayState* play, u8 event);
|
||||
void Message_DisplayOcarinaStaff(struct PlayState* play, u16 ocarinaAction);
|
||||
void Message_DisplayOcarinaStaffBlockSunsSong(struct PlayState* play, u16 ocarinaAction);
|
||||
u8 Message_GetState(MessageContext* msgCtx);
|
||||
void Message_Draw(struct PlayState* play);
|
||||
void Message_Update(struct PlayState* play);
|
||||
void Message_Init(struct PlayState* play);
|
||||
void Message_FindMessageNES(struct PlayState* play, u16 textId);
|
||||
void Message_DrawTextNES(struct PlayState* play, Gfx** gfxP, u16 textDrawPos);
|
||||
void Message_DecodeNES(struct PlayState* play);
|
||||
void Message_FindCreditsMessage(struct PlayState* play, u16 textId);
|
||||
void Message_DrawTextCredits(struct PlayState* play, Gfx** gfxP);
|
||||
void Message_DecodeCredits(struct PlayState* play);
|
||||
|
||||
extern u8 gPageSwitchNextButtonStatus[6][5];
|
||||
extern u16 gBombersNotebookWeekEventFlags[BOMBERS_NOTEBOOK_EVENT_MAX];
|
||||
extern s16 gOcarinaSongItemMap[];
|
||||
|
||||
#endif
|
||||
|
||||
+139
-4
@@ -32,10 +32,135 @@ typedef enum {
|
||||
/* 24 */ OCARINA_SONG_SCARECROW_LONG = OCARINA_SONG_MAX // anything larger than 24 is considered the long scarecrow's song
|
||||
} OcarinaSongId;
|
||||
|
||||
typedef enum OcarinaMode {
|
||||
/* 0x18 */ OCARINA_MODE_APPLY_INV_SOT_FAST = 24,
|
||||
typedef enum {
|
||||
/* 0x00 */ OCARINA_ACTION_0, // acts like free play but never set
|
||||
/* 0x01 */ OCARINA_ACTION_FREE_PLAY,
|
||||
/* 0x02 */ OCARINA_ACTION_DEMONSTRATE_SONATA, // Song demonstrated/previewed by another actor/teacher
|
||||
/* 0x03 */ OCARINA_ACTION_DEMONSTRATE_GORON_LULLABY,
|
||||
/* 0x04 */ OCARINA_ACTION_DEMONSTRATE_NEW_WAVE,
|
||||
/* 0x05 */ OCARINA_ACTION_DEMONSTRATE_ELEGY,
|
||||
/* 0x06 */ OCARINA_ACTION_DEMONSTRATE_OATH,
|
||||
/* 0x07 */ OCARINA_ACTION_DEMONSTRATE_SARIAS,
|
||||
/* 0x08 */ OCARINA_ACTION_DEMONSTRATE_TIME,
|
||||
/* 0x09 */ OCARINA_ACTION_DEMONSTRATE_HEALING,
|
||||
/* 0x0A */ OCARINA_ACTION_DEMONSTRATE_EPONAS,
|
||||
/* 0x0B */ OCARINA_ACTION_DEMONSTRATE_SOARING,
|
||||
/* 0x0C */ OCARINA_ACTION_DEMONSTRATE_STORMS,
|
||||
/* 0x0D */ OCARINA_ACTION_DEMONSTRATE_SUNS,
|
||||
/* 0x0E */ OCARINA_ACTION_DEMONSTRATE_INVERTED_TIME,
|
||||
/* 0x0F */ OCARINA_ACTION_DEMONSTRATE_DOUBLE_TIME,
|
||||
/* 0x10 */ OCARINA_ACTION_DEMONSTRATE_GORON_LULLABY_INTRO,
|
||||
/* 0x11 */ OCARINA_ACTION_11,
|
||||
/* 0x12 */ OCARINA_ACTION_PROMPT_SONATA, // User plays back song through inputing 1 note at a time, as a tutorial. Each note is verified.
|
||||
/* 0x13 */ OCARINA_ACTION_PROMPT_GORON_LULLABY,
|
||||
/* 0x14 */ OCARINA_ACTION_PROMPT_NEW_WAVE,
|
||||
/* 0x15 */ OCARINA_ACTION_PROMPT_ELEGY,
|
||||
/* 0x16 */ OCARINA_ACTION_PROMPT_OATH,
|
||||
/* 0x17 */ OCARINA_ACTION_PROMPT_SARIAS,
|
||||
/* 0x18 */ OCARINA_ACTION_PROMPT_TIME,
|
||||
/* 0x19 */ OCARINA_ACTION_PROMPT_HEALING,
|
||||
/* 0x1A */ OCARINA_ACTION_PROMPT_EPONAS,
|
||||
/* 0x1B */ OCARINA_ACTION_PROMPT_SOARING,
|
||||
/* 0x1C */ OCARINA_ACTION_PROMPT_STORMS,
|
||||
/* 0x1D */ OCARINA_ACTION_PROMPT_SUNS,
|
||||
/* 0x1E */ OCARINA_ACTION_PROMPT_INVERTED_TIME,
|
||||
/* 0x1F */ OCARINA_ACTION_PROMPT_DOUBLE_TIME,
|
||||
/* 0x20 */ OCARINA_ACTION_PROMPT_GORON_LULLABY_INTRO,
|
||||
/* 0x21 */ OCARINA_ACTION_21,
|
||||
/* 0x22 */ OCARINA_ACTION_CHECK_SONATA, // Once the entire song is played, checks for a specific song. Broken as playing any dungeon song will softlock.
|
||||
/* 0x23 */ OCARINA_ACTION_CHECK_GORON_LULLABY,
|
||||
/* 0x24 */ OCARINA_ACTION_CHECK_NEW_WAVE,
|
||||
/* 0x25 */ OCARINA_ACTION_CHECK_ELEGY,
|
||||
/* 0x26 */ OCARINA_ACTION_CHECK_OATH,
|
||||
/* 0x27 */ OCARINA_ACTION_CHECK_SARIAS,
|
||||
/* 0x28 */ OCARINA_ACTION_CHECK_TIME,
|
||||
/* 0x29 */ OCARINA_ACTION_CHECK_HEALING,
|
||||
/* 0x2A */ OCARINA_ACTION_CHECK_EPONAS,
|
||||
/* 0x2B */ OCARINA_ACTION_CHECK_SOARING,
|
||||
/* 0x2C */ OCARINA_ACTION_CHECK_STORMS,
|
||||
/* 0x2D */ OCARINA_ACTION_CHECK_SUNS,
|
||||
/* 0x2E */ OCARINA_ACTION_CHECK_INVERTED_TIME,
|
||||
/* 0x2F */ OCARINA_ACTION_CHECK_DOUBLE_TIME,
|
||||
/* 0x30 */ OCARINA_ACTION_CHECK_GORON_LULLABY_INTRO,
|
||||
/* 0x31 */ OCARINA_ACTION_CHECK_SCARECROW_SPAWN, // TODO: Verify (may include more)
|
||||
/* 0x32 */ OCARINA_ACTION_FREE_PLAY_DONE,
|
||||
/* 0x33 */ OCARINA_ACTION_SCARECROW_LONG_RECORDING,
|
||||
/* 0x34 */ OCARINA_ACTION_SCARECROW_LONG_DEMONSTRATION,
|
||||
/* 0x35 */ OCARINA_ACTION_SCARECROW_SPAWN_RECORDING,
|
||||
/* 0x36 */ OCARINA_ACTION_SCARECROW_SPAWN_DEMONSTRATION,
|
||||
/* 0x37 */ OCARINA_ACTION_37,
|
||||
/* 0x38 */ OCARINA_ACTION_CHECK_NOTIME,
|
||||
/* 0x39 */ OCARINA_ACTION_CHECK_NOTIME_DONE,
|
||||
/* 0x3A */ OCARINA_ACTION_3A, // Monkey Instrument Prompt
|
||||
/* 0x3B */ OCARINA_ACTION_3B,
|
||||
/* 0x3C */ OCARINA_ACTION_3C,
|
||||
/* 0x3D */ OCARINA_ACTION_DEMONSTRATE_EVAN_PART1_FIRST_HALF, // Evan Part 1 demonstrate first half (Japa)
|
||||
/* 0x3E */ OCARINA_ACTION_DEMONSTRATE_EVAN_PART2_FIRST_HALF, // Evan Part 2 demonstrate first half (Japa)
|
||||
/* 0x3F */ OCARINA_ACTION_DEMONSTRATE_EVAN_PART1_SECOND_HALF, // Evan Part 1 demonstrate second half (Diary)
|
||||
/* 0x40 */ OCARINA_ACTION_DEMONSTRATE_EVAN_PART2_SECOND_HALF, // Evan Part 2 demonstrate second half (Diary)
|
||||
/* 0x41 */ OCARINA_ACTION_PROMPT_EVAN_PART1_SECOND_HALF, // Evan Part 1 prompt second half (Japa)
|
||||
/* 0x42 */ OCARINA_ACTION_PROMPT_EVAN_PART2_SECOND_HALF, // Evan Part 2 prompt second half (Japa)
|
||||
/* 0x43 */ OCARINA_ACTION_PROMPT_WIND_FISH_HUMAN,
|
||||
/* 0x44 */ OCARINA_ACTION_PROMPT_WIND_FISH_GORON,
|
||||
/* 0x45 */ OCARINA_ACTION_PROMPT_WIND_FISH_ZORA,
|
||||
/* 0x46 */ OCARINA_ACTION_PROMPT_WIND_FISH_DEKU,
|
||||
/* 0x47 */ OCARINA_ACTION_TIMED_PROMPT_SONATA, // Playing back a particular song, but must also time the notes properly. Not fully implemented
|
||||
/* 0x48 */ OCARINA_ACTION_TIMED_PROMPT_GORON_LULLABY,
|
||||
/* 0x49 */ OCARINA_ACTION_TIMED_PROMPT_NEW_WAVE,
|
||||
/* 0x4A */ OCARINA_ACTION_TIMED_PROMPT_ELEGY,
|
||||
/* 0x4B */ OCARINA_ACTION_TIMED_PROMPT_OATH,
|
||||
/* 0x4C */ OCARINA_ACTION_TIMED_PROMPT_SARIAS,
|
||||
/* 0x4D */ OCARINA_ACTION_TIMED_PROMPT_TIME,
|
||||
/* 0x4E */ OCARINA_ACTION_TIMED_PROMPT_HEALING,
|
||||
/* 0x4F */ OCARINA_ACTION_TIMED_PROMPT_EPONAS,
|
||||
/* 0x50 */ OCARINA_ACTION_TIMED_PROMPT_SOARING,
|
||||
/* 0x51 */ OCARINA_ACTION_TIMED_PROMPT_STORMS
|
||||
} OcarinaSongActionId;
|
||||
|
||||
typedef enum {
|
||||
/* 0x00 */ OCARINA_MODE_NONE,
|
||||
/* 0x01 */ OCARINA_MODE_ACTIVE,
|
||||
/* 0x02 */ OCARINA_MODE_WARP,
|
||||
/* 0x03 */ OCARINA_MODE_EVENT,
|
||||
/* 0x04 */ OCARINA_MODE_END,
|
||||
/* 0x05 */ OCARINA_MODE_PLAYED_TIME, // Played Time
|
||||
/* 0x06 */ OCARINA_MODE_PLAYED_HEALING,
|
||||
/* 0x07 */ OCARINA_MODE_PLAYED_EPONAS,
|
||||
/* 0x08 */ OCARINA_MODE_PLAYED_SOARING,
|
||||
/* 0x09 */ OCARINA_MODE_PLAYED_STORMS,
|
||||
/* 0x0A */ OCARINA_MODE_PLAYED_SUNS,
|
||||
/* 0x0B */ OCARINA_MODE_PLAYED_INVERTED_TIME,
|
||||
/* 0x0C */ OCARINA_MODE_PLAYED_DOUBLE_TIME,
|
||||
/* 0x0D */ OCARINA_MODE_PLAYED_SCARECROW_SPAWN,
|
||||
/* 0x0E */ OCARINA_MODE_E,
|
||||
/* 0x0F */ OCARINA_MODE_F,
|
||||
/* 0x10 */ OCARINA_MODE_10,
|
||||
/* 0x11 */ OCARINA_MODE_11, // End memory/scarecrow from OoT
|
||||
/* 0x12 */ OCARINA_MODE_PROCESS_SOT, // Song of Time related
|
||||
/* 0x13 */ OCARINA_MODE_PROCESS_INVERTED_TIME, // Inverted Song of Time related
|
||||
/* 0x14 */ OCARINA_MODE_14,
|
||||
/* 0x15 */ OCARINA_MODE_PROCESS_DOUBLE_TIME, // Song of Double Time related
|
||||
/* 0x16 */ OCARINA_MODE_APPLY_SOT, // Apply
|
||||
/* 0x17 */ OCARINA_MODE_17,
|
||||
/* 0x18 */ OCARINA_MODE_APPLY_INV_SOT_FAST,
|
||||
/* 0x19 */ OCARINA_MODE_APPLY_INV_SOT_SLOW,
|
||||
/* 0x1A */ OCARINA_MODE_APPLY_DOUBLE_SOT
|
||||
/* 0x1A */ OCARINA_MODE_APPLY_DOUBLE_SOT,
|
||||
/* 0x1B */ OCARINA_MODE_1B,
|
||||
/* 0x1C */ OCARINA_MODE_WARP_TO_GREAT_BAY_COAST,
|
||||
/* 0x1D */ OCARINA_MODE_WARP_TO_ZORA_CAPE,
|
||||
/* 0x1E */ OCARINA_MODE_WARP_TO_SNOWHEAD,
|
||||
/* 0x1F */ OCARINA_MODE_WARP_TO_MOUNTAIN_VILLAGE,
|
||||
/* 0x20 */ OCARINA_MODE_WARP_TO_SOUTH_CLOCK_TOWN,
|
||||
/* 0x21 */ OCARINA_MODE_WARP_TO_MILK_ROAD,
|
||||
/* 0x22 */ OCARINA_MODE_WARP_TO_WOODFALL,
|
||||
/* 0x23 */ OCARINA_MODE_WARP_TO_SOUTHERN_SWAMP,
|
||||
/* 0x24 */ OCARINA_MODE_WARP_TO_IKANA_CANYON,
|
||||
/* 0x25 */ OCARINA_MODE_WARP_TO_STONE_TOWER,
|
||||
/* 0x26 */ OCARINA_MODE_WARP_TO_ENTRANCE,
|
||||
/* 0x27 */ OCARINA_MODE_PROCESS_RESTRICTED_SONG, // Variants of Song of Time, Soaring, or Elegy restricted
|
||||
/* 0x28 */ OCARINA_MODE_28,
|
||||
/* 0x29 */ OCARINA_MODE_29,
|
||||
/* 0x2A */ OCARINA_MODE_PLAYED_FULL_EVAN_SONG
|
||||
} OcarinaMode;
|
||||
|
||||
typedef enum {
|
||||
@@ -78,7 +203,7 @@ typedef enum {
|
||||
/* 3 */ OCARINA_INSTRUMENT_WHISTLING_FLUTE,
|
||||
/* 4 */ OCARINA_INSTRUMENT_HARP,
|
||||
/* 5 */ OCARINA_INSTRUMENT_IKANA_KING,
|
||||
/* 6 */ OCARINA_INSTRUMENT_TATL,
|
||||
/* 6 */ OCARINA_INSTRUMENT_TATL, // Sounds like bells
|
||||
/* 7 */ OCARINA_INSTRUMENT_GORON_DRUMS,
|
||||
/* 8 */ OCARINA_INSTRUMENT_ZORA_GUITAR,
|
||||
/* 9 */ OCARINA_INSTRUMENT_DEKU_PIPES,
|
||||
@@ -98,6 +223,16 @@ typedef enum {
|
||||
/* -1 */ OCARINA_RECORD_REJECTED = 0xFF
|
||||
} OcarinaRecordingState;
|
||||
|
||||
typedef enum {
|
||||
/* 0 */ OCARINA_ERROR_NONE,
|
||||
/* 1 */ OCARINA_ERROR_1,
|
||||
/* 2 */ OCARINA_ERROR_2,
|
||||
/* 3 */ OCARINA_ERROR_3,
|
||||
/* 4 */ OCARINA_ERROR_BEND,
|
||||
/* 5 */ OCARINA_ERROR_5,
|
||||
/* 0xFF */ OCARINA_ERROR_INACTIVE = 0xFF // Song not available
|
||||
} OcarinaError;
|
||||
|
||||
/**
|
||||
* bFlat4Flag Note:
|
||||
* Flag for resolving whether (pitch = OCARINA_PITCH_BFLAT4)
|
||||
|
||||
+5
-5
@@ -115,7 +115,7 @@ typedef enum {
|
||||
/* 16 */ TIMER_STATE_POSTMAN_END
|
||||
} TimerState;
|
||||
|
||||
typedef enum {
|
||||
typedef enum BottleTimerState {
|
||||
/* 0 */ BOTTLE_TIMER_STATE_OFF,
|
||||
/* 1 */ BOTTLE_TIMER_STATE_COUNTING
|
||||
} BottleTimerState;
|
||||
@@ -126,7 +126,7 @@ typedef enum {
|
||||
/* 3 */ MINIGAME_STATUS_END = 3
|
||||
} MinigameStatus;
|
||||
|
||||
typedef enum {
|
||||
typedef enum HudVisibility {
|
||||
/* 0 */ HUD_VISIBILITY_IDLE,
|
||||
/* 1 */ HUD_VISIBILITY_NONE,
|
||||
/* 2 */ HUD_VISIBILITY_NONE_ALT, // Identical to HUD_VISIBILITY_NONE
|
||||
@@ -304,7 +304,7 @@ typedef struct SaveInfo {
|
||||
/* 0xF38 */ u32 regionsVisited; // "area_arrival"
|
||||
/* 0xF3C */ u32 worldMapCloudVisibility; // "cloud_clear"
|
||||
/* 0xF40 */ u8 unk_F40; // "oca_rec_flag" has scarecrows song
|
||||
/* 0xF41 */ u8 unk_F41; // "oca_rec_flag8" scarecrows song set?
|
||||
/* 0xF41 */ u8 scarecrowSpawnSongSet; // "oca_rec_flag8"
|
||||
/* 0xF42 */ u8 scarecrowSpawnSong[128];
|
||||
/* 0xFC2 */ s8 bombersCaughtNum; // "aikotoba_index"
|
||||
/* 0xFC3 */ s8 bombersCaughtOrder[5]; // "aikotoba_table"
|
||||
@@ -453,8 +453,8 @@ typedef enum {
|
||||
|
||||
// The day begins at CLOCK_TIME(6, 0) so it must be offset.
|
||||
#define TIME_UNTIL_MOON_CRASH \
|
||||
((4 - CURRENT_DAY) * DAY_LENGTH - (u16)(((void)0, gSaveContext.save.time) - CLOCK_TIME(6, 0)));
|
||||
#define TIME_UNTIL_NEW_DAY (DAY_LENGTH - (u16)(((void)0, gSaveContext.save.time) - CLOCK_TIME(6, 0)));
|
||||
((4 - CURRENT_DAY) * DAY_LENGTH - (u16)(((void)0, gSaveContext.save.time) - CLOCK_TIME(6, 0)))
|
||||
#define TIME_UNTIL_NEW_DAY (DAY_LENGTH - (u16)(((void)0, gSaveContext.save.time) - CLOCK_TIME(6, 0)))
|
||||
|
||||
#define GET_PLAYER_FORM ((void)0, gSaveContext.save.playerForm)
|
||||
|
||||
|
||||
@@ -528,8 +528,6 @@ beginseg
|
||||
include "build/src/code/z_vr_box_draw.o"
|
||||
include "build/src/code/z_sram_NES.o"
|
||||
include "build/src/code/z_message.o"
|
||||
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/src/code/z_message_staff.o"
|
||||
include "build/src/code/z_player_call.o"
|
||||
|
||||
@@ -18,7 +18,7 @@ void SaveContext_Init(void) {
|
||||
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
|
||||
gSaveContext.prevHudVisibility = HUD_VISIBILITY_ALL;
|
||||
|
||||
gSaveContext.options.language = 1;
|
||||
gSaveContext.options.language = LANGUAGE_ENG;
|
||||
gSaveContext.options.audioSetting = SAVE_AUDIO_STEREO;
|
||||
gSaveContext.options.zTargetSetting = 0;
|
||||
}
|
||||
|
||||
+4
-4
@@ -197,7 +197,7 @@ void CutsceneCmd_Misc(PlayState* play, CutsceneContext* csCtx, CsCmdMisc* cmd) {
|
||||
if (isFirstFrame) {
|
||||
loadedScene = play->loadedScene;
|
||||
if (loadedScene->titleTextId != 0) {
|
||||
func_80151A68(play, loadedScene->titleTextId);
|
||||
Message_DisplaySceneTitleCard(play, loadedScene->titleTextId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1043,7 +1043,7 @@ void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) {
|
||||
if (sCurOcarinaAction != cmd->textId) {
|
||||
sCutsceneTextboxType = CS_TEXT_OCARINA_ACTION;
|
||||
sCurOcarinaAction = cmd->textId;
|
||||
func_80152434(play, cmd->textId);
|
||||
Message_DisplayOcarinaStaff(play, cmd->textId);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1098,7 +1098,7 @@ void CutsceneCmd_Text(PlayState* play, CutsceneContext* csCtx, CsCmdText* cmd) {
|
||||
}
|
||||
|
||||
if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
|
||||
func_80152434(play, cmd->textId);
|
||||
Message_DisplayOcarinaStaff(play, cmd->textId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1565,7 +1565,7 @@ void Cutscene_HandleEntranceTriggers(PlayState* play) {
|
||||
if ((Entrance_GetTransitionFlags(((void)0, gSaveContext.save.entrance) +
|
||||
((void)0, gSaveContext.sceneLayer)) &
|
||||
0x4000) != 0) {
|
||||
func_80151A68(play, scene->titleTextId);
|
||||
Message_DisplaySceneTitleCard(play, scene->titleTextId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ void KaleidoSetup_Update(PlayState* play) {
|
||||
(play->gameOverCtx.state == GAMEOVER_INACTIVE)) {
|
||||
if ((play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
|
||||
if ((gSaveContext.save.cutsceneIndex < 0xFFF0) && (gSaveContext.nextCutsceneIndex < 0xFFF0)) {
|
||||
if (!Play_InCsMode(play) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
|
||||
if (!Play_InCsMode(play) || ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->currentTextId == 0xFF))) {
|
||||
if ((play->unk_1887C < 2) && (gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY) &&
|
||||
(gSaveContext.magicState != MAGIC_STATE_FILL)) {
|
||||
if (!CHECK_EVENTINF(EVENTINF_17) && !(player->stateFlags1 & PLAYER_STATE1_20)) {
|
||||
|
||||
+5598
-166
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,6 @@
|
||||
#include "message_data_static.h"
|
||||
#include "overlays/kaleido_scope/ovl_kaleido_scope/z_kaleido_scope.h"
|
||||
|
||||
// fontWidth
|
||||
f32 sNESFontWidths[160] = {
|
||||
8.0f, 8.0f, 6.0f, 9.0f, 9.0f, 14.0f, 12.0f, 3.0f, 7.0f, 7.0f, 7.0f, 9.0f, 4.0f, 6.0f, 4.0f, 9.0f,
|
||||
10.0f, 5.0f, 9.0f, 9.0f, 10.0f, 9.0f, 9.0f, 9.0f, 9.0f, 9.0f, 6.0f, 6.0f, 9.0f, 11.0f, 9.0f, 11.0f,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+29
-28
@@ -1709,7 +1709,7 @@ void Interface_UpdateButtonsPart2(PlayState* play) {
|
||||
if (CHECK_EVENTINF(EVENTINF_41)) {
|
||||
// Related to swamp boat (non-minigame)?
|
||||
for (i = EQUIP_SLOT_C_LEFT; i <= EQUIP_SLOT_C_RIGHT; i++) {
|
||||
if ((GET_CUR_FORM_BTN_ITEM(i) != ITEM_PICTOGRAPH_BOX) || (msgCtx->msgMode != 0)) {
|
||||
if ((GET_CUR_FORM_BTN_ITEM(i) != ITEM_PICTOGRAPH_BOX) || (msgCtx->msgMode != MSGMODE_NONE)) {
|
||||
if (gSaveContext.buttonStatus[i] == BTN_ENABLED) {
|
||||
restoreHudVisibility = true;
|
||||
}
|
||||
@@ -3657,7 +3657,7 @@ void Magic_Update(PlayState* play) {
|
||||
case MAGIC_STATE_CONSUME_LENS:
|
||||
// Slowly consume magic while Lens of Truth is active
|
||||
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
|
||||
(msgCtx->msgMode == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
(msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) &&
|
||||
!Play_InCsMode(play)) {
|
||||
|
||||
@@ -3700,7 +3700,7 @@ void Magic_Update(PlayState* play) {
|
||||
// fallthrough
|
||||
case MAGIC_STATE_CONSUME_GORON_ZORA:
|
||||
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == 0) &&
|
||||
(msgCtx->msgMode == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
(msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
|
||||
if (!Play_InCsMode(play)) {
|
||||
interfaceCtx->magicConsumptionTimer--;
|
||||
@@ -3722,7 +3722,7 @@ void Magic_Update(PlayState* play) {
|
||||
|
||||
case MAGIC_STATE_CONSUME_GIANTS_MASK:
|
||||
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
|
||||
(msgCtx->msgMode == 0) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
(msgCtx->msgMode == MSGMODE_NONE) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF)) {
|
||||
if (!Play_InCsMode(play)) {
|
||||
interfaceCtx->magicConsumptionTimer--;
|
||||
@@ -3932,7 +3932,7 @@ void Interface_DrawItemButtons(PlayState* play) {
|
||||
if ((gSaveContext.hudVisibility == HUD_VISIBILITY_NONE) ||
|
||||
(gSaveContext.hudVisibility == HUD_VISIBILITY_NONE_ALT) ||
|
||||
(gSaveContext.hudVisibility == HUD_VISIBILITY_A_HEARTS_MAGIC_WITH_OVERWRITE) ||
|
||||
(msgCtx->msgMode != 0)) {
|
||||
(msgCtx->msgMode != MSGMODE_NONE)) {
|
||||
temp = 0;
|
||||
} else if (player->stateFlags1 & PLAYER_STATE1_200000) {
|
||||
temp = 70;
|
||||
@@ -4400,8 +4400,8 @@ void Interface_DrawClock(PlayState* play) {
|
||||
OPEN_DISPS(play->state.gfxCtx);
|
||||
|
||||
if ((R_TIME_SPEED != 0) &&
|
||||
((msgCtx->msgMode == 0) || ((play->actorCtx.flags & ACTORCTX_FLAG_1) && !Play_InCsMode(play)) ||
|
||||
(msgCtx->msgMode == 0) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
|
||||
((msgCtx->msgMode == MSGMODE_NONE) || ((play->actorCtx.flags & ACTORCTX_FLAG_1) && !Play_InCsMode(play)) ||
|
||||
(msgCtx->msgMode == MSGMODE_NONE) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
|
||||
(gSaveContext.gameMode == GAMEMODE_END_CREDITS)) &&
|
||||
!FrameAdvance_IsEnabled(&play->state) && !Environment_IsTimeStopped() && (gSaveContext.save.day <= 3)) {
|
||||
/**
|
||||
@@ -5440,31 +5440,31 @@ void Interface_StartMoonCrash(PlayState* play) {
|
||||
play->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
}
|
||||
|
||||
void Interface_GetTimerDigits(u64 timer, s16* timerArr) {
|
||||
u64 time = timer;
|
||||
void Interface_GetTimerDigits(OSTime time, s16* timerArr) {
|
||||
OSTime t = time;
|
||||
|
||||
// 6 minutes
|
||||
timerArr[0] = time / SECONDS_TO_TIMER(360);
|
||||
time -= timerArr[0] * SECONDS_TO_TIMER(360);
|
||||
timerArr[0] = t / SECONDS_TO_TIMER(360);
|
||||
t -= timerArr[0] * SECONDS_TO_TIMER(360);
|
||||
|
||||
// minutes
|
||||
timerArr[1] = time / SECONDS_TO_TIMER(60);
|
||||
time -= timerArr[1] * SECONDS_TO_TIMER(60);
|
||||
timerArr[1] = t / SECONDS_TO_TIMER(60);
|
||||
t -= timerArr[1] * SECONDS_TO_TIMER(60);
|
||||
|
||||
// 10 seconds
|
||||
timerArr[3] = time / SECONDS_TO_TIMER(10);
|
||||
time -= timerArr[3] * SECONDS_TO_TIMER(10);
|
||||
timerArr[3] = t / SECONDS_TO_TIMER(10);
|
||||
t -= timerArr[3] * SECONDS_TO_TIMER(10);
|
||||
|
||||
// seconds
|
||||
timerArr[4] = time / SECONDS_TO_TIMER(1);
|
||||
time -= timerArr[4] * SECONDS_TO_TIMER(1);
|
||||
timerArr[4] = t / SECONDS_TO_TIMER(1);
|
||||
t -= timerArr[4] * SECONDS_TO_TIMER(1);
|
||||
|
||||
// 100 milliseconds
|
||||
timerArr[6] = time / SECONDS_TO_TIMER_PRECISE(0, 10);
|
||||
time -= timerArr[6] * SECONDS_TO_TIMER_PRECISE(0, 10);
|
||||
timerArr[6] = t / SECONDS_TO_TIMER_PRECISE(0, 10);
|
||||
t -= timerArr[6] * SECONDS_TO_TIMER_PRECISE(0, 10);
|
||||
|
||||
// 10 milliseconds
|
||||
timerArr[7] = time;
|
||||
timerArr[7] = t;
|
||||
}
|
||||
|
||||
#define IS_POSTMAN_TIMER_DRAWN \
|
||||
@@ -5500,8 +5500,8 @@ void Interface_DrawTimers(PlayState* play) {
|
||||
// Not satisfying any of these conditions will pause the timer
|
||||
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
|
||||
(play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
((msgCtx->msgMode == 0) ||
|
||||
((msgCtx->msgMode != 0) && (msgCtx->currentTextId >= 0x1BB2) && (msgCtx->currentTextId <= 0x1BB6))) &&
|
||||
((msgCtx->msgMode == MSGMODE_NONE) || ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->currentTextId >= 0x1BB2) &&
|
||||
(msgCtx->currentTextId <= 0x1BB6))) &&
|
||||
!(player->stateFlags1 & PLAYER_STATE1_200) && (play->transitionTrigger == TRANS_TRIGGER_OFF) &&
|
||||
(play->transitionMode == TRANS_MODE_OFF) && !Play_InCsMode(play)) {
|
||||
|
||||
@@ -5950,7 +5950,7 @@ void Interface_UpdateBottleTimers(PlayState* play) {
|
||||
// Not satisfying any of these conditions will pause the bottle timer
|
||||
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->pauseCtx.debugEditor == DEBUG_EDITOR_NONE) &&
|
||||
(play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
|
||||
((msgCtx->msgMode == 0) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
|
||||
((msgCtx->msgMode == MSGMODE_NONE) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
|
||||
((msgCtx->currentTextId >= 0x1BB2) && (msgCtx->currentTextId <= 0x1BB6))) &&
|
||||
(play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) &&
|
||||
!Play_InCsMode(play)) {
|
||||
@@ -6870,7 +6870,7 @@ void Interface_Update(PlayState* play) {
|
||||
interfaceCtx->aButtonRoll = -15700.0f;
|
||||
interfaceCtx->aButtonState = A_BTN_STATE_2;
|
||||
|
||||
if ((msgCtx->msgMode != 0) && (msgCtx->textboxYTarget == 0x26)) {
|
||||
if ((msgCtx->msgMode != MSGMODE_NONE) && (msgCtx->textboxYTarget == 38)) {
|
||||
R_A_BTN_Y_OFFSET = -14;
|
||||
} else {
|
||||
R_A_BTN_Y_OFFSET = 0;
|
||||
@@ -7018,8 +7018,9 @@ void Interface_Update(PlayState* play) {
|
||||
// Update Sun Song
|
||||
if (gSaveContext.sunsSongState != SUNSSONG_INACTIVE) {
|
||||
// exit out of ocarina mode after suns song finishes playing
|
||||
if ((msgCtx->ocarinaAction != 0x39) && (gSaveContext.sunsSongState == SUNSSONG_START)) {
|
||||
play->msgCtx.ocarinaMode = 4;
|
||||
if ((msgCtx->ocarinaAction != OCARINA_ACTION_CHECK_NOTIME_DONE) &&
|
||||
(gSaveContext.sunsSongState == SUNSSONG_START)) {
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
|
||||
}
|
||||
|
||||
// handle suns song in areas where time moves
|
||||
@@ -7039,7 +7040,7 @@ void Interface_Update(PlayState* play) {
|
||||
// Daytime has been reached. End suns song effect
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
R_TIME_SPEED = sPrevTimeSpeed;
|
||||
play->msgCtx.ocarinaMode = 4;
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
|
||||
}
|
||||
} else {
|
||||
// Daytime
|
||||
@@ -7047,7 +7048,7 @@ void Interface_Update(PlayState* play) {
|
||||
// Nighttime has been reached. End suns song effect
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
R_TIME_SPEED = sPrevTimeSpeed;
|
||||
play->msgCtx.ocarinaMode = 4;
|
||||
play->msgCtx.ocarinaMode = OCARINA_MODE_END;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -1072,7 +1072,7 @@ void Play_Update(PlayState* this) {
|
||||
this->pauseCtx.bombersNotebookOpen = false;
|
||||
sBombersNotebook.loadState = BOMBERS_NOTEBOOK_LOAD_STATE_NONE;
|
||||
this->msgCtx.msgLength = 0;
|
||||
this->msgCtx.msgMode = 0;
|
||||
this->msgCtx.msgMode = MSGMODE_NONE;
|
||||
this->msgCtx.currentTextId = 0;
|
||||
this->msgCtx.stateTimer = 0;
|
||||
Audio_PlaySfx(NA_SE_SY_CANCEL);
|
||||
|
||||
@@ -638,7 +638,7 @@ void Sram_SaveEndOfCycle(PlayState* play) {
|
||||
}
|
||||
|
||||
gSaveContext.save.saveInfo.playerData.rupees = 0;
|
||||
gSaveContext.save.saveInfo.unk_F41 = 0;
|
||||
gSaveContext.save.saveInfo.scarecrowSpawnSongSet = false;
|
||||
gSaveContext.powderKegTimer = 0;
|
||||
gSaveContext.unk_1014 = 0;
|
||||
gSaveContext.jinxTimer = 0;
|
||||
@@ -1304,7 +1304,7 @@ void Sram_OpenSave(FileSelectState* fileSelect, SramContext* sramCtx) {
|
||||
gSaveContext.cycleSceneFlags[i].collectible = gSaveContext.save.saveInfo.permanentSceneFlags[i].collectible;
|
||||
}
|
||||
|
||||
if (gSaveContext.save.saveInfo.unk_F41) {
|
||||
if (gSaveContext.save.saveInfo.scarecrowSpawnSongSet) {
|
||||
Lib_MemCpy(gScarecrowSpawnSongPtr, gSaveContext.save.saveInfo.scarecrowSpawnSong,
|
||||
sizeof(gSaveContext.save.saveInfo.scarecrowSpawnSong));
|
||||
|
||||
@@ -1649,7 +1649,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
|
||||
} else {
|
||||
if (phi_s2) {
|
||||
gSaveContext.options.optionId = 0xA51D;
|
||||
gSaveContext.options.language = 1;
|
||||
gSaveContext.options.language = LANGUAGE_ENG;
|
||||
gSaveContext.options.audioSetting = SAVE_AUDIO_STEREO;
|
||||
gSaveContext.options.languageSetting = 0;
|
||||
gSaveContext.options.zTargetSetting = 0;
|
||||
@@ -1657,7 +1657,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
|
||||
Lib_MemCpy(&gSaveContext.options, sramCtx->saveBuf, sizeof(SaveOptions));
|
||||
if (gSaveContext.options.optionId != 0xA51D) {
|
||||
gSaveContext.options.optionId = 0xA51D;
|
||||
gSaveContext.options.language = 1;
|
||||
gSaveContext.options.language = LANGUAGE_ENG;
|
||||
gSaveContext.options.audioSetting = SAVE_AUDIO_STEREO;
|
||||
gSaveContext.options.languageSetting = 0;
|
||||
gSaveContext.options.zTargetSetting = 0;
|
||||
@@ -1671,7 +1671,7 @@ void func_801457CC(GameState* gameState, SramContext* sramCtx) {
|
||||
gSaveContext.flashSaveAvailable = D_801F6AF2;
|
||||
}
|
||||
|
||||
gSaveContext.options.language = 1;
|
||||
gSaveContext.options.language = LANGUAGE_ENG;
|
||||
}
|
||||
#else
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/func_801457CC.s")
|
||||
@@ -1853,8 +1853,7 @@ void Sram_InitSave(FileSelectState* fileSelect2, SramContext* sramCtx) {
|
||||
*/
|
||||
void Sram_WriteSaveOptionsToBuffer(SramContext* sramCtx) {
|
||||
if (gSaveContext.flashSaveAvailable) {
|
||||
// TODO: macros for languages
|
||||
gSaveContext.options.language = 1;
|
||||
gSaveContext.options.language = LANGUAGE_ENG;
|
||||
Lib_MemCpy(sramCtx->saveBuf, &gSaveContext.options, sizeof(SaveOptions));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -204,7 +204,7 @@ void FireArrow_Fly(ArrowFire* this, PlayState* play) {
|
||||
void ArrowFire_Update(Actor* thisx, PlayState* play) {
|
||||
ArrowFire* this = (ArrowFire*)thisx;
|
||||
|
||||
if ((play->msgCtx.msgMode == 0xE) || (play->msgCtx.msgMode == 0x12)) {
|
||||
if ((play->msgCtx.msgMode == MSGMODE_E) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -176,7 +176,7 @@ void ArrowIce_Fly(ArrowIce* this, PlayState* play) {
|
||||
void ArrowIce_Update(Actor* thisx, PlayState* play) {
|
||||
ArrowIce* this = THIS;
|
||||
|
||||
if ((play->msgCtx.msgMode == 0xE) || (play->msgCtx.msgMode == 0x12)) {
|
||||
if ((play->msgCtx.msgMode == MSGMODE_E) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
} else {
|
||||
|
||||
@@ -172,7 +172,7 @@ void ArrowLight_Fly(ArrowLight* this, PlayState* play) {
|
||||
void ArrowLight_Update(Actor* thisx, PlayState* play) {
|
||||
ArrowLight* this = THIS;
|
||||
|
||||
if ((play->msgCtx.msgMode == 0xE) || (play->msgCtx.msgMode == 0x12)) {
|
||||
if ((play->msgCtx.msgMode == MSGMODE_E) || (play->msgCtx.msgMode == MSGMODE_SONG_PLAYED)) {
|
||||
Actor_Kill(&this->actor);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -176,7 +176,7 @@ void func_80AA8698(DmChar01* this, PlayState* play) {
|
||||
D_80AAAAB4 = false;
|
||||
}
|
||||
|
||||
if ((player->transformation == PLAYER_FORM_DEKU) && (play->msgCtx.ocarinaMode == 3) &&
|
||||
if ((player->transformation == PLAYER_FORM_DEKU) && (play->msgCtx.ocarinaMode == OCARINA_MODE_EVENT) &&
|
||||
(play->msgCtx.lastPlayedSong == OCARINA_SONG_SONATA)) {
|
||||
|
||||
if ((player2->actor.world.pos.x > -40.0f) && (player2->actor.world.pos.x < 40.0f) &&
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user