Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
axart.h
Go to the documentation of this file.
1#ifndef _REVOLUTION_AXART_H_
2#define _REVOLUTION_AXART_H_
3
4#include <revolution/types.h>
5#include <revolution/ax.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
33
34typedef struct {
35 void* next;
36 u32 type;
37} AXART_ART;
38
39typedef struct {
40 f32* lfo;
41 u32 length;
42 f32 delta;
43 u32 sampleIndex;
44 f32 counter;
45 f32 sample1;
46 f32 sample;
47 f32 output;
48} AXART_LFO;
49
50typedef struct {
51 AXART_ART art;
52 f32 hAngle;
53 f32 vAngle;
54 f32 dist;
55 f32 closingSpeed;
56 u32 update;
57 u8 pan;
58 u8 span;
59 u8 src;
60 u16 itdL;
61 u16 itdR;
62 f32 pitch;
63 s32 attenuation;
64} AXART_3D;
65
66typedef struct {
67 AXART_ART art;
68 u8 pan;
69 u8 span;
71
72typedef struct {
73 AXART_ART art;
74 u16 itdL;
75 u16 itdR;
76} AXART_ITD;
77
78typedef struct {
79 AXART_ART art;
80 u8 src;
81} AXART_SRC;
82
83typedef struct {
84 AXART_ART art;
85 s32 cents;
87
88typedef struct {
89 AXART_ART art;
90 s32 delta;
91 s32 target;
92 s32 cents;
94
95typedef struct {
96 AXART_ART art;
97 AXART_LFO lfo;
98 s32 cents;
100
101typedef struct {
102 AXART_ART art;
103 s32 attenuation;
105
106typedef struct {
107 AXART_ART art;
108 s32 attenuation;
110
111typedef struct {
112 AXART_ART art;
113 s32 attenuation;
115
116typedef struct {
117 AXART_ART art;
118 s32 delta;
119 s32 target;
120 s32 attenuation;
122
123typedef struct {
124 AXART_ART art;
125 s32 delta;
126 s32 target;
127 s32 attenuation;
129
130typedef struct {
131 AXART_ART art;
132 s32 delta;
133 s32 target;
134 s32 attenuation;
136
137typedef struct {
138 AXART_ART art;
139 AXART_LFO lfo;
140 s32 attenuation;
142
143typedef struct {
144 AXART_ART art;
145 AXART_LFO lfo;
146 s32 attenuation;
148
149typedef struct {
150 AXART_ART art;
151 AXART_LFO lfo;
152 s32 attenuation;
154
155typedef struct {
156 AXART_ART art;
157 u32 initLPF;
158 u32 frequency;
159 u32 update;
160} AXART_LPF;
161
162typedef struct {
163 void* next;
164 void* prev;
165 AXVPB* axvpb;
166 f32 sampleRate;
167 AXART_ART* articulators;
169
170#define AXART_SINE_CNT 64
171extern f32 AXARTSine[AXART_SINE_CNT];
172
173// axart
174void AXARTInit(void);
175void AXARTQuit(void);
176void AXARTServiceSounds(void);
177void AXARTAddSound(AXART_SOUND* sound);
178void AXARTRemoveSound(AXART_SOUND* sound);
179void AXARTInitLfo(AXART_LFO* lfo, f32* samples, u32 length, f32 delta);
180void AXARTInitArt3D(AXART_3D* articulator);
181void AXARTInitArtPanning(AXART_PANNING* articulator);
182void AXARTInitArtItd(AXART_ITD* articulator);
183void AXARTInitArtSrctype(AXART_SRC* articulator);
184void AXARTInitArtPitch(AXART_PITCH* articulator);
185void AXARTInitArtPitchEnv(AXART_PITCH_ENV* articulator);
186void AXARTInitArtPitchMod(AXART_PITCH_MOD* articulator);
187void AXARTInitArtVolume(AXART_VOLUME* articulator);
190void AXARTInitArtVolumeEnv(AXART_VOLUME_ENV* articulator);
193void AXARTInitArtVolumeMod(AXART_VOLUME_MOD* articulator);
196void AXARTInitArtLpf(AXART_LPF* articulator);
197
198// axart3d
199void AXARTSet3DDistanceScale(f32 scale);
200void AXARTSet3DDopplerScale(f32 scale);
201void AXART3DSound(AXART_3D* articulator);
202
203// axartcents
204f32 AXARTCents(s32 cents);
205
206// axartenv
207void AXARTPitchEnv(AXART_PITCH_ENV* articulator);
208void AXARTVolumeEnv(AXART_VOLUME_ENV* articulator);
209
210// axartlfo
211void AXARTLfo(AXART_LFO* lfo);
212
213// axartsound
214void AXARTServiceSound(AXART_SOUND* sound);
215void AXARTAddArticulator(AXART_SOUND* sound, AXART_ART* articulator);
216
217// axartlpf
218void AXARTLpf(AXART_LPF*, AXVPB*);
219
220#ifdef __cplusplus
221}
222#endif
223
224#endif // _REVOLUTION_AXART_H_
static u32 next
Definition CARDUnlock.c:29
static void * target
Definition d_a_npc_cd2.cpp:1780
void AXARTInitArtVolume(AXART_VOLUME *articulator)
Definition axart.c:257
void AXARTInitArtAuxAVolumeMod(AXART_AUXA_VOLUME_MOD *articulator)
Definition axart.c:307
void AXARTInitLfo(AXART_LFO *lfo, f32 *samples, u32 length, f32 delta)
Definition axart.c:189
void AXARTInitArtItd(AXART_ITD *articulator)
Definition axart.c:221
void AXARTPitchEnv(AXART_PITCH_ENV *articulator)
Definition axartenv.c:5
f32 AXARTCents(s32 cents)
Definition axartcents.c:259
__axart_type
Definition axart.h:14
@ AXART_TYPE_PITCH_ENV
Definition axart.h:21
@ AXART_TYPE_AUX_B_VOLUME
Definition axart.h:25
@ AXART_TYPE_3D
Definition axart.h:16
@ AXART_TYPE_AUX_A_VOLUME
Definition axart.h:24
@ AXART_TYPE_AUX_B_VOLUME_ENV
Definition axart.h:28
@ AXART_TYPE_AUX_A_VOLUME_ENV
Definition axart.h:27
@ AXART_TYPE_VOLUME
Definition axart.h:23
@ AXART_TYPE_SRC
Definition axart.h:19
@ AXART_TYPE_LPF
Definition axart.h:32
@ AXART_TYPE_AUX_B_VOLUME_MOD
Definition axart.h:31
@ AXART_TYPE_NONE
Definition axart.h:15
@ AXART_TYPE_VOLUME_ENV
Definition axart.h:26
@ AXART_TYPE_AUX_A_VOLUME_MOD
Definition axart.h:30
@ AXART_TYPE_PITCH
Definition axart.h:20
@ AXART_TYPE_PITCH_MOD
Definition axart.h:22
@ AXART_TYPE_ITD
Definition axart.h:18
@ AXART_TYPE_PANNING
Definition axart.h:17
@ AXART_TYPE_NUM
Definition axart.h:34
@ AXART_TYPE_VOLUME_MOD
Definition axart.h:29
void AXART3DSound(AXART_3D *articulator)
Definition axart3d.c:277
void AXARTSet3DDopplerScale(f32 scale)
Definition axart3d.c:267
void AXARTRemoveSound(AXART_SOUND *sound)
Definition axart.c:163
void AXARTInitArtAuxBVolumeMod(AXART_AUXB_VOLUME_MOD *articulator)
Definition axart.c:315
void AXARTAddSound(AXART_SOUND *sound)
Definition axart.c:44
void AXARTVolumeEnv(AXART_VOLUME_ENV *articulator)
Definition axartenv.c:20
void AXARTLfo(AXART_LFO *lfo)
Definition axartlfo.c:71
void AXARTInitArtPitchMod(AXART_PITCH_MOD *articulator)
Definition axart.c:249
void AXARTServiceSounds(void)
Definition axart.c:27
void AXARTInitArtAuxBVolume(AXART_AUXB_VOLUME *articulator)
Definition axart.c:271
void AXARTQuit(void)
Definition axart.c:13
void AXARTInitArtAuxAVolume(AXART_AUXA_VOLUME *articulator)
Definition axart.c:264
f32 AXARTSine[AXART_SINE_CNT]
Definition axartlfo.c:5
void AXARTInitArt3D(AXART_3D *articulator)
Definition axart.c:200
void AXARTAddArticulator(AXART_SOUND *sound, AXART_ART *articulator)
Definition axartsound.c:116
void AXARTInitArtVolumeMod(AXART_VOLUME_MOD *articulator)
Definition axart.c:299
void AXARTInitArtVolumeEnv(AXART_VOLUME_ENV *articulator)
Definition axart.c:278
void AXARTInitArtSrctype(AXART_SRC *articulator)
Definition axart.c:228
void AXARTInitArtLpf(AXART_LPF *articulator)
Definition axart.c:323
void AXARTSet3DDistanceScale(f32 scale)
Definition axart3d.c:272
void AXARTInitArtAuxAVolumeEnv(AXART_AUXA_VOLUME_ENV *articulator)
Definition axart.c:285
void AXARTInitArtPitchEnv(AXART_PITCH_ENV *articulator)
Definition axart.c:242
void AXARTInit(void)
Definition axart.c:7
void AXARTInitArtPitch(AXART_PITCH *articulator)
Definition axart.c:235
void AXARTInitArtAuxBVolumeEnv(AXART_AUXB_VOLUME_ENV *articulator)
Definition axart.c:292
void AXARTInitArtPanning(AXART_PANNING *articulator)
Definition axart.c:213
void AXARTServiceSound(AXART_SOUND *sound)
Definition axartsound.c:5
void AXARTLpf(AXART_LPF *, AXVPB *)
Definition axartlpf.c:17
DVDCommandBlock * prev
Definition dvdqueue.c:8
const void * src
Definition __os.h:116
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition axart.h:53
Definition axart.h:37
Definition axart.h:126
Definition axart.h:146
Definition axart.h:109
Definition axart.h:133
Definition axart.h:152
Definition axart.h:114
Definition axart.h:75
Definition axart.h:42
Definition axart.h:158
Definition axart.h:69
Definition axart.h:91
Definition axart.h:98
Definition axart.h:86
Definition axart.h:165
Definition axart.h:81
Definition axart.h:119
Definition axart.h:140
Definition axart.h:104
Definition ax.h:136