Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
arcResourceAccessor.h
Go to the documentation of this file.
1#ifndef NW4HBM_LYT_ARC_RESOURCE_ACCESSOR_H
2#define NW4HBM_LYT_ARC_RESOURCE_ACCESSOR_H
3
4#include <revolution/types.h>
5
6#include <revolution/arc.h>
7
8#include "../ut/Font.h"
9#include "../ut/LinkList.h"
10
11#include "resourceAccessor.h"
12
13namespace nw4hbm {
14 namespace lyt {
15
16 static const int RESOURCE_NAME_MAX = 128;
17
19 public:
21
22 void Set(const char* name, ut::Font* pFont);
23
24 const char* GetFontName() const { return mFontName; }
25 ut::Font* GetFont() const { return mpFont; }
26
28
29 protected:
30 /* 0x08 */ char mFontName[RESOURCE_NAME_MAX];
31 /* 0x88 */ ut::Font* mpFont;
32 };
34
36 public:
38
39 bool Set(void* archiveStart, const char* resRootDirectory);
40
41 char* GetResRootDir() { return mResRootDir; }
43
45
46 protected:
48
50 };
52
54 public:
56
57 /* 0x08 */ virtual ~ArcResourceAccessor() {}
58 /* 0x0C */ virtual void* GetResource(u32 resType, const char* name, u32* pSize = NULL);
59 /* 0x10 */ virtual ut::Font* GetFont(const char* name);
60
61 bool Attach(void* archiveStart, const char* resourceRootDirectory);
62
63 bool IsAttached(void) { return this->mArcBuf != NULL; }
64
65 private:
66 /* 0x00 (base) */
68 /* 0x20 */ void* mArcBuf;
71 };
72
74 public:
76
77 /* 0x08 */ virtual ~MultiArcResourceAccessor();
78 /* 0x0C */ virtual void* GetResource(u32 resType, const char* name, u32* pSize = NULL);
79 /* 0x10 */ virtual ut::Font* GetFont(const char* name);
80
81 void Attach(ArcResourceLink* pLink);
82 void DetachAll() { reinterpret_cast<ut::detail::LinkListImpl*>(&mArcList)->Clear(); }
83 void RegistFont(FontRefLink* pLink);
84
85 protected:
86 /* 0x00 (base) */
89 };
90
91 namespace detail {
92 ut::Font* FindFont(FontRefLinkList* pFontRefList, const char* name);
93 }
94
95 } // namespace lyt
96} // namespace nw4hbm
97
98#endif
Definition arcResourceAccessor.h:53
bool Attach(void *archiveStart, const char *resourceRootDirectory)
Definition lyt_arcResourceAccessor.cpp:117
ARCHandle mArcHandle
Definition arcResourceAccessor.h:67
char mResRootDir[RESOURCE_NAME_MAX]
Definition arcResourceAccessor.h:70
bool IsAttached(void)
Definition arcResourceAccessor.h:63
void * mArcBuf
Definition arcResourceAccessor.h:68
FontRefLinkList mFontList
Definition arcResourceAccessor.h:69
virtual ut::Font * GetFont(const char *name)
Definition lyt_arcResourceAccessor.cpp:160
virtual ~ArcResourceAccessor()
Definition arcResourceAccessor.h:57
ArcResourceAccessor()
Definition lyt_arcResourceAccessor.cpp:111
virtual void * GetResource(u32 resType, const char *name, u32 *pSize=NULL)
Definition lyt_arcResourceAccessor.cpp:143
Definition arcResourceAccessor.h:73
virtual ~MultiArcResourceAccessor()
Definition lyt_arcResourceAccessor.cpp:166
virtual ut::Font * GetFont(const char *name)
Definition lyt_arcResourceAccessor.cpp:192
void DetachAll()
Definition arcResourceAccessor.h:82
void RegistFont(FontRefLink *pLink)
Definition lyt_arcResourceAccessor.cpp:188
virtual void * GetResource(u32 resType, const char *name, u32 *pSize=NULL)
Definition lyt_arcResourceAccessor.cpp:174
MultiArcResourceAccessor()
Definition lyt_arcResourceAccessor.cpp:164
FontRefLinkList mFontList
Definition arcResourceAccessor.h:88
void Attach(ArcResourceLink *pLink)
Definition lyt_arcResourceAccessor.cpp:170
ArcResourceLinkList mArcList
Definition arcResourceAccessor.h:87
Definition resourceAccessor.h:13
Definition Font.h:33
Definition LinkList.h:23
Definition LinkList.h:44
s16 name
Definition d_a_e_pz.cpp:1757
unsigned long u32
Definition types.h:12
ut::Font * FindFont(FontRefLinkList *pFontRefList, const char *name)
Definition lyt_arcResourceAccessor.cpp:93
ut::LinkList< FontRefLink, offsetof(FontRefLink, mLink)> FontRefLinkList
Definition arcResourceAccessor.h:33
ut::LinkList< ArcResourceLink, offsetof(ArcResourceLink, mLink)> ArcResourceLinkList
Definition arcResourceAccessor.h:51
static const int RESOURCE_NAME_MAX
Definition arcResourceAccessor.h:16
Definition HBMAnmController.h:6
Definition arc.h:18