Fix RCT1 (original) imported parks having no ride music

This commit is contained in:
Ted John 2017-01-06 21:48:27 +00:00 committed by GitHub
parent bd140e78fb
commit e7a7704efb
2 changed files with 20 additions and 1 deletions

View File

@ -822,6 +822,10 @@ enum {
RCT1_RIDE_MODE_POWERED_LAUNCH = 3,
};
enum {
RCT1_RIDE_DEPART_PLAY_MUSIC = 1 << 5,
};
enum {
RCT1_SCENERY_THEME_GENERAL,
RCT1_SCENERY_THEME_MINE,

View File

@ -571,13 +571,16 @@ private:
// Flags
if (src->lifecycle_flags & RIDE_LIFECYCLE_ON_RIDE_PHOTO) dst->lifecycle_flags |= RIDE_LIFECYCLE_ON_RIDE_PHOTO;
if (src->lifecycle_flags & RIDE_LIFECYCLE_MUSIC) dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
if (src->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE) dst->lifecycle_flags |= RIDE_LIFECYCLE_INDESTRUCTIBLE;
if (src->lifecycle_flags & RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK) dst->lifecycle_flags |= RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK;
if (src->lifecycle_flags & RIDE_LIFECYCLE_EVER_BEEN_OPENED) dst->lifecycle_flags |= RIDE_LIFECYCLE_EVER_BEEN_OPENED;
if (src->lifecycle_flags & RIDE_LIFECYCLE_TEST_IN_PROGRESS) dst->lifecycle_flags |= RIDE_LIFECYCLE_TEST_IN_PROGRESS;
if (src->lifecycle_flags & RIDE_LIFECYCLE_CRASHED) dst->lifecycle_flags |= RIDE_LIFECYCLE_CRASHED;
if (src->lifecycle_flags & RIDE_LIFECYCLE_TESTED) dst->lifecycle_flags |= RIDE_LIFECYCLE_TESTED;
if (_gameVersion >= FILE_VERSION_RCT1_AA)
{
if (src->lifecycle_flags & RIDE_LIFECYCLE_MUSIC) dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
}
//dst->lifecycle_flags = src->lifecycle_flags;
@ -628,6 +631,18 @@ private:
{
// Original RCT had no music settings, take default style
dst->music = RideData4[dst->type].default_music;
// Only merry-go-round and dodgems had music and used
// the same flag as synchronise stations for the option to enable it
if (src->type == RCT1_RIDE_TYPE_MERRY_GO_ROUND ||
src->type == RCT1_RIDE_TYPE_DODGEMS)
{
if (src->depart_flags & RCT1_RIDE_DEPART_PLAY_MUSIC)
{
dst->depart_flags &= ~RCT1_RIDE_DEPART_PLAY_MUSIC;
dst->lifecycle_flags |= RIDE_LIFECYCLE_MUSIC;
}
}
}
else
{