z_message progress (#701)

* 8 functions matching, 1 non-matching, 45 untouched

* match func_801518B0

* match func_8014CC14

* matching 8 func, 1 non-matching

* matched func_80148CBC

* matched func_80156758

* matched func_80147564

* matched func_80151BB4

* matched func80152EC0/Message_Spawn_Song_Effect

* matched func_80151C9C

* WIP func_80148B98

* WIP func_80151938

* matched func_80151938

* matched func_80148B98

* matched func_80147734

* matched func_80147624

* WIP func_8014EBC

* match func_801518B0

* matched func_80147564

* matched func80152EC0/Message_Spawn_Song_Effect

* matched func_80151C9C

* WIP func_80148B98

* matched func_80151938

* matched func_80148B98

* matched func_80147734

* matched func_80147624

* WIP#2 func_8014EBC

* matched func_80149EBC

* WIP func_8014CCB4

* matched func_8014CCB4

* matched func_80151A68

* WIP func_8014D62C

* fix func_8015A68 signature

* z_message_nes & z_message_staff progress

* z_message_nes & z_message_staff renaming

* documenting z_message

* cleaning & renaming

* documenting MessageContext

* matched func_80151A68

* format

* naming convention fix

* re-add func_80147564

* apply renaming of Message_ShouldAdvanceSilent on the whole project

* re-format, add clang-format off/on in z_message.c needed for matching

* rename staff => credits; add renames in actorfixer.

* change rupees array to ascii

* remove useless comments

* change MessageContext.decodedBuffer to a union

* remove decodedBuffer from actorfixer

* applied AngheloAlf suggestions & ran sfxconvert on z_message.c

* rename message_struct => message_data_static; revert decodedBuffer as union creating differences.

* use true/false instead of 1/0

* use SET_FULLSCREEN_VIEWPORT macro in func_80152c64

* AngheloAlf suggestions.

* extract assign from dayTime calculation for readability in Message_LoadTimeNES

* remove bss_reordering from osFlash, idle & boot_main to typedef MessageTableEntry in message_data_static & make decodedBuffer an union.

* remove useless casts

* Changes hexa to ascii chars when it's meaningful;
add comments to func_8014CCB4 to show what hexa constant means.

* Hensldm suggestions

* ran actorfixer on new changes; fix new bss reordering error introduced with rebase

* use new TIME_TO_MINUTES_F macro

* re-ran format.sh

* hensldm suggestions #2 + overall cleaning

* remove useless parenthesis

* Update include/message_data_static.h

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* actorfixer and format

* more fixes

Co-authored-by: Andzura <andzura@andzura.fr>
Co-authored-by: abaud <adrien.baud@inria.fr>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
This commit is contained in:
Andzura
2022-03-27 17:09:47 +02:00
committed by GitHub
parent 02cb971616
commit 4f3202fd7e
116 changed files with 1377 additions and 574 deletions
+22 -22
View File
@@ -1801,7 +1801,7 @@ void func_80105818(GlobalContext* globalCtx, u32 uParm2, TransitionActorEntry* p
// void func_80109F78(void);
s32 func_8010A000(GlobalContext* globalCtx);
s32 func_8010A074(GlobalContext* globalCtx);
// void func_8010A0A4(void);
s32 func_8010A0A4(GlobalContext* globalCtx);
// void func_8010A0F0(void);
// void func_8010A164(void);
// void func_8010A194(void);
@@ -2609,10 +2609,10 @@ void func_80147198(SramContext* param_1);
// void Sram_nop8014750C(UNK_TYPE4 param_1);
// void func_80147520(void);
void func_80147564(GlobalContext* globalCtx);
s32 func_80147624(GlobalContext* globalCtx);
s32 func_80147734(GlobalContext* globalCtx);
s32 Message_ShouldAdvance(GlobalContext* globalCtx);
s32 Message_ShouldAdvanceSilent(GlobalContext* globalCtx);
void func_801477B4(GlobalContext* globalCtx);
// void func_80147818(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
void func_80147818(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
// void func_80147F18(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
// void func_80148558(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE4 uParm3, UNK_TYPE4 uParm4);
void func_80148B98(GlobalContext* globalCtx, u8 bParm2);
@@ -2623,28 +2623,28 @@ void func_80148B98(GlobalContext* globalCtx, u8 bParm2);
// void func_80149454(void);
// void func_801496C8(void);
// void func_8014995C(void);
// void func_80149C18(void);
// void func_80149EBC(void);
void func_80149C18(GlobalContext* globalCtx);
// void Message_FindMessage(void);
void func_80149F74(GlobalContext* globalCtx, u32** ppuParm2);
// void func_8014AAD0(void);
void func_8014ADBC(GlobalContext* globalCtx, UNK_PTR puParm2);
// void func_8014C70C(void);
// void func_8014CC14(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
void Message_LoadChar(GlobalContext* globalCtx, u16 codePointIndex, s32* offset, f32* arg3, s16 arg4);
// void func_8014CCB4(void);
// void func_8014CDF0(void);
// void func_8014CFDC(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_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(void);
void func_80150A84(GlobalContext* globalCtx);
void func_80150D08(GlobalContext* globalCtx, u32 uParm2);
// void func_801514B0(void);
void Message_StartTextbox(GlobalContext* globalCtx, u16 textId, Actor* Actor);
void func_80151938(GlobalContext* globalCtx, u16 textId);
void func_80151A68(GlobalContext* globalCtx, u16 textId);
void func_80151BB4(GlobalContext* globalCtx, u32 uParm2);
void func_80151BB4(GlobalContext* globalCtx, u8 uParm2);
// void func_80151C9C(void);
// void func_80151DA4(void);
void func_80151DA4(GlobalContext* globalCtx, u16 arg2);
void func_80152434(GlobalContext* globalCtx, u16 arg2);
// void func_80152464(void);
u8 Message_GetState(MessageContext* msgCtx);
@@ -2656,23 +2656,23 @@ u8 Message_GetState(MessageContext* msgCtx);
// void func_80153750(void);
// void func_80153E7C(void);
// void func_80153EF0(void);
// void func_801541D4(void);
void func_801541D4(GlobalContext* globalCtx, Gfx** gfxp);
// void func_80156758(void);
void func_8015680C(GlobalContext* globalCtx);
void func_801586A4(GlobalContext* globalCtx);
void Message_Init(GlobalContext* globalCtx);
void func_801588D0(GlobalContext* globalCtx, s16 param_2);
// void func_80158988(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
// void func_80158A24(void);
// void func_80158C04(void);
// void func_80158D98(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE2 param_5);
// void func_80158FB0(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5);
// void func_8015926C(void);
void Message_FindMessageNES(GlobalContext* globalCtx, 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_LoadAreaTextNES(void);
// void func_80159438(void);
// void func_8015966C(void);
void func_8015966C(GlobalContext* globalCtx, UNK_PTR puParm2, UNK_TYPE arg3);
// void func_8015A144(void);
// void func_8015B198(void);
// void func_8015E750(void);
void func_8015B198(GlobalContext* globalCtx);
void Message_FindCreditsMessage(GlobalContext *globalCtx, u16 textId);
void func_8015E7EC(GlobalContext* globalCtx, UNK_PTR puParm2);
// void func_8015F8A8(UNK_TYPE4 ctxt);
+12
View File
@@ -0,0 +1,12 @@
#ifndef MESSAGE_DATA_STATIC_H
#define MESSAGE_DATA_STATIC_H
#include "PR/ultratypes.h"
typedef struct MessageTableEntry{
/* 0x0 */ u16 textId;
/* 0x2 */ u8 typePos;
/* 0x4 */ const char* segment;
} MessageTableEntry; // size = 0x8;
#endif
+5 -7
View File
@@ -1412,9 +1412,7 @@ extern u16 D_801C6A44;
// extern UNK_TYPE1 D_801C6A98;
// extern UNK_TYPE1 D_801C6AB8;
// extern UNK_TYPE1 D_801C6B28;
// extern UNK_TYPE1 D_801C6B98;
// extern UNK_TYPE1 D_801CED40;
// extern UNK_TYPE1 D_801CFB08;
// extern UNK_TYPE2 D_801CFC78;
// extern UNK_TYPE1 D_801CFC7A;
// extern UNK_TYPE1 D_801CFC7C;
@@ -1424,8 +1422,8 @@ extern u16 D_801C6A44;
// extern UNK_TYPE1 D_801CFC8C;
// extern UNK_TYPE1 D_801CFC8E;
// extern UNK_TYPE1 D_801CFC92;
// extern UNK_TYPE1 D_801CFC98;
// extern UNK_TYPE2 D_801CFCA4;
extern u8 D_801CFC98;
extern s16 D_801CFCA4[9];
// extern UNK_TYPE2 D_801CFCAC;
// extern UNK_TYPE1 D_801CFCB8;
// extern UNK_TYPE2 D_801CFCD8;
@@ -1517,11 +1515,11 @@ extern char D_801D039C[];
// extern UNK_TYPE1 D_801D0428;
// extern UNK_TYPE1 D_801D045A;
// extern UNK_TYPE1 D_801D0462;
// extern UNK_TYPE1 D_801D0468;
//extern UNK_TYPE1 D_801D0468;
// extern UNK_TYPE1 D_801D0470;
extern char D_801D06F0[];
// extern char D_801D06F0[];
// extern UNK_TYPE1 D_801D0710;
extern char D_801D0714[];
// extern char D_801D0714[];
// extern UNK_TYPE1 D_801D07C4;
// extern UNK_TYPE1 D_801D07DC;
// extern UNK_TYPE1 D_801D080C;
+63 -15
View File
@@ -21,6 +21,7 @@
#include "ichain.h"
#include "sequence.h"
#include "sfx.h"
#include "message_data_static.h"
#include "z64actor.h"
#include "z64animation.h"
@@ -174,7 +175,7 @@ typedef struct {
} msgBuf;
/* 0x11D80 */ u8* messageStart;
/* 0x11D84 */ u8* messageEnd;
/* 0x11D88 */ u8 unk_11D88;
/* 0x11D88 */ u8 unk_11D88; // current Char Buffer ?
} Font; // size = 0x11D8C
// Game Info aka. Static Context
@@ -839,44 +840,91 @@ typedef struct {
typedef struct {
/* 0x00000 */ View view;
/* 0x00168 */ Font font;
/* 0x11EF4 */ char unk_11EF4[0x10];
/* 0x11F04 */ u16 unk11F04;
/* 0x11EF4 */ char unk_11EF4[0x4];
/* 0x11EF8 */ UNK_PTR unk11EF8;
/* 0x11EFC */ UNK_TYPE1 unk11EFC[0x8];
/* 0x11F04 */ u16 currentTextId;
/* 0x11F06 */ UNK_TYPE1 pad11F06[0x4];
/* 0x11F0A */ u8 unk11F0A;
/* 0x11F0B */ UNK_TYPE1 pad11F0B[0x5];
/* 0x11F10 */ s32 unk11F10;
/* 0x11F14 */ UNK_TYPE1 pad11F14[0xE];
/* 0x11F14 */ UNK_TYPE1 pad11F14[0x6];
/* 0x11F1A */ s16 unk11F1A[3];
/* 0x11F20 */ UNK_TYPE1 pad11F20[0x2];
/* 0x11F22 */ u8 msgMode;
/* 0x11F23 */ UNK_TYPE1 pad11F23[0xFD];
/* 0x11F23 */ UNK_TYPE1 pad11F23;
/* 0x11F24 */ union {
u8 schar[206];
u16 wchar[103];
} decodedBuffer;
/* 0x11FF2 */ u16 unk11FF2;
/* 0x11FF4 */ s16 unk11FF4;
/* 0x11FF6 */ s16 unk11FF6;
/* 0x11FF8 */ UNK_TYPE1 unk11FF8[0x6];
/* 0x11FFE */ s16 unk11FFE[0x3];
/* 0x12004 */ s16 unk12004;
/* 0x12006 */ s16 unk12006;
/* 0x12008 */ u8 unk12008[0x16];
/* 0x1201E */ s16 unk1201E;
/* 0x12020 */ u8 unk12020;
/* 0x12021 */ u8 choiceIndex;
/* 0x12022 */ u8 unk12022;
/* 0x12023 */ u8 unk12023;
/* 0x12024 */ UNK_TYPE1 unk12024[0x6];
/* 0x12024 */ s16 unk12024;
/* 0x12026 */ u16 unk12026;
/* 0x12028 */ u16 songPlayed;
/* 0x1202A */ u16 ocarinaMode;
/* 0x1202C */ u16 ocarinaAction;
/* 0x1202E */ u16 unk1202E;
/* 0x12030 */ s16 unk_12030;
/* 0x12032 */ UNK_TYPE1 unk_12032[0x2];
/* 0x12034 */ UNK_TYPE1 pad12034[0x10];
/* 0x12034 */ UNK_TYPE1 pad12034[0x6];
/* 0x1203A */ s16 unk1203A;
/* 0x1203C */ s16 unk1203C;
/* 0x1203E */ s16 pad1203E;
/* 0x12040 */ Actor* unkActor;
/* 0x12044 */ s16 unk12044;
/* 0x12046 */ UNK_TYPE1 pad12046[0x2];
/* 0x12046 */ s16 unk12046;
/* 0x12048 */ u8 unk12048; // EnKakasi
/* 0x12049 */ UNK_TYPE1 pad12049[0xB];
/* 0x12054 */ s16 unk12054[5]; // Number entry
/* 0x1205A */ UNK_TYPE1 pad1205A[0xC];
/* 0x12049 */ UNK_TYPE1 pad12049[0x1];
/* 0x1204A */ s16 unk1204A[0x5];
/* 0x12054 */ s16 unk12054[3]; // First, second and third digits in lottery code guess
/* 0x1205A */ UNK_TYPE1 pad1205A[0xE];
/* 0x12068 */ s16 unk12068;
/* 0x1206A */ s16 unk1206A;
/* 0x1206C */ s32 unk1206C;
/* 0x12070 */ s32 unk12070;
/* 0x12074 */ UNK_TYPE1 pad12074[0x4];
/* 0x12078 */ s32 bankRupeesSelected;
/* 0x1207C */ s32 bankRupees;
/* 0x12080 */ UNK_TYPE1 pad12080[0x30];
/* 0x12080 */ MessageTableEntry* messageEntryTable;
/* 0x12084 */ MessageTableEntry* messageEntryTableNes;
/* 0x12088 */ UNK_TYPE4 unk12088;
/* 0x1208C */ MessageTableEntry* messageTableStaff;
/* 0x12090 */ s16 unk12090;
/* 0x12092 */ s16 unk12092;
/* 0x12094 */ s8 unk12094;
/* 0x12095 */ UNK_TYPE1 unk12095[0x3];
/* 0x12098 */ f32 unk12098; // Text_Scale?
/* 0x1209C */ s16 unk1209C;
/* 0x1209E */ UNK_TYPE1 unk1209E[0x2];
/* 0x120A0 */ s32 unk120A0;
/* 0x120A4 */ UNK_TYPE1 unk120A4[0xC];
/* 0x120B0 */ u8 unk120B0;
/* 0x120B1 */ u8 unk120B1;
/* 0x120B2 */ UNK_TYPE1 pad120B2[0x22];
/* 0x120D4 */ UNK_TYPE2 unk120D4;
/* 0x120D6 */ UNK_TYPE2 unk120D6;
/* 0x120B2 */ u8 unk120B2[0xC];
/* 0x120BE */ s16 unk120BE;
/* 0x120C0 */ s16 unk120C0;
/* 0x120C2 */ s16 unk120C2;
/* 0x120C4 */ s32 unk120C4;
/* 0x120C8 */ s16 unk120C8;
/* 0x120CA */ s16 unk120CA;
/* 0x120CC */ s16 unk120CC;
/* 0x120CE */ s16 unk120CE;
/* 0x120D0 */ s16 unk120D0;
/* 0x120D2 */ s16 unk120D2;
/* 0x120D4 */ s16 unk120D4;
/* 0x120D6 */ s16 unk120D6;
/* 0x120D8 */ UNK_TYPE1 pad120D8[0x8];
} MessageContext; // size = 0x120E0