mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 09:32:29 +01:00
Add OpenRCT2 official title music
Co-Authored-By: Ted John <intelorca@gmail.com>
This commit is contained in:
@@ -3691,6 +3691,8 @@ STR_6583 :{WINDOW_COLOUR_2}Reversed Trains
|
||||
STR_6584 :Select to run trains backwards
|
||||
STR_6585 :Can’t make changes…
|
||||
|
||||
STR_6586 :OpenRCT2
|
||||
|
||||
#############
|
||||
# Scenarios #
|
||||
################
|
||||
|
||||
@@ -1357,6 +1357,8 @@ private:
|
||||
gDropdownItems[numItems++].Args = TitleMusicNames[0];
|
||||
gDropdownItems[numItems].Format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItems[numItems++].Args = TitleMusicNames[2];
|
||||
gDropdownItems[numItems].Format = STR_DROPDOWN_MENU_LABEL;
|
||||
gDropdownItems[numItems++].Args = TitleMusicNames[3];
|
||||
ShowDropdown(widget, numItems);
|
||||
if (gConfigSound.TitleMusic == TitleMusicKind::None)
|
||||
Dropdown::SetChecked(0, true);
|
||||
@@ -1408,9 +1410,9 @@ private:
|
||||
case WIDX_TITLE_MUSIC_DROPDOWN:
|
||||
{
|
||||
auto titleMusic = static_cast<TitleMusicKind>(dropdownIndex);
|
||||
if (!IsRCT1TitleMusicAvailable() && dropdownIndex != 0)
|
||||
if (!IsRCT1TitleMusicAvailable() && dropdownIndex >= EnumValue(TitleMusicKind::RCT1))
|
||||
{
|
||||
titleMusic = TitleMusicKind::RCT2;
|
||||
titleMusic = static_cast<TitleMusicKind>(EnumValue(titleMusic) + 1);
|
||||
}
|
||||
|
||||
gConfigSound.TitleMusic = titleMusic;
|
||||
@@ -2147,10 +2149,8 @@ private:
|
||||
};
|
||||
|
||||
static constexpr StringId TitleMusicNames[] = {
|
||||
STR_OPTIONS_MUSIC_VALUE_NONE,
|
||||
STR_ROLLERCOASTER_TYCOON_1_DROPDOWN,
|
||||
STR_ROLLERCOASTER_TYCOON_2_DROPDOWN,
|
||||
STR_OPTIONS_MUSIC_VALUE_RANDOM,
|
||||
STR_OPTIONS_MUSIC_VALUE_NONE, STR_ROLLERCOASTER_TYCOON_1_DROPDOWN, STR_ROLLERCOASTER_TYCOON_2_DROPDOWN,
|
||||
STR_OPENRCT2_DROPDOWN, STR_OPTIONS_MUSIC_VALUE_RANDOM,
|
||||
};
|
||||
|
||||
static constexpr StringId FullscreenModeNames[] = {
|
||||
|
||||
@@ -269,9 +269,9 @@ namespace OpenRCT2::Audio
|
||||
}
|
||||
}
|
||||
|
||||
static ObjectEntryDescriptor GetTitleMusicDescriptor()
|
||||
static ObjectEntryDescriptor GetTitleMusicDescriptor(TitleMusicKind kind)
|
||||
{
|
||||
switch (gConfigSound.TitleMusic)
|
||||
switch (kind)
|
||||
{
|
||||
default:
|
||||
return {};
|
||||
@@ -279,13 +279,27 @@ namespace OpenRCT2::Audio
|
||||
return ObjectEntryDescriptor(ObjectType::Audio, AudioObjectIdentifiers::RCT1Title);
|
||||
case TitleMusicKind::RCT2:
|
||||
return ObjectEntryDescriptor(ObjectType::Audio, AudioObjectIdentifiers::RCT2Title);
|
||||
case TitleMusicKind::OpenRCT2:
|
||||
return ObjectEntryDescriptor(ObjectType::Audio, AudioObjectIdentifiers::OpenRCT2Title);
|
||||
case TitleMusicKind::Random:
|
||||
return ObjectEntryDescriptor(
|
||||
ObjectType::Audio,
|
||||
(UtilRand() & 1) ? AudioObjectIdentifiers::RCT1Title : AudioObjectIdentifiers::RCT2Title);
|
||||
switch (UtilRand() % 3)
|
||||
{
|
||||
case 0:
|
||||
return GetTitleMusicDescriptor(TitleMusicKind::RCT1);
|
||||
case 1:
|
||||
return GetTitleMusicDescriptor(TitleMusicKind::RCT2);
|
||||
case 2:
|
||||
default:
|
||||
return GetTitleMusicDescriptor(TitleMusicKind::OpenRCT2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static ObjectEntryDescriptor GetTitleMusicDescriptor()
|
||||
{
|
||||
return GetTitleMusicDescriptor(gConfigSound.TitleMusic);
|
||||
}
|
||||
|
||||
void PlayTitleMusic()
|
||||
{
|
||||
if (gGameSoundsOff || !(gScreenFlags & SCREEN_FLAGS_TITLE_DEMO) || gIntroState != IntroState::None)
|
||||
|
||||
@@ -142,6 +142,7 @@ namespace OpenRCT2::Audio
|
||||
constexpr std::string_view RCT2Base = "rct2.audio.base";
|
||||
constexpr std::string_view RCTCBase = "rct2.audio.base.rctc";
|
||||
constexpr std::string_view RCT2Title = "rct2.audio.title";
|
||||
constexpr std::string_view OpenRCT2Title = "openrct2.audio.title";
|
||||
constexpr std::string_view RCT2Circus = "rct2.audio.circus";
|
||||
constexpr std::string_view OpenRCT2Additional = "openrct2.audio.additional";
|
||||
} // namespace AudioObjectIdentifiers
|
||||
|
||||
@@ -253,6 +253,7 @@ enum class TitleMusicKind : int32_t
|
||||
None,
|
||||
RCT1,
|
||||
RCT2,
|
||||
OpenRCT2,
|
||||
Random
|
||||
};
|
||||
|
||||
|
||||
@@ -3990,6 +3990,8 @@ enum : uint16_t
|
||||
STR_OPTION_REVERSE_TRAINS_TIP = 6584,
|
||||
STR_RIDE_SET_VEHICLE_REVERSED_FAIL = 6585,
|
||||
|
||||
STR_OPENRCT2_DROPDOWN = 6586,
|
||||
|
||||
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
|
||||
/* MAX_STR_COUNT = 32768 */ // MAX_STR_COUNT - upper limit for number of strings, not the current count strings
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user