diff options
Diffstat (limited to 'include/nitro/SND_exChannel_shared.h')
-rw-r--r-- | include/nitro/SND_exChannel_shared.h | 100 |
1 files changed, 53 insertions, 47 deletions
diff --git a/include/nitro/SND_exChannel_shared.h b/include/nitro/SND_exChannel_shared.h index c7743cd6..8c01b5cc 100644 --- a/include/nitro/SND_exChannel_shared.h +++ b/include/nitro/SND_exChannel_shared.h @@ -22,87 +22,93 @@ #define SND_LFO_VOLUME 1 #define SND_LFO_PAN 2 -struct SNDWaveParam { - u8 format; // 0x0 +struct SNDWaveParam +{ + u8 format; // 0x0 u8 loopEnabled; // 0x1 u16 samplerate; // 0x2 - u16 timer; // 0x4 - u16 loopStart; // 0x6 + u16 timer; // 0x4 + u16 loopStart; // 0x6 u32 loopLength; // 0x8 }; // size = 0xC -struct SNDLfoParam { - u8 target; // 0x0 - u8 speed; // 0x1 - u8 depth; // 0x2 - u8 range; // 0x3 - u16 delay; // 0x4 +struct SNDLfoParam +{ + u8 target; // 0x0 + u8 speed; // 0x1 + u8 depth; // 0x2 + u8 range; // 0x3 + u16 delay; // 0x4 }; // size = 0x6 -struct SNDLfo { - struct SNDLfoParam param; // 0x0 - u16 delayCounter; // 0x6 - u16 counter; // 0x8 +struct SNDLfo +{ + struct SNDLfoParam param; // 0x0 + u16 delayCounter; // 0x6 + u16 counter; // 0x8 }; // size = 0xA struct SNDExChannel; typedef void (*SNDExChannelCallback)(struct SNDExChannel *chn, int status, void *userData); -struct SNDExChannel { - u8 id; // 0x00 - u8 type; // 0x01 - u8 envStatus; // 0x02 +struct SNDExChannel +{ + u8 id; // 0x00 + u8 type; // 0x01 + u8 envStatus; // 0x02 - struct { + struct + { u8 active : 1; u8 start : 1; u8 autoSweep : 1; u8 syncFlag : 5; - } flags; // 0x03 + } flags; // 0x03 - u8 panRange; // 0x04 - u8 rootMidiKey; // 0x05 - s16 userDecay2; // 0x06 + u8 panRange; // 0x04 + u8 rootMidiKey; // 0x05 + s16 userDecay2; // 0x06 - u8 midiKey; // 0x08 - u8 velocity; // 0x09 - s8 initPan; // 0x0A - s8 userPan; // 0x0B + u8 midiKey; // 0x08 + u8 velocity; // 0x09 + s8 initPan; // 0x0A + s8 userPan; // 0x0B - s16 userDecay; // 0x0C - s16 userPitch; // 0x0E + s16 userDecay; // 0x0C + s16 userPitch; // 0x0E s32 envAttenuation; // 0x10 - s32 sweepCounter; // 0x14 - s32 sweepLength; // 0x18 + s32 sweepCounter; // 0x14 + s32 sweepLength; // 0x18 - u8 envAttack; // 0x1C - u8 envSustain; // 0x1D - u16 envDecay; // 0x1E - u16 envRelease; // 0x20 - u8 priority; // 0x22 - u8 pan; // 0x23 - u16 volume; // 0x24 - u16 timer; // 0x26 + u8 envAttack; // 0x1C + u8 envSustain; // 0x1D + u16 envDecay; // 0x1E + u16 envRelease; // 0x20 + u8 priority; // 0x22 + u8 pan; // 0x23 + u16 volume; // 0x24 + u16 timer; // 0x26 - struct SNDLfo lfo; // 0x28 + struct SNDLfo lfo; // 0x28 - s16 sweepPitch; // 0x32 + s16 sweepPitch; // 0x32 - s32 length; // 0x34 + s32 length; // 0x34 - struct SNDWaveParam waveParam; // 0x38 + struct SNDWaveParam waveParam; // 0x38 - union { + union + { const void *waveDataPtr; s32 dutyCycle; - }; // 0x44 + }; // 0x44 SNDExChannelCallback callback; // 0x48 void *callbackUserData; // 0x4C struct SNDExChannel *channelLLNext; // 0x50 -}; // size = 0x54 +}; // size = 0x54 -#endif //GUARD_SND_EXCHANNEL_SHARED_H +#endif // GUARD_SND_EXCHANNEL_SHARED_H |