mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-02 16:26:26 -04:00
Decompile alCSPNew
This commit is contained in:
@@ -35,7 +35,11 @@ extern "C" {
|
||||
|
||||
#define AL_FX_BUFFER_SIZE 8192
|
||||
#define AL_FRAME_INIT -1
|
||||
#if PAL
|
||||
#define AL_USEC_PER_FRAME 20000
|
||||
#else
|
||||
#define AL_USEC_PER_FRAME 16000
|
||||
#endif
|
||||
#define AL_MAX_PRIORITY 127
|
||||
#define AL_GAIN_CHANGE_TIME 1000
|
||||
|
||||
@@ -621,6 +625,8 @@ typedef struct ALVoiceState_s {
|
||||
u8 tremelo; /* current value of the tremelo */
|
||||
u8 flags; /* bit 0 tremelo flag
|
||||
bit 1 vibrato flag */
|
||||
u32 unk38;
|
||||
u32 unk3c;
|
||||
} ALVoiceState;
|
||||
|
||||
typedef struct {
|
||||
@@ -633,6 +639,15 @@ typedef struct {
|
||||
u8 fxmix; /* current fx mix for this chan */
|
||||
u8 sustain; /* current sustain pedal state */
|
||||
f32 pitchBend; /* current pitch bend val in cents */
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1c;
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2c;
|
||||
u32 unk30;
|
||||
} ALChanState;
|
||||
|
||||
typedef struct ALSeq_s {
|
||||
@@ -749,6 +764,11 @@ typedef struct {
|
||||
ALOscInit initOsc;
|
||||
ALOscUpdate updateOsc;
|
||||
ALOscStop stopOsc;
|
||||
f32 unk7c;
|
||||
f32 unk80;
|
||||
s32 unk84;
|
||||
u8 unk88;
|
||||
u8 unk89;
|
||||
} ALCSPlayer;
|
||||
|
||||
/*
|
||||
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
|
||||
|
||||
#define KILL_TIME 50000 /* 50 ms */
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a,b) (((a)<(b))?(a):(b))
|
||||
#endif
|
||||
|
||||
#ifndef MAX
|
||||
#define MAX(a,b) (((a)>(b))?(a):(b))
|
||||
#endif
|
||||
|
||||
ALVoiceState *__mapVoice(ALSeqPlayer *, u8, u8, u8);
|
||||
void __unmapVoice(ALSeqPlayer *seqp, ALVoice *voice);
|
||||
char __voiceNeedsNoteKill(ALSeqPlayer *seqp, ALVoice *voice, ALMicroTime killTime); /* sct 1/5/96 */
|
||||
|
||||
ALVoiceState *__lookupVoice(ALSeqPlayer *, u8, u8);
|
||||
ALSound *__lookupSound(ALSeqPlayer *, u8, u8, u8);
|
||||
ALSound *__lookupSoundQuick(ALSeqPlayer *, u8, u8, u8);
|
||||
|
||||
s16 __vsVol(ALVoiceState *voice, ALSeqPlayer *seqp);
|
||||
ALMicroTime __vsDelta(ALVoiceState *voice, ALMicroTime t);
|
||||
ALPan __vsPan(ALVoiceState *voice, ALSeqPlayer *seqp);
|
||||
|
||||
void __initFromBank(ALSeqPlayer *seqp, ALBank *b);
|
||||
void __initChanState(ALSeqPlayer *seqp);
|
||||
void __resetPerfChanState(ALSeqPlayer *seqp, s32 chan);
|
||||
void __setInstChanState(ALSeqPlayer *seqp, ALInstrument *inst, s32 chan);
|
||||
|
||||
void __seqpPrintVoices(ALSeqPlayer *);
|
||||
void __seqpReleaseVoice(ALSeqPlayer *seqp, ALVoice *voice,
|
||||
ALMicroTime deltaTime);
|
||||
|
||||
void __seqpStopOsc(ALSeqPlayer *seqp, ALVoiceState *vs);
|
||||
|
||||
void __postNextSeqEvent(ALSeqPlayer *seqp); /* sct 11/7/95 */
|
||||
|
||||
Reference in New Issue
Block a user