Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
JUTCacheFont.h
Go to the documentation of this file.
1#ifndef JUTCACHEFONT_H
2#define JUTCACHEFONT_H
3
5#include "global.h"
6
7class JKRAramBlock;
8
13class JUTCacheFont : public JUTResFont {
14public:
18 /* 0x08 */ u16 field_0x8;
19 /* 0x0A */ u16 field_0xa;
20 /* 0x0C */ u16 field_0xc;
21 /* 0x0E */ u16 field_0xe;
22 /* 0x10 */ u32 field_0x10;
23 /* 0x14 */ u16 mTexFormat;
24 /* 0x16 */ u16 field_0x16;
25 /* 0x18 */ u16 field_0x18;
26 /* 0x1A */ u16 mWidth;
27 /* 0x1C */ u16 mHeight;
28 /* 0x1E */ u16 field_0x1e;
29 };
30
32 /* 0x20 */ GXTexObj mTexObj;
33 /* 0x40 */ u8 mImage[];
34 }; // Size: 0x40
35
40
41 /* 802DD188 */ JUTCacheFont(ResFONT const*, u32, JKRHeap*);
42 /* 802DD29C */ void deleteMemBlocks_CacheFont();
43 /* 802DD320 */ void initialize_state();
44 /* 802DD35C */ int getMemorySize(ResFONT const*, u16*, u32*, u16*, u32*, u16*, u32*, u32*);
45 /* 802DD4EC */ int initiate(ResFONT const*, void*, u32, JKRHeap*);
46 /* 802DD54C */ bool internal_initiate(ResFONT const*, void*, u32, JKRHeap*);
47 /* 802DD650 */ bool allocArea(void*, u32, JKRHeap*);
48 /* 802DD804 */ bool allocArray(JKRHeap*);
49 /* 802DDB0C */ TGlyphCacheInfo* determineBlankPage();
51 int*, int*);
52 /* 802DDD98 */ TCachePage* loadCache_char_subroutine(int*, bool);
53 /* 802DDEE0 */ void invalidiateAllCache();
54 /* 802DDF68 */ void unlink(JUTCacheFont::TGlyphCacheInfo*);
55 /* 802DDFAC */ void prepend(JUTCacheFont::TGlyphCacheInfo*);
56
57 /* 802DD208 */ virtual ~JUTCacheFont();
58 /* 802DDCE4 */ virtual void loadImage(int, _GXTexMapID);
59 /* 802DD8EC */ virtual void setBlock();
60
61 void setPagingType(EPagingType type) { mPagingType = type; }
62
63 static u32 calcCacheSize(u32 param_0, int param_1) { return (ALIGN_NEXT(param_0, 0x20) + 0x40) * param_1; }
64 GXTexObj* getTexObj(void* buffer) { return &((TCachePage*)buffer)->mTexObj; }
65
66private:
67 /* 0x70 */ u32 mTotalWidSize;
68 /* 0x74 */ u32 mTotalGlySize;
69 /* 0x78 */ u32 mTotalMapSize;
70 /* 0x7C */ void* field_0x7c;
71 /* 0x80 */ void* field_0x80;
72 /* 0x84 */ void* field_0x84;
73 /* 0x88 */ u32 mMaxSheetSize;
75 /* 0x90 */ void* mCacheBuffer;
76 /* 0x94 */ int field_0x94;
77 /* 0x98 */ u32 mCachePage;
81 /* 0xA8 */ u32 field_0xa8;
83 /* 0xB0 */ u8 field_0xb0;
84 /* 0xB4 */ int field_0xb4;
85}; // Size: 0xB8
86
87#endif /* JUTCACHEFONT_H */
_GXTexMapID
Definition GXEnum.h:187
static OSTime buffer
Definition ai.c:24
Definition JKRAramBlock.h:12
Definition JKRHeap.h:16
Definition JUTCacheFont.h:13
virtual void loadImage(int, _GXTexMapID)
Definition JUTCacheFont.cpp:387
u32 field_0xa8
Definition JUTCacheFont.h:81
static u32 calcCacheSize(u32 param_0, int param_1)
Definition JUTCacheFont.h:63
void invalidiateAllCache()
Definition JUTCacheFont.cpp:444
bool allocArea(void *, u32, JKRHeap *)
Definition JUTCacheFont.cpp:193
u32 mTotalMapSize
Definition JUTCacheFont.h:69
void deleteMemBlocks_CacheFont()
Definition JUTCacheFont.cpp:37
virtual void setBlock()
Definition JUTCacheFont.cpp:274
u32 mTotalGlySize
Definition JUTCacheFont.h:68
u32 mMaxSheetSize
Definition JUTCacheFont.h:73
void * field_0x7c
Definition JUTCacheFont.h:70
bool internal_initiate(ResFONT const *, void *, u32, JKRHeap *)
Definition JUTCacheFont.cpp:165
virtual ~JUTCacheFont()
Definition JUTCacheFont.cpp:23
TCachePage * loadCache_char_subroutine(int *, bool)
Definition JUTCacheFont.cpp:402
TGlyphCacheInfo * determineBlankPage()
Definition JUTCacheFont.cpp:334
u32 mCachePage
Definition JUTCacheFont.h:77
void getGlyphFromAram(JUTCacheFont::TGlyphCacheInfo *, JUTCacheFont::TCachePage *, int *, int *)
Definition JUTCacheFont.cpp:364
void prepend(JUTCacheFont::TGlyphCacheInfo *)
Definition JUTCacheFont.cpp:486
int field_0x94
Definition JUTCacheFont.h:76
int field_0xb4
Definition JUTCacheFont.h:84
u32 mTotalWidSize
Definition JUTCacheFont.h:67
EPagingType
Definition JUTCacheFont.h:36
@ PAGE_TYPE_0
Definition JUTCacheFont.h:37
@ PAGE_TYPE_1
Definition JUTCacheFont.h:38
JKRAramBlock * field_0xac
Definition JUTCacheFont.h:82
void * field_0x84
Definition JUTCacheFont.h:72
void * field_0x80
Definition JUTCacheFont.h:71
GXTexObj * getTexObj(void *buffer)
Definition JUTCacheFont.h:64
void initialize_state()
Definition JUTCacheFont.cpp:52
void setPagingType(EPagingType type)
Definition JUTCacheFont.h:61
EPagingType mPagingType
Definition JUTCacheFont.h:74
void * mCacheBuffer
Definition JUTCacheFont.h:75
bool allocArray(JKRHeap *)
Definition JUTCacheFont.cpp:249
TGlyphCacheInfo * field_0x9c
Definition JUTCacheFont.h:78
TGlyphCacheInfo * field_0xa0
Definition JUTCacheFont.h:79
int getMemorySize(ResFONT const *, u16 *, u32 *, u16 *, u32 *, u16 *, u32 *, u32 *)
Definition JUTCacheFont.cpp:73
u8 field_0xb0
Definition JUTCacheFont.h:83
void unlink(JUTCacheFont::TGlyphCacheInfo *)
Definition JUTCacheFont.cpp:470
TGlyphCacheInfo * field_0xa4
Definition JUTCacheFont.h:80
JUTCacheFont(ResFONT const *, u32, JKRHeap *)
Definition JUTCacheFont.cpp:15
int initiate(ResFONT const *, void *, u32, JKRHeap *)
Definition JUTCacheFont.cpp:151
Definition JUTResFont.h:24
Definition JUTCacheFont.h:31
u8 mImage[]
Definition JUTCacheFont.h:33
GXTexObj mTexObj
Definition JUTCacheFont.h:32
Definition JUTCacheFont.h:15
u16 mHeight
Definition JUTCacheFont.h:27
u32 field_0x10
Definition JUTCacheFont.h:22
u16 mWidth
Definition JUTCacheFont.h:26
TGlyphCacheInfo * mNext
Definition JUTCacheFont.h:17
u16 field_0xa
Definition JUTCacheFont.h:19
u16 mTexFormat
Definition JUTCacheFont.h:23
u16 field_0x1e
Definition JUTCacheFont.h:28
u16 field_0x16
Definition JUTCacheFont.h:24
u16 field_0x8
Definition JUTCacheFont.h:18
u16 field_0xc
Definition JUTCacheFont.h:20
u16 field_0x18
Definition JUTCacheFont.h:25
u16 field_0xe
Definition JUTCacheFont.h:21
TGlyphCacheInfo * mPrev
Definition JUTCacheFont.h:16
Definition JUTFont.h:11
Definition GXStruct.h:35
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5