Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
JAUSectionHeap.h
Go to the documentation of this file.
1#ifndef JAUSECTIONHEAP_H
2#define JAUSECTIONHEAP_H
3
7#include "bitset.h"
8
9class JAISeqData;
10class JAISeqDataMgr;
11class JAISeqDataUser;
13class JASVoiceBank;
15class JAUDisposer_;
16class JAUSectionHeap;
17class JAUSoundTable;
19class JKRArchive;
20class JKRSolidHeap;
21
26class JAUSection : public JKRDisposer, protected JSULink<JAUSection> {
27public:
28 struct TSectionData {
29 /* 802A4EE8 */ TSectionData();
30 /* 802A4F68 */ void resetRegisteredBankTables();
31 /* 802A4FE4 */ void resetRegisteredWaveBankTables();
32
39 /* 0x84 */ const void* mBstDst;
40 /* 0x88 */ const void* mBstnDst;
42 /* 0x98 */ s32 field_0x98;
43 /* 0x9C */ int field_0x9c;
44 /* 0xA0 */ int field_0xa0;
45 };
46
47 /* 802A5060 */ JAUSection(JAUSectionHeap*, u32, s32);
48 /* 802A50F8 */ void finishBuild();
49 /* 802A5160 */ virtual void dispose();
50 /* 802A51E4 */ JAUSoundTable* newSoundTable(void const*, u32, bool);
51 /* 802A52A0 */ JAUSoundNameTable* newSoundNameTable(void const*, u32, bool);
52 /* 802A535C */ JAIStreamDataMgr* newStreamFileTable(void const*, bool);
53 /* 802A5500 */ JAISeqDataMgr* newSeSeqCollection(void const*, u32);
54 /* 802A5598 */ u8* newStaticSeqDataBlock_(JAISoundID, u32);
55 /* 802A56C8 */ bool newStaticSeqData(JAISoundID, void const*, u32);
56 /* 802A5730 */ bool newStaticSeqData(JAISoundID);
57 /* 802A57F0 */ void* newCopy(void const*, u32, s32);
58 /* 802A5854 */ JASWaveBank* newWaveBank(u32, void const*);
59 /* 802A5948 */ bool loadWaveArc(u32, u32);
60 /* 802A5A50 */ JASBank* newBank(void const*, u32);
61 /* 802A5B84 */ JASVoiceBank* newVoiceBank(u32, u32);
62 /* 802A5CAC */ bool beginNewBankTable(u32, u32);
63 /* 802A5D9C */ JAUBankTable* endNewBankTable();
64 /* 802A6468 */ virtual ~JAUSection() {}
65
66 bool isBuilding() { return field_0x2c; }
67 bool isOpen();
70
71 /* 0x28 */ u32 field_0x28;
72 /* 0x2C */ bool field_0x2c;
75 /* 0x38 */ TSectionData data_;
76};
77
82class JAUSectionHeap : public JAUSection, public JASGlobalInstance<JAUSectionHeap>, public JAISeqDataMgr {
83public:
95
96 /* 802A5E60 */ void setSeqDataArchive(JKRArchive*);
97 /* 802A5EC0 */ bool loadDynamicSeq(JAISoundID, bool);
98 /* 802A5EF8 */ void releaseIdleDynamicSeqDataBlock();
99 /* 802A5FE0 */ JAUSectionHeap(JKRSolidHeap*, bool, s32);
100 /* 802A6094 */ JAUSection* getOpenSection();
101 /* 802A60A0 */ bool setSeqDataUser(JAISeqDataUser*);
102 /* 802A60AC */ bool newDynamicSeqBlock(u32);
104 /* 802A6270 */ int releaseSeqData();
105 /* 802A6278 */ ~JAUSectionHeap() {}
106
107 JAISeqDataMgr* getSeqSeqDataMgr() { return this; }
113 if (getOpenSection()->isBuilding() != 0) {
114 return mHeap;
115 }
116 return NULL;
117 }
118
119 /* 0xE0 */ JKRHeap* mHeap;
120 /* 0xE4 */ int field_0xe4;
123};
124
126inline bool JAUSection::isOpen() { return this == sectionHeap_->getOpenSection(); }
127
129
130#endif /* JAUSECTIONHEAP_H */
JAUSectionHeap * JAUNewSectionHeap(bool)
Definition JAUSectionHeap.cpp:480
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition JASBank.h:18
Definition JASGadget.h:12
Definition JASVoiceBank.h:11
Definition JASBasicWaveBank.h:22
Definition JAUBankTable.h:14
Definition JAUSeqDataBlockMgr.h:41
Definition JAUSectionHeap.h:82
void releaseIdleDynamicSeqDataBlock()
Definition JAUSectionHeap.cpp:462
TSectionHeapData sectionHeapData_
Definition JAUSectionHeap.h:122
int field_0xe4
Definition JAUSectionHeap.h:120
~JAUSectionHeap()
Definition JAUSectionHeap.h:105
JAISeqDataMgr * getSeSeqDataMgr()
Definition JAUSectionHeap.h:108
JKRHeap * getHeap()
Definition JAUSectionHeap.h:112
JAIStreamDataMgr * getStreamDataMgr()
Definition JAUSectionHeap.h:109
JAUWaveBankTable & getWaveBankTable()
Definition JAUSectionHeap.h:111
JAISeqDataMgr * getSeqSeqDataMgr()
Definition JAUSectionHeap.h:107
bool newDynamicSeqBlock(u32)
Definition JAUSectionHeap.cpp:508
int releaseSeqData()
Definition JAUSectionHeap.cpp:550
JKRHeap * mHeap
Definition JAUSectionHeap.h:119
bool loadDynamicSeq(JAISoundID, bool)
Definition JAUSectionHeap.cpp:456
SeqDataReturnValue getSeqData(JAISoundID, JAISeqData *)
Definition JAUSectionHeap.cpp:537
TSectionHeapData const & getSectionHeapData() const
Definition JAUSectionHeap.h:110
JSUList< JAUSection > mSectionList
Definition JAUSectionHeap.h:121
void setSeqDataArchive(JKRArchive *)
Definition JAUSectionHeap.cpp:447
bool setSeqDataUser(JAISeqDataUser *)
Definition JAUSectionHeap.cpp:502
JAUSection * getOpenSection()
Definition JAUSectionHeap.cpp:496
Definition JAUSectionHeap.h:26
virtual ~JAUSection()
Definition JAUSectionHeap.h:64
bool loadWaveArc(u32, u32)
Definition JAUSectionHeap.cpp:336
bool field_0x2c
Definition JAUSectionHeap.h:72
bool isBuilding()
Definition JAUSectionHeap.h:66
JAUSectionHeap * asSectionHeap()
Definition JAUSectionHeap.h:68
JAISeqDataMgr * newSeSeqCollection(void const *, u32)
Definition JAUSectionHeap.cpp:216
JASWaveBank * newWaveBank(u32, void const *)
Definition JAUSectionHeap.cpp:318
JASBank * newBank(void const *, u32)
Definition JAUSectionHeap.cpp:352
bool newStaticSeqData(JAISoundID, void const *, u32)
Definition JAUSectionHeap.cpp:268
JAUBankTableLink * buildingBankTable_
Definition JAUSectionHeap.h:74
void * newCopy(void const *, u32, s32)
Definition JAUSectionHeap.cpp:297
void finishBuild()
Definition JAUSectionHeap.cpp:115
JAUBankTable * endNewBankTable()
Definition JAUSectionHeap.cpp:425
JAUSoundNameTable * newSoundNameTable(void const *, u32, bool)
Definition JAUSectionHeap.cpp:167
JAUSoundTable * newSoundTable(void const *, u32, bool)
Definition JAUSectionHeap.cpp:143
u32 field_0x28
Definition JAUSectionHeap.h:71
JAIStreamDataMgr * newStreamFileTable(void const *, bool)
Definition JAUSectionHeap.cpp:190
u8 * newStaticSeqDataBlock_(JAISoundID, u32)
Definition JAUSectionHeap.cpp:236
bool isOpen()
Definition JAUSectionHeap.h:126
virtual void dispose()
Definition JAUSectionHeap.cpp:127
bool beginNewBankTable(u32, u32)
Definition JAUSectionHeap.cpp:402
JAUSectionHeap * sectionHeap_
Definition JAUSectionHeap.h:73
JASVoiceBank * newVoiceBank(u32, u32)
Definition JAUSectionHeap.cpp:379
JKRHeap * getHeap_()
Definition JAUSectionHeap.h:125
TSectionData data_
Definition JAUSectionHeap.h:75
Definition JAUBankTable.h:50
Definition JKRArchive.h:57
Definition JKRDisposer.h:12
Definition JKRHeap.h:16
Definition JKRSolidHeap.h:10
Definition JSUList.h:96
Definition bitset.h:65
Definition JAISeqDataMgr.h:58
SeqDataReturnValue
Definition JAISeqDataMgr.h:59
Definition JAISeqDataMgr.h:48
Definition JAISeqDataMgr.h:10
Definition d_a_obj_sekizoa.cpp:447
Definition JAIStreamDataMgr.h:10
Definition JAUBankTable.h:40
Definition JAUSectionHeap.h:84
JAUSoundNameTable * soundNameTable
Definition JAUSectionHeap.h:93
TSectionHeapData()
Definition JAUSectionHeap.cpp:437
JAIStreamDataMgr * streamDataMgr_
Definition JAUSectionHeap.h:91
JAISeqDataUser * seqDataUser
Definition JAUSectionHeap.h:88
JAUWaveBankTable waveBankTable
Definition JAUSectionHeap.h:87
JAUDynamicSeqDataBlocks seqDataBlocks
Definition JAUSectionHeap.h:89
JAISeqDataMgr * seSeqDataMgr_
Definition JAUSectionHeap.h:90
JAUSoundTable * soundTable
Definition JAUSectionHeap.h:92
Definition JAUSectionHeap.h:28
s32 field_0x98
Definition JAUSectionHeap.h:42
JAUDynamicSeqDataBlocks field_0x00
Definition JAUSectionHeap.h:33
int field_0x9c
Definition JAUSectionHeap.h:43
std::bitset< 255 > registeredWaveBankTables
Definition JAUSectionHeap.h:35
JAUBankTableDictionary field_0x74
Definition JAUSectionHeap.h:37
const void * mBstDst
Definition JAUSectionHeap.h:39
JSUList< JAUDisposer_ > field_0x8c
Definition JAUSectionHeap.h:41
std::bitset< 255 > registeredBankTables
Definition JAUSectionHeap.h:36
JSUList< JAUSeqDataBlock > field_0x28
Definition JAUSectionHeap.h:34
void resetRegisteredBankTables()
Definition JAUSectionHeap.cpp:89
void resetRegisteredWaveBankTables()
Definition JAUSectionHeap.cpp:97
JAISeqDataMgr * field_0x80
Definition JAUSectionHeap.h:38
TSectionData()
Definition JAUSectionHeap.cpp:71
int field_0xa0
Definition JAUSectionHeap.h:44
const void * mBstnDst
Definition JAUSectionHeap.h:40
Definition JAUSoundTable.h:190
Definition JAUSoundTable.h:143
unsigned long u32
Definition types.h:10
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8