Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
ResFont.h
Go to the documentation of this file.
1#ifndef NW4HBM_UT_RES_FONT_H
2#define NW4HBM_UT_RES_FONT_H
3
4#include <revolution/types.h>
5
6#include "Font.h"
7#include "binaryFileFormat.h"
8
9namespace nw4hbm {
10 namespace ut {
11 namespace detail {
12
13 class ResFontBase : public Font {
14 public:
16
17 /* 0x08 */ virtual ~ResFontBase();
18 /* 0x0C */ virtual int GetWidth() const;
19 /* 0x10 */ virtual int GetHeight() const;
20 /* 0x14 */ virtual int GetAscent() const;
21 /* 0x18 */ virtual int GetDescent() const;
22 /* 0x1C */ virtual int GetBaselinePos() const;
23 /* 0x20 */ virtual int GetCellHeight() const;
24 /* 0x24 */ virtual int GetCellWidth() const;
25 /* 0x28 */ virtual int GetMaxCharWidth() const;
26 /* 0x2C */ virtual Type GetType() const;
27 /* 0x30 */ virtual GXTexFmt GetTextureFormat() const;
28 /* 0x34 */ virtual int GetLineFeed() const;
29 /* 0x38 */ virtual CharWidths GetDefaultCharWidths() const;
30 /* 0x3C */ virtual void SetDefaultCharWidths(const CharWidths& widths);
31 /* 0x40 */ virtual bool SetAlternateChar(u16 c);
32 /* 0x44 */ virtual void SetLineFeed(int linefeed);
33 /* 0x48 */ virtual int GetCharWidth(u16 c) const;
34 /* 0x4C */ virtual CharWidths GetCharWidths(u16 c) const;
35 /* 0x50 */ virtual void GetGlyph(Glyph* glyph, u16 c) const;
36 /* 0x54 */ virtual FontEncoding GetEncoding() const;
37
38 void SetResourceBuffer(void* pUserBuffer, FontInformation* pFontInfo);
39
40 u16 GetGlyphIndex(u16 c) const;
42 const CharWidths& GetCharWidthsFromIndex(const FontWidth* pWidth, u16 index) const;
43 void GetGlyphFromIndex(Glyph* glyph, u16 index) const;
44 u16 FindGlyphIndex(u16 c) const;
45 u16 FindGlyphIndex(const FontCodeMap* pMap, u16 c) const;
46
47 bool IsManaging(const void* ptr) const { return mResource == ptr; }
48
49 private:
50 /* 0x00 (base) */
51 /* 0x10 */ void* mResource;
53 }; // size = 0x18
54
55 } // namespace detail
56
58 public:
59 ResFont();
60 virtual ~ResFont();
61
62 bool SetResource(void* brfnt);
63 static FontInformation* Rebuild(BinaryFileHeader* fileHeader);
64
65 private:
66 static const u32 SIGNATURE_FONT = 'RFNT'; /* Revolution FoNT */
67 static const u32 SIGNATURE_FONT_UNPACKED = 'RFNU'; /* Revolution FoNt Unpacked */
68 static const u32 SIGNATURE_FONT_INFO = 'FINF'; /* Font INFormation */
69 static const u32 SIGNATURE_TEX_GLYPH = 'TGLP'; /* Texture GLyPh */
70 static const u32 SIGNATURE_CHAR_WIDTH = 'CWDH'; /* Character WiDtH */
71 static const u32 SIGNATURE_CODE_MAP = 'CMAP'; /* Code MAP */
72 static const u32 SIGNATURE_GLGR = 'GLGR'; /* Something related to GLyPh? */
73 };
74
75 } // namespace ut
76} // namespace nw4hbm
77
78#endif
Ordon Goat.
Definition Font.h:33
Type
Definition Font.h:35
Definition ResFont.h:57
static const u32 SIGNATURE_CHAR_WIDTH
Definition ResFont.h:70
ResFont()
Definition ut_ResFont.cpp:30
static const u32 SIGNATURE_FONT_UNPACKED
Definition ResFont.h:67
virtual ~ResFont()
Definition ut_ResFont.cpp:32
static const u32 SIGNATURE_CODE_MAP
Definition ResFont.h:71
static const u32 SIGNATURE_FONT
Definition ResFont.h:66
static FontInformation * Rebuild(BinaryFileHeader *fileHeader)
Definition ut_ResFont.cpp:96
bool SetResource(void *brfnt)
Definition ut_ResFont.cpp:34
static const u32 SIGNATURE_TEX_GLYPH
Definition ResFont.h:69
static const u32 SIGNATURE_GLGR
Definition ResFont.h:72
static const u32 SIGNATURE_FONT_INFO
Definition ResFont.h:68
Definition ResFont.h:13
ResFontBase()
Definition ut_ResFontBase.cpp:19
virtual void SetDefaultCharWidths(const CharWidths &widths)
Definition ut_ResFontBase.cpp:102
virtual FontEncoding GetEncoding() const
Definition ut_ResFontBase.cpp:147
virtual int GetAscent() const
Definition ut_ResFontBase.cpp:44
virtual int GetCellHeight() const
Definition ut_ResFontBase.cpp:62
bool IsManaging(const void *ptr) const
Definition ResFont.h:47
u16 FindGlyphIndex(u16 c) const
Definition ut_ResFontBase.cpp:161
u16 GetGlyphIndex(u16 c) const
Definition ut_ResFontBase.cpp:153
FontInformation * mFontInfo
Definition ResFont.h:52
void GetGlyphFromIndex(Glyph *glyph, u16 index) const
Definition ut_ResFontBase.cpp:241
virtual int GetBaselinePos() const
Definition ut_ResFontBase.cpp:56
virtual int GetMaxCharWidth() const
Definition ut_ResFontBase.cpp:74
virtual void SetLineFeed(int linefeed)
Definition ut_ResFontBase.cpp:124
const CharWidths & GetCharWidthsFromIndex(u16 index) const
Definition ut_ResFontBase.cpp:221
virtual int GetWidth() const
Definition ut_ResFontBase.cpp:32
virtual int GetLineFeed() const
Definition ut_ResFontBase.cpp:90
virtual bool SetAlternateChar(u16 c)
Definition ut_ResFontBase.cpp:111
virtual int GetHeight() const
Definition ut_ResFontBase.cpp:38
virtual int GetDescent() const
Definition ut_ResFontBase.cpp:50
virtual CharWidths GetCharWidths(u16 c) const
Definition ut_ResFontBase.cpp:135
virtual CharWidths GetDefaultCharWidths() const
Definition ut_ResFontBase.cpp:96
virtual ~ResFontBase()
Definition ut_ResFontBase.cpp:21
void SetResourceBuffer(void *pUserBuffer, FontInformation *pFontInfo)
Definition ut_ResFontBase.cpp:23
virtual void GetGlyph(Glyph *glyph, u16 c) const
Definition ut_ResFontBase.cpp:141
virtual int GetCellWidth() const
Definition ut_ResFontBase.cpp:68
void * mResource
Definition ResFont.h:51
virtual int GetCharWidth(u16 c) const
Definition ut_ResFontBase.cpp:131
virtual GXTexFmt GetTextureFormat() const
Definition ut_ResFontBase.cpp:84
virtual Type GetType() const
Definition ut_ResFontBase.cpp:80
static u8 index[20][3]
Definition GXDraw.c:434
enum _GXTexFmt GXTexFmt
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
FontEncoding
Definition Font.h:25
Definition HBMAnmController.h:6
Definition binaryFileFormat.h:9
Definition fontResources.h:11
Definition fontResources.h:50
Definition fontResources.h:59
Definition fontResources.h:17
Definition fontResources.h:24