mirror of https://github.com/OpenRCT2/OpenRCT2.git
Remove goto from ride_music_update_final()
This commit is contained in:
parent
2fd33c4c61
commit
2742bd8db4
|
@ -3704,70 +3704,89 @@ rct_ride_music_info* gRideMusicInfoList[NUM_DEFAULT_MUSIC_TRACKS] = {
|
||||||
*/
|
*/
|
||||||
void ride_music_update_final()
|
void ride_music_update_final()
|
||||||
{
|
{
|
||||||
rct_ride_music_params* edi = NULL;
|
rct_ride_music_params * edi = NULL;
|
||||||
sint32 ebx = 0;
|
sint32 ebx = 0;
|
||||||
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)) {
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR))
|
||||||
|
{
|
||||||
// TODO Allow circus music (CSS24) to play if ride music is disabled (that should be sound)
|
// TODO Allow circus music (CSS24) to play if ride music is disabled (that should be sound)
|
||||||
if (!gGameSoundsOff && gConfigSound.ride_music_enabled && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)) {
|
if (!gGameSoundsOff && gConfigSound.ride_music_enabled && !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO))
|
||||||
while (1) {
|
{
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
sint32 v8 = 0;
|
sint32 v8 = 0;
|
||||||
sint32 v9 = 1;
|
sint32 v9 = 1;
|
||||||
rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0];
|
rct_ride_music_params * ride_music_params = &gRideMusicParamsList[0];
|
||||||
while (ride_music_params < gRideMusicParamsListEnd) {
|
while (ride_music_params < gRideMusicParamsListEnd)
|
||||||
if (ride_music_params->ride_id != (uint8)-1) {
|
{
|
||||||
|
if (ride_music_params->ride_id != (uint8) -1)
|
||||||
|
{
|
||||||
v8++;
|
v8++;
|
||||||
if (v9 >= ride_music_params->volume) {
|
if (v9 >= ride_music_params->volume)
|
||||||
|
{
|
||||||
v9 = ride_music_params->volume;
|
v9 = ride_music_params->volume;
|
||||||
edi = ride_music_params;
|
edi = ride_music_params;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ride_music_params++;
|
ride_music_params++;
|
||||||
}
|
}
|
||||||
if (v8 <= 2) {
|
if (v8 <= 2)
|
||||||
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
edi->ride_id = -1;
|
edi->ride_id = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop currently playing music that is not in music params list or not playing?
|
// stop currently playing music that is not in music params list or not playing?
|
||||||
rct_ride_music* ride_music = &gRideMusicList[0];
|
rct_ride_music * ride_music = &gRideMusicList[0];
|
||||||
sint32 channel = 0;
|
sint32 channel = 0;
|
||||||
do {
|
do
|
||||||
if (ride_music->ride_id != (uint8)-1) {
|
{
|
||||||
rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0];
|
if (ride_music->ride_id != RIDE_ID_NULL)
|
||||||
while (ride_music_params < gRideMusicParamsListEnd) {
|
{
|
||||||
if (ride_music_params->ride_id == ride_music->ride_id && ride_music_params->tune_id == ride_music->tune_id) {
|
rct_ride_music_params * ride_music_params = &gRideMusicParamsList[0];
|
||||||
sint32 isplaying = Mixer_Channel_IsPlaying(gRideMusicList[channel].sound_channel);
|
sint32 isplaying = 0;
|
||||||
if (isplaying) {
|
while (ride_music_params < gRideMusicParamsListEnd && !isplaying)
|
||||||
goto label32;
|
{
|
||||||
}
|
if (ride_music_params->ride_id == ride_music->ride_id && ride_music_params->tune_id == ride_music->tune_id)
|
||||||
|
{
|
||||||
|
isplaying = Mixer_Channel_IsPlaying(gRideMusicList[channel].sound_channel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
ride_music_params++;
|
ride_music_params++;
|
||||||
}
|
}
|
||||||
|
if (!isplaying)
|
||||||
|
{
|
||||||
Mixer_Stop_Channel(gRideMusicList[channel].sound_channel);
|
Mixer_Stop_Channel(gRideMusicList[channel].sound_channel);
|
||||||
ride_music->ride_id = -1;
|
ride_music->ride_id = RIDE_ID_NULL;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
label32:
|
|
||||||
ride_music++;
|
ride_music++;
|
||||||
channel++;
|
channel++;
|
||||||
} while(channel < AUDIO_MAX_RIDE_MUSIC);
|
}
|
||||||
|
while (channel < AUDIO_MAX_RIDE_MUSIC);
|
||||||
|
|
||||||
for (rct_ride_music_params* ride_music_params = &gRideMusicParamsList[0]; ride_music_params < gRideMusicParamsListEnd; ride_music_params++) {
|
for (rct_ride_music_params * ride_music_params = &gRideMusicParamsList[0]; ride_music_params < gRideMusicParamsListEnd; ride_music_params++)
|
||||||
if (ride_music_params->ride_id != (uint8)-1) {
|
{
|
||||||
rct_ride_music* ride_music_2 = &gRideMusicList[0];
|
if (ride_music_params->ride_id != RIDE_ID_NULL)
|
||||||
|
{
|
||||||
|
rct_ride_music * ride_music_2 = &gRideMusicList[0];
|
||||||
sint32 channel2 = 0;
|
sint32 channel2 = 0;
|
||||||
while (ride_music_params->ride_id != ride_music_2->ride_id || ride_music_params->tune_id != ride_music_2->tune_id) {
|
while (ride_music_params->ride_id != ride_music_2->ride_id || ride_music_params->tune_id != ride_music_2->tune_id)
|
||||||
if (ride_music_2->ride_id == (uint8)-1) {
|
{
|
||||||
|
if (ride_music_2->ride_id == RIDE_ID_NULL)
|
||||||
|
{
|
||||||
ebx = channel2;
|
ebx = channel2;
|
||||||
}
|
}
|
||||||
ride_music_2++;
|
ride_music_2++;
|
||||||
channel2++;
|
channel2++;
|
||||||
if (channel2 >= AUDIO_MAX_RIDE_MUSIC) {
|
if (channel2 >= AUDIO_MAX_RIDE_MUSIC)
|
||||||
rct_ride_music_info* ride_music_info = gRideMusicInfoList[ride_music_params->tune_id];
|
{
|
||||||
rct_ride_music* ride_music_3 = &gRideMusicList[ebx];
|
rct_ride_music_info * ride_music_info = gRideMusicInfoList[ride_music_params->tune_id];
|
||||||
|
rct_ride_music * ride_music_3 = &gRideMusicList[ebx];
|
||||||
ride_music_3->sound_channel = Mixer_Play_Music(ride_music_info->path_id, MIXER_LOOP_NONE, true);
|
ride_music_3->sound_channel = Mixer_Play_Music(ride_music_info->path_id, MIXER_LOOP_NONE, true);
|
||||||
if (ride_music_3->sound_channel) {
|
if (ride_music_3->sound_channel)
|
||||||
|
{
|
||||||
ride_music_3->volume = ride_music_params->volume;
|
ride_music_3->volume = ride_music_params->volume;
|
||||||
ride_music_3->pan = ride_music_params->pan;
|
ride_music_3->pan = ride_music_params->pan;
|
||||||
ride_music_3->frequency = ride_music_params->frequency;
|
ride_music_3->frequency = ride_music_params->frequency;
|
||||||
|
@ -3777,13 +3796,15 @@ void ride_music_update_final()
|
||||||
Mixer_Channel_Pan(ride_music_3->sound_channel, DStoMixerPan(ride_music_3->pan));
|
Mixer_Channel_Pan(ride_music_3->sound_channel, DStoMixerPan(ride_music_3->pan));
|
||||||
Mixer_Channel_Rate(ride_music_3->sound_channel, DStoMixerRate(ride_music_3->frequency));
|
Mixer_Channel_Rate(ride_music_3->sound_channel, DStoMixerRate(ride_music_3->frequency));
|
||||||
sint32 offset = ride_music_params->offset - 10000;
|
sint32 offset = ride_music_params->offset - 10000;
|
||||||
if (offset < 0) {
|
if (offset < 0)
|
||||||
|
{
|
||||||
offset = 0;
|
offset = 0;
|
||||||
}
|
}
|
||||||
Mixer_Channel_SetOffset(ride_music_3->sound_channel, offset);
|
Mixer_Channel_SetOffset(ride_music_3->sound_channel, offset);
|
||||||
|
|
||||||
// Move circus music to the sound mixer group
|
// Move circus music to the sound mixer group
|
||||||
if (ride_music_info->path_id == PATH_ID_CSS24) {
|
if (ride_music_info->path_id == PATH_ID_CSS24)
|
||||||
|
{
|
||||||
Mixer_Channel_SetGroup(ride_music_3->sound_channel, MIXER_GROUP_SOUND);
|
Mixer_Channel_SetGroup(ride_music_3->sound_channel, MIXER_GROUP_SOUND);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3791,15 +3812,18 @@ void ride_music_update_final()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ride_music_params->volume != ride_music_2->volume) {
|
if (ride_music_params->volume != ride_music_2->volume)
|
||||||
|
{
|
||||||
ride_music_2->volume = ride_music_params->volume;
|
ride_music_2->volume = ride_music_params->volume;
|
||||||
Mixer_Channel_Volume(ride_music_2->sound_channel, DStoMixerVolume(ride_music_2->volume));
|
Mixer_Channel_Volume(ride_music_2->sound_channel, DStoMixerVolume(ride_music_2->volume));
|
||||||
}
|
}
|
||||||
if (ride_music_params->pan != ride_music_2->pan) {
|
if (ride_music_params->pan != ride_music_2->pan)
|
||||||
|
{
|
||||||
ride_music_2->pan = ride_music_params->pan;
|
ride_music_2->pan = ride_music_params->pan;
|
||||||
Mixer_Channel_Pan(ride_music_2->sound_channel, DStoMixerPan(ride_music_2->pan));
|
Mixer_Channel_Pan(ride_music_2->sound_channel, DStoMixerPan(ride_music_2->pan));
|
||||||
}
|
}
|
||||||
if (ride_music_params->frequency != ride_music_2->frequency) {
|
if (ride_music_params->frequency != ride_music_2->frequency)
|
||||||
|
{
|
||||||
ride_music_2->frequency = ride_music_params->frequency;
|
ride_music_2->frequency = ride_music_params->frequency;
|
||||||
Mixer_Channel_Rate(ride_music_2->sound_channel, DStoMixerRate(ride_music_2->frequency));
|
Mixer_Channel_Rate(ride_music_2->sound_channel, DStoMixerRate(ride_music_2->frequency));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue