NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
OSFont.h
1#ifndef RVL_SDK_OS_FONT_H
2#define RVL_SDK_OS_FONT_H
3#include <types.h>
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8typedef enum {
9 OS_FONT_ENCODE_ANSI,
10 OS_FONT_ENCODE_SJIS,
11 OS_FONT_ENCODE_2,
12 OS_FONT_ENCODE_UTF8,
13 OS_FONT_ENCODE_UTF16,
14 OS_FONT_ENCODE_UTF32,
15 OS_FONT_ENCODE_MAX
16} OSFontEncode;
17
18typedef struct OSFontHeader {
19 u16 type; // at 0x0
20 u16 firstChar; // at 0x2
21 u16 lastChar; // at 0x4
22 u16 invalidChar; // at 0x6
23 u16 ascent; // at 0x8
24 u16 descent; // at 0xA
25 u16 width; // at 0xC
26 u16 leading; // at 0xE
27 u16 cellWidth; // at 0x10
28 u16 cellHeight; // at 0x12
29 u32 sheetSize; // at 0x14
30 u16 sheetFormat; // at 0x18
31 u16 sheetNumCol; // at 0x1A
32 u16 sheetNumRow; // at 0x1C
33 u16 sheetWidth; // at 0x1E
34 u16 sheetHeight; // at 0x20
35 u16 widthTableOfs; // at 0x22
36 u32 sheetImageOfs; // at 0x24
37 u32 sheetFullSize; // at 0x28
38 u8 c0; // at 0x2C
39 u8 c1; // at 0x2D
40 u8 c2; // at 0x2E
41 u8 c3; // at 0x2F
43
44u16 OSGetFontEncode(void);
45u16 OSSetFontEncode(u16 encode);
46u32 OSLoadFont(OSFontHeader* font, void* dst);
47const char* OSGetFontTexel(const char* str, void* dst, s32 xOfs, s32 arg3,
48 u32* widthOut);
49BOOL OSInitFont(OSFontHeader* font);
50const char* OSGetFontTexture(const char* str, void** texOut, u32* xOut,
51 u32* yOut, u32* widthOut);
52const char* OSGetFontWidth(const char* str, u32* widthOut);
53
54#ifdef __cplusplus
55}
56#endif
57#endif