diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/text.h | 52 | 
1 files changed, 36 insertions, 16 deletions
| diff --git a/include/text.h b/include/text.h index c61f6cc98..a7a79da7a 100644 --- a/include/text.h +++ b/include/text.h @@ -78,6 +78,22 @@  #define NUM_TEXT_PRINTERS 32 +struct TextPrinterSubStruct +{ +    u8 font_type:4;  // 0x14 +    u8 font_type_upper:1; +    u8 font_type_5:3; +    u8 field_1:5; +    u8 field_1_upmid:2; +    u8 field_1_top:1; +    u8 frames_visible_counter; +    u8 field_3; +    u8 field_4; // 0x18 +    u8 field_5; +    u8 field_6; +    u8 active; +}; +  struct TextPrinter  {      struct TextSubPrinter {     // TODO: Better name @@ -99,20 +115,7 @@ struct TextPrinter      void (*callback)(struct TextSubPrinter *, u16); // 0x10      union { -        struct TextPrinterSubStruct -        { -            u8 font_type:4;  // 0x14 -            u8 font_type_upper:4; -            u8 field_1:5; -            u8 field_1_upmid:2; -            u8 field_1_top:1; -            u8 frames_visible_counter; -            u8 field_3; -            u8 field_4; // 0x18 -            u8 field_5; -            u8 field_6; -            u8 active; -        } sub; +        struct TextPrinterSubStruct sub;          u8 sub_fields[8];      } sub_union; @@ -138,6 +141,8 @@ struct FontInfo      u8 shadowColor:4;  }; +extern const struct FontInfo *gFonts; +  struct GlyphWidthFunc{      u32 font_id;      u32 (*func)(u16 glyphId, bool32 isJapanese); @@ -149,11 +154,26 @@ struct KeypadIcon {      u8 height;  }; +typedef struct { +    u8 flag_0:1; +    u8 flag_1:1; +    u8 flag_2:1; +} TextFlags; + +extern TextFlags gTextFlags; +  extern u8 gStringVar1[];  extern u8 gStringVar2[];  extern u8 gStringVar3[];  extern u8 gStringVar4[]; +u8 gUnknown_03002F84; +u8 gUnknown_03002F90[0x20]; +u8 gUnknown_03002FB0[0x20]; +u8 gUnknown_03002FD0[0x20]; +u8 gUnknown_03002FF0[0x20]; +u8 gGlyphDimensions[0x2]; +  void SetFontsPointer(const struct FontInfo *fonts);  void DeactivateAllTextPrinters (void);  u16 PrintTextOnWindow(u8 windowId, u8 fontId, u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16)); @@ -182,8 +202,8 @@ void TextPrinterInitDownArrowCounters(struct TextPrinter *textPrinter);  void TextPrinterDrawDownArrow(struct TextPrinter *textPrinter);  void TextPrinterClearDownArrow(struct TextPrinter *textPrinter);  bool8 TextPrinterWaitAutoMode(struct TextPrinter *textPrinter); -bool8 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter); -bool8 TextPrinterWait(struct TextPrinter *textPrinter); +bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter); +bool16 TextPrinterWait(struct TextPrinter *textPrinter);  void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex);  u16 RenderText(struct TextPrinter *textPrinter);  u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); | 
