92 lines
2.9 KiB
C
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")
|