diff --git a/src/lib/mema.c b/src/lib/mema.c index 2cab707df..7cbe894c0 100644 --- a/src/lib/mema.c +++ b/src/lib/mema.c @@ -219,6 +219,7 @@ void memaReset(void *heapaddr, u32 heapsize) { struct memaspace *space; +#ifdef PLATFORM_N64 #ifndef DEBUG // Adding an amount to the heap size here means that mema can allocate past // the end of its heap. This would overflow into the gun names language @@ -226,6 +227,7 @@ void memaReset(void *heapaddr, u32 heapsize) // meant for it to be ifdef instead? // @bug @dangerous heapsize += 0x8e0; +#endif #endif g_MemaHeap.unk000 = 0; diff --git a/src/lib/naudio/n_csplayer.c b/src/lib/naudio/n_csplayer.c index f8e849c86..94aff0d81 100644 --- a/src/lib/naudio/n_csplayer.c +++ b/src/lib/naudio/n_csplayer.c @@ -936,12 +936,18 @@ void __n_CSPHandleMIDIMsg(N_ALCSPlayer *seqp, N_ALEvent *event) } else if (vs->phase == AL_PHASE_SUSTREL) { vs->phase = AL_PHASE_RELEASE; +#ifdef AVOID_UB + chanstate = &seqp->chanState[chan]; +#endif // @bug: chanstate is uninitialised if (chanstate->unk24) { __n_seqpReleaseVoice((N_ALSeqPlayer*)seqp, &vs->voice, (seqp->chanState[chan].releaseTime < AL_USEC_PER_FRAME ? AL_USEC_PER_FRAME : seqp->chanState[chan].releaseTime)); } else { +#ifdef AVOID_UB + vstate = __n_lookupVoice((N_ALSeqPlayer*)seqp, key, chan); +#endif __n_seqpReleaseVoice((N_ALSeqPlayer*)seqp, &vs->voice, vstate->sound->envelope->releaseTime < AL_USEC_PER_FRAME ? AL_USEC_PER_FRAME : vstate->sound->envelope->releaseTime);