You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Sound effect tables now support up to 255 sounds instead of 128 (#465)
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "external.h"
|
||||
#include "playback.h"
|
||||
#include "synthesis.h"
|
||||
#include "game/debug.h"
|
||||
#include "game/main.h"
|
||||
#include "game/level_update.h"
|
||||
#include "game/object_list_processor.h"
|
||||
@@ -696,6 +697,7 @@ struct SPTask *create_next_audio_frame_task(void) {
|
||||
* Called from threads: thread5_game_loop
|
||||
*/
|
||||
void play_sound(s32 soundBits, f32 *pos) {
|
||||
assert(((soundBits & SOUNDARGS_MASK_SOUNDID) >> SOUNDARGS_SHIFT_SOUNDID) != 0xff, "Sfx tables do not support a sound id of 0xff!");
|
||||
sSoundRequests[sSoundRequestCount].soundBits = soundBits;
|
||||
sSoundRequests[sSoundRequestCount].position = pos;
|
||||
sSoundRequestCount++;
|
||||
|
||||
@@ -1620,11 +1620,11 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
||||
case 0xc5: // chan_dynsetdyntable
|
||||
if (value != -1) {
|
||||
#if defined(VERSION_EU) || defined(VERSION_SH)
|
||||
seqData = (*seqChannel->dynTable)[value];
|
||||
seqData = (*seqChannel->dynTable)[(u8) value];
|
||||
sp38 = (u16)((seqData[0] << 8) + seqData[1]);
|
||||
seqChannel->dynTable = (void *) (seqPlayer->seqData + sp38);
|
||||
#else
|
||||
sp5A = (u16)((((*seqChannel->dynTable)[value])[0] << 8) + (((*seqChannel->dynTable)[value])[1]));
|
||||
sp5A = (u16)((((*seqChannel->dynTable)[(u8) value])[0] << 8) + (((*seqChannel->dynTable)[(u8) value])[1]));
|
||||
seqChannel->dynTable = (void *) (seqPlayer->seqData + sp5A);
|
||||
#endif
|
||||
}
|
||||
@@ -1893,7 +1893,7 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
||||
eu_stubbed_printf_0("Audio:Track: CTBLCALL Macro Level Over Error!\n");
|
||||
}
|
||||
#endif
|
||||
seqData = (*seqChannel->dynTable)[value];
|
||||
seqData = (*seqChannel->dynTable)[(u8) value];
|
||||
#if defined(VERSION_EU) || defined(VERSION_SH)
|
||||
state->stack[state->depth++] = state->pc;
|
||||
sp38 = (u16)((seqData[0] << 8) + seqData[1]);
|
||||
@@ -2011,11 +2011,11 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
||||
break;
|
||||
|
||||
case 0xb5:
|
||||
seqChannel->unkC8 = *(u16 *) (*seqChannel->dynTable)[value];
|
||||
seqChannel->unkC8 = *(u16 *) (*seqChannel->dynTable)[(u8) value];
|
||||
break;
|
||||
|
||||
case 0xb6:
|
||||
value = (*seqChannel->dynTable)[0][value];
|
||||
value = (*seqChannel->dynTable)[0][(u8) value];
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
@@ -2045,7 +2045,7 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
||||
|
||||
case 0x98:
|
||||
if (value != -1 && seq_channel_set_layer(seqChannel, loBits) != -1) {
|
||||
seqData = (*seqChannel->dynTable)[value];
|
||||
seqData = (*seqChannel->dynTable)[(u8) value];
|
||||
sp5A = ((seqData[0] << 8) + seqData[1]);
|
||||
seqChannel->layers[loBits]->scriptState.pc = seqPlayer->seqData + sp5A;
|
||||
}
|
||||
@@ -2121,7 +2121,7 @@ void sequence_channel_process_script(struct SequenceChannel *seqChannel) {
|
||||
|
||||
case 0xb0: // chan_dynsetlayer
|
||||
if (value != -1 && seq_channel_set_layer(seqChannel, loBits) != -1) {
|
||||
seqData = (*seqChannel->dynTable)[value];
|
||||
seqData = (*seqChannel->dynTable)[(u8) value];
|
||||
sp5A = ((seqData[0] << 8) + seqData[1]);
|
||||
seqChannel->layers[loBits]->scriptState.pc = seqPlayer->seqData + sp5A;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user