diff options
| author | theo3 <arisstephenson2@gmail.com> | 2021-12-28 13:53:53 -0800 |
|---|---|---|
| committer | theo3 <arisstephenson2@gmail.com> | 2021-12-28 13:53:53 -0800 |
| commit | 3fd900f1bc81cbaf106de17f5b8d41e26de682a8 (patch) | |
| tree | b6226159f870a5974379851e986261eb8d1ce5fc /include/message.h | |
| parent | 0f65f8fd5008d06defcfae6c9d66270ff45a8e49 (diff) | |
rename files, sort asm into subdirectories
Diffstat (limited to 'include/message.h')
| -rw-r--r-- | include/message.h | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/include/message.h b/include/message.h new file mode 100644 index 00000000..f7f8c25d --- /dev/null +++ b/include/message.h @@ -0,0 +1,131 @@ +#ifndef MESSAGE_H +#define MESSAGE_H + +#include "global.h" +#include "entity.h" +#include "structures.h" + +typedef struct { + u8 doTextBox; + u8 unk; + u8 textSpeed; + u8 unk3; // HI? + u8 textWindowWidth; + u8 textWindowHeight; + u8 textWindowPosX; + u8 textWindowPosY; + u16 textIndex; + u16 unk2; // HI? + u32 field_0xc; + u32 field_0x10; + u32 field_0x14; + u32 field_0x18; + u32 field_0x1c; +} Message; +extern Message gMessage; + +typedef struct { + u8 flags; + u8 code; // first byte read + u16 param; // second byte read + u16 extended; // ascii adjusted for jp chars + u16 _6; + u16 textIndex; + void* _c; + u8 buf[32]; +} Token; + +typedef struct { + Message message; + Token curToken; + WStruct _50; + char playerName[10]; + u8 _66[0x10]; + u8 _76; + u8 _77[0x11]; + u8 msgStatus; + u8 renderStatus; + u8 newlineDelay; + u8 _8b; + u8 _8c; + u8 _8d; + u8 _8e; + u8 _8f; + u8 _90; + u8 _91; + s8 typeSpeed; + u8 _93; + u8 _94; + u8 delay; + u8 _96; + u8 _97; + union { + u32 word; + struct { + u8 lineNo; + u8 b1; + u8 b2; + s8 sizeScale; + } bytes; + } _98; + u8 _9c; + u8 updateDraw; + u16 beginTiles[4]; + u16 _a6; +} TextRender; +extern TextRender gTextRender; +static_assert(sizeof(TextRender) == 0xa8); + +/** + * @brief Initialize the message system. + */ +void MessageInitialize(void); + +/** + * @brief Update the message system. + * + */ +void MessageMain(void); + +/** + * @brief Show a message on screen. + * + * @param index u32 Message index + */ +void MessageRequest(u32 index); + +/** + * @brief Show a message at screen posiiton. + * + * @param index u32 Message index + * @param x u32 Screen x + * @param y u32 Screen y + */ +void MessageAtPos(u32 index, u32 x, u32 y); + +/** + * @brief Show a message that attempts not to obscure the entity. + * + * @param index u32 Message index + * @param entity Entity* Your important entity + */ +void MessageNoOverlap(u32 index, Entity* entity); + +/** + * @brief Show a message that attempts not to obscure the camera target. + * + * @param index u32 Message index + */ +void MessageFromTarget(u32 index); + +/** + * @brief Display message at y position. + * + * @param index u32 Message index + * @param y u32 Screen y + */ +void MessageAtHeight(u32 index, u32 y); + +void DispMessageFrame(u16*, u32, u32, u32); + +#endif // MESSAGE_H |
