Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
axfx.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_AXFX_H_
2#define _DOLPHIN_AXFX_H_
3
4#ifdef __REVOLUTION_SDK__
5#include <revolution/axfx.h>
6#else
7#include <dolphin/types.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct AXFX_REVSTD_DELAYLINE {
14 /* 0x00 */ s32 inPoint;
15 /* 0x04 */ s32 outPoint;
16 /* 0x08 */ s32 length;
17 /* 0x0C */ f32* inputs;
18 /* 0x10 */ f32 lastOutput;
20
21typedef struct AXFX_REVSTD_WORK {
22 /* 0x000 */ AXFX_REVSTD_DELAYLINE AP[6];
23 /* 0x078 */ AXFX_REVSTD_DELAYLINE C[6];
24 /* 0x0F0 */ f32 allPassCoeff;
25 /* 0x0F4 */ f32 combCoef[6];
26 /* 0x10C */ f32 lpLastout[3];
27 /* 0x118 */ f32 level;
28 /* 0x11C */ f32 damping;
29 /* 0x120 */ s32 preDelayTime;
30 /* 0x124 */ f32* preDelayLine[3];
31 /* 0x130 */ f32* preDelayPtr[3];
33
34typedef struct AXFX_REVERBSTD {
35 /* 0x000 */ AXFX_REVSTD_WORK rv;
36 /* 0x13C */ u8 tempDisableFX;
37 /* 0x140 */ f32 coloration;
38 /* 0x144 */ f32 mix;
39 /* 0x148 */ f32 time;
40 /* 0x14C */ f32 damping;
41 /* 0x150 */ f32 preDelay;
43
44typedef struct AXFX_BUFFERUPDATE {
45 /* 0x00 */ s32* left;
46 /* 0x04 */ s32* right;
47 /* 0x08 */ s32* surround;
49
50typedef struct AXFX_BUFFERUPDATE_DPL2 {
51 /* 0x00 */ s32* L;
52 /* 0x04 */ s32* R;
53 /* 0x08 */ s32* Ls;
54 /* 0x0C */ s32* Rs;
56
57// REVHI Structs
58
59typedef struct AXFX_REVHI_DELAYLINE {
60 /* 0x00 */ s32 inPoint;
61 /* 0x04 */ s32 outPoint;
62 /* 0x08 */ s32 length;
63 /* 0x0C */ f32* inputs;
64 /* 0x10 */ f32 lastOutput;
66
67typedef struct AXFX_REVHI_WORK {
68 /* 0x000 */ AXFX_REVHI_DELAYLINE AP[9];
69 /* 0x0B4 */ AXFX_REVHI_DELAYLINE C[9];
70 /* 0x168 */ f32 allPassCoeff;
71 /* 0x16C */ f32 combCoef[9];
72 /* 0x190 */ f32 lpLastout[3];
73 /* 0x19C */ f32 level;
74 /* 0x1A0 */ f32 damping;
75 /* 0x1A4 */ s32 preDelayTime;
76 /* 0x1A8 */ f32 crosstalk;
77 /* 0x1AC */ f32* preDelayLine[3];
78 /* 0x1B8 */ f32* preDelayPtr[3];
80
81typedef struct AXFX_REVHI_WORK_DPL2 {
82 /* 0x000 */ AXFX_REVHI_DELAYLINE AP[12];
83 /* 0x0F0 */ AXFX_REVHI_DELAYLINE C[12];
84 /* 0x1E0 */ f32 allPassCoeff;
85 /* 0x1E4 */ f32 combCoef[12];
86 /* 0x214 */ f32 lpLastout[4];
87 /* 0x224 */ f32 level;
88 /* 0x228 */ f32 damping;
89 /* 0x22C */ s32 preDelayTime;
90 /* 0x230 */ f32 crosstalk;
91 /* 0x234 */ f32* preDelayLine[4];
92 /* 0x244 */ f32* preDelayPtr[4];
94
95typedef struct AXFX_REVERBHI {
96 /* 0x000 */ AXFX_REVHI_WORK rv;
97 /* 0x1C4 */ u8 tempDisableFX;
98 /* 0x1C8 */ f32 coloration;
99 /* 0x1CC */ f32 mix;
100 /* 0x1D0 */ f32 time;
101 /* 0x1D4 */ f32 damping;
102 /* 0x1D8 */ f32 preDelay;
103 /* 0x1DC */ f32 crosstalk;
105
106typedef struct AXFX_REVERBHI_DPL2 {
108 /* 0x254 */ u8 tempDisableFX;
109 /* 0x258 */ f32 coloration;
110 /* 0x25C */ f32 mix;
111 /* 0x260 */ f32 time;
112 /* 0x264 */ f32 damping;
113 /* 0x268 */ f32 preDelay;
115
116typedef struct AXFX_DELAY {
117 /* 0x00 */ u32 currentSize[3];
118 /* 0x0C */ u32 currentPos[3];
119 /* 0x18 */ u32 currentFeedback[3];
120 /* 0x24 */ u32 currentOutput[3];
121 /* 0x30 */ s32* left;
122 /* 0x34 */ s32* right;
123 /* 0x38 */ s32* sur;
124 /* 0x3C */ u32 delay[3];
125 /* 0x48 */ u32 feedback[3];
126 /* 0x54 */ u32 output[3];
128
129typedef struct AXFX_CHORUS_SRCINFO {
130 /* 0x00 */ s32* dest;
131 /* 0x04 */ s32* smpBase;
132 /* 0x08 */ s32* old;
133 /* 0x0C */ u32 posLo;
134 /* 0x10 */ u32 posHi;
135 /* 0x14 */ u32 pitchLo;
136 /* 0x18 */ u32 pitchHi;
137 /* 0x1C */ u32 trigger;
138 /* 0x20 */ u32 target;
140
141typedef struct AXFX_CHORUS_WORK {
142 /* 0x00 */ s32* lastLeft[3];
143 /* 0x0C */ s32* lastRight[3];
144 /* 0x18 */ s32* lastSur[3];
145 /* 0x24 */ u8 currentLast;
146 /* 0x28 */ s32 oldLeft[4];
147 /* 0x38 */ s32 oldRight[4];
148 /* 0x48 */ s32 oldSur[4];
149 /* 0x58 */ u32 currentPosLo;
150 /* 0x5C */ u32 currentPosHi;
151 /* 0x60 */ s32 pitchOffset;
156
157typedef struct AXFX_CHORUS {
159 /* 0x90 */ u32 baseDelay;
160 /* 0x94 */ u32 variation;
161 /* 0x98 */ u32 period;
163
164// chorus
168void AXFXChorusCallback(AXFX_BUFFERUPDATE* bufferUpdate, AXFX_CHORUS* chorus);
169
170// delay
171void AXFXDelayCallback(AXFX_BUFFERUPDATE* bufferUpdate, AXFX_DELAY* delay);
172int AXFXDelaySettings(AXFX_DELAY* delay);
173int AXFXDelayInit(AXFX_DELAY* delay);
174int AXFXDelayShutdown(AXFX_DELAY* delay);
175
176// reverb_hi
177void DoCrossTalk(s32* l, s32* r, f32 cross, f32 invcross);
181void AXFXReverbHiCallback(AXFX_BUFFERUPDATE* bufferUpdate, AXFX_REVERBHI* reverb);
182
183// reverb_hi_4ch
188
189// reverb_std
193void AXFXReverbStdCallback(AXFX_BUFFERUPDATE* bufferUpdate, AXFX_REVERBSTD* reverb);
194
195#ifdef __cplusplus
196}
197#endif
198
199#endif
200#endif // _DOLPHIN_AXFX_H_
Ordon Goat.
struct AXFX_BUFFERUPDATE_DPL2 AXFX_BUFFERUPDATE_DPL2
int AXFXReverbStdSettings(AXFX_REVERBSTD *rev)
Definition reverb_std.c:485
int AXFXChorusSettings(AXFX_CHORUS *c)
Definition chorus.c:423
int AXFXDelayShutdown(AXFX_DELAY *delay)
Definition delay.c:126
void AXFXReverbStdCallback(AXFX_BUFFERUPDATE *bufferUpdate, AXFX_REVERBSTD *reverb)
Definition reverb_std.c:497
void AXFXReverbHiCallbackDpl2(AXFX_BUFFERUPDATE_DPL2 *bufferUpdate, AXFX_REVERBHI_DPL2 *reverb)
Definition reverb_hi_4ch.c:602
int AXFXReverbHiSettingsDpl2(AXFX_REVERBHI_DPL2 *rev)
Definition reverb_hi_4ch.c:590
int AXFXReverbHiInitDpl2(AXFX_REVERBHI_DPL2 *reverb)
Definition reverb_hi_4ch.c:570
struct AXFX_REVHI_WORK AXFX_REVHI_WORK
int AXFXReverbHiShutdownDpl2(AXFX_REVERBHI_DPL2 *reverb)
Definition reverb_hi_4ch.c:581
struct AXFX_REVSTD_WORK AXFX_REVSTD_WORK
struct AXFX_DELAY AXFX_DELAY
void AXFXReverbHiCallback(AXFX_BUFFERUPDATE *bufferUpdate, AXFX_REVERBHI *reverb)
Definition reverb_hi.c:731
void AXFXDelayCallback(AXFX_BUFFERUPDATE *bufferUpdate, AXFX_DELAY *delay)
Definition delay.c:7
struct AXFX_REVERBHI AXFX_REVERBHI
struct AXFX_REVERBSTD AXFX_REVERBSTD
struct AXFX_REVHI_DELAYLINE AXFX_REVHI_DELAYLINE
int AXFXDelaySettings(AXFX_DELAY *delay)
Definition delay.c:43
int AXFXReverbHiSettings(AXFX_REVERBHI *rev)
Definition reverb_hi.c:719
struct AXFX_REVSTD_DELAYLINE AXFX_REVSTD_DELAYLINE
void DoCrossTalk(s32 *l, s32 *r, f32 cross, f32 invcross)
struct AXFX_REVERBHI_DPL2 AXFX_REVERBHI_DPL2
int AXFXReverbStdShutdown(AXFX_REVERBSTD *rev)
Definition reverb_std.c:476
int AXFXReverbHiShutdown(AXFX_REVERBHI *rev)
Definition reverb_hi.c:710
struct AXFX_REVHI_WORK_DPL2 AXFX_REVHI_WORK_DPL2
int AXFXReverbHiInit(AXFX_REVERBHI *rev)
Definition reverb_hi.c:699
int AXFXReverbStdInit(AXFX_REVERBSTD *rev)
Definition reverb_std.c:465
struct AXFX_CHORUS_SRCINFO AXFX_CHORUS_SRCINFO
int AXFXChorusShutdown(AXFX_CHORUS *c)
Definition chorus.c:414
int AXFXDelayInit(AXFX_DELAY *delay)
Definition delay.c:115
int AXFXChorusInit(AXFX_CHORUS *c)
Definition chorus.c:363
struct AXFX_BUFFERUPDATE AXFX_BUFFERUPDATE
void AXFXChorusCallback(AXFX_BUFFERUPDATE *bufferUpdate, AXFX_CHORUS *chorus)
Definition chorus.c:442
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
r
Definition e_acos.c:100
struct AXFX_CHORUS_WORK AXFX_CHORUS_WORK
struct AXFX_CHORUS AXFX_CHORUS
Definition axfx.h:50
s32 * R
Definition axfx.h:52
s32 * Ls
Definition axfx.h:53
s32 * Rs
Definition axfx.h:54
s32 * L
Definition axfx.h:51
Definition axfx.h:44
s32 * right
Definition axfx.h:46
s32 * surround
Definition axfx.h:47
s32 * left
Definition axfx.h:45
Definition axfx.h:129
s32 * old
Definition axfx.h:132
u32 trigger
Definition axfx.h:137
u32 pitchHi
Definition axfx.h:136
u32 pitchLo
Definition axfx.h:135
s32 * dest
Definition axfx.h:130
u32 posLo
Definition axfx.h:133
u32 posHi
Definition axfx.h:134
u32 target
Definition axfx.h:138
s32 * smpBase
Definition axfx.h:131
Definition axfx.h:141
s32 oldSur[4]
Definition axfx.h:148
AXFX_CHORUS_SRCINFO src
Definition axfx.h:154
u32 currentPosLo
Definition axfx.h:149
s32 * lastRight[3]
Definition axfx.h:143
u32 pitchOffsetPeriod
Definition axfx.h:153
u32 currentPosHi
Definition axfx.h:150
s32 pitchOffset
Definition axfx.h:151
s32 oldRight[4]
Definition axfx.h:147
u8 currentLast
Definition axfx.h:145
s32 * lastSur[3]
Definition axfx.h:144
u32 pitchOffsetPeriodCount
Definition axfx.h:152
s32 * lastLeft[3]
Definition axfx.h:142
s32 oldLeft[4]
Definition axfx.h:146
Definition axfx.h:157
u32 period
Definition axfx.h:161
AXFX_CHORUS_WORK work
Definition axfx.h:158
u32 variation
Definition axfx.h:160
u32 baseDelay
Definition axfx.h:159
Definition axfx.h:116
u32 delay[3]
Definition axfx.h:124
s32 * left
Definition axfx.h:121
u32 currentPos[3]
Definition axfx.h:118
u32 output[3]
Definition axfx.h:126
u32 currentSize[3]
Definition axfx.h:117
s32 * sur
Definition axfx.h:123
u32 feedback[3]
Definition axfx.h:125
u32 currentOutput[3]
Definition axfx.h:120
s32 * right
Definition axfx.h:122
u32 currentFeedback[3]
Definition axfx.h:119
Definition axfx.h:106
u8 tempDisableFX
Definition axfx.h:108
f32 mix
Definition axfx.h:110
f32 time
Definition axfx.h:111
AXFX_REVHI_WORK_DPL2 rv
Definition axfx.h:107
f32 coloration
Definition axfx.h:109
f32 damping
Definition axfx.h:112
f32 preDelay
Definition axfx.h:113
Definition axfx.h:95
f32 time
Definition axfx.h:100
f32 damping
Definition axfx.h:101
f32 crosstalk
Definition axfx.h:103
f32 preDelay
Definition axfx.h:102
f32 coloration
Definition axfx.h:98
AXFX_REVHI_WORK rv
Definition axfx.h:96
f32 mix
Definition axfx.h:99
u8 tempDisableFX
Definition axfx.h:97
Definition axfx.h:34
f32 mix
Definition axfx.h:38
f32 coloration
Definition axfx.h:37
u8 tempDisableFX
Definition axfx.h:36
f32 preDelay
Definition axfx.h:41
f32 time
Definition axfx.h:39
f32 damping
Definition axfx.h:40
AXFX_REVSTD_WORK rv
Definition axfx.h:35
Definition axfx.h:59
f32 * inputs
Definition axfx.h:63
s32 outPoint
Definition axfx.h:61
f32 lastOutput
Definition axfx.h:64
s32 length
Definition axfx.h:62
s32 inPoint
Definition axfx.h:60
Definition axfx.h:81
s32 preDelayTime
Definition axfx.h:89
AXFX_REVHI_DELAYLINE AP[12]
Definition axfx.h:82
f32 level
Definition axfx.h:87
f32 combCoef[12]
Definition axfx.h:85
f32 allPassCoeff
Definition axfx.h:84
f32 damping
Definition axfx.h:88
AXFX_REVHI_DELAYLINE C[12]
Definition axfx.h:83
f32 crosstalk
Definition axfx.h:90
f32 * preDelayPtr[4]
Definition axfx.h:92
f32 * preDelayLine[4]
Definition axfx.h:91
f32 lpLastout[4]
Definition axfx.h:86
Definition axfx.h:67
AXFX_REVHI_DELAYLINE C[9]
Definition axfx.h:69
f32 level
Definition axfx.h:73
f32 crosstalk
Definition axfx.h:76
AXFX_REVHI_DELAYLINE AP[9]
Definition axfx.h:68
f32 damping
Definition axfx.h:74
f32 allPassCoeff
Definition axfx.h:70
f32 * preDelayPtr[3]
Definition axfx.h:78
f32 lpLastout[3]
Definition axfx.h:72
s32 preDelayTime
Definition axfx.h:75
f32 * preDelayLine[3]
Definition axfx.h:77
f32 combCoef[9]
Definition axfx.h:71
Definition axfx.h:13
s32 inPoint
Definition axfx.h:14
f32 * inputs
Definition axfx.h:17
s32 length
Definition axfx.h:16
s32 outPoint
Definition axfx.h:15
f32 lastOutput
Definition axfx.h:18
Definition axfx.h:21
f32 level
Definition axfx.h:27
AXFX_REVSTD_DELAYLINE AP[6]
Definition axfx.h:22
f32 * preDelayLine[3]
Definition axfx.h:30
f32 * preDelayPtr[3]
Definition axfx.h:31
f32 allPassCoeff
Definition axfx.h:24
AXFX_REVSTD_DELAYLINE C[6]
Definition axfx.h:23
f32 combCoef[6]
Definition axfx.h:25
f32 damping
Definition axfx.h:28
s32 preDelayTime
Definition axfx.h:29
f32 lpLastout[3]
Definition axfx.h:26