From cfb4bba7211f574f3f5490d3540863a016787d59 Mon Sep 17 00:00:00 2001 From: duncanspumpkin Date: Wed, 11 Dec 2019 14:12:33 +0000 Subject: [PATCH] Remove todo and clang format where required Change array type to avoid additional code Make CI's happier --- src/openrct2-ui/windows/TrackDesignPlace.cpp | 20 +++++++------- src/openrct2/actions/TrackDesignAction.cpp | 2 +- src/openrct2/actions/TrackDesignAction.h | 4 +-- src/openrct2/core/DataSerialiserTraits.h | 28 +++++++++++++++++--- src/openrct2/rct2/T6Exporter.cpp | 2 +- src/openrct2/ride/TrackDesign.cpp | 7 +++-- src/openrct2/ride/TrackDesign.h | 2 +- 7 files changed, 43 insertions(+), 22 deletions(-) diff --git a/src/openrct2-ui/windows/TrackDesignPlace.cpp b/src/openrct2-ui/windows/TrackDesignPlace.cpp index c6d840aa81..e7197d9c8e 100644 --- a/src/openrct2-ui/windows/TrackDesignPlace.cpp +++ b/src/openrct2-ui/windows/TrackDesignPlace.cpp @@ -354,35 +354,35 @@ static void window_track_place_tooldown(rct_window* w, rct_widgetindex widgetInd if (res->Error == GA_ERROR::OK) { auto tdAction = TrackDesignAction({ trackLoc.x, trackLoc.y, trackLoc.z, _currentTrackPieceDirection }, *_trackDesign); - tdAction.SetCallback([trackLoc](const GameAction*, const TrackDesignActionResult* res) { - if (res->Error == GA_ERROR::OK) + tdAction.SetCallback([trackLoc](const GameAction*, const TrackDesignActionResult* result) { + if (result->Error == GA_ERROR::OK) { - auto ride = get_ride(res->rideIndex); + auto ride = get_ride(result->rideIndex); if (ride != nullptr) { window_close_by_class(WC_ERROR); audio_play_sound_at_location(SoundId::PlaceItem, { trackLoc.x, trackLoc.y, trackLoc.z }); - _currentRideIndex = res->rideIndex; + _currentRideIndex = result->rideIndex; if (track_design_are_entrance_and_exit_placed()) { auto intent = Intent(WC_RIDE); - intent.putExtra(INTENT_EXTRA_RIDE_ID, res->rideIndex); + intent.putExtra(INTENT_EXTRA_RIDE_ID, result->rideIndex); context_open_intent(&intent); - auto w = window_find_by_class(WC_TRACK_DESIGN_PLACE); - window_close(w); + auto wnd = window_find_by_class(WC_TRACK_DESIGN_PLACE); + window_close(wnd); } else { ride_initialise_construction_window(ride); - auto w = window_find_by_class(WC_RIDE_CONSTRUCTION); - window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE); + auto wnd = window_find_by_class(WC_RIDE_CONSTRUCTION); + window_event_mouse_up_call(wnd, WC_RIDE_CONSTRUCTION__WIDX_ENTRANCE); } } } else { - audio_play_sound_at_location(SoundId::Error, res->Position); + audio_play_sound_at_location(SoundId::Error, result->Position); } }); GameActions::Execute(&tdAction); diff --git a/src/openrct2/actions/TrackDesignAction.cpp b/src/openrct2/actions/TrackDesignAction.cpp index 67686ae44c..e246c40216 100644 --- a/src/openrct2/actions/TrackDesignAction.cpp +++ b/src/openrct2/actions/TrackDesignAction.cpp @@ -14,8 +14,8 @@ #include "../object/ObjectRepository.h" #include "../ride/RideGroupManager.h" #include "../ride/TrackDesign.h" -#include "RideSetName.hpp" #include "RideDemolishAction.hpp" +#include "RideSetName.hpp" #include "RideSetSetting.hpp" #include "RideSetVehiclesAction.hpp" diff --git a/src/openrct2/actions/TrackDesignAction.h b/src/openrct2/actions/TrackDesignAction.h index 8142befcbe..bbd890bf38 100644 --- a/src/openrct2/actions/TrackDesignAction.h +++ b/src/openrct2/actions/TrackDesignAction.h @@ -9,8 +9,8 @@ #pragma once -#include "GameAction.h" #include "../ride/TrackDesign.h" +#include "GameAction.h" class TrackDesignActionResult final : public GameActionResult { @@ -45,7 +45,7 @@ public: TrackDesignAction() { } - TrackDesignAction(CoordsXYZD location, const TrackDesign &td) + TrackDesignAction(CoordsXYZD location, const TrackDesign& td) : _loc(location) , _td(td) { diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index f12e9b7a6e..0ce01c44cb 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -643,7 +643,9 @@ template<> struct DataSerializerTraits static void log(IStream* stream, const TrackDesignEntranceElement& val) { char msg[128] = {}; - snprintf(msg, sizeof(msg), "TrackDesignEntranceElement(x = %d, y = %d, z = %d, dir = %d, isExit = %d)", val.x, val.y, val.z, val.direction, val.isExit); + snprintf( + msg, sizeof(msg), "TrackDesignEntranceElement(x = %d, y = %d, z = %d, dir = %d, isExit = %d)", val.x, val.y, val.z, + val.direction, val.isExit); stream->Write(msg, strlen(msg)); } }; @@ -676,9 +678,29 @@ template<> struct DataSerializerTraits { char msg[128] = {}; snprintf( - msg, sizeof(msg), "TrackDesignSceneryElement(x = %d, y = %d, z = %d, flags = %d, colour1 = %d, colour2 = %d)", val.x, val.y, val.z, - val.flags, val.primary_colour, val.secondary_colour); + msg, sizeof(msg), "TrackDesignSceneryElement(x = %d, y = %d, z = %d, flags = %d, colour1 = %d, colour2 = %d)", + val.x, val.y, val.z, val.flags, val.primary_colour, val.secondary_colour); stream->Write(msg, strlen(msg)); stream->WriteArray(val.scenery_object.name, 8); } }; + +template<> struct DataSerializerTraits +{ + static void encode(IStream* stream, const rct_vehicle_colour& val) + { + stream->Write(&val.body_colour); + stream->Write(&val.trim_colour); + } + static void decode(IStream* stream, rct_vehicle_colour& val) + { + stream->Read(&val.body_colour); + stream->Read(&val.trim_colour); + } + static void log(IStream* stream, const rct_vehicle_colour& val) + { + char msg[128] = {}; + snprintf(msg, sizeof(msg), "rct_vehicle_colour(body_colour = %d, trim_colour = %d)", val.body_colour, val.trim_colour); + stream->Write(msg, strlen(msg)); + } +}; diff --git a/src/openrct2/rct2/T6Exporter.cpp b/src/openrct2/rct2/T6Exporter.cpp index 5c61948e19..e7e60d6320 100644 --- a/src/openrct2/rct2/T6Exporter.cpp +++ b/src/openrct2/rct2/T6Exporter.cpp @@ -53,7 +53,7 @@ bool T6Exporter::SaveTrack(IStream* stream) tempStream.WriteValue(_trackDesign->flags); tempStream.WriteValue(_trackDesign->ride_mode); tempStream.WriteValue((_trackDesign->colour_scheme & 0x3) | (2 << 2)); - tempStream.WriteArray(_trackDesign->vehicle_colours, RCT12_MAX_VEHICLE_COLOURS); + tempStream.WriteArray(_trackDesign->vehicle_colours.data(), RCT12_MAX_VEHICLE_COLOURS); tempStream.WriteValue(0); tempStream.WriteValue(_trackDesign->entrance_style); tempStream.WriteValue(_trackDesign->total_air_time); diff --git a/src/openrct2/ride/TrackDesign.cpp b/src/openrct2/ride/TrackDesign.cpp index 1522ce4bc1..9e9670af13 100644 --- a/src/openrct2/ride/TrackDesign.cpp +++ b/src/openrct2/ride/TrackDesign.cpp @@ -19,8 +19,8 @@ #include "../actions/LargeSceneryRemoveAction.hpp" #include "../actions/MazePlaceTrackAction.hpp" #include "../actions/RideEntranceExitPlaceAction.hpp" -#include "../actions/RideSetSetting.hpp" #include "../actions/RideSetName.hpp" +#include "../actions/RideSetSetting.hpp" #include "../actions/RideSetVehiclesAction.hpp" #include "../actions/SmallSceneryPlaceAction.hpp" #include "../actions/SmallSceneryRemoveAction.hpp" @@ -29,9 +29,9 @@ #include "../actions/WallPlaceAction.hpp" #include "../actions/WallRemoveAction.hpp" #include "../audio/audio.h" +#include "../core/DataSerialiser.h" #include "../core/File.h" #include "../core/String.hpp" -#include "../core/DataSerialiser.h" #include "../drawing/X8DrawingEngine.h" #include "../localisation/Localisation.h" #include "../localisation/StringIds.h" @@ -81,7 +81,6 @@ LocationXYZ16 gTrackPreviewOrigin; bool byte_9D8150; static uint8_t _trackDesignPlaceOperation; -static bool _trackDesignDontPlaceScenery; static money32 _trackDesignPlaceCost; static int16_t _trackDesignPlaceZ; static int16_t _trackDesignPlaceSceneryZ; @@ -569,7 +568,7 @@ void TrackDesign::Serialise(DataSerialiser& stream) stream << DS_TAG(ride_mode); stream << DS_TAG(track_flags); stream << DS_TAG(colour_scheme); - //stream << DS_TAG(vehicle_colours); todo + stream << DS_TAG(vehicle_colours); stream << DS_TAG(entrance_style); stream << DS_TAG(total_air_time); stream << DS_TAG(depart_flags); diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index e1c1fa023b..2da6cfd771 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -88,7 +88,7 @@ struct TrackDesign uint8_t ride_mode; uint8_t track_flags; uint8_t colour_scheme; - rct_vehicle_colour vehicle_colours[RCT2_MAX_CARS_PER_TRAIN]; + std::array vehicle_colours; uint8_t entrance_style; uint8_t total_air_time; uint8_t depart_flags;