diff --git a/include/main_0207191C.h b/include/main_0207191C.h index 071acbec..59bef9bc 100644 --- a/include/main_0207191C.h +++ b/include/main_0207191C.h @@ -6,13 +6,13 @@ s32 DseVoice_CountNumActiveInChannel(struct dse_channel* channel); void DseChannel_DeallocateVoices(struct dse_channel* channel); -u8* DseTrackEvent_Invalid(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_WaitSame(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_WaitDelta(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_Wait8(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_Wait16(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_Wait24(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_WaitUntilFadeout(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_EndTrack(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); +u8* DseTrackEvent_Invalid(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_WaitSame(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_WaitDelta(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_Wait8(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_Wait16(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_Wait24(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_WaitUntilFadeout(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_EndTrack(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); #endif diff --git a/include/main_02071A14.h b/include/main_02071A14.h index 23b64b82..3377dae5 100644 --- a/include/main_02071A14.h +++ b/include/main_02071A14.h @@ -3,8 +3,8 @@ #include "dse.h" -u8* DseTrackEvent_MainLoopBegin(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_SubLoopBegin(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); -u8* DseTrackEvent_SubLoopEnd(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel); +u8* DseTrackEvent_MainLoopBegin(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_SubLoopBegin(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); +u8* DseTrackEvent_SubLoopEnd(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel); #endif diff --git a/src/main_0207191C.c b/src/main_0207191C.c index 0591eeef..397c5e24 100644 --- a/src/main_0207191C.c +++ b/src/main_0207191C.c @@ -1,68 +1,68 @@ #include "main_0207191C.h" -u8* DseTrackEvent_Invalid(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_Invalid(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { track->is_playing = FALSE; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_WaitSame(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_WaitSame(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { track->wait_ticks_left = track->previous_wait_ticks; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_WaitDelta(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_WaitDelta(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { - track->previous_wait_ticks += *(s8*)position++; + track->previous_wait_ticks += *(s8 *)ptr_next_byte++; track->wait_ticks_left = track->previous_wait_ticks; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_Wait8(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_Wait8(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { - track->previous_wait_ticks = *position++; + track->previous_wait_ticks = *ptr_next_byte++; track->wait_ticks_left = track->previous_wait_ticks; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_Wait16(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_Wait16(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { - track->previous_wait_ticks = position[0] + (position[1] << 8); - position += 2; + track->previous_wait_ticks = ptr_next_byte[0] + (ptr_next_byte[1] << 8); + ptr_next_byte += 2; track->wait_ticks_left = track->previous_wait_ticks; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_Wait24(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_Wait24(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { - track->previous_wait_ticks = position[0] + (position[1] << 8) + (position[2] << 16); - position += 3; + track->previous_wait_ticks = ptr_next_byte[0] + (ptr_next_byte[1] << 8) + (ptr_next_byte[2] << 16); + ptr_next_byte += 3; track->wait_ticks_left = track->previous_wait_ticks; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_WaitUntilFadeout(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_WaitUntilFadeout(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { if (DseVoice_CountNumActiveInChannel(channel) > 0) { - track->wait_ticks_left = *position; - position--; + track->wait_ticks_left = *ptr_next_byte; + ptr_next_byte--; } else { - position++; + ptr_next_byte++; } - return position; + return ptr_next_byte; } -u8* DseTrackEvent_EndTrack(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_EndTrack(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { if (track->loop_start == NULL) { track->is_playing = FALSE; - position--; + ptr_next_byte--; DseChannel_DeallocateVoices(channel); } else { track->main_loop_count++; - seq->field_0x0.has_looped = TRUE; - position = track->loop_start; + sequence->field_0x0.has_looped = TRUE; + ptr_next_byte = track->loop_start; } - return position; + return ptr_next_byte; } diff --git a/src/main_02071A14.c b/src/main_02071A14.c index dc93343b..a6c0e55d 100644 --- a/src/main_02071A14.c +++ b/src/main_02071A14.c @@ -1,37 +1,37 @@ #include "main_02071A14.h" -u8* DseTrackEvent_MainLoopBegin(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_MainLoopBegin(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { - track->loop_start = position; - return position; + track->loop_start = ptr_next_byte; + return ptr_next_byte; } -u8* DseTrackEvent_SubLoopBegin(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_SubLoopBegin(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { u8 idx = track->loop_stack_index; - u8 count = *position++; - struct dse_sub_loop* loop = &track->loop_stack[idx]; + u8 count = *ptr_next_byte++; + struct dse_sub_loop *loop = &track->loop_stack[idx]; - loop->start = position; + loop->start = ptr_next_byte; loop->end = NULL; loop->count = count; loop->octave = track->current_octave; track->loop_stack_index = idx + 1; - return position; + return ptr_next_byte; } -u8* DseTrackEvent_SubLoopEnd(u8* position, struct dse_sequence* seq, struct dse_track* track, struct dse_channel* channel) +u8* DseTrackEvent_SubLoopEnd(u8 *ptr_next_byte, struct dse_sequence *sequence, struct dse_track *track, struct dse_channel *channel) { int idx = track->loop_stack_index - 1; - struct dse_sub_loop* loop = &track->loop_stack[idx]; + struct dse_sub_loop *loop = &track->loop_stack[idx]; int count = loop->count - 1; if (count != 0) { - loop->end = position; + loop->end = ptr_next_byte; loop->count = count; track->current_octave = loop->octave; return loop->start; } track->loop_stack_index = idx; - return position; + return ptr_next_byte; }