SSBM Decomp
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#include <dolphin/types.h>
5
7 /* 0x00 */ long inPoint;
8 /* 0x04 */ long outPoint;
9 /* 0x08 */ long length;
10 /* 0x0C */ float* inputs;
11 /* 0x10 */ float lastOutput;
12};
13
15 /* 0x000 */ struct AXFX_REVSTD_DELAYLINE AP[6];
16 /* 0x078 */ struct AXFX_REVSTD_DELAYLINE C[6];
17 /* 0x0F0 */ float allPassCoeff;
18 /* 0x0F4 */ float combCoef[6];
19 /* 0x10C */ float lpLastout[3];
20 /* 0x118 */ float level;
21 /* 0x11C */ float damping;
22 /* 0x120 */ long preDelayTime;
23 /* 0x124 */ float* preDelayLine[3];
24 /* 0x130 */ float* preDelayPtr[3];
25};
26
28 /* 0x000 */ struct AXFX_REVSTD_WORK rv;
29 /* 0x13C */ u8 tempDisableFX;
30 /* 0x140 */ float coloration;
31 /* 0x144 */ float mix;
32 /* 0x148 */ float time;
33 /* 0x14C */ float damping;
34 /* 0x150 */ float preDelay;
35};
36
38 /* 0x00 */ long* left;
39 /* 0x04 */ long* right;
40 /* 0x08 */ long* surround;
41};
42
43// REVHI Structs
44
46 /* 0x00 */ long inPoint;
47 /* 0x04 */ long outPoint;
48 /* 0x08 */ long length;
49 /* 0x0C */ float* inputs;
50 /* 0x10 */ float lastOutput;
51};
52
54 /* 0x000 */ struct AXFX_REVHI_DELAYLINE AP[9];
55 /* 0x0B4 */ struct AXFX_REVHI_DELAYLINE C[9];
56 /* 0x168 */ float allPassCoeff;
57 /* 0x16C */ float combCoef[9];
58 /* 0x190 */ float lpLastout[3];
59 /* 0x19C */ float level;
60 /* 0x1A0 */ float damping;
61 /* 0x1A4 */ long preDelayTime;
62 /* 0x1A8 */ float crosstalk;
63 /* 0x1AC */ float* preDelayLine[3];
64 /* 0x1B8 */ float* preDelayPtr[3];
65};
66
68 /* 0x000 */ struct AXFX_REVHI_WORK rv;
69 /* 0x1C4 */ u8 tempDisableFX;
70 /* 0x1C8 */ float coloration;
71 /* 0x1CC */ float mix;
72 /* 0x1D0 */ float time;
73 /* 0x1D4 */ float damping;
74 /* 0x1D8 */ float preDelay;
75 /* 0x1DC */ float crosstalk;
76};
77
78struct AXFX_DELAY {
79 /* 0x00 */ u32 currentSize[3];
80 /* 0x0C */ u32 currentPos[3];
81 /* 0x18 */ u32 currentFeedback[3];
82 /* 0x24 */ u32 currentOutput[3];
83 /* 0x30 */ long* left;
84 /* 0x34 */ long* right;
85 /* 0x38 */ long* sur;
86 /* 0x3C */ u32 delay[3];
87 /* 0x48 */ u32 feedback[3];
88 /* 0x54 */ u32 output[3];
89};
90
92 /* 0x00 */ long* dest;
93 /* 0x04 */ long* smpBase;
94 /* 0x08 */ long* old;
95 /* 0x0C */ u32 posLo;
96 /* 0x10 */ u32 posHi;
97 /* 0x14 */ u32 pitchLo;
98 /* 0x18 */ u32 pitchHi;
99 /* 0x1C */ u32 trigger;
100 /* 0x20 */ u32 target;
101};
102
104 /* 0x00 */ long* lastLeft[3];
105 /* 0x0C */ long* lastRight[3];
106 /* 0x18 */ long* lastSur[3];
107 /* 0x24 */ u8 currentLast;
108 /* 0x28 */ long oldLeft[4];
109 /* 0x38 */ long oldRight[4];
110 /* 0x48 */ long oldSur[4];
111 /* 0x58 */ u32 currentPosLo;
112 /* 0x5C */ u32 currentPosHi;
113 /* 0x60 */ long pitchOffset;
116 /* 0x6C */ struct AXFX_CHORUS_SRCINFO src;
117};
118
120 /* 0x00 */ struct AXFX_CHORUS_WORK work;
121 /* 0x90 */ u32 baseDelay;
122 /* 0x94 */ u32 variation;
123 /* 0x98 */ u32 period;
124};
125
126extern void* (*__AXFXAlloc)(unsigned long);
127extern void (*__AXFXFree)(void*);
128
129// chorus.c
133void AXFXChorusCallback(struct AXFX_BUFFERUPDATE* bufferUpdate,
134 struct AXFX_CHORUS* chorus);
135
136// delay.c
137void AXFXDelayCallback(struct AXFX_BUFFERUPDATE* bufferUpdate,
138 struct AXFX_DELAY* delay);
139int AXFXDelaySettings(struct AXFX_DELAY* delay);
140int AXFXDelayInit(struct AXFX_DELAY* delay);
141int AXFXDelayShutdown(struct AXFX_DELAY* delay);
142
143// reverb_hi.c
144void DoCrossTalk(long* l, long* r, float cross, float invcross);
148void AXFXReverbHiCallback(struct AXFX_BUFFERUPDATE* bufferUpdate,
149 struct AXFX_REVERBHI* reverb);
150
151// reverb_std.c
155void AXFXReverbStdCallback(struct AXFX_BUFFERUPDATE* bufferUpdate,
156 struct AXFX_REVERBSTD* reverb);
157
158// axfx.c
159void* AXFXAllocFunction(unsigned long size);
160void AXFXFreeFunction(void* ptr);
161void AXFXSetHooks(void* (*alloc_hook)(unsigned long),
162 void (*free_hook)(void*));
163
164#endif // _DOLPHIN_AXFX_H_
void AXFXChorusCallback(struct AXFX_BUFFERUPDATE *bufferUpdate, struct AXFX_CHORUS *chorus)
int AXFXReverbStdShutdown(struct AXFX_REVERBSTD *rev)
void * AXFXAllocFunction(unsigned long size)
int AXFXReverbHiShutdown(struct AXFX_REVERBHI *rev)
int AXFXReverbStdInit(struct AXFX_REVERBSTD *rev)
int AXFXChorusSettings(struct AXFX_CHORUS *c)
int AXFXChorusInit(struct AXFX_CHORUS *c)
int AXFXDelaySettings(struct AXFX_DELAY *delay)
void DoCrossTalk(long *l, long *r, float cross, float invcross)
void AXFXSetHooks(void *(*alloc_hook)(unsigned long), void(*free_hook)(void *))
void(* __AXFXFree)(void *)
void AXFXReverbStdCallback(struct AXFX_BUFFERUPDATE *bufferUpdate, struct AXFX_REVERBSTD *reverb)
int AXFXChorusShutdown(struct AXFX_CHORUS *c)
void AXFXFreeFunction(void *ptr)
int AXFXReverbStdSettings(struct AXFX_REVERBSTD *rev)
int AXFXDelayShutdown(struct AXFX_DELAY *delay)
int AXFXReverbHiInit(struct AXFX_REVERBHI *rev)
int AXFXReverbHiSettings(struct AXFX_REVERBHI *rev)
void AXFXReverbHiCallback(struct AXFX_BUFFERUPDATE *bufferUpdate, struct AXFX_REVERBHI *reverb)
void AXFXDelayCallback(struct AXFX_BUFFERUPDATE *bufferUpdate, struct AXFX_DELAY *delay)
int AXFXDelayInit(struct AXFX_DELAY *delay)
unsigned long u32
Definition types.h:9
unsigned char u8
Definition hsd_3B2B.h:2
Definition axfx.h:37
long * surround
Definition axfx.h:40
long * left
Definition axfx.h:38
long * right
Definition axfx.h:39
Definition axfx.h:91
u32 trigger
Definition axfx.h:99
long * smpBase
Definition axfx.h:93
u32 pitchHi
Definition axfx.h:98
long * old
Definition axfx.h:94
u32 pitchLo
Definition axfx.h:97
u32 posLo
Definition axfx.h:95
long * dest
Definition axfx.h:92
u32 posHi
Definition axfx.h:96
u32 target
Definition axfx.h:100
Definition axfx.h:103
u32 currentPosLo
Definition axfx.h:111
long * lastLeft[3]
Definition axfx.h:104
u32 pitchOffsetPeriod
Definition axfx.h:115
u32 currentPosHi
Definition axfx.h:112
long oldSur[4]
Definition axfx.h:110
long pitchOffset
Definition axfx.h:113
long oldRight[4]
Definition axfx.h:109
long oldLeft[4]
Definition axfx.h:108
long * lastSur[3]
Definition axfx.h:106
u8 currentLast
Definition axfx.h:107
u32 pitchOffsetPeriodCount
Definition axfx.h:114
struct AXFX_CHORUS_SRCINFO src
Definition axfx.h:116
long * lastRight[3]
Definition axfx.h:105
Definition axfx.h:119
u32 period
Definition axfx.h:123
struct AXFX_CHORUS_WORK work
Definition axfx.h:120
u32 variation
Definition axfx.h:122
u32 baseDelay
Definition axfx.h:121
Definition axfx.h:78
long * left
Definition axfx.h:83
u32 currentOutput[3]
Definition axfx.h:82
long * sur
Definition axfx.h:85
u32 feedback[3]
Definition axfx.h:87
u32 currentPos[3]
Definition axfx.h:80
u32 currentFeedback[3]
Definition axfx.h:81
long * right
Definition axfx.h:84
u32 currentSize[3]
Definition axfx.h:79
u32 output[3]
Definition axfx.h:88
u32 delay[3]
Definition axfx.h:86
Definition axfx.h:67
float time
Definition axfx.h:72
float mix
Definition axfx.h:71
float damping
Definition axfx.h:73
u8 tempDisableFX
Definition axfx.h:69
struct AXFX_REVHI_WORK rv
Definition axfx.h:68
float crosstalk
Definition axfx.h:75
float coloration
Definition axfx.h:70
float preDelay
Definition axfx.h:74
Definition axfx.h:27
u8 tempDisableFX
Definition axfx.h:29
float time
Definition axfx.h:32
float preDelay
Definition axfx.h:34
struct AXFX_REVSTD_WORK rv
Definition axfx.h:28
float coloration
Definition axfx.h:30
float damping
Definition axfx.h:33
float mix
Definition axfx.h:31
Definition axfx.h:45
long length
Definition axfx.h:48
float lastOutput
Definition axfx.h:50
long inPoint
Definition axfx.h:46
long outPoint
Definition axfx.h:47
float * inputs
Definition axfx.h:49
Definition axfx.h:53
struct AXFX_REVHI_DELAYLINE C[9]
Definition axfx.h:55
long preDelayTime
Definition axfx.h:61
float level
Definition axfx.h:59
float allPassCoeff
Definition axfx.h:56
float damping
Definition axfx.h:60
float lpLastout[3]
Definition axfx.h:58
float * preDelayPtr[3]
Definition axfx.h:64
struct AXFX_REVHI_DELAYLINE AP[9]
Definition axfx.h:54
float combCoef[9]
Definition axfx.h:57
float crosstalk
Definition axfx.h:62
float * preDelayLine[3]
Definition axfx.h:63
Definition axfx.h:6
float lastOutput
Definition axfx.h:11
long inPoint
Definition axfx.h:7
float * inputs
Definition axfx.h:10
long length
Definition axfx.h:9
long outPoint
Definition axfx.h:8
Definition axfx.h:14
float allPassCoeff
Definition axfx.h:17
float combCoef[6]
Definition axfx.h:18
struct AXFX_REVSTD_DELAYLINE AP[6]
Definition axfx.h:15
struct AXFX_REVSTD_DELAYLINE C[6]
Definition axfx.h:16
float * preDelayPtr[3]
Definition axfx.h:24
float lpLastout[3]
Definition axfx.h:19
long preDelayTime
Definition axfx.h:22
float * preDelayLine[3]
Definition axfx.h:23
float level
Definition axfx.h:20
float damping
Definition axfx.h:21
int c
Definition tev.c:12