Files
banjo-kazooie/src/core1/code_22E40.c
2022-10-08 22:07:56 -05:00

92 lines
2.9 KiB
C

#include <ultra64.h>
#include "n_libaudio.h"
#include "n_synth.h"
// #include "functions.h"
// #include "variables.h"
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80260860.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_802609E0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80260BD4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/n_alEnvmixerPull.s")
#ifdef NONMATCHING
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__postNextSeqEvent.s")
#else
void __postNextSeqEvent(ALSeqPlayer *seqp)
{
ALEvent evt;
s32 deltaTicks;
ALSeq *seq = seqp->target;
/* sct 1/5/96 - Do nothing if we're not playing or don't have a target sequence. */
if ((seqp->state != AL_PLAYING) || (seq == NULL))
return;
/* Get the next event time in ticks. */
/* If false is returned, then there is no next delta (ie. end of sequence reached). */
if (!__alSeqNextDelta(seq, &deltaTicks))
return;
/* Handle loops. */
if (seqp->loopCount)
{
/* Assume that the loop end falls on a MIDI event. Delta time
will be correct even if we loop */
if (alSeqGetTicks(seq) + deltaTicks >= seqp->loopEnd->curTicks)
{
alSeqSetLoc(seq, seqp->loopStart);
if (seqp->loopCount != -1)
seqp->loopCount--;
}
}
evt.type = AL_SEQ_REF_EVT;
//alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt);
alEvtqPostEvent(&seqp->evtq, &evt, deltaTicks * seqp->uspt);
}
#endif
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__setInstChanState.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80261348.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__initFromBank.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80261490.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__vsDelta.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__vsVol.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__seqpReleaseVoice.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__voiceNeedsNoteKill.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__unmapVoice.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_802617A0.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__vsPan.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__lookupVoice.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__mapVoice.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__lookupSoundQuick.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80261A94.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_802623F4.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_802623FC.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__seqpStopOsc.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/__initChanState.s")
#pragma GLOBAL_ASM("asm/nonmatchings/core1/code_22E40/func_80262BFC.s")