Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
Z2FxLineMgr.h
Go to the documentation of this file.
1#ifndef Z2FXLINEMGR_H
2#define Z2FXLINEMGR_H
3
4#include "JSystem/JAHostIO/JAHFrameNode.h"
5#include "JSystem/JAudio2/JASDSPInterface.h"
6#include "JSystem/JAudio2/JASGadget.h"
7
8class JKRArchive;
9class JKRExpHeap;
10class JKRHeap;
11
13 /* 0x00 */ u8 unk0;
14 /* 0x01 */ u8 unk1;
15 /* 0x02 */ u8 unk2;
16 /* 0x03 */ u8 unk3;
17 /* 0x04 */ s16 unk4;
18 /* 0x06 */ s16 unk6;
19 /* 0x08 */ s16 unk8[8];
20};
21
25}; // Size: 0x30
26
27class Z2FxLineEditNode : public JAHFrameNode {
28public:
29 class LineStereo : public JAHFrameNode {
30 public:
31 LineStereo(bool dolby) : JAHFrameNode(NULL) {
32 unk70.unk0.unk0 = 1;
33 unk70.unk0.unk1 = 0;
34 unk70.unk0.unk4 = 0x6000;
35 unk70.unk0.unk2 = 1;
36 unk70.unk0.unk6 = 0;
37 unk70.unk0.unk3 = 0x40;
38 unk70.unk0.unk8[0] = 0;
39 unk70.unk0.unk8[1] = 0;
40 unk70.unk0.unk8[2] = 0;
41 unk70.unk0.unk8[3] = 0;
42 unk70.unk0.unk8[4] = 0;
43 unk70.unk0.unk8[5] = 0;
44 unk70.unk0.unk8[6] = 0x3fff;
45 unk70.unk0.unk8[7] = 0;
46
47 unk70.unk18.unk0 = 1;
48 unk70.unk18.unk1 = 0;
49 unk70.unk18.unk4 = 0;
50 unk70.unk18.unk2 = 1;
51 unk70.unk18.unk6 = 0x6000;
52 unk70.unk18.unk3 = 0x40;
53 unk70.unk18.unk8[0] = 0;
54 unk70.unk18.unk8[1] = 0;
55 unk70.unk18.unk8[2] = 0;
56 unk70.unk18.unk8[3] = 0;
57 unk70.unk18.unk8[4] = 0;
58 unk70.unk18.unk8[5] = 0;
59 unk70.unk18.unk8[6] = 0x3fff;
60 unk70.unk18.unk8[7] = 0;
61
62 if (dolby)
63 setNodeName("Dolby Stereo");
64 else
65 setNodeName("Norma Stereo");
66 mIsDolby = dolby;
67 }
68
69 void message(JAHControl&);
70 void propertyEvent(JAH_P_Event, u32);
71 void lineEditSingle(Z2FxLineConfigSingle*, JAHControl&);
72
74 /* 0xA0 */ bool mIsDolby;
75 };
76
77 Z2FxLineEditNode(JKRExpHeap*);
78
79 void message(JAHControl&);
80 void syncSetting(u8, JASDsp::FxlineConfig_*);
81 void update(bool);
82 void saveLine(LineStereo*);
83 void loadLine(LineStereo*);
84
85 /* 0x70 */ JKRExpHeap* mHeap;
86 /* 0x74 */ LineStereo* unk74;
87 /* 0x78 */ LineStereo* unk78;
88};
89
90struct Z2FxLineMgr : public JASGlobalInstance<Z2FxLineMgr> {
92 void initDataArc(JKRArchive* arc, JKRHeap* heap);
93 void setLineID(s8 fxID, bool, bool);
94 void setLine(Z2FxLineConfig* config, bool, bool);
95 void setFxForceOff(bool);
96 void setUnderWaterFx(bool isUnderWaterFx);
97 void setSceneFx(s32 sceneNo);
98
99 void setHIOEdit(Z2FxLineEditNode* hioEdit) { mHIOEdit = hioEdit; }
100
102 /* 0x04 */ void* mFxLineBuffer[4];
103 /* 0x14 */ s8 mLineID;
104 /* 0x15 */ u8 mFxDataNum;
105 /* 0x16 */ bool mSetUnderWaterFx;
107}; // Size: 0x1C
108
110 return JASGlobalInstance<Z2FxLineMgr>::getInstance();
111}
112
113#endif /* Z2FXLINEMGR_H */
Z2FxLineMgr * Z2GetFxLineMgr()
Definition Z2FxLineMgr.h:109
Definition Z2FxLineMgr.h:29
bool mIsDolby
Definition Z2FxLineMgr.h:74
void lineEditSingle(Z2FxLineConfigSingle *, JAHControl &)
Definition Z2FxLineMgr.cpp:500
Z2FxLineConfig unk70
Definition Z2FxLineMgr.h:73
void propertyEvent(JAH_P_Event, u32)
Definition Z2FxLineMgr.cpp:478
void message(JAHControl &)
Definition Z2FxLineMgr.cpp:462
LineStereo(bool dolby)
Definition Z2FxLineMgr.h:31
Definition Z2FxLineMgr.h:27
JKRExpHeap * mHeap
Definition Z2FxLineMgr.h:85
LineStereo * unk78
Definition Z2FxLineMgr.h:87
void message(JAHControl &)
Definition Z2FxLineMgr.cpp:283
Z2FxLineEditNode(JKRExpHeap *)
Definition Z2FxLineMgr.cpp:274
void syncSetting(u8, JASDsp::FxlineConfig_ *)
Definition Z2FxLineMgr.cpp:312
LineStereo * unk74
Definition Z2FxLineMgr.h:86
void update(bool)
Definition Z2FxLineMgr.cpp:346
void saveLine(LineStereo *)
Definition Z2FxLineMgr.cpp:355
void loadLine(LineStereo *)
Definition Z2FxLineMgr.cpp:406
Definition Z2FxLineMgr.h:12
u8 unk0
Definition Z2FxLineMgr.h:13
u8 unk3
Definition Z2FxLineMgr.h:16
s16 unk8[8]
Definition Z2FxLineMgr.h:19
u8 unk1
Definition Z2FxLineMgr.h:14
s16 unk4
Definition Z2FxLineMgr.h:17
s16 unk6
Definition Z2FxLineMgr.h:18
u8 unk2
Definition Z2FxLineMgr.h:15
Definition Z2FxLineMgr.h:22
Z2FxLineConfigSingle unk0
Definition Z2FxLineMgr.h:23
Z2FxLineConfigSingle unk18
Definition Z2FxLineMgr.h:24
Definition Z2FxLineMgr.h:90
void setLine(Z2FxLineConfig *config, bool, bool)
Definition Z2FxLineMgr.cpp:101
Z2FxLineEditNode * mHIOEdit
Definition Z2FxLineMgr.h:106
void * mFxLineBuffer[4]
Definition Z2FxLineMgr.h:102
void setHIOEdit(Z2FxLineEditNode *hioEdit)
Definition Z2FxLineMgr.h:99
void initDataArc(JKRArchive *arc, JKRHeap *heap)
Definition Z2FxLineMgr.cpp:25
Z2FxLineConfig * mConfig
Definition Z2FxLineMgr.h:101
void setLineID(s8 fxID, bool, bool)
Definition Z2FxLineMgr.cpp:89
u8 mFxDataNum
Definition Z2FxLineMgr.h:104
Z2FxLineMgr()
Definition Z2FxLineMgr.cpp:14
void setFxForceOff(bool)
Definition Z2FxLineMgr.cpp:173
void setSceneFx(s32 sceneNo)
Definition Z2FxLineMgr.cpp:195
s8 mLineID
Definition Z2FxLineMgr.h:103
void setUnderWaterFx(bool isUnderWaterFx)
Definition Z2FxLineMgr.cpp:177
bool mSetUnderWaterFx
Definition Z2FxLineMgr.h:105