From b9ec5d079ebf975d39c12f12a5c19dab8d069e56 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 19:57:45 +0300 Subject: [PATCH 01/10] Add construction of TileCoordsXYZD with TileCoordsXYZ --- src/openrct2/world/Location.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 7fd725fffa..517ed6d1d3 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -615,6 +615,12 @@ struct TileCoordsXYZD : public TileCoordsXYZ { } + TileCoordsXYZD(const TileCoordsXYZ& t_, Direction d_) + : TileCoordsXYZ(t_) + , direction(d_) + { + } + TileCoordsXYZD(const TileCoordsXY& t_, int32_t z_, Direction d_) : TileCoordsXYZ(t_, z_) , direction(d_) From 0e7d05a5ad4e5e1418fe334b1a32626d12cddd18 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 20:15:10 +0300 Subject: [PATCH 02/10] Add TileCoordsXYZD serialiser traits --- src/openrct2/core/DataSerialiserTraits.h | 29 ++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index f4c9266fc5..4fdcbaf464 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -867,3 +867,32 @@ template<> struct DataSerializerTraits_t stream->Write(msg, strlen(msg)); } }; + +template<> struct DataSerializerTraits_t +{ + static void encode(OpenRCT2::IStream* stream, const TileCoordsXYZD& coord) + { + stream->WriteValue(ByteSwapBE(coord.x)); + stream->WriteValue(ByteSwapBE(coord.y)); + stream->WriteValue(ByteSwapBE(coord.z)); + stream->WriteValue(ByteSwapBE(coord.direction)); + } + + static void decode(OpenRCT2::IStream* stream, TileCoordsXYZD& coord) + { + auto x = ByteSwapBE(stream->ReadValue()); + auto y = ByteSwapBE(stream->ReadValue()); + auto z = ByteSwapBE(stream->ReadValue()); + auto d = ByteSwapBE(stream->ReadValue()); + coord = TileCoordsXYZD{ x, y, z, d }; + } + + static void log(OpenRCT2::IStream* stream, const TileCoordsXYZD& coord) + { + char msg[128] = {}; + snprintf( + msg, sizeof(msg), "TileCoordsXYZD(x = %d, y = %d, z = %d, direction = %d)", coord.x, coord.y, coord.z, + coord.direction); + stream->Write(msg, strlen(msg)); + } +}; From bb6b931a7d07b1c9a284aa67ead1d01f4106f2be Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 20:28:07 +0300 Subject: [PATCH 03/10] Use TileCoordsXYZ in path finding for bigger map support --- src/openrct2/peep/GuestPathfinding.cpp | 57 +++++++++++--------------- src/openrct2/peep/Peep.h | 4 +- 2 files changed, 25 insertions(+), 36 deletions(-) diff --git a/src/openrct2/peep/GuestPathfinding.cpp b/src/openrct2/peep/GuestPathfinding.cpp index 9bf83c9a7f..8a2f474810 100644 --- a/src/openrct2/peep/GuestPathfinding.cpp +++ b/src/openrct2/peep/GuestPathfinding.cpp @@ -700,8 +700,7 @@ static void peep_pathfind_heuristic_search( /* If this is where the search started this is a search loop and the * current search path ends here. * Return without updating the parameters (best result so far). */ - if ((_peepPathFindHistory[0].location.x == static_cast(loc.x)) - && (_peepPathFindHistory[0].location.y == static_cast(loc.y)) && (_peepPathFindHistory[0].location.z == loc.z)) + if (_peepPathFindHistory[0].location == loc) { #if defined(DEBUG_LEVEL_2) && DEBUG_LEVEL_2 if (gPathFindDebug) @@ -1076,7 +1075,7 @@ static void peep_pathfind_heuristic_search( * already been visited by the peep while heading for this goal. */ for (auto& pathfindHistory : peep->PathfindHistory) { - if (pathfindHistory.x == loc.x && pathfindHistory.y == loc.y && pathfindHistory.z == loc.z) + if (pathfindHistory == loc) { if (pathfindHistory.direction == 0) { @@ -1103,9 +1102,7 @@ static void peep_pathfind_heuristic_search( for (int32_t junctionNum = _peepPathFindNumJunctions + 1; junctionNum <= _peepPathFindMaxJunctions; junctionNum++) { - if ((_peepPathFindHistory[junctionNum].location.x == static_cast(loc.x)) - && (_peepPathFindHistory[junctionNum].location.y == static_cast(loc.y)) - && (_peepPathFindHistory[junctionNum].location.z == loc.z)) + if (_peepPathFindHistory[junctionNum].location == loc) { pathLoop = true; break; @@ -1144,9 +1141,7 @@ static void peep_pathfind_heuristic_search( for (uint8_t junctInd = 0; junctInd < *endJunctions; junctInd++) { uint8_t histIdx = _peepPathFindMaxJunctions - junctInd; - junctionList[junctInd].x = _peepPathFindHistory[histIdx].location.x; - junctionList[junctInd].y = _peepPathFindHistory[histIdx].location.y; - junctionList[junctInd].z = _peepPathFindHistory[histIdx].location.z; + junctionList[junctInd] = _peepPathFindHistory[histIdx].location; directionList[junctInd] = _peepPathFindHistory[histIdx].direction; } } @@ -1163,9 +1158,7 @@ static void peep_pathfind_heuristic_search( /* This junction was NOT previously visited in the current * search path, so add the junction to the history. */ - _peepPathFindHistory[_peepPathFindNumJunctions].location.x = static_cast(loc.x); - _peepPathFindHistory[_peepPathFindNumJunctions].location.y = static_cast(loc.y); - _peepPathFindHistory[_peepPathFindNumJunctions].location.z = loc.z; + _peepPathFindHistory[_peepPathFindNumJunctions].location = loc; // .direction take is added below. _peepPathFindNumJunctions--; @@ -1334,7 +1327,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep) permitted_edges &= 0xF; uint8_t edges = permitted_edges; - if (isThin && peep->PathfindGoal.x == goal.x && peep->PathfindGoal.y == goal.y && peep->PathfindGoal.z == goal.z) + if (isThin && peep->PathfindGoal == goal) { /* Use of peep->PathfindHistory[]: * When walking to a goal, the peep PathfindHistory stores @@ -1353,7 +1346,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep) * directions it has not yet tried. */ for (auto& pathfindHistory : peep->PathfindHistory) { - if (pathfindHistory.x == loc.x && pathfindHistory.y == loc.y && pathfindHistory.z == loc.z) + if (pathfindHistory == loc) { /* Fix broken PathfindHistory[i].direction * which have untried directions that are not @@ -1401,16 +1394,15 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep) /* If this is a new goal for the peep. Store it and reset the peep's * PathfindHistory. */ - if (!direction_valid(peep->PathfindGoal.direction) || peep->PathfindGoal.x != goal.x || peep->PathfindGoal.y != goal.y - || peep->PathfindGoal.z != goal.z) + if (!direction_valid(peep->PathfindGoal.direction) || peep->PathfindGoal != goal) { - peep->PathfindGoal.x = goal.x; - peep->PathfindGoal.y = goal.y; - peep->PathfindGoal.z = goal.z; - peep->PathfindGoal.direction = 0; + peep->PathfindGoal = { goal, 0 }; // Clear pathfinding history - std::fill(std::begin(peep->PathfindHistory), std::end(peep->PathfindHistory), rct12_xyzd8{ 0xFF, 0xFF, 0xFF, 0xFF }); + TileCoordsXYZD nullPos; + nullPos.setNull(); + + std::fill(std::begin(peep->PathfindHistory), std::end(peep->PathfindHistory), nullPos); #if defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 if (_pathFindDebug) { @@ -1466,14 +1458,17 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep) _peepPathFindNumJunctions = _peepPathFindMaxJunctions; // Initialise _peepPathFindHistory. - std::memset(static_cast(_peepPathFindHistory), 0xFF, sizeof(_peepPathFindHistory)); + + for (auto& entry : _peepPathFindHistory) + { + entry.location.setNull(); + entry.direction = INVALID_DIRECTION; + } /* The pathfinding will only use elements * 1.._peepPathFindMaxJunctions, so the starting point * is placed in element 0 */ - _peepPathFindHistory[0].location.x = static_cast(loc.x); - _peepPathFindHistory[0].location.y = static_cast(loc.y); - _peepPathFindHistory[0].location.z = loc.z; + _peepPathFindHistory[0].location = loc; _peepPathFindHistory[0].direction = 0xF; uint16_t score = 0xFFFF; @@ -1586,8 +1581,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep) { for (int32_t i = 0; i < 4; ++i) { - if (peep->PathfindHistory[i].x == loc.x && peep->PathfindHistory[i].y == loc.y - && peep->PathfindHistory[i].z == loc.z) + if (peep->PathfindHistory[i] == loc) { /* Peep remembers this junction, so remove the * chosen_edge from those left to try. */ @@ -1611,10 +1605,7 @@ Direction peep_pathfind_choose_direction(const TileCoordsXYZ& loc, Peep* peep) * and remember this junction. */ int32_t i = peep->PathfindGoal.direction++; peep->PathfindGoal.direction &= 3; - peep->PathfindHistory[i].x = static_cast(loc.x); - peep->PathfindHistory[i].y = static_cast(loc.y); - peep->PathfindHistory[i].z = loc.z; - peep->PathfindHistory[i].direction = permitted_edges; + peep->PathfindHistory[i] = { loc, permitted_edges }; /* Remove the chosen_edge from those left to try. */ peep->PathfindHistory[i].direction &= ~(1 << chosen_edge); /* Also remove the edge through which the peep @@ -2312,9 +2303,7 @@ void Peep::ResetPathfindGoal() } #endif // defined(DEBUG_LEVEL_1) && DEBUG_LEVEL_1 - PathfindGoal.x = 0xFF; - PathfindGoal.y = 0xFF; - PathfindGoal.z = 0xFF; + PathfindGoal.setNull(); PathfindGoal.direction = INVALID_DIRECTION; } diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index a43542e449..7b0d176ebe 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -612,8 +612,8 @@ struct Peep : SpriteBase ride_id_t InteractionRideIndex; uint32_t Id; uint8_t PathCheckOptimisation; // see peep.checkForPath - rct12_xyzd8 PathfindGoal; - std::array PathfindHistory; + TileCoordsXYZD PathfindGoal; + std::array PathfindHistory; uint8_t WalkingFrameNum; uint32_t PeepFlags; From ac080494721576bce440ef96810f459281080625 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 20:40:19 +0300 Subject: [PATCH 04/10] Adapt SV6 import and export for peep path-finding data --- src/openrct2/rct2/S6Exporter.cpp | 21 +++++++++++++++++++-- src/openrct2/rct2/S6Importer.cpp | 26 ++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/openrct2/rct2/S6Exporter.cpp b/src/openrct2/rct2/S6Exporter.cpp index 9388d6e41b..984a8d8bd6 100644 --- a/src/openrct2/rct2/S6Exporter.cpp +++ b/src/openrct2/rct2/S6Exporter.cpp @@ -1343,10 +1343,27 @@ void S6Exporter::ExportEntityPeep(RCT2SpritePeep* dst, const Peep* src) dst->id = src->Id; dst->path_check_optimisation = src->PathCheckOptimisation; dst->peep_flags = src->PeepFlags; - dst->pathfind_goal = src->PathfindGoal; + if (src->PathfindGoal.isNull()) + { + dst->pathfind_goal = { 0xFF, 0xFF, 0xFF, INVALID_DIRECTION }; + } + else + { + dst->pathfind_goal = { static_cast(src->PathfindGoal.x), static_cast(src->PathfindGoal.y), + static_cast(src->PathfindGoal.z), src->PathfindGoal.direction }; + } for (size_t i = 0; i < std::size(src->PathfindHistory); i++) { - dst->pathfind_history[i] = src->PathfindHistory[i]; + if (src->PathfindHistory[i].isNull()) + { + dst->pathfind_history[i] = { 0xFF, 0xFF, 0xFF, INVALID_DIRECTION }; + } + else + { + dst->pathfind_history[i] = { static_cast(src->PathfindHistory[i].x), + static_cast(src->PathfindHistory[i].y), + static_cast(src->PathfindHistory[i].z), src->PathfindHistory[i].direction }; + } } dst->no_action_frame_num = src->WalkingFrameNum; } diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index f4763855b4..ee7525c4a5 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1365,6 +1365,10 @@ public: void ImportEntityPeep(Peep* dst, const RCT2SpritePeep* src) { + const auto isNullLocation = [](const rct12_xyzd8& pos) { + return pos.x == 0xFF && pos.y == 0xFF && pos.z == 0xFF && pos.direction == INVALID_DIRECTION; + }; + ImportEntityCommonProperties(static_cast(dst), src); if (is_user_string_id(src->name_string_idx)) { @@ -1401,10 +1405,28 @@ public: dst->Id = src->id; dst->PathCheckOptimisation = src->path_check_optimisation; dst->PeepFlags = src->peep_flags; - dst->PathfindGoal = src->pathfind_goal; + if (isNullLocation(src->pathfind_goal)) + { + dst->PathfindGoal.setNull(); + dst->PathfindGoal.direction = INVALID_DIRECTION; + } + else + { + dst->PathfindGoal = { src->pathfind_goal.x, src->pathfind_goal.y, src->pathfind_goal.z, + src->pathfind_goal.direction }; + } for (size_t i = 0; i < std::size(src->pathfind_history); i++) { - dst->PathfindHistory[i] = src->pathfind_history[i]; + if (isNullLocation(src->pathfind_history[i])) + { + dst->PathfindHistory[i].setNull(); + dst->PathfindHistory[i].direction = INVALID_DIRECTION; + } + else + { + dst->PathfindHistory[i] = { src->pathfind_history[i].x, src->pathfind_history[i].y, src->pathfind_history[i].z, + src->pathfind_history[i].direction }; + } } dst->WalkingFrameNum = src->no_action_frame_num; } From 163fe3756d73083aa8efd6abbd249dd349a1d5fa Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 21:10:06 +0300 Subject: [PATCH 05/10] Fix GameStateSnapshots buffer overrun --- src/openrct2/GameStateSnapshots.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/openrct2/GameStateSnapshots.cpp b/src/openrct2/GameStateSnapshots.cpp index 8ba15a0de6..3a95370b77 100644 --- a/src/openrct2/GameStateSnapshots.cpp +++ b/src/openrct2/GameStateSnapshots.cpp @@ -253,10 +253,16 @@ struct GameStateSnapshots final : public IGameStateSnapshots COMPARE_FIELD(Peep, InteractionRideIndex); COMPARE_FIELD(Peep, Id); COMPARE_FIELD(Peep, PathCheckOptimisation); - COMPARE_FIELD(Peep, PathfindGoal); + COMPARE_FIELD(Peep, PathfindGoal.x); + COMPARE_FIELD(Peep, PathfindGoal.y); + COMPARE_FIELD(Peep, PathfindGoal.z); + COMPARE_FIELD(Peep, PathfindGoal.direction); for (int i = 0; i < 4; i++) { - COMPARE_FIELD(Peep, PathfindHistory[i]); + COMPARE_FIELD(Peep, PathfindHistory[i].x); + COMPARE_FIELD(Peep, PathfindHistory[i].y); + COMPARE_FIELD(Peep, PathfindHistory[i].z); + COMPARE_FIELD(Peep, PathfindHistory[i].direction); } COMPARE_FIELD(Peep, WalkingFrameNum); } From b7b3418b75f28466328fe8de32e1e6816fd3c740 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 21:34:53 +0300 Subject: [PATCH 06/10] Fix setNull on inherited classes leaving uninitialized variables --- src/openrct2/world/Location.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 517ed6d1d3..19e5ff9952 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -268,6 +268,12 @@ struct CoordsXYZ : public CoordsXY { return ToTileStart() + CoordsXYZ{ COORDS_XY_HALF_TILE, COORDS_XY_HALF_TILE, 0 }; } + + void setNull() + { + CoordsXY::setNull(); + z = 0; + } }; struct CoordsXYRangedZ : public CoordsXY @@ -459,6 +465,12 @@ struct TileCoordsXYZ : public TileCoordsXY } return { x * COORDS_XY_STEP, y * COORDS_XY_STEP, z * COORDS_Z_STEP }; } + + void setNull() + { + TileCoordsXY::setNull(); + z = 0; + } }; /** @@ -655,6 +667,12 @@ struct TileCoordsXYZD : public TileCoordsXYZ } return { x * COORDS_XY_STEP, y * COORDS_XY_STEP, z * COORDS_Z_STEP, direction }; } + + void setNull() + { + TileCoordsXYZ::setNull(); + direction = INVALID_DIRECTION; + } }; /** From e596a379c061f08c582610b2f83a11f3fd0dd514 Mon Sep 17 00:00:00 2001 From: ZehMatt Date: Tue, 27 Jul 2021 22:38:48 +0300 Subject: [PATCH 07/10] Update replays --- CMakeLists.txt | 4 ++-- openrct2.proj | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c49933f6d..bac5da4cf4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,9 +50,9 @@ set(OBJECTS_VERSION "1.0.21") set(OBJECTS_URL "https://github.com/OpenRCT2/objects/releases/download/v${OBJECTS_VERSION}/objects.zip") set(OBJECTS_SHA1 "c38af45d51a6e440386180feacf76c64720b6ac5") -set(REPLAYS_VERSION "0.0.43") +set(REPLAYS_VERSION "0.0.44") set(REPLAYS_URL "https://github.com/OpenRCT2/replays/releases/download/v${REPLAYS_VERSION}/replays.zip") -set(REPLAYS_SHA1 "269E4FC432A73AE9A5D601EC2A1C882F3D9BDF3C") +set(REPLAYS_SHA1 "586F3930DE8D2C3880AAFD30ABC4D81ABC0B64A4") option(FORCE32 "Force 32-bit build. It will add `-m32` to compiler flags.") option(WITH_TESTS "Build tests") diff --git a/openrct2.proj b/openrct2.proj index 999ffe9873..369b497d2e 100644 --- a/openrct2.proj +++ b/openrct2.proj @@ -48,8 +48,8 @@ 304d13a126c15bf2c86ff13b81a2f2cc1856ac8d https://github.com/OpenRCT2/objects/releases/download/v1.0.21/objects.zip c38af45d51a6e440386180feacf76c64720b6ac5 - https://github.com/OpenRCT2/replays/releases/download/v0.0.43/replays.zip - 269E4FC432A73AE9A5D601EC2A1C882F3D9BDF3C + https://github.com/OpenRCT2/replays/releases/download/v0.0.44/replays.zip + 586F3930DE8D2C3880AAFD30ABC4D81ABC0B64A4 From 0b6e80c7d45041c9111f6baef553119e74808a67 Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Tue, 27 Jul 2021 23:50:16 +0200 Subject: [PATCH 08/10] Add error message body to failed Place Park Entrance action --- src/openrct2/actions/PlaceParkEntranceAction.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/openrct2/actions/PlaceParkEntranceAction.cpp b/src/openrct2/actions/PlaceParkEntranceAction.cpp index 248353afee..288d921007 100644 --- a/src/openrct2/actions/PlaceParkEntranceAction.cpp +++ b/src/openrct2/actions/PlaceParkEntranceAction.cpp @@ -59,7 +59,8 @@ GameActions::Result::Ptr PlaceParkEntranceAction::Query() const if (!CheckMapCapacity(3)) { - return std::make_unique(GameActions::Status::NoFreeElements, STR_CANT_BUILD_THIS_HERE, STR_NONE); + return std::make_unique( + GameActions::Status::NoFreeElements, STR_CANT_BUILD_THIS_HERE, STR_ERR_LANDSCAPE_DATA_AREA_FULL); } if (gParkEntrances.size() >= MAX_PARK_ENTRANCES) From 6bbc2fb4fea8d99f06fd3751ad2ec7fba78d6677 Mon Sep 17 00:00:00 2001 From: OpenRCT2 git bot Date: Wed, 28 Jul 2021 04:07:35 +0000 Subject: [PATCH 09/10] Merge Localisation/master into OpenRCT2/develop --- data/language/fi-FI.txt | 14 ++++++++++++++ data/language/ko-KR.txt | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/data/language/fi-FI.txt b/data/language/fi-FI.txt index fb3ca39e84..3f077759f1 100644 --- a/data/language/fi-FI.txt +++ b/data/language/fi-FI.txt @@ -3689,6 +3689,20 @@ STR_6436 :Näkymättömyys päälle/pois STR_6437 :Näkymätön STR_6438 :N STR_6439 :Ruututyökalu: Näkymättömyys päälle/pois +STR_6440 :Läpinäkyvä vesi +STR_6441 :Ainakin yhden polunpinnan tulee olla valittu. +STR_6442 :Ainakin yhden jonotusaluepinnan tulee olla valittu. +STR_6443 :Ainakin yhden polunkaiteen tulee olla valittu. +STR_6444 :Polun pinnat +STR_6445 :Polun kaiteet +STR_6446 :{WINDOW_COLOUR_2}Pinnan nimi: {BLACK}{STRINGID} +STR_6447 :{WINDOW_COLOUR_2}Kaiteen nimi: {BLACK}{STRINGID} +STR_6448 :Esineen muotoa ei tueta +STR_6449 :{WINDOW_COLOUR_2}Raidat: +STR_6450 :{BLACK}”{STRING}” +STR_6451 :{BLACK}”{STRING}” - {STRING} +STR_6452 :{WINDOW_COLOUR_2}Myy: {BLACK}{STRING} +STR_6453 :Kopioi versiotiedot ############# # Scenarios # diff --git a/data/language/ko-KR.txt b/data/language/ko-KR.txt index 32dd21608e..b4c2b7b49a 100644 --- a/data/language/ko-KR.txt +++ b/data/language/ko-KR.txt @@ -2408,7 +2408,7 @@ STR_3308 :{WINDOW_COLOUR_2}흥미도: STR_3309 :{WINDOW_COLOUR_2}{COMMA16} STR_3310 :{WINDOW_COLOUR_2}{LENGTH} STR_3311 :{WINDOW_COLOUR_2}{COMMA2DP32} -STR_3312 :{WINDOW_COLOUR_2}파괴할 수 없는 놀이기구/시설: +STR_3312 :{WINDOW_COLOUR_2}수정·파괴할 수 없는 놀이기구/시설: STR_3313 :시나리오 이름 STR_3314 :시나리오 이름을 입력하세요: STR_3315 :공원/시나리오 상세 설명 From ab186128825a2ca0ffad22a1f7c7a2a922d3b96c Mon Sep 17 00:00:00 2001 From: Michael Steenbeek Date: Wed, 28 Jul 2021 10:26:35 +0200 Subject: [PATCH 10/10] Remove Music Acknowledgements window (#15116) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was of limited use to us anyway since we didn’t license the music ourselves, but now the actual track names and composers are shown in the Object Selection, the window lost its last bit of usefulness. --- OpenRCT2.xcodeproj/project.pbxproj | 4 - data/language/en-GB.txt | 45 ------ src/openrct2-ui/WindowManager.cpp | 2 - src/openrct2-ui/libopenrct2ui.vcxproj | 1 - src/openrct2-ui/windows/About.cpp | 9 +- src/openrct2-ui/windows/MusicCredits.cpp | 186 ----------------------- src/openrct2-ui/windows/Window.h | 1 - src/openrct2/interface/Window.h | 4 +- src/openrct2/localisation/StringIds.h | 46 ------ 9 files changed, 3 insertions(+), 295 deletions(-) delete mode 100644 src/openrct2-ui/windows/MusicCredits.cpp diff --git a/OpenRCT2.xcodeproj/project.pbxproj b/OpenRCT2.xcodeproj/project.pbxproj index 1e0229fd2d..b6527ce470 100644 --- a/OpenRCT2.xcodeproj/project.pbxproj +++ b/OpenRCT2.xcodeproj/project.pbxproj @@ -431,7 +431,6 @@ C666EE701F37ACB10061AA04 /* LandRights.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE5A1F37ACB10061AA04 /* LandRights.cpp */; }; C666EE711F37ACB10061AA04 /* MapGen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE5B1F37ACB10061AA04 /* MapGen.cpp */; }; C666EE721F37ACB10061AA04 /* Multiplayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE5C1F37ACB10061AA04 /* Multiplayer.cpp */; }; - C666EE731F37ACB10061AA04 /* MusicCredits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE5D1F37ACB10061AA04 /* MusicCredits.cpp */; }; C666EE741F37ACB10061AA04 /* News.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE5E1F37ACB10061AA04 /* News.cpp */; }; C666EE751F37ACB10061AA04 /* NewsOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE5F1F37ACB10061AA04 /* NewsOptions.cpp */; }; C666EE761F37ACB10061AA04 /* Options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C666EE601F37ACB10061AA04 /* Options.cpp */; }; @@ -1552,7 +1551,6 @@ C666EE5A1F37ACB10061AA04 /* LandRights.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LandRights.cpp; sourceTree = ""; }; C666EE5B1F37ACB10061AA04 /* MapGen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MapGen.cpp; sourceTree = ""; }; C666EE5C1F37ACB10061AA04 /* Multiplayer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Multiplayer.cpp; sourceTree = ""; }; - C666EE5D1F37ACB10061AA04 /* MusicCredits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MusicCredits.cpp; sourceTree = ""; }; C666EE5E1F37ACB10061AA04 /* News.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = News.cpp; sourceTree = ""; }; C666EE5F1F37ACB10061AA04 /* NewsOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NewsOptions.cpp; sourceTree = ""; }; C666EE601F37ACB10061AA04 /* Options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Options.cpp; sourceTree = ""; }; @@ -3271,7 +3269,6 @@ C6D2BEE41F9BAACD008B557C /* MapTooltip.cpp */, C6D2BEE51F9BAACD008B557C /* MazeConstruction.cpp */, C666EE5C1F37ACB10061AA04 /* Multiplayer.cpp */, - C666EE5D1F37ACB10061AA04 /* MusicCredits.cpp */, C6D2BEE91F9BB83B008B557C /* NetworkStatus.cpp */, C654DF231F69C0430040F43D /* NewCampaign.cpp */, C685E5141F8907840090598F /* NewRide.cpp */, @@ -3848,7 +3845,6 @@ 4CB991CD25CEE54500C692B4 /* ShortcutInput.cpp in Sources */, C68878C820289B710084B384 /* SwapFramebuffer.cpp in Sources */, C67CCD661FBBCFDB004FAE4C /* EditorBottomToolbar.cpp in Sources */, - C666EE731F37ACB10061AA04 /* MusicCredits.cpp in Sources */, C654DF351F69C0430040F43D /* Park.cpp in Sources */, 4C8BB68525533DB9005C8830 /* ZoomLevel.cpp in Sources */, C654DF3A1F69C0430040F43D /* TitleEditor.cpp in Sources */, diff --git a/data/language/en-GB.txt b/data/language/en-GB.txt index 3813f7521e..7997547cdc 100644 --- a/data/language/en-GB.txt +++ b/data/language/en-GB.txt @@ -2055,51 +2055,6 @@ STR_2854 :{RED}Guests can’t get to the entrance of {STRINGID}!{NEWLINE}Cons STR_2855 :{RED}{STRINGID} has no path leading from its exit!{NEWLINE}Construct a path from the ride exit STR_2858 :Can’t start marketing campaign… STR_2861 :{WINDOW_COLOUR_2}Licensed to Infogrames Interactive Inc. -STR_2862 :Music acknowledgements… -STR_2863 :Music acknowledgements -STR_2864 :{WINDOW_COLOUR_2}March - Children of the Regiment: (Fucik) non copyright -STR_2865 :{WINDOW_COLOUR_2}Heyken’s Serenade: (J.Heyken) British Standard Music Coy; GEMA, BRITICO -STR_2866 :{WINDOW_COLOUR_2}La Belle Espagnole: (Robert Vollstedt) non copyright -STR_2867 :{WINDOW_COLOUR_2}Wedding Journey: (Traditional) -STR_2868 :{WINDOW_COLOUR_2}Tales from the Vienna Woods: (Johann Strauss) non copyright -STR_2869 :{WINDOW_COLOUR_2}Slavonic Dance: (Traditional) -STR_2870 :{WINDOW_COLOUR_2}Das Alpenhorn: (Traditional) -STR_2871 :{WINDOW_COLOUR_2}The Blond Sailor: (Traditional) -STR_2872 :{WINDOW_COLOUR_2}Overture - Poet and Peasant: (Franz von Suppé) non copyright -STR_2873 :{WINDOW_COLOUR_2}Waltz Medley: (Johann Strauss) non copyright -STR_2874 :{WINDOW_COLOUR_2}Bella Bella Bimba: (Traditional) -STR_2875 :{WINDOW_COLOUR_2}Original recordings (P) 1976 C.J.Mears Organization, used with consent -STR_2876 :{WINDOW_COLOUR_2}RollerCoaster Tycoon 2 Title Music: (Allister Brimble) copyright © Chris Sawyer -STR_2877 :{WINDOW_COLOUR_2}Dodgems Beat: (Allister Brimble) copyright © Chris Sawyer -STR_2878 :{WINDOW_COLOUR_2}Mid Summer’s Heat: (Allister Brimble) copyright © Chris Sawyer -STR_2879 :{WINDOW_COLOUR_2}Pharaoh’s Tomb: (Allister Brimble) copyright © Chris Sawyer -STR_2880 :{WINDOW_COLOUR_2}Caesar’s March: (Allister Brimble) copyright © Chris Sawyer -STR_2881 :{WINDOW_COLOUR_2}Drifting To Heaven: (Allister Brimble) copyright © Chris Sawyer -STR_2882 :{WINDOW_COLOUR_2}Invaders: (Allister Brimble) copyright © Chris Sawyer -STR_2883 :{WINDOW_COLOUR_2}Eternal Toybox: (Allister Brimble) copyright © Chris Sawyer -STR_2884 :{WINDOW_COLOUR_2}Jungle Juice: (Allister Brimble) copyright © Chris Sawyer -STR_2885 :{WINDOW_COLOUR_2}Ninja’s Noodles: (Allister Brimble) copyright © Chris Sawyer -STR_2886 :{WINDOW_COLOUR_2}Voyage to Andromeda: (Allister Brimble) copyright © Chris Sawyer -STR_2887 :{WINDOW_COLOUR_2}Brimble’s Beat: (Allister Brimble) copyright © Chris Sawyer -STR_2888 :{WINDOW_COLOUR_2}Atlantis: (Allister Brimble) copyright © Chris Sawyer -STR_2889 :{WINDOW_COLOUR_2}Wild West Kid: (Allister Brimble) copyright © Chris Sawyer -STR_2890 :{WINDOW_COLOUR_2}Vampire’s Lair: (Allister Brimble) copyright © Chris Sawyer -STR_2891 :{WINDOW_COLOUR_2}Blockbuster: (Allister Brimble) copyright © Chris Sawyer -STR_2892 :{WINDOW_COLOUR_2}Airtime Rock: (Allister Brimble) copyright © Chris Sawyer -STR_2893 :{WINDOW_COLOUR_2}Searchlight Rag: (Scott Joplin/Allister Brimble) copyright © Chris Sawyer -STR_2894 :{WINDOW_COLOUR_2}Flight of Fantasy: (Steve Blenkinsopp) copyright © Chris Sawyer -STR_2895 :{WINDOW_COLOUR_2}Big Rock: (Allister Brimble) copyright © Chris Sawyer -STR_2896 :{WINDOW_COLOUR_2}Hypothermia: (Allister Brimble) copyright © Chris Sawyer -STR_2897 :{WINDOW_COLOUR_2}Last Sleigh Ride: (Allister Brimble) copyright © Chris Sawyer -STR_2898 :{WINDOW_COLOUR_2}Pipes of Glencairn: (Allister Brimble) copyright © Chris Sawyer -STR_2899 :{WINDOW_COLOUR_2}Traffic Jam: (Allister Brimble) copyright © Chris Sawyer -STR_2901 :{WINDOW_COLOUR_2}(Samples courtesy of Spectrasonics “Liquid Grooves”) -STR_2902 :{WINDOW_COLOUR_2}Toccata: (C.M.Widor, played by Peter James Adcock) recording © Chris Sawyer -STR_2903 :{WINDOW_COLOUR_2}Space Rock: (Allister Brimble) copyright © Chris Sawyer -STR_2904 :{WINDOW_COLOUR_2}Manic Mechanic: (Allister Brimble) copyright © Chris Sawyer -STR_2905 :{WINDOW_COLOUR_2}Techno Torture: (Allister Brimble) copyright © Chris Sawyer -STR_2906 :{WINDOW_COLOUR_2}Sweat Dreams: (Allister Brimble) copyright © Chris Sawyer -STR_2907 :{WINDOW_COLOUR_2}What shall we do with the Drunken Sailor: (Anon/Allister Brimble) copyright © Chris Sawyer STR_2971 :Main colour scheme STR_2972 :Alternative colour scheme 1 STR_2973 :Alternative colour scheme 2 diff --git a/src/openrct2-ui/WindowManager.cpp b/src/openrct2-ui/WindowManager.cpp index 7e483bb5e7..850a2122ef 100644 --- a/src/openrct2-ui/WindowManager.cpp +++ b/src/openrct2-ui/WindowManager.cpp @@ -79,8 +79,6 @@ public: return window_mapgen_open(); case WC_MULTIPLAYER: return window_multiplayer_open(); - case WC_MUSIC_CREDITS: - return window_music_credits_open(); case WC_CONSTRUCT_RIDE: return window_new_ride_open(); case WC_PARK_INFORMATION: diff --git a/src/openrct2-ui/libopenrct2ui.vcxproj b/src/openrct2-ui/libopenrct2ui.vcxproj index ed4b381cce..99e49440b7 100644 --- a/src/openrct2-ui/libopenrct2ui.vcxproj +++ b/src/openrct2-ui/libopenrct2ui.vcxproj @@ -147,7 +147,6 @@ - diff --git a/src/openrct2-ui/windows/About.cpp b/src/openrct2-ui/windows/About.cpp index f7f776689b..b164360a30 100644 --- a/src/openrct2-ui/windows/About.cpp +++ b/src/openrct2-ui/windows/About.cpp @@ -51,9 +51,6 @@ enum WINDOW_ABOUT_WIDGET_IDX { WIDX_JOIN_DISCORD, WIDX_CONTRIBUTORS, WIDX_COPYRIGHT, - - // About RCT2 - WIDX_MUSIC_CREDITS = WIDX_PAGE_START, }; #define WIDGETS_MAIN \ @@ -78,7 +75,6 @@ static rct_widget window_about_openrct2_widgets[] = { static rct_widget window_about_rct2_widgets[] = { WIDGETS_MAIN, - MakeWidget({100, WH - TABHEIGHT}, {200, 14}, WindowWidgetType::Button, WindowColour::Secondary, STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS), // music credits button { WIDGETS_END }, }; @@ -92,7 +88,7 @@ static rct_widget *window_about_page_widgets[] = { static uint64_t window_about_page_enabled_widgets[] = { DEFAULT_ENABLED_WIDGETS | (1ULL << WIDX_COPY_BUILD_INFO) | (1ULL << WIDX_CHANGELOG) | (1ULL << WIDX_JOIN_DISCORD), - DEFAULT_ENABLED_WIDGETS | (1ULL << WIDX_MUSIC_CREDITS), + DEFAULT_ENABLED_WIDGETS, }; static void window_about_openrct2_mouseup(rct_window *w, rct_widgetindex widgetIndex); @@ -253,9 +249,6 @@ static void window_about_rct2_mouseup(rct_window* w, rct_widgetindex widgetIndex case WIDX_TAB_ABOUT_RCT2: window_about_set_page(w, widgetIndex - WIDX_TAB_ABOUT_OPENRCT2); break; - case WIDX_MUSIC_CREDITS: - context_open_window(WC_MUSIC_CREDITS); - break; } } diff --git a/src/openrct2-ui/windows/MusicCredits.cpp b/src/openrct2-ui/windows/MusicCredits.cpp deleted file mode 100644 index 6dfe501b5b..0000000000 --- a/src/openrct2-ui/windows/MusicCredits.cpp +++ /dev/null @@ -1,186 +0,0 @@ -/***************************************************************************** - * Copyright (c) 2014-2020 OpenRCT2 developers - * - * For a complete list of all authors, please refer to contributors.md - * Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2 - * - * OpenRCT2 is licensed under the GNU General Public License version 3. - *****************************************************************************/ - -#include -#include -#include -#include -#include -#include - -static constexpr const rct_string_id WINDOW_TITLE = STR_MUSIC_ACKNOWLEDGEMENTS; -static constexpr const int32_t WH = 314; -static constexpr const int32_t WW = 510; - -// clang-format off -enum WINDOW_MUSIC_CREDITS_WIDGET_IDX { - WIDX_BACKGROUND, - WIDX_TITLE, - WIDX_CLOSE -}; - -static rct_widget window_music_credits_widgets[] = { - WINDOW_SHIM(WINDOW_TITLE, WW, WH), - MakeWidget({4, 18}, {502, 292}, WindowWidgetType::Scroll, WindowColour::Primary, SCROLL_VERTICAL), // scroll - { WIDGETS_END }, -}; - -static constexpr const rct_string_id music_credits[] = { - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MARCH_CHILDREN_OF_THE_REGIMENT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HEYKENS_SERENADE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_IN_CONTINENTAL_MOOD, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WEDDING_JOURNEY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TALES_FROM_THE_VIENNA_WOODS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SLAVONIC_DANCE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DAS_ALPENHORN, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_THE_BLOND_SAILOR, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_OVERTURE_POET_AND_PEASANT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WALTZ_MEDLEY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BELLA_BELLA_BIMBA, -}; - -static constexpr const rct_string_id music_credits_rct2[] = { - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_RCT2_TITLE_MUSIC, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DODGEMS_BEAT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MIS_SUMMERS_HEAT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PHARAOS_TOMB, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_CAESARS_MARCH, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DRIFTING_TO_HEAVEN, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_INVADERS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ETERNAL_TOYBOX, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_JUNGLE_JUICE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_NINJAS_NOODLES, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VOYAGE_TO_ANDROMEDA, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BRIMBLES_BEAT, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ATLANTIS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WILD_WEST_KID, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VAMPIRES_LAIR, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BLOCKUBSTER, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_AIRTIME_ROCK, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SEARCHLIGHT_RAG, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_FLIGHT_OF_FANTASY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BIG_ROCK, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HYPOTHERMIA, - STR_MUSIC_ACKNOWLEDGEMENTS_SAMPLES_COURTESY, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_LAST_SLEIGH_RIDE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PIPES_OF_GLENCAIRN, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TRAFFIC_JAM, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TOCCATA, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SPACE_ROCK, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MANIC_MECHANIC, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR, -}; - -static void window_music_credits_mouseup(rct_window *w, rct_widgetindex widgetIndex); -static void window_music_credits_scrollgetsize(rct_window *w, int32_t scrollIndex, int32_t *width, int32_t *height); -static void window_music_credits_paint(rct_window *w, rct_drawpixelinfo *dpi); -static void window_music_credits_scrollpaint(rct_window *w, rct_drawpixelinfo *dpi, int32_t scrollIndex); - -static rct_window_event_list window_music_credits_events([](auto& events) -{ - events.mouse_up = &window_music_credits_mouseup; - events.get_scroll_size = &window_music_credits_scrollgetsize; - events.paint = &window_music_credits_paint; - events.scroll_paint = &window_music_credits_scrollpaint; -}); -// clang-format on - -/** - * - * rct2: 0x0066D55B - */ -rct_window* window_music_credits_open() -{ - rct_window* window; - - // Check if window is already open - window = window_bring_to_front_by_class(WC_MUSIC_CREDITS); - if (window != nullptr) - return window; - - window = WindowCreateCentred(510, 314, &window_music_credits_events, WC_MUSIC_CREDITS, 0); - - window->widgets = window_music_credits_widgets; - window->enabled_widgets = 1ULL << WIDX_CLOSE; - - WindowInitScrollWidgets(window); - window->colours[0] = COLOUR_LIGHT_BLUE; - window->colours[1] = COLOUR_LIGHT_BLUE; - window->colours[2] = COLOUR_LIGHT_BLUE; - - return window; -} - -/** - * - * rct2: 0x0066DB2C - */ -static void window_music_credits_mouseup(rct_window* w, rct_widgetindex widgetIndex) -{ - switch (widgetIndex) - { - case WIDX_CLOSE: - window_close(w); - break; - } -} - -/** - * - * rct2: 0x0066DB37 - */ -static void window_music_credits_scrollgetsize(rct_window* w, int32_t scrollIndex, int32_t* width, int32_t* height) -{ - int32_t lineHeight = font_get_line_height(FontSpriteBase::MEDIUM); - *height = static_cast(std::size(music_credits) + std::size(music_credits_rct2)) * lineHeight + 12; -} - -/** - * - * rct2: 0x0066D7B9 - */ -static void window_music_credits_paint(rct_window* w, rct_drawpixelinfo* dpi) -{ - WindowDrawWidgets(w, dpi); -} - -/** - * - * rct2: 0x0066D7BF - */ -static void window_music_credits_scrollpaint(rct_window* w, rct_drawpixelinfo* dpi, int32_t scrollIndex) -{ - int32_t lineHeight = font_get_line_height(FontSpriteBase::MEDIUM); - - auto screenCoords = ScreenCoordsXY{ 245, 2 }; - - for (size_t i = 0; i < std::size(music_credits); i++) - { - DrawTextBasic(dpi, screenCoords, music_credits[i], nullptr, { TextAlignment::CENTRE }); - screenCoords.y += lineHeight; - } - - // Add 4 more space before "Original recordings ...". - screenCoords.y += 4; - DrawTextBasic(dpi, screenCoords, STR_MUSIC_ACKNOWLEDGEMENTS_ORIGINAL_RECORDINGS, nullptr, { TextAlignment::CENTRE }); - screenCoords.y += lineHeight; - - // Draw the separator - screenCoords.y += 5; - gfx_fill_rect_inset(dpi, { 4, screenCoords.y, 484, screenCoords.y + 1 }, w->colours[1], INSET_RECT_FLAG_BORDER_INSET); - screenCoords.y += lineHeight + 1; - - for (size_t i = 0; i < std::size(music_credits_rct2); i++) - { - DrawTextBasic(dpi, screenCoords, music_credits_rct2[i], nullptr, { TextAlignment::CENTRE }); - screenCoords.y += lineHeight; - } -} diff --git a/src/openrct2-ui/windows/Window.h b/src/openrct2-ui/windows/Window.h index 7d6d074207..3e2f6dfca3 100644 --- a/src/openrct2-ui/windows/Window.h +++ b/src/openrct2-ui/windows/Window.h @@ -54,7 +54,6 @@ rct_window* window_land_rights_open(); rct_window* window_main_open(); rct_window* window_mapgen_open(); rct_window* window_multiplayer_open(); -rct_window* window_music_credits_open(); rct_window* window_news_open(); rct_window* window_news_options_open(); rct_window* window_options_open(); diff --git a/src/openrct2/interface/Window.h b/src/openrct2/interface/Window.h index bbfb9bac2e..bbb9727606 100644 --- a/src/openrct2/interface/Window.h +++ b/src/openrct2/interface/Window.h @@ -418,8 +418,8 @@ enum WC_TOOLTIP = 5, WC_DROPDOWN = 6, WC_ABOUT = 8, - WC_PUBLISHER_CREDITS = 9, - WC_MUSIC_CREDITS = 10, + // WC_PUBLISHER_CREDITS = 9, + // WC_MUSIC_CREDITS = 10, WC_ERROR = 11, WC_RIDE = 12, WC_RIDE_CONSTRUCTION = 13, diff --git a/src/openrct2/localisation/StringIds.h b/src/openrct2/localisation/StringIds.h index c3a474e0da..0671d62036 100644 --- a/src/openrct2/localisation/StringIds.h +++ b/src/openrct2/localisation/StringIds.h @@ -2171,52 +2171,6 @@ enum STR_CANT_START_MARKETING_CAMPAIGN = 2858, // STR_2859 :Another instance of OpenRCT2 is already running STR_LICENSED_TO_INFOGRAMES_INTERACTIVE_INC = 2861, - STR_MUSIC_ACKNOWLEDGEMENTS_ELLIPSIS = 2862, - STR_MUSIC_ACKNOWLEDGEMENTS = 2863, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MARCH_CHILDREN_OF_THE_REGIMENT = 2864, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HEYKENS_SERENADE = 2865, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_IN_CONTINENTAL_MOOD = 2866, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WEDDING_JOURNEY = 2867, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TALES_FROM_THE_VIENNA_WOODS = 2868, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SLAVONIC_DANCE = 2869, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DAS_ALPENHORN = 2870, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_THE_BLOND_SAILOR = 2871, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_OVERTURE_POET_AND_PEASANT = 2872, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WALTZ_MEDLEY = 2873, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BELLA_BELLA_BIMBA = 2874, - STR_MUSIC_ACKNOWLEDGEMENTS_ORIGINAL_RECORDINGS = 2875, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_RCT2_TITLE_MUSIC = 2876, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DODGEMS_BEAT = 2877, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MIS_SUMMERS_HEAT = 2878, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PHARAOS_TOMB = 2879, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_CAESARS_MARCH = 2880, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_DRIFTING_TO_HEAVEN = 2881, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_INVADERS = 2882, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ETERNAL_TOYBOX = 2883, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_JUNGLE_JUICE = 2884, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_NINJAS_NOODLES = 2885, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VOYAGE_TO_ANDROMEDA = 2886, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BRIMBLES_BEAT = 2887, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_ATLANTIS = 2888, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WILD_WEST_KID = 2889, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_VAMPIRES_LAIR = 2890, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BLOCKUBSTER = 2891, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_AIRTIME_ROCK = 2892, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SEARCHLIGHT_RAG = 2893, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_FLIGHT_OF_FANTASY = 2894, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_BIG_ROCK = 2895, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_HYPOTHERMIA = 2896, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_LAST_SLEIGH_RIDE = 2897, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_PIPES_OF_GLENCAIRN = 2898, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TRAFFIC_JAM = 2899, - - STR_MUSIC_ACKNOWLEDGEMENTS_SAMPLES_COURTESY = 2901, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TOCCATA = 2902, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SPACE_ROCK = 2903, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_MANIC_MECHANIC = 2904, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_TECHNO_TORTURE = 2905, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_SWEET_DREAMS = 2906, - STR_MUSIC_ACKNOWLEDGEMENTS_TRACK_WHAT_SHALL_WE_DO_WITH_THE_DRUNKEN_SAILOR = 2907, STR_MAIN_COLOUR_SCHEME = 2971, STR_ALTERNATIVE_COLOUR_SCHEME_1 = 2972,