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:
46
48 void finishBuild();
49 virtual void dispose();
50 JAUSoundTable* newSoundTable(void const*, u32, bool);
51 JAUSoundNameTable* newSoundNameTable(void const*, u32, bool);
52 JAIStreamDataMgr* newStreamFileTable(void const*, bool);
55 bool newStaticSeqData(JAISoundID, void const*, u32);
57 void* newCopy(void const*, u32, s32);
58 JASWaveBank* newWaveBank(u32, void const*);
59 bool loadWaveArc(u32, u32);
60 JASBank* newBank(void const*, u32);
64 virtual ~JAUSection() {}
65
66 bool isBuilding() const { return field_0x2c; }
67 bool isOpen() const;
69 const TSectionData& getSectionData() const { return data_; }
70
72
73 /* 0x28 */ u32 field_0x28;
74 /* 0x2C */ bool field_0x2c;
77 /* 0x38 */ TSectionData data_;
78};
79
84class JAUSectionHeap : public JAUSection, public JASGlobalInstance<JAUSectionHeap>, public JAISeqDataMgr {
85public:
97
99 bool loadDynamicSeq(JAISoundID, bool);
106 int releaseSeqData();
107
108 JAISeqDataMgr* getSeqSeqDataMgr() { return this; }
114 if (getOpenSection()->isBuilding() != 0) {
115 return mHeap;
116 }
117 return NULL;
118 }
119
120 /* 0xE0 */ JKRHeap* mHeap;
121 /* 0xE4 */ int field_0xe4;
124};
125
127inline bool JAUSection::isOpen() const { return this == sectionHeap_->getOpenSection(); }
128
130
131#endif /* JAUSECTIONHEAP_H */
JAUSectionHeap * JAUNewSectionHeap(bool)
Definition JAUSectionHeap.cpp:430
Definition JAISound.h:13
Definition JASBank.h:18
Definition JASGadget.h:12
Definition JASVoiceBank.h:11
Definition JASWaveInfo.h:49
Definition JAUBankTable.h:14
Definition JAUSeqDataBlockMgr.h:41
Definition JAUSectionHeap.h:84
u32 releaseIdleDynamicSeqDataBlock()
Definition JAUSectionHeap.cpp:419
TSectionHeapData sectionHeapData_
Definition JAUSectionHeap.h:123
int field_0xe4
Definition JAUSectionHeap.h:121
JAUSectionHeap(JKRSolidHeap *, bool, s32)
Definition JAUSectionHeap.cpp:437
JAISeqDataMgr * getSeSeqDataMgr()
Definition JAUSectionHeap.h:109
JKRHeap * getHeap()
Definition JAUSectionHeap.h:113
JAIStreamDataMgr * getStreamDataMgr()
Definition JAUSectionHeap.h:110
JAUWaveBankTable & getWaveBankTable()
Definition JAUSectionHeap.h:112
JAISeqDataMgr * getSeqSeqDataMgr()
Definition JAUSectionHeap.h:108
bool newDynamicSeqBlock(u32)
Definition JAUSectionHeap.cpp:452
int releaseSeqData()
Definition JAUSectionHeap.cpp:490
JKRHeap * mHeap
Definition JAUSectionHeap.h:120
bool loadDynamicSeq(JAISoundID, bool)
Definition JAUSectionHeap.cpp:415
SeqDataReturnValue getSeqData(JAISoundID, JAISeqData *)
Definition JAUSectionHeap.cpp:479
TSectionHeapData const & getSectionHeapData() const
Definition JAUSectionHeap.h:111
JSUList< JAUSection > mSectionList
Definition JAUSectionHeap.h:122
void setSeqDataArchive(JKRArchive *)
Definition JAUSectionHeap.cpp:408
bool setSeqDataUser(JAISeqDataUser *)
Definition JAUSectionHeap.cpp:447
JAUSection * getOpenSection()
Definition JAUSectionHeap.cpp:443
Definition JAUSectionHeap.h:26
virtual ~JAUSection()
Definition JAUSectionHeap.h:64
bool loadWaveArc(u32, u32)
Definition JAUSectionHeap.cpp:304
bool field_0x2c
Definition JAUSectionHeap.h:74
JAUSectionHeap * asSectionHeap()
Definition JAUSectionHeap.h:68
JAISeqDataMgr * newSeSeqCollection(void const *, u32)
Definition JAUSectionHeap.cpp:198
JASWaveBank * newWaveBank(u32, void const *)
Definition JAUSectionHeap.cpp:287
JASBank * newBank(void const *, u32)
Definition JAUSectionHeap.cpp:319
bool newStaticSeqData(JAISoundID, void const *, u32)
Definition JAUSectionHeap.cpp:246
JAUBankTableLink * buildingBankTable_
Definition JAUSectionHeap.h:76
void * newCopy(void const *, u32, s32)
Definition JAUSectionHeap.cpp:272
void finishBuild()
Definition JAUSectionHeap.cpp:105
JAUBankTable * endNewBankTable()
Definition JAUSectionHeap.cpp:390
JAUSoundNameTable * newSoundNameTable(void const *, u32, bool)
Definition JAUSectionHeap.cpp:151
JAUSoundTable * newSoundTable(void const *, u32, bool)
Definition JAUSectionHeap.cpp:129
u32 field_0x28
Definition JAUSectionHeap.h:73
JAIStreamDataMgr * newStreamFileTable(void const *, bool)
Definition JAUSectionHeap.cpp:173
const TSectionData & getSectionData() const
Definition JAUSectionHeap.h:69
bool isBuilding() const
Definition JAUSectionHeap.h:66
u8 * newStaticSeqDataBlock_(JAISoundID, u32)
Definition JAUSectionHeap.cpp:216
virtual void dispose()
Definition JAUSectionHeap.cpp:116
bool isOpen() const
Definition JAUSectionHeap.h:127
bool beginNewBankTable(u32, u32)
Definition JAUSectionHeap.cpp:368
JAUSectionHeap * sectionHeap_
Definition JAUSectionHeap.h:75
JAUSection(JAUSectionHeap *, u32, s32)
Definition JAUSectionHeap.cpp:95
JASVoiceBank * newVoiceBank(u32, u32)
Definition JAUSectionHeap.cpp:344
JKRHeap * getHeap_()
Definition JAUSectionHeap.h:126
TSectionData data_
Definition JAUSectionHeap.h:77
Definition JAUBankTable.h:51
Definition JKRArchive.h:57
Definition JKRDisposer.h:12
Definition JKRHeap.h:20
Definition JKRSolidHeap.h:10
Definition JSUList.h:96
Definition bitset.h:84
unsigned long u32
Definition types.h:12
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition JAISeqDataMgr.h:59
SeqDataReturnValue
Definition JAISeqDataMgr.h:60
Definition JAISeqDataMgr.h:49
Definition JAISeqDataMgr.h:11
Definition JAIStreamDataMgr.h:10
Definition JAUBankTable.h:41
Definition JAUSectionHeap.h:86
JAUSoundNameTable * soundNameTable
Definition JAUSectionHeap.h:95
TSectionHeapData()
Definition JAUSectionHeap.cpp:400
JAIStreamDataMgr * streamDataMgr_
Definition JAUSectionHeap.h:93
JAISeqDataUser * seqDataUser
Definition JAUSectionHeap.h:90
JAUWaveBankTable waveBankTable
Definition JAUSectionHeap.h:89
JAUDynamicSeqDataBlocks seqDataBlocks
Definition JAUSectionHeap.h:91
JAISeqDataMgr * seSeqDataMgr_
Definition JAUSectionHeap.h:92
JAUSoundTable * soundTable
Definition JAUSectionHeap.h:94
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:83
void resetRegisteredWaveBankTables()
Definition JAUSectionHeap.cpp:89
JAISeqDataMgr * field_0x80
Definition JAUSectionHeap.h:38
TSectionData()
Definition JAUSectionHeap.cpp:73
int field_0xa0
Definition JAUSectionHeap.h:44
const void * mBstnDst
Definition JAUSectionHeap.h:40
Definition JAUSoundTable.h:191
Definition JAUSoundTable.h:143