diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 2da13b1c73..3d1071dee6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -38,6 +38,7 @@ body: options: - The bug also exists in RCT2 (vanilla) - This bug is specific to multiplayer + - Building the game validations: required: false diff --git a/contributors.md b/contributors.md index 21c84806fa..b12d3c4d21 100644 --- a/contributors.md +++ b/contributors.md @@ -62,7 +62,7 @@ The following people are not part of the development team, but have been contrib * Robert Jordan (trigger-death) - UI theming, title sequence editor, misc. * Aaron van Geffen (AaronVanGeffen) - scenario select screen, font detection, misc. * Michał Janiszewski (janisozaur) - Linux port, crash handling, security, misc. -* Kelson Blakewood (spacek531) - title sequences for release versions 0.0.4 through 0.1.2, title sequences using milliseconds +* Kelson Blakewood (spacek531) - title sequences, title sequence features, vehicle features * Hugo Wallenburg (Goddesen) - Misc. * Edward Calver (X7123M3-256) - New Hybrid Coaster track, extended sprite toolchain, more vehicle cheats, misc. * Matte Andersson (Nubbie) - Misc, UX diff --git a/data/language/ko-KR.txt b/data/language/ko-KR.txt index 0b2aa1aec2..2e57f042b9 100644 --- a/data/language/ko-KR.txt +++ b/data/language/ko-KR.txt @@ -3656,6 +3656,7 @@ STR_6452 :{WINDOW_COLOUR_2}판매: {BLACK}{STRING} STR_6453 :버전 정보 복사 STR_6454 :팻말 이름을 변경할 수 없습니다… STR_6455 :팻말 이름을 변경할 수 없습니다… +STR_6456 :초대형 스크린 샷 ############# # Scenarios # diff --git a/distribution/changelog.txt b/distribution/changelog.txt index f9c7ead1d9..5e5d7651a0 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -1,10 +1,12 @@ 0.3.4.1+ (in development) ------------------------------------------------------------------------ +- Feature: [#3868] Initial support for using TTF in OpenGL mode (still contains bugs). - Feature: [#15084] [Plugin] Add "vehicle.crash" hook. - Feature: [#15143] Added a shortcut key for Giant Screenshot. - Feature: [#15164] Highlight elements selected by the Tile Inspector, tracks are currently not supported. - Feature: [#15165] [Plugin] Add the ability to create entities using "map.createEntity". - Feature: [#15194] [Plugin] Add guest properties, ride downtime and park casualty penalty. +- Feature: [#15294] New vehicle animation type: flying animal - Fix: [#13465] Creating a scenario based on a won save game results in a scenario that’s instantly won. - Fix: [#14316] Closing the Track Designs Manager window causes broken state. - Fix: [#14667] “Extreme Hawaiian Island” has unpurchaseable land tiles (original bug). @@ -14,6 +16,7 @@ - Fix: [#15170] Plugin: incorrect label text alignment. - Fix: [#15184] Crash when hovering over water types in Object Selection. - Fix: [#15193] Crash when rides/stalls are demolished. +- Fix: [#15255] Tile Inspector shows banner information on walls that do not contain one. - Improved: [#3417] Crash dumps are now placed in their own folder. - Change: [#8601] Revert ToonTower base block fix to re-enable support blocking. - Change: [#15174] [Plugin] Deprecate the type "peep" and add support to target a specific scripting api version. diff --git a/src/openrct2-ui/Ui.h b/src/openrct2-ui/Ui.h index 3922630fb5..cc0f0077cd 100644 --- a/src/openrct2-ui/Ui.h +++ b/src/openrct2-ui/Ui.h @@ -7,6 +7,8 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ +#pragma once + #ifdef _MSC_VER int NormalisedMain(int argc, const char** argv); #endif diff --git a/src/openrct2-ui/UiContext.h b/src/openrct2-ui/UiContext.h index 4917703eae..1d84ee0a9a 100644 --- a/src/openrct2-ui/UiContext.h +++ b/src/openrct2-ui/UiContext.h @@ -46,9 +46,9 @@ namespace OpenRCT2 virtual bool HasFilePicker() const abstract; }; - std::unique_ptr CreateUiContext(const std::shared_ptr& env); - IPlatformUiContext* CreatePlatformUiContext(); + [[nodiscard]] std::unique_ptr CreateUiContext(const std::shared_ptr& env); + [[nodiscard]] IPlatformUiContext* CreatePlatformUiContext(); - InGameConsole& GetInGameConsole(); + [[nodiscard]] InGameConsole& GetInGameConsole(); } // namespace Ui } // namespace OpenRCT2 diff --git a/src/openrct2-ui/audio/AudioContext.h b/src/openrct2-ui/audio/AudioContext.h index 7f4a48ebd6..dd175aa7ea 100644 --- a/src/openrct2-ui/audio/AudioContext.h +++ b/src/openrct2-ui/audio/AudioContext.h @@ -79,6 +79,6 @@ namespace OpenRCT2::Audio IAudioMixer* Create(); } - std::unique_ptr CreateAudioContext(); + [[nodiscard]] std::unique_ptr CreateAudioContext(); } // namespace OpenRCT2::Audio diff --git a/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp b/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp index 47b6868708..e746c966a5 100644 --- a/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp +++ b/src/openrct2-ui/drawing/engines/DrawingEngineFactory.hpp @@ -21,16 +21,18 @@ namespace OpenRCT2 struct IUiContext; - std::unique_ptr CreateSoftwareDrawingEngine(const std::shared_ptr& uiContext); - std::unique_ptr CreateHardwareDisplayDrawingEngine(const std::shared_ptr& uiContext); + [[nodiscard]] std::unique_ptr CreateSoftwareDrawingEngine(const std::shared_ptr& uiContext); + [[nodiscard]] std::unique_ptr CreateHardwareDisplayDrawingEngine( + const std::shared_ptr& uiContext); #ifndef DISABLE_OPENGL - std::unique_ptr CreateOpenGLDrawingEngine(const std::shared_ptr& uiContext); + [[nodiscard]] std::unique_ptr CreateOpenGLDrawingEngine(const std::shared_ptr& uiContext); #endif class DrawingEngineFactory final : public IDrawingEngineFactory { public: - std::unique_ptr Create(DrawingEngine type, const std::shared_ptr& uiContext) override + [[nodiscard]] std::unique_ptr Create( + DrawingEngine type, const std::shared_ptr& uiContext) override { switch (type) { diff --git a/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp b/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp index 3617123463..ad808f966f 100644 --- a/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/OpenGLDrawingEngine.cpp @@ -109,6 +109,7 @@ public: void DrawSpriteRawMasked(int32_t x, int32_t y, uint32_t maskImage, uint32_t colourImage) override; void DrawSpriteSolid(uint32_t image, int32_t x, int32_t y, uint8_t colour) override; void DrawGlyph(uint32_t image, int32_t x, int32_t y, const PaletteMap& palette) override; + void DrawBitmap(uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) override; void FlushCommandBuffers(); @@ -922,6 +923,48 @@ void OpenGLDrawingContext::DrawGlyph(uint32_t image, int32_t x, int32_t y, const command.depth = _drawCount++; } +void OpenGLDrawingContext::DrawBitmap(uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) +{ + const auto texture = _textureCache->GetOrLoadBitmapTexture(image, pixels, width, height); + + int32_t drawOffsetX = 0; + int32_t drawOffsetY = 0; + int32_t drawWidth = static_cast(width); + int32_t drawHeight = static_cast(height); + + int32_t left = x + drawOffsetX; + int32_t top = y + drawOffsetY; + int32_t right = left + drawWidth; + int32_t bottom = top + drawHeight; + + if (left > right) + { + std::swap(left, right); + } + if (top > bottom) + { + std::swap(top, bottom); + } + + left += _offsetX; + top += _offsetY; + right += _offsetX; + bottom += _offsetY; + + DrawRectCommand& command = _commandBuffers.rects.allocate(); + + command.clip = { _clipLeft, _clipTop, _clipRight, _clipBottom }; + command.texColourAtlas = texture.index; + command.texColourBounds = texture.normalizedBounds; + command.texMaskAtlas = 0; + command.texMaskBounds = { 0.0f, 0.0f, 0.0f, 0.0f }; + command.palettes = { 0, 0, 0 }; + command.flags = 0; + command.colour = 0; + command.bounds = { left, top, right, bottom }; + command.depth = _drawCount++; +} + void OpenGLDrawingContext::FlushCommandBuffers() { glEnable(GL_DEPTH_TEST); diff --git a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp index fbd919d337..b762f293ec 100644 --- a/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp +++ b/src/openrct2-ui/drawing/engines/opengl/TextureCache.cpp @@ -134,6 +134,40 @@ BasicTextureInfo TextureCache::GetOrLoadGlyphTexture(uint32_t image, const Palet return (*it.first).second; } +BasicTextureInfo TextureCache::GetOrLoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height) +{ + uint32_t index; + + image &= 0x7FFFF; + + // Try to read cached texture first. + { + shared_lock lock(_mutex); + + index = _indexMap[image]; + if (index != UNUSED_INDEX) + { + const auto& info = _textureCache[index]; + return { + info.index, + info.normalizedBounds, + }; + } + } + + // Load new texture. + unique_lock lock(_mutex); + + index = uint32_t(_textureCache.size()); + + AtlasTextureInfo info = LoadBitmapTexture(image, pixels, width, height); + + _textureCache.push_back(info); + _indexMap[image] = index; + + return info; +} + void TextureCache::CreateTextures() { if (!_initialized) @@ -270,6 +304,17 @@ AtlasTextureInfo TextureCache::LoadGlyphTexture(uint32_t image, const PaletteMap return cacheInfo; } +AtlasTextureInfo TextureCache::LoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height) +{ + auto cacheInfo = AllocateImage(int32_t(width), int32_t(height)); + cacheInfo.image = image; + glBindTexture(GL_TEXTURE_2D_ARRAY, _atlasesTexture); + glTexSubImage3D( + GL_TEXTURE_2D_ARRAY, 0, cacheInfo.bounds.x, cacheInfo.bounds.y, cacheInfo.index, GLsizei(width), GLsizei(height), 1, + GL_RED_INTEGER, GL_UNSIGNED_BYTE, reinterpret_cast(pixels)); + return cacheInfo; +} + AtlasTextureInfo TextureCache::AllocateImage(int32_t imageWidth, int32_t imageHeight) { CreateTextures(); diff --git a/src/openrct2-ui/drawing/engines/opengl/TextureCache.h b/src/openrct2-ui/drawing/engines/opengl/TextureCache.h index f624da0df7..474092769a 100644 --- a/src/openrct2-ui/drawing/engines/opengl/TextureCache.h +++ b/src/openrct2-ui/drawing/engines/opengl/TextureCache.h @@ -221,6 +221,7 @@ public: void InvalidateImage(uint32_t image); BasicTextureInfo GetOrLoadImageTexture(uint32_t image); BasicTextureInfo GetOrLoadGlyphTexture(uint32_t image, const PaletteMap& paletteMap); + BasicTextureInfo GetOrLoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height); GLuint GetAtlasesTexture(); GLuint GetPaletteTexture(); @@ -233,6 +234,7 @@ private: AtlasTextureInfo LoadImageTexture(uint32_t image); AtlasTextureInfo LoadGlyphTexture(uint32_t image, const PaletteMap& paletteMap); AtlasTextureInfo AllocateImage(int32_t imageWidth, int32_t imageHeight); + AtlasTextureInfo LoadBitmapTexture(uint32_t image, const void* pixels, size_t width, size_t height); static rct_drawpixelinfo GetImageAsDPI(uint32_t image, uint32_t tertiaryColour); static rct_drawpixelinfo GetGlyphAsDPI(uint32_t image, const PaletteMap& paletteMap); void FreeTextures(); diff --git a/src/openrct2-ui/interface/Graph.h b/src/openrct2-ui/interface/Graph.h index 509f19a5fd..11c57ed92a 100644 --- a/src/openrct2-ui/interface/Graph.h +++ b/src/openrct2-ui/interface/Graph.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _GRAPH_H_ -#define _GRAPH_H_ +#pragma once #include #include @@ -21,5 +20,3 @@ namespace Graph rct_drawpixelinfo* dpi, const money64* history, const int32_t count, const ScreenCoordsXY& coords, const int32_t modifier, const int32_t offset); } // namespace Graph - -#endif diff --git a/src/openrct2-ui/scripting/ScTitleSequence.hpp b/src/openrct2-ui/scripting/ScTitleSequence.hpp index 0a83ea11e7..a51742e577 100644 --- a/src/openrct2-ui/scripting/ScTitleSequence.hpp +++ b/src/openrct2-ui/scripting/ScTitleSequence.hpp @@ -11,7 +11,6 @@ #ifdef ENABLE_SCRIPTING -# include # include # include # include @@ -209,7 +208,7 @@ namespace OpenRCT2::Scripting try { auto& objectMgr = GetContext()->GetObjectManager(); - auto parkImporter = std::unique_ptr(ParkImporter::Create(handle->HintPath)); + auto parkImporter = ParkImporter::Create(handle->HintPath); auto result = parkImporter->LoadFromStream(handle->Stream.get(), isScenario); objectMgr.LoadObjects(result.RequiredObjects); parkImporter->Import(); diff --git a/src/openrct2-ui/title/TitleSequencePlayer.h b/src/openrct2-ui/title/TitleSequencePlayer.h index 77699d47fa..1d38e714fc 100644 --- a/src/openrct2-ui/title/TitleSequencePlayer.h +++ b/src/openrct2-ui/title/TitleSequencePlayer.h @@ -20,4 +20,4 @@ namespace OpenRCT2 class GameState; } -std::unique_ptr CreateTitleSequencePlayer(OpenRCT2::GameState& gameState); +[[nodiscard]] std::unique_ptr CreateTitleSequencePlayer(OpenRCT2::GameState& gameState); diff --git a/src/openrct2-ui/windows/Banner.cpp b/src/openrct2-ui/windows/Banner.cpp index eae4fac74f..2ec3a3e9a6 100644 --- a/src/openrct2-ui/windows/Banner.cpp +++ b/src/openrct2-ui/windows/Banner.cpp @@ -201,7 +201,7 @@ public: } case WIDX_BANNER_TEXT: window_text_input_raw_open( - this, WIDX_BANNER_TEXT, STR_BANNER_TEXT, STR_ENTER_BANNER_TEXT, banner->GetText().c_str(), 32); + this, WIDX_BANNER_TEXT, STR_BANNER_TEXT, STR_ENTER_BANNER_TEXT, {}, banner->GetText().c_str(), 32); break; case WIDX_BANNER_NO_ENTRY: { diff --git a/src/openrct2-ui/windows/Cheats.cpp b/src/openrct2-ui/windows/Cheats.cpp index 5d5932ce5c..c763c26f2e 100644 --- a/src/openrct2-ui/windows/Cheats.cpp +++ b/src/openrct2-ui/windows/Cheats.cpp @@ -867,7 +867,7 @@ private: case WIDX_MONEY_SPINNER: money_to_string(_moneySpinnerValue, _moneySpinnerText, MONEY_STRING_MAXLENGTH, false); window_text_input_raw_open( - this, WIDX_MONEY_SPINNER, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneySpinnerText, + this, WIDX_MONEY_SPINNER, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, {}, _moneySpinnerText, MONEY_STRING_MAXLENGTH); break; case WIDX_SET_MONEY: diff --git a/src/openrct2-ui/windows/ClearScenery.cpp b/src/openrct2-ui/windows/ClearScenery.cpp index 822bcf7e71..597f50f22b 100644 --- a/src/openrct2-ui/windows/ClearScenery.cpp +++ b/src/openrct2-ui/windows/ClearScenery.cpp @@ -178,9 +178,10 @@ static void window_clear_scenery_textinput(rct_window* w, rct_widgetindex widget static void window_clear_scenery_inputsize(rct_window* w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } /** diff --git a/src/openrct2-ui/windows/CustomCurrency.cpp b/src/openrct2-ui/windows/CustomCurrency.cpp index 62e4f5d1fe..7731f16c54 100644 --- a/src/openrct2-ui/windows/CustomCurrency.cpp +++ b/src/openrct2-ui/windows/CustomCurrency.cpp @@ -134,7 +134,7 @@ static void custom_currency_window_mousedown(rct_window* w, rct_widgetindex widg case WIDX_SYMBOL_TEXT: window_text_input_raw_open( - w, WIDX_SYMBOL_TEXT, STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE, STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC, + w, WIDX_SYMBOL_TEXT, STR_CUSTOM_CURRENCY_SYMBOL_INPUT_TITLE, STR_CUSTOM_CURRENCY_SYMBOL_INPUT_DESC, {}, CurrencyDescriptors[EnumValue(CurrencyType::Custom)].symbol_unicode, CURRENCY_SYMBOL_MAX_SIZE); break; } @@ -146,7 +146,7 @@ static void custom_currency_window_mouseup(rct_window* w, rct_widgetindex widget { case WIDX_RATE: window_text_input_open( - w, WIDX_RATE, STR_RATE_INPUT_TITLE, STR_RATE_INPUT_DESC, STR_FORMAT_INTEGER, + w, WIDX_RATE, STR_RATE_INPUT_TITLE, STR_RATE_INPUT_DESC, {}, STR_FORMAT_INTEGER, static_cast(CurrencyDescriptors[EnumValue(CurrencyType::Custom)].rate), CURRENCY_RATE_MAX_NUM_DIGITS); break; } diff --git a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp index 60fac3b0ee..bd3c0357ae 100644 --- a/src/openrct2-ui/windows/EditorObjectiveOptions.cpp +++ b/src/openrct2-ui/windows/EditorObjectiveOptions.cpp @@ -371,16 +371,16 @@ static void window_editor_objective_options_main_mouseup(rct_window* w, rct_widg case WIDX_PARK_NAME: { auto& park = OpenRCT2::GetContext()->GetGameState()->GetPark(); - window_text_input_raw_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, park.Name.c_str(), 32); + window_text_input_raw_open(w, WIDX_PARK_NAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, {}, park.Name.c_str(), 32); break; } case WIDX_SCENARIO_NAME: window_text_input_raw_open( - w, WIDX_SCENARIO_NAME, STR_SCENARIO_NAME, STR_ENTER_SCENARIO_NAME, gScenarioName.c_str(), 64); + w, WIDX_SCENARIO_NAME, STR_SCENARIO_NAME, STR_ENTER_SCENARIO_NAME, {}, gScenarioName.c_str(), 64); break; case WIDX_DETAILS: window_text_input_raw_open( - w, WIDX_DETAILS, STR_PARK_SCENARIO_DETAILS, STR_ENTER_SCENARIO_DESCRIPTION, gScenarioDetails.c_str(), 256); + w, WIDX_DETAILS, STR_PARK_SCENARIO_DETAILS, STR_ENTER_SCENARIO_DESCRIPTION, {}, gScenarioDetails.c_str(), 256); break; } } diff --git a/src/openrct2-ui/windows/Guest.cpp b/src/openrct2-ui/windows/Guest.cpp index 47041235f1..dfc4568845 100644 --- a/src/openrct2-ui/windows/Guest.cpp +++ b/src/openrct2-ui/windows/Guest.cpp @@ -602,7 +602,8 @@ void window_guest_overview_mouse_up(rct_window* w, rct_widgetindex widgetIndex) case WIDX_RENAME: { auto peepName = peep->GetName(); - window_text_input_raw_open(w, widgetIndex, STR_GUEST_RENAME_TITLE, STR_GUEST_RENAME_PROMPT, peepName.c_str(), 32); + window_text_input_raw_open( + w, widgetIndex, STR_GUEST_RENAME_TITLE, STR_GUEST_RENAME_PROMPT, {}, peepName.c_str(), 32); break; } case WIDX_LOCATE: diff --git a/src/openrct2-ui/windows/GuestList.cpp b/src/openrct2-ui/windows/GuestList.cpp index 35b18e76e2..62eba8f01e 100644 --- a/src/openrct2-ui/windows/GuestList.cpp +++ b/src/openrct2-ui/windows/GuestList.cpp @@ -301,7 +301,7 @@ public: else { window_text_input_raw_open( - this, WIDX_FILTER_BY_NAME, STR_GUESTS_FILTER_BY_NAME, STR_GUESTS_ENTER_NAME_TO_SEARCH, + this, WIDX_FILTER_BY_NAME, STR_GUESTS_FILTER_BY_NAME, STR_GUESTS_ENTER_NAME_TO_SEARCH, {}, _filterName.c_str(), 32); } break; diff --git a/src/openrct2-ui/windows/InstallTrack.cpp b/src/openrct2-ui/windows/InstallTrack.cpp index 72e69131bc..bdf2613455 100644 --- a/src/openrct2-ui/windows/InstallTrack.cpp +++ b/src/openrct2-ui/windows/InstallTrack.cpp @@ -445,7 +445,7 @@ static void window_install_track_design(rct_window* w) log_info("%s already exists, prompting user for a different track design name", destPath); context_show_error(STR_UNABLE_TO_INSTALL_THIS_TRACK_DESIGN, STR_NONE, {}); window_text_input_raw_open( - w, WIDX_INSTALL, STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN, STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME, + w, WIDX_INSTALL, STR_SELECT_NEW_NAME_FOR_TRACK_DESIGN, STR_AN_EXISTING_TRACK_DESIGN_ALREADY_HAS_THIS_NAME, {}, _trackName.c_str(), 255); } else diff --git a/src/openrct2-ui/windows/Land.cpp b/src/openrct2-ui/windows/Land.cpp index ed9a67a473..70922089fc 100644 --- a/src/openrct2-ui/windows/Land.cpp +++ b/src/openrct2-ui/windows/Land.cpp @@ -59,9 +59,10 @@ private: void InputSize() { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } public: diff --git a/src/openrct2-ui/windows/LandRights.cpp b/src/openrct2-ui/windows/LandRights.cpp index 2f6025acb1..2f61248a42 100644 --- a/src/openrct2-ui/windows/LandRights.cpp +++ b/src/openrct2-ui/windows/LandRights.cpp @@ -203,9 +203,10 @@ static void window_land_rights_textinput(rct_window* w, rct_widgetindex widgetIn static void window_land_rights_inputsize(rct_window* w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(w, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } static void window_land_rights_update(rct_window* w) diff --git a/src/openrct2-ui/windows/LoadSave.cpp b/src/openrct2-ui/windows/LoadSave.cpp index b1d45c2c5b..2f5e1a571c 100644 --- a/src/openrct2-ui/windows/LoadSave.cpp +++ b/src/openrct2-ui/windows/LoadSave.cpp @@ -450,12 +450,12 @@ static void window_loadsave_mouseup(rct_window* w, rct_widgetindex widgetIndex) case WIDX_NEW_FILE: window_text_input_open( - w, WIDX_NEW_FILE, STR_NONE, STR_FILEBROWSER_FILE_NAME_PROMPT, STR_STRING, + w, WIDX_NEW_FILE, STR_NONE, STR_FILEBROWSER_FILE_NAME_PROMPT, {}, STR_STRING, reinterpret_cast(_defaultPath.c_str()), 64); break; case WIDX_NEW_FOLDER: - window_text_input_raw_open(w, WIDX_NEW_FOLDER, STR_NONE, STR_FILEBROWSER_FOLDER_NAME_PROMPT, "", 64); + window_text_input_raw_open(w, WIDX_NEW_FOLDER, STR_NONE, STR_FILEBROWSER_FOLDER_NAME_PROMPT, {}, "", 64); break; case WIDX_BROWSE: diff --git a/src/openrct2-ui/windows/Map.cpp b/src/openrct2-ui/windows/Map.cpp index 8849acf619..e0d3a1cd2e 100644 --- a/src/openrct2-ui/windows/Map.cpp +++ b/src/openrct2-ui/windows/Map.cpp @@ -985,16 +985,18 @@ static void window_map_show_default_scenario_editor_buttons(rct_window* w) static void window_map_inputsize_land(rct_window* w) { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(w, WIDX_LAND_TOOL, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(w, WIDX_LAND_TOOL, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } static void window_map_inputsize_map(rct_window* w) { - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; - window_text_input_open(w, WIDX_MAP_SIZE_SPINNER, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_NONE, STR_NONE, 4); + Formatter ft; + ft.Add(MINIMUM_MAP_SIZE_PRACTICAL); + ft.Add(MAXIMUM_MAP_SIZE_PRACTICAL); + window_text_input_open(w, WIDX_MAP_SIZE_SPINNER, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, ft, STR_NONE, STR_NONE, 4); } static void window_map_draw_tab_images(rct_window* w, rct_drawpixelinfo* dpi) diff --git a/src/openrct2-ui/windows/MapGen.cpp b/src/openrct2-ui/windows/MapGen.cpp index d843473bd6..dce4f7304b 100644 --- a/src/openrct2-ui/windows/MapGen.cpp +++ b/src/openrct2-ui/windows/MapGen.cpp @@ -493,7 +493,7 @@ static void window_mapgen_base_mouseup(rct_window* w, rct_widgetindex widgetInde window_mapgen_shared_mouseup(w, widgetIndex); mapgen_settings mapgenSettings; - + Formatter ft; switch (widgetIndex) { case WIDX_MAP_GENERATE: @@ -507,22 +507,23 @@ static void window_mapgen_base_mouseup(rct_window* w, rct_widgetindex widgetInde gfx_invalidate_screen(); break; case WIDX_MAP_SIZE: - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + ft.Add(MINIMUM_MAP_SIZE_PRACTICAL); + ft.Add(MAXIMUM_MAP_SIZE_PRACTICAL); // Practical map size is 2 lower than the technical map size - window_text_input_open(w, WIDX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_FORMAT_INTEGER, _mapSize - 2, 4); + window_text_input_open( + w, WIDX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, ft, STR_FORMAT_INTEGER, _mapSize - 2, 4); break; case WIDX_BASE_HEIGHT: - TextInputDescriptionArgs[0] = static_cast((BASESIZE_MIN - 12) / 2); - TextInputDescriptionArgs[1] = static_cast((BASESIZE_MAX - 12) / 2); + ft.Add((BASESIZE_MIN - 12) / 2); + ft.Add((BASESIZE_MAX - 12) / 2); window_text_input_open( - w, WIDX_BASE_HEIGHT, STR_BASE_HEIGHT, STR_ENTER_BASE_HEIGHT, STR_FORMAT_INTEGER, (_baseHeight - 12) / 2, 3); + w, WIDX_BASE_HEIGHT, STR_BASE_HEIGHT, STR_ENTER_BASE_HEIGHT, ft, STR_FORMAT_INTEGER, (_baseHeight - 12) / 2, 3); break; case WIDX_WATER_LEVEL: - TextInputDescriptionArgs[0] = static_cast((WATERLEVEL_MIN - 12) / 2); - TextInputDescriptionArgs[1] = static_cast((WATERLEVEL_MAX - 12) / 2); + ft.Add((WATERLEVEL_MIN - 12) / 2); + ft.Add((WATERLEVEL_MAX - 12) / 2); window_text_input_open( - w, WIDX_WATER_LEVEL, STR_WATER_LEVEL, STR_ENTER_WATER_LEVEL, STR_FORMAT_INTEGER, (_waterLevel - 12) / 2, 3); + w, WIDX_WATER_LEVEL, STR_WATER_LEVEL, STR_ENTER_WATER_LEVEL, ft, STR_FORMAT_INTEGER, (_waterLevel - 12) / 2, 3); break; } } @@ -807,12 +808,15 @@ static void window_mapgen_simplex_mouseup(rct_window* w, rct_widgetindex widgetI switch (widgetIndex) { case WIDX_SIMPLEX_MAP_SIZE: - TextInputDescriptionArgs[0] = MINIMUM_MAP_SIZE_PRACTICAL; - TextInputDescriptionArgs[1] = MAXIMUM_MAP_SIZE_PRACTICAL; + { + Formatter ft; + ft.Add(MINIMUM_MAP_SIZE_PRACTICAL); + ft.Add(MAXIMUM_MAP_SIZE_PRACTICAL); // Practical map size is 2 lower than the technical map size window_text_input_open( - w, WIDX_SIMPLEX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, STR_FORMAT_INTEGER, _mapSize - 2, 4); + w, WIDX_SIMPLEX_MAP_SIZE, STR_MAP_SIZE_2, STR_ENTER_MAP_SIZE, ft, STR_FORMAT_INTEGER, _mapSize - 2, 4); break; + } case WIDX_SIMPLEX_GENERATE: mapgenSettings.mapSize = _mapSize; diff --git a/src/openrct2-ui/windows/Multiplayer.cpp b/src/openrct2-ui/windows/Multiplayer.cpp index 0f4e52b165..ed64397ffd 100644 --- a/src/openrct2-ui/windows/Multiplayer.cpp +++ b/src/openrct2-ui/windows/Multiplayer.cpp @@ -415,16 +415,18 @@ static void window_multiplayer_information_paint(rct_window* w, rct_drawpixelinf const utf8* name = network_get_server_name(); { - screenCoords.y += DrawTextWrapped( - dpi, screenCoords, width, STR_STRING, static_cast(&name), { w->colours[1] }); + auto ft = Formatter(); + ft.Add(name); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, width, STR_STRING, ft, { w->colours[1] }); screenCoords.y += LIST_ROW_HEIGHT / 2; } const utf8* description = network_get_server_description(); if (!str_is_null_or_empty(description)) { - screenCoords.y += DrawTextWrapped( - dpi, screenCoords, width, STR_STRING, static_cast(&description), { w->colours[1] }); + auto ft = Formatter(); + ft.Add(description); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, width, STR_STRING, ft, { w->colours[1] }); screenCoords.y += LIST_ROW_HEIGHT / 2; } @@ -698,7 +700,7 @@ static void window_multiplayer_groups_mouseup(rct_window* w, rct_widgetindex wid case WIDX_RENAME_GROUP:; int32_t groupIndex = network_get_group_index(_selectedGroup); const utf8* groupName = network_get_group_name(groupIndex); - window_text_input_raw_open(w, widgetIndex, STR_GROUP_NAME, STR_ENTER_NEW_NAME_FOR_THIS_GROUP, groupName, 32); + window_text_input_raw_open(w, widgetIndex, STR_GROUP_NAME, STR_ENTER_NEW_NAME_FOR_THIS_GROUP, {}, groupName, 32); break; } } diff --git a/src/openrct2-ui/windows/NetworkStatus.cpp b/src/openrct2-ui/windows/NetworkStatus.cpp index 5866110b8a..984a9458bc 100644 --- a/src/openrct2-ui/windows/NetworkStatus.cpp +++ b/src/openrct2-ui/windows/NetworkStatus.cpp @@ -95,7 +95,7 @@ rct_window* window_network_status_open_password() if (window == nullptr) return nullptr; - window_text_input_raw_open(window, WIDX_PASSWORD, STR_PASSWORD_REQUIRED, STR_PASSWORD_REQUIRED_DESC, _password, 32); + window_text_input_raw_open(window, WIDX_PASSWORD, STR_PASSWORD_REQUIRED, STR_PASSWORD_REQUIRED_DESC, {}, _password, 32); return window; } diff --git a/src/openrct2-ui/windows/Park.cpp b/src/openrct2-ui/windows/Park.cpp index 9677f89ee6..0dd2209b97 100644 --- a/src/openrct2-ui/windows/Park.cpp +++ b/src/openrct2-ui/windows/Park.cpp @@ -516,7 +516,7 @@ static void window_park_entrance_mouseup(rct_window* w, rct_widgetindex widgetIn { auto& park = OpenRCT2::GetContext()->GetGameState()->GetPark(); window_text_input_raw_open( - w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, park.Name.c_str(), USER_STRING_MAX_LENGTH); + w, WIDX_RENAME, STR_PARK_NAME, STR_ENTER_PARK_NAME, {}, park.Name.c_str(), USER_STRING_MAX_LENGTH); break; } case WIDX_CLOSE_LIGHT: @@ -1402,7 +1402,7 @@ static void window_park_objective_mouseup(rct_window* w, rct_widgetindex widgetI break; case WIDX_ENTER_NAME: window_text_input_open( - w, WIDX_ENTER_NAME, STR_ENTER_NAME, STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART, 0, 0, 32); + w, WIDX_ENTER_NAME, STR_ENTER_NAME, STR_PLEASE_ENTER_YOUR_NAME_FOR_THE_SCENARIO_CHART, {}, 0, 0, 32); break; } } diff --git a/src/openrct2-ui/windows/Player.cpp b/src/openrct2-ui/windows/Player.cpp index 640d1a73f4..4e10af0025 100644 --- a/src/openrct2-ui/windows/Player.cpp +++ b/src/openrct2-ui/windows/Player.cpp @@ -23,6 +23,7 @@ #include #include #include +#include // clang-format off enum WINDOW_PLAYER_PAGE { @@ -265,8 +266,9 @@ void window_player_overview_mouse_down(rct_window* w, rct_widgetindex widgetInde void window_player_overview_dropdown(rct_window* w, rct_widgetindex widgetIndex, int32_t dropdownIndex) { - int32_t player = network_get_player_index(static_cast(w->number)); - if (player == -1) + const auto playerId = static_cast(w->number); + const auto playerIdx = network_get_player_index(playerId); + if (playerIdx == -1) { return; } @@ -274,12 +276,13 @@ void window_player_overview_dropdown(rct_window* w, rct_widgetindex widgetIndex, { return; } - int32_t group = network_get_group_id(dropdownIndex); - auto playerSetGroupAction = PlayerSetGroupAction(w->number, group); - playerSetGroupAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) { + const auto groupId = network_get_group_id(dropdownIndex); + const auto windowHandle = std::make_pair(w->classification, w->number); + auto playerSetGroupAction = PlayerSetGroupAction(playerId, groupId); + playerSetGroupAction.SetCallback([windowHandle](const GameAction* ga, const GameActions::Result* result) { if (result->Error == GameActions::Status::Ok) { - w->Invalidate(); + window_invalidate_by_number(windowHandle.first, windowHandle.second); } }); GameActions::Execute(&playerSetGroupAction); diff --git a/src/openrct2-ui/windows/Research.cpp b/src/openrct2-ui/windows/Research.cpp index 708de4aed7..54ab4c7b2e 100644 --- a/src/openrct2-ui/windows/Research.cpp +++ b/src/openrct2-ui/windows/Research.cpp @@ -288,7 +288,6 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp auto screenCoords = w->windowPos + ScreenCoordsXY{ 10, w->widgets[WIDX_CURRENTLY_IN_DEVELOPMENT_GROUP + baseWidgetIndex].top + 12 }; - rct_string_id stringId; if (gResearchProgressStage == RESEARCH_STAGE_FINISHED_ALL) { @@ -341,16 +340,20 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp } } } - DrawTextWrapped(dpi, screenCoords, 296, label, &strings); + auto ft = Formatter(); + ft.Add(strings[0]); + ft.Add(strings[1]); + DrawTextWrapped(dpi, screenCoords, 296, label, ft); screenCoords.y += 25; // Progress - stringId = ResearchStageNames[gResearchProgressStage]; - DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, &stringId); + ft = Formatter(); + ft.Add(ResearchStageNames[gResearchProgressStage]); + DrawTextWrapped(dpi, screenCoords, 296, STR_RESEARCH_PROGRESS_LABEL, ft); screenCoords.y += 15; // Expected - auto ft = Formatter(); + ft = Formatter(); if (gResearchProgressStage != RESEARCH_STAGE_INITIAL_RESEARCH && gResearchExpectedDay != 255) { // TODO: Should probably use game date format setting @@ -395,7 +398,10 @@ void window_research_development_page_paint(rct_window* w, rct_drawpixelinfo* dp } } - DrawTextWrapped(dpi, screenCoords, 266, lastDevelopmentFormat, &strings); + auto ft = Formatter(); + ft.Add(strings[0]); + ft.Add(strings[1]); + DrawTextWrapped(dpi, screenCoords, 266, lastDevelopmentFormat, ft); } } diff --git a/src/openrct2-ui/windows/Ride.cpp b/src/openrct2-ui/windows/Ride.cpp index f3889fb4fb..18e364bfb7 100644 --- a/src/openrct2-ui/windows/Ride.cpp +++ b/src/openrct2-ui/windows/Ride.cpp @@ -1719,7 +1719,7 @@ static void window_ride_rename(rct_window* w) { auto rideName = ride->GetName(); window_text_input_raw_open( - w, WIDX_RENAME, STR_RIDE_ATTRACTION_NAME, STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION, rideName.c_str(), 32); + w, WIDX_RENAME, STR_RIDE_ATTRACTION_NAME, STR_ENTER_NEW_NAME_FOR_THIS_RIDE_ATTRACTION, {}, rideName.c_str(), 32); } } @@ -2931,12 +2931,13 @@ static void window_ride_vehicle_paint(rct_window* w, rct_drawpixelinfo* dpi) auto screenCoords = w->windowPos + ScreenCoordsXY{ 8, 64 }; // Description - screenCoords.y += DrawTextWrapped( - dpi, screenCoords, 300, STR_BLACK_STRING, &rideEntry->naming.Description, { TextAlignment::LEFT }); + auto ft = Formatter(); + ft.Add(rideEntry->naming.Description); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, 300, STR_BLACK_STRING, ft, { TextAlignment::LEFT }); screenCoords.y += 2; // Capacity - auto ft = Formatter(); + ft = Formatter(); ft.Add(rideEntry->capacity); DrawTextBasic(dpi, screenCoords, STR_CAPACITY, ft); @@ -2946,7 +2947,7 @@ static void window_ride_vehicle_paint(rct_window* w, rct_drawpixelinfo* dpi) screenCoords.y += LIST_ROW_HEIGHT; ft = Formatter(); - ft.Add(rideEntry->intensity_multiplier); + ft.Add(rideEntry->excitement_multiplier); DrawTextBasic(dpi, screenCoords, STR_EXCITEMENT_FACTOR, ft); } @@ -6432,7 +6433,8 @@ static void window_ride_income_mouseup(rct_window* w, rct_widgetindex widgetInde { money_to_string(static_cast(ride->price[0]), _moneyInputText, MONEY_STRING_MAXLENGTH, true); window_text_input_raw_open( - w, WIDX_PRIMARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneyInputText, MONEY_STRING_MAXLENGTH); + w, WIDX_PRIMARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, {}, _moneyInputText, + MONEY_STRING_MAXLENGTH); } break; } @@ -6445,7 +6447,7 @@ static void window_ride_income_mouseup(rct_window* w, rct_widgetindex widgetInde money_to_string(price32, _moneyInputText, MONEY_STRING_MAXLENGTH, true); window_text_input_raw_open( - w, WIDX_SECONDARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, _moneyInputText, MONEY_STRING_MAXLENGTH); + w, WIDX_SECONDARY_PRICE, STR_ENTER_NEW_VALUE, STR_ENTER_NEW_VALUE, {}, _moneyInputText, MONEY_STRING_MAXLENGTH); } break; case WIDX_SECONDARY_PRICE_SAME_THROUGHOUT_PARK: @@ -6941,7 +6943,9 @@ static void window_ride_customer_paint(rct_window* w, rct_drawpixelinfo* dpi) { queueTime = ride->GetMaxQueueTime(); stringId = queueTime == 1 ? STR_QUEUE_TIME_MINUTE : STR_QUEUE_TIME_MINUTES; - screenCoords.y += DrawTextWrapped(dpi, screenCoords, 308, stringId, &queueTime, { TextAlignment::LEFT }); + ft = Formatter(); + ft.Add(queueTime); + screenCoords.y += DrawTextWrapped(dpi, screenCoords, 308, stringId, ft, { TextAlignment::LEFT }); screenCoords.y += 5; } diff --git a/src/openrct2-ui/windows/RideConstruction.cpp b/src/openrct2-ui/windows/RideConstruction.cpp index b5e470b26a..52aef8142c 100644 --- a/src/openrct2-ui/windows/RideConstruction.cpp +++ b/src/openrct2-ui/windows/RideConstruction.cpp @@ -1933,6 +1933,7 @@ static void window_ride_construction_mouseup_demolish(rct_window* w) _currentTrackPieceType, 0, { _currentTrackBegin.x, _currentTrackBegin.y, _currentTrackBegin.z, _currentTrackPieceDirection }); + const auto rideId = w->number; trackRemoveAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) { if (result->Error != GameActions::Status::Ok) { @@ -1940,7 +1941,7 @@ static void window_ride_construction_mouseup_demolish(rct_window* w) } else { - auto ride = get_ride(w->number); + auto ride = get_ride(rideId); if (ride != nullptr) { _stationConstructed = ride->num_stations != 0; diff --git a/src/openrct2-ui/windows/SceneryScatter.cpp b/src/openrct2-ui/windows/SceneryScatter.cpp index 0a6aba1bff..b2f9ff10f5 100644 --- a/src/openrct2-ui/windows/SceneryScatter.cpp +++ b/src/openrct2-ui/windows/SceneryScatter.cpp @@ -171,15 +171,17 @@ static void window_scenery_scatter_textinput(rct_window* w, rct_widgetindex widg static void window_scenery_scatter_inputsize(rct_window* w, rct_widgetindex widgetindex) { uint8_t maxlen = 0; + Formatter ft; + switch (widgetindex) { case WIDX_PREVIEW: - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); maxlen = 3; break; } - window_text_input_open(w, widgetindex, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, maxlen); + window_text_input_open(w, widgetindex, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, maxlen); } static void window_scenery_scatter_invalidate(rct_window* w) diff --git a/src/openrct2-ui/windows/ServerList.cpp b/src/openrct2-ui/windows/ServerList.cpp index ffe97ff1a5..0a8556219b 100644 --- a/src/openrct2-ui/windows/ServerList.cpp +++ b/src/openrct2-ui/windows/ServerList.cpp @@ -194,7 +194,7 @@ static void window_server_list_mouseup(rct_window* w, rct_widgetindex widgetInde server_list_fetch_servers_begin(); break; case WIDX_ADD_SERVER: - window_text_input_open(w, widgetIndex, STR_ADD_SERVER, STR_ENTER_HOSTNAME_OR_IP_ADDRESS, STR_NONE, 0, 128); + window_text_input_open(w, widgetIndex, STR_ADD_SERVER, STR_ENTER_HOSTNAME_OR_IP_ADDRESS, {}, STR_NONE, 0, 128); break; case WIDX_START_SERVER: context_open_window(WC_SERVER_START); diff --git a/src/openrct2-ui/windows/Sign.cpp b/src/openrct2-ui/windows/Sign.cpp index f6efda0d8c..f9e62a7477 100644 --- a/src/openrct2-ui/windows/Sign.cpp +++ b/src/openrct2-ui/windows/Sign.cpp @@ -65,7 +65,8 @@ private: if (banner != nullptr) { auto bannerText = banner->GetText(); - window_text_input_raw_open(this, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, bannerText.c_str(), 32); + window_text_input_raw_open( + this, WIDX_SIGN_TEXT, STR_SIGN_TEXT_TITLE, STR_SIGN_TEXT_PROMPT, {}, bannerText.c_str(), 32); } } diff --git a/src/openrct2-ui/windows/Staff.cpp b/src/openrct2-ui/windows/Staff.cpp index f4f98f2666..91fe22fc8c 100644 --- a/src/openrct2-ui/windows/Staff.cpp +++ b/src/openrct2-ui/windows/Staff.cpp @@ -440,7 +440,7 @@ void window_staff_overview_mouseup(rct_window* w, rct_widgetindex widgetIndex) { auto peepName = peep->GetName(); window_text_input_raw_open( - w, widgetIndex, STR_STAFF_TITLE_STAFF_MEMBER_NAME, STR_STAFF_PROMPT_ENTER_NAME, peepName.c_str(), 32); + w, widgetIndex, STR_STAFF_TITLE_STAFF_MEMBER_NAME, STR_STAFF_PROMPT_ENTER_NAME, {}, peepName.c_str(), 32); break; } } diff --git a/src/openrct2-ui/windows/TextInput.cpp b/src/openrct2-ui/windows/TextInput.cpp index 011a457914..da2c137154 100644 --- a/src/openrct2-ui/windows/TextInput.cpp +++ b/src/openrct2-ui/windows/TextInput.cpp @@ -47,6 +47,7 @@ private: std::string _description; rct_string_id _descriptionStringId = STR_NONE; + Formatter _descriptionArgs; std::function _callback; std::function _cancelCallback; @@ -89,10 +90,11 @@ public: } } - void SetTitle(rct_string_id title, rct_string_id description) + void SetTitle(rct_string_id title, rct_string_id description, const Formatter& decriptionArgs) { _titleStringId = title; _descriptionStringId = description; + _descriptionArgs = decriptionArgs; } void SetTitle(std::string_view title, std::string_view description) @@ -202,14 +204,15 @@ public: if (_descriptionStringId == STR_NONE) { - auto* text = _description.c_str(); + auto ft = Formatter(); + ft.Add(_description.c_str()); DrawTextWrapped( - &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, STR_STRING, &text, { colours[1], TextAlignment::CENTRE }); + &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, STR_STRING, ft, { colours[1], TextAlignment::CENTRE }); } else { DrawTextWrapped( - &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, _descriptionStringId, &TextInputDescriptionArgs, + &dpi, { windowPos.x + WW / 2, screenCoords.y }, WW, _descriptionStringId, _descriptionArgs, { colours[1], TextAlignment::CENTRE }); } @@ -370,7 +373,7 @@ private: void window_text_input_raw_open( rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, - const_utf8string existing_text, int32_t maxLength) + const Formatter& descriptionArgs, const_utf8string existing_text, int32_t maxLength) { window_close_by_class(WC_TEXTINPUT); @@ -379,7 +382,7 @@ void window_text_input_raw_open( if (w != nullptr) { w->SetParentWindow(call_w, call_widget); - w->SetTitle(title, description); + w->SetTitle(title, description, descriptionArgs); w->SetText(existing_text, maxLength); } } @@ -400,10 +403,10 @@ void window_text_input_open( void window_text_input_open( rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, - rct_string_id existing_text, uintptr_t existing_args, int32_t maxLength) + const Formatter& descriptionArgs, rct_string_id existing_text, uintptr_t existing_args, int32_t maxLength) { auto existingText = format_string(existing_text, &existing_args); - window_text_input_raw_open(call_w, call_widget, title, description, existingText.c_str(), maxLength); + window_text_input_raw_open(call_w, call_widget, title, description, descriptionArgs, existingText.c_str(), maxLength); } void window_text_input_key(rct_window* w, char keychar) diff --git a/src/openrct2-ui/windows/Themes.cpp b/src/openrct2-ui/windows/Themes.cpp index 6805425552..fed6d74985 100644 --- a/src/openrct2-ui/windows/Themes.cpp +++ b/src/openrct2-ui/windows/Themes.cpp @@ -359,7 +359,7 @@ static void window_themes_mouseup(rct_window* w, rct_widgetindex widgetIndex) activeAvailableThemeIndex = ThemeManagerGetAvailableThemeIndex(); activeThemeName = ThemeManagerGetAvailableThemeName(activeAvailableThemeIndex); window_text_input_open( - w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, + w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_THEMES_PROMPT_ENTER_THEME_NAME, {}, STR_STRING, reinterpret_cast(activeThemeName), 64); break; case WIDX_THEMES_DELETE_BUTTON: @@ -382,7 +382,7 @@ static void window_themes_mouseup(rct_window* w, rct_widgetindex widgetIndex) activeAvailableThemeIndex = ThemeManagerGetAvailableThemeIndex(); activeThemeName = ThemeManagerGetAvailableThemeName(activeAvailableThemeIndex); window_text_input_open( - w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_THEMES_PROMPT_ENTER_THEME_NAME, STR_STRING, + w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_THEMES_PROMPT_ENTER_THEME_NAME, {}, STR_STRING, reinterpret_cast(activeThemeName), 64); } break; diff --git a/src/openrct2-ui/windows/TitleEditor.cpp b/src/openrct2-ui/windows/TitleEditor.cpp index a38b3a3957..0c5c782975 100644 --- a/src/openrct2-ui/windows/TitleEditor.cpp +++ b/src/openrct2-ui/windows/TitleEditor.cpp @@ -280,14 +280,15 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd if (!commandEditorOpen) { window_text_input_open( - w, widgetIndex, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_NONE, 0, 64); + w, widgetIndex, STR_TITLE_EDITOR_ACTION_CREATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, {}, STR_NONE, 0, + 64); } break; case WIDX_TITLE_EDITOR_DUPLICATE_BUTTON: if (!commandEditorOpen && _editingTitleSequence != nullptr) { window_text_input_open( - w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, + w, widgetIndex, STR_TITLE_EDITOR_ACTION_DUPLICATE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, {}, STR_STRING, reinterpret_cast(_sequenceName), 64); } break; @@ -302,7 +303,7 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd if (window_title_editor_check_can_edit() && _editingTitleSequence != nullptr) { window_text_input_open( - w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, STR_STRING, + w, widgetIndex, STR_TRACK_MANAGE_RENAME, STR_TITLE_EDITOR_ENTER_NAME_FOR_SEQUENCE, {}, STR_STRING, reinterpret_cast(_sequenceName), 64); } break; @@ -338,7 +339,7 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd if (w->selected_list_item != -1) { window_text_input_open( - w, widgetIndex, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE, STR_STRING, + w, widgetIndex, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_TITLE_EDITOR_ENTER_NAME_FOR_SAVE, {}, STR_STRING, reinterpret_cast(_editingTitleSequence->Saves[w->selected_list_item].c_str()), 52 - 1); } } @@ -351,7 +352,7 @@ static void window_title_editor_mouseup(rct_window* w, rct_widgetindex widgetInd try { auto& objectMgr = OpenRCT2::GetContext()->GetObjectManager(); - auto parkImporter = std::unique_ptr(ParkImporter::Create(handle->HintPath)); + auto parkImporter = ParkImporter::Create(handle->HintPath); auto result = parkImporter->LoadFromStream(handle->Stream.get(), isScenario); objectMgr.LoadObjects(result.RequiredObjects); parkImporter->Import(); @@ -1140,7 +1141,7 @@ static void window_title_editor_add_park_callback(int32_t result, const utf8* pa _renameSavePath = _strdup(filename); rct_window* w = window_find_by_class(WC_TITLE_EDITOR); window_text_input_open( - w, WIDX_TITLE_EDITOR_RENAME_SAVE, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_ERROR_EXISTING_NAME, STR_STRING, + w, WIDX_TITLE_EDITOR_RENAME_SAVE, STR_FILEBROWSER_RENAME_SAVE_TITLE, STR_ERROR_EXISTING_NAME, {}, STR_STRING, reinterpret_cast(_renameSavePath), 52 - 1); return; } diff --git a/src/openrct2-ui/windows/TopToolbar.cpp b/src/openrct2-ui/windows/TopToolbar.cpp index c675a42af2..ce85997612 100644 --- a/src/openrct2-ui/windows/TopToolbar.cpp +++ b/src/openrct2-ui/windows/TopToolbar.cpp @@ -3458,6 +3458,7 @@ static void top_toolbar_init_cheats_menu(rct_window* w, rct_widget* widget) { Dropdown::SetDisabled(DDIDX_OBJECT_SELECTION, true); Dropdown::SetDisabled(DDIDX_INVENTIONS_LIST, true); + Dropdown::SetDisabled(DDIDX_OBJECTIVE_OPTIONS, true); } if (gScreenFlags & SCREEN_FLAGS_EDITOR) diff --git a/src/openrct2-ui/windows/TrackDesignManage.cpp b/src/openrct2-ui/windows/TrackDesignManage.cpp index ffeedee4e8..14696ba31d 100644 --- a/src/openrct2-ui/windows/TrackDesignManage.cpp +++ b/src/openrct2-ui/windows/TrackDesignManage.cpp @@ -138,8 +138,8 @@ static void window_track_manage_mouseup(rct_window* w, rct_widgetindex widgetInd break; case WIDX_RENAME: window_text_input_raw_open( - w, widgetIndex, STR_TRACK_DESIGN_RENAME_TITLE, STR_TRACK_DESIGN_RENAME_DESC, _trackDesignFileReference->name, - 127); + w, widgetIndex, STR_TRACK_DESIGN_RENAME_TITLE, STR_TRACK_DESIGN_RENAME_DESC, {}, + _trackDesignFileReference->name, 127); break; case WIDX_DELETE: window_track_delete_prompt_open(); @@ -247,9 +247,11 @@ static void window_track_delete_prompt_paint(rct_window* w, rct_drawpixelinfo* d { WindowDrawWidgets(w, dpi); + auto ft = Formatter(); + ft.Add(_trackDesignFileReference->name); DrawTextWrapped( dpi, { w->windowPos.x + (WW_DELETE_PROMPT / 2), w->windowPos.y + ((WH_DELETE_PROMPT / 2) - 9) }, (WW_DELETE_PROMPT - 4), - STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK, &_trackDesignFileReference->name, { TextAlignment::CENTRE }); + STR_ARE_YOU_SURE_YOU_WANT_TO_PERMANENTLY_DELETE_TRACK, ft, { TextAlignment::CENTRE }); } static void window_track_design_list_reload_tracks() diff --git a/src/openrct2-ui/windows/Water.cpp b/src/openrct2-ui/windows/Water.cpp index d841579ac9..96b27f8e5a 100644 --- a/src/openrct2-ui/windows/Water.cpp +++ b/src/openrct2-ui/windows/Water.cpp @@ -177,9 +177,10 @@ public: private: void InputSize() { - TextInputDescriptionArgs[0] = MINIMUM_TOOL_SIZE; - TextInputDescriptionArgs[1] = MAXIMUM_TOOL_SIZE; - window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, STR_NONE, STR_NONE, 3); + Formatter ft; + ft.Add(MINIMUM_TOOL_SIZE); + ft.Add(MAXIMUM_TOOL_SIZE); + window_text_input_open(this, WIDX_PREVIEW, STR_SELECTION_SIZE, STR_ENTER_SELECTION_SIZE, ft, STR_NONE, STR_NONE, 3); } }; diff --git a/src/openrct2-ui/windows/Window.h b/src/openrct2-ui/windows/Window.h index 2f9c69f4b1..e1f5ab0b98 100644 --- a/src/openrct2-ui/windows/Window.h +++ b/src/openrct2-ui/windows/Window.h @@ -154,10 +154,10 @@ void window_network_status_close(); void window_text_input_key(rct_window* w, char keychar); void window_text_input_open( rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, - rct_string_id existing_text, uintptr_t existing_args, int32_t maxLength); + const Formatter& descriptionArgs, rct_string_id existing_text, uintptr_t existing_args, int32_t maxLength); void window_text_input_raw_open( rct_window* call_w, rct_widgetindex call_widget, rct_string_id title, rct_string_id description, - const_utf8string existing_text, int32_t maxLength); + const Formatter& descriptionArgs, const_utf8string existing_text, int32_t maxLength); void window_text_input_open( std::string_view title, std::string_view description, std::string_view initialValue, size_t maxLength, diff --git a/src/openrct2/Cheats.h b/src/openrct2/Cheats.h index 4f36817073..47653acd6b 100644 --- a/src/openrct2/Cheats.h +++ b/src/openrct2/Cheats.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CHEATS_H_ -#define _CHEATS_H_ +#pragma once #include "common.h" @@ -120,5 +119,3 @@ void CheatsReset(); const char* CheatsGetName(CheatType cheatType); void CheatsSet(CheatType cheatType, int32_t param1 = 0, int32_t param2 = 0); void CheatsSerialise(class DataSerialiser& ds); - -#endif diff --git a/src/openrct2/CmdlineSprite.cpp b/src/openrct2/CmdlineSprite.cpp index 8d44a95546..1d2459f7ee 100644 --- a/src/openrct2/CmdlineSprite.cpp +++ b/src/openrct2/CmdlineSprite.cpp @@ -185,7 +185,7 @@ bool SpriteFile::Save(const utf8* path) static bool SpriteImageExport(const rct_g1_element& spriteElement, const char* outPath) { const auto pixelBufferSize = spriteElement.width * spriteElement.height; - std::unique_ptr pixelBuffer(new uint8_t[pixelBufferSize]); + auto pixelBuffer = std::make_unique(pixelBufferSize); auto pixels = pixelBuffer.get(); std::fill_n(pixels, pixelBufferSize, 0x00); @@ -199,8 +199,8 @@ static bool SpriteImageExport(const rct_g1_element& spriteElement, const char* o dpi.zoom_level = 0; DrawSpriteArgs args( - &dpi, ImageId(), PaletteMap::GetDefault(), spriteElement, 0, 0, spriteElement.width, spriteElement.height, pixels); - gfx_sprite_to_buffer(args); + ImageId(), PaletteMap::GetDefault(), spriteElement, 0, 0, spriteElement.width, spriteElement.height, pixels); + gfx_sprite_to_buffer(dpi, args); auto const pixels8 = dpi.bits; auto const pixelsLen = (dpi.width + dpi.pitch) * dpi.height; diff --git a/src/openrct2/CmdlineSprite.h b/src/openrct2/CmdlineSprite.h index 58227cc23e..e9f4e65686 100644 --- a/src/openrct2/CmdlineSprite.h +++ b/src/openrct2/CmdlineSprite.h @@ -7,12 +7,9 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CMDLINE_SPRITE_H_ -#define _CMDLINE_SPRITE_H_ +#pragma once #include "common.h" int32_t cmdline_for_sprite(const char** argv, int32_t argc); extern int32_t gSpriteMode; - -#endif diff --git a/src/openrct2/Context.cpp b/src/openrct2/Context.cpp index 893c5d0b23..01a07b8c3f 100644 --- a/src/openrct2/Context.cpp +++ b/src/openrct2/Context.cpp @@ -523,7 +523,7 @@ namespace OpenRCT2 { drawingEngine->Initialise(); drawingEngine->SetVSync(gConfigGeneral.use_vsync); - _drawingEngine = std::unique_ptr(std::move(drawingEngine)); + _drawingEngine = std::move(drawingEngine); } catch (const std::exception& ex) { diff --git a/src/openrct2/Context.h b/src/openrct2/Context.h index 9dda928559..5fc83fc521 100644 --- a/src/openrct2/Context.h +++ b/src/openrct2/Context.h @@ -1,4 +1,4 @@ -/***************************************************************************** +/***************************************************************************** * Copyright (c) 2014-2020 OpenRCT2 developers * * For a complete list of all authors, please refer to contributors.md @@ -114,10 +114,10 @@ namespace OpenRCT2 { virtual ~IContext() = default; - virtual std::shared_ptr GetAudioContext() abstract; - virtual std::shared_ptr GetUiContext() abstract; + [[nodiscard]] virtual std::shared_ptr GetAudioContext() abstract; + [[nodiscard]] virtual std::shared_ptr GetUiContext() abstract; virtual GameState* GetGameState() abstract; - virtual std::shared_ptr GetPlatformEnvironment() abstract; + [[nodiscard]] virtual std::shared_ptr GetPlatformEnvironment() abstract; virtual Localisation::LocalisationService& GetLocalisationService() abstract; virtual IObjectManager& GetObjectManager() abstract; virtual IObjectRepository& GetObjectRepository() abstract; @@ -158,11 +158,11 @@ namespace OpenRCT2 virtual float GetTimeScale() const abstract; }; - std::unique_ptr CreateContext(); - std::unique_ptr CreateContext( + [[nodiscard]] std::unique_ptr CreateContext(); + [[nodiscard]] std::unique_ptr CreateContext( const std::shared_ptr& env, const std::shared_ptr& audioContext, const std::shared_ptr& uiContext); - IContext* GetContext(); + [[nodiscard]] IContext* GetContext(); } // namespace OpenRCT2 enum diff --git a/src/openrct2/Diagnostic.h b/src/openrct2/Diagnostic.h index c04e20c4ce..3ecfe7ad3a 100644 --- a/src/openrct2/Diagnostic.h +++ b/src/openrct2/Diagnostic.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DIAGNOSTIC_H_ -#define _DIAGNOSTIC_H_ +#pragma once #include @@ -88,5 +87,3 @@ void diagnostic_log_with_location( #define log_warning(format, ...) diagnostic_log_macro(DiagnosticLevel::Warning, format, ##__VA_ARGS__) #define log_verbose(format, ...) diagnostic_log(DiagnosticLevel::Verbose, format, ##__VA_ARGS__) #define log_info(format, ...) diagnostic_log_macro(DiagnosticLevel::Information, format, ##__VA_ARGS__) - -#endif diff --git a/src/openrct2/Editor.h b/src/openrct2/Editor.h index 8a7499f2d8..17985ad6cc 100644 --- a/src/openrct2/Editor.h +++ b/src/openrct2/Editor.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _EDITOR_H_ -#define _EDITOR_H_ +#pragma once #include "common.h" #include "object/Object.h" @@ -47,5 +46,3 @@ enum class EditorStep : uint8_t extern EditorStep gEditorStep; void editor_open_windows_for_current_step(); - -#endif diff --git a/src/openrct2/GameStateSnapshots.cpp b/src/openrct2/GameStateSnapshots.cpp index 072a43937e..d3100b8e89 100644 --- a/src/openrct2/GameStateSnapshots.cpp +++ b/src/openrct2/GameStateSnapshots.cpp @@ -222,13 +222,13 @@ struct GameStateSnapshots final : public IGameStateSnapshots } void CompareSpriteDataCommon( - const SpriteBase& spriteBase, const SpriteBase& spriteCmp, GameStateSpriteChange_t& changeData) const + const EntityBase& spriteBase, const EntityBase& spriteCmp, GameStateSpriteChange_t& changeData) const { - COMPARE_FIELD(SpriteBase, Type); - COMPARE_FIELD(SpriteBase, sprite_index); - COMPARE_FIELD(SpriteBase, x); - COMPARE_FIELD(SpriteBase, y); - COMPARE_FIELD(SpriteBase, z); + COMPARE_FIELD(EntityBase, Type); + COMPARE_FIELD(EntityBase, sprite_index); + COMPARE_FIELD(EntityBase, x); + COMPARE_FIELD(EntityBase, y); + COMPARE_FIELD(EntityBase, z); /* Only relevant for rendering, does not affect game state. COMPARE_FIELD(SpriteBase, sprite_width); COMPARE_FIELD(SpriteBase, sprite_height_negative); @@ -238,7 +238,7 @@ struct GameStateSnapshots final : public IGameStateSnapshots COMPARE_FIELD(SpriteBase, sprite_right); COMPARE_FIELD(SpriteBase, sprite_bottom); */ - COMPARE_FIELD(SpriteBase, sprite_direction); + COMPARE_FIELD(EntityBase, sprite_direction); } void CompareSpriteDataPeep(const Peep& spriteBase, const Peep& spriteCmp, GameStateSpriteChange_t& changeData) const @@ -426,7 +426,7 @@ struct GameStateSnapshots final : public IGameStateSnapshots { COMPARE_FIELD(Vehicle, pad_C6[i]); } - COMPARE_FIELD(Vehicle, var_C8); + COMPARE_FIELD(Vehicle, animationState); COMPARE_FIELD(Vehicle, var_CA); COMPARE_FIELD(Vehicle, scream_sound_id); COMPARE_FIELD(Vehicle, TrackSubposition); diff --git a/src/openrct2/GameStateSnapshots.h b/src/openrct2/GameStateSnapshots.h index f7490c953d..ed3df93176 100644 --- a/src/openrct2/GameStateSnapshots.h +++ b/src/openrct2/GameStateSnapshots.h @@ -110,4 +110,4 @@ struct IGameStateSnapshots virtual std::string GetCompareDataText(const GameStateCompareData_t& cmpData) const = 0; }; -std::unique_ptr CreateGameStateSnapshots(); +[[nodiscard]] std::unique_ptr CreateGameStateSnapshots(); diff --git a/src/openrct2/Input.h b/src/openrct2/Input.h index c27addc3da..0de27cf7d4 100644 --- a/src/openrct2/Input.h +++ b/src/openrct2/Input.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _INPUT_H_ -#define _INPUT_H_ +#pragma once #include "interface/Window.h" @@ -117,5 +116,3 @@ void reset_tooltip_not_shown(); void input_reset_place_obj_modifier(); void InputScrollViewport(const ScreenCoordsXY& screenCoords); - -#endif diff --git a/src/openrct2/Intro.h b/src/openrct2/Intro.h index 70e9592fe3..8fbf9f9c27 100644 --- a/src/openrct2/Intro.h +++ b/src/openrct2/Intro.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _INTRO_H_ -#define _INTRO_H_ +#pragma once #include "common.h" @@ -34,5 +33,3 @@ extern IntroState gIntroState; void intro_update(); void intro_draw(rct_drawpixelinfo* dpi); - -#endif diff --git a/src/openrct2/ParkFile.cpp b/src/openrct2/ParkFile.cpp index 79fa6f86ba..50c5bafd24 100644 --- a/src/openrct2/ParkFile.cpp +++ b/src/openrct2/ParkFile.cpp @@ -1271,7 +1271,7 @@ namespace OpenRCT2 template static void ReadWriteEntity(OrcaStream& os, OrcaStream::ChunkStream& cs, T& entity); - static void ReadWriteEntityCommon(OrcaStream::ChunkStream& cs, SpriteBase& entity) + static void ReadWriteEntityCommon(OrcaStream::ChunkStream& cs, EntityBase& entity) { cs.ReadWrite(entity.sprite_index); cs.ReadWrite(entity.sprite_height_negative); @@ -1744,7 +1744,7 @@ namespace OpenRCT2 cs.ReadWrite(entity.powered_acceleration); cs.ReadWrite(entity.dodgems_collision_direction); cs.ReadWrite(entity.animation_frame); - cs.ReadWrite(entity.var_C8); + cs.ReadWrite(entity.animationState); cs.ReadWrite(entity.var_CA); cs.ReadWrite(entity.scream_sound_id); cs.ReadWrite(entity.TrackSubposition); diff --git a/src/openrct2/ParkImporter.h b/src/openrct2/ParkImporter.h index 9f4ea70332..db99c7576a 100644 --- a/src/openrct2/ParkImporter.h +++ b/src/openrct2/ParkImporter.h @@ -59,10 +59,10 @@ public: namespace ParkImporter { - std::unique_ptr Create(const std::string& hintPath); - std::unique_ptr CreateS4(); - std::unique_ptr CreateS6(IObjectRepository& objectRepository); - std::unique_ptr CreateParkFile(IObjectRepository& objectRepository); + [[nodiscard]] std::unique_ptr Create(const std::string& hintPath); + [[nodiscard]] std::unique_ptr CreateS4(); + [[nodiscard]] std::unique_ptr CreateS6(IObjectRepository& objectRepository); + [[nodiscard]] std::unique_ptr CreateParkFile(IObjectRepository& objectRepository); bool ExtensionIsRCT1(const std::string& extension); bool ExtensionIsScenario(const std::string& extension); diff --git a/src/openrct2/PlatformEnvironment.h b/src/openrct2/PlatformEnvironment.h index 91f3a47779..0d539a0024 100644 --- a/src/openrct2/PlatformEnvironment.h +++ b/src/openrct2/PlatformEnvironment.h @@ -84,7 +84,7 @@ namespace OpenRCT2 virtual void SetBasePath(DIRBASE base, const std::string& path) abstract; }; - std::unique_ptr CreatePlatformEnvironment(DIRBASE_VALUES basePaths); - std::unique_ptr CreatePlatformEnvironment(); + [[nodiscard]] std::unique_ptr CreatePlatformEnvironment(DIRBASE_VALUES basePaths); + [[nodiscard]] std::unique_ptr CreatePlatformEnvironment(); } // namespace OpenRCT2 diff --git a/src/openrct2/ReplayManager.h b/src/openrct2/ReplayManager.h index d635147008..895a99fedd 100644 --- a/src/openrct2/ReplayManager.h +++ b/src/openrct2/ReplayManager.h @@ -65,6 +65,6 @@ namespace OpenRCT2 virtual bool NormaliseReplay(const std::string& inputFile, const std::string& outputFile) = 0; }; - std::unique_ptr CreateReplayManager(); + [[nodiscard]] std::unique_ptr CreateReplayManager(); } // namespace OpenRCT2 diff --git a/src/openrct2/TrackImporter.h b/src/openrct2/TrackImporter.h index 677228dc1a..fb5ffee743 100644 --- a/src/openrct2/TrackImporter.h +++ b/src/openrct2/TrackImporter.h @@ -28,14 +28,14 @@ public: virtual bool Load(const utf8* path) abstract; virtual bool LoadFromStream(OpenRCT2::IStream* stream) abstract; - virtual std::unique_ptr Import() abstract; + [[nodiscard]] virtual std::unique_ptr Import() abstract; }; namespace TrackImporter { - std::unique_ptr Create(const std::string& hintPath); - std::unique_ptr CreateTD4(); - std::unique_ptr CreateTD6(); + [[nodiscard]] std::unique_ptr Create(const std::string& hintPath); + [[nodiscard]] std::unique_ptr CreateTD4(); + [[nodiscard]] std::unique_ptr CreateTD6(); bool ExtensionIsRCT1(const std::string& extension); } // namespace TrackImporter diff --git a/src/openrct2/actions/WallPlaceAction.cpp b/src/openrct2/actions/WallPlaceAction.cpp index 466f90c252..2cce251256 100644 --- a/src/openrct2/actions/WallPlaceAction.cpp +++ b/src/openrct2/actions/WallPlaceAction.cpp @@ -376,10 +376,7 @@ GameActions::Result::Ptr WallPlaceAction::Execute() const wallElement->SetAcrossTrack(wallAcrossTrack); wallElement->SetEntryIndex(_wallType); - if (banner != nullptr) - { - wallElement->SetBannerIndex(banner->id); - } + wallElement->SetBannerIndex(banner != nullptr ? banner->id : BANNER_INDEX_NULL); if (wallEntry->flags & WALL_SCENERY_HAS_TERNARY_COLOUR) { diff --git a/src/openrct2/audio/AudioContext.h b/src/openrct2/audio/AudioContext.h index af7ab7bfdb..6b9ee914d2 100644 --- a/src/openrct2/audio/AudioContext.h +++ b/src/openrct2/audio/AudioContext.h @@ -55,6 +55,6 @@ namespace OpenRCT2::Audio virtual void StopVehicleSounds() abstract; }; - std::unique_ptr CreateDummyAudioContext(); + [[nodiscard]] std::unique_ptr CreateDummyAudioContext(); } // namespace OpenRCT2::Audio diff --git a/src/openrct2/cmdline/RootCommands.cpp b/src/openrct2/cmdline/RootCommands.cpp index b074e0b785..60782dd77a 100644 --- a/src/openrct2/cmdline/RootCommands.cpp +++ b/src/openrct2/cmdline/RootCommands.cpp @@ -26,7 +26,6 @@ #include #include -#include #include #ifdef USE_BREAKPAD @@ -406,7 +405,7 @@ static exitcode_t HandleCommandScanObjects([[maybe_unused]] CommandLineArgEnumer gOpenRCT2Headless = true; gOpenRCT2NoGraphics = true; - auto context = std::unique_ptr(OpenRCT2::CreateContext()); + auto context = OpenRCT2::CreateContext(); auto env = context->GetPlatformEnvironment(); auto objectRepository = CreateObjectRepository(env); objectRepository->Construct(gConfigGeneral.language); diff --git a/src/openrct2/common.h b/src/openrct2/common.h index b562e64c00..cc0e1d517a 100644 --- a/src/openrct2/common.h +++ b/src/openrct2/common.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _COMMON_H_ -#define _COMMON_H_ +#pragma once #ifndef _USE_MATH_DEFINES # define _USE_MATH_DEFINES @@ -232,5 +231,3 @@ constexpr uint16_t SPRITE_INDEX_NULL = 0xFFFF; #else // PLATFORM_X86 # define FASTCALL #endif // PLATFORM_X86 - -#endif diff --git a/src/openrct2/config/Config.cpp b/src/openrct2/config/Config.cpp index 97c60ec41a..62a45dd07e 100644 --- a/src/openrct2/config/Config.cpp +++ b/src/openrct2/config/Config.cpp @@ -37,8 +37,6 @@ #include "IniReader.hpp" #include "IniWriter.hpp" -#include - using namespace OpenRCT2; using namespace OpenRCT2::Ui; @@ -565,7 +563,7 @@ namespace Config { try { - auto reader = std::unique_ptr(CreateDefaultIniReader()); + auto reader = CreateDefaultIniReader(); ReadGeneral(reader.get()); ReadInterface(reader.get()); ReadSound(reader.get()); @@ -586,7 +584,7 @@ namespace Config try { auto fs = FileStream(path, FILE_MODE_OPEN); - auto reader = std::unique_ptr(CreateIniReader(&fs)); + auto reader = CreateIniReader(&fs); ReadGeneral(reader.get()); ReadInterface(reader.get()); ReadSound(reader.get()); @@ -610,7 +608,7 @@ namespace Config Path::CreateDirectory(directory); auto fs = FileStream(path, FILE_MODE_WRITE); - auto writer = std::unique_ptr(CreateIniWriter(&fs)); + auto writer = CreateIniWriter(&fs); WriteGeneral(writer.get()); WriteInterface(writer.get()); WriteSound(writer.get()); @@ -1003,7 +1001,7 @@ bool RCT1DataPresentAtLocation(const utf8* path) bool CsgIsUsable(const rct_gx& csg) { - return csg.header.total_size == RCT1_LL_CSG1_DAT_FILE_SIZE && csg.header.num_entries == RCT1_NUM_LL_CSG_ENTRIES; + return csg.header.total_size == RCT1::RCT1_LL_CSG1_DAT_FILE_SIZE && csg.header.num_entries == RCT1::RCT1_NUM_LL_CSG_ENTRIES; } bool CsgAtLocationIsUsable(const utf8* path) diff --git a/src/openrct2/config/IniReader.hpp b/src/openrct2/config/IniReader.hpp index 23329091cf..91f847d590 100644 --- a/src/openrct2/config/IniReader.hpp +++ b/src/openrct2/config/IniReader.hpp @@ -48,5 +48,5 @@ struct IIniReader utf8* GetCString(const std::string& name, const utf8* defaultValue) const; }; -std::unique_ptr CreateIniReader(OpenRCT2::IStream* stream); -std::unique_ptr CreateDefaultIniReader(); +[[nodiscard]] std::unique_ptr CreateIniReader(OpenRCT2::IStream* stream); +[[nodiscard]] std::unique_ptr CreateDefaultIniReader(); diff --git a/src/openrct2/config/IniWriter.hpp b/src/openrct2/config/IniWriter.hpp index ab5cd6f501..8f44e51e81 100644 --- a/src/openrct2/config/IniWriter.hpp +++ b/src/openrct2/config/IniWriter.hpp @@ -52,4 +52,4 @@ struct IIniWriter void WriteString(const std::string& name, const utf8* value); }; -std::unique_ptr CreateIniWriter(OpenRCT2::IStream* stream); +[[nodiscard]] std::unique_ptr CreateIniWriter(OpenRCT2::IStream* stream); diff --git a/src/openrct2/core/Crypt.h b/src/openrct2/core/Crypt.h index e5f4721c11..87baf9c751 100644 --- a/src/openrct2/core/Crypt.h +++ b/src/openrct2/core/Crypt.h @@ -51,11 +51,11 @@ namespace Crypt using FNV1aAlgorithm = HashAlgorithm<8>; // Factories - std::unique_ptr CreateFNV1a(); - std::unique_ptr CreateSHA1(); - std::unique_ptr CreateSHA256(); - std::unique_ptr CreateRSA(); - std::unique_ptr CreateRSAKey(); + [[nodiscard]] std::unique_ptr CreateFNV1a(); + [[nodiscard]] std::unique_ptr CreateSHA1(); + [[nodiscard]] std::unique_ptr CreateSHA256(); + [[nodiscard]] std::unique_ptr CreateRSA(); + [[nodiscard]] std::unique_ptr CreateRSAKey(); inline FNV1aAlgorithm::Result FNV1a(const void* data, size_t dataLen) { diff --git a/src/openrct2/core/DataSerialiserTraits.h b/src/openrct2/core/DataSerialiserTraits.h index 1072dd83fc..6de1c5a111 100644 --- a/src/openrct2/core/DataSerialiserTraits.h +++ b/src/openrct2/core/DataSerialiserTraits.h @@ -284,7 +284,7 @@ template<> struct DataSerializerTraits_t uint32_t length = 0; s.decode(stream, length); - std::unique_ptr buf(new uint8_t[length]); + auto buf = std::make_unique(length); stream->Read(buf.get(), length); val.Write(buf.get(), length); @@ -584,34 +584,6 @@ template<> struct DataSerializerTraits_t stream->Write(msg, strlen(msg)); } }; -template<> struct DataSerializerTraits_t -{ - static void encode(OpenRCT2::IStream* stream, const rct12_xyzd8& 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, rct12_xyzd8& coord) - { - auto x = ByteSwapBE(stream->ReadValue()); - auto y = ByteSwapBE(stream->ReadValue()); - auto z = ByteSwapBE(stream->ReadValue()); - auto d = ByteSwapBE(stream->ReadValue()); - coord = rct12_xyzd8{ x, y, z, d }; - } - - static void log(OpenRCT2::IStream* stream, const rct12_xyzd8& coord) - { - char msg[128] = {}; - snprintf( - msg, sizeof(msg), "rct12_xyzd8(x = %d, y = %d, z = %d, direction = %d)", coord.x, coord.y, coord.z, - coord.direction); - stream->Write(msg, strlen(msg)); - } -}; template<> struct DataSerializerTraits_t { diff --git a/src/openrct2/core/FileScanner.h b/src/openrct2/core/FileScanner.h index 1e6c63d230..4cc17977bb 100644 --- a/src/openrct2/core/FileScanner.h +++ b/src/openrct2/core/FileScanner.h @@ -51,7 +51,7 @@ namespace Path * @param recurse Whether to scan sub directories or not. * @returns A new FileScanner, this must be deleted when no longer needed. */ - std::unique_ptr ScanDirectory(const std::string& pattern, bool recurse); + [[nodiscard]] std::unique_ptr ScanDirectory(const std::string& pattern, bool recurse); /** * Scans a directory and all sub directories @@ -60,5 +60,5 @@ namespace Path */ void QueryDirectory(QueryDirectoryResult* result, const std::string& pattern); - std::vector GetDirectories(const std::string& path); + [[nodiscard]] std::vector GetDirectories(const std::string& path); } // namespace Path diff --git a/src/openrct2/core/IStream.hpp b/src/openrct2/core/IStream.hpp index a30aff6faf..7334f0d0a7 100644 --- a/src/openrct2/core/IStream.hpp +++ b/src/openrct2/core/IStream.hpp @@ -193,7 +193,7 @@ namespace OpenRCT2 Write(&value); } - template std::unique_ptr ReadArray(size_t count) + template[[nodiscard]] std::unique_ptr ReadArray(size_t count) { auto buffer = std::make_unique(count); Read(buffer.get(), sizeof(T) * count); diff --git a/src/openrct2/core/Zip.h b/src/openrct2/core/Zip.h index 01d5e8b17b..43d4beafc5 100644 --- a/src/openrct2/core/Zip.h +++ b/src/openrct2/core/Zip.h @@ -31,11 +31,11 @@ struct IZipArchive { } - virtual size_t GetNumFiles() const abstract; - virtual std::string GetFileName(size_t index) const abstract; - virtual uint64_t GetFileSize(size_t index) const abstract; - virtual std::vector GetFileData(std::string_view path) const abstract; - virtual std::unique_ptr GetFileStream(std::string_view path) const abstract; + [[nodiscard]] virtual size_t GetNumFiles() const abstract; + [[nodiscard]] virtual std::string GetFileName(size_t index) const abstract; + [[nodiscard]] virtual uint64_t GetFileSize(size_t index) const abstract; + [[nodiscard]] virtual std::vector GetFileData(std::string_view path) const abstract; + [[nodiscard]] virtual std::unique_ptr GetFileStream(std::string_view path) const abstract; /** * Creates or overwrites a file within the zip archive to the given data buffer. @@ -47,8 +47,8 @@ struct IZipArchive virtual void DeleteFile(std::string_view path) abstract; virtual void RenameFile(std::string_view path, std::string_view newPath) abstract; - std::optional GetIndexFromPath(std::string_view path) const; - bool Exists(std::string_view path) const; + [[nodiscard]] std::optional GetIndexFromPath(std::string_view path) const; + [[nodiscard]] bool Exists(std::string_view path) const; }; enum class ZIP_ACCESS @@ -59,6 +59,6 @@ enum class ZIP_ACCESS namespace Zip { - std::unique_ptr Open(std::string_view path, ZIP_ACCESS zipAccess); - std::unique_ptr TryOpen(std::string_view path, ZIP_ACCESS zipAccess); + [[nodiscard]] std::unique_ptr Open(std::string_view path, ZIP_ACCESS zipAccess); + [[nodiscard]] std::unique_ptr TryOpen(std::string_view path, ZIP_ACCESS zipAccess); } // namespace Zip diff --git a/src/openrct2/drawing/Drawing.Sprite.BMP.cpp b/src/openrct2/drawing/Drawing.Sprite.BMP.cpp index 8c4f1d6e75..3a2925f09c 100644 --- a/src/openrct2/drawing/Drawing.Sprite.BMP.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.BMP.cpp @@ -9,16 +9,15 @@ #include "Drawing.h" -template static void FASTCALL DrawBMPSpriteMagnify(DrawSpriteArgs& args) +template static void FASTCALL DrawBMPSpriteMagnify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { auto& g1 = args.SourceImage; auto src = g1.offset + ((static_cast(g1.width) * args.SrcY) + args.SrcX); auto dst = args.DestinationBits; auto& paletteMap = args.PalMap; - auto dpi = args.DPI; - auto zoomLevel = dpi->zoom_level; + auto zoomLevel = dpi.zoom_level; size_t srcLineWidth = g1.width; - size_t dstLineWidth = (static_cast(dpi->width) / zoomLevel) + dpi->pitch; + size_t dstLineWidth = (static_cast(dpi.width) / zoomLevel) + dpi.pitch; uint8_t zoom = 1 / zoomLevel; auto width = args.Width / zoomLevel; auto height = args.Height / zoomLevel; @@ -36,7 +35,7 @@ template static void FASTCALL DrawBMPSpriteMagnify(DrawSpr } } -template static void FASTCALL DrawBMPSpriteMinify(DrawSpriteArgs& args) +template static void FASTCALL DrawBMPSpriteMinify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { auto& g1 = args.SourceImage; auto src = g1.offset + ((static_cast(g1.width) * args.SrcY) + args.SrcX); @@ -44,10 +43,9 @@ template static void FASTCALL DrawBMPSpriteMinify(DrawSpri auto& paletteMap = args.PalMap; auto width = args.Width; auto height = args.Height; - auto dpi = args.DPI; - auto zoomLevel = dpi->zoom_level; + auto zoomLevel = dpi.zoom_level; size_t srcLineWidth = g1.width * zoomLevel; - size_t dstLineWidth = (static_cast(dpi->width) / zoomLevel) + dpi->pitch; + size_t dstLineWidth = (static_cast(dpi.width) / zoomLevel) + dpi.pitch; uint8_t zoom = 1 * zoomLevel; for (; height > 0; height -= zoom) { @@ -62,15 +60,15 @@ template static void FASTCALL DrawBMPSpriteMinify(DrawSpri } } -template static void FASTCALL DrawBMPSprite(DrawSpriteArgs& args) +template static void FASTCALL DrawBMPSprite(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - if (args.DPI->zoom_level < 0) + if (dpi.zoom_level < 0) { - DrawBMPSpriteMagnify(args); + DrawBMPSpriteMagnify(dpi, args); } else { - DrawBMPSpriteMinify(args); + DrawBMPSpriteMinify(dpi, args); } } @@ -80,7 +78,7 @@ template static void FASTCALL DrawBMPSprite(DrawSpriteArgs * rct2: 0x0067A690 * @param imageId Only flags are used. */ -void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args) +void FASTCALL gfx_bmp_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { auto imageId = args.Image; @@ -90,29 +88,29 @@ void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args) if (imageId.IsBlended()) { // Copy non-transparent bitmap data but blend src and dst pixel using the palette map. - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } else { // Copy non-transparent bitmap data but re-colour using the palette map. - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } } else if (imageId.IsBlended()) { // Image is only a transparency mask. Just colour the pixels using the palette map. // Used for glass. - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); return; } else if (!(args.SourceImage.flags & G1_FLAG_BMP)) { // Copy raw bitmap data to target - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } else { // Copy raw bitmap data to target but exclude transparent pixels - DrawBMPSprite(args); + DrawBMPSprite(dpi, args); } } diff --git a/src/openrct2/drawing/Drawing.Sprite.RLE.cpp b/src/openrct2/drawing/Drawing.Sprite.RLE.cpp index 1e5d49a712..45e27c8e96 100644 --- a/src/openrct2/drawing/Drawing.Sprite.RLE.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.RLE.cpp @@ -12,9 +12,9 @@ #include #include -template static void FASTCALL DrawRLESpriteMagnify(DrawSpriteArgs& args) +template +static void FASTCALL DrawRLESpriteMagnify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - auto dpi = args.DPI; auto src0 = args.SourceImage.offset; auto dst0 = args.DestinationBits; auto srcX = args.SrcX; @@ -23,7 +23,7 @@ template static void FASTCALL DrawRLESpriteM auto height = args.Height; auto& paletteMap = args.PalMap; auto zoom = 1 << TZoom; - auto dstLineWidth = (static_cast(dpi->width) << TZoom) + dpi->pitch; + auto dstLineWidth = (static_cast(dpi.width) << TZoom) + dpi.pitch; // Move up to the first line of the image if source_y_start is negative. Why does this even occur? if (srcY < 0) @@ -83,9 +83,9 @@ template static void FASTCALL DrawRLESpriteM } } -template static void FASTCALL DrawRLESpriteMinify(DrawSpriteArgs& args) +template +static void FASTCALL DrawRLESpriteMinify(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - auto dpi = args.DPI; auto src0 = args.SourceImage.offset; auto dst0 = args.DestinationBits; auto srcX = args.SrcX; @@ -93,7 +93,7 @@ template static void FASTCALL DrawRLESpriteM auto width = args.Width; auto height = args.Height; auto zoom = 1 << TZoom; - auto dstLineWidth = (static_cast(dpi->width) >> TZoom) + dpi->pitch; + auto dstLineWidth = (static_cast(dpi.width) >> TZoom) + dpi.pitch; // Move up to the first line of the image if source_y_start is negative. Why does this even occur? if (srcY < 0) @@ -178,28 +178,28 @@ template static void FASTCALL DrawRLESpriteM } } -template static void FASTCALL DrawRLESprite(DrawSpriteArgs& args) +template static void FASTCALL DrawRLESprite(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { - auto zoom_level = static_cast(args.DPI->zoom_level); + auto zoom_level = static_cast(dpi.zoom_level); switch (zoom_level) { case -2: - DrawRLESpriteMagnify(args); + DrawRLESpriteMagnify(dpi, args); break; case -1: - DrawRLESpriteMagnify(args); + DrawRLESpriteMagnify(dpi, args); break; case 0: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; case 1: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; case 2: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; case 3: - DrawRLESpriteMinify(args); + DrawRLESpriteMinify(dpi, args); break; default: assert(false); @@ -213,25 +213,25 @@ template static void FASTCALL DrawRLESprite(DrawSpriteArgs * rct2: 0x0067AA18 * @param imageId Only flags are used. */ -void FASTCALL gfx_rle_sprite_to_buffer(DrawSpriteArgs& args) +void FASTCALL gfx_rle_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { if (args.Image.HasPrimary()) { if (args.Image.IsBlended()) { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } else { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } } else if (args.Image.IsBlended()) { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } else { - DrawRLESprite(args); + DrawRLESprite(dpi, args); } } diff --git a/src/openrct2/drawing/Drawing.Sprite.cpp b/src/openrct2/drawing/Drawing.Sprite.cpp index 50fe767c8b..786ec46fba 100644 --- a/src/openrct2/drawing/Drawing.Sprite.cpp +++ b/src/openrct2/drawing/Drawing.Sprite.cpp @@ -575,19 +575,19 @@ void FASTCALL gfx_draw_sprite_palette_set_software( // Move the pointer to the start point of the destination dest_pointer += ((dpi->width / zoom_level) + dpi->pitch) * dest_start_y + dest_start_x; - DrawSpriteArgs args(dpi, imageId, paletteMap, *g1, source_start_x, source_start_y, width, height, dest_pointer); - gfx_sprite_to_buffer(args); + DrawSpriteArgs args(imageId, paletteMap, *g1, source_start_x, source_start_y, width, height, dest_pointer); + gfx_sprite_to_buffer(*dpi, args); } -void FASTCALL gfx_sprite_to_buffer(DrawSpriteArgs& args) +void FASTCALL gfx_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args) { if (args.SourceImage.flags & G1_FLAG_RLE_COMPRESSION) { - gfx_rle_sprite_to_buffer(args); + gfx_rle_sprite_to_buffer(dpi, args); } else if (!(args.SourceImage.flags & G1_FLAG_1)) { - gfx_bmp_sprite_to_buffer(args); + gfx_bmp_sprite_to_buffer(dpi, args); } } diff --git a/src/openrct2/drawing/Drawing.String.cpp b/src/openrct2/drawing/Drawing.String.cpp index 4d8772ded8..934c26e62f 100644 --- a/src/openrct2/drawing/Drawing.String.cpp +++ b/src/openrct2/drawing/Drawing.String.cpp @@ -7,10 +7,13 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ +#include "../Context.h" #include "../common.h" #include "../config/Config.h" #include "../core/String.hpp" #include "../drawing/Drawing.h" +#include "../drawing/IDrawingContext.h" +#include "../drawing/IDrawingEngine.h" #include "../interface/Viewport.h" #include "../localisation/Formatting.h" #include "../localisation/Localisation.h" @@ -525,6 +528,7 @@ static void ttf_draw_string_raw_sprite(rct_drawpixelinfo* dpi, std::string_view #ifndef NO_TTF +static int _ttfGlId = 0; static void ttf_draw_string_raw_ttf(rct_drawpixelinfo* dpi, std::string_view text, text_draw_info* info) { if (!ttf_initialise()) @@ -554,6 +558,37 @@ static void ttf_draw_string_raw_ttf(rct_drawpixelinfo* dpi, std::string_view tex int32_t width = surface->w; int32_t height = surface->h; + if (OpenRCT2::GetContext()->GetDrawingEngineType() == DrawingEngine::OpenGL) + { + auto pixels = reinterpret_cast(const_cast(surface->pixels)); + auto pixelsLen = static_cast(surface->pitch) * surface->h; + for (size_t pp = 0; pp < pixelsLen; pp++) + { + if (pixels[pp] != 0) + { + pixels[pp] = colour; + } + else + { + pixels[pp] = PALETTE_INDEX_0; + } + } + + auto baseId = uint32_t(0x7FFFF) - 1024; + auto imageId = baseId + _ttfGlId; + auto drawingEngine = dpi->DrawingEngine; + auto drawingContext = drawingEngine->GetDrawingContext(dpi); + drawingEngine->InvalidateImage(imageId); + drawingContext->DrawBitmap(imageId, surface->pixels, surface->pitch, surface->h, drawX, drawY); + + _ttfGlId++; + if (_ttfGlId >= 1023) + { + _ttfGlId = 0; + } + return; + } + int32_t overflowX = (dpi->x + dpi->width) - (drawX + width); int32_t overflowY = (dpi->y + dpi->height) - (drawY + height); if (overflowX < 0) diff --git a/src/openrct2/drawing/Drawing.h b/src/openrct2/drawing/Drawing.h index c494e66674..47cb785d20 100644 --- a/src/openrct2/drawing/Drawing.h +++ b/src/openrct2/drawing/Drawing.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DRAWING_H_ -#define _DRAWING_H_ +#pragma once #include "../common.h" #include "../interface/Colour.h" @@ -544,7 +543,6 @@ public: struct DrawSpriteArgs { - rct_drawpixelinfo* DPI; ImageId Image; const PaletteMap& PalMap; const rct_g1_element& SourceImage; @@ -555,10 +553,9 @@ struct DrawSpriteArgs uint8_t* DestinationBits; DrawSpriteArgs( - rct_drawpixelinfo* dpi, ImageId image, const PaletteMap& palMap, const rct_g1_element& sourceImage, int32_t srcX, - int32_t srcY, int32_t width, int32_t height, uint8_t* destinationBits) - : DPI(dpi) - , Image(image) + ImageId image, const PaletteMap& palMap, const rct_g1_element& sourceImage, int32_t srcX, int32_t srcY, int32_t width, + int32_t height, uint8_t* destinationBits) + : Image(image) , PalMap(palMap) , SourceImage(sourceImage) , SrcX(srcX) @@ -714,9 +711,9 @@ void gfx_object_free_images(uint32_t baseImageId, uint32_t count); void gfx_object_check_all_images_freed(); size_t ImageListGetUsedCount(); size_t ImageListGetMaximum(); -void FASTCALL gfx_sprite_to_buffer(DrawSpriteArgs& args); -void FASTCALL gfx_bmp_sprite_to_buffer(DrawSpriteArgs& args); -void FASTCALL gfx_rle_sprite_to_buffer(DrawSpriteArgs& args); +void FASTCALL gfx_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args); +void FASTCALL gfx_bmp_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args); +void FASTCALL gfx_rle_sprite_to_buffer(rct_drawpixelinfo& dpi, const DrawSpriteArgs& args); void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, ImageId image_id, const ScreenCoordsXY& coords); void FASTCALL gfx_draw_sprite(rct_drawpixelinfo* dpi, int32_t image_id, const ScreenCoordsXY& coords, uint32_t tertiary_colour); void FASTCALL @@ -790,5 +787,3 @@ std::optional GetPaletteG1Index(colour_t paletteId); std::optional GetPaletteMapForColour(colour_t paletteId); #include "NewDrawing.h" - -#endif diff --git a/src/openrct2/drawing/Font.h b/src/openrct2/drawing/Font.h index 863dea90b2..0f870d241e 100644 --- a/src/openrct2/drawing/Font.h +++ b/src/openrct2/drawing/Font.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DRAWING_FONT_H_ -#define _DRAWING_FONT_H_ +#pragma once #include "../common.h" @@ -68,5 +67,3 @@ int32_t font_get_line_height_small(FontSpriteBase fontSpriteBase); bool font_supports_string_sprite(const utf8* text); bool font_supports_string_ttf(const utf8* text, int32_t fontSize); bool font_supports_string(const utf8* text, int32_t fontSize); - -#endif diff --git a/src/openrct2/drawing/IDrawingContext.h b/src/openrct2/drawing/IDrawingContext.h index 2fe2aef713..e8fbadc702 100644 --- a/src/openrct2/drawing/IDrawingContext.h +++ b/src/openrct2/drawing/IDrawingContext.h @@ -18,10 +18,7 @@ namespace OpenRCT2::Drawing struct IDrawingContext { - virtual ~IDrawingContext() - { - } - + virtual ~IDrawingContext() = default; virtual OpenRCT2::Drawing::IDrawingEngine* GetEngine() abstract; virtual void Clear(uint8_t paletteIndex) abstract; @@ -32,5 +29,7 @@ namespace OpenRCT2::Drawing virtual void DrawSpriteRawMasked(int32_t x, int32_t y, uint32_t maskImage, uint32_t colourImage) abstract; virtual void DrawSpriteSolid(uint32_t image, int32_t x, int32_t y, uint8_t colour) abstract; virtual void DrawGlyph(uint32_t image, int32_t x, int32_t y, const PaletteMap& palette) abstract; + virtual void DrawBitmap( + uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) abstract; }; } // namespace OpenRCT2::Drawing diff --git a/src/openrct2/drawing/IDrawingEngine.h b/src/openrct2/drawing/IDrawingEngine.h index 0d679d2467..41c3adb383 100644 --- a/src/openrct2/drawing/IDrawingEngine.h +++ b/src/openrct2/drawing/IDrawingEngine.h @@ -79,7 +79,7 @@ namespace OpenRCT2::Drawing virtual ~IDrawingEngineFactory() { } - virtual std::unique_ptr Create( + [[nodiscard]] virtual std::unique_ptr Create( DrawingEngine type, const std::shared_ptr& uiContext) abstract; }; diff --git a/src/openrct2/drawing/LightFX.cpp b/src/openrct2/drawing/LightFX.cpp index c90abd7fed..837742d48b 100644 --- a/src/openrct2/drawing/LightFX.cpp +++ b/src/openrct2/drawing/LightFX.cpp @@ -684,7 +684,7 @@ static void LightfxAdd3DLight(const CoordsXYZ& loc, const LightType lightType) LightfxAdd3DLight(((loc.x << 16) | loc.y), LightFXQualifier::Map, loc.z, loc, lightType); } -void LightfxAdd3DLight(const SpriteBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType) +void LightfxAdd3DLight(const EntityBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType) { LightfxAdd3DLight(entity.sprite_index, LightFXQualifier::Entity, id, loc, lightType); } diff --git a/src/openrct2/drawing/LightFX.h b/src/openrct2/drawing/LightFX.h index acbd5ed4be..13a43ed141 100644 --- a/src/openrct2/drawing/LightFX.h +++ b/src/openrct2/drawing/LightFX.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _LIGHTFX_H -#define _LIGHTFX_H +#pragma once #ifdef __ENABLE_LIGHTFX__ @@ -19,7 +18,7 @@ struct Vehicle; struct rct_drawpixelinfo; struct GamePalette; struct CoordsXYZ; -struct SpriteBase; +struct EntityBase; enum class LightType : uint8_t { @@ -61,7 +60,7 @@ void lightfx_update_viewport_settings(); void* lightfx_get_front_buffer(); const GamePalette& lightfx_get_palette(); -void LightfxAdd3DLight(const SpriteBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType); +void LightfxAdd3DLight(const EntityBase& entity, const uint8_t id, const CoordsXYZ& loc, const LightType lightType); void lightfx_add_3d_light_magic_from_drawing_tile( const CoordsXY& mapPosition, int16_t offsetX, int16_t offsetY, int16_t offsetZ, LightType lightType); @@ -79,5 +78,3 @@ void lightfx_render_to_texture( const uint32_t* lightPalette); #endif // __ENABLE_LIGHTFX__ - -#endif diff --git a/src/openrct2/drawing/Text.cpp b/src/openrct2/drawing/Text.cpp index 0c5a150993..8782f5c85b 100644 --- a/src/openrct2/drawing/Text.cpp +++ b/src/openrct2/drawing/Text.cpp @@ -141,9 +141,11 @@ void gfx_draw_string_no_formatting( } int32_t DrawTextWrapped( - rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const void* args, + rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const Formatter& ft, TextPaint textPaint) { + const void* args = ft.Data(); + utf8 buffer[512]; format_string(buffer, sizeof(buffer), format, args); @@ -165,10 +167,3 @@ int32_t DrawTextWrapped( return layout.GetHeight(); } - -int32_t DrawTextWrapped( - rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const Formatter& ft, - TextPaint textPaint) -{ - return DrawTextWrapped(dpi, coords, width, format, ft.Data(), textPaint); -} diff --git a/src/openrct2/drawing/Text.h b/src/openrct2/drawing/Text.h index c49093e8a3..87f3c63cfd 100644 --- a/src/openrct2/drawing/Text.h +++ b/src/openrct2/drawing/Text.h @@ -153,6 +153,3 @@ void DrawTextEllipsised( int32_t DrawTextWrapped( rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const Formatter& ft = {}, TextPaint textPaint = {}); -int32_t DrawTextWrapped( - rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, const void* args, - TextPaint textPaint = {}); diff --git a/src/openrct2/drawing/X8DrawingEngine.h b/src/openrct2/drawing/X8DrawingEngine.h index e462871162..b655cac749 100644 --- a/src/openrct2/drawing/X8DrawingEngine.h +++ b/src/openrct2/drawing/X8DrawingEngine.h @@ -150,6 +150,9 @@ namespace OpenRCT2 void DrawSpriteRawMasked(int32_t x, int32_t y, uint32_t maskImage, uint32_t colourImage) override; void DrawSpriteSolid(uint32_t image, int32_t x, int32_t y, uint8_t colour) override; void DrawGlyph(uint32_t image, int32_t x, int32_t y, const PaletteMap& paletteMap) override; + void DrawBitmap(uint32_t image, const void* pixels, int32_t width, int32_t height, int32_t x, int32_t y) override + { + } void SetDPI(rct_drawpixelinfo* dpi); }; diff --git a/src/openrct2/interface/Chat.cpp b/src/openrct2/interface/Chat.cpp index cbcf7a1af0..27e52fae64 100644 --- a/src/openrct2/interface/Chat.cpp +++ b/src/openrct2/interface/Chat.cpp @@ -189,9 +189,10 @@ void chat_draw(rct_drawpixelinfo* dpi, uint8_t chatBackgroundColor) screenCoords.y = _chatBottom - inputLineHeight - 5; auto lineCh = lineBuffer.c_str(); + auto ft = Formatter(); + ft.Add(lineCh); inputLineHeight = DrawTextWrapped( - dpi, screenCoords + ScreenCoordsXY{ 0, 3 }, _chatWidth - 10, STR_STRING, static_cast(&lineCh), - { TEXT_COLOUR_255 }); + dpi, screenCoords + ScreenCoordsXY{ 0, 3 }, _chatWidth - 10, STR_STRING, ft, { TEXT_COLOUR_255 }); gfx_set_dirty_blocks({ screenCoords, { screenCoords + ScreenCoordsXY{ _chatWidth, inputLineHeight + 15 } } }); // TODO: Show caret if the input text has multiple lines diff --git a/src/openrct2/interface/Chat.h b/src/openrct2/interface/Chat.h index 1a5d663e03..40db7583b9 100644 --- a/src/openrct2/interface/Chat.h +++ b/src/openrct2/interface/Chat.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CHAT_H_ -#define _CHAT_H_ +#pragma once #include "../common.h" @@ -44,5 +43,3 @@ void chat_history_add(std::string_view s); void chat_input(ChatInput input); int32_t chat_string_wrapped_get_height(void* args, int32_t width); - -#endif diff --git a/src/openrct2/interface/Colour.h b/src/openrct2/interface/Colour.h index ce4d46fec8..e4f79b65dc 100644 --- a/src/openrct2/interface/Colour.h +++ b/src/openrct2/interface/Colour.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _COLOUR_H_ -#define _COLOUR_H_ +#pragma once #include "../common.h" @@ -219,5 +218,3 @@ namespace Colour #ifndef NO_TTF uint8_t blendColours(const uint8_t paletteIndex1, const uint8_t paletteIndex2); #endif - -#endif diff --git a/src/openrct2/interface/FontFamilies.h b/src/openrct2/interface/FontFamilies.h index 35c3191c98..d227de2d20 100644 --- a/src/openrct2/interface/FontFamilies.h +++ b/src/openrct2/interface/FontFamilies.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef OPENRCT2_FONT_FAMILIES_H -#define OPENRCT2_FONT_FAMILIES_H +#pragma once #define FAMILY_OPENRCT2_SPRITE nullptr @@ -33,5 +32,3 @@ extern TTFontFamily const TTFFamilySansSerif; # define FAMILY(x) FAMILY_OPENRCT2_SPRITE #endif // NO_TTF - -#endif // OPENRCT2_FONT_FAMILIES_H diff --git a/src/openrct2/interface/Fonts.h b/src/openrct2/interface/Fonts.h index 2eaea52884..5ca8073802 100644 --- a/src/openrct2/interface/Fonts.h +++ b/src/openrct2/interface/Fonts.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef OPENRCT2_FONTS_H -#define OPENRCT2_FONTS_H +#pragma once namespace OpenRCT2::Localisation { @@ -37,5 +36,3 @@ extern TTFFontSetDescriptor TTFFontMicroHei; #endif // NO_TTF void TryLoadFonts(OpenRCT2::Localisation::LocalisationService& localisationService); - -#endif // OPENRCT2_FONTS_H diff --git a/src/openrct2/interface/InteractiveConsole.cpp b/src/openrct2/interface/InteractiveConsole.cpp index 3b15e076d9..75c1a61e53 100644 --- a/src/openrct2/interface/InteractiveConsole.cpp +++ b/src/openrct2/interface/InteractiveConsole.cpp @@ -1172,13 +1172,27 @@ static int32_t cc_open(InteractiveConsole& console, const arguments_t& argv) bool invalidTitle = false; if (argv[0] == "object_selection" && invalidArguments(&invalidTitle, !title)) { - // Only this window should be open for safety reasons - window_close_all(); - context_open_window(WC_EDITOR_OBJECT_SELECTION); + if (network_get_mode() != NETWORK_MODE_NONE) + { + console.WriteLineError("Cannot open this window in multiplayer mode."); + } + else + { + // Only this window should be open for safety reasons + window_close_all(); + context_open_window(WC_EDITOR_OBJECT_SELECTION); + } } else if (argv[0] == "inventions_list" && invalidArguments(&invalidTitle, !title)) { - context_open_window(WC_EDITOR_INVENTION_LIST); + if (network_get_mode() != NETWORK_MODE_NONE) + { + console.WriteLineError("Cannot open this window in multiplayer mode."); + } + else + { + context_open_window(WC_EDITOR_INVENTION_LIST); + } } else if (argv[0] == "scenario_options" && invalidArguments(&invalidTitle, !title)) { @@ -1186,7 +1200,14 @@ static int32_t cc_open(InteractiveConsole& console, const arguments_t& argv) } else if (argv[0] == "objective_options" && invalidArguments(&invalidTitle, !title)) { - context_open_window(WC_EDITOR_OBJECTIVE_OPTIONS); + if (network_get_mode() != NETWORK_MODE_NONE) + { + console.WriteLineError("Cannot open this window in multiplayer mode."); + } + else + { + context_open_window(WC_EDITOR_OBJECTIVE_OPTIONS); + } } else if (argv[0] == "options") { diff --git a/src/openrct2/interface/Viewport.cpp b/src/openrct2/interface/Viewport.cpp index 345878f295..3b6fc35b4b 100644 --- a/src/openrct2/interface/Viewport.cpp +++ b/src/openrct2/interface/Viewport.cpp @@ -239,7 +239,12 @@ CoordsXYZ viewport_adjust_for_map_height(const ScreenCoordsXY& startCoords) auto max = GetMapSizeMinus2(); if (pos.x > max && pos.y > max) { - const CoordsXY corr[] = { { -1, -1 }, { 1, -1 }, { 1, 1 }, { -1, 1 } }; + static constexpr CoordsXY corr[] = { + { -1, -1 }, + { 1, -1 }, + { 1, 1 }, + { -1, 1 }, + }; pos.x += corr[rotation].x * height; pos.y += corr[rotation].y * height; } @@ -1148,11 +1153,9 @@ void rct_viewport::Invalidate() const CoordsXY viewport_coord_to_map_coord(const ScreenCoordsXY& coords, int32_t z) { - constexpr uint8_t inverseRotationMapping[NumOrthogonalDirections] = { 0, 3, 2, 1 }; - // Reverse of translate_3d_to_2d_with_z CoordsXY ret = { coords.y - coords.x / 2 + z, coords.y + coords.x / 2 + z }; - auto inverseRotation = inverseRotationMapping[get_current_rotation()]; + auto inverseRotation = DirectionFlipXAxis(get_current_rotation()); return ret.Rotate(inverseRotation); } diff --git a/src/openrct2/interface/Viewport.h b/src/openrct2/interface/Viewport.h index e5ae588f0b..3bd4f8880a 100644 --- a/src/openrct2/interface/Viewport.h +++ b/src/openrct2/interface/Viewport.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VIEWPORT_H_ -#define _VIEWPORT_H_ +#pragma once #include "../world/Location.hpp" #include "Window.h" @@ -25,7 +24,7 @@ struct Peep; struct TileElement; struct rct_window; union paint_entry; -struct SpriteBase; +struct EntityBase; enum { @@ -78,7 +77,7 @@ struct InteractionInfo union { TileElement* Element = nullptr; - SpriteBase* Entity; + EntityBase* Entity; }; ViewportInteractionItem SpriteType = ViewportInteractionItem::None; }; @@ -161,5 +160,3 @@ uint8_t get_current_rotation(); int32_t get_height_marker_offset(); void viewport_set_saved_view(); - -#endif diff --git a/src/openrct2/interface/Widget.h b/src/openrct2/interface/Widget.h index 3f8735f90b..c7ec7a485a 100644 --- a/src/openrct2/interface/Widget.h +++ b/src/openrct2/interface/Widget.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _WIDGET_H_ -#define _WIDGET_H_ +#pragma once #include "../localisation/StringIds.h" #include "Window.h" @@ -152,5 +151,3 @@ void WidgetSetDisabled(rct_window* w, rct_widgetindex widgetIndex, bool value); void WidgetSetHoldable(rct_window* w, rct_widgetindex widgetIndex, bool value); void WidgetSetVisible(rct_window* w, rct_widgetindex widgetIndex, bool value); void WidgetSetCheckboxValue(rct_window* w, rct_widgetindex widgetIndex, int32_t value); - -#endif diff --git a/src/openrct2/interface/Window.cpp b/src/openrct2/interface/Window.cpp index 000d6e4d3b..4e2c6aa70d 100644 --- a/src/openrct2/interface/Window.cpp +++ b/src/openrct2/interface/Window.cpp @@ -41,7 +41,6 @@ std::list> g_window_list; rct_window* gWindowAudioExclusive; -uint16_t TextInputDescriptionArgs[4]; widget_identifier gCurrentTextBox = { { 255, 0 }, 0 }; char gTextBoxInput[TEXT_INPUT_SIZE] = { 0 }; int32_t gMaxTextBoxInputLength = 0; diff --git a/src/openrct2/interface/Window.h b/src/openrct2/interface/Window.h index 88f1881218..274c3e1ed2 100644 --- a/src/openrct2/interface/Window.h +++ b/src/openrct2/interface/Window.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _WINDOW_H_ -#define _WINDOW_H_ +#pragma once #include "../common.h" #include "../localisation/Formatter.h" @@ -42,7 +41,6 @@ enum class RideConstructionState : uint8_t; #define TEXT_INPUT_SIZE 1024 #define TOP_TOOLBAR_HEIGHT 27 -extern uint16_t TextInputDescriptionArgs[4]; extern char gTextBoxInput[TEXT_INPUT_SIZE]; extern int32_t gMaxTextBoxInputLength; extern int32_t gTextBoxFrameNo; @@ -881,5 +879,3 @@ extern bool _deferClose; rct_window* window_get_listening(); rct_windowclass window_get_classification(rct_window* window); - -#endif diff --git a/src/openrct2/libopenrct2.vcxproj b/src/openrct2/libopenrct2.vcxproj index 4823238c33..a989cc7312 100644 --- a/src/openrct2/libopenrct2.vcxproj +++ b/src/openrct2/libopenrct2.vcxproj @@ -476,7 +476,7 @@ - + diff --git a/src/openrct2/localisation/Currency.h b/src/openrct2/localisation/Currency.h index a926f70bf8..9acb00e791 100644 --- a/src/openrct2/localisation/Currency.h +++ b/src/openrct2/localisation/Currency.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef CURRENCY_H -#define CURRENCY_H +#pragma once #include "../common.h" @@ -68,5 +67,3 @@ extern currency_descriptor CurrencyDescriptors[static_cast(CurrencyType * custom currency entry */ void currency_load_custom_currency_config(); - -#endif diff --git a/src/openrct2/localisation/Date.h b/src/openrct2/localisation/Date.h index f8de349382..b9099e218d 100644 --- a/src/openrct2/localisation/Date.h +++ b/src/openrct2/localisation/Date.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DATE_H_ -#define _DATE_H_ +#pragma once #include "../common.h" @@ -64,5 +63,3 @@ bool date_is_day_start(int32_t monthTicks); bool date_is_week_start(int32_t monthTicks); bool date_is_fortnight_start(int32_t monthTicks); bool date_is_month_start(int32_t monthTicks); - -#endif diff --git a/src/openrct2/localisation/Language.h b/src/openrct2/localisation/Language.h index 557bbe4197..9723da13f1 100644 --- a/src/openrct2/localisation/Language.h +++ b/src/openrct2/localisation/Language.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _LANGUAGE_H_ -#define _LANGUAGE_H_ +#pragma once #include "../common.h" #include "../drawing/Font.h" @@ -137,5 +136,3 @@ constexpr utf8* utf8_write_codepoint(utf8* dst, uint32_t codepoint) return dst + 4; } } - -#endif diff --git a/src/openrct2/localisation/LanguagePack.cpp b/src/openrct2/localisation/LanguagePack.cpp index b17e29017d..4f75eab211 100644 --- a/src/openrct2/localisation/LanguagePack.cpp +++ b/src/openrct2/localisation/LanguagePack.cpp @@ -20,6 +20,7 @@ #include "Localisation.h" #include +#include #include #include @@ -62,7 +63,7 @@ private: ScenarioOverride* _currentScenarioOverride = nullptr; public: - static LanguagePack* FromFile(uint16_t id, const utf8* path) + static std::unique_ptr FromFile(uint16_t id, const utf8* path) { Guard::ArgumentNotNull(path); @@ -90,15 +91,15 @@ public: } // Parse the memory as text - LanguagePack* result = FromText(id, fileData); + auto result = FromText(id, fileData); Memory::Free(fileData); return result; } - static LanguagePack* FromText(uint16_t id, const utf8* text) + static std::unique_ptr FromText(uint16_t id, const utf8* text) { - return new LanguagePack(id, text); + return std::make_unique(id, text); } LanguagePack(uint16_t id, const utf8* text) @@ -579,13 +580,13 @@ private: namespace LanguagePackFactory { - ILanguagePack* FromFile(uint16_t id, const utf8* path) + std::unique_ptr FromFile(uint16_t id, const utf8* path) { auto languagePack = LanguagePack::FromFile(id, path); return languagePack; } - ILanguagePack* FromText(uint16_t id, const utf8* text) + std::unique_ptr FromText(uint16_t id, const utf8* text) { auto languagePack = LanguagePack::FromText(id, text); return languagePack; diff --git a/src/openrct2/localisation/LanguagePack.h b/src/openrct2/localisation/LanguagePack.h index e6301b9135..ef3a17bbbf 100644 --- a/src/openrct2/localisation/LanguagePack.h +++ b/src/openrct2/localisation/LanguagePack.h @@ -11,6 +11,7 @@ #include "../common.h" +#include #include #include @@ -30,6 +31,6 @@ struct ILanguagePack namespace LanguagePackFactory { - ILanguagePack* FromFile(uint16_t id, const utf8* path); - ILanguagePack* FromText(uint16_t id, const utf8* text); + std::unique_ptr FromFile(uint16_t id, const utf8* path); + std::unique_ptr FromText(uint16_t id, const utf8* text); } // namespace LanguagePackFactory diff --git a/src/openrct2/localisation/Localisation.h b/src/openrct2/localisation/Localisation.h index 140023c147..b31df20aa7 100644 --- a/src/openrct2/localisation/Localisation.h +++ b/src/openrct2/localisation/Localisation.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef LOCALISATION_H -#define LOCALISATION_H +#pragma once #include "../management/Marketing.h" #include "Currency.h" @@ -68,5 +67,3 @@ extern const rct_string_id PeepThoughts[174]; extern const rct_string_id DateDayNames[31]; extern const rct_string_id DateGameMonthNames[MONTH_COUNT]; extern const rct_string_id DateGameShortMonthNames[MONTH_COUNT]; - -#endif diff --git a/src/openrct2/localisation/LocalisationService.cpp b/src/openrct2/localisation/LocalisationService.cpp index db3683d51f..5d41126902 100644 --- a/src/openrct2/localisation/LocalisationService.cpp +++ b/src/openrct2/localisation/LocalisationService.cpp @@ -98,12 +98,11 @@ void LocalisationService::OpenLanguage(int32_t id) if (id != LANGUAGE_ENGLISH_UK) { filename = GetLanguagePath(LANGUAGE_ENGLISH_UK); - _languageFallback = std::unique_ptr( - LanguagePackFactory::FromFile(LANGUAGE_ENGLISH_UK, filename.c_str())); + _languageFallback = LanguagePackFactory::FromFile(LANGUAGE_ENGLISH_UK, filename.c_str()); } filename = GetLanguagePath(id); - _languageCurrent = std::unique_ptr(LanguagePackFactory::FromFile(id, filename.c_str())); + _languageCurrent = LanguagePackFactory::FromFile(id, filename.c_str()); if (_languageCurrent != nullptr) { _currentLanguage = id; diff --git a/src/openrct2/localisation/StringIds.h b/src/openrct2/localisation/StringIds.h index 3515c79d0f..1a4243a460 100644 --- a/src/openrct2/localisation/StringIds.h +++ b/src/openrct2/localisation/StringIds.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _STRING_IDS_H_ -#define _STRING_IDS_H_ +#pragma once #include "../common.h" @@ -3920,5 +3919,3 @@ enum // 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 }; - -#endif diff --git a/src/openrct2/network/NetworkBase.cpp b/src/openrct2/network/NetworkBase.cpp index d692b6735a..d8c3ff70b1 100644 --- a/src/openrct2/network/NetworkBase.cpp +++ b/src/openrct2/network/NetworkBase.cpp @@ -40,7 +40,7 @@ // This string specifies which version of network stream current build uses. // It is used for making sure only compatible builds get connected, even within // single OpenRCT2 version. -#define NETWORK_STREAM_VERSION "4" +#define NETWORK_STREAM_VERSION "6" #define NETWORK_STREAM_ID OPENRCT2_VERSION "-" NETWORK_STREAM_VERSION static Peep* _pickup_peep = nullptr; diff --git a/src/openrct2/network/NetworkKey.h b/src/openrct2/network/NetworkKey.h index 73f58de2b6..2cbe16c431 100644 --- a/src/openrct2/network/NetworkKey.h +++ b/src/openrct2/network/NetworkKey.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef NETWORKKEY_H -#define NETWORKKEY_H +#pragma once #ifndef DISABLE_NETWORK @@ -50,5 +49,3 @@ private: }; #endif // DISABLE_NETWORK - -#endif // NETWORKKEY_H diff --git a/src/openrct2/network/NetworkServerAdvertiser.h b/src/openrct2/network/NetworkServerAdvertiser.h index b4581ca9f6..e49882d93f 100644 --- a/src/openrct2/network/NetworkServerAdvertiser.h +++ b/src/openrct2/network/NetworkServerAdvertiser.h @@ -30,4 +30,4 @@ struct INetworkServerAdvertiser virtual void Update() abstract; }; -std::unique_ptr CreateServerAdvertiser(uint16_t port); +[[nodiscard]] std::unique_ptr CreateServerAdvertiser(uint16_t port); diff --git a/src/openrct2/network/Socket.h b/src/openrct2/network/Socket.h index 9100d959a9..81b6ea2911 100644 --- a/src/openrct2/network/Socket.h +++ b/src/openrct2/network/Socket.h @@ -60,7 +60,7 @@ public: virtual void Listen(uint16_t port) abstract; virtual void Listen(const std::string& address, uint16_t port) abstract; - virtual std::unique_ptr Accept() abstract; + [[nodiscard]] virtual std::unique_ptr Accept() abstract; virtual void Connect(const std::string& address, uint16_t port) abstract; virtual void ConnectAsync(const std::string& address, uint16_t port) abstract; @@ -98,9 +98,9 @@ public: virtual void Close() abstract; }; -std::unique_ptr CreateTcpSocket(); -std::unique_ptr CreateUdpSocket(); -std::vector> GetBroadcastAddresses(); +[[nodiscard]] std::unique_ptr CreateTcpSocket(); +[[nodiscard]] std::unique_ptr CreateUdpSocket(); +[[nodiscard]] std::vector> GetBroadcastAddresses(); namespace Convert { diff --git a/src/openrct2/network/network.h b/src/openrct2/network/network.h index bd603c0e8d..6e5e246fb6 100644 --- a/src/openrct2/network/network.h +++ b/src/openrct2/network/network.h @@ -48,8 +48,8 @@ void network_shutdown_client(); int32_t network_begin_client(const std::string& host, int32_t port); int32_t network_begin_server(int32_t port, const std::string& address); -int32_t network_get_mode(); -int32_t network_get_status(); +[[nodiscard]] int32_t network_get_mode(); +[[nodiscard]] int32_t network_get_status(); bool network_is_desynchronised(); bool network_check_desynchronisation(); void network_request_gamestate_snapshot(); @@ -59,46 +59,46 @@ void network_update(); void network_process_pending(); void network_flush(); -NetworkAuth network_get_authstatus(); -uint32_t network_get_server_tick(); -uint8_t network_get_current_player_id(); -int32_t network_get_num_players(); -const char* network_get_player_name(uint32_t index); -uint32_t network_get_player_flags(uint32_t index); -int32_t network_get_player_ping(uint32_t index); -int32_t network_get_player_id(uint32_t index); -money32 network_get_player_money_spent(uint32_t index); -std::string network_get_player_ip_address(uint32_t id); -std::string network_get_player_public_key_hash(uint32_t id); +[[nodiscard]] NetworkAuth network_get_authstatus(); +[[nodiscard]] uint32_t network_get_server_tick(); +[[nodiscard]] uint8_t network_get_current_player_id(); +[[nodiscard]] int32_t network_get_num_players(); +[[nodiscard]] const char* network_get_player_name(uint32_t index); +[[nodiscard]] uint32_t network_get_player_flags(uint32_t index); +[[nodiscard]] int32_t network_get_player_ping(uint32_t index); +[[nodiscard]] int32_t network_get_player_id(uint32_t index); +[[nodiscard]] money32 network_get_player_money_spent(uint32_t index); +[[nodiscard]] std::string network_get_player_ip_address(uint32_t id); +[[nodiscard]] std::string network_get_player_public_key_hash(uint32_t id); void network_add_player_money_spent(uint32_t index, money32 cost); -int32_t network_get_player_last_action(uint32_t index, int32_t time); +[[nodiscard]] int32_t network_get_player_last_action(uint32_t index, int32_t time); void network_set_player_last_action(uint32_t index, GameCommand command); -CoordsXYZ network_get_player_last_action_coord(uint32_t index); +[[nodiscard]] CoordsXYZ network_get_player_last_action_coord(uint32_t index); void network_set_player_last_action_coord(uint32_t index, const CoordsXYZ& coord); -uint32_t network_get_player_commands_ran(uint32_t index); -int32_t network_get_player_index(uint32_t id); -uint8_t network_get_player_group(uint32_t index); +[[nodiscard]] uint32_t network_get_player_commands_ran(uint32_t index); +[[nodiscard]] int32_t network_get_player_index(uint32_t id); +[[nodiscard]] uint8_t network_get_player_group(uint32_t index); void network_set_player_group(uint32_t index, uint32_t groupindex); -int32_t network_get_group_index(uint8_t id); -int32_t network_get_current_player_group_index(); -uint8_t network_get_group_id(uint32_t index); -int32_t network_get_num_groups(); -const char* network_get_group_name(uint32_t index); -std::unique_ptr network_set_player_group( +[[nodiscard]] int32_t network_get_group_index(uint8_t id); +[[nodiscard]] int32_t network_get_current_player_group_index(); +[[nodiscard]] uint8_t network_get_group_id(uint32_t index); +[[nodiscard]] int32_t network_get_num_groups(); +[[nodiscard]] const char* network_get_group_name(uint32_t index); +[[nodiscard]] std::unique_ptr network_set_player_group( NetworkPlayerId_t actionPlayerId, NetworkPlayerId_t playerId, uint8_t groupId, bool isExecuting); -std::unique_ptr network_modify_groups( +[[nodiscard]] std::unique_ptr network_modify_groups( NetworkPlayerId_t actionPlayerId, ModifyGroupType type, uint8_t groupId, const std::string& name, uint32_t permissionIndex, PermissionState permissionState, bool isExecuting); -std::unique_ptr network_kick_player(NetworkPlayerId_t playerId, bool isExecuting); -uint8_t network_get_default_group(); -int32_t network_get_num_actions(); -rct_string_id network_get_action_name_string_id(uint32_t index); -int32_t network_can_perform_action(uint32_t groupindex, NetworkPermission index); -int32_t network_can_perform_command(uint32_t groupindex, int32_t index); +[[nodiscard]] std::unique_ptr network_kick_player(NetworkPlayerId_t playerId, bool isExecuting); +[[nodiscard]] uint8_t network_get_default_group(); +[[nodiscard]] int32_t network_get_num_actions(); +[[nodiscard]] rct_string_id network_get_action_name_string_id(uint32_t index); +[[nodiscard]] int32_t network_can_perform_action(uint32_t groupindex, NetworkPermission index); +[[nodiscard]] int32_t network_can_perform_command(uint32_t groupindex, int32_t index); void network_set_pickup_peep(uint8_t playerid, Peep* peep); -Peep* network_get_pickup_peep(uint8_t playerid); +[[nodiscard]] Peep* network_get_pickup_peep(uint8_t playerid); void network_set_pickup_peep_old_x(uint8_t playerid, int32_t x); -int32_t network_get_pickup_peep_old_x(uint8_t playerid); +[[nodiscard]] int32_t network_get_pickup_peep_old_x(uint8_t playerid); void network_send_map(); void network_send_chat(const char* text, const std::vector& playerIds = {}); @@ -111,15 +111,15 @@ void network_set_password(const char* password); void network_print_error(); void network_append_chat_log(std::string_view text); void network_append_server_log(const utf8* text); -const utf8* network_get_server_name(); -const utf8* network_get_server_description(); -const utf8* network_get_server_greeting(); -const utf8* network_get_server_provider_name(); -const utf8* network_get_server_provider_email(); -const utf8* network_get_server_provider_website(); +[[nodiscard]] const utf8* network_get_server_name(); +[[nodiscard]] const utf8* network_get_server_description(); +[[nodiscard]] const utf8* network_get_server_greeting(); +[[nodiscard]] const utf8* network_get_server_provider_name(); +[[nodiscard]] const utf8* network_get_server_provider_email(); +[[nodiscard]] const utf8* network_get_server_provider_website(); -std::string network_get_version(); +[[nodiscard]] std::string network_get_version(); -NetworkStats_t network_get_stats(); -NetworkServerState_t network_get_server_state(); -json_t network_get_server_info_as_json(); +[[nodiscard]] NetworkStats_t network_get_stats(); +[[nodiscard]] NetworkServerState_t network_get_server_state(); +[[nodiscard]] json_t network_get_server_info_as_json(); diff --git a/src/openrct2/object/ImageTable.h b/src/openrct2/object/ImageTable.h index 554991273c..2d68fbce68 100644 --- a/src/openrct2/object/ImageTable.h +++ b/src/openrct2/object/ImageTable.h @@ -33,17 +33,18 @@ private: * Container for a G1 image, additional information and RAII. Used by ReadJson */ struct RequiredImage; - std::vector> GetImageSources(IReadObjectContext* context, json_t& jsonImages); - static std::vector> ParseImages(IReadObjectContext* context, std::string s); + [[nodiscard]] std::vector> GetImageSources(IReadObjectContext* context, json_t& jsonImages); + [[nodiscard]] static std::vector> ParseImages( + IReadObjectContext* context, std::string s); /** * @note root is deliberately left non-const: json_t behaviour changes when const */ - static std::vector> ParseImages( + [[nodiscard]] static std::vector> ParseImages( IReadObjectContext* context, std::vector>& imageSources, json_t& el); - static std::vector> LoadObjectImages( + [[nodiscard]] static std::vector> LoadObjectImages( IReadObjectContext* context, const std::string& name, const std::vector& range); - static std::vector ParseRange(std::string s); - static std::string FindLegacyObject(const std::string& name); + [[nodiscard]] static std::vector ParseRange(std::string s); + [[nodiscard]] static std::string FindLegacyObject(const std::string& name); public: ImageTable() = default; diff --git a/src/openrct2/object/LargeSceneryObject.h b/src/openrct2/object/LargeSceneryObject.h index d4ee356e9d..84c587100d 100644 --- a/src/openrct2/object/LargeSceneryObject.h +++ b/src/openrct2/object/LargeSceneryObject.h @@ -38,9 +38,9 @@ public: const rct_large_scenery_tile* GetTileForSequence(uint8_t SequenceIndex) const; private: - static std::vector ReadTiles(OpenRCT2::IStream* stream); - static std::vector ReadJsonTiles(json_t& jTiles); - static std::unique_ptr ReadJson3dFont(json_t& j3dFont); - static std::vector ReadJsonOffsets(json_t& jOffsets); - static std::vector ReadJsonGlyphs(json_t& jGlyphs); + [[nodiscard]] static std::vector ReadTiles(OpenRCT2::IStream* stream); + [[nodiscard]] static std::vector ReadJsonTiles(json_t& jTiles); + [[nodiscard]] static std::unique_ptr ReadJson3dFont(json_t& j3dFont); + [[nodiscard]] static std::vector ReadJsonOffsets(json_t& jOffsets); + [[nodiscard]] static std::vector ReadJsonGlyphs(json_t& jGlyphs); }; diff --git a/src/openrct2/object/Object.h b/src/openrct2/object/Object.h index f63f969a74..be38e02194 100644 --- a/src/openrct2/object/Object.h +++ b/src/openrct2/object/Object.h @@ -225,9 +225,9 @@ public: { } - bool IsAvailable() const; - uint64_t GetSize() const; - std::unique_ptr GetStream() const; + [[nodiscard]] bool IsAvailable() const; + [[nodiscard]] uint64_t GetSize() const; + [[nodiscard]] std::unique_ptr GetStream() const; }; struct IReadObjectContext diff --git a/src/openrct2/object/ObjectFactory.h b/src/openrct2/object/ObjectFactory.h index 5f8d9772e8..6aef398f28 100644 --- a/src/openrct2/object/ObjectFactory.h +++ b/src/openrct2/object/ObjectFactory.h @@ -21,11 +21,12 @@ enum class ObjectType : uint8_t; namespace ObjectFactory { - std::unique_ptr CreateObjectFromLegacyFile(IObjectRepository& objectRepository, const utf8* path); - std::unique_ptr CreateObjectFromLegacyData( + [[nodiscard]] std::unique_ptr CreateObjectFromLegacyFile(IObjectRepository& objectRepository, const utf8* path); + [[nodiscard]] std::unique_ptr CreateObjectFromLegacyData( IObjectRepository& objectRepository, const rct_object_entry* entry, const void* data, size_t dataSize); - std::unique_ptr CreateObjectFromZipFile(IObjectRepository& objectRepository, std::string_view path); - std::unique_ptr CreateObject(ObjectType type); + [[nodiscard]] std::unique_ptr CreateObjectFromZipFile(IObjectRepository& objectRepository, std::string_view path); + [[nodiscard]] std::unique_ptr CreateObject(ObjectType type); - std::unique_ptr CreateObjectFromJsonFile(IObjectRepository& objectRepository, const std::string& path); + [[nodiscard]] std::unique_ptr CreateObjectFromJsonFile( + IObjectRepository& objectRepository, const std::string& path); } // namespace ObjectFactory diff --git a/src/openrct2/object/ObjectManager.h b/src/openrct2/object/ObjectManager.h index 847e476688..d1a7c51798 100644 --- a/src/openrct2/object/ObjectManager.h +++ b/src/openrct2/object/ObjectManager.h @@ -46,13 +46,13 @@ struct IObjectManager virtual const std::vector& GetAllRideEntries(uint8_t rideType) abstract; }; -std::unique_ptr CreateObjectManager(IObjectRepository& objectRepository); +[[nodiscard]] std::unique_ptr CreateObjectManager(IObjectRepository& objectRepository); -Object* object_manager_get_loaded_object_by_index(size_t index); -Object* object_manager_get_loaded_object(const ObjectEntryDescriptor& entry); -ObjectEntryIndex object_manager_get_loaded_object_entry_index(const Object* loadedObject); -ObjectEntryIndex object_manager_get_loaded_object_entry_index(const ObjectEntryDescriptor& entry); +[[nodiscard]] Object* object_manager_get_loaded_object_by_index(size_t index); +[[nodiscard]] Object* object_manager_get_loaded_object(const ObjectEntryDescriptor& entry); +[[nodiscard]] ObjectEntryIndex object_manager_get_loaded_object_entry_index(const Object* loadedObject); +[[nodiscard]] ObjectEntryIndex object_manager_get_loaded_object_entry_index(const ObjectEntryDescriptor& entry); Object* object_manager_load_object(const rct_object_entry* entry); void object_manager_unload_objects(const std::vector& entries); void object_manager_unload_all_objects(); -rct_string_id object_manager_get_source_game_string(const ObjectSourceGame sourceGame); +[[nodiscard]] rct_string_id object_manager_get_source_game_string(const ObjectSourceGame sourceGame); diff --git a/src/openrct2/object/ObjectRepository.h b/src/openrct2/object/ObjectRepository.h index 3df9b74652..a62e43cf45 100644 --- a/src/openrct2/object/ObjectRepository.h +++ b/src/openrct2/object/ObjectRepository.h @@ -61,7 +61,7 @@ struct ObjectRepositoryItem uint8_t Flags{}; } FootpathSurfaceInfo; - ObjectSourceGame GetFirstSourceGame() const + [[nodiscard]] ObjectSourceGame GetFirstSourceGame() const { if (Sources.empty()) return ObjectSourceGame::Custom; @@ -76,14 +76,14 @@ struct IObjectRepository virtual void LoadOrConstruct(int32_t language) abstract; virtual void Construct(int32_t language) abstract; - virtual size_t GetNumObjects() const abstract; - virtual const ObjectRepositoryItem* GetObjects() const abstract; - virtual const ObjectRepositoryItem* FindObjectLegacy(std::string_view legacyIdentifier) const abstract; - virtual const ObjectRepositoryItem* FindObject(std::string_view identifier) const abstract; - virtual const ObjectRepositoryItem* FindObject(const rct_object_entry* objectEntry) const abstract; - virtual const ObjectRepositoryItem* FindObject(const ObjectEntryDescriptor& oed) const abstract; + [[nodiscard]] virtual size_t GetNumObjects() const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* GetObjects() const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObjectLegacy(std::string_view legacyIdentifier) const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObject(std::string_view identifier) const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObject(const rct_object_entry* objectEntry) const abstract; + [[nodiscard]] virtual const ObjectRepositoryItem* FindObject(const ObjectEntryDescriptor& oed) const abstract; - virtual std::unique_ptr LoadObject(const ObjectRepositoryItem* ori) abstract; + [[nodiscard]] virtual std::unique_ptr LoadObject(const ObjectRepositoryItem* ori) abstract; virtual void RegisterLoadedObject(const ObjectRepositoryItem* ori, Object* object) abstract; virtual void UnregisterLoadedObject(const ObjectRepositoryItem* ori, Object* object) abstract; @@ -95,12 +95,13 @@ struct IObjectRepository virtual void WritePackedObjects(OpenRCT2::IStream* stream, std::vector& objects) abstract; }; -std::unique_ptr CreateObjectRepository(const std::shared_ptr& env); +[[nodiscard]] std::unique_ptr CreateObjectRepository( + const std::shared_ptr& env); -bool IsObjectCustom(const ObjectRepositoryItem* object); +[[nodiscard]] bool IsObjectCustom(const ObjectRepositoryItem* object); -size_t object_repository_get_items_count(); -const ObjectRepositoryItem* object_repository_get_items(); -const ObjectRepositoryItem* object_repository_find_object_by_entry(const rct_object_entry* entry); -const ObjectRepositoryItem* object_repository_find_object_by_name(const char* name); -std::unique_ptr object_repository_load_object(const rct_object_entry* objectEntry); +[[nodiscard]] size_t object_repository_get_items_count(); +[[nodiscard]] const ObjectRepositoryItem* object_repository_get_items(); +[[nodiscard]] const ObjectRepositoryItem* object_repository_find_object_by_entry(const rct_object_entry* entry); +[[nodiscard]] const ObjectRepositoryItem* object_repository_find_object_by_name(const char* name); +[[nodiscard]] std::unique_ptr object_repository_load_object(const rct_object_entry* objectEntry); diff --git a/src/openrct2/paint/Paint.cpp b/src/openrct2/paint/Paint.cpp index d1685b0da4..a27565383e 100644 --- a/src/openrct2/paint/Paint.cpp +++ b/src/openrct2/paint/Paint.cpp @@ -145,7 +145,7 @@ static paint_struct* CreateNormalPaintStruct( return nullptr; } - const uint8_t swappedRotation = (session->CurrentRotation * 3) % 4; // swaps 1 and 3 + const auto swappedRotation = DirectionFlipXAxis(session->CurrentRotation); auto swappedRotCoord = CoordsXYZ{ offset.Rotate(swappedRotation), offset.z }; swappedRotCoord += session->SpritePosition; @@ -231,10 +231,7 @@ template void PaintSessionGenerateRotate(paint_session* sessi void PaintSessionGenerate(paint_session* session) { session->CurrentRotation = get_current_rotation(); - - // Extracted from viewport_coord_to_map_coord - constexpr uint8_t inverseRotationMapping[NumOrthogonalDirections] = { 0, 3, 2, 1 }; - switch (inverseRotationMapping[session->CurrentRotation]) + switch (DirectionFlipXAxis(session->CurrentRotation)) { case 0: PaintSessionGenerateRotate<0>(session); @@ -727,14 +724,6 @@ paint_struct* PaintAddImageAsParent( return PaintAddImageAsParent(session, image_id, offset, boundBoxSize, offset); } -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset) -{ - return PaintAddImageAsParent( - session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }); -} - /** * rct2: 0x00686806, 0x006869B2, 0x00686B6F, 0x00686D31, 0x0098197C * @@ -769,16 +758,6 @@ paint_struct* PaintAddImageAsParent( return ps; } -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, - int32_t bound_box_offset_y, int32_t bound_box_offset_z) -{ - return PaintAddImageAsParent( - session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, - { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); -} - /** * * rct2: 0x00686EF0, 0x00687056, 0x006871C8, 0x0068733C, 0x0098198C @@ -801,9 +780,6 @@ paint_struct* PaintAddImageAsParent( int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, int32_t bound_box_offset_y, int32_t bound_box_offset_z) { - assert(bound_box_length_x > 0); - assert(bound_box_length_y > 0); - session->LastPS = nullptr; session->LastAttachedPS = nullptr; @@ -863,8 +839,6 @@ paint_struct* PaintAddImageAsChild( int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, int32_t bound_box_offset_y, int32_t bound_box_offset_z) { - /*assert(bound_box_length_x > 0); - assert(bound_box_length_y > 0);*/ return PaintAddImageAsChild( session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); diff --git a/src/openrct2/paint/Paint.h b/src/openrct2/paint/Paint.h index d19d90e5cf..bf1f72e38d 100644 --- a/src/openrct2/paint/Paint.h +++ b/src/openrct2/paint/Paint.h @@ -280,15 +280,8 @@ extern bool gPaintBoundingBoxes; extern bool gPaintBlockedTiles; extern bool gPaintWidePathsAsGhost; -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset); paint_struct* PaintAddImageAsParent( paint_session* session, uint32_t image_id, const CoordsXYZ& offset, const CoordsXYZ& boundBoxSize); -paint_struct* PaintAddImageAsParent( - paint_session* session, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, - int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, - int32_t bound_box_offset_y, int32_t bound_box_offset_z); paint_struct* PaintAddImageAsParent( paint_session* session, uint32_t image_id, const CoordsXYZ& offset, const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset); @@ -315,6 +308,15 @@ paint_struct* PaintAddImageAsChildRotated( paint_session* session, uint8_t direction, uint32_t image_id, int32_t x_offset, int32_t y_offset, int32_t bound_box_length_x, int32_t bound_box_length_y, int32_t bound_box_length_z, int32_t z_offset, int32_t bound_box_offset_x, int32_t bound_box_offset_y, int32_t bound_box_offset_z); +paint_struct* PaintAddImageAsChildRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset); +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize); +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset); void paint_util_push_tunnel_rotated(paint_session* session, uint8_t direction, uint16_t height, uint8_t type); diff --git a/src/openrct2/paint/PaintHelpers.cpp b/src/openrct2/paint/PaintHelpers.cpp index bc934fc77e..1868ef8afa 100644 --- a/src/openrct2/paint/PaintHelpers.cpp +++ b/src/openrct2/paint/PaintHelpers.cpp @@ -37,14 +37,45 @@ paint_struct* PaintAddImageAsParentRotated( if (direction & 1) { return PaintAddImageAsParent( - session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, - bound_box_offset_y, bound_box_offset_x, bound_box_offset_z); + session, image_id, { y_offset, x_offset, z_offset }, { bound_box_length_y, bound_box_length_x, bound_box_length_z }, + { bound_box_offset_y, bound_box_offset_x, bound_box_offset_z }); } else { return PaintAddImageAsParent( - session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, - bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); + session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, + { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); + } +} + +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset) +{ + if (direction & 1) + { + return PaintAddImageAsParent( + session, image_id, { offset.y, offset.x, offset.z }, { boundBoxSize.y, boundBoxSize.x, boundBoxSize.z }, + { boundBoxOffset.y, boundBoxOffset.x, boundBoxOffset.z }); + } + else + { + return PaintAddImageAsParent(session, image_id, offset, boundBoxSize, boundBoxOffset); + } +} + +paint_struct* PaintAddImageAsParentRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize) +{ + if (direction & 1) + { + return PaintAddImageAsParent( + session, image_id, { offset.y, offset.x, offset.z }, { boundBoxSize.y, boundBoxSize.x, boundBoxSize.z }); + } + else + { + return PaintAddImageAsParent(session, image_id, offset, boundBoxSize); } } @@ -67,6 +98,22 @@ paint_struct* PaintAddImageAsChildRotated( } } +paint_struct* PaintAddImageAsChildRotated( + paint_session* session, const uint8_t direction, const uint32_t image_id, const CoordsXYZ& offset, + const CoordsXYZ& boundBoxSize, const CoordsXYZ& boundBoxOffset) +{ + if (direction & 1) + { + return PaintAddImageAsChild( + session, image_id, { offset.y, offset.x, offset.z }, { boundBoxSize.y, boundBoxSize.x, boundBoxSize.z }, + { boundBoxOffset.y, boundBoxOffset.x, boundBoxOffset.z }); + } + else + { + return PaintAddImageAsChild(session, image_id, offset, boundBoxSize, boundBoxOffset); + } +} + void paint_util_push_tunnel_rotated(paint_session* session, uint8_t direction, uint16_t height, uint8_t type) { if (direction & 1) diff --git a/src/openrct2/paint/Supports.cpp b/src/openrct2/paint/Supports.cpp index 4060f62505..57f6b5c40a 100644 --- a/src/openrct2/paint/Supports.cpp +++ b/src/openrct2/paint/Supports.cpp @@ -306,12 +306,8 @@ static constexpr const uint16_t* WoodenCurveSupportImageIds[12] = { }; struct unk_supports_desc_bound_box { - struct { - uint8_t x, y, z; - } offset; - struct { - uint8_t x, y, z; - } length; + CoordsXYZ offset; + CoordsXYZ length; }; struct unk_supports_desc { @@ -461,13 +457,8 @@ static constexpr const uint16_t word_97B3C4[] = { * @returns (al) true if any supports have been drawn, otherwise false. */ bool wooden_a_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground) + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags) { - if (underground != nullptr) - { - *underground = false; - } - if (session->ViewFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { return false; @@ -482,10 +473,6 @@ bool wooden_a_supports_paint_setup( height -= z; if (height < 0) { - if (underground != nullptr) - { - *underground = true; - } return false; } height /= 16; @@ -506,10 +493,6 @@ bool wooden_a_supports_paint_setup( height -= 2; if (height < 0) { - if (underground != nullptr) - { - *underground = true; - } return false; } @@ -536,10 +519,6 @@ bool wooden_a_supports_paint_setup( height--; if (height < 0) { - if (underground != nullptr) - { - *underground = true; - } return false; } @@ -608,8 +587,7 @@ bool wooden_a_supports_paint_setup( if (byte_97B23C[special].var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId, 0, 0, bBox.length.x, bBox.length.y, bBox.length.z, z, bBox.offset.x, bBox.offset.y, - bBox.offset.z + z); + session, imageId, { 0, 0, z }, bBox.length, { bBox.offset.x, bBox.offset.y, bBox.offset.z + z }); hasSupports = true; } else @@ -642,21 +620,17 @@ bool wooden_a_supports_paint_setup( * @return (al) whether supports have been drawn */ bool wooden_b_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground) + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags) { bool _9E32B1 = false; if (session->ViewFlags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS) { - if (underground != nullptr) - *underground = false; // AND return false; } if (!(session->Unk141E9DB & PaintSessionFlags::IsPassedSurface)) { - if (underground != nullptr) - *underground = false; // AND return false; } @@ -665,8 +639,6 @@ bool wooden_b_supports_paint_setup( if (supportLength < 0) { - if (underground != nullptr) - *underground = true; // STC return false; } @@ -683,8 +655,6 @@ bool wooden_b_supports_paint_setup( heightSteps -= 2; if (heightSteps < 0) { - if (underground != nullptr) - *underground = true; // STC return false; } @@ -702,7 +672,8 @@ bool wooden_b_supports_paint_setup( session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 11 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; - PaintAddImageAsParent(session, (imageId + 4) | imageColourFlags, 0, 0, 32, 32, 3, baseHeight, 0, 0, baseHeight + 2); + PaintAddImageAsParent( + session, (imageId + 4) | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 3 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; _9E32B1 = true; @@ -713,8 +684,6 @@ bool wooden_b_supports_paint_setup( heightSteps -= 1; if (heightSteps < 0) { - if (underground != nullptr) - *underground = true; // STC return false; } @@ -758,8 +727,8 @@ bool wooden_b_supports_paint_setup( if (baseHeight & 0x10 || heightSteps == 1 || baseHeight + 16 == session->WaterHeight) { PaintAddImageAsParent( - session, WoodenSupportImageIds[supportType].half | imageColourFlags, 0, 0, 32, 32, - ((heightSteps == 1) ? 7 : 12), baseHeight); + session, WoodenSupportImageIds[supportType].half | imageColourFlags, { 0, 0, baseHeight }, + { 32, 32, ((heightSteps == 1) ? 7 : 12) }); heightSteps -= 1; baseHeight += 16; _9E32B1 = true; @@ -767,8 +736,8 @@ bool wooden_b_supports_paint_setup( else { PaintAddImageAsParent( - session, WoodenSupportImageIds[supportType].full | imageColourFlags, 0, 0, 32, 32, - ((heightSteps == 2) ? 23 : 28), baseHeight); + session, WoodenSupportImageIds[supportType].full | imageColourFlags, { 0, 0, baseHeight }, + { 32, 32, ((heightSteps == 2) ? 23 : 28) }); heightSteps -= 2; baseHeight += 32; _9E32B1 = true; @@ -780,7 +749,7 @@ bool wooden_b_supports_paint_setup( { uint16_t specialIndex = (special - 1) & 0xFFFF; - unk_supports_desc supportsDesc = byte_97B23C[specialIndex]; + const unk_supports_desc& supportsDesc = byte_97B23C[specialIndex]; if (WoodenCurveSupportImageIds[supportType] != nullptr && WoodenCurveSupportImageIds[supportType][specialIndex] != 0 && supportsDesc.var_7 != 0) @@ -788,13 +757,13 @@ bool wooden_b_supports_paint_setup( uint32_t imageId = WoodenCurveSupportImageIds[supportType][specialIndex]; imageId |= imageColourFlags; - unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; + const unk_supports_desc_bound_box& boundBox = supportsDesc.bounding_box; if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId | imageColourFlags, 0, 0, boundBox.length.x, boundBox.length.y, boundBox.length.z, - baseHeight, boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight); + session, imageId | imageColourFlags, { 0, 0, baseHeight }, boundBox.length, + { boundBox.offset.x, boundBox.offset.y, boundBox.offset.z + baseHeight }); _9E32B1 = true; } else @@ -811,8 +780,6 @@ bool wooden_b_supports_paint_setup( } } - if (underground != nullptr) - *underground = false; // AND return _9E32B1; } @@ -1083,8 +1050,7 @@ bool metal_b_supports_paint_setup( PaintAddImageAsParent( session, _metalSupportTypeToCrossbeamImages[supportType][ebp] | imageColourFlags, - SupportBoundBoxes[originalSegment].x + loc_97B052[ebp].x, SupportBoundBoxes[originalSegment].y + loc_97B052[ebp].y, - _97B062[ebp].x, _97B062[ebp].y, 1, baseHeight); + { SupportBoundBoxes[originalSegment] + loc_97B052[ebp], baseHeight }, { _97B062[ebp], 1 }); } int32_t si = baseHeight; @@ -1100,8 +1066,7 @@ bool metal_b_supports_paint_setup( uint32_t imageId = _97B15C[supportType].base_id + imageOffset; PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, 5, - supportSegments[segment].height); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], supportSegments[segment].height }, { 0, 0, 5 }); baseHeight = supportSegments[segment].height + 6; } @@ -1116,8 +1081,8 @@ bool metal_b_supports_paint_setup( if (heightDiff > 0) { PaintAddImageAsParent( - session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, heightDiff - 1, baseHeight); + session, (_97B15C[supportType].beam_id + (heightDiff - 1)) | imageColourFlags, + { SupportBoundBoxes[segment], baseHeight }, { 0, 0, heightDiff - 1 }); } baseHeight += heightDiff; @@ -1152,8 +1117,7 @@ bool metal_b_supports_paint_setup( } PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, - beamLength - 1, baseHeight); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], baseHeight }, { 0, 0, beamLength - 1 }); baseHeight += beamLength; i++; @@ -1182,8 +1146,8 @@ bool metal_b_supports_paint_setup( uint32_t imageId = _97B15C[supportType].beam_id + (beamLength - 1); PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, - 0, 0, 0, baseHeight, SupportBoundBoxes[originalSegment].x, SupportBoundBoxes[originalSegment].y, height); + session, imageId | imageColourFlags, { SupportBoundBoxes[originalSegment], baseHeight }, { 0, 0, 0 }, + { SupportBoundBoxes[originalSegment], height }); baseHeight += beamLength; } } @@ -1238,7 +1202,8 @@ bool path_a_supports_paint_setup( if (session->Support.slope & 0x20) { // save dx2 - PaintAddImageAsParent(session, (pathPaintInfo.BridgeImageId + 48) | imageColourFlags, 0, 0, 32, 32, 0, baseHeight - 2); + PaintAddImageAsParent( + session, (pathPaintInfo.BridgeImageId + 48) | imageColourFlags, { 0, 0, baseHeight - 2 }, { 32, 32, 0 }); hasSupports = true; } else if (session->Support.slope & 0x10) @@ -1258,7 +1223,8 @@ bool path_a_supports_paint_setup( session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 11 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; - PaintAddImageAsParent(session, (imageId + 4) | imageColourFlags, 0, 0, 32, 32, 11, baseHeight, 0, 0, baseHeight + 2); + PaintAddImageAsParent( + session, (imageId + 4) | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, 11 }, { 0, 0, baseHeight + 2 }); baseHeight += 16; hasSupports = true; @@ -1288,7 +1254,8 @@ bool path_a_supports_paint_setup( { uint32_t imageId = (supportType * 24) + pathPaintInfo.BridgeImageId + 23; - PaintAddImageAsParent(session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 1) ? 7 : 12), baseHeight); + PaintAddImageAsParent( + session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, ((heightSteps == 1) ? 7 : 12) }); heightSteps -= 1; baseHeight += 16; hasSupports = true; @@ -1298,7 +1265,7 @@ bool path_a_supports_paint_setup( uint32_t imageId = (supportType * 24) + pathPaintInfo.BridgeImageId + 22; PaintAddImageAsParent( - session, imageId | imageColourFlags, 0, 0, 32, 32, ((heightSteps == 2) ? 23 : 28), baseHeight); + session, imageId | imageColourFlags, { 0, 0, baseHeight }, { 32, 32, ((heightSteps == 2) ? 23 : 28) }); heightSteps -= 2; baseHeight += 32; hasSupports = true; @@ -1311,14 +1278,14 @@ bool path_a_supports_paint_setup( uint32_t imageId = pathPaintInfo.BridgeImageId + 55 + specialIndex; - unk_supports_desc supportsDesc = byte_98D8D4[specialIndex]; - unk_supports_desc_bound_box boundBox = supportsDesc.bounding_box; + const unk_supports_desc& supportsDesc = byte_98D8D4[specialIndex]; + const unk_supports_desc_bound_box& boundBox = supportsDesc.bounding_box; if (supportsDesc.var_6 == 0 || session->WoodenSupportsPrependTo == nullptr) { PaintAddImageAsParent( - session, imageId | imageColourFlags, 0, 0, boundBox.length.y, boundBox.length.x, boundBox.length.z, baseHeight, - boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z); + session, imageId | imageColourFlags, { 0, 0, baseHeight }, boundBox.length, + { boundBox.offset.x, boundBox.offset.y, baseHeight + boundBox.offset.z }); hasSupports = true; } else @@ -1386,8 +1353,8 @@ bool path_b_supports_paint_setup( baseHeight = supportSegments[segment].height; PaintAddImageAsParent( - session, (pathPaintInfo.BridgeImageId + 37 + imageOffset) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, 5, baseHeight); + session, (pathPaintInfo.BridgeImageId + 37 + imageOffset) | imageColourFlags, + { SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight }, { 0, 0, 5 }); baseHeight += 6; } @@ -1405,8 +1372,8 @@ bool path_b_supports_paint_setup( if (heightDiff > 0) { PaintAddImageAsParent( - session, (pathPaintInfo.BridgeImageId + 20 + (heightDiff - 1)) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, heightDiff - 1, baseHeight); + session, (pathPaintInfo.BridgeImageId + 20 + (heightDiff - 1)) | imageColourFlags, + { SupportBoundBoxes[segment], baseHeight }, { 0, 0, heightDiff - 1 }); } baseHeight += heightDiff; @@ -1438,8 +1405,8 @@ bool path_b_supports_paint_setup( } PaintAddImageAsParent( - session, (pathPaintInfo.BridgeImageId + 20 + (z - 1)) | imageColourFlags, SupportBoundBoxes[segment].x, - SupportBoundBoxes[segment].y, 0, 0, (z - 1), baseHeight); + session, (pathPaintInfo.BridgeImageId + 20 + (z - 1)) | imageColourFlags, + { SupportBoundBoxes[segment], baseHeight }, { 0, 0, (z - 1) }); baseHeight += z; } @@ -1456,8 +1423,7 @@ bool path_b_supports_paint_setup( } PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, (z - 1), - baseHeight); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], baseHeight }, { 0, 0, (z - 1) }); baseHeight += z; } @@ -1486,8 +1452,8 @@ bool path_b_supports_paint_setup( uint32_t imageId = pathPaintInfo.BridgeImageId + 20 + (z - 1); PaintAddImageAsParent( - session, imageId | imageColourFlags, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, 0, 0, 0, - baseHeight, SupportBoundBoxes[segment].x, SupportBoundBoxes[segment].y, baseHeight); + session, imageId | imageColourFlags, { SupportBoundBoxes[segment], baseHeight }, { 0, 0, 0 }, + { SupportBoundBoxes[segment], baseHeight }); baseHeight += z; } diff --git a/src/openrct2/paint/Supports.h b/src/openrct2/paint/Supports.h index c2ff09dbae..95c52baca3 100644 --- a/src/openrct2/paint/Supports.h +++ b/src/openrct2/paint/Supports.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _DRAWING_SUPPORTS_H_ -#define _DRAWING_SUPPORTS_H_ +#pragma once #include "../common.h" #include "../world/Footpath.h" @@ -18,9 +17,9 @@ struct FootpathPaintInfo; constexpr const uint8_t NumVanillaWoodenSupportTypes = 49; bool wooden_a_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground); + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags); bool wooden_b_supports_paint_setup( - paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, bool* underground); + paint_session* session, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags); bool metal_a_supports_paint_setup( paint_session* session, uint8_t supportType, uint8_t segment, int32_t special, int32_t height, uint32_t imageColourFlags); bool metal_b_supports_paint_setup( @@ -56,5 +55,3 @@ enum { SUPPORTS_SLOPE_5 = 1 << 5 }; - -#endif diff --git a/src/openrct2/paint/sprite/Paint.Litter.cpp b/src/openrct2/paint/sprite/Paint.Litter.cpp index e0fc132747..b06495eebc 100644 --- a/src/openrct2/paint/sprite/Paint.Litter.cpp +++ b/src/openrct2/paint/sprite/Paint.Litter.cpp @@ -83,5 +83,5 @@ template<> void PaintEntity(paint_session* session, const Litter* litter, int32_ // In the following call to PaintAddImageAsParent, we add 4 (instead of 2) to the // bound_box_offset_z to make sure litter is drawn on top of railways - PaintAddImageAsParent(session, image_id, 0, 0, 4, 4, -1, litter->z, -4, -4, litter->z + 4); + PaintAddImageAsParent(session, image_id, { 0, 0, litter->z }, { 4, 4, -1 }, { -4, -4, litter->z + 4 }); } diff --git a/src/openrct2/paint/sprite/Paint.Peep.cpp b/src/openrct2/paint/sprite/Paint.Peep.cpp index 804e6f5026..7083f70fd2 100644 --- a/src/openrct2/paint/sprite/Paint.Peep.cpp +++ b/src/openrct2/paint/sprite/Paint.Peep.cpp @@ -80,7 +80,7 @@ template<> void PaintEntity(paint_session* session, const Peep* peep, int32_t im + imageOffset * 4; uint32_t imageId = baseImageId | peep->TshirtColour << 19 | peep->TrousersColour << 24 | IMAGE_TYPE_REMAP | IMAGE_TYPE_REMAP_2_PLUS; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 1, 11, peep->z, 0, 0, peep->z + 5); + PaintAddImageAsParent(session, imageId, { 0, 0, peep->z }, { 1, 1, 11 }, { 0, 0, peep->z + 5 }); auto* guest = peep->As(); if (guest != nullptr) { diff --git a/src/openrct2/paint/sprite/Paint.Sprite.h b/src/openrct2/paint/sprite/Paint.Sprite.h index a2f6d7e60e..87c882871e 100644 --- a/src/openrct2/paint/sprite/Paint.Sprite.h +++ b/src/openrct2/paint/sprite/Paint.Sprite.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PAINT_SPRITE_H -#define _PAINT_SPRITE_H +#pragma once #include "../../common.h" @@ -19,5 +18,3 @@ void sprite_paint_setup(paint_session* session, int32_t x, int32_t y); template void PaintEntity(paint_session* session, const T* entity, int32_t imageDirection); extern const uint32_t vehicle_particle_base_sprites[5]; - -#endif diff --git a/src/openrct2/paint/tile_element/Paint.Banner.cpp b/src/openrct2/paint/tile_element/Paint.Banner.cpp index a3b6946732..9006830aa4 100644 --- a/src/openrct2/paint/tile_element/Paint.Banner.cpp +++ b/src/openrct2/paint/tile_element/Paint.Banner.cpp @@ -78,12 +78,12 @@ void PaintBanner(paint_session* session, uint8_t direction, int32_t height, cons image_id |= (banner->colour << 19) | IMAGE_TYPE_REMAP; } - PaintAddImageAsParent(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, boundBoxOffset); boundBoxOffset.x = BannerBoundBoxes[direction][1].x; boundBoxOffset.y = BannerBoundBoxes[direction][1].y; image_id++; - PaintAddImageAsParent(session, image_id, 0, 0, 1, 1, 0x15, height, boundBoxOffset.x, boundBoxOffset.y, boundBoxOffset.z); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 1, 1, 0x15 }, boundBoxOffset); // Opposite direction direction = direction_reverse(direction); diff --git a/src/openrct2/paint/tile_element/Paint.Entrance.cpp b/src/openrct2/paint/tile_element/Paint.Entrance.cpp index c02449e56e..05aa6c6586 100644 --- a/src/openrct2/paint/tile_element/Paint.Entrance.cpp +++ b/src/openrct2/paint/tile_element/Paint.Entrance.cpp @@ -131,7 +131,7 @@ static void ride_entrance_exit_paint( int16_t lengthY = (direction & 1) ? 28 : 2; int16_t lengthX = (direction & 1) ? 2 : 28; - PaintAddImageAsParent(session, image_id, 0, 0, lengthX, lengthY, ah, height, 2, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { lengthX, lengthY, ah }, { 2, 2, height }); if (transparant_image_id) { @@ -150,7 +150,8 @@ static void ride_entrance_exit_paint( image_id += 4; PaintAddImageAsParent( - session, image_id, 0, 0, lengthX, lengthY, ah, height, (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height); + session, image_id, { 0, 0, height }, { lengthX, lengthY, ah }, + { (direction & 1) ? 28 : 2, (direction & 1) ? 2 : 28, height }); if (transparant_image_id) { @@ -207,7 +208,7 @@ static void ride_entrance_exit_paint( { image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id, nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -259,7 +260,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 { auto footpathEntry = reinterpret_cast(footpathObj->GetLegacyData()); image_id = (footpathEntry->image + 5 * (1 + (direction & 1))) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 0x1C, 0 }, { 0, 2, height }); } else { @@ -267,7 +268,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 if (footpathSurfaceObj != nullptr) { image_id = (footpathSurfaceObj->BaseImageId + 5 * (1 + (direction & 1))) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 32, 0x1C, 0, height, 0, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 0x1C, 0 }, { 0, 2, height }); } } @@ -277,7 +278,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 return; } image_id = (entrance->image_id + direction * 3) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 0x1C, 0x1C, 0x2F, height, 2, 2, height + 32); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 0x1C, 0x1C, 0x2F }, { 2, 2, height + 32 }); if ((direction + 1) & (1 << 1)) break; @@ -331,7 +332,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 return; } image_id = (entrance->image_id + part_index + direction * 3) | ghost_id; - PaintAddImageAsParent(session, image_id, 0, 0, 0x1A, di, 0x4F, height, 3, 3, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 0x1A, di, 0x4F }, { 3, 3, height }); break; } @@ -340,7 +341,7 @@ static void park_entrance_paint(paint_session* session, uint8_t direction, int32 { image_id = SPRITE_ID_PALETTE_COLOUR_1(COLOUR_SATURATED_BROWN); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id, nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, image_id); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 80, 0x20); @@ -362,7 +363,7 @@ void PaintEntrance(paint_session* session, uint8_t direction, int32_t height, co uint32_t image_id = 0x20101689 + get_height_marker_offset() + (z / 16); image_id -= gMapBaseZ; - PaintAddImageAsParent(session, image_id, 16, 16, 1, 1, 0, height, 31, 31, z + 64); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 1, 1, 0 }, { 31, 31, z + 64 }); } } diff --git a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp index 53f97ed098..5a332d641e 100644 --- a/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.LargeScenery.cpp @@ -52,7 +52,7 @@ static void large_scenery_paint_supports( supportImageColourFlags = dword_F4387C; } - wooden_b_supports_paint_setup(session, (direction & 1), ax, supportHeight, supportImageColourFlags, nullptr); + wooden_b_supports_paint_setup(session, (direction & 1), ax, supportHeight, supportImageColourFlags); int32_t clearanceHeight = ceil2(tileElement.GetClearanceZ() + 15, 16); @@ -244,8 +244,6 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh uint32_t dword_F4387C = 0; image_id |= SPRITE_ID_PALETTE_COLOUR_2(tileElement.GetPrimaryColour(), tileElement.GetSecondaryColour()); - CoordsXYZ boxlength; - CoordsXYZ boxoffset; if (gTrackDesignSaveMode) { if (!track_design_save_contains_tile_element(reinterpret_cast(&tileElement))) @@ -283,14 +281,9 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh edi = rol16(edi, direction); esi = (edi & 0xF) | (edi >> 12); } - boxoffset.x = s98E3C4[esi].offset.x; - boxoffset.y = s98E3C4[esi].offset.y; - boxoffset.z = height; - boxlength.x = s98E3C4[esi].length.x; - boxlength.y = s98E3C4[esi].length.y; - boxlength.z = boxlengthZ; - PaintAddImageAsParent( - session, image_id, 0, 0, boxlength.x, boxlength.y, boxlengthZ, height, boxoffset.x, boxoffset.y, boxoffset.z); + const CoordsXYZ bbOffset = { s98E3C4[esi].offset, height }; + const CoordsXYZ bbLength = { s98E3C4[esi].length, boxlengthZ }; + PaintAddImageAsParent(session, image_id, { 0, 0, height }, bbLength, bbOffset); if (sceneryEntry->scrolling_mode == SCROLLING_MODE_NONE || direction == 1 || direction == 2) { large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); @@ -454,7 +447,7 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh uint16_t scroll = stringWidth > 0 ? (gCurrentTicks / 2) % stringWidth : 0; PaintAddImageAsChild( session, scrolling_text_setup(session, STR_SCROLLING_SIGN_TEXT, ft, scroll, scrollMode, textColour), 0, 0, 1, 1, 21, - height + 25, boxoffset.x, boxoffset.y, boxoffset.z); + height + 25, bbOffset.x, bbOffset.y, bbOffset.z); } large_scenery_paint_supports(session, direction, height, tileElement, dword_F4387C, tile); diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index c70646e888..a517bf00a5 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -375,8 +375,8 @@ static void sub_6A4101( case 3: PaintAddImageAsParent(session, 17 + base_image_id, { 0, 4, height }, { 28, 1, 7 }, { 0, 4, height + 2 }); PaintAddImageAsParent( - session, 18 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, - height + 2); // bound_box_offset_y seems to be a bug + session, 18 + base_image_id, { 28, 0, height }, { 1, 28, 7 }, + { 28, 4, height + 2 }); // bound_box_offset_y seems to be a bug PaintAddImageAsParent(session, 25 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 0, 28, height + 2 }); break; case 4: @@ -408,8 +408,8 @@ static void sub_6A4101( case 12: PaintAddImageAsParent(session, 16 + base_image_id, { 4, 0, height }, { 1, 28, 7 }, { 4, 0, height + 2 }); PaintAddImageAsParent( - session, 19 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, - height + 2); // bound_box_offset_x seems to be a bug + session, 19 + base_image_id, { 0, 28, height }, { 28, 1, 7 }, + { 4, 28, height + 2 }); // bound_box_offset_x seems to be a bug PaintAddImageAsParent(session, 27 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 28, 0, height + 2 }); break; default: @@ -439,15 +439,13 @@ static void sub_6A4101( uint32_t imageId = (direction << 1) + base_image_id + 28; // Draw pole in the back - PaintAddImageAsParent( - session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 1, 21 }, boundBoxOffsets); // Draw pole in the front and banner boundBoxOffsets.x = BannerBoundBoxes[direction][1].x; boundBoxOffsets.y = BannerBoundBoxes[direction][1].y; imageId++; - PaintAddImageAsParent( - session, imageId, 0, 0, 1, 1, 21, height, boundBoxOffsets.x, boundBoxOffsets.y, boundBoxOffsets.z); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 1, 21 }, boundBoxOffsets); direction--; // If text shown @@ -565,8 +563,8 @@ static void sub_6A4101( case 3: PaintAddImageAsParent(session, 3 + base_image_id, { 0, 4, height }, { 28, 1, 7 }, { 0, 4, height + 2 }); PaintAddImageAsParent( - session, 4 + base_image_id, 28, 0, 1, 28, 7, height, 28, 4, - height + 2); // bound_box_offset_y seems to be a bug + session, 4 + base_image_id, { 28, 0, height }, { 1, 28, 7 }, + { 28, 4, height + 2 }); // bound_box_offset_y seems to be a bug if (!(drawnCorners & FOOTPATH_CORNER_0)) { PaintAddImageAsParent(session, 11 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 0, 28, height + 2 }); @@ -591,8 +589,8 @@ static void sub_6A4101( case 12: PaintAddImageAsParent(session, 2 + base_image_id, { 4, 0, height }, { 1, 28, 7 }, { 4, 0, height + 2 }); PaintAddImageAsParent( - session, 5 + base_image_id, 0, 28, 28, 1, 7, height, 4, 28, - height + 2); // bound_box_offset_x seems to be a bug + session, 5 + base_image_id, { 0, 28, height }, { 28, 1, 7 }, + { 4, 28, height + 2 }); // bound_box_offset_x seems to be a bug if (!(drawnCorners & FOOTPATH_CORNER_2)) { PaintAddImageAsParent(session, 13 + base_image_id, { 0, 0, height }, { 4, 4, 7 }, { 28, 0, height + 2 }); @@ -984,7 +982,7 @@ void PaintPath(paint_session* session, uint16_t height, const PathElement& tileE } PaintAddImageAsParent( - session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, 16, 16, 1, 1, 0, patrolAreaBaseZ + 2); + session, imageId | patrolColour << 19 | IMAGE_TYPE_REMAP, { 16, 16, patrolAreaBaseZ + 2 }, { 1, 1, 0 }); } } @@ -1094,8 +1092,8 @@ void path_paint_box_support( if (!hasSupports || !session->DidPassSurface) { PaintAddImageAsParent( - session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, - height + boundingBoxZOffset); + session, imageId | imageFlags, { 0, 0, height }, { boundBoxSize, 0 }, + { boundBoxOffset, height + boundingBoxZOffset }); } else { @@ -1111,8 +1109,8 @@ void path_paint_box_support( } PaintAddImageAsParent( - session, image_id | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, - height + boundingBoxZOffset); + session, image_id | imageFlags, { 0, 0, height }, { boundBoxSize, 0 }, + { boundBoxOffset, height + boundingBoxZOffset }); // TODO: Revert this when path import works correctly. if (!pathElement.IsQueue() && !(pathPaintInfo.RailingFlags & RAILING_ENTRY_FLAG_DRAW_PATH_OVER_SUPPORTS)) @@ -1233,8 +1231,8 @@ void path_paint_pole_support( if (!hasSupports || !session->DidPassSurface) { PaintAddImageAsParent( - session, imageId | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, - height + boundingBoxZOffset); + session, imageId | imageFlags, { 0, 0, height }, { boundBoxSize.x, boundBoxSize.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + boundingBoxZOffset }); } else { @@ -1252,8 +1250,8 @@ void path_paint_pole_support( } PaintAddImageAsParent( - session, bridgeImage | imageFlags, 0, 0, boundBoxSize.x, boundBoxSize.y, 0, height, boundBoxOffset.x, - boundBoxOffset.y, height + boundingBoxZOffset); + session, bridgeImage | imageFlags, { 0, 0, height }, { boundBoxSize, 0 }, + { boundBoxOffset, height + boundingBoxZOffset }); // TODO: Revert this when path import works correctly. if (pathElement.IsQueue() || (pathPaintInfo.RailingFlags & RAILING_ENTRY_FLAG_DRAW_PATH_OVER_SUPPORTS)) diff --git a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp index 7deaac180d..c8cfb5e302 100644 --- a/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp +++ b/src/openrct2/paint/tile_element/Paint.SmallScenery.cpp @@ -159,8 +159,7 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height if (!(scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED))) { PaintAddImageAsParent( - session, baseImageid, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, - boxoffset.y, boxoffset.z); + session, baseImageid, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, boxoffset); } if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_HAS_GLASS)) @@ -326,8 +325,8 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height if (scenery_small_entry_has_flag(sceneryEntry, SMALL_SCENERY_FLAG_VISIBLE_WHEN_ZOOMED)) { PaintAddImageAsParent( - session, image_id, x_offset, y_offset, boxlength.x, boxlength.y, boxlength.z - 1, height, boxoffset.x, - boxoffset.y, boxoffset.z); + session, image_id, { x_offset, y_offset, height }, { boxlength.x, boxlength.y, boxlength.z - 1 }, + boxoffset); } else { @@ -361,11 +360,11 @@ void PaintSmallScenery(paint_session* session, uint8_t direction, int32_t height } if (direction & 1) { - wooden_b_supports_paint_setup(session, 1, ax, supportHeight, supportImageColourFlags, nullptr); + wooden_b_supports_paint_setup(session, 1, ax, supportHeight, supportImageColourFlags); } else { - wooden_b_supports_paint_setup(session, 0, ax, supportHeight, supportImageColourFlags, nullptr); + wooden_b_supports_paint_setup(session, 0, ax, supportHeight, supportImageColourFlags); } } } diff --git a/src/openrct2/paint/tile_element/Paint.Surface.cpp b/src/openrct2/paint/tile_element/Paint.Surface.cpp index ee89107d53..fb6f601787 100644 --- a/src/openrct2/paint/tile_element/Paint.Surface.cpp +++ b/src/openrct2/paint/tile_element/Paint.Surface.cpp @@ -1037,7 +1037,7 @@ void PaintSurface(paint_session* session, uint8_t direction, uint16_t height, co image_id += get_height_marker_offset(); image_id -= gMapBaseZ; - PaintAddImageAsParent(session, image_id, 16, 16, 1, 1, 0, height); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 1, 1, 0 }); } bool has_surface = false; @@ -1137,7 +1137,7 @@ void PaintSurface(paint_session* session, uint8_t direction, uint16_t height, co { if ((spawn.x & 0xFFE0) == pos.x && (spawn.y & 0xFFE0) == pos.y) { - PaintAddImageAsParent(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, 0, 0, 32, 32, 16, spawn.z); + PaintAddImageAsParent(session, SPR_TERRAIN_SELECTION_SQUARE_SIMPLE, { 0, 0, spawn.z }, { 32, 32, 16 }); const int32_t offset = (direction_reverse(spawn.direction) + rotation) & 3; const uint32_t image_id = (PEEP_SPAWN_ARROW_0 + offset) | 0x20380000; diff --git a/src/openrct2/paint/tile_element/Paint.Surface.h b/src/openrct2/paint/tile_element/Paint.Surface.h index 15a7a6793e..2010377992 100644 --- a/src/openrct2/paint/tile_element/Paint.Surface.h +++ b/src/openrct2/paint/tile_element/Paint.Surface.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PAINT_SURFACE_H -#define _PAINT_SURFACE_H +#pragma once #include "../../common.h" #include "../../sprites.h" @@ -104,5 +103,3 @@ enum SPR_RCT1_WATER_MASK = SPR_CSG_BEGIN + 46787, SPR_RCT1_WATER_OVERLAY = SPR_CSG_BEGIN + 46792, }; - -#endif //_PAINT_SURFACE_H diff --git a/src/openrct2/paint/tile_element/Paint.TileElement.h b/src/openrct2/paint/tile_element/Paint.TileElement.h index a30de42269..1c0016d591 100644 --- a/src/openrct2/paint/tile_element/Paint.TileElement.h +++ b/src/openrct2/paint/tile_element/Paint.TileElement.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PAINT_TILE_ELEMENT_H -#define _PAINT_TILE_ELEMENT_H +#pragma once #include "../../common.h" #include "../../world/Map.h" @@ -113,5 +112,3 @@ void PaintLargeScenery(paint_session* session, uint8_t direction, uint16_t heigh void PaintTrack(paint_session* session, uint8_t direction, int32_t height, const TrackElement& tileElement); bool PaintShouldShowHeightMarkers(const paint_session* session, const uint32_t viewportFlag); - -#endif diff --git a/src/openrct2/paint/tile_element/Paint.Wall.cpp b/src/openrct2/paint/tile_element/Paint.Wall.cpp index 49ab6dcc09..6b98e5f20a 100644 --- a/src/openrct2/paint/tile_element/Paint.Wall.cpp +++ b/src/openrct2/paint/tile_element/Paint.Wall.cpp @@ -59,17 +59,13 @@ static void PaintWallDoor( { paint_struct* ps; - ps = PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsR1.x, boundsR1.y, - static_cast(boundsR1.z), offset.z, boundsR1_.x, boundsR1_.y, boundsR1_.z); + ps = PaintAddImageAsParent(session, imageId, offset, boundsR1, boundsR1_); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; } - ps = PaintAddImageAsParent( - session, imageId + 1, static_cast(offset.x), static_cast(offset.y), boundsR2.x, boundsR2.y, - static_cast(boundsR2.z), offset.z, boundsR2_.x, boundsR2_.y, boundsR2_.z); + ps = PaintAddImageAsParent(session, imageId + 1, offset, boundsR2, boundsR2_); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; @@ -79,9 +75,7 @@ static void PaintWallDoor( { paint_struct* ps; - ps = PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsL1.x, boundsL1.y, - static_cast(boundsL1.z), offset.z, boundsL1_.x, boundsL1_.y, boundsL1_.z); + ps = PaintAddImageAsParent(session, imageId, offset, boundsL1, boundsL1_); if (ps != nullptr) { ps->tertiary_colour = tertiaryColour; @@ -117,9 +111,7 @@ static void PaintWallWall( imageId = (imageId & 0x7FFFF) | dword_141F710; } - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); if (dword_141F710 == 0) { imageId = baseImageId + dword_141F718; @@ -140,9 +132,7 @@ static void PaintWallWall( imageId = (imageId & 0x7FFFF) | dword_141F710; } - paint_struct* paint = PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + paint_struct* paint = PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); if (paint != nullptr) { paint->tertiary_colour = tertiaryColour; diff --git a/src/openrct2/peep/Guest.cpp b/src/openrct2/peep/Guest.cpp index 0cb97c66a5..ed4fd98a9b 100644 --- a/src/openrct2/peep/Guest.cpp +++ b/src/openrct2/peep/Guest.cpp @@ -429,7 +429,7 @@ static void peep_head_for_nearest_ride_type(Guest* peep, int32_t rideType); static void peep_head_for_nearest_ride_with_flags(Guest* peep, int32_t rideTypeFlags); bool loc_690FD0(Peep* peep, ride_id_t* rideToView, uint8_t* rideSeatToView, TileElement* tileElement); -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Guest; } @@ -3899,7 +3899,7 @@ void Guest::UpdateRideFreeVehicleCheck() if (ride_entry->vehicles[0].flags & VEHICLE_ENTRY_FLAG_MINI_GOLF) { - vehicle->mini_golf_flags &= ~(1 << 5); + vehicle->mini_golf_flags &= ~MiniGolfFlag::Flag5; for (size_t i = 0; i < ride->num_vehicles; ++i) { @@ -3914,7 +3914,7 @@ void Guest::UpdateRideFreeVehicleCheck() if (second_vehicle->num_peeps == 0) continue; - if (second_vehicle->mini_golf_flags & (1 << 5)) + if (second_vehicle->mini_golf_flags & MiniGolfFlag::Flag5) continue; return; diff --git a/src/openrct2/peep/Peep.cpp b/src/openrct2/peep/Peep.cpp index 6d74216526..446a8a6138 100644 --- a/src/openrct2/peep/Peep.cpp +++ b/src/openrct2/peep/Peep.cpp @@ -127,7 +127,7 @@ const bool gSpriteTypeToSlowWalkMap[] = { // clang-format on -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Guest || Type == EntityType::Staff; } diff --git a/src/openrct2/peep/Peep.h b/src/openrct2/peep/Peep.h index 47e587e7b4..94d8c80be7 100644 --- a/src/openrct2/peep/Peep.h +++ b/src/openrct2/peep/Peep.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PEEP_H_ -#define _PEEP_H_ +#pragma once #include "../common.h" #include "../management/Finance.h" @@ -17,8 +16,8 @@ #include "../ride/RideTypes.h" #include "../ride/ShopItem.h" #include "../util/Util.h" +#include "../world/EntityBase.h" #include "../world/Location.hpp" -#include "../world/SpriteBase.h" #include #include @@ -553,7 +552,7 @@ public: } }; -struct Peep : SpriteBase +struct Peep : EntityBase { char* Name; CoordsXYZ NextLoc; @@ -630,18 +629,18 @@ public: // Peep void UpdateCurrentActionSpriteType(); void SwitchToSpecialSprite(uint8_t special_sprite_id); void StateReset(); - uint8_t GetNextDirection() const; + [[nodiscard]] uint8_t GetNextDirection() const; bool GetNextIsSloped() const; bool GetNextIsSurface() const; void SetNextFlags(uint8_t next_direction, bool is_sloped, bool is_surface); bool CanBePickedUp() const; void Pickup(); void PickupAbort(int32_t old_x); - std::unique_ptr Place(const TileCoordsXYZ& location, bool apply); + [[nodiscard]] std::unique_ptr Place(const TileCoordsXYZ& location, bool apply); void RemoveFromRide(); void FormatActionTo(Formatter&) const; void FormatNameTo(Formatter&) const; - std::string GetName() const; + [[nodiscard]] std::string GetName() const; bool SetName(std::string_view value); bool IsActionWalking() const; bool IsActionIdle() const; @@ -653,16 +652,16 @@ public: // Peep void SetDestination(const CoordsXY& coords); void SetDestination(const CoordsXY& coords, int32_t tolerance); - CoordsXY GetDestination() const; + [[nodiscard]] CoordsXY GetDestination() const; // TODO: Make these private again when done refactoring public: // Peep - bool CheckForPath(); + [[nodiscard]] bool CheckForPath(); void PerformNextAction(uint8_t& pathing_result); void PerformNextAction(uint8_t& pathing_result, TileElement*& tile_result); - int32_t GetZOnSlope(int32_t tile_x, int32_t tile_y); + [[nodiscard]] int32_t GetZOnSlope(int32_t tile_x, int32_t tile_y); void SwitchNextActionSpriteType(); - PeepActionSpriteType GetActionSpriteType(); + [[nodiscard]] PeepActionSpriteType GetActionSpriteType(); private: void UpdateFalling(); @@ -1060,5 +1059,3 @@ inline const rct_sprite_bounds& GetSpriteBounds( { return g_peep_animation_entries[EnumValue(spriteType)].sprite_bounds[EnumValue(actionSpriteType)]; }; - -#endif diff --git a/src/openrct2/peep/Staff.cpp b/src/openrct2/peep/Staff.cpp index 71a6c8f4ef..2831d4ff74 100644 --- a/src/openrct2/peep/Staff.cpp +++ b/src/openrct2/peep/Staff.cpp @@ -71,7 +71,7 @@ static PatrolArea _mergedPatrolAreas[EnumValue(StaffType::Count)]; // Maximum manhattan distance that litter can be for a handyman to seek to it const uint16_t MAX_LITTER_DISTANCE = 3 * COORDS_XY_STEP; -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Staff; } diff --git a/src/openrct2/peep/Staff.h b/src/openrct2/peep/Staff.h index 80d0bbbae2..51e9cbdb29 100644 --- a/src/openrct2/peep/Staff.h +++ b/src/openrct2/peep/Staff.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _STAFF_H_ -#define _STAFF_H_ +#pragma once #include "../common.h" #include "Peep.h" @@ -59,5 +58,3 @@ int32_t staff_get_available_entertainer_costume_list(EntertainerCostume* costume money32 GetStaffWage(StaffType type); PeepSpriteType EntertainerCostumeToSprite(EntertainerCostume entertainerType); - -#endif diff --git a/src/openrct2/platform/Crash.h b/src/openrct2/platform/Crash.h index ef1b140122..46c4a1c966 100644 --- a/src/openrct2/platform/Crash.h +++ b/src/openrct2/platform/Crash.h @@ -7,12 +7,9 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _OPENRCT2_CRASH_ -#define _OPENRCT2_CRASH_ +#pragma once using CExceptionHandler = void*; extern bool gOpenRCT2SilentBreakpad; CExceptionHandler crash_init(); - -#endif /* _OPENRCT2_CRASH_ */ diff --git a/src/openrct2/platform/platform.h b/src/openrct2/platform/platform.h index 6ea82fa875..af85318121 100644 --- a/src/openrct2/platform/platform.h +++ b/src/openrct2/platform/platform.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _PLATFORM_H_ -#define _PLATFORM_H_ +#pragma once #include "../common.h" #include "../config/Config.h" @@ -166,5 +165,3 @@ public: void platform_android_init_class_loader(); jclass platform_android_find_class(JNIEnv* env, const char* name); #endif // __ANDROID__ - -#endif diff --git a/src/openrct2/rct1/RCT1.h b/src/openrct2/rct1/RCT1.h index 38776f4066..07fef8d2bc 100644 --- a/src/openrct2/rct1/RCT1.h +++ b/src/openrct2/rct1/RCT1.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _RCT1_H_ -#define _RCT1_H_ +#pragma once #include "../management/Award.h" #include "../management/NewsItem.h" @@ -19,1275 +18,1276 @@ #include "../world/Climate.h" #include "../world/MapAnimation.h" -constexpr const uint16_t RCT1_MAX_TILE_ELEMENTS = 0xC000; -constexpr const uint16_t RCT1_MAX_SPRITES = 5000; -constexpr const uint8_t RCT1_MAX_TRAINS_PER_RIDE = 12; -constexpr const uint8_t RCT1_MAX_MAP_SIZE = 128; -constexpr const uint8_t RCT1_MAX_STAFF = 116; -constexpr const uint8_t RCT1_RESEARCH_FLAGS_SEPARATOR = 0xFF; -constexpr const uint16_t RCT1_MAX_ANIMATED_OBJECTS = 1000; -constexpr const uint8_t RCT1_MAX_BANNERS = 100; -constexpr int32_t RCT1_COORDS_Z_STEP = 4; -constexpr const uint32_t RCT1_NUM_LL_CSG_ENTRIES = 69917; -constexpr const uint32_t RCT1_LL_CSG1_DAT_FILE_SIZE = 41402869; -constexpr const uint32_t RCT1_NUM_TERRAIN_SURFACES = 16; -constexpr const uint32_t RCT1_NUM_TERRAIN_EDGES = 15; - -struct ParkLoadResult; +namespace RCT1 +{ + constexpr const uint16_t RCT1_MAX_TILE_ELEMENTS = 0xC000; + constexpr const uint16_t RCT1_MAX_SPRITES = 5000; + constexpr const uint8_t RCT1_MAX_TRAINS_PER_RIDE = 12; + constexpr const uint8_t RCT1_MAX_MAP_SIZE = 128; + constexpr const uint8_t RCT1_MAX_STAFF = 116; + constexpr const uint8_t RCT1_RESEARCH_FLAGS_SEPARATOR = 0xFF; + constexpr const uint16_t RCT1_MAX_ANIMATED_OBJECTS = 1000; + constexpr const uint8_t RCT1_MAX_BANNERS = 100; + constexpr int32_t RCT1_COORDS_Z_STEP = 4; + constexpr const uint32_t RCT1_NUM_LL_CSG_ENTRIES = 69917; + constexpr const uint32_t RCT1_LL_CSG1_DAT_FILE_SIZE = 41402869; + constexpr const uint32_t RCT1_NUM_TERRAIN_SURFACES = 16; + constexpr const uint32_t RCT1_NUM_TERRAIN_EDGES = 15; #pragma pack(push, 1) -struct rct1_entrance -{ - uint16_t x; - uint16_t y; - uint16_t z; - uint8_t direction; -}; -assert_struct_size(rct1_entrance, 7); - -/** - * RCT1 ride structure - * size: 0x260 - */ -struct rct1_ride -{ - uint8_t type; // 0x000 - uint8_t vehicle_type; // 0x001 - uint16_t lifecycle_flags; // 0x002 - uint8_t operating_mode; // 0x004 - uint8_t colour_scheme; // 0x005 - struct + struct rct1_entrance { - colour_t body; - colour_t trim; - } vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x006 - colour_t track_primary_colour; // 0x01E - colour_t track_secondary_colour; // 0x01F - colour_t track_support_colour; // 0x020 - uint8_t status; // 0x021 - uint16_t name; // 0x022 - uint16_t name_argument_ride; // 0x024 - uint16_t name_argument_number; // 0x026 - RCT12xy8 overall_view; // 0x028 - RCT12xy8 station_starts[RCT12_MAX_STATIONS_PER_RIDE]; // 0x02A - uint8_t station_height[RCT12_MAX_STATIONS_PER_RIDE]; // 0x032 - uint8_t station_length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x036 - uint8_t station_light[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03A - uint8_t station_depart[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03E - RCT12xy8 entrance[RCT12_MAX_STATIONS_PER_RIDE]; // 0x042 - RCT12xy8 exit[RCT12_MAX_STATIONS_PER_RIDE]; // 0x04A - uint16_t last_peep_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x052 - uint8_t num_peeps_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x05A - uint16_t vehicles[RCT1_MAX_TRAINS_PER_RIDE]; // 0x05E - uint8_t depart_flags; // 0x076 - uint8_t num_stations; // 0x077 - uint8_t num_trains; // 0x078 - uint8_t num_cars_per_train; // 0x079 - uint8_t proposed_num_vehicles; // 0x07A - uint8_t proposed_num_cars_per_train; // 0x07B - uint8_t max_trains; // 0x07C - uint8_t min_max_cars_per_train; // 0x07D - uint8_t min_waiting_time; // 0x07E - uint8_t max_waiting_time; // 0x07F - uint8_t operation_option; // 0x080 - uint8_t boat_hire_return_direction; // 0x081 - RCT12xy8 boat_hire_return_position; // 0x082 - uint8_t data_logging_index; // 0x084 - uint8_t special_track_elements; // 0x085 - uint16_t unk_86; // 0x086 - int32_t max_speed; // 0x088 - int32_t average_speed; // 0x08C - uint8_t current_test_segment; // 0x090 - uint8_t average_speed_test_timeout; // 0x091 - uint8_t pad_0E2[0x2]; // 0x092 - int32_t length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x094 - uint16_t time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x0A4 - fixed16_2dp max_positive_vertical_g; // 0x0AC - fixed16_2dp max_negative_vertical_g; // 0x0AE - fixed16_2dp max_lateral_g; // 0x0B0 - fixed16_2dp previous_vertical_g; // 0x0B2 - fixed16_2dp previous_lateral_g; // 0x0B4 - uint8_t pad_B6[0x2]; // 0x0B6 - uint32_t testing_flags; // 0x0B8 - // x y map location of the current track piece during a test - // this is to prevent counting special tracks multiple times - RCT12xy8 cur_test_track_location; // 0x0BC - // Next 3 variables are related (XXXX XYYY ZZZa aaaa) - uint16_t turn_count_default; // 0x0BE X = current turn count - uint16_t turn_count_banked; // 0x0C0 - uint16_t turn_count_sloped; // 0x0C2 X = number turns > 3 elements - union - { - uint8_t num_inversions; // 0x0C4 - uint8_t num_holes; + uint16_t x; + uint16_t y; + uint16_t z; + uint8_t direction; }; - uint8_t num_drops; // 0x0C5 - uint8_t start_drop_height; // 0x0C6 - uint8_t highest_drop_height; // 0x0C7 - int32_t sheltered_length; // 0x0C8 - uint8_t unk_CC[2]; // 0x0CC - uint8_t num_sheltered_sections; // 0x0CE - // see cur_test_track_location - uint8_t cur_test_track_z; // 0x0CF - int16_t unk_D0; // 0x0D0 - int16_t unk_D2; // 0x0D2 - // Customer count in the last 10 * 960 game ticks (sliding window) - uint16_t num_customers[CUSTOMER_HISTORY_SIZE]; // 0xD4 - money16 price; // 0x0E8 - RCT12xy8 chairlift_bullwheel_location[2]; // 0x0EA - uint8_t chairlift_bullwheel_z[2]; // 0x0EE - union + assert_struct_size(rct1_entrance, 7); + + /** + * RCT1 ride structure + * size: 0x260 + */ + struct rct1_ride { - RatingTuple ratings; + uint8_t type; // 0x000 + uint8_t vehicle_type; // 0x001 + uint16_t lifecycle_flags; // 0x002 + uint8_t operating_mode; // 0x004 + uint8_t colour_scheme; // 0x005 struct { - ride_rating excitement; // 0x0F0 - ride_rating intensity; // 0x0F2 - ride_rating nausea; // 0x0F4 - }; - }; - uint16_t value; // 0x0F6 - uint16_t chairlift_bullwheel_rotation; // 0x0F8 - uint8_t satisfaction; // 0x0FA - uint8_t satisfaction_time_out; // 0x0FB - uint8_t satisfaction_next; // 0x0FC - uint8_t window_invalidate_flags; // 0x0FD - uint8_t unk_FE[2]; // 0x0FE - uint32_t total_customers; // 0x100 - money32 total_profit; // 0x104 - uint8_t popularity; // 0x108 - uint8_t popularity_time_out; // 0x109 - uint8_t popularity_next; // 0x10A - uint8_t num_riders; // 0x10B - uint8_t music_tune_id; // 0x10C - uint8_t slide_in_use; // 0x10D - union - { - uint16_t slide_peep; // 0x10E - uint16_t maze_tiles; // 0x10E - }; - uint8_t pad_110[0xE]; // 0x110 - uint8_t slide_peep_t_shirt_colour; // 0x11E - uint8_t pad_11F[0x7]; // 0x11F - uint8_t spiral_slide_progress; // 0x126 - uint8_t pad_127[0x9]; // 0x127 - int16_t build_date; // 0x130 - money16 upkeep_cost; // 0x131 - uint16_t race_winner; // 0x132 - uint8_t unk_134[2]; // 0x134 - uint32_t music_position; // 0x138 - uint8_t breakdown_reason_pending; // 0x13C - uint8_t mechanic_status; // 0x13D - uint16_t mechanic; // 0x13E - uint8_t inspection_station; // 0x140 - uint8_t broken_vehicle; // 0x141 - uint8_t broken_car; // 0x142 - uint8_t breakdown_reason; // 0x143 - money16 price_secondary; // 0x144 - union - { - struct + colour_t body; + colour_t trim; + } vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x006 + colour_t track_primary_colour; // 0x01E + colour_t track_secondary_colour; // 0x01F + colour_t track_support_colour; // 0x020 + uint8_t status; // 0x021 + uint16_t name; // 0x022 + uint16_t name_argument_ride; // 0x024 + uint16_t name_argument_number; // 0x026 + RCT12xy8 overall_view; // 0x028 + RCT12xy8 station_starts[RCT12_MAX_STATIONS_PER_RIDE]; // 0x02A + uint8_t station_height[RCT12_MAX_STATIONS_PER_RIDE]; // 0x032 + uint8_t station_length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x036 + uint8_t station_light[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03A + uint8_t station_depart[RCT12_MAX_STATIONS_PER_RIDE]; // 0x03E + RCT12xy8 entrance[RCT12_MAX_STATIONS_PER_RIDE]; // 0x042 + RCT12xy8 exit[RCT12_MAX_STATIONS_PER_RIDE]; // 0x04A + uint16_t last_peep_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x052 + uint8_t num_peeps_in_queue[RCT12_MAX_STATIONS_PER_RIDE]; // 0x05A + uint16_t vehicles[RCT1_MAX_TRAINS_PER_RIDE]; // 0x05E + uint8_t depart_flags; // 0x076 + uint8_t num_stations; // 0x077 + uint8_t num_trains; // 0x078 + uint8_t num_cars_per_train; // 0x079 + uint8_t proposed_num_vehicles; // 0x07A + uint8_t proposed_num_cars_per_train; // 0x07B + uint8_t max_trains; // 0x07C + uint8_t min_max_cars_per_train; // 0x07D + uint8_t min_waiting_time; // 0x07E + uint8_t max_waiting_time; // 0x07F + uint8_t operation_option; // 0x080 + uint8_t boat_hire_return_direction; // 0x081 + RCT12xy8 boat_hire_return_position; // 0x082 + uint8_t data_logging_index; // 0x084 + uint8_t special_track_elements; // 0x085 + uint16_t unk_86; // 0x086 + int32_t max_speed; // 0x088 + int32_t average_speed; // 0x08C + uint8_t current_test_segment; // 0x090 + uint8_t average_speed_test_timeout; // 0x091 + uint8_t pad_0E2[0x2]; // 0x092 + int32_t length[RCT12_MAX_STATIONS_PER_RIDE]; // 0x094 + uint16_t time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x0A4 + fixed16_2dp max_positive_vertical_g; // 0x0AC + fixed16_2dp max_negative_vertical_g; // 0x0AE + fixed16_2dp max_lateral_g; // 0x0B0 + fixed16_2dp previous_vertical_g; // 0x0B2 + fixed16_2dp previous_lateral_g; // 0x0B4 + uint8_t pad_B6[0x2]; // 0x0B6 + uint32_t testing_flags; // 0x0B8 + // x y map location of the current track piece during a test + // this is to prevent counting special tracks multiple times + RCT12xy8 cur_test_track_location; // 0x0BC + // Next 3 variables are related (XXXX XYYY ZZZa aaaa) + uint16_t turn_count_default; // 0x0BE X = current turn count + uint16_t turn_count_banked; // 0x0C0 + uint16_t turn_count_sloped; // 0x0C2 X = number turns > 3 elements + union { - uint8_t reliability_subvalue; // 0x146, 0 - 255, acts like the decimals for reliability_percentage - uint8_t reliability_percentage; // 0x147, Starts at 100 and decreases from there. + uint8_t num_inversions; // 0x0C4 + uint8_t num_holes; }; - uint16_t reliability; // 0x146 - }; - uint8_t unreliability_factor; // 0x148 - uint8_t downtime; // 0x149 - uint8_t inspection_interval; // 0x14A - uint8_t last_inspection; // 0x14B - uint8_t unk_14C[20]; // 0x14C - money32 income_per_hour; // 0x160 - money32 profit; // 0x164 - uint8_t queue_time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x168 - colour_t track_colour_main[4]; // 0x16C - colour_t track_colour_additional[4]; // 0x170 - colour_t track_colour_supports[4]; // 0x174 - uint8_t music; // 0x178 - uint8_t entrance_style; // 0x179 - uint8_t unk_17A[230]; // 0x17A -}; -assert_struct_size(rct1_ride, 0x260); - -struct rct1_unk_sprite : RCT12SpriteBase -{ - uint8_t pad_1F[3]; // 0x1f - rct_string_id name_string_idx; // 0x22 - uint16_t var_24; - uint16_t frame; // 0x26 - uint8_t var_28[3]; - uint8_t var_2B; - uint8_t pad_2C[0x45]; - uint8_t var_71; -}; - -struct rct1_vehicle : RCT12SpriteBase -{ - uint8_t Pitch; // 0x1F - uint8_t bank_rotation; // 0x20 - uint8_t pad_21[3]; - int32_t remaining_distance; // 0x24 - int32_t velocity; // 0x28 - int32_t acceleration; // 0x2C - uint8_t ride; // 0x30 - uint8_t vehicle_type; // 0x31 - rct_vehicle_colour colours; // 0x32 - union - { - uint16_t track_progress; // 0x34 - struct + uint8_t num_drops; // 0x0C5 + uint8_t start_drop_height; // 0x0C6 + uint8_t highest_drop_height; // 0x0C7 + int32_t sheltered_length; // 0x0C8 + uint8_t unk_CC[2]; // 0x0CC + uint8_t num_sheltered_sections; // 0x0CE + // see cur_test_track_location + uint8_t cur_test_track_z; // 0x0CF + int16_t unk_D0; // 0x0D0 + int16_t unk_D2; // 0x0D2 + // Customer count in the last 10 * 960 game ticks (sliding window) + uint16_t num_customers[CUSTOMER_HISTORY_SIZE]; // 0xD4 + money16 price; // 0x0E8 + RCT12xy8 chairlift_bullwheel_location[2]; // 0x0EA + uint8_t chairlift_bullwheel_z[2]; // 0x0EE + union { - int8_t var_34; - uint8_t var_35; + RatingTuple ratings; + struct + { + ride_rating excitement; // 0x0F0 + ride_rating intensity; // 0x0F2 + ride_rating nausea; // 0x0F4 + }; }; - }; - union - { - int16_t TrackTypeAndDirection; // 0x36 - RCT12xy8 boat_location; // 0x36 - }; - uint16_t track_x; // 0x38 - uint16_t track_y; // 0x3A - uint16_t track_z; // 0x3C - uint16_t next_vehicle_on_train; // 0x3E - - // The previous vehicle on the same train or the last vehicle on the previous or only train. - uint16_t prev_vehicle_on_ride; // 0x40 - - // The next vehicle on the same train or the first vehicle on the next or only train - uint16_t next_vehicle_on_ride; // 0x42 - - uint16_t var_44; - uint16_t mass; // 0x46 - uint16_t update_flags; // 0x48 - uint8_t SwingSprite; - uint8_t current_station; // 0x4B - union - { - int16_t SwingPosition; // 0x4C - int16_t current_time; // 0x4C - struct + uint16_t value; // 0x0F6 + uint16_t chairlift_bullwheel_rotation; // 0x0F8 + uint8_t satisfaction; // 0x0FA + uint8_t satisfaction_time_out; // 0x0FB + uint8_t satisfaction_next; // 0x0FC + uint8_t window_invalidate_flags; // 0x0FD + uint8_t unk_FE[2]; // 0x0FE + uint32_t total_customers; // 0x100 + money32 total_profit; // 0x104 + uint8_t popularity; // 0x108 + uint8_t popularity_time_out; // 0x109 + uint8_t popularity_next; // 0x10A + uint8_t num_riders; // 0x10B + uint8_t music_tune_id; // 0x10C + uint8_t slide_in_use; // 0x10D + union { - int8_t ferris_wheel_var_0; // 0x4C - int8_t ferris_wheel_var_1; // 0x4D + uint16_t slide_peep; // 0x10E + uint16_t maze_tiles; // 0x10E }; - }; - int16_t SwingSpeed; - uint8_t status; // 0x50 - uint8_t sub_state; // 0x51 - uint16_t peep[32]; // 0x52 - uint8_t peep_tshirt_colours[32]; // 0x92 - uint8_t num_seats; // 0xB2 - uint8_t num_peeps; // 0xB3 - uint8_t next_free_seat; // 0xB4 - uint8_t restraints_position; // 0xB5 0 == Close, 255 == Open - int16_t spin_speed; - uint16_t sound2_flags; - uint8_t spin_sprite; - uint8_t sound1_id; // 0xBB - uint8_t sound1_volume; // 0xBC - uint8_t sound2_id; // 0xBD - uint8_t sound2_volume; // 0xBE - int8_t sound_vector_factor; - union - { - uint16_t var_C0; - uint16_t time_waiting; // 0xC0 - uint16_t cable_lift_target; // 0xC0 - }; - uint8_t speed; // 0xC2 - uint8_t powered_acceleration; // 0xC3 - uint8_t var_C4; - uint8_t animation_frame; - uint8_t pad_C6[0x2]; - uint16_t var_C8; - uint16_t var_CA; - uint8_t scream_sound_id; // 0xCC - uint8_t TrackSubposition; - union - { - uint8_t var_CE; - uint8_t num_laps; // 0xCE - }; - union - { - uint8_t var_CF; - uint8_t brake_speed; // 0xCF - }; - uint16_t lost_time_out; // 0xD0 - int8_t vertical_drop_countdown; // 0xD1 - uint8_t var_D3; - uint8_t mini_golf_current_animation; - uint8_t mini_golf_flags; // 0xD5 - uint8_t ride_subtype; // 0xD6 - uint8_t colours_extended; // 0xD7 - - uint16_t GetTrackType() const - { - return TrackTypeAndDirection >> 2; - } - - uint8_t GetTrackDirection() const - { - return TrackTypeAndDirection & RCT12VehicleTrackDirectionMask; - } -}; - -struct rct1_peep : RCT12SpriteBase -{ - uint8_t pad_1F[3]; - rct_string_id name_string_idx; // 0x22 - uint16_t next_x; // 0x24 - uint16_t next_y; // 0x26 - uint8_t next_z; // 0x28 - uint8_t next_flags; // 0x29 - uint8_t outside_of_park; // 0x2A - uint8_t state; // 0x2B - uint8_t sub_state; // 0x2C - uint8_t sprite_type; // 0x2D - uint8_t type; // 0x2E - union - { - uint8_t staff_type; // 0x2F - uint8_t no_of_rides; // 0x2F - }; - uint8_t tshirt_colour; // 0x30 - uint8_t trousers_colour; // 0x31 - uint16_t destination_x; // 0x32 Location that the peep is trying to get to - uint16_t destination_y; // 0x34 - uint8_t destination_tolerance; // 0x36 How close to destination before next action/state 0 = exact - uint8_t var_37; - uint8_t energy; // 0x38 - uint8_t energy_target; // 0x39 - uint8_t happiness; // 0x3A - uint8_t happiness_target; // 0x3B - uint8_t nausea; // 0x3C - uint8_t nausea_target; // 0x3D - uint8_t hunger; // 0x3E - uint8_t thirst; // 0x3F - uint8_t toilet; // 0x40 - uint8_t mass; // 0x41 - uint8_t time_to_consume; - uint8_t intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits - uint8_t nausea_tolerance; // 0x44 - uint8_t window_invalidate_flags; // 0x45 - money16 paid_on_drink; // 0x46 - uint8_t ride_types_been_on[16]; // 0x48 - uint8_t pad_5F[0x10]; // 0x58 - RCT12RideId current_ride; // 0x68 - uint8_t current_ride_station; // 0x69 - uint8_t current_train; // 0x6A - union - { - struct + uint8_t pad_110[0xE]; // 0x110 + uint8_t slide_peep_t_shirt_colour; // 0x11E + uint8_t pad_11F[0x7]; // 0x11F + uint8_t spiral_slide_progress; // 0x126 + uint8_t pad_127[0x9]; // 0x127 + int16_t build_date; // 0x130 + money16 upkeep_cost; // 0x131 + uint16_t race_winner; // 0x132 + uint8_t unk_134[2]; // 0x134 + uint32_t music_position; // 0x138 + uint8_t breakdown_reason_pending; // 0x13C + uint8_t mechanic_status; // 0x13D + uint16_t mechanic; // 0x13E + uint8_t inspection_station; // 0x140 + uint8_t broken_vehicle; // 0x141 + uint8_t broken_car; // 0x142 + uint8_t breakdown_reason; // 0x143 + money16 price_secondary; // 0x144 + union { - uint8_t current_car; // 0x6B - uint8_t current_seat; // 0x6C + struct + { + uint8_t reliability_subvalue; // 0x146, 0 - 255, acts like the decimals for reliability_percentage + uint8_t reliability_percentage; // 0x147, Starts at 100 and decreases from there. + }; + uint16_t reliability; // 0x146 }; - uint16_t time_to_sitdown; // 0x6B - struct + uint8_t unreliability_factor; // 0x148 + uint8_t downtime; // 0x149 + uint8_t inspection_interval; // 0x14A + uint8_t last_inspection; // 0x14B + uint8_t unk_14C[20]; // 0x14C + money32 income_per_hour; // 0x160 + money32 profit; // 0x164 + uint8_t queue_time[RCT12_MAX_STATIONS_PER_RIDE]; // 0x168 + colour_t track_colour_main[4]; // 0x16C + colour_t track_colour_additional[4]; // 0x170 + colour_t track_colour_supports[4]; // 0x174 + uint8_t music; // 0x178 + uint8_t entrance_style; // 0x179 + uint8_t unk_17A[230]; // 0x17A + }; + assert_struct_size(rct1_ride, 0x260); + + struct rct1_unk_sprite : RCT12SpriteBase + { + uint8_t pad_1F[3]; // 0x1f + rct_string_id name_string_idx; // 0x22 + uint16_t var_24; + uint16_t frame; // 0x26 + uint8_t var_28[3]; + uint8_t var_2B; + uint8_t pad_2C[0x45]; + uint8_t var_71; + }; + + struct rct1_vehicle : RCT12SpriteBase + { + uint8_t Pitch; // 0x1F + uint8_t bank_rotation; // 0x20 + uint8_t pad_21[3]; + int32_t remaining_distance; // 0x24 + int32_t velocity; // 0x28 + int32_t acceleration; // 0x2C + uint8_t ride; // 0x30 + uint8_t vehicle_type; // 0x31 + rct_vehicle_colour colours; // 0x32 + union { - uint8_t time_to_stand; // 0x6B - uint8_t standing_flags; // 0x6C + uint16_t track_progress; // 0x34 + struct + { + int8_t var_34; + uint8_t var_35; + }; }; + union + { + int16_t TrackTypeAndDirection; // 0x36 + RCT12xy8 boat_location; // 0x36 + }; + uint16_t track_x; // 0x38 + uint16_t track_y; // 0x3A + uint16_t track_z; // 0x3C + uint16_t next_vehicle_on_train; // 0x3E + + // The previous vehicle on the same train or the last vehicle on the previous or only train. + uint16_t prev_vehicle_on_ride; // 0x40 + + // The next vehicle on the same train or the first vehicle on the next or only train + uint16_t next_vehicle_on_ride; // 0x42 + + uint16_t var_44; + uint16_t mass; // 0x46 + uint16_t update_flags; // 0x48 + uint8_t SwingSprite; + uint8_t current_station; // 0x4B + union + { + int16_t SwingPosition; // 0x4C + int16_t current_time; // 0x4C + struct + { + int8_t ferris_wheel_var_0; // 0x4C + int8_t ferris_wheel_var_1; // 0x4D + }; + }; + int16_t SwingSpeed; + uint8_t status; // 0x50 + uint8_t sub_state; // 0x51 + uint16_t peep[32]; // 0x52 + uint8_t peep_tshirt_colours[32]; // 0x92 + uint8_t num_seats; // 0xB2 + uint8_t num_peeps; // 0xB3 + uint8_t next_free_seat; // 0xB4 + uint8_t restraints_position; // 0xB5 0 == Close, 255 == Open + int16_t spin_speed; + uint16_t sound2_flags; + uint8_t spin_sprite; + uint8_t sound1_id; // 0xBB + uint8_t sound1_volume; // 0xBC + uint8_t sound2_id; // 0xBD + uint8_t sound2_volume; // 0xBE + int8_t sound_vector_factor; + union + { + uint16_t var_C0; + uint16_t time_waiting; // 0xC0 + uint16_t cable_lift_target; // 0xC0 + }; + uint8_t speed; // 0xC2 + uint8_t powered_acceleration; // 0xC3 + uint8_t var_C4; + uint8_t animation_frame; + uint8_t pad_C6[0x2]; + uint16_t animationState; + uint16_t var_CA; + uint8_t scream_sound_id; // 0xCC + uint8_t TrackSubposition; + union + { + uint8_t var_CE; + uint8_t num_laps; // 0xCE + }; + union + { + uint8_t var_CF; + uint8_t brake_speed; // 0xCF + }; + uint16_t lost_time_out; // 0xD0 + int8_t vertical_drop_countdown; // 0xD1 + uint8_t var_D3; + uint8_t mini_golf_current_animation; + uint8_t mini_golf_flags; // 0xD5 + uint8_t ride_subtype; // 0xD6 + uint8_t colours_extended; // 0xD7 + + uint16_t GetTrackType() const + { + return TrackTypeAndDirection >> 2; + } + + uint8_t GetTrackDirection() const + { + return TrackTypeAndDirection & RCT12VehicleTrackDirectionMask; + } }; - // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower - uint8_t special_sprite; // 0x6D - uint8_t action_sprite_type; // 0x6E - // Seems to be used like a local variable, as it's always set before calling SwitchNextActionSpriteType, which reads this - // again - uint8_t next_action_sprite_type; // 0x6F - uint8_t action_sprite_image_offset; // 0x70 - uint8_t action; // 0x71 - uint8_t action_frame; // 0x72 - uint8_t step_progress; - union + + struct rct1_peep : RCT12SpriteBase { - uint16_t mechanic_time_since_call; // time getting to ride to fix - uint16_t next_in_queue; // 0x74 + uint8_t pad_1F[3]; + rct_string_id name_string_idx; // 0x22 + uint16_t next_x; // 0x24 + uint16_t next_y; // 0x26 + uint8_t next_z; // 0x28 + uint8_t next_flags; // 0x29 + uint8_t outside_of_park; // 0x2A + uint8_t state; // 0x2B + uint8_t sub_state; // 0x2C + uint8_t sprite_type; // 0x2D + uint8_t type; // 0x2E + union + { + uint8_t staff_type; // 0x2F + uint8_t no_of_rides; // 0x2F + }; + uint8_t tshirt_colour; // 0x30 + uint8_t trousers_colour; // 0x31 + uint16_t destination_x; // 0x32 Location that the peep is trying to get to + uint16_t destination_y; // 0x34 + uint8_t destination_tolerance; // 0x36 How close to destination before next action/state 0 = exact + uint8_t var_37; + uint8_t energy; // 0x38 + uint8_t energy_target; // 0x39 + uint8_t happiness; // 0x3A + uint8_t happiness_target; // 0x3B + uint8_t nausea; // 0x3C + uint8_t nausea_target; // 0x3D + uint8_t hunger; // 0x3E + uint8_t thirst; // 0x3F + uint8_t toilet; // 0x40 + uint8_t mass; // 0x41 + uint8_t time_to_consume; + uint8_t intensity; // 0x43 The max intensity is stored in the first 4 bits, and the min intensity in the second 4 bits + uint8_t nausea_tolerance; // 0x44 + uint8_t window_invalidate_flags; // 0x45 + money16 paid_on_drink; // 0x46 + uint8_t ride_types_been_on[16]; // 0x48 + uint8_t pad_5F[0x10]; // 0x58 + RCT12RideId current_ride; // 0x68 + uint8_t current_ride_station; // 0x69 + uint8_t current_train; // 0x6A + union + { + struct + { + uint8_t current_car; // 0x6B + uint8_t current_seat; // 0x6C + }; + uint16_t time_to_sitdown; // 0x6B + struct + { + uint8_t time_to_stand; // 0x6B + uint8_t standing_flags; // 0x6C + }; + }; + // Normally 0, 1 for carrying sliding board on spiral slide ride, 2 for carrying lawn mower + uint8_t special_sprite; // 0x6D + uint8_t action_sprite_type; // 0x6E + // Seems to be used like a local variable, as it's always set before calling SwitchNextActionSpriteType, which reads + // this again + uint8_t next_action_sprite_type; // 0x6F + uint8_t action_sprite_image_offset; // 0x70 + uint8_t action; // 0x71 + uint8_t action_frame; // 0x72 + uint8_t step_progress; + union + { + uint16_t mechanic_time_since_call; // time getting to ride to fix + uint16_t next_in_queue; // 0x74 + }; + uint8_t pad_76; + uint8_t pad_77; + union + { + uint8_t maze_last_edge; // 0x78 + uint8_t direction; // Direction ? + }; + RCT12RideId interaction_ride_index; + uint16_t time_in_queue; // 0x7A + uint8_t rides_been_on[32]; // 0x7C + // 255 bit bitmap of every ride the peep has been on see + // window_peep_rides_update for how to use. + uint32_t id; // 0x9C + money32 cash_in_pocket; // 0xA0 + money32 cash_spent; // 0xA4 + int32_t park_entry_time; // 0xA8 + int8_t rejoin_queue_timeout; // 0xAC + RCT12RideId previous_ride; // 0xAD + uint16_t previous_ride_time_out; // 0xAE + RCT12PeepThought thoughts[RCT12_PEEP_MAX_THOUGHTS]; // 0xB0 + uint8_t pad_C4; + union + { + uint8_t staff_id; // 0xC5 + RCT12RideId guest_heading_to_ride_id; // 0xC5 + }; + union + { + uint8_t staff_orders; // 0xC6 + uint8_t peep_is_lost_countdown; // 0xC6 + }; + RCT12RideId photo1_ride_ref; // 0xC7 + uint32_t peep_flags; // 0xC8 + rct12_xyzd8 pathfind_goal; // 0xCC + rct12_xyzd8 pathfind_history[4]; // 0xD0 + uint8_t no_action_frame_num; // 0xE0 + // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8_t litter_count; // 0xE1 + union + { + uint8_t time_on_ride; // 0xE2 + uint8_t staff_mowing_timeout; // 0xE2 + }; + // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc + uint8_t disgusting_count; // 0xE3 + money16 paid_to_enter; // 0xE4 + money16 paid_on_rides; // 0xE6 + money16 paid_on_food; // 0xE8 + money16 paid_on_souvenirs; // 0xEA + uint8_t no_of_food; // 0xEC + uint8_t no_of_drinks; // 0xED + uint8_t no_of_souvenirs; // 0xEE + uint8_t vandalism_seen; // 0xEF + uint8_t voucher_type; // 0xF0 + RCT12RideId voucher_arguments; // 0xF1 ride_id or string_offset_id + uint8_t surroundings_thought_timeout; // 0xF2 + uint8_t angriness; // 0xF3 + uint8_t time_lost; + uint8_t days_in_queue; // 0xF5 + uint8_t balloon_colour; // 0xF6 + uint8_t umbrella_colour; // 0xF7 + uint8_t hat_colour; // 0xF8 + RCT12RideId favourite_ride; // 0xF9 + uint8_t favourite_ride_rating; // 0xFA + uint8_t pad_FB; + uint32_t item_standard_flags; // 0xFC + uint64_t GetItemFlags() const + { + return item_standard_flags; + } }; - uint8_t pad_76; - uint8_t pad_77; - union + assert_struct_size(rct1_peep, 0x100); + + enum RCT1_PEEP_SPRITE_TYPE { - uint8_t maze_last_edge; // 0x78 - uint8_t direction; // Direction ? + RCT1_PEEP_SPRITE_TYPE_NORMAL = 0, + RCT1_PEEP_SPRITE_TYPE_HANDYMAN = 1, + RCT1_PEEP_SPRITE_TYPE_MECHANIC = 2, + RCT1_PEEP_SPRITE_TYPE_SECURITY = 3, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_PANDA = 4, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_TIGER = 5, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT = 6, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN = 7, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA = 8, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN = 9, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT = 10, + RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT = 11, + + RCT1_PEEP_SPRITE_TYPE_BALLOON = 16, + RCT1_PEEP_SPRITE_TYPE_CANDYFLOSS = 17, + RCT1_PEEP_SPRITE_TYPE_UMBRELLA = 18, + RCT1_PEEP_SPRITE_TYPE_PIZZA = 19, // Unsure + RCT1_PEEP_SPRITE_TYPE_SECURITY_ALT = 20, // Unknown + RCT1_PEEP_SPRITE_TYPE_POPCORN = 21, + RCT1_PEEP_SPRITE_TYPE_ARMS_CROSSED = 22, + RCT1_PEEP_SPRITE_TYPE_HEAD_DOWN = 23, + RCT1_PEEP_SPRITE_TYPE_NAUSEOUS = 24, + RCT1_PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 25, + RCT1_PEEP_SPRITE_TYPE_REQUIRE_TOILET = 26, + RCT1_PEEP_SPRITE_TYPE_HAT = 27, + RCT1_PEEP_SPRITE_TYPE_BURGER = 28, + RCT1_PEEP_SPRITE_TYPE_TENTACLE = 29, + RCT1_PEEP_SPRITE_TYPE_TOFFEE_APPLE = 30 }; - RCT12RideId interaction_ride_index; - uint16_t time_in_queue; // 0x7A - uint8_t rides_been_on[32]; // 0x7C - // 255 bit bitmap of every ride the peep has been on see - // window_peep_rides_update for how to use. - uint32_t id; // 0x9C - money32 cash_in_pocket; // 0xA0 - money32 cash_spent; // 0xA4 - int32_t park_entry_time; // 0xA8 - int8_t rejoin_queue_timeout; // 0xAC - RCT12RideId previous_ride; // 0xAD - uint16_t previous_ride_time_out; // 0xAE - RCT12PeepThought thoughts[RCT12_PEEP_MAX_THOUGHTS]; // 0xB0 - uint8_t pad_C4; - union + + union rct1_sprite { - uint8_t staff_id; // 0xC5 - RCT12RideId guest_heading_to_ride_id; // 0xC5 + uint8_t pad_00[0x100]; + rct1_unk_sprite unknown; + rct1_vehicle vehicle; + rct1_peep peep; + RCT12SpriteLitter litter; + RCT12SpriteBalloon balloon; + RCT12SpriteDuck duck; + RCT12SpriteJumpingFountain jumping_fountain; + RCT12SpriteMoneyEffect money_effect; + RCT12SpriteCrashedVehicleParticle crashed_vehicle_particle; + RCT12SpriteCrashSplash crash_splash; + RCT12SpriteSteamParticle steam_particle; }; - union + assert_struct_size(rct1_sprite, 0x100); + + struct rct1_research_item { - uint8_t staff_orders; // 0xC6 - uint8_t peep_is_lost_countdown; // 0xC6 + uint8_t item; + uint8_t related_ride; + uint8_t type; + uint8_t flags; + uint8_t category; }; - RCT12RideId photo1_ride_ref; // 0xC7 - uint32_t peep_flags; // 0xC8 - rct12_xyzd8 pathfind_goal; // 0xCC - rct12_xyzd8 pathfind_history[4]; // 0xD0 - uint8_t no_action_frame_num; // 0xE0 - // 0x3F Litter Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8_t litter_count; // 0xE1 - union + assert_struct_size(rct1_research_item, 5); + + /** + * RCT1,AA,LL scenario / saved game structure. + * size: 0x1F850C + */ + struct rct1_s4 { - uint8_t time_on_ride; // 0xE2 - uint8_t staff_mowing_timeout; // 0xE2 + uint16_t month; + uint16_t day; + uint32_t ticks; + uint32_t random_a; + uint32_t random_b; + RCT12TileElement tile_elements[RCT1_MAX_TILE_ELEMENTS]; + uint32_t unk_counter; + rct1_sprite sprites[RCT1_MAX_SPRITES]; + uint16_t next_sprite_index; + uint16_t first_vehicle_sprite_index; + uint16_t first_peep_sprite_index; + uint16_t first_duck_sprite_index; + uint16_t first_litter_sprite_index; + uint16_t first_oversized_ride_car_sprite_index; + uint16_t sprites_available; + uint16_t num_vehicle_sprites; + uint16_t num_peep_sprites; + uint16_t num_duck_sprites; + uint16_t num_litter_sprites; + uint16_t num_oversized_ride_car_sprites; + uint32_t park_name_string_index; + uint32_t unk_198830; + money32 cash; + money32 loan; + uint32_t park_flags; + money16 park_entrance_fee; + rct1_entrance park_entrance; + uint8_t unk_198849; + rct12_peep_spawn peep_spawn[RCT12_MAX_PEEP_SPAWNS]; + uint8_t unk_198856; + uint8_t research_level; + uint32_t unk_198858; + uint32_t available_rides[8]; + uint32_t available_vehicles[8]; + uint32_t ride_feature_1[128]; + uint32_t ride_feature_2[128]; + uint16_t guests_in_park; + uint16_t unk_198C9E; + money32 expenditure[RCT12_EXPENDITURE_TABLE_MONTH_COUNT][RCT12_EXPENDITURE_TYPE_COUNT]; + uint32_t guests_in_park_2; + uint8_t unk_199024; + colour_t handman_colour; + colour_t mechanic_colour; + colour_t security_guard_colour; + uint8_t available_scenery[128]; + uint16_t available_banners; + uint8_t unk_1990AA[94]; + uint16_t park_rating; + uint8_t park_rating_history[32]; + uint8_t guests_in_park_history[32]; + uint8_t research_priority; + uint8_t research_progress_stage; + uint8_t last_research_item; + uint8_t last_research_ride; + uint8_t last_research_type; + uint8_t last_research_flags; + rct1_research_item research_items[200]; + uint8_t next_research_item; + uint8_t next_research_ride; + uint8_t next_research_type; + uint8_t next_research_flags; + uint16_t research_progress; + uint8_t next_research_category; + uint8_t next_research_expected_day; + uint8_t next_research_expected_month; + uint8_t guest_initial_happiness; + uint16_t park_size; + uint16_t guest_generation_probability; + money16 total_ride_value_for_money; + money32 max_loan; + money16 guest_initial_cash; + uint8_t guest_initial_hunger; + uint8_t guest_initial_thirst; + uint8_t scenario_objective_type; + uint8_t scenario_objective_years; + uint16_t unk_199552; + money32 scenario_objective_currency; + uint16_t scenario_objective_num_guests; + uint8_t marketing_status[20]; + uint8_t marketing_assoc[20]; + uint8_t unk_199582[2]; + money32 cash_history[RCT12_FINANCE_GRAPH_SIZE]; + money32 total_expenditure; + money32 profit; + uint8_t unk_199788[8]; + money32 weekly_profit_history[RCT12_FINANCE_GRAPH_SIZE]; + money32 park_value; + money32 park_value_history[RCT12_FINANCE_GRAPH_SIZE]; + money32 completed_company_value; + uint32_t num_admissions; + money32 admission_total_income; + money32 company_value; + uint8_t thought_timer[16]; + rct12_award awards[RCT12_MAX_AWARDS]; + money16 land_price; + money16 construction_rights_price; + uint16_t unk_199BCC; + uint16_t unk_199BCE; + uint32_t unk_199BD0; + char username[64]; + uint32_t game_version; + money32 objective_completion_company_value; + uint32_t finance_checksum; + uint16_t num_rides; + uint16_t cheat_detection_neg_num_rides; + uint16_t cheat_detection_max_owned_tiles; + uint16_t cheat_detection_neg_max_owned_tiles; + uint32_t finance_checksum_3; + uint32_t scenario_slot_index_checksum; + char scenario_winner[32]; + uint32_t finance_checksum_2; + char copyright_notice[40]; + uint16_t cheat_detection_sv6_sc4[4]; + uint16_t unk_199C84; + uint16_t unk_199C86; + uint16_t map_size_units; + uint16_t map_size_unk_b; + uint16_t map_size; + uint16_t map_size_max_xy; + uint32_t same_price_flags; + uint16_t unk_199C94; + uint8_t unk_199C96[3]; + uint8_t water_colour; + uint16_t unk_199C9A; + rct1_research_item research_items_LL[180]; + uint8_t unk_19A020[5468]; + RCT12Banner banners[RCT1_MAX_BANNERS]; + char string_table[RCT12_MAX_USER_STRINGS][RCT12_USER_STRING_MAX_LENGTH]; + uint32_t game_time_counter; + rct1_ride rides[RCT12_MAX_RIDES_IN_PARK]; + uint16_t unk_game_time_counter; + int16_t view_x; + int16_t view_y; + uint8_t view_zoom; + uint8_t view_rotation; + RCT12MapAnimation map_animations[RCT1_MAX_ANIMATED_OBJECTS]; + uint32_t num_map_animations; + uint8_t unk_1CADBC[12]; + uint16_t scrolling_text_step; + uint32_t unk_1CADCA; + uint16_t unk_1CADCE; + uint8_t unk_1CADD0[116]; + RCT12RideMeasurement ride_measurements[8]; + uint32_t next_guest_index; + uint16_t game_counter_5; + uint8_t patrol_areas[(RCT1_MAX_STAFF + RCT12_STAFF_TYPE_COUNT) * RCT12_PATROL_AREA_SIZE]; + uint8_t staff_modes[RCT1_MAX_STAFF]; + uint8_t unk_1F431E[4]; + uint8_t unk_1F4322[8]; + uint8_t climate; + uint8_t unk_1F432B; + uint16_t climate_timer; + uint8_t weather; + uint8_t target_weather; + uint8_t temperature; + uint8_t target_temperature; + uint8_t thunder_frequency; + uint8_t target_thunder_frequency; + uint8_t weather_gloom; + uint8_t target_weather_gloom; + uint8_t rain; + uint8_t target_rain; + rct12_news_item messages[RCT12_MAX_NEWS_ITEMS]; + char scenario_name[62]; + uint16_t scenario_slot_index; + uint32_t scenario_flags; + uint8_t unk_1F8358[432]; + uint32_t expansion_pack_checksum; }; - // 0x3F Sick Count split into lots of 3 with time, 0xC0 Time since last recalc - uint8_t disgusting_count; // 0xE3 - money16 paid_to_enter; // 0xE4 - money16 paid_on_rides; // 0xE6 - money16 paid_on_food; // 0xE8 - money16 paid_on_souvenirs; // 0xEA - uint8_t no_of_food; // 0xEC - uint8_t no_of_drinks; // 0xED - uint8_t no_of_souvenirs; // 0xEE - uint8_t vandalism_seen; // 0xEF - uint8_t voucher_type; // 0xF0 - RCT12RideId voucher_arguments; // 0xF1 ride_id or string_offset_id - uint8_t surroundings_thought_timeout; // 0xF2 - uint8_t angriness; // 0xF3 - uint8_t time_lost; - uint8_t days_in_queue; // 0xF5 - uint8_t balloon_colour; // 0xF6 - uint8_t umbrella_colour; // 0xF7 - uint8_t hat_colour; // 0xF8 - RCT12RideId favourite_ride; // 0xF9 - uint8_t favourite_ride_rating; // 0xFA - uint8_t pad_FB; - uint32_t item_standard_flags; // 0xFC - uint64_t GetItemFlags() const + assert_struct_size(rct1_s4, 0x1F850C); + + /** + * Track design structure. Only for base RCT1 + * size: 0x2006 + */ + struct rct_track_td4 { - return item_standard_flags; - } -}; -assert_struct_size(rct1_peep, 0x100); - -enum RCT1_PEEP_SPRITE_TYPE -{ - RCT1_PEEP_SPRITE_TYPE_NORMAL = 0, - RCT1_PEEP_SPRITE_TYPE_HANDYMAN = 1, - RCT1_PEEP_SPRITE_TYPE_MECHANIC = 2, - RCT1_PEEP_SPRITE_TYPE_SECURITY = 3, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_PANDA = 4, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_TIGER = 5, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ELEPHANT = 6, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ROMAN = 7, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_GORILLA = 8, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_SNOWMAN = 9, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_KNIGHT = 10, - RCT1_PEEP_SPRITE_TYPE_ENTERTAINER_ASTRONAUT = 11, - - RCT1_PEEP_SPRITE_TYPE_BALLOON = 16, - RCT1_PEEP_SPRITE_TYPE_CANDYFLOSS = 17, - RCT1_PEEP_SPRITE_TYPE_UMBRELLA = 18, - RCT1_PEEP_SPRITE_TYPE_PIZZA = 19, // Unsure - RCT1_PEEP_SPRITE_TYPE_SECURITY_ALT = 20, // Unknown - RCT1_PEEP_SPRITE_TYPE_POPCORN = 21, - RCT1_PEEP_SPRITE_TYPE_ARMS_CROSSED = 22, - RCT1_PEEP_SPRITE_TYPE_HEAD_DOWN = 23, - RCT1_PEEP_SPRITE_TYPE_NAUSEOUS = 24, - RCT1_PEEP_SPRITE_TYPE_VERY_NAUSEOUS = 25, - RCT1_PEEP_SPRITE_TYPE_REQUIRE_TOILET = 26, - RCT1_PEEP_SPRITE_TYPE_HAT = 27, - RCT1_PEEP_SPRITE_TYPE_BURGER = 28, - RCT1_PEEP_SPRITE_TYPE_TENTACLE = 29, - RCT1_PEEP_SPRITE_TYPE_TOFFEE_APPLE = 30 -}; - -union rct1_sprite -{ - uint8_t pad_00[0x100]; - rct1_unk_sprite unknown; - rct1_vehicle vehicle; - rct1_peep peep; - RCT12SpriteLitter litter; - RCT12SpriteBalloon balloon; - RCT12SpriteDuck duck; - RCT12SpriteJumpingFountain jumping_fountain; - RCT12SpriteMoneyEffect money_effect; - RCT12SpriteCrashedVehicleParticle crashed_vehicle_particle; - RCT12SpriteCrashSplash crash_splash; - RCT12SpriteSteamParticle steam_particle; -}; -assert_struct_size(rct1_sprite, 0x100); - -struct rct1_research_item -{ - uint8_t item; - uint8_t related_ride; - uint8_t type; - uint8_t flags; - uint8_t category; -}; -assert_struct_size(rct1_research_item, 5); - -/** - * RCT1,AA,LL scenario / saved game structure. - * size: 0x1F850C - */ -struct rct1_s4 -{ - uint16_t month; - uint16_t day; - uint32_t ticks; - uint32_t random_a; - uint32_t random_b; - RCT12TileElement tile_elements[RCT1_MAX_TILE_ELEMENTS]; - uint32_t unk_counter; - rct1_sprite sprites[RCT1_MAX_SPRITES]; - uint16_t next_sprite_index; - uint16_t first_vehicle_sprite_index; - uint16_t first_peep_sprite_index; - uint16_t first_duck_sprite_index; - uint16_t first_litter_sprite_index; - uint16_t first_oversized_ride_car_sprite_index; - uint16_t sprites_available; - uint16_t num_vehicle_sprites; - uint16_t num_peep_sprites; - uint16_t num_duck_sprites; - uint16_t num_litter_sprites; - uint16_t num_oversized_ride_car_sprites; - uint32_t park_name_string_index; - uint32_t unk_198830; - money32 cash; - money32 loan; - uint32_t park_flags; - money16 park_entrance_fee; - rct1_entrance park_entrance; - uint8_t unk_198849; - rct12_peep_spawn peep_spawn[RCT12_MAX_PEEP_SPAWNS]; - uint8_t unk_198856; - uint8_t research_level; - uint32_t unk_198858; - uint32_t available_rides[8]; - uint32_t available_vehicles[8]; - uint32_t ride_feature_1[128]; - uint32_t ride_feature_2[128]; - uint16_t guests_in_park; - uint16_t unk_198C9E; - money32 expenditure[RCT12_EXPENDITURE_TABLE_MONTH_COUNT][RCT12_EXPENDITURE_TYPE_COUNT]; - uint32_t guests_in_park_2; - uint8_t unk_199024; - colour_t handman_colour; - colour_t mechanic_colour; - colour_t security_guard_colour; - uint8_t available_scenery[128]; - uint16_t available_banners; - uint8_t unk_1990AA[94]; - uint16_t park_rating; - uint8_t park_rating_history[32]; - uint8_t guests_in_park_history[32]; - uint8_t research_priority; - uint8_t research_progress_stage; - uint8_t last_research_item; - uint8_t last_research_ride; - uint8_t last_research_type; - uint8_t last_research_flags; - rct1_research_item research_items[200]; - uint8_t next_research_item; - uint8_t next_research_ride; - uint8_t next_research_type; - uint8_t next_research_flags; - uint16_t research_progress; - uint8_t next_research_category; - uint8_t next_research_expected_day; - uint8_t next_research_expected_month; - uint8_t guest_initial_happiness; - uint16_t park_size; - uint16_t guest_generation_probability; - money16 total_ride_value_for_money; - money32 max_loan; - money16 guest_initial_cash; - uint8_t guest_initial_hunger; - uint8_t guest_initial_thirst; - uint8_t scenario_objective_type; - uint8_t scenario_objective_years; - uint16_t unk_199552; - money32 scenario_objective_currency; - uint16_t scenario_objective_num_guests; - uint8_t marketing_status[20]; - uint8_t marketing_assoc[20]; - uint8_t unk_199582[2]; - money32 cash_history[RCT12_FINANCE_GRAPH_SIZE]; - money32 total_expenditure; - money32 profit; - uint8_t unk_199788[8]; - money32 weekly_profit_history[RCT12_FINANCE_GRAPH_SIZE]; - money32 park_value; - money32 park_value_history[RCT12_FINANCE_GRAPH_SIZE]; - money32 completed_company_value; - uint32_t num_admissions; - money32 admission_total_income; - money32 company_value; - uint8_t thought_timer[16]; - rct12_award awards[RCT12_MAX_AWARDS]; - money16 land_price; - money16 construction_rights_price; - uint16_t unk_199BCC; - uint16_t unk_199BCE; - uint32_t unk_199BD0; - char username[64]; - uint32_t game_version; - money32 objective_completion_company_value; - uint32_t finance_checksum; - uint16_t num_rides; - uint16_t cheat_detection_neg_num_rides; - uint16_t cheat_detection_max_owned_tiles; - uint16_t cheat_detection_neg_max_owned_tiles; - uint32_t finance_checksum_3; - uint32_t scenario_slot_index_checksum; - char scenario_winner[32]; - uint32_t finance_checksum_2; - char copyright_notice[40]; - uint16_t cheat_detection_sv6_sc4[4]; - uint16_t unk_199C84; - uint16_t unk_199C86; - uint16_t map_size_units; - uint16_t map_size_unk_b; - uint16_t map_size; - uint16_t map_size_max_xy; - uint32_t same_price_flags; - uint16_t unk_199C94; - uint8_t unk_199C96[3]; - uint8_t water_colour; - uint16_t unk_199C9A; - rct1_research_item research_items_LL[180]; - uint8_t unk_19A020[5468]; - RCT12Banner banners[RCT1_MAX_BANNERS]; - char string_table[RCT12_MAX_USER_STRINGS][RCT12_USER_STRING_MAX_LENGTH]; - uint32_t game_time_counter; - rct1_ride rides[RCT12_MAX_RIDES_IN_PARK]; - uint16_t unk_game_time_counter; - int16_t view_x; - int16_t view_y; - uint8_t view_zoom; - uint8_t view_rotation; - RCT12MapAnimation map_animations[RCT1_MAX_ANIMATED_OBJECTS]; - uint32_t num_map_animations; - uint8_t unk_1CADBC[12]; - uint16_t scrolling_text_step; - uint32_t unk_1CADCA; - uint16_t unk_1CADCE; - uint8_t unk_1CADD0[116]; - RCT12RideMeasurement ride_measurements[8]; - uint32_t next_guest_index; - uint16_t game_counter_5; - uint8_t patrol_areas[(RCT1_MAX_STAFF + RCT12_STAFF_TYPE_COUNT) * RCT12_PATROL_AREA_SIZE]; - uint8_t staff_modes[RCT1_MAX_STAFF]; - uint8_t unk_1F431E[4]; - uint8_t unk_1F4322[8]; - uint8_t climate; - uint8_t unk_1F432B; - uint16_t climate_timer; - uint8_t weather; - uint8_t target_weather; - uint8_t temperature; - uint8_t target_temperature; - uint8_t thunder_frequency; - uint8_t target_thunder_frequency; - uint8_t weather_gloom; - uint8_t target_weather_gloom; - uint8_t rain; - uint8_t target_rain; - rct12_news_item messages[RCT12_MAX_NEWS_ITEMS]; - char scenario_name[62]; - uint16_t scenario_slot_index; - uint32_t scenario_flags; - uint8_t unk_1F8358[432]; - uint32_t expansion_pack_checksum; -}; -assert_struct_size(rct1_s4, 0x1F850C); - -/** - * Track design structure. Only for base RCT1 - * size: 0x2006 - */ -struct rct_track_td4 -{ - uint8_t type; // 0x00 - uint8_t vehicle_type; - uint32_t flags; // 0x02 - uint8_t mode; // 0x06 - uint8_t version_and_colour_scheme; // 0x07 0b0000_VVCC - rct_vehicle_colour vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x08 - uint8_t track_spine_colour_v0; // 0x20 - uint8_t track_rail_colour_v0; // 0x21 - uint8_t track_support_colour_v0; // 0x22 - uint8_t depart_flags; // 0x23 - uint8_t number_of_trains; // 0x24 - uint8_t number_of_cars_per_train; // 0x25 - uint8_t min_waiting_time; // 0x26 - uint8_t max_waiting_time; // 0x27 - union - { - uint8_t operation_setting; - uint8_t launch_speed; - uint8_t num_laps; - uint8_t max_people; + uint8_t type; // 0x00 + uint8_t vehicle_type; + uint32_t flags; // 0x02 + uint8_t mode; // 0x06 + uint8_t version_and_colour_scheme; // 0x07 0b0000_VVCC + rct_vehicle_colour vehicle_colours[RCT1_MAX_TRAINS_PER_RIDE]; // 0x08 + uint8_t track_spine_colour_v0; // 0x20 + uint8_t track_rail_colour_v0; // 0x21 + uint8_t track_support_colour_v0; // 0x22 + uint8_t depart_flags; // 0x23 + uint8_t number_of_trains; // 0x24 + uint8_t number_of_cars_per_train; // 0x25 + uint8_t min_waiting_time; // 0x26 + uint8_t max_waiting_time; // 0x27 + union + { + uint8_t operation_setting; + uint8_t launch_speed; + uint8_t num_laps; + uint8_t max_people; + }; + int8_t max_speed; // 0x29 + int8_t average_speed; // 0x2A + uint16_t ride_length; // 0x2B + uint8_t max_positive_vertical_g; // 0x2D + int8_t max_negative_vertical_g; // 0x2C + uint8_t max_lateral_g; // 0x2F + union + { + uint8_t num_inversions; // 0x30 + uint8_t num_holes; // 0x30 + }; + uint8_t num_drops; // 0x31 + uint8_t highest_drop_height; // 0x32 + uint8_t excitement; // 0x33 + uint8_t intensity; // 0x34 + uint8_t nausea; // 0x35 + money16 upkeep_cost; // 0x36 }; - int8_t max_speed; // 0x29 - int8_t average_speed; // 0x2A - uint16_t ride_length; // 0x2B - uint8_t max_positive_vertical_g; // 0x2D - int8_t max_negative_vertical_g; // 0x2C - uint8_t max_lateral_g; // 0x2F - union + + assert_struct_size(rct_track_td4, 0x38); + + /** + * Track design structure for Added Attractions / Loopy Landscapes + * size: 0x2006 + */ + struct rct_track_td4_aa : public rct_track_td4 { - uint8_t num_inversions; // 0x30 - uint8_t num_holes; // 0x30 + uint8_t track_spine_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x38 + uint8_t track_rail_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x3C + uint8_t track_support_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x40 + uint8_t flags2; // 0x44 + + uint8_t pad_45[0x7F]; // 0x45 }; - uint8_t num_drops; // 0x31 - uint8_t highest_drop_height; // 0x32 - uint8_t excitement; // 0x33 - uint8_t intensity; // 0x34 - uint8_t nausea; // 0x35 - money16 upkeep_cost; // 0x36 -}; -assert_struct_size(rct_track_td4, 0x38); - -/** - * Track design structure for Added Attractions / Loopy Landscapes - * size: 0x2006 - */ -struct rct_track_td4_aa : public rct_track_td4 -{ - uint8_t track_spine_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x38 - uint8_t track_rail_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x3C - uint8_t track_support_colour[RCT12_NUM_COLOUR_SCHEMES]; // 0x40 - uint8_t flags2; // 0x44 - - uint8_t pad_45[0x7F]; // 0x45 -}; - -assert_struct_size(rct_track_td4_aa, 0xC4); + assert_struct_size(rct_track_td4_aa, 0xC4); #pragma pack(pop) -enum -{ - RCT1_RIDE_TYPE_NULL = 255, - RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER = 0, - RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER, - RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER, - RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER, - RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER, - RCT1_RIDE_TYPE_MINIATURE_RAILWAY, - RCT1_RIDE_TYPE_MONORAIL, - RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER, - RCT1_RIDE_TYPE_BOAT_HIRE, - RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER, - RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER, - RCT1_RIDE_TYPE_CAR_RIDE, - RCT1_RIDE_TYPE_LAUNCHED_FREEFALL, - RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER, - RCT1_RIDE_TYPE_OBSERVATION_TOWER, - RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER, - RCT1_RIDE_TYPE_WATER_SLIDE, - RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER, - RCT1_RIDE_TYPE_CHAIRLIFT, - RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER, - RCT1_RIDE_TYPE_HEDGE_MAZE, - RCT1_RIDE_TYPE_SPIRAL_SLIDE, - RCT1_RIDE_TYPE_GO_KARTS, - RCT1_RIDE_TYPE_LOG_FLUME, - RCT1_RIDE_TYPE_RIVER_RAPIDS, - RCT1_RIDE_TYPE_DODGEMS, - RCT1_RIDE_TYPE_SWINGING_SHIP, - RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP, - RCT1_RIDE_TYPE_ICE_CREAM_STALL, - RCT1_RIDE_TYPE_CHIPS_STALL, - RCT1_RIDE_TYPE_DRINK_STALL, - RCT1_RIDE_TYPE_CANDYFLOSS_STALL, - RCT1_RIDE_TYPE_BURGER_BAR, - RCT1_RIDE_TYPE_MERRY_GO_ROUND, - RCT1_RIDE_TYPE_BALLOON_STALL, - RCT1_RIDE_TYPE_INFORMATION_KIOSK, - RCT1_RIDE_TYPE_TOILETS, - RCT1_RIDE_TYPE_FERRIS_WHEEL, - RCT1_RIDE_TYPE_MOTION_SIMULATOR, - RCT1_RIDE_TYPE_3D_CINEMA, - RCT1_RIDE_TYPE_TOP_SPIN, - RCT1_RIDE_TYPE_SPACE_RINGS, - RCT1_RIDE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER, - RCT1_RIDE_TYPE_SOUVENIR_STALL, - RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER, - RCT1_RIDE_TYPE_PIZZA_STALL, - RCT1_RIDE_TYPE_TWIST, - RCT1_RIDE_TYPE_HAUNTED_HOUSE, - RCT1_RIDE_TYPE_POPCORN_STALL, - RCT1_RIDE_TYPE_CIRCUS, - RCT1_RIDE_TYPE_GHOST_TRAIN, - RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER, - RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER, - RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER, - RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER, - RCT1_RIDE_TYPE_HOT_DOG_STALL, - RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL, - RCT1_RIDE_TYPE_HAT_STALL, - RCT1_RIDE_TYPE_TOFFEE_APPLE_STALL, - RCT1_RIDE_TYPE_VIRGINIA_REEL, - RCT1_RIDE_TYPE_RIVER_RIDE, - RCT1_RIDE_TYPE_CYCLE_MONORAIL, - RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER, - RCT1_RIDE_TYPE_SUSPENDED_MONORAIL, - RCT1_RIDE_TYPE_40, - RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER, - RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER, - RCT1_RIDE_TYPE_MINIATURE_GOLF, - RCT1_RIDE_TYPE_44, - RCT1_RIDE_TYPE_ROTO_DROP, - RCT1_RIDE_TYPE_FLYING_SAUCERS, - RCT1_RIDE_TYPE_CROOKED_HOUSE, - RCT1_RIDE_TYPE_CYCLE_RAILWAY, - RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER, - RCT1_RIDE_TYPE_WATER_COASTER, - RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, - RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER, - RCT1_RIDE_TYPE_JET_SKIS, - RCT1_RIDE_TYPE_T_SHIRT_STALL, - RCT1_RIDE_TYPE_RAFT_RIDE, - RCT1_RIDE_TYPE_DOUGHNUT_SHOP, - RCT1_RIDE_TYPE_ENTERPRISE, - RCT1_RIDE_TYPE_COFFEE_SHOP, - RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL, - RCT1_RIDE_TYPE_LEMONADE_STALL, + enum + { + RCT1_RIDE_TYPE_NULL = 255, + RCT1_RIDE_TYPE_WOODEN_ROLLER_COASTER = 0, + RCT1_RIDE_TYPE_STAND_UP_STEEL_ROLLER_COASTER, + RCT1_RIDE_TYPE_SUSPENDED_ROLLER_COASTER, + RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER, + RCT1_RIDE_TYPE_STEEL_MINI_ROLLER_COASTER, + RCT1_RIDE_TYPE_MINIATURE_RAILWAY, + RCT1_RIDE_TYPE_MONORAIL, + RCT1_RIDE_TYPE_SUSPENDED_SINGLE_RAIL_ROLLER_COASTER, + RCT1_RIDE_TYPE_BOAT_HIRE, + RCT1_RIDE_TYPE_WOODEN_CRAZY_RODENT_ROLLER_COASTER, + RCT1_RIDE_TYPE_SINGLE_RAIL_ROLLER_COASTER, + RCT1_RIDE_TYPE_CAR_RIDE, + RCT1_RIDE_TYPE_LAUNCHED_FREEFALL, + RCT1_RIDE_TYPE_BOBSLED_ROLLER_COASTER, + RCT1_RIDE_TYPE_OBSERVATION_TOWER, + RCT1_RIDE_TYPE_STEEL_ROLLER_COASTER, + RCT1_RIDE_TYPE_WATER_SLIDE, + RCT1_RIDE_TYPE_MINE_TRAIN_ROLLER_COASTER, + RCT1_RIDE_TYPE_CHAIRLIFT, + RCT1_RIDE_TYPE_STEEL_CORKSCREW_ROLLER_COASTER, + RCT1_RIDE_TYPE_HEDGE_MAZE, + RCT1_RIDE_TYPE_SPIRAL_SLIDE, + RCT1_RIDE_TYPE_GO_KARTS, + RCT1_RIDE_TYPE_LOG_FLUME, + RCT1_RIDE_TYPE_RIVER_RAPIDS, + RCT1_RIDE_TYPE_DODGEMS, + RCT1_RIDE_TYPE_SWINGING_SHIP, + RCT1_RIDE_TYPE_SWINGING_INVERTER_SHIP, + RCT1_RIDE_TYPE_ICE_CREAM_STALL, + RCT1_RIDE_TYPE_CHIPS_STALL, + RCT1_RIDE_TYPE_DRINK_STALL, + RCT1_RIDE_TYPE_CANDYFLOSS_STALL, + RCT1_RIDE_TYPE_BURGER_BAR, + RCT1_RIDE_TYPE_MERRY_GO_ROUND, + RCT1_RIDE_TYPE_BALLOON_STALL, + RCT1_RIDE_TYPE_INFORMATION_KIOSK, + RCT1_RIDE_TYPE_TOILETS, + RCT1_RIDE_TYPE_FERRIS_WHEEL, + RCT1_RIDE_TYPE_MOTION_SIMULATOR, + RCT1_RIDE_TYPE_3D_CINEMA, + RCT1_RIDE_TYPE_TOP_SPIN, + RCT1_RIDE_TYPE_SPACE_RINGS, + RCT1_RIDE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER, + RCT1_RIDE_TYPE_SOUVENIR_STALL, + RCT1_RIDE_TYPE_VERTICAL_ROLLER_COASTER, + RCT1_RIDE_TYPE_PIZZA_STALL, + RCT1_RIDE_TYPE_TWIST, + RCT1_RIDE_TYPE_HAUNTED_HOUSE, + RCT1_RIDE_TYPE_POPCORN_STALL, + RCT1_RIDE_TYPE_CIRCUS, + RCT1_RIDE_TYPE_GHOST_TRAIN, + RCT1_RIDE_TYPE_STEEL_TWISTER_ROLLER_COASTER, + RCT1_RIDE_TYPE_WOODEN_TWISTER_ROLLER_COASTER, + RCT1_RIDE_TYPE_WOODEN_SIDE_FRICTION_ROLLER_COASTER, + RCT1_RIDE_TYPE_STEEL_WILD_MOUSE_ROLLER_COASTER, + RCT1_RIDE_TYPE_HOT_DOG_STALL, + RCT1_RIDE_TYPE_EXOTIC_SEA_FOOD_STALL, + RCT1_RIDE_TYPE_HAT_STALL, + RCT1_RIDE_TYPE_TOFFEE_APPLE_STALL, + RCT1_RIDE_TYPE_VIRGINIA_REEL, + RCT1_RIDE_TYPE_RIVER_RIDE, + RCT1_RIDE_TYPE_CYCLE_MONORAIL, + RCT1_RIDE_TYPE_FLYING_ROLLER_COASTER, + RCT1_RIDE_TYPE_SUSPENDED_MONORAIL, + RCT1_RIDE_TYPE_40, + RCT1_RIDE_TYPE_WOODEN_REVERSER_ROLLER_COASTER, + RCT1_RIDE_TYPE_HEARTLINE_TWISTER_ROLLER_COASTER, + RCT1_RIDE_TYPE_MINIATURE_GOLF, + RCT1_RIDE_TYPE_44, + RCT1_RIDE_TYPE_ROTO_DROP, + RCT1_RIDE_TYPE_FLYING_SAUCERS, + RCT1_RIDE_TYPE_CROOKED_HOUSE, + RCT1_RIDE_TYPE_CYCLE_RAILWAY, + RCT1_RIDE_TYPE_SUSPENDED_LOOPING_ROLLER_COASTER, + RCT1_RIDE_TYPE_WATER_COASTER, + RCT1_RIDE_TYPE_AIR_POWERED_VERTICAL_COASTER, + RCT1_RIDE_TYPE_INVERTED_WILD_MOUSE_COASTER, + RCT1_RIDE_TYPE_JET_SKIS, + RCT1_RIDE_TYPE_T_SHIRT_STALL, + RCT1_RIDE_TYPE_RAFT_RIDE, + RCT1_RIDE_TYPE_DOUGHNUT_SHOP, + RCT1_RIDE_TYPE_ENTERPRISE, + RCT1_RIDE_TYPE_COFFEE_SHOP, + RCT1_RIDE_TYPE_FRIED_CHICKEN_STALL, + RCT1_RIDE_TYPE_LEMONADE_STALL, - RCT1_RIDE_TYPE_COUNT -}; + RCT1_RIDE_TYPE_COUNT + }; -enum -{ - RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN = 0, - RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS, - RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN, // Not in RCT2 - RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS, - RCT1_VEHICLE_TYPE_LADYBIRD_CARS, - RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS, - RCT1_VEHICLE_TYPE_SPINNING_CARS, - RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS, - RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS, - RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN, - RCT1_VEHICLE_TYPE_CANOES, - RCT1_VEHICLE_TYPE_ROWING_BOATS, - RCT1_VEHICLE_TYPE_STEAM_TRAIN, - RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS, - RCT1_VEHICLE_TYPE_BUMPER_BOATS, - RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS, - RCT1_VEHICLE_TYPE_ROCKET_CARS, - RCT1_VEHICLE_TYPE_HORSES, // Steeplechase - RCT1_VEHICLE_TYPE_SPORTSCARS, - RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS, // Inverted single-rail - RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS, - RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS, - RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS, - RCT1_VEHICLE_TYPE_WATER_TRICYCLES, - RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR, - RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS, - RCT1_VEHICLE_TYPE_DINGHIES, - RCT1_VEHICLE_TYPE_ROTATING_CABIN, - RCT1_VEHICLE_TYPE_MINE_TRAIN, - RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS, - RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_MOTORBIKES, - RCT1_VEHICLE_TYPE_RACING_CARS, - RCT1_VEHICLE_TYPE_TRUCKS, - RCT1_VEHICLE_TYPE_GO_KARTS, - RCT1_VEHICLE_TYPE_RAPIDS_BOATS, - RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS, - RCT1_VEHICLE_TYPE_DODGEMS, - RCT1_VEHICLE_TYPE_SWINGING_SHIP, - RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP, - RCT1_VEHICLE_TYPE_MERRY_GO_ROUND, - RCT1_VEHICLE_TYPE_FERRIS_WHEEL, - RCT1_VEHICLE_TYPE_SIMULATOR_POD, - RCT1_VEHICLE_TYPE_CINEMA_BUILDING, - RCT1_VEHICLE_TYPE_TOPSPIN_CAR, - RCT1_VEHICLE_TYPE_SPACE_RINGS, - RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR, - RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS, - RCT1_VEHICLE_TYPE_CAT_CARS, - RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS, - RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING, - RCT1_VEHICLE_TYPE_LOG_CARS, - RCT1_VEHICLE_TYPE_CIRCUS_TENT, - RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS, - RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS, - RCT1_VEHICLE_TYPE_VINTAGE_CARS, - RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS, - RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS, - RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE, - RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN, - RCT1_VEHICLE_TYPE_HELICOPTER_CARS, - RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS, - RCT1_VEHICLE_TYPE_REVERSER_CARS, - RCT1_VEHICLE_TYPE_GOLFERS, - RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS, - RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS, - RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED, - RCT1_VEHICLE_TYPE_RESERVED, - RCT1_VEHICLE_TYPE_ROTODROP_CAR, - RCT1_VEHICLE_TYPE_FLYING_SAUCERS, - RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING, - RCT1_VEHICLE_TYPE_BICYCLES, - RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN, - RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS, - RCT1_VEHICLE_TYPE_FACEOFF_CARS, - RCT1_VEHICLE_TYPE_JET_SKIS, - RCT1_VEHICLE_TYPE_RAFT_BOATS, - RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN, - RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN, - RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS, // Inverted Hairpin in RCT2 - RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL, + enum + { + RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN = 0, + RCT1_VEHICLE_TYPE_STEEL_ROLLER_COASTER_TRAIN_BACKWARDS, + RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_INVERTED_COASTER_TRAIN, // Not in RCT2 + RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_CARS, + RCT1_VEHICLE_TYPE_LADYBIRD_CARS, + RCT1_VEHICLE_TYPE_STANDUP_ROLLER_COASTER_CARS, + RCT1_VEHICLE_TYPE_SPINNING_CARS, + RCT1_VEHICLE_TYPE_SINGLE_PERSON_SWINGING_CHAIRS, + RCT1_VEHICLE_TYPE_SWANS_PEDAL_BOATS, + RCT1_VEHICLE_TYPE_LARGE_MONORAIL_TRAIN, + RCT1_VEHICLE_TYPE_CANOES, + RCT1_VEHICLE_TYPE_ROWING_BOATS, + RCT1_VEHICLE_TYPE_STEAM_TRAIN, + RCT1_VEHICLE_TYPE_WOODEN_MOUSE_CARS, + RCT1_VEHICLE_TYPE_BUMPER_BOATS, + RCT1_VEHICLE_TYPE_WOODEN_ROLLER_COASTER_TRAIN_BACKWARDS, + RCT1_VEHICLE_TYPE_ROCKET_CARS, + RCT1_VEHICLE_TYPE_HORSES, // Steeplechase + RCT1_VEHICLE_TYPE_SPORTSCARS, + RCT1_VEHICLE_TYPE_LYING_DOWN_SWINGING_CARS, // Inverted single-rail + RCT1_VEHICLE_TYPE_WOODEN_MINE_CARS, + RCT1_VEHICLE_TYPE_SUSPENDED_SWINGING_AIRPLANE_CARS, + RCT1_VEHICLE_TYPE_SMALL_MONORAIL_CARS, + RCT1_VEHICLE_TYPE_WATER_TRICYCLES, + RCT1_VEHICLE_TYPE_LAUNCHED_FREEFALL_CAR, + RCT1_VEHICLE_TYPE_BOBSLEIGH_CARS, + RCT1_VEHICLE_TYPE_DINGHIES, + RCT1_VEHICLE_TYPE_ROTATING_CABIN, + RCT1_VEHICLE_TYPE_MINE_TRAIN, + RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS, + RCT1_VEHICLE_TYPE_CORKSCREW_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_MOTORBIKES, + RCT1_VEHICLE_TYPE_RACING_CARS, + RCT1_VEHICLE_TYPE_TRUCKS, + RCT1_VEHICLE_TYPE_GO_KARTS, + RCT1_VEHICLE_TYPE_RAPIDS_BOATS, + RCT1_VEHICLE_TYPE_LOG_FLUME_BOATS, + RCT1_VEHICLE_TYPE_DODGEMS, + RCT1_VEHICLE_TYPE_SWINGING_SHIP, + RCT1_VEHICLE_TYPE_SWINGING_INVERTER_SHIP, + RCT1_VEHICLE_TYPE_MERRY_GO_ROUND, + RCT1_VEHICLE_TYPE_FERRIS_WHEEL, + RCT1_VEHICLE_TYPE_SIMULATOR_POD, + RCT1_VEHICLE_TYPE_CINEMA_BUILDING, + RCT1_VEHICLE_TYPE_TOPSPIN_CAR, + RCT1_VEHICLE_TYPE_SPACE_RINGS, + RCT1_VEHICLE_TYPE_REVERSE_FREEFALL_ROLLER_COASTER_CAR, + RCT1_VEHICLE_TYPE_VERTICAL_ROLLER_COASTER_CARS, + RCT1_VEHICLE_TYPE_CAT_CARS, + RCT1_VEHICLE_TYPE_TWIST_ARMS_AND_CARS, + RCT1_VEHICLE_TYPE_HAUNTED_HOUSE_BUILDING, + RCT1_VEHICLE_TYPE_LOG_CARS, + RCT1_VEHICLE_TYPE_CIRCUS_TENT, + RCT1_VEHICLE_TYPE_GHOST_TRAIN_CARS, + RCT1_VEHICLE_TYPE_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_WOODEN_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_WOODEN_SIDE_FRICTION_CARS, + RCT1_VEHICLE_TYPE_VINTAGE_CARS, + RCT1_VEHICLE_TYPE_STEAM_TRAIN_COVERED_CARS, + RCT1_VEHICLE_TYPE_STAND_UP_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_FLOORLESS_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_STEEL_MOUSE_CARS, + RCT1_VEHICLE_TYPE_CHAIRLIFT_CARS_ALTERNATIVE, + RCT1_VEHICLE_TYPE_SUSPENDED_MONORAIL_TRAIN, + RCT1_VEHICLE_TYPE_HELICOPTER_CARS, + RCT1_VEHICLE_TYPE_VIRGINIA_REEL_TUBS, + RCT1_VEHICLE_TYPE_REVERSER_CARS, + RCT1_VEHICLE_TYPE_GOLFERS, + RCT1_VEHICLE_TYPE_RIVER_RIDE_BOATS, + RCT1_VEHICLE_TYPE_FLYING_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_NON_LOOPING_STEEL_TWISTER_ROLLER_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS, + RCT1_VEHICLE_TYPE_HEARTLINE_TWISTER_CARS_REVERSED, + RCT1_VEHICLE_TYPE_RESERVED, + RCT1_VEHICLE_TYPE_ROTODROP_CAR, + RCT1_VEHICLE_TYPE_FLYING_SAUCERS, + RCT1_VEHICLE_TYPE_CROOKED_HOUSE_BUILDING, + RCT1_VEHICLE_TYPE_BICYCLES, + RCT1_VEHICLE_TYPE_HYPERCOASTER_TRAIN, + RCT1_VEHICLE_TYPE_4_ACROSS_INVERTED_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_WATER_COASTER_BOATS, + RCT1_VEHICLE_TYPE_FACEOFF_CARS, + RCT1_VEHICLE_TYPE_JET_SKIS, + RCT1_VEHICLE_TYPE_RAFT_BOATS, + RCT1_VEHICLE_TYPE_AMERICAN_STYLE_STEAM_TRAIN, + RCT1_VEHICLE_TYPE_AIR_POWERED_COASTER_TRAIN, + RCT1_VEHICLE_TYPE_SUSPENDED_WILD_MOUSE_CARS, // Inverted Hairpin in RCT2 + RCT1_VEHICLE_TYPE_ENTERPRISE_WHEEL, - RCT1_VEHICLE_TYPE_COUNT -}; + RCT1_VEHICLE_TYPE_COUNT + }; -enum -{ - RCT1_TRACK_ELEM_BOOSTER = 100 -}; + enum + { + RCT1_TRACK_ELEM_BOOSTER = 100 + }; -enum -{ - RCT1_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 2, - RCT1_RIDE_MODE_POWERED_LAUNCH = 3, -}; + enum + { + RCT1_RIDE_MODE_REVERSE_INCLINE_LAUNCHED_SHUTTLE = 2, + RCT1_RIDE_MODE_POWERED_LAUNCH = 3, + }; -enum -{ - RCT1_RIDE_DEPART_PLAY_MUSIC = 1 << 5, -}; + enum + { + RCT1_RIDE_DEPART_PLAY_MUSIC = 1 << 5, + }; -enum -{ - RCT1_SCENERY_THEME_GENERAL, - RCT1_SCENERY_THEME_MINE, - RCT1_SCENERY_THEME_CLASSICAL_ROMAN, - RCT1_SCENERY_THEME_EGYPTIAN, - RCT1_SCENERY_THEME_MARTIAN, - RCT1_SCENERY_THEME_JUMPING_FOUNTAINS, // Single researchable scenery item - RCT1_SCENERY_THEME_WONDERLAND, - RCT1_SCENERY_THEME_JURASSIC, - RCT1_SCENERY_THEME_SPOOKY, - RCT1_SCENERY_THEME_JUNGLE, - RCT1_SCENERY_THEME_ABSTRACT, - RCT1_SCENERY_THEME_GARDEN_CLOCK, // Single researchable scenery item - RCT1_SCENERY_THEME_SNOW_ICE, - RCT1_SCENERY_THEME_MEDIEVAL, - RCT1_SCENERY_THEME_SPACE, - RCT1_SCENERY_THEME_CREEPY, - RCT1_SCENERY_THEME_URBAN, - RCT1_SCENERY_THEME_PAGODA, -}; + enum + { + RCT1_SCENERY_THEME_GENERAL, + RCT1_SCENERY_THEME_MINE, + RCT1_SCENERY_THEME_CLASSICAL_ROMAN, + RCT1_SCENERY_THEME_EGYPTIAN, + RCT1_SCENERY_THEME_MARTIAN, + RCT1_SCENERY_THEME_JUMPING_FOUNTAINS, // Single researchable scenery item + RCT1_SCENERY_THEME_WONDERLAND, + RCT1_SCENERY_THEME_JURASSIC, + RCT1_SCENERY_THEME_SPOOKY, + RCT1_SCENERY_THEME_JUNGLE, + RCT1_SCENERY_THEME_ABSTRACT, + RCT1_SCENERY_THEME_GARDEN_CLOCK, // Single researchable scenery item + RCT1_SCENERY_THEME_SNOW_ICE, + RCT1_SCENERY_THEME_MEDIEVAL, + RCT1_SCENERY_THEME_SPACE, + RCT1_SCENERY_THEME_CREEPY, + RCT1_SCENERY_THEME_URBAN, + RCT1_SCENERY_THEME_PAGODA, + }; -enum -{ - RCT1_FOOTPATH_TYPE_QUEUE_BLUE, - RCT1_FOOTPATH_TYPE_QUEUE_RED, - RCT1_FOOTPATH_TYPE_QUEUE_YELLOW, - RCT1_FOOTPATH_TYPE_QUEUE_GREEN, + enum + { + RCT1_FOOTPATH_TYPE_QUEUE_BLUE, + RCT1_FOOTPATH_TYPE_QUEUE_RED, + RCT1_FOOTPATH_TYPE_QUEUE_YELLOW, + RCT1_FOOTPATH_TYPE_QUEUE_GREEN, - RCT1_FOOTPATH_TYPE_TARMAC_GRAY, - RCT1_FOOTPATH_TYPE_TARMAC_RED, - RCT1_FOOTPATH_TYPE_TARMAC_BROWN, - RCT1_FOOTPATH_TYPE_TARMAC_GREEN, + RCT1_FOOTPATH_TYPE_TARMAC_GRAY, + RCT1_FOOTPATH_TYPE_TARMAC_RED, + RCT1_FOOTPATH_TYPE_TARMAC_BROWN, + RCT1_FOOTPATH_TYPE_TARMAC_GREEN, - RCT1_FOOTPATH_TYPE_DIRT_RED, - RCT1_FOOTPATH_TYPE_DIRT_BLACK, + RCT1_FOOTPATH_TYPE_DIRT_RED, + RCT1_FOOTPATH_TYPE_DIRT_BLACK, - RCT1_FOOTPATH_TYPE_CRAZY_PAVING = 12, + RCT1_FOOTPATH_TYPE_CRAZY_PAVING = 12, - RCT1_FOOTPATH_TYPE_ROADS = 16, + RCT1_FOOTPATH_TYPE_ROADS = 16, - RCT1_FOOTPATH_TYPE_TILE_BROWN = 20, - RCT1_FOOTPATH_TYPE_TILE_GRAY, - RCT1_FOOTPATH_TYPE_TILE_RED, - RCT1_FOOTPATH_TYPE_TILE_GREEN, -}; + RCT1_FOOTPATH_TYPE_TILE_BROWN = 20, + RCT1_FOOTPATH_TYPE_TILE_GRAY, + RCT1_FOOTPATH_TYPE_TILE_RED, + RCT1_FOOTPATH_TYPE_TILE_GREEN, + }; -enum -{ - FOOTPATH_SUPPORTS_WOODEN_TRUSS, - FOOTPATH_SUPPORTS_WOOD, - FOOTPATH_SUPPORTS_STEEL, - FOOTPATH_SUPPORTS_BAMBOO, -}; + enum + { + FOOTPATH_SUPPORTS_WOODEN_TRUSS, + FOOTPATH_SUPPORTS_WOOD, + FOOTPATH_SUPPORTS_STEEL, + FOOTPATH_SUPPORTS_BAMBOO, + }; -enum -{ - RCT1_PATH_ADDITION_NONE, - RCT1_PATH_ADDITION_LAMP_1, - RCT1_PATH_ADDITION_LAMP_2, - RCT1_PATH_ADDITION_BIN, - RCT1_PATH_ADDITION_BENCH, - RCT1_PATH_ADDITION_JUMPING_FOUNTAIN, - RCT1_PATH_ADDITION_LAMP_3, - RCT1_PATH_ADDITION_LAMP_4, - RCT1_PATH_ADDITION_BROKEN_LAMP_1, - RCT1_PATH_ADDITION_BROKEN_LAMP_2, - RCT1_PATH_ADDITION_BROKEN_BIN, - RCT1_PATH_ADDITION_BROKEN_BENCH, - RCT1_PATH_ADDITION_BROKEN_LAMP_3, - RCT1_PATH_ADDITION_BROKEN_LAMP_4, - RCT1_PATH_ADDITION_JUMPING_SNOW, -}; + enum + { + RCT1_PATH_ADDITION_NONE, + RCT1_PATH_ADDITION_LAMP_1, + RCT1_PATH_ADDITION_LAMP_2, + RCT1_PATH_ADDITION_BIN, + RCT1_PATH_ADDITION_BENCH, + RCT1_PATH_ADDITION_JUMPING_FOUNTAIN, + RCT1_PATH_ADDITION_LAMP_3, + RCT1_PATH_ADDITION_LAMP_4, + RCT1_PATH_ADDITION_BROKEN_LAMP_1, + RCT1_PATH_ADDITION_BROKEN_LAMP_2, + RCT1_PATH_ADDITION_BROKEN_BIN, + RCT1_PATH_ADDITION_BROKEN_BENCH, + RCT1_PATH_ADDITION_BROKEN_LAMP_3, + RCT1_PATH_ADDITION_BROKEN_LAMP_4, + RCT1_PATH_ADDITION_JUMPING_SNOW, + }; -enum -{ - RCT1_WALL_TYPE_MESH_FENCE = 0, - RCT1_WALL_TYPE_MESH_FENCE_WITH_GATE = 1, - RCT1_WALL_TYPE_ROMAN = 2, - RCT1_WALL_TYPE_EGYPTIAN = 3, - RCT1_WALL_TYPE_HEDGE = 4, - RCT1_WALL_TYPE_HEDGE_WITH_GATE = 5, - RCT1_WALL_TYPE_BLUE_PLAYING_CARDS = 6, - RCT1_WALL_TYPE_RED_PLAYING_CARDS = 7, - RCT1_WALL_TYPE_WHITE_RAILING = 8, - RCT1_WALL_TYPE_WHITE_RAILING_WITH_GATE = 9, - RCT1_WALL_TYPE_MARTIAN = 10, - RCT1_WALL_TYPE_GLASS_SMOOTH = 11, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE = 12, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE = 13, - RCT1_WALL_TYPE_WOODEN_POST_FENCE = 14, - RCT1_WALL_TYPE_RED_WOODEN_POST_FENCE = 15, - RCT1_WALL_TYPE_BARBED_WIRE = 16, - RCT1_WALL_TYPE_BARBED_WIRE_WITH_GATE = 17, - RCT1_WALL_TYPE_PRIMITIVE_TALL_WOOD_FENCE = 18, - RCT1_WALL_TYPE_PRIMITIVE_SHORT_WOOD_FENCE = 19, - RCT1_WALL_TYPE_IRON_RAILING = 20, - RCT1_WALL_TYPE_IRON_RAILING_WITH_GATE = 21, - RCT1_WALL_TYPE_GLASS_PANELS = 22, - RCT1_WALL_TYPE_BONE_FENCE = 23, - RCT1_WALL_TYPE_BRICK = 24, - RCT1_WALL_TYPE_BRICK_WITH_GATE = 25, - RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE = 26, - RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE = 27, - RCT1_WALL_TYPE_STONE = 28, - RCT1_WALL_TYPE_STONE_WITH_GATE = 29, - RCT1_WALL_TYPE_WOODEN_FENCE = 30, - RCT1_WALL_TYPE_JUNGLE = 31, - RCT1_WALL_TYPE_CONIFER_HEDGE = 32, - RCT1_WALL_TYPE_CONIFER_HEDGE_WITH_GATE = 33, - RCT1_WALL_TYPE_SMALL_BROWN_CASTLE = 34, - RCT1_WALL_TYPE_SMALL_GREY_CASTLE = 35, - RCT1_WALL_TYPE_ROMAN_COLUMN = 36, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE = 37, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_CROSS = 38, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_GATE = 39, - RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_WINDOW = 40, - RCT1_WALL_TYPE_MEDIUM_BROWN_CASTLE = 41, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE = 42, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS = 43, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE = 44, - RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW = 45, - RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE = 46, - RCT1_WALL_TYPE_CREEPY = 47, - RCT1_WALL_TYPE_CREEPY_GATE = 48, - RCT1_WALL_TYPE_BARBED_WIRE_WITH_SNOW = 49, - RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW = 50, - RCT1_WALL_TYPE_WOODEN_POST_FENCE_WITH_SNOW = 51, -}; + enum + { + RCT1_WALL_TYPE_MESH_FENCE = 0, + RCT1_WALL_TYPE_MESH_FENCE_WITH_GATE = 1, + RCT1_WALL_TYPE_ROMAN = 2, + RCT1_WALL_TYPE_EGYPTIAN = 3, + RCT1_WALL_TYPE_HEDGE = 4, + RCT1_WALL_TYPE_HEDGE_WITH_GATE = 5, + RCT1_WALL_TYPE_BLUE_PLAYING_CARDS = 6, + RCT1_WALL_TYPE_RED_PLAYING_CARDS = 7, + RCT1_WALL_TYPE_WHITE_RAILING = 8, + RCT1_WALL_TYPE_WHITE_RAILING_WITH_GATE = 9, + RCT1_WALL_TYPE_MARTIAN = 10, + RCT1_WALL_TYPE_GLASS_SMOOTH = 11, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE = 12, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE = 13, + RCT1_WALL_TYPE_WOODEN_POST_FENCE = 14, + RCT1_WALL_TYPE_RED_WOODEN_POST_FENCE = 15, + RCT1_WALL_TYPE_BARBED_WIRE = 16, + RCT1_WALL_TYPE_BARBED_WIRE_WITH_GATE = 17, + RCT1_WALL_TYPE_PRIMITIVE_TALL_WOOD_FENCE = 18, + RCT1_WALL_TYPE_PRIMITIVE_SHORT_WOOD_FENCE = 19, + RCT1_WALL_TYPE_IRON_RAILING = 20, + RCT1_WALL_TYPE_IRON_RAILING_WITH_GATE = 21, + RCT1_WALL_TYPE_GLASS_PANELS = 22, + RCT1_WALL_TYPE_BONE_FENCE = 23, + RCT1_WALL_TYPE_BRICK = 24, + RCT1_WALL_TYPE_BRICK_WITH_GATE = 25, + RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE = 26, + RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE = 27, + RCT1_WALL_TYPE_STONE = 28, + RCT1_WALL_TYPE_STONE_WITH_GATE = 29, + RCT1_WALL_TYPE_WOODEN_FENCE = 30, + RCT1_WALL_TYPE_JUNGLE = 31, + RCT1_WALL_TYPE_CONIFER_HEDGE = 32, + RCT1_WALL_TYPE_CONIFER_HEDGE_WITH_GATE = 33, + RCT1_WALL_TYPE_SMALL_BROWN_CASTLE = 34, + RCT1_WALL_TYPE_SMALL_GREY_CASTLE = 35, + RCT1_WALL_TYPE_ROMAN_COLUMN = 36, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE = 37, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_CROSS = 38, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_GATE = 39, + RCT1_WALL_TYPE_LARGE_BROWN_CASTLE_WINDOW = 40, + RCT1_WALL_TYPE_MEDIUM_BROWN_CASTLE = 41, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE = 42, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS = 43, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE = 44, + RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW = 45, + RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE = 46, + RCT1_WALL_TYPE_CREEPY = 47, + RCT1_WALL_TYPE_CREEPY_GATE = 48, + RCT1_WALL_TYPE_BARBED_WIRE_WITH_SNOW = 49, + RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW = 50, + RCT1_WALL_TYPE_WOODEN_POST_FENCE_WITH_SNOW = 51, + }; -enum -{ - RCT1_RESEARCH_END_AVAILABLE = 0xFF, - RCT1_RESEARCH_END_RESEARCHABLE = 0xFE, - RCT1_RESEARCH_END = 0xFD, -}; + enum + { + RCT1_RESEARCH_END_AVAILABLE = 0xFF, + RCT1_RESEARCH_END_RESEARCHABLE = 0xFE, + RCT1_RESEARCH_END = 0xFD, + }; -enum -{ - RCT1_RESEARCH_TYPE_THEME, - RCT1_RESEARCH_TYPE_RIDE, - RCT1_RESEARCH_TYPE_VEHICLE, - RCT1_RESEARCH_TYPE_SPECIAL, -}; + enum + { + RCT1_RESEARCH_TYPE_THEME, + RCT1_RESEARCH_TYPE_RIDE, + RCT1_RESEARCH_TYPE_VEHICLE, + RCT1_RESEARCH_TYPE_SPECIAL, + }; -enum -{ - RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS = 1 << 0, - RCT1_RESEARCH_CATEGORY_THRILL_RIDES = 1 << 1, - RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES = 1 << 2, - RCT1_RESEARCH_CATEGORY_SHOPS = 1 << 3, - RCT1_RESEARCH_CATEGORY_SCENERY_THEMING = 1 << 4, - RCT1_RESEARCH_CATEGORY_RIDE_IMPROVEMENTS = 1 << 5, -}; + enum + { + RCT1_RESEARCH_CATEGORY_ROLLERCOASTERS = 1 << 0, + RCT1_RESEARCH_CATEGORY_THRILL_RIDES = 1 << 1, + RCT1_RESEARCH_CATEGORY_GENTLE_TRANSPORT_RIDES = 1 << 2, + RCT1_RESEARCH_CATEGORY_SHOPS = 1 << 3, + RCT1_RESEARCH_CATEGORY_SCENERY_THEMING = 1 << 4, + RCT1_RESEARCH_CATEGORY_RIDE_IMPROVEMENTS = 1 << 5, + }; -// Unconfirmed special track elements for research -enum -{ - RCT1_RESEARCH_SPECIAL_BANKED_CURVES = 0x06, - RCT1_RESEARCH_SPECIAL_VERTICAL_LOOP = 0x07, - RCT1_RESEARCH_SPECIAL_STEEP_TWIST = 0x0C, - RCT1_RESEARCH_SPECIAL_INLINE_TWIST = 0x11, - RCT1_RESEARCH_SPECIAL_HALF_LOOP = 0x12, - RCT1_RESEARCH_SPECIAL_CORKSCREW = 0x13, - RCT1_RESEARCH_SPECIAL_BANKED_HELIX_A = 0x15, - RCT1_RESEARCH_SPECIAL_BANKED_HELIX_B = 0x16, - RCT1_RESEARCH_SPECIAL_HELIX = 0x17, - RCT1_RESEARCH_SPECIAL_ON_RIDE_PHOTO = 0x1A, - RCT1_RESEARCH_SPECIAL_WATER_SPLASH = 0x1B, - RCT1_RESEARCH_SPECIAL_VERTICAL_DROP = 0x1C, - RCT1_RESEARCH_SPECIAL_BARREL_ROLL = 0x1D, - RCT1_RESEARCH_SPECIAL_LAUNCHED_LIFT_HILL = 0x1E, - RCT1_RESEARCH_SPECIAL_LARGE_LOOP_AND_HALF = 0x1F, - RCT1_RESEARCH_SPECIAL_REVERSER_TURNTABLE = 0x21, - RCT1_RESEARCH_SPECIAL_HEARTLINE_ROLL = 0x22, - RCT1_RESEARCH_SPECIAL_REVERSING_SECTIONS = 0x23, -}; + // Unconfirmed special track elements for research + enum + { + RCT1_RESEARCH_SPECIAL_BANKED_CURVES = 0x06, + RCT1_RESEARCH_SPECIAL_VERTICAL_LOOP = 0x07, + RCT1_RESEARCH_SPECIAL_STEEP_TWIST = 0x0C, + RCT1_RESEARCH_SPECIAL_INLINE_TWIST = 0x11, + RCT1_RESEARCH_SPECIAL_HALF_LOOP = 0x12, + RCT1_RESEARCH_SPECIAL_CORKSCREW = 0x13, + RCT1_RESEARCH_SPECIAL_BANKED_HELIX_A = 0x15, + RCT1_RESEARCH_SPECIAL_BANKED_HELIX_B = 0x16, + RCT1_RESEARCH_SPECIAL_HELIX = 0x17, + RCT1_RESEARCH_SPECIAL_ON_RIDE_PHOTO = 0x1A, + RCT1_RESEARCH_SPECIAL_WATER_SPLASH = 0x1B, + RCT1_RESEARCH_SPECIAL_VERTICAL_DROP = 0x1C, + RCT1_RESEARCH_SPECIAL_BARREL_ROLL = 0x1D, + RCT1_RESEARCH_SPECIAL_LAUNCHED_LIFT_HILL = 0x1E, + RCT1_RESEARCH_SPECIAL_LARGE_LOOP_AND_HALF = 0x1F, + RCT1_RESEARCH_SPECIAL_REVERSER_TURNTABLE = 0x21, + RCT1_RESEARCH_SPECIAL_HEARTLINE_ROLL = 0x22, + RCT1_RESEARCH_SPECIAL_REVERSING_SECTIONS = 0x23, + }; -enum -{ - RCT1_SCENARIO_FLAG_0 = 1 << 0, - RCT1_SCENARIO_FLAG_1 = 1 << 1, - RCT1_SCENARIO_FLAG_2 = 1 << 2, - RCT1_SCENARIO_FLAG_3 = 1 << 3, - RCT1_SCENARIO_FLAG_ENABLE_BANNERS = 1 << 4, - RCT1_SCENARIO_FLAG_5 = 1 << 5, - RCT1_SCENARIO_FLAG_6 = 1 << 6, - RCT1_SCENARIO_FLAG_7 = 1 << 7, - RCT1_SCENARIO_FLAG_CUSTOM_PARK_ENTRANCE_PATH = 1 << 8, - RCT1_SCENARIO_FLAG_NO_CASH_RESET = 1 << 9, - RCT1_SCENARIO_FLAG_10 = 1 << 10, - RCT1_SCENARIO_FLAG_11 = 1 << 11, - RCT1_SCENARIO_FLAG_12 = 1 << 12, - RCT1_SCENARIO_FLAG_CUSTOM_MAP_SIZE = 1 << 13, - RCT1_SCENARIO_FLAG_14 = 1 << 14, - RCT1_SCENARIO_FLAG_15 = 1 << 15, - RCT1_SCENARIO_FLAG_16 = 1 << 16, - RCT1_SCENARIO_FLAG_17 = 1 << 17, - RCT1_SCENARIO_FLAG_18 = 1 << 18, - RCT1_SCENARIO_FLAG_19 = 1 << 19, -}; + enum + { + RCT1_SCENARIO_FLAG_0 = 1 << 0, + RCT1_SCENARIO_FLAG_1 = 1 << 1, + RCT1_SCENARIO_FLAG_2 = 1 << 2, + RCT1_SCENARIO_FLAG_3 = 1 << 3, + RCT1_SCENARIO_FLAG_ENABLE_BANNERS = 1 << 4, + RCT1_SCENARIO_FLAG_5 = 1 << 5, + RCT1_SCENARIO_FLAG_6 = 1 << 6, + RCT1_SCENARIO_FLAG_7 = 1 << 7, + RCT1_SCENARIO_FLAG_CUSTOM_PARK_ENTRANCE_PATH = 1 << 8, + RCT1_SCENARIO_FLAG_NO_CASH_RESET = 1 << 9, + RCT1_SCENARIO_FLAG_10 = 1 << 10, + RCT1_SCENARIO_FLAG_11 = 1 << 11, + RCT1_SCENARIO_FLAG_12 = 1 << 12, + RCT1_SCENARIO_FLAG_CUSTOM_MAP_SIZE = 1 << 13, + RCT1_SCENARIO_FLAG_14 = 1 << 14, + RCT1_SCENARIO_FLAG_15 = 1 << 15, + RCT1_SCENARIO_FLAG_16 = 1 << 16, + RCT1_SCENARIO_FLAG_17 = 1 << 17, + RCT1_SCENARIO_FLAG_18 = 1 << 18, + RCT1_SCENARIO_FLAG_19 = 1 << 19, + }; -enum -{ - RCT1_PARK_FLAGS_PARK_OPEN = (1 << 0), - RCT1_PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT = (1 << 1), - RCT1_PARK_FLAGS_FORBID_LANDSCAPE_CHANGES = (1 << 2), - RCT1_PARK_FLAGS_FORBID_TREE_REMOVAL = (1 << 3), - RCT1_PARK_FLAGS_SHOW_REAL_GUEST_NAMES = (1 << 4), - RCT1_PARK_FLAGS_FORBID_HIGH_CONSTRUCTION = (1 << 5), // Below tree height - RCT1_PARK_FLAGS_PREF_LESS_INTENSE_RIDES = (1 << 6), - RCT1_PARK_FLAGS_FORBID_MARKETING_CAMPAIGN = (1 << 7), - RCT1_PARK_FLAGS_ANTI_CHEAT_DEPRECATED = (1 << 8), // Not used anymore, used for cheat detection - RCT1_PARK_FLAGS_PREF_MORE_INTENSE_RIDES = (1 << 9), - RCT1_PARK_FLAGS_NO_MONEY = (1 << 11), // Used for both scenarios and saved games, unlike RCT2 - RCT1_PARK_FLAGS_DIFFICULT_GUEST_GENERATION = (1 << 12), - RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE = (1 << 13), // Off: rides and park entry chargeable. On: only rides chargeable. - RCT1_PARK_FLAGS_DIFFICULT_PARK_RATING = (1 << 14), - RCT1_PARK_FLAGS_LOCK_REAL_NAMES_OPTION_DEPRECATED = (1 << 15), // Deprecated now we use a persistent 'real names' setting -}; + enum + { + RCT1_PARK_FLAGS_PARK_OPEN = (1 << 0), + RCT1_PARK_FLAGS_SCENARIO_COMPLETE_NAME_INPUT = (1 << 1), + RCT1_PARK_FLAGS_FORBID_LANDSCAPE_CHANGES = (1 << 2), + RCT1_PARK_FLAGS_FORBID_TREE_REMOVAL = (1 << 3), + RCT1_PARK_FLAGS_SHOW_REAL_GUEST_NAMES = (1 << 4), + RCT1_PARK_FLAGS_FORBID_HIGH_CONSTRUCTION = (1 << 5), // Below tree height + RCT1_PARK_FLAGS_PREF_LESS_INTENSE_RIDES = (1 << 6), + RCT1_PARK_FLAGS_FORBID_MARKETING_CAMPAIGN = (1 << 7), + RCT1_PARK_FLAGS_ANTI_CHEAT_DEPRECATED = (1 << 8), // Not used anymore, used for cheat detection + RCT1_PARK_FLAGS_PREF_MORE_INTENSE_RIDES = (1 << 9), + RCT1_PARK_FLAGS_NO_MONEY = (1 << 11), // Used for both scenarios and saved games, unlike RCT2 + RCT1_PARK_FLAGS_DIFFICULT_GUEST_GENERATION = (1 << 12), + RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE = (1 << 13), // Off: rides and park entry chargeable. On: only rides + // chargeable. + RCT1_PARK_FLAGS_DIFFICULT_PARK_RATING = (1 << 14), + RCT1_PARK_FLAGS_LOCK_REAL_NAMES_OPTION_DEPRECATED = (1 << 15), // Deprecated now we use a persistent 'real names' + // setting + }; -enum -{ - STEEL_RC_FRONT = 0, - STEEL_RC_CARRIAGE = 1, - WOODEN_RC_TRAIN = 2, - MONORAIL_CARRIAGE = 10, - MONORAIL_FRONT = 11, - MONORAIL_BACK = 12, - MINIATURE_RAILWAY_TENDER = 15, - MINIATURE_RAILWAY_LOCOMOTIVE = 16, - MINIATURE_RAILWAY_CARRIAGE = 17, - MINE_TRAIN_FRONT = 35, - MINE_TRAIN_CARRIAGE = 36, - CORKSCREW_RC_FRONT = 38, - CORKSCREW_RC_CARRIAGE = 39, - GHOST_TRAIN_CAR = 63, - TWISTER_RC_SPOILER = 64, - TWISTER_RC_CARRIAGE = 65, - GHOST_TRAIN_INVISIBLE = 66, - ARTICULATED_RC_FRONT = 67, - ARTICULATED_RC_CARRIAGE = 68, - MINIATURE_RAILWAY_CARRIAGE_COVERED = 71, - STANDUP_TWISTER_RC_CARRIAGE = 72, - REVERSER_RC_CAR = 79, - REVERSER_RC_BOGIE = 80, - MINIGOLF_PLAYER = 81, - MINIGOLF_BALL = 82, - SPLASH_BOAT = 83, - SPLASH_BOAT_INVISIBLE = 84, - HYPERCOASTER_FRONT = 96, - HYPERCOASTER_CARRIAGE = 97, - INVERTED_4_ACROSS_CARRIAGE = 98, - WATER_COASTER_BOAT = 99, - WATER_COASTER_INVISIBLE = 101, - RIVER_RAFT = 103, - MINIATURE_RAILWAY_AMERICAN_TENDER = 104, - MINIATURE_RAILWAY_AMERICAN_LOCOMOTIVE = 105, -}; + enum + { + STEEL_RC_FRONT = 0, + STEEL_RC_CARRIAGE = 1, + WOODEN_RC_TRAIN = 2, + MONORAIL_CARRIAGE = 10, + MONORAIL_FRONT = 11, + MONORAIL_BACK = 12, + MINIATURE_RAILWAY_TENDER = 15, + MINIATURE_RAILWAY_LOCOMOTIVE = 16, + MINIATURE_RAILWAY_CARRIAGE = 17, + MINE_TRAIN_FRONT = 35, + MINE_TRAIN_CARRIAGE = 36, + CORKSCREW_RC_FRONT = 38, + CORKSCREW_RC_CARRIAGE = 39, + GHOST_TRAIN_CAR = 63, + TWISTER_RC_SPOILER = 64, + TWISTER_RC_CARRIAGE = 65, + GHOST_TRAIN_INVISIBLE = 66, + ARTICULATED_RC_FRONT = 67, + ARTICULATED_RC_CARRIAGE = 68, + MINIATURE_RAILWAY_CARRIAGE_COVERED = 71, + STANDUP_TWISTER_RC_CARRIAGE = 72, + REVERSER_RC_CAR = 79, + REVERSER_RC_BOGIE = 80, + MINIGOLF_PLAYER = 81, + MINIGOLF_BALL = 82, + SPLASH_BOAT = 83, + SPLASH_BOAT_INVISIBLE = 84, + HYPERCOASTER_FRONT = 96, + HYPERCOASTER_CARRIAGE = 97, + INVERTED_4_ACROSS_CARRIAGE = 98, + WATER_COASTER_BOAT = 99, + WATER_COASTER_INVISIBLE = 101, + RIVER_RAFT = 103, + MINIATURE_RAILWAY_AMERICAN_TENDER = 104, + MINIATURE_RAILWAY_AMERICAN_LOCOMOTIVE = 105, + }; -enum -{ - COPY_COLOUR_1 = -1, - COPY_COLOUR_2 = -2, -}; + enum + { + COPY_COLOUR_1 = -1, + COPY_COLOUR_2 = -2, + }; -enum -{ - RCT1_WATER_CYAN, - RCT1_WATER_ORANGE -}; + enum + { + RCT1_WATER_CYAN, + RCT1_WATER_ORANGE + }; -enum -{ - RCT1_SCENERY_TULIPS_1 = 65, - RCT1_SCENERY_TULIPS_2 = 68, + enum + { + RCT1_SCENERY_TULIPS_1 = 65, + RCT1_SCENERY_TULIPS_2 = 68, - RCT1_SCENERY_GEOMETRIC_SCULPTURE_1 = 157, // TGE1 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_2 = 162, // TGE2 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_3 = 168, // TGE3 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_4 = 170, // TGE4 - RCT1_SCENERY_GEOMETRIC_SCULPTURE_5 = 171, // TGE5 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_1 = 157, // TGE1 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_2 = 162, // TGE2 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_3 = 168, // TGE3 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_4 = 170, // TGE4 + RCT1_SCENERY_GEOMETRIC_SCULPTURE_5 = 171, // TGE5 - RCT1_SCENERY_SMALL_RED_GARDENS = 176, // TG19 -}; + RCT1_SCENERY_SMALL_RED_GARDENS = 176, // TG19 + }; -enum -{ - RCT1_LANDSCAPE_DOOR_CLOSED = 0, - RCT1_LANDSCAPE_DOOR_HALF_OPEN = 2, - RCT1_LANDSCAPE_DOOR_OPEN = 3, -}; + enum + { + RCT1_LANDSCAPE_DOOR_CLOSED = 0, + RCT1_LANDSCAPE_DOOR_HALF_OPEN = 2, + RCT1_LANDSCAPE_DOOR_OPEN = 3, + }; -enum -{ - RCT1_PATH_SUPPORT_TYPE_TRUSS, - RCT1_PATH_SUPPORT_TYPE_COATED_WOOD, - RCT1_PATH_SUPPORT_TYPE_SPACE, - RCT1_PATH_SUPPORT_TYPE_BAMBOO, -}; + enum + { + RCT1_PATH_SUPPORT_TYPE_TRUSS, + RCT1_PATH_SUPPORT_TYPE_COATED_WOOD, + RCT1_PATH_SUPPORT_TYPE_SPACE, + RCT1_PATH_SUPPORT_TYPE_BAMBOO, + }; + + track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType); +} // namespace RCT1 void load_from_sv4(const char* path); void load_from_sc4(const char* path); - -track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType); - -#endif diff --git a/src/openrct2/rct1/S4Importer.cpp b/src/openrct2/rct1/S4Importer.cpp index 4720e2d690..fc1975de2a 100644 --- a/src/openrct2/rct1/S4Importer.cpp +++ b/src/openrct2/rct1/S4Importer.cpp @@ -75,630 +75,635 @@ static constexpr const ObjectEntryIndex OBJECT_ENTRY_INDEX_IGNORE = 254; using namespace OpenRCT2; -class EntryList +namespace RCT1 { -private: - std::vector _entries; - -public: - size_t GetCount() const + class EntryList { - return _entries.size(); - } + private: + std::vector _entries; - const std::vector& GetEntries() const - { - return _entries; - } - - ObjectEntryIndex GetOrAddEntry(std::string_view identifier) - { - for (size_t i = 0; i < _entries.size(); i++) + public: + size_t GetCount() const { - if (_entries[i] == identifier) + return _entries.size(); + } + + const std::vector& GetEntries() const + { + return _entries; + } + + ObjectEntryIndex GetOrAddEntry(std::string_view identifier) + { + for (size_t i = 0; i < _entries.size(); i++) { - return static_cast(i); + if (_entries[i] == identifier) + { + return static_cast(i); + } + } + _entries.emplace_back(identifier); + return static_cast(_entries.size() - 1); + } + + void AddRange(std::initializer_list initializerList) + { + for (auto entry : initializerList) + { + GetOrAddEntry(entry); } } - _entries.emplace_back(identifier); - return static_cast(_entries.size() - 1); - } + }; - void AddRange(std::initializer_list initializerList) + class S4Importer final : public IParkImporter { - for (auto entry : initializerList) + private: + std::string _s4Path; + rct1_s4 _s4 = {}; + uint8_t _gameVersion = 0; + uint8_t _parkValueConversionFactor = 0; + bool _isScenario = false; + + // Lists of dynamic object entries + EntryList _rideEntries; + EntryList _smallSceneryEntries; + EntryList _largeSceneryEntries; + EntryList _wallEntries; + EntryList _pathEntries; + EntryList _pathAdditionEntries; + EntryList _sceneryGroupEntries; + EntryList _waterEntry; + EntryList _terrainSurfaceEntries; + EntryList _terrainEdgeEntries; + EntryList _footpathSurfaceEntries; + EntryList _footpathRailingsEntries; + + // Lookup tables for converting from RCT1 hard coded types to the new dynamic object entries + ObjectEntryIndex _rideTypeToRideEntryMap[RCT1_RIDE_TYPE_COUNT]{}; + ObjectEntryIndex _vehicleTypeToRideEntryMap[RCT1_VEHICLE_TYPE_COUNT]{}; + ObjectEntryIndex _smallSceneryTypeToEntryMap[256]{}; + ObjectEntryIndex _largeSceneryTypeToEntryMap[256]{}; + ObjectEntryIndex _wallTypeToEntryMap[256]{}; + ObjectEntryIndex _pathTypeToEntryMap[24]{}; + ObjectEntryIndex _pathAdditionTypeToEntryMap[16]{}; + ObjectEntryIndex _sceneryThemeTypeToEntryMap[24]{}; + ObjectEntryIndex _terrainSurfaceTypeToEntryMap[16]{}; + ObjectEntryIndex _terrainEdgeTypeToEntryMap[16]{}; + ObjectEntryIndex _footpathSurfaceTypeToEntryMap[32]{}; + ObjectEntryIndex _footpathRailingsTypeToEntryMap[4]{}; + + // Research + std::bitset _researchRideEntryUsed{}; + std::bitset _researchRideTypeUsed{}; + + // Scenario repository - used for determining scenario name + IScenarioRepository* _scenarioRepository = GetScenarioRepository(); + + public: + ParkLoadResult Load(const utf8* path) override { - GetOrAddEntry(entry); - } - } -}; - -class S4Importer final : public IParkImporter -{ -private: - std::string _s4Path; - rct1_s4 _s4 = {}; - uint8_t _gameVersion = 0; - uint8_t _parkValueConversionFactor = 0; - bool _isScenario = false; - - // Lists of dynamic object entries - EntryList _rideEntries; - EntryList _smallSceneryEntries; - EntryList _largeSceneryEntries; - EntryList _wallEntries; - EntryList _pathEntries; - EntryList _pathAdditionEntries; - EntryList _sceneryGroupEntries; - EntryList _waterEntry; - EntryList _terrainSurfaceEntries; - EntryList _terrainEdgeEntries; - EntryList _footpathSurfaceEntries; - EntryList _footpathRailingsEntries; - - // Lookup tables for converting from RCT1 hard coded types to the new dynamic object entries - ObjectEntryIndex _rideTypeToRideEntryMap[RCT1_RIDE_TYPE_COUNT]{}; - ObjectEntryIndex _vehicleTypeToRideEntryMap[RCT1_VEHICLE_TYPE_COUNT]{}; - ObjectEntryIndex _smallSceneryTypeToEntryMap[256]{}; - ObjectEntryIndex _largeSceneryTypeToEntryMap[256]{}; - ObjectEntryIndex _wallTypeToEntryMap[256]{}; - ObjectEntryIndex _pathTypeToEntryMap[24]{}; - ObjectEntryIndex _pathAdditionTypeToEntryMap[16]{}; - ObjectEntryIndex _sceneryThemeTypeToEntryMap[24]{}; - ObjectEntryIndex _terrainSurfaceTypeToEntryMap[16]{}; - ObjectEntryIndex _terrainEdgeTypeToEntryMap[16]{}; - ObjectEntryIndex _footpathSurfaceTypeToEntryMap[32]{}; - ObjectEntryIndex _footpathRailingsTypeToEntryMap[4]{}; - - // Research - std::bitset _researchRideEntryUsed{}; - std::bitset _researchRideTypeUsed{}; - - // Scenario repository - used for determining scenario name - IScenarioRepository* _scenarioRepository = GetScenarioRepository(); - -public: - ParkLoadResult Load(const utf8* path) override - { - const utf8* extension = Path::GetExtension(path); - if (String::Equals(extension, ".sc4", true)) - { - return LoadScenario(path); - } - else if (String::Equals(extension, ".sv4", true)) - { - return LoadSavedGame(path); - } - else - { - throw std::runtime_error("Invalid RCT1 park extension."); - } - } - - ParkLoadResult LoadSavedGame(const utf8* path, bool skipObjectCheck = false) override - { - auto fs = FileStream(path, FILE_MODE_OPEN); - auto result = LoadFromStream(&fs, false, skipObjectCheck, path); - return result; - } - - ParkLoadResult LoadScenario(const utf8* path, bool skipObjectCheck = false) override - { - auto fs = FileStream(path, FILE_MODE_OPEN); - auto result = LoadFromStream(&fs, true, skipObjectCheck, path); - return result; - } - - ParkLoadResult LoadFromStream( - IStream* stream, bool isScenario, [[maybe_unused]] bool skipObjectCheck, const utf8* path) override - { - _s4 = *ReadAndDecodeS4(stream, isScenario); - _s4Path = path; - _isScenario = isScenario; - _gameVersion = sawyercoding_detect_rct1_version(_s4.game_version) & FILE_VERSION_MASK; - - // Only determine what objects we required to import this saved game - InitialiseEntryMaps(); - CreateAvailableObjectMappings(); - return ParkLoadResult(GetRequiredObjects()); - } - - void Import() override - { - Initialise(); - - CreateAvailableObjectMappings(); - - ImportRides(); - ImportRideMeasurements(); - ImportSprites(); - ImportTileElements(); - ImportPeepSpawns(); - ImportFinance(); - ImportResearch(); - ImportParkName(); - ImportParkFlags(); - ImportClimate(); - ImportScenarioNameDetails(); - ImportScenarioObjective(); - ImportSavedView(); - FixLandOwnership(); - FixUrbanPark(); - CountBlockSections(); - SetDefaultNames(); - determine_ride_entrance_and_exit_locations(); - - map_count_remaining_land_rights(); - research_determine_first_of_type(); - - CheatsReset(); - ClearRestrictedScenery(); - RestrictAllMiscScenery(); - } - - bool GetDetails(scenario_index_entry* dst) override - { - *dst = {}; - - source_desc desc; - // If no entry is found, this is a custom scenario. - bool isOfficial = ScenarioSources::TryGetById(_s4.scenario_slot_index, &desc); - - dst->category = desc.category; - dst->source_game = ScenarioSource{ desc.source }; - dst->source_index = desc.index; - dst->sc_id = desc.id; - - dst->objective_type = _s4.scenario_objective_type; - dst->objective_arg_1 = _s4.scenario_objective_years; - // RCT1 used another way of calculating park value. - if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) - dst->objective_arg_2 = CorrectRCT1ParkValue(_s4.scenario_objective_currency); - else - dst->objective_arg_2 = _s4.scenario_objective_currency; - dst->objective_arg_3 = _s4.scenario_objective_num_guests; - // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. - if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) - { - dst->objective_arg_3 = GetBuildTheBestRideId(); - } - - auto name = rct2_to_utf8(_s4.scenario_name, RCT2LanguageId::EnglishUK); - std::string details; - - // TryGetById won't set this property if the scenario is not recognised, - // but localisation needs it. - if (!isOfficial) - { - desc.title = name.c_str(); - } - - String::Set(dst->internal_name, sizeof(dst->internal_name), desc.title); - - rct_string_id localisedStringIds[3]; - if (language_get_localised_scenario_strings(desc.title, localisedStringIds)) - { - if (localisedStringIds[0] != STR_NONE) + const utf8* extension = Path::GetExtension(path); + if (String::Equals(extension, ".sc4", true)) { - name = String::ToStd(language_get_string(localisedStringIds[0])); + return LoadScenario(path); } - if (localisedStringIds[2] != STR_NONE) + else if (String::Equals(extension, ".sv4", true)) { - details = String::ToStd(language_get_string(localisedStringIds[2])); - } - } - - String::Set(dst->name, sizeof(dst->name), name.c_str()); - String::Set(dst->details, sizeof(dst->details), details.c_str()); - - return true; - } - - money32 CorrectRCT1ParkValue(money32 oldParkValue) - { - if (oldParkValue == MONEY32_UNDEFINED) - { - return MONEY32_UNDEFINED; - } - - if (_parkValueConversionFactor == 0) - { - if (_s4.park_value != 0) - { - // Use the ratio between the old and new park value to calcute the ratio to - // use for the park value history and the goal. - auto& park = GetContext()->GetGameState()->GetPark(); - _parkValueConversionFactor = (park.CalculateParkValue() * 10) / _s4.park_value; + return LoadSavedGame(path); } else { - // In new games, the park value isn't set. - _parkValueConversionFactor = 100; + throw std::runtime_error("Invalid RCT1 park extension."); } } - return (oldParkValue * _parkValueConversionFactor) / 10; - } - -private: - std::unique_ptr ReadAndDecodeS4(IStream* stream, bool isScenario) - { - auto s4 = std::make_unique(); - size_t dataSize = stream->GetLength() - stream->GetPosition(); - auto data = stream->ReadArray(dataSize); - auto decodedData = std::make_unique(sizeof(rct1_s4)); - - size_t decodedSize; - int32_t fileType = sawyercoding_detect_file_type(data.get(), dataSize); - if (isScenario && (fileType & FILE_VERSION_MASK) != FILE_VERSION_RCT1) + ParkLoadResult LoadSavedGame(const utf8* path, bool skipObjectCheck = false) override { - decodedSize = sawyercoding_decode_sc4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); - } - else - { - decodedSize = sawyercoding_decode_sv4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); + auto fs = FileStream(path, FILE_MODE_OPEN); + auto result = LoadFromStream(&fs, false, skipObjectCheck, path); + return result; } - if (decodedSize == sizeof(rct1_s4)) + ParkLoadResult LoadScenario(const utf8* path, bool skipObjectCheck = false) override { - std::memcpy(s4.get(), decodedData.get(), sizeof(rct1_s4)); - return s4; + auto fs = FileStream(path, FILE_MODE_OPEN); + auto result = LoadFromStream(&fs, true, skipObjectCheck, path); + return result; } - else + + ParkLoadResult LoadFromStream( + IStream* stream, bool isScenario, [[maybe_unused]] bool skipObjectCheck, const utf8* path) override { - throw std::runtime_error("Unable to decode park."); + _s4 = *ReadAndDecodeS4(stream, isScenario); + _s4Path = path; + _isScenario = isScenario; + _gameVersion = sawyercoding_detect_rct1_version(_s4.game_version) & FILE_VERSION_MASK; + + // Only determine what objects we required to import this saved game + InitialiseEntryMaps(); + CreateAvailableObjectMappings(); + return ParkLoadResult(GetRequiredObjects()); } - } - void Initialise() - { - // Avoid reusing the value used for last import - _parkValueConversionFactor = 0; - - uint16_t mapSize = _s4.map_size == 0 ? RCT1_MAX_MAP_SIZE : _s4.map_size; - - gScenarioFileName = GetRCT1ScenarioName(); - - // Do map initialisation, same kind of stuff done when loading scenario editor - auto context = OpenRCT2::GetContext(); - context->GetGameState()->InitAll(mapSize); - gEditorStep = EditorStep::ObjectSelection; - gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; - gScenarioCategory = SCENARIO_CATEGORY_OTHER; - } - - std::string GetRCT1ScenarioName() - { - const scenario_index_entry* scenarioEntry = _scenarioRepository->GetByInternalName(_s4.scenario_name); - if (scenarioEntry == nullptr) + void Import() override { - return ""; + Initialise(); + + CreateAvailableObjectMappings(); + + ImportRides(); + ImportRideMeasurements(); + ImportSprites(); + ImportTileElements(); + ImportPeepSpawns(); + ImportFinance(); + ImportResearch(); + ImportParkName(); + ImportParkFlags(); + ImportClimate(); + ImportScenarioNameDetails(); + ImportScenarioObjective(); + ImportSavedView(); + FixLandOwnership(); + FixUrbanPark(); + CountBlockSections(); + SetDefaultNames(); + determine_ride_entrance_and_exit_locations(); + + map_count_remaining_land_rights(); + research_determine_first_of_type(); + + CheatsReset(); + ClearRestrictedScenery(); + RestrictAllMiscScenery(); } - else + + bool GetDetails(scenario_index_entry* dst) override { - return path_get_filename(scenarioEntry->path); - } - } + *dst = {}; - void InitialiseEntryMaps() - { - std::fill(std::begin(_rideTypeToRideEntryMap), std::end(_rideTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_vehicleTypeToRideEntryMap), std::end(_vehicleTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_smallSceneryTypeToEntryMap), std::end(_smallSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_largeSceneryTypeToEntryMap), std::end(_largeSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_wallTypeToEntryMap), std::end(_wallTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_pathTypeToEntryMap), std::end(_pathTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_pathAdditionTypeToEntryMap), std::end(_pathAdditionTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_sceneryThemeTypeToEntryMap), std::end(_sceneryThemeTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_terrainSurfaceTypeToEntryMap), std::end(_terrainSurfaceTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill(std::begin(_terrainEdgeTypeToEntryMap), std::end(_terrainEdgeTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill( - std::begin(_footpathSurfaceTypeToEntryMap), std::end(_footpathSurfaceTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - std::fill( - std::begin(_footpathRailingsTypeToEntryMap), std::end(_footpathRailingsTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); - } + source_desc desc; + // If no entry is found, this is a custom scenario. + bool isOfficial = ScenarioSources::TryGetById(_s4.scenario_slot_index, &desc); - /** - * Scans the map and research list for all the object types used and builds lists and - * lookup tables for converting from hard coded RCT1 object types to dynamic object entries. - */ - void CreateAvailableObjectMappings() - { - AddDefaultEntries(); - AddAvailableEntriesFromResearchList(); - AddAvailableEntriesFromMap(); - AddAvailableEntriesFromRides(); - AddAvailableEntriesFromSceneryGroups(); - AddEntryForWater(); - } + dst->category = desc.category; + dst->source_game = ScenarioSource{ desc.source }; + dst->source_index = desc.index; + dst->sc_id = desc.id; - void AddDefaultEntries() - { - // Add default scenery groups - _sceneryGroupEntries.AddRange({ - "rct2.scenery_group.scgtrees", - "rct2.scenery_group.scgshrub", - "rct2.scenery_group.scggardn", - "rct2.scenery_group.scgfence", - "rct2.scenery_group.scgwalls", - "rct2.scenery_group.scgpathx", - }); - - // Add default footpaths - _footpathSurfaceEntries.AddRange( - { "rct1.footpath_surface.tarmac", "rct1.footpath_surface.dirt", "rct1.footpath_surface.crazy_paving", - "rct1.footpath_surface.tiles_brown", "rct1aa.footpath_surface.ash", "rct1aa.footpath_surface.tarmac_green", - "rct1aa.footpath_surface.tarmac_brown", "rct1aa.footpath_surface.tiles_grey", - "rct1aa.footpath_surface.tarmac_red", "rct1ll.footpath_surface.tiles_green", "rct1ll.footpath_surface.tiles_red", - "rct1.footpath_surface.queue_blue", "rct1aa.footpath_surface.queue_red", "rct1aa.footpath_surface.queue_yellow", - "rct1aa.footpath_surface.queue_green" }); - - _footpathRailingsEntries.AddRange({ "rct2.footpath_railings.wood", "rct1ll.footpath_railings.space", - "rct1ll.footpath_railings.bamboo", "rct2.footpath_railings.concrete" }); - - // Add default surfaces - _terrainSurfaceEntries.AddRange( - { "rct2.terrain_surface.grass", "rct2.terrain_surface.sand", "rct2.terrain_surface.dirt", - "rct2.terrain_surface.rock", "rct2.terrain_surface.martian", "rct2.terrain_surface.chequerboard", - "rct2.terrain_surface.grass_clumps", "rct2.terrain_surface.ice", "rct2.terrain_surface.grid_red", - "rct2.terrain_surface.grid_yellow", "rct2.terrain_surface.grid_purple", "rct2.terrain_surface.grid_green", - "rct2.terrain_surface.sand_red", "rct2.terrain_surface.sand_brown", "rct1aa.terrain_surface.roof_red", - "rct1ll.terrain_surface.roof_grey", "rct1ll.terrain_surface.rust", "rct1ll.terrain_surface.wood" }); - - // Add default edges - _terrainEdgeEntries.AddRange({ "rct2.terrain_edge.rock", "rct2.terrain_edge.wood_red", "rct2.terrain_edge.wood_black", - "rct2.terrain_edge.ice", "rct1.terrain_edge.brick", "rct1.terrain_edge.iron", - "rct1aa.terrain_edge.grey", "rct1aa.terrain_edge.yellow", "rct1aa.terrain_edge.red", - "rct1ll.terrain_edge.purple", "rct1ll.terrain_edge.green", - "rct1ll.terrain_edge.stone_brown", "rct1ll.terrain_edge.stone_grey", - "rct1ll.terrain_edge.skyscraper_a", "rct1ll.terrain_edge.skyscraper_b" }); - } - - void AddAvailableEntriesFromResearchList() - { - size_t researchListCount; - const rct1_research_item* researchList = GetResearchList(&researchListCount); - std::bitset rideTypeInResearch = GetRideTypesPresentInResearchList( - researchList, researchListCount); - for (size_t i = 0; i < researchListCount; i++) - { - const rct1_research_item* researchItem = &researchList[i]; - - if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + dst->objective_type = _s4.scenario_objective_type; + dst->objective_arg_1 = _s4.scenario_objective_years; + // RCT1 used another way of calculating park value. + if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) + dst->objective_arg_2 = CorrectRCT1ParkValue(_s4.scenario_objective_currency); + else + dst->objective_arg_2 = _s4.scenario_objective_currency; + dst->objective_arg_3 = _s4.scenario_objective_num_guests; + // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. + if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) { - if (researchItem->item == RCT1_RESEARCH_END) + dst->objective_arg_3 = GetBuildTheBestRideId(); + } + + auto name = rct2_to_utf8(_s4.scenario_name, RCT2LanguageId::EnglishUK); + std::string details; + + // TryGetById won't set this property if the scenario is not recognised, + // but localisation needs it. + if (!isOfficial) + { + desc.title = name.c_str(); + } + + String::Set(dst->internal_name, sizeof(dst->internal_name), desc.title); + + rct_string_id localisedStringIds[3]; + if (language_get_localised_scenario_strings(desc.title, localisedStringIds)) + { + if (localisedStringIds[0] != STR_NONE) { - break; + name = String::ToStd(language_get_string(localisedStringIds[0])); } - if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE || researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE) + if (localisedStringIds[2] != STR_NONE) { - continue; + details = String::ToStd(language_get_string(localisedStringIds[2])); } } - switch (researchItem->type) - { - case RCT1_RESEARCH_TYPE_THEME: - AddEntriesForSceneryTheme(researchItem->item); - break; - case RCT1_RESEARCH_TYPE_RIDE: - AddEntryForRideType(researchItem->item); - break; - case RCT1_RESEARCH_TYPE_VEHICLE: - // For some bizarre reason, RCT1 research lists contain vehicles that aren't actually researched. - // Extra bizarrely, this does not seem to apply to Loopy Landscapes saves/scenarios. - if (rideTypeInResearch[researchItem->related_ride] || _gameVersion == FILE_VERSION_RCT1_LL) - { - AddEntryForVehicleType(researchItem->related_ride, researchItem->item); - } - break; - } + String::Set(dst->name, sizeof(dst->name), name.c_str()); + String::Set(dst->details, sizeof(dst->details), details.c_str()); + + return true; } - } - void AddAvailableEntriesFromMap() - { - size_t maxTiles = RCT1_MAX_MAP_SIZE * RCT1_MAX_MAP_SIZE; - size_t tileIndex = 0; - RCT12TileElement* tileElement = _s4.tile_elements; - - while (tileIndex < maxTiles) + money32 CorrectRCT1ParkValue(money32 oldParkValue) { - switch (tileElement->GetType()) + if (oldParkValue == MONEY32_UNDEFINED) { - case TILE_ELEMENT_TYPE_SURFACE: - { - auto surfaceEl = tileElement->AsSurface(); - auto surfaceStyle = surfaceEl->GetSurfaceStyle(); - auto edgeStyle = surfaceEl->GetEdgeStyle(); - AddEntryForTerrainSurface(surfaceStyle); - AddEntryForTerrainEdge(edgeStyle); - break; - } - case TILE_ELEMENT_TYPE_PATH: - { - uint8_t pathType = tileElement->AsPath()->GetRCT1PathType(); - uint8_t pathAdditionsType = tileElement->AsPath()->GetAddition(); - uint8_t footpathRailingsType = RCT1_PATH_SUPPORT_TYPE_TRUSS; - if (_gameVersion == FILE_VERSION_RCT1_LL) - { - footpathRailingsType = tileElement->AsPath()->GetRCT1SupportType(); - } - - AddEntryForPathAddition(pathAdditionsType); - AddEntryForPathSurface(pathType); - AddEntryForFootpathRailings(footpathRailingsType); - break; - } - case TILE_ELEMENT_TYPE_SMALL_SCENERY: - AddEntryForSmallScenery(tileElement->AsSmallScenery()->GetEntryIndex()); - break; - case TILE_ELEMENT_TYPE_LARGE_SCENERY: - AddEntryForLargeScenery(tileElement->AsLargeScenery()->GetEntryIndex()); - break; - case TILE_ELEMENT_TYPE_WALL: - { - for (int32_t edge = 0; edge < 4; edge++) - { - int32_t type = tileElement->AsWall()->GetRCT1WallType(edge); - - if (type != -1) - { - AddEntryForWall(type); - } - } - break; - } + return MONEY32_UNDEFINED; } - if ((tileElement++)->IsLastForTile()) + if (_parkValueConversionFactor == 0) { - tileIndex++; - } - } - } - - void AddAvailableEntriesFromRides() - { - for (size_t i = 0; i < std::size(_s4.rides); i++) - { - auto ride = &_s4.rides[i]; - if (ride->type != RCT1_RIDE_TYPE_NULL) - { - if (RCT1::RideTypeUsesVehicles(ride->type)) - AddEntryForVehicleType(ride->type, ride->vehicle_type); + if (_s4.park_value != 0) + { + // Use the ratio between the old and new park value to calcute the ratio to + // use for the park value history and the goal. + auto& park = GetContext()->GetGameState()->GetPark(); + _parkValueConversionFactor = (park.CalculateParkValue() * 10) / _s4.park_value; + } else - AddEntryForRideType(ride->type); + { + // In new games, the park value isn't set. + _parkValueConversionFactor = 100; + } + } + + return (oldParkValue * _parkValueConversionFactor) / 10; + } + + private: + std::unique_ptr ReadAndDecodeS4(IStream* stream, bool isScenario) + { + auto s4 = std::make_unique(); + size_t dataSize = stream->GetLength() - stream->GetPosition(); + auto data = stream->ReadArray(dataSize); + auto decodedData = std::make_unique(sizeof(rct1_s4)); + + size_t decodedSize; + int32_t fileType = sawyercoding_detect_file_type(data.get(), dataSize); + if (isScenario && (fileType & FILE_VERSION_MASK) != FILE_VERSION_RCT1) + { + decodedSize = sawyercoding_decode_sc4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); + } + else + { + decodedSize = sawyercoding_decode_sv4(data.get(), decodedData.get(), dataSize, sizeof(rct1_s4)); + } + + if (decodedSize == sizeof(rct1_s4)) + { + std::memcpy(s4.get(), decodedData.get(), sizeof(rct1_s4)); + return s4; + } + else + { + throw std::runtime_error("Unable to decode park."); } } - } - void AddAvailableEntriesFromSceneryGroups() - { - for (int32_t sceneryTheme = 0; sceneryTheme <= RCT1_SCENERY_THEME_PAGODA; sceneryTheme++) + void Initialise() { - if (sceneryTheme != 0 && _sceneryThemeTypeToEntryMap[sceneryTheme] == OBJECT_ENTRY_INDEX_NULL) - continue; + // Avoid reusing the value used for last import + _parkValueConversionFactor = 0; - auto objects = RCT1::GetSceneryObjects(sceneryTheme); - for (auto objectName : objects) + uint16_t mapSize = _s4.map_size == 0 ? RCT1_MAX_MAP_SIZE : _s4.map_size; + + gScenarioFileName = GetRCT1ScenarioName(); + + // Do map initialisation, same kind of stuff done when loading scenario editor + auto context = OpenRCT2::GetContext(); + context->GetGameState()->InitAll(mapSize); + gEditorStep = EditorStep::ObjectSelection; + gParkFlags |= PARK_FLAGS_SHOW_REAL_GUEST_NAMES; + gScenarioCategory = SCENARIO_CATEGORY_OTHER; + } + + std::string GetRCT1ScenarioName() + { + const scenario_index_entry* scenarioEntry = _scenarioRepository->GetByInternalName(_s4.scenario_name); + if (scenarioEntry == nullptr) { - auto& objectRepository = OpenRCT2::GetContext()->GetObjectRepository(); - auto foundObject = objectRepository.FindObject(objectName); - if (foundObject != nullptr) - { - auto objectType = foundObject->Type; - switch (objectType) - { - case ObjectType::SmallScenery: - case ObjectType::LargeScenery: - case ObjectType::Walls: - case ObjectType::Paths: - case ObjectType::PathBits: - { - EntryList* entries = GetEntryList(objectType); + return ""; + } + else + { + return path_get_filename(scenarioEntry->path); + } + } - // Check if there are spare entries available - size_t maxEntries = static_cast(object_entry_group_counts[EnumValue(objectType)]); - if (entries != nullptr && entries->GetCount() < maxEntries) - { - entries->GetOrAddEntry(objectName); - } - break; - } - default: - // This switch processes only ObjectTypes valid for scenery - break; + void InitialiseEntryMaps() + { + std::fill(std::begin(_rideTypeToRideEntryMap), std::end(_rideTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_vehicleTypeToRideEntryMap), std::end(_vehicleTypeToRideEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_smallSceneryTypeToEntryMap), std::end(_smallSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_largeSceneryTypeToEntryMap), std::end(_largeSceneryTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_wallTypeToEntryMap), std::end(_wallTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_pathTypeToEntryMap), std::end(_pathTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_pathAdditionTypeToEntryMap), std::end(_pathAdditionTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_sceneryThemeTypeToEntryMap), std::end(_sceneryThemeTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill( + std::begin(_terrainSurfaceTypeToEntryMap), std::end(_terrainSurfaceTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill(std::begin(_terrainEdgeTypeToEntryMap), std::end(_terrainEdgeTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill( + std::begin(_footpathSurfaceTypeToEntryMap), std::end(_footpathSurfaceTypeToEntryMap), OBJECT_ENTRY_INDEX_NULL); + std::fill( + std::begin(_footpathRailingsTypeToEntryMap), std::end(_footpathRailingsTypeToEntryMap), + OBJECT_ENTRY_INDEX_NULL); + } + + /** + * Scans the map and research list for all the object types used and builds lists and + * lookup tables for converting from hard coded RCT1 object types to dynamic object entries. + */ + void CreateAvailableObjectMappings() + { + AddDefaultEntries(); + AddAvailableEntriesFromResearchList(); + AddAvailableEntriesFromMap(); + AddAvailableEntriesFromRides(); + AddAvailableEntriesFromSceneryGroups(); + AddEntryForWater(); + } + + void AddDefaultEntries() + { + // Add default scenery groups + _sceneryGroupEntries.AddRange({ + "rct2.scenery_group.scgtrees", + "rct2.scenery_group.scgshrub", + "rct2.scenery_group.scggardn", + "rct2.scenery_group.scgfence", + "rct2.scenery_group.scgwalls", + "rct2.scenery_group.scgpathx", + }); + + // Add default footpaths + _footpathSurfaceEntries.AddRange( + { "rct1.footpath_surface.tarmac", "rct1.footpath_surface.dirt", "rct1.footpath_surface.crazy_paving", + "rct1.footpath_surface.tiles_brown", "rct1aa.footpath_surface.ash", "rct1aa.footpath_surface.tarmac_green", + "rct1aa.footpath_surface.tarmac_brown", "rct1aa.footpath_surface.tiles_grey", + "rct1aa.footpath_surface.tarmac_red", "rct1ll.footpath_surface.tiles_green", + "rct1ll.footpath_surface.tiles_red", "rct1.footpath_surface.queue_blue", "rct1aa.footpath_surface.queue_red", + "rct1aa.footpath_surface.queue_yellow", "rct1aa.footpath_surface.queue_green" }); + + _footpathRailingsEntries.AddRange({ "rct2.footpath_railings.wood", "rct1ll.footpath_railings.space", + "rct1ll.footpath_railings.bamboo", "rct2.footpath_railings.concrete" }); + + // Add default surfaces + _terrainSurfaceEntries.AddRange( + { "rct2.terrain_surface.grass", "rct2.terrain_surface.sand", "rct2.terrain_surface.dirt", + "rct2.terrain_surface.rock", "rct2.terrain_surface.martian", "rct2.terrain_surface.chequerboard", + "rct2.terrain_surface.grass_clumps", "rct2.terrain_surface.ice", "rct2.terrain_surface.grid_red", + "rct2.terrain_surface.grid_yellow", "rct2.terrain_surface.grid_purple", "rct2.terrain_surface.grid_green", + "rct2.terrain_surface.sand_red", "rct2.terrain_surface.sand_brown", "rct1aa.terrain_surface.roof_red", + "rct1ll.terrain_surface.roof_grey", "rct1ll.terrain_surface.rust", "rct1ll.terrain_surface.wood" }); + + // Add default edges + _terrainEdgeEntries.AddRange({ "rct2.terrain_edge.rock", "rct2.terrain_edge.wood_red", + "rct2.terrain_edge.wood_black", "rct2.terrain_edge.ice", "rct1.terrain_edge.brick", + "rct1.terrain_edge.iron", "rct1aa.terrain_edge.grey", "rct1aa.terrain_edge.yellow", + "rct1aa.terrain_edge.red", "rct1ll.terrain_edge.purple", "rct1ll.terrain_edge.green", + "rct1ll.terrain_edge.stone_brown", "rct1ll.terrain_edge.stone_grey", + "rct1ll.terrain_edge.skyscraper_a", "rct1ll.terrain_edge.skyscraper_b" }); + } + + void AddAvailableEntriesFromResearchList() + { + size_t researchListCount; + const rct1_research_item* researchList = GetResearchList(&researchListCount); + std::bitset rideTypeInResearch = GetRideTypesPresentInResearchList( + researchList, researchListCount); + for (size_t i = 0; i < researchListCount; i++) + { + const rct1_research_item* researchItem = &researchList[i]; + + if (researchItem->flags == RCT1_RESEARCH_FLAGS_SEPARATOR) + { + if (researchItem->item == RCT1_RESEARCH_END) + { + break; + } + if (researchItem->item == RCT1_RESEARCH_END_AVAILABLE + || researchItem->item == RCT1_RESEARCH_END_RESEARCHABLE) + { + continue; } } + + switch (researchItem->type) + { + case RCT1_RESEARCH_TYPE_THEME: + AddEntriesForSceneryTheme(researchItem->item); + break; + case RCT1_RESEARCH_TYPE_RIDE: + AddEntryForRideType(researchItem->item); + break; + case RCT1_RESEARCH_TYPE_VEHICLE: + // For some bizarre reason, RCT1 research lists contain vehicles that aren't actually researched. + // Extra bizarrely, this does not seem to apply to Loopy Landscapes saves/scenarios. + if (rideTypeInResearch[researchItem->related_ride] || _gameVersion == FILE_VERSION_RCT1_LL) + { + AddEntryForVehicleType(researchItem->related_ride, researchItem->item); + } + break; + } + } + } + + void AddAvailableEntriesFromMap() + { + size_t maxTiles = RCT1_MAX_MAP_SIZE * RCT1_MAX_MAP_SIZE; + size_t tileIndex = 0; + RCT12TileElement* tileElement = _s4.tile_elements; + + while (tileIndex < maxTiles) + { + switch (tileElement->GetType()) + { + case TILE_ELEMENT_TYPE_SURFACE: + { + auto surfaceEl = tileElement->AsSurface(); + auto surfaceStyle = surfaceEl->GetSurfaceStyle(); + auto edgeStyle = surfaceEl->GetEdgeStyle(); + AddEntryForTerrainSurface(surfaceStyle); + AddEntryForTerrainEdge(edgeStyle); + break; + } + case TILE_ELEMENT_TYPE_PATH: + { + uint8_t pathType = tileElement->AsPath()->GetRCT1PathType(); + uint8_t pathAdditionsType = tileElement->AsPath()->GetAddition(); + uint8_t footpathRailingsType = RCT1_PATH_SUPPORT_TYPE_TRUSS; + if (_gameVersion == FILE_VERSION_RCT1_LL) + { + footpathRailingsType = tileElement->AsPath()->GetRCT1SupportType(); + } + + AddEntryForPathAddition(pathAdditionsType); + AddEntryForPathSurface(pathType); + AddEntryForFootpathRailings(footpathRailingsType); + break; + } + case TILE_ELEMENT_TYPE_SMALL_SCENERY: + AddEntryForSmallScenery(tileElement->AsSmallScenery()->GetEntryIndex()); + break; + case TILE_ELEMENT_TYPE_LARGE_SCENERY: + AddEntryForLargeScenery(tileElement->AsLargeScenery()->GetEntryIndex()); + break; + case TILE_ELEMENT_TYPE_WALL: + { + for (int32_t edge = 0; edge < 4; edge++) + { + int32_t type = tileElement->AsWall()->GetRCT1WallType(edge); + + if (type != -1) + { + AddEntryForWall(type); + } + } + break; + } + } + + if ((tileElement++)->IsLastForTile()) + { + tileIndex++; + } + } + } + + void AddAvailableEntriesFromRides() + { + for (size_t i = 0; i < std::size(_s4.rides); i++) + { + auto ride = &_s4.rides[i]; + if (ride->type != RCT1_RIDE_TYPE_NULL) + { + if (RCT1::RideTypeUsesVehicles(ride->type)) + AddEntryForVehicleType(ride->type, ride->vehicle_type); + else + AddEntryForRideType(ride->type); + } + } + } + + void AddAvailableEntriesFromSceneryGroups() + { + for (int32_t sceneryTheme = 0; sceneryTheme <= RCT1_SCENERY_THEME_PAGODA; sceneryTheme++) + { + if (sceneryTheme != 0 && _sceneryThemeTypeToEntryMap[sceneryTheme] == OBJECT_ENTRY_INDEX_NULL) + continue; + + auto objects = RCT1::GetSceneryObjects(sceneryTheme); + for (auto objectName : objects) + { + auto& objectRepository = OpenRCT2::GetContext()->GetObjectRepository(); + auto foundObject = objectRepository.FindObject(objectName); + if (foundObject != nullptr) + { + auto objectType = foundObject->Type; + switch (objectType) + { + case ObjectType::SmallScenery: + case ObjectType::LargeScenery: + case ObjectType::Walls: + case ObjectType::Paths: + case ObjectType::PathBits: + { + EntryList* entries = GetEntryList(objectType); + + // Check if there are spare entries available + size_t maxEntries = static_cast(object_entry_group_counts[EnumValue(objectType)]); + if (entries != nullptr && entries->GetCount() < maxEntries) + { + entries->GetOrAddEntry(objectName); + } + break; + } + default: + // This switch processes only ObjectTypes valid for scenery + break; + } + } else { log_error("Cannot find object %s", objectName); } + } } } - } - void AddEntryForWater() - { - std::string_view entryName; - if (_gameVersion < FILE_VERSION_RCT1_LL) + void AddEntryForWater() { - entryName = RCT1::GetWaterObject(RCT1_WATER_CYAN); - } - else - { - entryName = RCT1::GetWaterObject(_s4.water_colour); - } - _waterEntry.GetOrAddEntry(entryName); - } - - void AddEntryForRideType(uint8_t rideType) - { - assert(rideType < std::size(_rideTypeToRideEntryMap)); - if (_rideTypeToRideEntryMap[rideType] == OBJECT_ENTRY_INDEX_NULL) - { - auto entryName = RCT1::GetRideTypeObject(rideType); - if (!entryName.empty()) + std::string_view entryName; + if (_gameVersion < FILE_VERSION_RCT1_LL) { - auto entryIndex = _rideEntries.GetOrAddEntry(entryName); - _rideTypeToRideEntryMap[rideType] = entryIndex; + entryName = RCT1::GetWaterObject(RCT1_WATER_CYAN); } - } - } - - void AddEntryForVehicleType(uint8_t rideType, uint8_t vehicleType) - { - assert(vehicleType < std::size(_vehicleTypeToRideEntryMap)); - if (_vehicleTypeToRideEntryMap[vehicleType] == OBJECT_ENTRY_INDEX_NULL) - { - auto entryName = RCT1::GetVehicleObject(vehicleType); - if (!entryName.empty()) + else { - auto entryIndex = _rideEntries.GetOrAddEntry(entryName); - _vehicleTypeToRideEntryMap[vehicleType] = entryIndex; + entryName = RCT1::GetWaterObject(_s4.water_colour); + } + _waterEntry.GetOrAddEntry(entryName); + } - if (rideType != RIDE_TYPE_NULL) - AddEntryForRideType(rideType); + void AddEntryForRideType(uint8_t rideType) + { + assert(rideType < std::size(_rideTypeToRideEntryMap)); + if (_rideTypeToRideEntryMap[rideType] == OBJECT_ENTRY_INDEX_NULL) + { + auto entryName = RCT1::GetRideTypeObject(rideType); + if (!entryName.empty()) + { + auto entryIndex = _rideEntries.GetOrAddEntry(entryName); + _rideTypeToRideEntryMap[rideType] = entryIndex; + } } } - } - void AddEntryForSmallScenery(ObjectEntryIndex smallSceneryType) - { - assert(smallSceneryType < std::size(_smallSceneryTypeToEntryMap)); - if (_smallSceneryTypeToEntryMap[smallSceneryType] == OBJECT_ENTRY_INDEX_NULL) + void AddEntryForVehicleType(uint8_t rideType, uint8_t vehicleType) { - auto entryName = RCT1::GetSmallSceneryObject(smallSceneryType); - auto entryIndex = _smallSceneryEntries.GetOrAddEntry(entryName); + assert(vehicleType < std::size(_vehicleTypeToRideEntryMap)); + if (_vehicleTypeToRideEntryMap[vehicleType] == OBJECT_ENTRY_INDEX_NULL) + { + auto entryName = RCT1::GetVehicleObject(vehicleType); + if (!entryName.empty()) + { + auto entryIndex = _rideEntries.GetOrAddEntry(entryName); + _vehicleTypeToRideEntryMap[vehicleType] = entryIndex; - _smallSceneryTypeToEntryMap[smallSceneryType] = entryIndex; + if (rideType != RIDE_TYPE_NULL) + AddEntryForRideType(rideType); + } + } } - } - void AddEntryForLargeScenery(ObjectEntryIndex largeSceneryType) - { - assert(largeSceneryType < std::size(_largeSceneryTypeToEntryMap)); - if (_largeSceneryTypeToEntryMap[largeSceneryType] == OBJECT_ENTRY_INDEX_NULL) + void AddEntryForSmallScenery(ObjectEntryIndex smallSceneryType) { - auto entryName = RCT1::GetLargeSceneryObject(largeSceneryType); - auto entryIndex = _largeSceneryEntries.GetOrAddEntry(entryName); + assert(smallSceneryType < std::size(_smallSceneryTypeToEntryMap)); + if (_smallSceneryTypeToEntryMap[smallSceneryType] == OBJECT_ENTRY_INDEX_NULL) + { + auto entryName = RCT1::GetSmallSceneryObject(smallSceneryType); + auto entryIndex = _smallSceneryEntries.GetOrAddEntry(entryName); - _largeSceneryTypeToEntryMap[largeSceneryType] = entryIndex; + _smallSceneryTypeToEntryMap[smallSceneryType] = entryIndex; + } } - } - void AddEntryForWall(ObjectEntryIndex wallType) - { - assert(wallType < std::size(_wallTypeToEntryMap)); - if (_wallTypeToEntryMap[wallType] == OBJECT_ENTRY_INDEX_NULL) + void AddEntryForLargeScenery(ObjectEntryIndex largeSceneryType) { - auto entryName = RCT1::GetWallObject(wallType); - auto entryIndex = _wallEntries.GetOrAddEntry(entryName); + assert(largeSceneryType < std::size(_largeSceneryTypeToEntryMap)); + if (_largeSceneryTypeToEntryMap[largeSceneryType] == OBJECT_ENTRY_INDEX_NULL) + { + auto entryName = RCT1::GetLargeSceneryObject(largeSceneryType); + auto entryIndex = _largeSceneryEntries.GetOrAddEntry(entryName); - _wallTypeToEntryMap[wallType] = entryIndex; + _largeSceneryTypeToEntryMap[largeSceneryType] = entryIndex; + } + } + + void AddEntryForWall(ObjectEntryIndex wallType) + { + assert(wallType < std::size(_wallTypeToEntryMap)); + if (_wallTypeToEntryMap[wallType] == OBJECT_ENTRY_INDEX_NULL) + { + auto entryName = RCT1::GetWallObject(wallType); + auto entryIndex = _wallEntries.GetOrAddEntry(entryName); + + _wallTypeToEntryMap[wallType] = entryIndex; + } } - } void AddEntryForPathSurface(ObjectEntryIndex pathType) { @@ -732,30 +737,30 @@ private: _pathAdditionTypeToEntryMap[pathAdditionType] = _pathAdditionTypeToEntryMap[normalisedPathAdditionType]; } - } - - void AddEntriesForSceneryTheme(ObjectEntryIndex sceneryThemeType) - { - if (sceneryThemeType == RCT1_SCENERY_THEME_GENERAL || sceneryThemeType == RCT1_SCENERY_THEME_JUMPING_FOUNTAINS - || sceneryThemeType == RCT1_SCENERY_THEME_GARDEN_CLOCK) - { - _sceneryThemeTypeToEntryMap[sceneryThemeType] = OBJECT_ENTRY_INDEX_IGNORE; } - else + + void AddEntriesForSceneryTheme(ObjectEntryIndex sceneryThemeType) { - auto entryName = RCT1::GetSceneryGroupObject(sceneryThemeType); - if (_sceneryGroupEntries.GetCount() >= MAX_SCENERY_GROUP_OBJECTS) + if (sceneryThemeType == RCT1_SCENERY_THEME_GENERAL || sceneryThemeType == RCT1_SCENERY_THEME_JUMPING_FOUNTAINS + || sceneryThemeType == RCT1_SCENERY_THEME_GARDEN_CLOCK) { - Console::WriteLine("Warning: More than %d (max scenery groups) in RCT1 park.", MAX_SCENERY_GROUP_OBJECTS); - Console::WriteLine(" [%s] scenery group not added.", entryName); + _sceneryThemeTypeToEntryMap[sceneryThemeType] = OBJECT_ENTRY_INDEX_IGNORE; } else { - auto entryIndex = _sceneryGroupEntries.GetOrAddEntry(entryName); - _sceneryThemeTypeToEntryMap[sceneryThemeType] = entryIndex; + auto entryName = RCT1::GetSceneryGroupObject(sceneryThemeType); + if (_sceneryGroupEntries.GetCount() >= MAX_SCENERY_GROUP_OBJECTS) + { + Console::WriteLine("Warning: More than %d (max scenery groups) in RCT1 park.", MAX_SCENERY_GROUP_OBJECTS); + Console::WriteLine(" [%s] scenery group not added.", entryName); + } + else + { + auto entryIndex = _sceneryGroupEntries.GetOrAddEntry(entryName); + _sceneryThemeTypeToEntryMap[sceneryThemeType] = entryIndex; + } } } - } void AddEntryForTerrainSurface(ObjectEntryIndex terrainSurfaceType) { @@ -808,174 +813,175 @@ private: ImportRide(GetOrAllocateRide(i), &_s4.rides[i], i); } } - } - - void ImportRide(Ride* dst, rct1_ride* src, ride_id_t rideIndex) - { - *dst = {}; - dst->id = rideIndex; - - // This is a peculiarity of this exact version number, which only Heide-Park seems to use. - if (_s4.game_version == 110018 && src->type == RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER) - { - dst->type = RIDE_TYPE_COMPACT_INVERTED_COASTER; - } - else - { - dst->type = RCT1::GetRideType(src->type, src->vehicle_type); } - if (RCT1::RideTypeUsesVehicles(src->type)) + void ImportRide(Ride* dst, rct1_ride* src, ride_id_t rideIndex) { - dst->subtype = _vehicleTypeToRideEntryMap[src->vehicle_type]; - } - else - { - dst->subtype = _rideTypeToRideEntryMap[src->type]; - } + *dst = {}; + dst->id = rideIndex; - rct_ride_entry* rideEntry = get_ride_entry(dst->subtype); - // This can happen with hacked parks - if (rideEntry == nullptr) - { - log_warning("Discarding ride with invalid ride entry"); - dst->type = RIDE_TYPE_NULL; - return; - } - - // Ride name - if (is_user_string_id(src->name)) - { - dst->custom_name = GetUserString(src->name); - } - - dst->status = static_cast(src->status); - - // Flags - dst->lifecycle_flags = src->lifecycle_flags; - // These flags were not in the base game - if (_gameVersion == FILE_VERSION_RCT1) - { - dst->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC; - dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE; - dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; - } - - // Station - if (src->overall_view.isNull()) - { - dst->overall_view.setNull(); - } - else - { - dst->overall_view = TileCoordsXY{ src->overall_view.x, src->overall_view.y }.ToCoordsXY(); - } - - for (int32_t i = 0; i < RCT12_MAX_STATIONS_PER_RIDE; i++) - { - if (src->station_starts[i].isNull()) + // This is a peculiarity of this exact version number, which only Heide-Park seems to use. + if (_s4.game_version == 110018 && src->type == RCT1_RIDE_TYPE_INVERTED_ROLLER_COASTER) { - dst->stations[i].Start.setNull(); + dst->type = RIDE_TYPE_COMPACT_INVERTED_COASTER; } else { - auto tileStartLoc = TileCoordsXY{ src->station_starts[i].x, src->station_starts[i].y }; - dst->stations[i].Start = tileStartLoc.ToCoordsXY(); + dst->type = RCT1::GetRideType(src->type, src->vehicle_type); } - dst->stations[i].SetBaseZ(src->station_height[i] * RCT1_COORDS_Z_STEP); - dst->stations[i].Length = src->station_length[i]; - dst->stations[i].Depart = src->station_light[i]; - dst->stations[i].TrainAtStation = src->station_depart[i]; - - // Direction is fixed later. - if (src->entrance[i].isNull()) - ride_clear_entrance_location(dst, i); + if (RCT1::RideTypeUsesVehicles(src->type)) + { + dst->subtype = _vehicleTypeToRideEntryMap[src->vehicle_type]; + } else - ride_set_entrance_location(dst, i, { src->entrance[i].x, src->entrance[i].y, src->station_height[i] / 2, 0 }); + { + dst->subtype = _rideTypeToRideEntryMap[src->type]; + } - if (src->exit[i].isNull()) - ride_clear_exit_location(dst, i); - else - ride_set_exit_location(dst, i, { src->exit[i].x, src->exit[i].y, src->station_height[i] / 2, 0 }); + rct_ride_entry* rideEntry = get_ride_entry(dst->subtype); + // This can happen with hacked parks + if (rideEntry == nullptr) + { + log_warning("Discarding ride with invalid ride entry"); + dst->type = RIDE_TYPE_NULL; + return; + } - dst->stations[i].QueueTime = src->queue_time[i]; - dst->stations[i].LastPeepInQueue = src->last_peep_in_queue[i]; - dst->stations[i].QueueLength = src->num_peeps_in_queue[i]; + // Ride name + if (is_user_string_id(src->name)) + { + dst->custom_name = GetUserString(src->name); + } - dst->stations[i].SegmentTime = src->time[i]; - dst->stations[i].SegmentLength = src->length[i]; - } - // All other values take 0 as their default. Since they're already memset to that, no need to do it again. - for (int32_t i = RCT12_MAX_STATIONS_PER_RIDE; i < MAX_STATIONS; i++) - { - dst->stations[i].Start.setNull(); - dst->stations[i].TrainAtStation = RideStation::NO_TRAIN; - ride_clear_entrance_location(dst, i); - ride_clear_exit_location(dst, i); - dst->stations[i].LastPeepInQueue = SPRITE_INDEX_NULL; - } + dst->status = static_cast(src->status); - dst->num_stations = src->num_stations; - - // Vehicle links (indexes converted later) - for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) - { - dst->vehicles[i] = src->vehicles[i]; - } - for (int32_t i = RCT1_MAX_TRAINS_PER_RIDE; i <= MAX_VEHICLES_PER_RIDE; i++) - { - dst->vehicles[i] = SPRITE_INDEX_NULL; - } - - dst->num_vehicles = src->num_trains; - dst->num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; - dst->proposed_num_vehicles = src->num_trains; - dst->max_trains = src->max_trains; - dst->proposed_num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; - dst->special_track_elements = src->special_track_elements; - dst->num_sheltered_sections = src->num_sheltered_sections; - dst->sheltered_length = src->sheltered_length; - - // Operation - dst->depart_flags = src->depart_flags; - dst->min_waiting_time = src->min_waiting_time; - dst->max_waiting_time = src->max_waiting_time; - dst->operation_option = src->operation_option; - dst->num_circuits = 1; - dst->SetMinCarsPerTrain(rideEntry->min_cars_in_train); - dst->SetMaxCarsPerTrain(rideEntry->max_cars_in_train); - - // RCT1 used 5mph / 8 km/h for every lift hill - dst->lift_hill_speed = 5; - - dst->music = OBJECT_ENTRY_INDEX_NULL; - if (GetRideTypeDescriptor(dst->type).HasFlag(RIDE_TYPE_FLAG_ALLOW_MUSIC)) - { + // Flags + dst->lifecycle_flags = src->lifecycle_flags; + // These flags were not in the base game if (_gameVersion == FILE_VERSION_RCT1) { - // Original RCT had no music settings, take default style - auto style = GetStyleFromMusicIdentifier(GetRideTypeDescriptor(dst->type).DefaultMusic); - if (style) - { - dst->music = *style; - } + dst->lifecycle_flags &= ~RIDE_LIFECYCLE_MUSIC; + dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE; + dst->lifecycle_flags &= ~RIDE_LIFECYCLE_INDESTRUCTIBLE_TRACK; + } - // 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; - } - } + // Station + if (src->overall_view.isNull()) + { + dst->overall_view.setNull(); } else { - dst->music = src->music; + dst->overall_view = TileCoordsXY{ src->overall_view.x, src->overall_view.y }.ToCoordsXY(); } + + for (int32_t i = 0; i < RCT12_MAX_STATIONS_PER_RIDE; i++) + { + if (src->station_starts[i].isNull()) + { + dst->stations[i].Start.setNull(); + } + else + { + auto tileStartLoc = TileCoordsXY{ src->station_starts[i].x, src->station_starts[i].y }; + dst->stations[i].Start = tileStartLoc.ToCoordsXY(); + } + dst->stations[i].SetBaseZ(src->station_height[i] * RCT1_COORDS_Z_STEP); + dst->stations[i].Length = src->station_length[i]; + dst->stations[i].Depart = src->station_light[i]; + + dst->stations[i].TrainAtStation = src->station_depart[i]; + + // Direction is fixed later. + if (src->entrance[i].isNull()) + ride_clear_entrance_location(dst, i); + else + ride_set_entrance_location( + dst, i, { src->entrance[i].x, src->entrance[i].y, src->station_height[i] / 2, 0 }); + + if (src->exit[i].isNull()) + ride_clear_exit_location(dst, i); + else + ride_set_exit_location(dst, i, { src->exit[i].x, src->exit[i].y, src->station_height[i] / 2, 0 }); + + dst->stations[i].QueueTime = src->queue_time[i]; + dst->stations[i].LastPeepInQueue = src->last_peep_in_queue[i]; + dst->stations[i].QueueLength = src->num_peeps_in_queue[i]; + + dst->stations[i].SegmentTime = src->time[i]; + dst->stations[i].SegmentLength = src->length[i]; + } + // All other values take 0 as their default. Since they're already memset to that, no need to do it again. + for (int32_t i = RCT12_MAX_STATIONS_PER_RIDE; i < MAX_STATIONS; i++) + { + dst->stations[i].Start.setNull(); + dst->stations[i].TrainAtStation = RideStation::NO_TRAIN; + ride_clear_entrance_location(dst, i); + ride_clear_exit_location(dst, i); + dst->stations[i].LastPeepInQueue = SPRITE_INDEX_NULL; + } + + dst->num_stations = src->num_stations; + + // Vehicle links (indexes converted later) + for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) + { + dst->vehicles[i] = src->vehicles[i]; + } + for (int32_t i = RCT1_MAX_TRAINS_PER_RIDE; i <= MAX_VEHICLES_PER_RIDE; i++) + { + dst->vehicles[i] = SPRITE_INDEX_NULL; + } + + dst->num_vehicles = src->num_trains; + dst->num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; + dst->proposed_num_vehicles = src->num_trains; + dst->max_trains = src->max_trains; + dst->proposed_num_cars_per_train = src->num_cars_per_train + rideEntry->zero_cars; + dst->special_track_elements = src->special_track_elements; + dst->num_sheltered_sections = src->num_sheltered_sections; + dst->sheltered_length = src->sheltered_length; + + // Operation + dst->depart_flags = src->depart_flags; + dst->min_waiting_time = src->min_waiting_time; + dst->max_waiting_time = src->max_waiting_time; + dst->operation_option = src->operation_option; + dst->num_circuits = 1; + dst->SetMinCarsPerTrain(rideEntry->min_cars_in_train); + dst->SetMaxCarsPerTrain(rideEntry->max_cars_in_train); + + // RCT1 used 5mph / 8 km/h for every lift hill + dst->lift_hill_speed = 5; + + dst->music = OBJECT_ENTRY_INDEX_NULL; + if (GetRideTypeDescriptor(dst->type).HasFlag(RIDE_TYPE_FLAG_ALLOW_MUSIC)) + { + if (_gameVersion == FILE_VERSION_RCT1) + { + // Original RCT had no music settings, take default style + auto style = GetStyleFromMusicIdentifier(GetRideTypeDescriptor(dst->type).DefaultMusic); + if (style) + { + dst->music = *style; + } + + // 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 + { + dst->music = src->music; + } } if (src->operating_mode == RCT1_RIDE_MODE_POWERED_LAUNCH) @@ -1046,72 +1052,72 @@ private: { dst->CurTestTrackLocation = { src->cur_test_track_location.x, src->cur_test_track_location.y, src->cur_test_track_z / 2 }; - } - dst->testing_flags = src->testing_flags; - dst->current_test_segment = src->current_test_segment; - dst->current_test_station = STATION_INDEX_NULL; - dst->average_speed_test_timeout = src->average_speed_test_timeout; - dst->slide_in_use = src->slide_in_use; - dst->slide_peep_t_shirt_colour = RCT1::GetColour(src->slide_peep_t_shirt_colour); - dst->spiral_slide_progress = src->spiral_slide_progress; - // Doubles as slide_peep - dst->maze_tiles = src->maze_tiles; - - // Finance / customers - dst->upkeep_cost = src->upkeep_cost; - dst->price[0] = src->price; - dst->price[1] = src->price_secondary; - dst->income_per_hour = ToMoney64(src->income_per_hour); - dst->total_customers = src->total_customers; - dst->profit = ToMoney64(src->profit); - dst->total_profit = ToMoney64(src->total_profit); - dst->value = src->value; - for (size_t i = 0; i < std::size(src->num_customers); i++) - { - dst->num_customers[i] = src->num_customers[i]; - } - - dst->satisfaction = src->satisfaction; - dst->satisfaction_time_out = src->satisfaction_time_out; - dst->satisfaction_next = src->satisfaction_next; - dst->popularity = src->popularity; - dst->popularity_next = src->popularity_next; - dst->popularity_time_out = src->popularity_time_out; - - dst->num_riders = src->num_riders; - - dst->music_tune_id = 255; - } - - void SetRideColourScheme(Ride* dst, rct1_ride* src) - { - // Colours - dst->colour_scheme_type = src->colour_scheme; - if (_gameVersion == FILE_VERSION_RCT1) - { - dst->track_colour[0].main = RCT1::GetColour(src->track_primary_colour); - dst->track_colour[0].additional = RCT1::GetColour(src->track_secondary_colour); - dst->track_colour[0].supports = RCT1::GetColour(src->track_support_colour); - - // Balloons were always blue in the original RCT. - if (src->type == RCT1_RIDE_TYPE_BALLOON_STALL) - { - dst->track_colour[0].main = COLOUR_LIGHT_BLUE; } - else if (src->type == RCT1_RIDE_TYPE_RIVER_RAPIDS) + dst->testing_flags = src->testing_flags; + dst->current_test_segment = src->current_test_segment; + dst->current_test_station = STATION_INDEX_NULL; + dst->average_speed_test_timeout = src->average_speed_test_timeout; + dst->slide_in_use = src->slide_in_use; + dst->slide_peep_t_shirt_colour = RCT1::GetColour(src->slide_peep_t_shirt_colour); + dst->spiral_slide_progress = src->spiral_slide_progress; + // Doubles as slide_peep + dst->maze_tiles = src->maze_tiles; + + // Finance / customers + dst->upkeep_cost = src->upkeep_cost; + dst->price[0] = src->price; + dst->price[1] = src->price_secondary; + dst->income_per_hour = ToMoney64(src->income_per_hour); + dst->total_customers = src->total_customers; + dst->profit = ToMoney64(src->profit); + dst->total_profit = ToMoney64(src->total_profit); + dst->value = src->value; + for (size_t i = 0; i < std::size(src->num_customers); i++) { - dst->track_colour[0].main = COLOUR_WHITE; + dst->num_customers[i] = src->num_customers[i]; } + + dst->satisfaction = src->satisfaction; + dst->satisfaction_time_out = src->satisfaction_time_out; + dst->satisfaction_next = src->satisfaction_next; + dst->popularity = src->popularity; + dst->popularity_next = src->popularity_next; + dst->popularity_time_out = src->popularity_time_out; + + dst->num_riders = src->num_riders; + + dst->music_tune_id = 255; } - else + + void SetRideColourScheme(Ride* dst, rct1_ride* src) { - for (int i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) + // Colours + dst->colour_scheme_type = src->colour_scheme; + if (_gameVersion == FILE_VERSION_RCT1) { - dst->track_colour[i].main = RCT1::GetColour(src->track_colour_main[i]); - dst->track_colour[i].additional = RCT1::GetColour(src->track_colour_additional[i]); - dst->track_colour[i].supports = RCT1::GetColour(src->track_colour_supports[i]); + dst->track_colour[0].main = RCT1::GetColour(src->track_primary_colour); + dst->track_colour[0].additional = RCT1::GetColour(src->track_secondary_colour); + dst->track_colour[0].supports = RCT1::GetColour(src->track_support_colour); + + // Balloons were always blue in the original RCT. + if (src->type == RCT1_RIDE_TYPE_BALLOON_STALL) + { + dst->track_colour[0].main = COLOUR_LIGHT_BLUE; + } + else if (src->type == RCT1_RIDE_TYPE_RIVER_RAPIDS) + { + dst->track_colour[0].main = COLOUR_WHITE; + } + } + else + { + for (int i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) + { + dst->track_colour[i].main = RCT1::GetColour(src->track_colour_main[i]); + dst->track_colour[i].additional = RCT1::GetColour(src->track_colour_additional[i]); + dst->track_colour[i].supports = RCT1::GetColour(src->track_colour_supports[i]); + } } - } dst->entrance_style = OBJECT_ENTRY_INDEX_NULL; if (dst->GetRideTypeDescriptor().HasFlag(RIDE_TYPE_FLAG_HAS_ENTRANCE_EXIT)) @@ -1190,157 +1196,157 @@ private: else dst->track_colour[0].supports = src->track_colour_supports[0]; } - } + } - void ImportRideMeasurements() - { - for (const auto& src : _s4.ride_measurements) + void ImportRideMeasurements() { - if (src.ride_index != RCT12_RIDE_ID_NULL) + for (const auto& src : _s4.ride_measurements) { - auto ride = get_ride(RCT12RideIdToOpenRCT2RideId(src.ride_index)); - if (ride != nullptr) + if (src.ride_index != RCT12_RIDE_ID_NULL) { - ride->measurement = std::make_unique(); - ImportRideMeasurement(*ride->measurement, src); + auto ride = get_ride(RCT12RideIdToOpenRCT2RideId(src.ride_index)); + if (ride != nullptr) + { + ride->measurement = std::make_unique(); + ImportRideMeasurement(*ride->measurement, src); + } } } } - } - void ImportRideMeasurement(RideMeasurement& dst, const RCT12RideMeasurement& src) - { - dst.flags = src.flags; - dst.last_use_tick = src.last_use_tick; - dst.num_items = src.num_items; - dst.current_item = src.current_item; - dst.vehicle_index = src.vehicle_index; - dst.current_station = src.current_station; - for (size_t i = 0; i < std::size(src.velocity); i++) + void ImportRideMeasurement(RideMeasurement& dst, const RCT12RideMeasurement& src) { - dst.velocity[i] = src.velocity[i] / 2; - dst.altitude[i] = src.altitude[i] / 2; - dst.vertical[i] = src.vertical[i] / 2; - dst.lateral[i] = src.lateral[i] / 2; - } - } - - void ImportEntity(const RCT12SpriteBase& src); - template void ImportEntity(const RCT12SpriteBase& src); - - void ImportSprites() - { - for (int i = 0; i < RCT1_MAX_SPRITES; i++) - { - ImportEntity(_s4.sprites[i].unknown); - } - } - - void SetVehicleColours(Vehicle* dst, const rct1_vehicle* src) - { - rct1_ride* srcRide = &_s4.rides[src->ride]; - uint8_t vehicleTypeIndex = srcRide->vehicle_type; - RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( - vehicleTypeIndex); - - // RCT1 had no third colour - if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) - { - dst->colours.body_colour = RCT1::GetColour(src->colours.body_colour); - } - else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) - { - dst->colours.body_colour = RCT1::GetColour(src->colours.trim_colour); - } - else - { - dst->colours.body_colour = colourSchemeCopyDescriptor.colour1; + dst.flags = src.flags; + dst.last_use_tick = src.last_use_tick; + dst.num_items = src.num_items; + dst.current_item = src.current_item; + dst.vehicle_index = src.vehicle_index; + dst.current_station = src.current_station; + for (size_t i = 0; i < std::size(src.velocity); i++) + { + dst.velocity[i] = src.velocity[i] / 2; + dst.altitude[i] = src.altitude[i] / 2; + dst.vertical[i] = src.vertical[i] / 2; + dst.lateral[i] = src.lateral[i] / 2; + } } - if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + void ImportEntity(const RCT12SpriteBase& src); + template void ImportEntity(const RCT12SpriteBase& src); + + void ImportSprites() { - dst->colours.trim_colour = RCT1::GetColour(src->colours.body_colour); - } - else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) - { - dst->colours.trim_colour = RCT1::GetColour(src->colours.trim_colour); - } - else - { - dst->colours.trim_colour = colourSchemeCopyDescriptor.colour2; + for (int i = 0; i < RCT1_MAX_SPRITES; i++) + { + ImportEntity(_s4.sprites[i].unknown); + } } - if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) + void SetVehicleColours(Vehicle* dst, const rct1_vehicle* src) { - dst->colours_extended = RCT1::GetColour(src->colours.body_colour); - } - else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) - { - dst->colours_extended = RCT1::GetColour(src->colours.trim_colour); - } - else - { - dst->colours_extended = colourSchemeCopyDescriptor.colour3; - } - } + rct1_ride* srcRide = &_s4.rides[src->ride]; + uint8_t vehicleTypeIndex = srcRide->vehicle_type; + RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( + vehicleTypeIndex); - void ImportPeep(Peep* dst, const rct1_peep* src) - { - // Peep vs. staff (including which kind) - dst->SpriteType = RCT1::GetPeepSpriteType(src->sprite_type); - dst->Action = static_cast(src->action); - dst->SpecialSprite = src->special_sprite; - dst->NextActionSpriteType = static_cast(src->next_action_sprite_type); - dst->ActionSpriteImageOffset = src->action_sprite_image_offset; - dst->WalkingFrameNum = src->no_action_frame_num; - dst->ActionSpriteType = static_cast(src->action_sprite_type); - dst->ActionFrame = src->action_frame; + // RCT1 had no third colour + if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) + { + dst->colours.body_colour = RCT1::GetColour(src->colours.body_colour); + } + else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) + { + dst->colours.body_colour = RCT1::GetColour(src->colours.trim_colour); + } + else + { + dst->colours.body_colour = colourSchemeCopyDescriptor.colour1; + } - const rct_sprite_bounds* spriteBounds = &GetSpriteBounds(dst->SpriteType, dst->ActionSpriteType); - dst->sprite_width = spriteBounds->sprite_width; - dst->sprite_height_negative = spriteBounds->sprite_height_negative; - dst->sprite_height_positive = spriteBounds->sprite_height_positive; + if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + { + dst->colours.trim_colour = RCT1::GetColour(src->colours.body_colour); + } + else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + { + dst->colours.trim_colour = RCT1::GetColour(src->colours.trim_colour); + } + else + { + dst->colours.trim_colour = colourSchemeCopyDescriptor.colour2; + } - dst->MoveTo({ src->x, src->y, src->z }); - - dst->sprite_direction = src->sprite_direction; - - // Peep name - if (is_user_string_id(src->name_string_idx)) - { - dst->SetName(GetUserString(src->name_string_idx)); + if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) + { + dst->colours_extended = RCT1::GetColour(src->colours.body_colour); + } + else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) + { + dst->colours_extended = RCT1::GetColour(src->colours.trim_colour); + } + else + { + dst->colours_extended = colourSchemeCopyDescriptor.colour3; + } } - dst->State = static_cast(src->state); - dst->SubState = src->sub_state; - dst->NextLoc = { src->next_x, src->next_y, src->next_z * RCT1_COORDS_Z_STEP }; - dst->NextFlags = src->next_flags; - dst->Var37 = src->var_37; - dst->StepProgress = src->step_progress; - dst->TshirtColour = RCT1::GetColour(src->tshirt_colour); - dst->TrousersColour = RCT1::GetColour(src->trousers_colour); - dst->DestinationX = src->destination_x; - dst->DestinationY = src->destination_y; - dst->DestinationTolerance = src->destination_tolerance; - dst->PeepDirection = src->direction; - dst->Energy = src->energy; - dst->EnergyTarget = src->energy_target; - dst->Mass = src->mass; - dst->WindowInvalidateFlags = 0; - dst->CurrentRide = RCT12RideIdToOpenRCT2RideId(src->current_ride); - dst->CurrentRideStation = src->current_ride_station; - dst->CurrentTrain = src->current_train; - dst->CurrentCar = src->current_car; - dst->CurrentSeat = src->current_seat; - dst->InteractionRideIndex = RCT12RideIdToOpenRCT2RideId(src->interaction_ride_index); - dst->Id = src->id; - dst->PathCheckOptimisation = 0; - dst->PeepFlags = 0; - dst->PathfindGoal.x = 0xFF; - dst->PathfindGoal.y = 0xFF; - dst->PathfindGoal.z = 0xFF; - dst->PathfindGoal.direction = INVALID_DIRECTION; - } + void ImportPeep(Peep* dst, const rct1_peep* src) + { + // Peep vs. staff (including which kind) + dst->SpriteType = RCT1::GetPeepSpriteType(src->sprite_type); + dst->Action = static_cast(src->action); + dst->SpecialSprite = src->special_sprite; + dst->NextActionSpriteType = static_cast(src->next_action_sprite_type); + dst->ActionSpriteImageOffset = src->action_sprite_image_offset; + dst->WalkingFrameNum = src->no_action_frame_num; + dst->ActionSpriteType = static_cast(src->action_sprite_type); + dst->ActionFrame = src->action_frame; + + const rct_sprite_bounds* spriteBounds = &GetSpriteBounds(dst->SpriteType, dst->ActionSpriteType); + dst->sprite_width = spriteBounds->sprite_width; + dst->sprite_height_negative = spriteBounds->sprite_height_negative; + dst->sprite_height_positive = spriteBounds->sprite_height_positive; + + dst->MoveTo({ src->x, src->y, src->z }); + + dst->sprite_direction = src->sprite_direction; + + // Peep name + if (is_user_string_id(src->name_string_idx)) + { + dst->SetName(GetUserString(src->name_string_idx)); + } + + dst->State = static_cast(src->state); + dst->SubState = src->sub_state; + dst->NextLoc = { src->next_x, src->next_y, src->next_z * RCT1_COORDS_Z_STEP }; + dst->NextFlags = src->next_flags; + dst->Var37 = src->var_37; + dst->StepProgress = src->step_progress; + dst->TshirtColour = RCT1::GetColour(src->tshirt_colour); + dst->TrousersColour = RCT1::GetColour(src->trousers_colour); + dst->DestinationX = src->destination_x; + dst->DestinationY = src->destination_y; + dst->DestinationTolerance = src->destination_tolerance; + dst->PeepDirection = src->direction; + dst->Energy = src->energy; + dst->EnergyTarget = src->energy_target; + dst->Mass = src->mass; + dst->WindowInvalidateFlags = 0; + dst->CurrentRide = RCT12RideIdToOpenRCT2RideId(src->current_ride); + dst->CurrentRideStation = src->current_ride_station; + dst->CurrentTrain = src->current_train; + dst->CurrentCar = src->current_car; + dst->CurrentSeat = src->current_seat; + dst->InteractionRideIndex = RCT12RideIdToOpenRCT2RideId(src->interaction_ride_index); + dst->Id = src->id; + dst->PathCheckOptimisation = 0; + dst->PeepFlags = 0; + dst->PathfindGoal.x = 0xFF; + dst->PathfindGoal.y = 0xFF; + dst->PathfindGoal.z = 0xFF; + dst->PathfindGoal.direction = INVALID_DIRECTION; + } void ImportStaffPatrolArea(Staff* staffmember, size_t staffId) { @@ -1385,7 +1391,7 @@ private: } } - void ImportEntityCommonProperties(SpriteBase* dst, const RCT12SpriteBase* src) + void ImportEntityCommonProperties(EntityBase* dst, const RCT12SpriteBase* src) { dst->sprite_direction = src->sprite_direction; dst->sprite_width = src->sprite_width; @@ -1703,167 +1709,167 @@ private: } return 1; - } - case TILE_ELEMENT_TYPE_SMALL_SCENERY: - { - auto dst2 = dst->AsSmallScenery(); - auto src2 = src->AsSmallScenery(); - - auto entryIndex = _smallSceneryTypeToEntryMap[src2->GetEntryIndex()]; - dst2->SetEntryIndex(entryIndex); - dst2->SetAge(src2->GetAge()); - dst2->SetSceneryQuadrant(src2->GetSceneryQuadrant()); - dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); - if (src2->NeedsSupports()) - dst2->SetNeedsSupports(); - - // Copied from [rct2: 0x006A2956] - switch (src2->GetEntryIndex()) - { - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_1: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_2: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_3: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_4: - case RCT1_SCENERY_GEOMETRIC_SCULPTURE_5: - dst2->SetSecondaryColour(COLOUR_WHITE); - break; - case RCT1_SCENERY_TULIPS_1: - case RCT1_SCENERY_TULIPS_2: - dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); - dst2->SetSecondaryColour(COLOUR_YELLOW); - break; - case RCT1_SCENERY_SMALL_RED_GARDENS: - dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); - break; } - - return 1; - } - case TILE_ELEMENT_TYPE_ENTRANCE: - { - auto dst2 = dst->AsEntrance(); - auto src2 = src->AsEntrance(); - - dst2->SetEntranceType(src2->GetEntranceType()); - dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); - dst2->SetStationIndex(src2->GetStationIndex()); - dst2->SetSequenceIndex(src2->GetSequenceIndex()); - - if (src2->GetEntranceType() == ENTRANCE_TYPE_PARK_ENTRANCE) + case TILE_ELEMENT_TYPE_SMALL_SCENERY: { - auto pathType = src2->GetPathType(); - if (pathType == 0) + auto dst2 = dst->AsSmallScenery(); + auto src2 = src->AsSmallScenery(); + + auto entryIndex = _smallSceneryTypeToEntryMap[src2->GetEntryIndex()]; + dst2->SetEntryIndex(entryIndex); + dst2->SetAge(src2->GetAge()); + dst2->SetSceneryQuadrant(src2->GetSceneryQuadrant()); + dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); + if (src2->NeedsSupports()) + dst2->SetNeedsSupports(); + + // Copied from [rct2: 0x006A2956] + switch (src2->GetEntryIndex()) { - pathType = RCT1_FOOTPATH_TYPE_TARMAC_GRAY; + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_1: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_2: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_3: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_4: + case RCT1_SCENERY_GEOMETRIC_SCULPTURE_5: + dst2->SetSecondaryColour(COLOUR_WHITE); + break; + case RCT1_SCENERY_TULIPS_1: + case RCT1_SCENERY_TULIPS_2: + dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); + dst2->SetSecondaryColour(COLOUR_YELLOW); + break; + case RCT1_SCENERY_SMALL_RED_GARDENS: + dst2->SetPrimaryColour(COLOUR_BRIGHT_RED); + break; } + + return 1; + } + case TILE_ELEMENT_TYPE_ENTRANCE: + { + auto dst2 = dst->AsEntrance(); + auto src2 = src->AsEntrance(); + + dst2->SetEntranceType(src2->GetEntranceType()); + dst2->SetRideIndex(RCT12RideIdToOpenRCT2RideId(src2->GetRideIndex())); + dst2->SetStationIndex(src2->GetStationIndex()); + dst2->SetSequenceIndex(src2->GetSequenceIndex()); + + if (src2->GetEntranceType() == ENTRANCE_TYPE_PARK_ENTRANCE) + { + auto pathType = src2->GetPathType(); + if (pathType == 0) + { + pathType = RCT1_FOOTPATH_TYPE_TARMAC_GRAY; + } auto entryIndex = _footpathSurfaceTypeToEntryMap[pathType]; dst2->SetSurfaceEntryIndex(entryIndex); - } - - return 1; - } - case TILE_ELEMENT_TYPE_WALL: - { - auto src2 = src->AsWall(); - auto slope = src2->GetRCT1Slope(); - size_t numAddedElements = 0; - - for (int32_t edge = 0; edge < 4; edge++) - { - int32_t type = src2->GetRCT1WallType(edge); - if (type == -1) - continue; - - colour_t colourA = RCT1::GetColour(src2->GetRCT1WallColour()); - colour_t colourB = COLOUR_BLACK; - colour_t colourC = COLOUR_BLACK; - ConvertWall(type, &colourA, &colourB); - - type = _wallTypeToEntryMap[type]; - auto baseZ = src->base_height * RCT1_COORDS_Z_STEP; - auto clearanceZ = src->clearance_height * RCT1_COORDS_Z_STEP; - auto edgeSlope = LandSlopeToWallSlope[slope][edge & 3]; - if (edgeSlope & (EDGE_SLOPE_UPWARDS | EDGE_SLOPE_DOWNWARDS)) - { - clearanceZ += LAND_HEIGHT_STEP; - } - if (edgeSlope & EDGE_SLOPE_ELEVATED) - { - edgeSlope &= ~EDGE_SLOPE_ELEVATED; - baseZ += LAND_HEIGHT_STEP; - clearanceZ += LAND_HEIGHT_STEP; } - dst->SetType(TILE_ELEMENT_TYPE_WALL); - dst->SetDirection(edge); - dst->SetBaseZ(baseZ); - dst->SetClearanceZ(clearanceZ); - // Will be set later. - dst->SetLastForTile(false); - - auto* wallElement = dst->AsWall(); - wallElement->SetEntryIndex(type); - wallElement->SetPrimaryColour(colourA); - wallElement->SetSecondaryColour(colourB); - wallElement->SetTertiaryColour(colourC); - wallElement->SetBannerIndex(BANNER_INDEX_NULL); - wallElement->SetAcrossTrack(false); - wallElement->SetAnimationIsBackwards(false); - wallElement->SetSlope(edgeSlope); - - dst++; - numAddedElements++; + return 1; } - - return numAddedElements; - } - case TILE_ELEMENT_TYPE_LARGE_SCENERY: - { - auto dst2 = dst->AsLargeScenery(); - auto src2 = src->AsLargeScenery(); - - auto type = src2->GetEntryIndex(); - dst2->SetEntryIndex(_largeSceneryTypeToEntryMap[type]); - dst2->SetSequenceIndex(src2->GetSequenceIndex()); - dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); - dst2->SetSecondaryColour(RCT1::GetColour(src2->GetSecondaryColour())); - - return 1; - } - case TILE_ELEMENT_TYPE_BANNER: - { - auto dst2 = dst->AsBanner(); - auto src2 = src->AsBanner(); - - dst2->SetPosition(src2->GetPosition()); - dst2->SetAllowedEdges(src2->GetAllowedEdges()); - - auto index = src2->GetIndex(); - if (index < std::size(_s4.banners)) + case TILE_ELEMENT_TYPE_WALL: { - auto srcBanner = &_s4.banners[index]; - auto dstBanner = GetOrCreateBanner(index); - if (dstBanner == nullptr) + auto src2 = src->AsWall(); + auto slope = src2->GetRCT1Slope(); + size_t numAddedElements = 0; + + for (int32_t edge = 0; edge < 4; edge++) { - dst2->SetIndex(BANNER_INDEX_NULL); + int32_t type = src2->GetRCT1WallType(edge); + if (type == -1) + continue; + + colour_t colourA = RCT1::GetColour(src2->GetRCT1WallColour()); + colour_t colourB = COLOUR_BLACK; + colour_t colourC = COLOUR_BLACK; + ConvertWall(type, &colourA, &colourB); + + type = _wallTypeToEntryMap[type]; + auto baseZ = src->base_height * RCT1_COORDS_Z_STEP; + auto clearanceZ = src->clearance_height * RCT1_COORDS_Z_STEP; + auto edgeSlope = LandSlopeToWallSlope[slope][edge & 3]; + if (edgeSlope & (EDGE_SLOPE_UPWARDS | EDGE_SLOPE_DOWNWARDS)) + { + clearanceZ += LAND_HEIGHT_STEP; + } + if (edgeSlope & EDGE_SLOPE_ELEVATED) + { + edgeSlope &= ~EDGE_SLOPE_ELEVATED; + baseZ += LAND_HEIGHT_STEP; + clearanceZ += LAND_HEIGHT_STEP; + } + + dst->SetType(TILE_ELEMENT_TYPE_WALL); + dst->SetDirection(edge); + dst->SetBaseZ(baseZ); + dst->SetClearanceZ(clearanceZ); + // Will be set later. + dst->SetLastForTile(false); + + auto* wallElement = dst->AsWall(); + wallElement->SetEntryIndex(type); + wallElement->SetPrimaryColour(colourA); + wallElement->SetSecondaryColour(colourB); + wallElement->SetTertiaryColour(colourC); + wallElement->SetBannerIndex(BANNER_INDEX_NULL); + wallElement->SetAcrossTrack(false); + wallElement->SetAnimationIsBackwards(false); + wallElement->SetSlope(edgeSlope); + + dst++; + numAddedElements++; + } + + return numAddedElements; + } + case TILE_ELEMENT_TYPE_LARGE_SCENERY: + { + auto dst2 = dst->AsLargeScenery(); + auto src2 = src->AsLargeScenery(); + + auto type = src2->GetEntryIndex(); + dst2->SetEntryIndex(_largeSceneryTypeToEntryMap[type]); + dst2->SetSequenceIndex(src2->GetSequenceIndex()); + dst2->SetPrimaryColour(RCT1::GetColour(src2->GetPrimaryColour())); + dst2->SetSecondaryColour(RCT1::GetColour(src2->GetSecondaryColour())); + + return 1; + } + case TILE_ELEMENT_TYPE_BANNER: + { + auto dst2 = dst->AsBanner(); + auto src2 = src->AsBanner(); + + dst2->SetPosition(src2->GetPosition()); + dst2->SetAllowedEdges(src2->GetAllowedEdges()); + + auto index = src2->GetIndex(); + if (index < std::size(_s4.banners)) + { + auto srcBanner = &_s4.banners[index]; + auto dstBanner = GetOrCreateBanner(index); + if (dstBanner == nullptr) + { + dst2->SetIndex(BANNER_INDEX_NULL); + } + else + { + ImportBanner(dstBanner, srcBanner); + dst2->SetIndex(index); + } } else { - ImportBanner(dstBanner, srcBanner); - dst2->SetIndex(index); + dst2->SetIndex(BANNER_INDEX_NULL); } + return 1; } - else - { - dst2->SetIndex(BANNER_INDEX_NULL); - } - return 1; + default: + assert(false); } - default: - assert(false); - } - return 0; + return 0; } void ImportResearch() @@ -1982,8 +1988,8 @@ private: case RCT1_RESEARCH_TYPE_VEHICLE: { // Only add vehicle if the related ride has been seen, this to make sure that vehicles - // are researched only after the ride has been researched. Otherwise, remove them from the research list, - // so that they are automatically co-invented when their master ride is invented. + // are researched only after the ride has been researched. Otherwise, remove them from the research + // list, so that they are automatically co-invented when their master ride is invented. if (_researchRideTypeUsed[researchItem->related_ride]) { InsertResearchVehicle(researchItem, researched); @@ -2094,1007 +2100,1008 @@ private: } return ret; - } - - void InsertResearchVehicle(const rct1_research_item* researchItem, bool researched) - { - uint8_t vehicle = researchItem->item; - auto rideEntryIndex = _vehicleTypeToRideEntryMap[vehicle]; - - if (!_researchRideEntryUsed[rideEntryIndex]) - { - _researchRideEntryUsed[rideEntryIndex] = true; - research_insert_ride_entry(rideEntryIndex, researched); } - } - void ImportParkName() - { - std::string parkName = std::string(_s4.scenario_name); - if (is_user_string_id(static_cast(_s4.park_name_string_index))) + void InsertResearchVehicle(const rct1_research_item* researchItem, bool researched) { - std::string userString = GetUserString(_s4.park_name_string_index); - if (!userString.empty()) + uint8_t vehicle = researchItem->item; + auto rideEntryIndex = _vehicleTypeToRideEntryMap[vehicle]; + + if (!_researchRideEntryUsed[rideEntryIndex]) { - parkName = userString; + _researchRideEntryUsed[rideEntryIndex] = true; + research_insert_ride_entry(rideEntryIndex, researched); } } - auto& park = GetContext()->GetGameState()->GetPark(); - park.Name = parkName; - } - - void ImportParkFlags() - { - // Date and srand - gCurrentTicks = _s4.ticks; - scenario_rand_seed(_s4.random_a, _s4.random_b); - gDateMonthsElapsed = static_cast(_s4.month); - gDateMonthTicks = _s4.day; - - // Park rating - gParkRating = _s4.park_rating; - for (size_t i = 0; i < 32; i++) + void ImportParkName() { - gParkRatingHistory[i] = _s4.park_rating_history[i]; - } - - // Awards - for (int32_t i = 0; i < RCT12_MAX_AWARDS; i++) - { - rct12_award* src = &_s4.awards[i]; - Award* dst = &gCurrentAwards[i]; - dst->Time = src->time; - dst->Type = src->type; - } - - // Number of guests history - std::fill(std::begin(gGuestsInParkHistory), std::end(gGuestsInParkHistory), std::numeric_limits::max()); - for (size_t i = 0; i < std::size(_s4.guests_in_park_history); i++) - { - if (_s4.guests_in_park_history[i] != std::numeric_limits::max()) + std::string parkName = std::string(_s4.scenario_name); + if (is_user_string_id(static_cast(_s4.park_name_string_index))) { - gGuestsInParkHistory[i] = _s4.guests_in_park_history[i] * 20; + std::string userString = GetUserString(_s4.park_name_string_index); + if (!userString.empty()) + { + parkName = userString; + } + } + + auto& park = GetContext()->GetGameState()->GetPark(); + park.Name = parkName; + } + + void ImportParkFlags() + { + // Date and srand + gCurrentTicks = _s4.ticks; + scenario_rand_seed(_s4.random_a, _s4.random_b); + gDateMonthsElapsed = static_cast(_s4.month); + gDateMonthTicks = _s4.day; + + // Park rating + gParkRating = _s4.park_rating; + for (size_t i = 0; i < 32; i++) + { + gParkRatingHistory[i] = _s4.park_rating_history[i]; + } + + // Awards + for (int32_t i = 0; i < RCT12_MAX_AWARDS; i++) + { + rct12_award* src = &_s4.awards[i]; + Award* dst = &gCurrentAwards[i]; + dst->Time = src->time; + dst->Type = src->type; + } + + // Number of guests history + std::fill(std::begin(gGuestsInParkHistory), std::end(gGuestsInParkHistory), std::numeric_limits::max()); + for (size_t i = 0; i < std::size(_s4.guests_in_park_history); i++) + { + if (_s4.guests_in_park_history[i] != std::numeric_limits::max()) + { + gGuestsInParkHistory[i] = _s4.guests_in_park_history[i] * 20; + } + } + + // News items + for (size_t i = 0; i < RCT12_MAX_NEWS_ITEMS; i++) + { + const rct12_news_item* src = &_s4.messages[i]; + News::Item* dst = &gNewsItems[i]; + + dst->Type = static_cast(src->Type); + dst->Flags = src->Flags; + dst->Ticks = src->Ticks; + dst->MonthYear = src->MonthYear; + dst->Day = src->Day; + dst->Text = ConvertFormattedStringToOpenRCT2(std::string_view(src->Text, sizeof(src->Text))); + + if (dst->Type == News::ItemType::Research) + { + uint8_t researchItem = src->Assoc & 0x000000FF; + uint8_t researchType = (src->Assoc & 0x00FF0000) >> 16; + + ResearchItem tmpResearchItem = {}; + ConvertResearchEntry(&tmpResearchItem, researchItem, researchType); + dst->Assoc = tmpResearchItem.rawValue; + } + else + { + dst->Assoc = src->Assoc; + } + } + + // Initial guest status + gGuestInitialCash = _s4.guest_initial_cash; + gGuestInitialHunger = _s4.guest_initial_hunger; + gGuestInitialThirst = _s4.guest_initial_thirst; + gGuestInitialHappiness = _s4.guest_initial_happiness; + + _guestGenerationProbability = _s4.guest_generation_probability; + + // Staff colours + gStaffHandymanColour = RCT1::GetColour(_s4.handman_colour); + gStaffMechanicColour = RCT1::GetColour(_s4.mechanic_colour); + gStaffSecurityColour = RCT1::GetColour(_s4.security_guard_colour); + + // Flags + gParkFlags = _s4.park_flags; + gParkFlags &= ~PARK_FLAGS_ANTI_CHEAT_DEPRECATED; + // Loopy Landscape parks can set a flag to lock the entry price to free. + // If this flag is not set, the player can ask money for both rides and entry. + if (!(_s4.park_flags & RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE)) + { + gParkFlags |= PARK_FLAGS_UNLOCK_ALL_PRICES; + } + + // RCT2 uses two flags for no money (due to the scenario editor). RCT1 used only one. + // Copy its value to make no money scenarios such as Arid Heights work properly. + if (_s4.park_flags & RCT1_PARK_FLAGS_NO_MONEY) + { + gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; + } + + gParkSize = _s4.park_size; + gTotalRideValueForMoney = _s4.total_ride_value_for_money; + } + + void ConvertResearchEntry(ResearchItem* dst, uint8_t srcItem, uint8_t srcType) + { + dst->SetNull(); + if (srcType == RCT1_RESEARCH_TYPE_RIDE) + { + auto entryIndex = _rideTypeToRideEntryMap[srcItem]; + + if (entryIndex != OBJECT_ENTRY_INDEX_NULL) + { + rct_ride_entry* rideEntry = get_ride_entry(entryIndex); + + if (rideEntry != nullptr) + { + auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); + dst->entryIndex = entryIndex; + dst->baseRideType = rideType; + dst->type = Research::EntryType::Ride; + dst->flags = 0; + dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); + } + } + } + else if (srcType == RCT1_RESEARCH_TYPE_VEHICLE) + { + auto entryIndex = _vehicleTypeToRideEntryMap[srcItem]; + + if (entryIndex != OBJECT_ENTRY_INDEX_NULL) + { + rct_ride_entry* rideEntry = get_ride_entry(entryIndex); + + if (rideEntry != nullptr) + { + auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); + dst->entryIndex = entryIndex; + dst->baseRideType = rideType; + dst->type = Research::EntryType::Ride; + dst->flags = 0; + dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); + } + } + } + else if (srcType == RCT1_RESEARCH_TYPE_THEME) + { + auto entryIndex = _sceneryThemeTypeToEntryMap[srcItem]; + + if (entryIndex != OBJECT_ENTRY_INDEX_IGNORE && entryIndex != OBJECT_ENTRY_INDEX_NULL) + { + dst->entryIndex = entryIndex; + dst->type = Research::EntryType::Scenery; + dst->category = ResearchCategory::SceneryGroup; + dst->flags = 0; + } } } - // News items - for (size_t i = 0; i < RCT12_MAX_NEWS_ITEMS; i++) + void ImportClimate() { - const rct12_news_item* src = &_s4.messages[i]; - News::Item* dst = &gNewsItems[i]; + gClimate = ClimateType{ _s4.climate }; + gClimateUpdateTimer = _s4.climate_timer; + gClimateCurrent.Temperature = _s4.temperature; + gClimateCurrent.Weather = WeatherType{ _s4.weather }; + gClimateCurrent.WeatherEffect = WeatherEffectType::None; + gClimateCurrent.WeatherGloom = _s4.weather_gloom; + gClimateCurrent.Level = static_cast(_s4.rain); + gClimateNext.Temperature = _s4.target_temperature; + gClimateNext.Weather = WeatherType{ _s4.target_weather }; + gClimateNext.WeatherEffect = WeatherEffectType::None; + gClimateNext.WeatherGloom = _s4.target_weather_gloom; + gClimateNext.Level = static_cast(_s4.target_rain); + } - dst->Type = static_cast(src->Type); - dst->Flags = src->Flags; - dst->Ticks = src->Ticks; - dst->MonthYear = src->MonthYear; - dst->Day = src->Day; - dst->Text = ConvertFormattedStringToOpenRCT2(std::string_view(src->Text, sizeof(src->Text))); + void ImportScenarioNameDetails() + { + std::string name = String::ToStd(_s4.scenario_name); + std::string details; - if (dst->Type == News::ItemType::Research) + int32_t scNumber = _s4.scenario_slot_index; + if (scNumber != -1) { - uint8_t researchItem = src->Assoc & 0x000000FF; - uint8_t researchType = (src->Assoc & 0x00FF0000) >> 16; + source_desc sourceDesc; + if (ScenarioSources::TryGetById(scNumber, &sourceDesc)) + { + rct_string_id localisedStringIds[3]; + if (language_get_localised_scenario_strings(sourceDesc.title, localisedStringIds)) + { + if (localisedStringIds[0] != STR_NONE) + { + name = String::ToStd(language_get_string(localisedStringIds[0])); + } + if (localisedStringIds[2] != STR_NONE) + { + details = String::ToStd(language_get_string(localisedStringIds[2])); + } + } + } + } - ResearchItem tmpResearchItem = {}; - ConvertResearchEntry(&tmpResearchItem, researchItem, researchType); - dst->Assoc = tmpResearchItem.rawValue; + gScenarioName = name; + gScenarioDetails = details; + } + + void ImportScenarioObjective() + { + gScenarioObjective.Type = _s4.scenario_objective_type; + gScenarioObjective.Year = _s4.scenario_objective_years; + gScenarioObjective.NumGuests = _s4.scenario_objective_num_guests; + + // RCT1 used a different way of calculating the park value. + // This is corrected here, but since scenario_objective_currency doubles as minimum excitement rating, + // we need to check the goal to avoid affecting scenarios like Volcania. + if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) + gScenarioObjective.Currency = ToMoney64(CorrectRCT1ParkValue(_s4.scenario_objective_currency)); + else + gScenarioObjective.Currency = ToMoney64(_s4.scenario_objective_currency); + + // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. + if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) + gScenarioObjective.RideId = GetBuildTheBestRideId(); + } + + void ImportSavedView() + { + gSavedView = ScreenCoordsXY{ _s4.view_x, _s4.view_y }; + gSavedViewZoom = _s4.view_zoom; + gSavedViewRotation = _s4.view_rotation; + } + + void ConvertWall(const int32_t& type, colour_t* colourA, colour_t* colourB) + { + switch (type) + { + case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE: + *colourA = COLOUR_DARK_BROWN; + break; + case RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE: + *colourA = COLOUR_WHITE; + break; + case RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE: + *colourA = COLOUR_SALMON_PINK; + break; + case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW: + *colourA = COLOUR_DARK_BROWN; + break; + case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE: + *colourB = *colourA; + *colourA = COLOUR_DARK_BROWN; + break; + case RCT1_WALL_TYPE_GLASS_SMOOTH: + case RCT1_WALL_TYPE_GLASS_PANELS: + *colourB = COLOUR_WHITE; + break; + case RCT1_WALL_TYPE_SMALL_GREY_CASTLE: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE: + case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW: + case RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE: + *colourA = COLOUR_GREY; + break; + } + } + + void ImportBanner(Banner* dst, const RCT12Banner* src) + { + auto id = dst->id; + + *dst = {}; + dst->id = id; + dst->type = RCTEntryIndexToOpenRCT2EntryIndex(src->type); + + dst->flags = 0; + if (src->flags & BANNER_FLAG_NO_ENTRY) + { + dst->flags |= BANNER_FLAG_NO_ENTRY; + } + + if (is_user_string_id(src->string_idx)) + { + dst->text = GetUserString(src->string_idx); + } + + dst->colour = RCT1::GetColour(src->colour); + dst->text_colour = src->text_colour; + dst->position.x = src->x; + dst->position.y = src->y; + } + + void FixEntrancePositions() + { + gParkEntrances.clear(); + tile_element_iterator it; + tile_element_iterator_begin(&it); + while (tile_element_iterator_next(&it) && gParkEntrances.size() < RCT12_MAX_PARK_ENTRANCES) + { + TileElement* element = it.element; + + if (element->GetType() != TILE_ELEMENT_TYPE_ENTRANCE) + continue; + if (element->AsEntrance()->GetEntranceType() != ENTRANCE_TYPE_PARK_ENTRANCE) + continue; + if ((element->AsEntrance()->GetSequenceIndex()) != 0) + continue; + + CoordsXYZD entrance = { TileCoordsXY(it.x, it.y).ToCoordsXY(), element->GetBaseZ(), element->GetDirection() }; + gParkEntrances.push_back(entrance); + } + } + + EntryList* GetEntryList(ObjectType objectType) + { + switch (objectType) + { + case ObjectType::Ride: + return &_rideEntries; + case ObjectType::SmallScenery: + return &_smallSceneryEntries; + case ObjectType::LargeScenery: + return &_largeSceneryEntries; + case ObjectType::Walls: + return &_wallEntries; + case ObjectType::Paths: + return &_pathEntries; + case ObjectType::PathBits: + return &_pathAdditionEntries; + case ObjectType::SceneryGroup: + return &_sceneryGroupEntries; + case ObjectType::Water: + return &_waterEntry; + default: + // This switch processes only ObjectType for for Entries + break; + } + return nullptr; + } + + const rct1_research_item* GetResearchList(size_t* count) + { + // Loopy Landscapes stores research items in a different place + if (_gameVersion == FILE_VERSION_RCT1_LL) + { + *count = std::size(_s4.research_items_LL); + return _s4.research_items_LL; } else { - dst->Assoc = src->Assoc; + *count = std::size(_s4.research_items); + return _s4.research_items; } } - // Initial guest status - gGuestInitialCash = _s4.guest_initial_cash; - gGuestInitialHunger = _s4.guest_initial_hunger; - gGuestInitialThirst = _s4.guest_initial_thirst; - gGuestInitialHappiness = _s4.guest_initial_happiness; - - _guestGenerationProbability = _s4.guest_generation_probability; - - // Staff colours - gStaffHandymanColour = RCT1::GetColour(_s4.handman_colour); - gStaffMechanicColour = RCT1::GetColour(_s4.mechanic_colour); - gStaffSecurityColour = RCT1::GetColour(_s4.security_guard_colour); - - // Flags - gParkFlags = _s4.park_flags; - gParkFlags &= ~PARK_FLAGS_ANTI_CHEAT_DEPRECATED; - // Loopy Landscape parks can set a flag to lock the entry price to free. - // If this flag is not set, the player can ask money for both rides and entry. - if (!(_s4.park_flags & RCT1_PARK_FLAGS_PARK_ENTRY_LOCKED_AT_FREE)) + std::string GetUserString(rct_string_id stringId) { - gParkFlags |= PARK_FLAGS_UNLOCK_ALL_PRICES; + const auto originalString = _s4.string_table[(stringId - USER_STRING_START) % 1024]; + auto originalStringView = std::string_view( + originalString, GetRCT2StringBufferLen(originalString, USER_STRING_MAX_LENGTH)); + auto asUtf8 = rct2_to_utf8(originalStringView, RCT2LanguageId::EnglishUK); + auto justText = RCT12RemoveFormattingUTF8(asUtf8); + return justText.data(); } - // RCT2 uses two flags for no money (due to the scenario editor). RCT1 used only one. - // Copy its value to make no money scenarios such as Arid Heights work properly. - if (_s4.park_flags & RCT1_PARK_FLAGS_NO_MONEY) + void FixLandOwnership() { - gParkFlags |= PARK_FLAGS_NO_MONEY_SCENARIO; - } - - gParkSize = _s4.park_size; - gTotalRideValueForMoney = _s4.total_ride_value_for_money; - } - - void ConvertResearchEntry(ResearchItem* dst, uint8_t srcItem, uint8_t srcType) - { - dst->SetNull(); - if (srcType == RCT1_RESEARCH_TYPE_RIDE) - { - auto entryIndex = _rideTypeToRideEntryMap[srcItem]; - - if (entryIndex != OBJECT_ENTRY_INDEX_NULL) + switch (_s4.scenario_slot_index) { - rct_ride_entry* rideEntry = get_ride_entry(entryIndex); + case SC_DYNAMITE_DUNES: + FixLandOwnershipTiles({ { 97, 18 }, { 99, 19 }, { 83, 34 } }); + break; + case SC_LEAFY_LAKE: + FixLandOwnershipTiles({ { 49, 66 } }); + break; + case SC_KATIES_DREAMLAND: + FixLandOwnershipTiles({ { 74, 70 }, { 75, 70 }, { 76, 70 }, { 77, 73 }, { 80, 77 } }); + break; + case SC_POKEY_PARK: + FixLandOwnershipTiles({ { 64, 102 } }); + break; + case SC_MYSTIC_MOUNTAIN: + FixLandOwnershipTiles({ { 98, 69 }, { 98, 70 }, { 103, 64 }, { 53, 79 }, { 86, 93 }, { 87, 93 } }); + break; + case SC_PACIFIC_PYRAMIDS: + FixLandOwnershipTiles({ { 93, 105 }, { 63, 34 }, { 76, 25 }, { 85, 31 }, { 96, 47 }, { 96, 48 } }); + break; + case SC_UTOPIA_PARK: + FixLandOwnershipTiles({ { 85, 73 } }); + break; + case SC_URBAN_PARK: + FixLandOwnershipTiles({ { 64, 77 }, { 61, 66 }, { 61, 67 }, { 39, 20 } }); + break; + } + } - if (rideEntry != nullptr) + /** + * In Urban Park, the entrance and exit of the merry-go-round are the wrong way round. This code fixes that. + * To avoid messing up saves (in which this problem is most likely solved by the user), only carry out this + * fix when loading from a scenario. + */ + void FixUrbanPark() + { + if (_s4.scenario_slot_index == SC_URBAN_PARK && _isScenario) + { + // First, make the queuing peep exit + for (auto peep : EntityList()) { - auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); - dst->entryIndex = entryIndex; - dst->baseRideType = rideType; - dst->type = Research::EntryType::Ride; - dst->flags = 0; - dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); - } - } - } - else if (srcType == RCT1_RESEARCH_TYPE_VEHICLE) - { - auto entryIndex = _vehicleTypeToRideEntryMap[srcItem]; - - if (entryIndex != OBJECT_ENTRY_INDEX_NULL) - { - rct_ride_entry* rideEntry = get_ride_entry(entryIndex); - - if (rideEntry != nullptr) - { - auto rideType = ride_entry_get_first_non_null_ride_type(rideEntry); - dst->entryIndex = entryIndex; - dst->baseRideType = rideType; - dst->type = Research::EntryType::Ride; - dst->flags = 0; - dst->category = GetRideTypeDescriptor(rideType).GetResearchCategory(); - } - } - } - else if (srcType == RCT1_RESEARCH_TYPE_THEME) - { - auto entryIndex = _sceneryThemeTypeToEntryMap[srcItem]; - - if (entryIndex != OBJECT_ENTRY_INDEX_IGNORE && entryIndex != OBJECT_ENTRY_INDEX_NULL) - { - dst->entryIndex = entryIndex; - dst->type = Research::EntryType::Scenery; - dst->category = ResearchCategory::SceneryGroup; - dst->flags = 0; - } - } - } - - void ImportClimate() - { - gClimate = ClimateType{ _s4.climate }; - gClimateUpdateTimer = _s4.climate_timer; - gClimateCurrent.Temperature = _s4.temperature; - gClimateCurrent.Weather = WeatherType{ _s4.weather }; - gClimateCurrent.WeatherEffect = WeatherEffectType::None; - gClimateCurrent.WeatherGloom = _s4.weather_gloom; - gClimateCurrent.Level = static_cast(_s4.rain); - gClimateNext.Temperature = _s4.target_temperature; - gClimateNext.Weather = WeatherType{ _s4.target_weather }; - gClimateNext.WeatherEffect = WeatherEffectType::None; - gClimateNext.WeatherGloom = _s4.target_weather_gloom; - gClimateNext.Level = static_cast(_s4.target_rain); - } - - void ImportScenarioNameDetails() - { - std::string name = String::ToStd(_s4.scenario_name); - std::string details; - - int32_t scNumber = _s4.scenario_slot_index; - if (scNumber != -1) - { - source_desc sourceDesc; - if (ScenarioSources::TryGetById(scNumber, &sourceDesc)) - { - rct_string_id localisedStringIds[3]; - if (language_get_localised_scenario_strings(sourceDesc.title, localisedStringIds)) - { - if (localisedStringIds[0] != STR_NONE) + if (peep->State == PeepState::QueuingFront && peep->CurrentRide == 0) { - name = String::ToStd(language_get_string(localisedStringIds[0])); - } - if (localisedStringIds[2] != STR_NONE) - { - details = String::ToStd(language_get_string(localisedStringIds[2])); + peep->RemoveFromQueue(); + peep->SetState(PeepState::Falling); + break; } } + + // Now, swap the entrance and exit. + auto ride = get_ride(0); + if (ride != nullptr) + { + auto entranceCoords = ride->stations[0].Exit; + auto exitCoords = ride->stations[0].Entrance; + ride->stations[0].Entrance = entranceCoords; + ride->stations[0].Exit = exitCoords; + + auto entranceElement = map_get_ride_exit_element_at(entranceCoords.ToCoordsXYZD(), false); + entranceElement->SetEntranceType(ENTRANCE_TYPE_RIDE_ENTRANCE); + auto exitElement = map_get_ride_entrance_element_at(exitCoords.ToCoordsXYZD(), false); + exitElement->SetEntranceType(ENTRANCE_TYPE_RIDE_EXIT); + + // Trigger footpath update + footpath_queue_chain_reset(); + footpath_connect_edges( + entranceCoords.ToCoordsXY(), reinterpret_cast(entranceElement), + GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED); + footpath_update_queue_chains(); + } } } - gScenarioName = name; - gScenarioDetails = details; - } - - void ImportScenarioObjective() - { - gScenarioObjective.Type = _s4.scenario_objective_type; - gScenarioObjective.Year = _s4.scenario_objective_years; - gScenarioObjective.NumGuests = _s4.scenario_objective_num_guests; - - // RCT1 used a different way of calculating the park value. - // This is corrected here, but since scenario_objective_currency doubles as minimum excitement rating, - // we need to check the goal to avoid affecting scenarios like Volcania. - if (_s4.scenario_objective_type == OBJECTIVE_PARK_VALUE_BY) - gScenarioObjective.Currency = ToMoney64(CorrectRCT1ParkValue(_s4.scenario_objective_currency)); - else - gScenarioObjective.Currency = ToMoney64(_s4.scenario_objective_currency); - - // This does not seem to be saved in the objective arguments, so look up the ID from the available rides instead. - if (_s4.scenario_objective_type == OBJECTIVE_BUILD_THE_BEST) - gScenarioObjective.RideId = GetBuildTheBestRideId(); - } - - void ImportSavedView() - { - gSavedView = ScreenCoordsXY{ _s4.view_x, _s4.view_y }; - gSavedViewZoom = _s4.view_zoom; - gSavedViewRotation = _s4.view_rotation; - } - - void ConvertWall(const int32_t& type, colour_t* colourA, colour_t* colourB) - { - switch (type) + /** + * Counts the block sections. The reason this iterates over the map is to avoid getting into infinite loops, + * which can happen with hacked parks. + */ + void CountBlockSections() { - case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE: - *colourA = COLOUR_DARK_BROWN; - break; - case RCT1_WALL_TYPE_WHITE_WOODEN_PANEL_FENCE: - *colourA = COLOUR_WHITE; - break; - case RCT1_WALL_TYPE_RED_WOODEN_PANEL_FENCE: - *colourA = COLOUR_SALMON_PINK; - break; - case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_SNOW: - *colourA = COLOUR_DARK_BROWN; - break; - case RCT1_WALL_TYPE_WOODEN_PANEL_FENCE_WITH_GATE: - *colourB = *colourA; - *colourA = COLOUR_DARK_BROWN; - break; - case RCT1_WALL_TYPE_GLASS_SMOOTH: - case RCT1_WALL_TYPE_GLASS_PANELS: - *colourB = COLOUR_WHITE; - break; - case RCT1_WALL_TYPE_SMALL_GREY_CASTLE: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_CROSS: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_GATE: - case RCT1_WALL_TYPE_LARGE_GREY_CASTLE_WINDOW: - case RCT1_WALL_TYPE_MEDIUM_GREY_CASTLE: - *colourA = COLOUR_GREY; - break; - } - } + for (int32_t x = 0; x < RCT1_MAX_MAP_SIZE; x++) + { + for (int32_t y = 0; y < RCT1_MAX_MAP_SIZE; y++) + { + TileElement* tileElement = map_get_first_element_at(TileCoordsXY{ x, y }.ToCoordsXY()); + if (tileElement == nullptr) + continue; + do + { + if (tileElement->GetType() == TILE_ELEMENT_TYPE_TRACK) + { + // Lift hill tops are the only pieces present in RCT1 that can count as a block brake. + if (!tileElement->AsTrack()->HasChain()) + continue; - void ImportBanner(Banner* dst, const RCT12Banner* src) - { - auto id = dst->id; + auto trackType = tileElement->AsTrack()->GetTrackType(); + switch (trackType) + { + case TrackElemType::Up25ToFlat: + case TrackElemType::Up60ToFlat: + case TrackElemType::DiagUp25ToFlat: + case TrackElemType::DiagUp60ToFlat: + break; + default: + continue; + } - *dst = {}; - dst->id = id; - dst->type = RCTEntryIndexToOpenRCT2EntryIndex(src->type); - - dst->flags = 0; - if (src->flags & BANNER_FLAG_NO_ENTRY) - { - dst->flags |= BANNER_FLAG_NO_ENTRY; + ride_id_t rideIndex = tileElement->AsTrack()->GetRideIndex(); + auto ride = get_ride(rideIndex); + if (ride != nullptr) + { + ride->num_block_brakes++; + } + } + } while (!(tileElement++)->IsLastForTile()); + } + } } - if (is_user_string_id(src->string_idx)) + /** + * This has to be done after importing tile elements, because it needs those to detect if a pre-existing ride + * name should be considered reserved. + */ + void SetDefaultNames() { - dst->text = GetUserString(src->string_idx); + for (auto& ride : GetRideManager()) + { + if (ride.custom_name.empty()) + { + ride.SetNameToDefault(); + } + } } - dst->colour = RCT1::GetColour(src->colour); - dst->text_colour = src->text_colour; - dst->position.x = src->x; - dst->position.y = src->y; - } - - void FixEntrancePositions() - { - gParkEntrances.clear(); - tile_element_iterator it; - tile_element_iterator_begin(&it); - while (tile_element_iterator_next(&it) && gParkEntrances.size() < RCT12_MAX_PARK_ENTRANCES) + ObjectEntryIndex GetBuildTheBestRideId() { - TileElement* element = it.element; + size_t researchListCount; + const rct1_research_item* researchList = GetResearchList(&researchListCount); + for (size_t i = 0; i < researchListCount; i++) + { + if (researchList[i].flags == 0xFF) + { + break; + } - if (element->GetType() != TILE_ELEMENT_TYPE_ENTRANCE) - continue; - if (element->AsEntrance()->GetEntranceType() != ENTRANCE_TYPE_PARK_ENTRANCE) - continue; - if ((element->AsEntrance()->GetSequenceIndex()) != 0) - continue; + if (researchList[i].type == RCT1_RESEARCH_TYPE_RIDE) + { + return RCT1::GetRideType(researchList[i].item, 0); + } + } - CoordsXYZD entrance = { TileCoordsXY(it.x, it.y).ToCoordsXY(), element->GetBaseZ(), element->GetDirection() }; - gParkEntrances.push_back(entrance); + return RIDE_TYPE_NULL; } - } + }; - EntryList* GetEntryList(ObjectType objectType) + // Very similar but not the same as S6Importer version (due to peeps) + constexpr EntityType GetEntityTypeFromRCT1Sprite(const RCT12SpriteBase& src) { - switch (objectType) + EntityType output = EntityType::Null; + switch (src.sprite_identifier) { - case ObjectType::Ride: - return &_rideEntries; - case ObjectType::SmallScenery: - return &_smallSceneryEntries; - case ObjectType::LargeScenery: - return &_largeSceneryEntries; - case ObjectType::Walls: - return &_wallEntries; - case ObjectType::Paths: - return &_pathEntries; - case ObjectType::PathBits: - return &_pathAdditionEntries; - case ObjectType::SceneryGroup: - return &_sceneryGroupEntries; - case ObjectType::Water: - return &_waterEntry; + case RCT12SpriteIdentifier::Vehicle: + output = EntityType::Vehicle; + break; + case RCT12SpriteIdentifier::Peep: + if (RCT12PeepType(static_cast(&src)->type) == RCT12PeepType::Guest) + { + output = EntityType::Guest; + } + else + { + output = EntityType::Staff; + } + break; + case RCT12SpriteIdentifier::Misc: + + switch (RCT12MiscEntityType(src.type)) + { + case RCT12MiscEntityType::SteamParticle: + output = EntityType::SteamParticle; + break; + case RCT12MiscEntityType::MoneyEffect: + output = EntityType::MoneyEffect; + break; + case RCT12MiscEntityType::CrashedVehicleParticle: + output = EntityType::CrashedVehicleParticle; + break; + case RCT12MiscEntityType::ExplosionCloud: + output = EntityType::ExplosionCloud; + break; + case RCT12MiscEntityType::CrashSplash: + output = EntityType::CrashSplash; + break; + case RCT12MiscEntityType::ExplosionFlare: + output = EntityType::ExplosionFlare; + break; + case RCT12MiscEntityType::JumpingFountainWater: + case RCT12MiscEntityType::JumpingFountainSnow: + output = EntityType::JumpingFountain; + break; + case RCT12MiscEntityType::Balloon: + output = EntityType::Balloon; + break; + case RCT12MiscEntityType::Duck: + output = EntityType::Duck; + break; + default: + break; + } + break; + case RCT12SpriteIdentifier::Litter: + output = EntityType::Litter; + break; default: - // This switch processes only ObjectType for for Entries break; } - return nullptr; + return output; } - const rct1_research_item* GetResearchList(size_t* count) + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - // Loopy Landscapes stores research items in a different place + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + const auto* ride = get_ride(src->ride); + if (ride == nullptr) + return; + + uint8_t vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type); + + dst->ride = src->ride; + dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(ride->subtype); + + dst->vehicle_type = vehicleEntryIndex; + dst->SubType = Vehicle::Type(src->type); + dst->var_44 = src->var_44; + dst->remaining_distance = src->remaining_distance; + + // Properties from vehicle entry + dst->sprite_width = src->sprite_width; + dst->sprite_height_negative = src->sprite_height_negative; + dst->sprite_height_positive = src->sprite_height_positive; + dst->sprite_direction = src->sprite_direction; + + dst->sprite_left = src->sprite_left; + dst->sprite_top = src->sprite_top; + dst->sprite_right = src->sprite_right; + dst->sprite_bottom = src->sprite_bottom; + + dst->mass = src->mass; + dst->num_seats = src->num_seats; + dst->speed = src->speed; + dst->powered_acceleration = src->powered_acceleration; + dst->brake_speed = src->brake_speed; + + dst->velocity = src->velocity; + dst->acceleration = src->acceleration; + dst->SwingSprite = src->SwingSprite; + dst->SwingPosition = src->SwingPosition; + dst->SwingSpeed = src->SwingSpeed; + dst->restraints_position = src->restraints_position; + dst->spin_sprite = src->spin_sprite; + dst->sound_vector_factor = src->sound_vector_factor; + dst->spin_speed = src->spin_speed; + dst->sound2_flags = src->sound2_flags; + dst->sound1_id = OpenRCT2::Audio::SoundId::Null; + dst->sound2_id = OpenRCT2::Audio::SoundId::Null; + dst->var_C0 = src->var_C0; + dst->var_C4 = src->var_C4; + dst->animation_frame = src->animation_frame; + dst->animationState = src->animationState; + dst->var_CA = src->var_CA; + dst->var_CE = src->var_CE; + dst->var_D3 = src->var_D3; + dst->scream_sound_id = OpenRCT2::Audio::SoundId::Null; + dst->Pitch = src->Pitch; + dst->bank_rotation = src->bank_rotation; + + // Seat rotation was not in RCT1 + dst->target_seat_rotation = DEFAULT_SEAT_ROTATION; + dst->seat_rotation = DEFAULT_SEAT_ROTATION; + + // Vehicle links (indexes converted later) + dst->prev_vehicle_on_ride = src->prev_vehicle_on_ride; + dst->next_vehicle_on_ride = src->next_vehicle_on_ride; + dst->next_vehicle_on_train = src->next_vehicle_on_train; + + // Guests (indexes converted later) + for (int i = 0; i < 32; i++) + { + uint16_t spriteIndex = src->peep[i]; + dst->peep[i] = spriteIndex; + if (spriteIndex != SPRITE_INDEX_NULL) + { + dst->peep_tshirt_colours[i] = RCT1::GetColour(src->peep_tshirt_colours[i]); + } + } + + Vehicle::Status statusSrc = Vehicle::Status::MovingToEndOfStation; + if (src->status <= static_cast(Vehicle::Status::StoppedByBlockBrakes)) + { + statusSrc = static_cast(src->status); + } + dst->status = statusSrc; + dst->TrackSubposition = VehicleTrackSubposition{ src->TrackSubposition }; + dst->TrackLocation = { src->track_x, src->track_y, src->track_z }; + dst->current_station = src->current_station; + if (src->boat_location.isNull() || ride->mode != RideMode::BoatHire || statusSrc != Vehicle::Status::TravellingBoat) + { + dst->BoatLocation.setNull(); + dst->SetTrackDirection(src->GetTrackDirection()); + dst->SetTrackType(RCT1TrackTypeToOpenRCT2(src->GetTrackType(), ride->type)); + } + else + { + dst->BoatLocation = TileCoordsXY{ src->boat_location.x, src->boat_location.y }.ToCoordsXY(); + dst->SetTrackDirection(0); + dst->SetTrackType(0); + } + dst->track_progress = src->track_progress; + dst->vertical_drop_countdown = src->vertical_drop_countdown; + dst->sub_state = src->sub_state; + dst->update_flags = src->update_flags; + + SetVehicleColours(dst, src); + + dst->mini_golf_current_animation = MiniGolfAnimation(src->mini_golf_current_animation); + dst->mini_golf_flags = src->mini_golf_flags; + + dst->MoveTo({ src->x, src->y, src->z }); + + dst->num_peeps = src->num_peeps; + dst->next_free_seat = src->next_free_seat; + dst->IsCrashedVehicle = src->flags & RCT12_SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportPeep(dst, src); + + dst->OutsideOfPark = static_cast(src->outside_of_park); + dst->TimeToConsume = src->time_to_consume; + dst->VandalismSeen = src->vandalism_seen; + dst->UmbrellaColour = RCT1::GetColour(src->umbrella_colour); + dst->HatColour = RCT1::GetColour(src->hat_colour); + + // Balloons were always blue in RCT1 without AA/LL + if (_gameVersion == FILE_VERSION_RCT1) + { + dst->BalloonColour = COLOUR_LIGHT_BLUE; + } + else + { + dst->BalloonColour = RCT1::GetColour(src->balloon_colour); + } + dst->Happiness = src->happiness; + dst->HappinessTarget = src->happiness_target; + dst->Nausea = src->nausea; + dst->NauseaTarget = src->nausea_target; + dst->Hunger = src->hunger; + dst->Thirst = src->thirst; + dst->Toilet = src->toilet; + dst->LitterCount = src->litter_count; + dst->DisgustingCount = src->disgusting_count; + dst->Intensity = static_cast(src->intensity); + dst->NauseaTolerance = static_cast(src->nausea_tolerance); + dst->GuestTimeOnRide = src->time_on_ride; + dst->DaysInQueue = src->days_in_queue; + dst->CashInPocket = src->cash_in_pocket; + dst->CashSpent = src->cash_spent; + dst->ParkEntryTime = src->park_entry_time; + dst->GuestNumRides = src->no_of_rides; + dst->AmountOfDrinks = src->no_of_drinks; + dst->AmountOfFood = src->no_of_food; + dst->AmountOfSouvenirs = src->no_of_souvenirs; + dst->PaidToEnter = src->paid_to_enter; + dst->PaidOnRides = src->paid_on_rides; + dst->PaidOnDrink = src->paid_on_drink; + dst->PaidOnFood = src->paid_on_food; + dst->PaidOnSouvenirs = src->paid_on_souvenirs; + dst->VoucherRideId = RCT12RideIdToOpenRCT2RideId(src->voucher_arguments); + dst->VoucherType = src->voucher_type; + dst->SurroundingsThoughtTimeout = src->surroundings_thought_timeout; + dst->Angriness = src->angriness; + dst->TimeLost = src->time_lost; + + OpenRCT2::RideUse::GetHistory().Set(dst->sprite_index, RCT12GetRidesBeenOn(src)); + OpenRCT2::RideUse::GetTypeHistory().Set(dst->sprite_index, RCT12GetRideTypesBeenOn(src)); + + dst->Photo1RideRef = RCT12RideIdToOpenRCT2RideId(src->photo1_ride_ref); + + for (size_t i = 0; i < std::size(src->thoughts); i++) + { + auto srcThought = &src->thoughts[i]; + auto dstThought = &dst->Thoughts[i]; + dstThought->type = static_cast(srcThought->type); + if (srcThought->item == 255) + { + dstThought->argument = std::numeric_limits::max(); + } + else + { + dstThought->argument = srcThought->item; + } + dstThought->freshness = srcThought->freshness; + dstThought->fresh_timeout = srcThought->fresh_timeout; + } + + dst->PreviousRide = RCT12RideIdToOpenRCT2RideId(src->previous_ride); + dst->PreviousRideTimeOut = src->previous_ride_time_out; + dst->GuestHeadingToRideId = RCT12RideIdToOpenRCT2RideId(src->guest_heading_to_ride_id); + dst->GuestIsLostCountdown = src->peep_is_lost_countdown; + dst->GuestNextInQueue = src->next_in_queue; + // Guests' favourite ride was only saved in LL. + // Set it to N/A if the save comes from the original or AA. if (_gameVersion == FILE_VERSION_RCT1_LL) { - *count = std::size(_s4.research_items_LL); - return _s4.research_items_LL; + dst->FavouriteRide = RCT12RideIdToOpenRCT2RideId(src->favourite_ride); + dst->FavouriteRideRating = src->favourite_ride_rating; } else { - *count = std::size(_s4.research_items); - return _s4.research_items; - } - } - - std::string GetUserString(rct_string_id stringId) - { - const auto originalString = _s4.string_table[(stringId - USER_STRING_START) % 1024]; - auto originalStringView = std::string_view( - originalString, GetRCT2StringBufferLen(originalString, USER_STRING_MAX_LENGTH)); - auto asUtf8 = rct2_to_utf8(originalStringView, RCT2LanguageId::EnglishUK); - auto justText = RCT12RemoveFormattingUTF8(asUtf8); - return justText.data(); - } - - void FixLandOwnership() - { - switch (_s4.scenario_slot_index) - { - case SC_DYNAMITE_DUNES: - FixLandOwnershipTiles({ { 97, 18 }, { 99, 19 }, { 83, 34 } }); - break; - case SC_LEAFY_LAKE: - FixLandOwnershipTiles({ { 49, 66 } }); - break; - case SC_KATIES_DREAMLAND: - FixLandOwnershipTiles({ { 74, 70 }, { 75, 70 }, { 76, 70 }, { 77, 73 }, { 80, 77 } }); - break; - case SC_POKEY_PARK: - FixLandOwnershipTiles({ { 64, 102 } }); - break; - case SC_MYSTIC_MOUNTAIN: - FixLandOwnershipTiles({ { 98, 69 }, { 98, 70 }, { 103, 64 }, { 53, 79 }, { 86, 93 }, { 87, 93 } }); - break; - case SC_PACIFIC_PYRAMIDS: - FixLandOwnershipTiles({ { 93, 105 }, { 63, 34 }, { 76, 25 }, { 85, 31 }, { 96, 47 }, { 96, 48 } }); - break; - case SC_UTOPIA_PARK: - FixLandOwnershipTiles({ { 85, 73 } }); - break; - case SC_URBAN_PARK: - FixLandOwnershipTiles({ { 64, 77 }, { 61, 66 }, { 61, 67 }, { 39, 20 } }); - break; - } - } - - /** - * In Urban Park, the entrance and exit of the merry-go-round are the wrong way round. This code fixes that. - * To avoid messing up saves (in which this problem is most likely solved by the user), only carry out this - * fix when loading from a scenario. - */ - void FixUrbanPark() - { - if (_s4.scenario_slot_index == SC_URBAN_PARK && _isScenario) - { - // First, make the queuing peep exit - for (auto peep : EntityList()) - { - if (peep->State == PeepState::QueuingFront && peep->CurrentRide == 0) - { - peep->RemoveFromQueue(); - peep->SetState(PeepState::Falling); - break; - } - } - - // Now, swap the entrance and exit. - auto ride = get_ride(0); - if (ride != nullptr) - { - auto entranceCoords = ride->stations[0].Exit; - auto exitCoords = ride->stations[0].Entrance; - ride->stations[0].Entrance = entranceCoords; - ride->stations[0].Exit = exitCoords; - - auto entranceElement = map_get_ride_exit_element_at(entranceCoords.ToCoordsXYZD(), false); - entranceElement->SetEntranceType(ENTRANCE_TYPE_RIDE_ENTRANCE); - auto exitElement = map_get_ride_entrance_element_at(exitCoords.ToCoordsXYZD(), false); - exitElement->SetEntranceType(ENTRANCE_TYPE_RIDE_EXIT); - - // Trigger footpath update - footpath_queue_chain_reset(); - footpath_connect_edges( - entranceCoords.ToCoordsXY(), reinterpret_cast(entranceElement), - GAME_COMMAND_FLAG_APPLY | GAME_COMMAND_FLAG_ALLOW_DURING_PAUSED); - footpath_update_queue_chains(); - } - } - } - - /** - * Counts the block sections. The reason this iterates over the map is to avoid getting into infinite loops, - * which can happen with hacked parks. - */ - void CountBlockSections() - { - for (int32_t x = 0; x < RCT1_MAX_MAP_SIZE; x++) - { - for (int32_t y = 0; y < RCT1_MAX_MAP_SIZE; y++) - { - TileElement* tileElement = map_get_first_element_at(TileCoordsXY{ x, y }.ToCoordsXY()); - if (tileElement == nullptr) - continue; - do - { - if (tileElement->GetType() == TILE_ELEMENT_TYPE_TRACK) - { - // Lift hill tops are the only pieces present in RCT1 that can count as a block brake. - if (!tileElement->AsTrack()->HasChain()) - continue; - - auto trackType = tileElement->AsTrack()->GetTrackType(); - switch (trackType) - { - case TrackElemType::Up25ToFlat: - case TrackElemType::Up60ToFlat: - case TrackElemType::DiagUp25ToFlat: - case TrackElemType::DiagUp60ToFlat: - break; - default: - continue; - } - - ride_id_t rideIndex = tileElement->AsTrack()->GetRideIndex(); - auto ride = get_ride(rideIndex); - if (ride != nullptr) - { - ride->num_block_brakes++; - } - } - } while (!(tileElement++)->IsLastForTile()); - } - } - } - - /** - * This has to be done after importing tile elements, because it needs those to detect if a pre-existing ride - * name should be considered reserved. - */ - void SetDefaultNames() - { - for (auto& ride : GetRideManager()) - { - if (ride.custom_name.empty()) - { - ride.SetNameToDefault(); - } - } - } - - ObjectEntryIndex GetBuildTheBestRideId() - { - size_t researchListCount; - const rct1_research_item* researchList = GetResearchList(&researchListCount); - for (size_t i = 0; i < researchListCount; i++) - { - if (researchList[i].flags == 0xFF) - { - break; - } - - if (researchList[i].type == RCT1_RESEARCH_TYPE_RIDE) - { - return RCT1::GetRideType(researchList[i].item, 0); - } + dst->FavouriteRide = RIDE_ID_NULL; + dst->FavouriteRideRating = 0; } - return RIDE_TYPE_NULL; - } -}; + dst->SetItemFlags(src->GetItemFlags()); -// Very similar but not the same as S6Importer version (due to peeps) -constexpr EntityType GetEntityTypeFromRCT1Sprite(const RCT12SpriteBase& src) -{ - EntityType output = EntityType::Null; - switch (src.sprite_identifier) - { - case RCT12SpriteIdentifier::Vehicle: - output = EntityType::Vehicle; - break; - case RCT12SpriteIdentifier::Peep: - if (RCT12PeepType(static_cast(&src)->type) == RCT12PeepType::Guest) - { - output = EntityType::Guest; - } - else - { - output = EntityType::Staff; - } - break; - case RCT12SpriteIdentifier::Misc: - - switch (RCT12MiscEntityType(src.type)) - { - case RCT12MiscEntityType::SteamParticle: - output = EntityType::SteamParticle; - break; - case RCT12MiscEntityType::MoneyEffect: - output = EntityType::MoneyEffect; - break; - case RCT12MiscEntityType::CrashedVehicleParticle: - output = EntityType::CrashedVehicleParticle; - break; - case RCT12MiscEntityType::ExplosionCloud: - output = EntityType::ExplosionCloud; - break; - case RCT12MiscEntityType::CrashSplash: - output = EntityType::CrashSplash; - break; - case RCT12MiscEntityType::ExplosionFlare: - output = EntityType::ExplosionFlare; - break; - case RCT12MiscEntityType::JumpingFountainWater: - case RCT12MiscEntityType::JumpingFountainSnow: - output = EntityType::JumpingFountain; - break; - case RCT12MiscEntityType::Balloon: - output = EntityType::Balloon; - break; - case RCT12MiscEntityType::Duck: - output = EntityType::Duck; - break; - default: - break; - } - break; - case RCT12SpriteIdentifier::Litter: - output = EntityType::Litter; - break; - default: - break; - } - return output; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - const auto* ride = get_ride(src->ride); - if (ride == nullptr) - return; - - uint8_t vehicleEntryIndex = RCT1::GetVehicleSubEntryIndex(src->vehicle_type); - - dst->ride = src->ride; - dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(ride->subtype); - - dst->vehicle_type = vehicleEntryIndex; - dst->SubType = Vehicle::Type(src->type); - dst->var_44 = src->var_44; - dst->remaining_distance = src->remaining_distance; - - // Properties from vehicle entry - dst->sprite_width = src->sprite_width; - dst->sprite_height_negative = src->sprite_height_negative; - dst->sprite_height_positive = src->sprite_height_positive; - dst->sprite_direction = src->sprite_direction; - - dst->sprite_left = src->sprite_left; - dst->sprite_top = src->sprite_top; - dst->sprite_right = src->sprite_right; - dst->sprite_bottom = src->sprite_bottom; - - dst->mass = src->mass; - dst->num_seats = src->num_seats; - dst->speed = src->speed; - dst->powered_acceleration = src->powered_acceleration; - dst->brake_speed = src->brake_speed; - - dst->velocity = src->velocity; - dst->acceleration = src->acceleration; - dst->SwingSprite = src->SwingSprite; - dst->SwingPosition = src->SwingPosition; - dst->SwingSpeed = src->SwingSpeed; - dst->restraints_position = src->restraints_position; - dst->spin_sprite = src->spin_sprite; - dst->sound_vector_factor = src->sound_vector_factor; - dst->spin_speed = src->spin_speed; - dst->sound2_flags = src->sound2_flags; - dst->sound1_id = OpenRCT2::Audio::SoundId::Null; - dst->sound2_id = OpenRCT2::Audio::SoundId::Null; - dst->var_C0 = src->var_C0; - dst->var_C4 = src->var_C4; - dst->animation_frame = src->animation_frame; - dst->var_C8 = src->var_C8; - dst->var_CA = src->var_CA; - dst->var_CE = src->var_CE; - dst->var_D3 = src->var_D3; - dst->scream_sound_id = OpenRCT2::Audio::SoundId::Null; - dst->Pitch = src->Pitch; - dst->bank_rotation = src->bank_rotation; - - // Seat rotation was not in RCT1 - dst->target_seat_rotation = DEFAULT_SEAT_ROTATION; - dst->seat_rotation = DEFAULT_SEAT_ROTATION; - - // Vehicle links (indexes converted later) - dst->prev_vehicle_on_ride = src->prev_vehicle_on_ride; - dst->next_vehicle_on_ride = src->next_vehicle_on_ride; - dst->next_vehicle_on_train = src->next_vehicle_on_train; - - // Guests (indexes converted later) - for (int i = 0; i < 32; i++) - { - uint16_t spriteIndex = src->peep[i]; - dst->peep[i] = spriteIndex; - if (spriteIndex != SPRITE_INDEX_NULL) + if (dst->OutsideOfPark && dst->State != PeepState::LeavingPark) { - dst->peep_tshirt_colours[i] = RCT1::GetColour(src->peep_tshirt_colours[i]); - } - } - - Vehicle::Status statusSrc = Vehicle::Status::MovingToEndOfStation; - if (src->status <= static_cast(Vehicle::Status::StoppedByBlockBrakes)) - { - statusSrc = static_cast(src->status); - } - dst->status = statusSrc; - dst->TrackSubposition = VehicleTrackSubposition{ src->TrackSubposition }; - dst->TrackLocation = { src->track_x, src->track_y, src->track_z }; - dst->current_station = src->current_station; - if (src->boat_location.isNull() || ride->mode != RideMode::BoatHire || statusSrc != Vehicle::Status::TravellingBoat) - { - dst->BoatLocation.setNull(); - dst->SetTrackDirection(src->GetTrackDirection()); - dst->SetTrackType(RCT1TrackTypeToOpenRCT2(src->GetTrackType(), ride->type)); - } - else - { - dst->BoatLocation = TileCoordsXY{ src->boat_location.x, src->boat_location.y }.ToCoordsXY(); - dst->SetTrackDirection(0); - dst->SetTrackType(0); - } - dst->track_progress = src->track_progress; - dst->vertical_drop_countdown = src->vertical_drop_countdown; - dst->sub_state = src->sub_state; - dst->update_flags = src->update_flags; - - SetVehicleColours(dst, src); - - dst->mini_golf_current_animation = src->mini_golf_current_animation; - dst->mini_golf_flags = src->mini_golf_flags; - - dst->MoveTo({ src->x, src->y, src->z }); - - dst->num_peeps = src->num_peeps; - dst->next_free_seat = src->next_free_seat; - dst->IsCrashedVehicle = src->flags & RCT12_SPRITE_FLAGS_IS_CRASHED_VEHICLE_SPRITE; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportPeep(dst, src); - - dst->OutsideOfPark = static_cast(src->outside_of_park); - dst->TimeToConsume = src->time_to_consume; - dst->VandalismSeen = src->vandalism_seen; - dst->UmbrellaColour = RCT1::GetColour(src->umbrella_colour); - dst->HatColour = RCT1::GetColour(src->hat_colour); - - // Balloons were always blue in RCT1 without AA/LL - if (_gameVersion == FILE_VERSION_RCT1) - { - dst->BalloonColour = COLOUR_LIGHT_BLUE; - } - else - { - dst->BalloonColour = RCT1::GetColour(src->balloon_colour); - } - dst->Happiness = src->happiness; - dst->HappinessTarget = src->happiness_target; - dst->Nausea = src->nausea; - dst->NauseaTarget = src->nausea_target; - dst->Hunger = src->hunger; - dst->Thirst = src->thirst; - dst->Toilet = src->toilet; - dst->LitterCount = src->litter_count; - dst->DisgustingCount = src->disgusting_count; - dst->Intensity = static_cast(src->intensity); - dst->NauseaTolerance = static_cast(src->nausea_tolerance); - dst->GuestTimeOnRide = src->time_on_ride; - dst->DaysInQueue = src->days_in_queue; - dst->CashInPocket = src->cash_in_pocket; - dst->CashSpent = src->cash_spent; - dst->ParkEntryTime = src->park_entry_time; - dst->GuestNumRides = src->no_of_rides; - dst->AmountOfDrinks = src->no_of_drinks; - dst->AmountOfFood = src->no_of_food; - dst->AmountOfSouvenirs = src->no_of_souvenirs; - dst->PaidToEnter = src->paid_to_enter; - dst->PaidOnRides = src->paid_on_rides; - dst->PaidOnDrink = src->paid_on_drink; - dst->PaidOnFood = src->paid_on_food; - dst->PaidOnSouvenirs = src->paid_on_souvenirs; - dst->VoucherRideId = RCT12RideIdToOpenRCT2RideId(src->voucher_arguments); - dst->VoucherType = src->voucher_type; - dst->SurroundingsThoughtTimeout = src->surroundings_thought_timeout; - dst->Angriness = src->angriness; - dst->TimeLost = src->time_lost; - - OpenRCT2::RideUse::GetHistory().Set(dst->sprite_index, RCT12GetRidesBeenOn(src)); - OpenRCT2::RideUse::GetTypeHistory().Set(dst->sprite_index, RCT12GetRideTypesBeenOn(src)); - - dst->Photo1RideRef = RCT12RideIdToOpenRCT2RideId(src->photo1_ride_ref); - - for (size_t i = 0; i < std::size(src->thoughts); i++) - { - auto srcThought = &src->thoughts[i]; - auto dstThought = &dst->Thoughts[i]; - dstThought->type = static_cast(srcThought->type); - if (srcThought->item == 255) - { - dstThought->argument = std::numeric_limits::max(); + increment_guests_heading_for_park(); } else { - dstThought->argument = srcThought->item; + increment_guests_in_park(); } - dstThought->freshness = srcThought->freshness; - dstThought->fresh_timeout = srcThought->fresh_timeout; } - dst->PreviousRide = RCT12RideIdToOpenRCT2RideId(src->previous_ride); - dst->PreviousRideTimeOut = src->previous_ride_time_out; - dst->GuestHeadingToRideId = RCT12RideIdToOpenRCT2RideId(src->guest_heading_to_ride_id); - dst->GuestIsLostCountdown = src->peep_is_lost_countdown; - dst->GuestNextInQueue = src->next_in_queue; - // Guests' favourite ride was only saved in LL. - // Set it to N/A if the save comes from the original or AA. - if (_gameVersion == FILE_VERSION_RCT1_LL) + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - dst->FavouriteRide = RCT12RideIdToOpenRCT2RideId(src->favourite_ride); - dst->FavouriteRideRating = src->favourite_ride_rating; + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportPeep(dst, src); + dst->AssignedStaffType = StaffType(src->staff_type); + dst->MechanicTimeSinceCall = src->mechanic_time_since_call; + dst->HireDate = src->park_entry_time; + dst->StaffOrders = src->staff_orders; + dst->StaffMowingTimeout = src->staff_mowing_timeout; + dst->StaffLawnsMown = src->paid_to_enter; + dst->StaffGardensWatered = src->paid_on_rides; + dst->StaffLitterSwept = src->paid_on_food; + dst->StaffBinsEmptied = src->paid_on_souvenirs; + + ImportStaffPatrolArea(dst, src->staff_id); } - else + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - dst->FavouriteRide = RIDE_ID_NULL; - dst->FavouriteRideRating = 0; + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + + dst->SubType = Litter::Type(src->type); } - dst->SetItemFlags(src->GetItemFlags()); - - if (dst->OutsideOfPark && dst->State != PeepState::LeavingPark) + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - increment_guests_heading_for_park(); + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->frame = src->frame; } - else + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - increment_guests_in_park(); + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->MoveDelay = src->move_delay; + dst->NumMovements = src->num_movements; + dst->Value = src->value; + dst->OffsetX = src->offset_x; + dst->Wiggle = src->wiggle; } -} -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportPeep(dst, src); - dst->AssignedStaffType = StaffType(src->staff_type); - dst->MechanicTimeSinceCall = src->mechanic_time_since_call; - dst->HireDate = src->park_entry_time; - dst->StaffOrders = src->staff_orders; - dst->StaffMowingTimeout = src->staff_mowing_timeout; - dst->StaffLawnsMown = src->paid_to_enter; - dst->StaffGardensWatered = src->paid_on_rides; - dst->StaffLitterSwept = src->paid_on_food; - dst->StaffBinsEmptied = src->paid_on_souvenirs; - - ImportStaffPatrolArea(dst, src->staff_id); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); - - dst->SubType = Litter::Type(src->type); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->frame = src->frame; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->MoveDelay = src->move_delay; - dst->NumMovements = src->num_movements; - dst->Value = src->value; - dst->OffsetX = src->offset_x; - dst->Wiggle = src->wiggle; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - ImportEntityCommonProperties(dst, src); -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->FountainFlags = src->fountain_flags; - dst->Iteration = src->iteration; - dst->NumTicksAlive = src->num_ticks_alive; - dst->frame = src->frame; - dst->FountainType = JumpingFountainType::Water; -} - -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - // Balloons were always blue in RCT1 without AA/LL - if (_gameVersion == FILE_VERSION_RCT1) + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - dst->colour = COLOUR_LIGHT_BLUE; + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); } - else + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - dst->colour = RCT1::GetColour(src->colour); + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); } -} -template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) -{ - auto* dst = CreateEntityAt(srcBase.sprite_index); - auto* src = static_cast(&srcBase); - - ImportEntityCommonProperties(dst, src); - dst->frame = src->frame; - dst->state = static_cast(src->state); -} - -void S4Importer::ImportEntity(const RCT12SpriteBase& src) -{ - switch (GetEntityTypeFromRCT1Sprite(src)) + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) { - case EntityType::Vehicle: - ImportEntity(src); - break; - case EntityType::Guest: - ImportEntity(src); - break; - case EntityType::Staff: - ImportEntity(src); - break; - case EntityType::SteamParticle: - ImportEntity(src); - break; - case EntityType::MoneyEffect: - ImportEntity(src); - break; - case EntityType::CrashedVehicleParticle: - ImportEntity(src); - break; - case EntityType::ExplosionCloud: - ImportEntity(src); - break; - case EntityType::ExplosionFlare: - ImportEntity(src); - break; - case EntityType::CrashSplash: - ImportEntity(src); - break; - case EntityType::JumpingFountain: - ImportEntity(src); - break; - case EntityType::Balloon: - ImportEntity(src); - break; - case EntityType::Duck: - ImportEntity(src); - break; - case EntityType::Litter: - ImportEntity(src); - break; - default: - // Null elements do not need imported - break; + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); } -} + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + ImportEntityCommonProperties(dst, src); + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->FountainFlags = src->fountain_flags; + dst->Iteration = src->iteration; + dst->NumTicksAlive = src->num_ticks_alive; + dst->frame = src->frame; + dst->FountainType = JumpingFountainType::Water; + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + // Balloons were always blue in RCT1 without AA/LL + if (_gameVersion == FILE_VERSION_RCT1) + { + dst->colour = COLOUR_LIGHT_BLUE; + } + else + { + dst->colour = RCT1::GetColour(src->colour); + } + } + + template<> void S4Importer::ImportEntity(const RCT12SpriteBase& srcBase) + { + auto* dst = CreateEntityAt(srcBase.sprite_index); + auto* src = static_cast(&srcBase); + + ImportEntityCommonProperties(dst, src); + dst->frame = src->frame; + dst->state = static_cast(src->state); + } + + void S4Importer::ImportEntity(const RCT12SpriteBase& src) + { + switch (GetEntityTypeFromRCT1Sprite(src)) + { + case EntityType::Vehicle: + ImportEntity(src); + break; + case EntityType::Guest: + ImportEntity(src); + break; + case EntityType::Staff: + ImportEntity(src); + break; + case EntityType::SteamParticle: + ImportEntity(src); + break; + case EntityType::MoneyEffect: + ImportEntity(src); + break; + case EntityType::CrashedVehicleParticle: + ImportEntity(src); + break; + case EntityType::ExplosionCloud: + ImportEntity(src); + break; + case EntityType::ExplosionFlare: + ImportEntity(src); + break; + case EntityType::CrashSplash: + ImportEntity(src); + break; + case EntityType::JumpingFountain: + ImportEntity(src); + break; + case EntityType::Balloon: + ImportEntity(src); + break; + case EntityType::Duck: + ImportEntity(src); + break; + case EntityType::Litter: + ImportEntity(src); + break; + default: + // Null elements do not need imported + break; + } + } +} // namespace RCT1 std::unique_ptr ParkImporter::CreateS4() { - return std::make_unique(); + return std::make_unique(); } void load_from_sv4(const utf8* path) { auto& objectMgr = GetContext()->GetObjectManager(); - auto s4Importer = std::make_unique(); + auto s4Importer = std::make_unique(); auto result = s4Importer->LoadSavedGame(path); objectMgr.LoadObjects(result.RequiredObjects); s4Importer->Import(); @@ -3103,7 +3110,7 @@ void load_from_sv4(const utf8* path) void load_from_sc4(const utf8* path) { auto& objectMgr = GetContext()->GetObjectManager(); - auto s4Importer = std::make_unique(); + auto s4Importer = std::make_unique(); auto result = s4Importer->LoadScenario(path); objectMgr.LoadObjects(result.RequiredObjects); s4Importer->Import(); diff --git a/src/openrct2/rct1/T4Importer.cpp b/src/openrct2/rct1/T4Importer.cpp index 31a19d0d34..f72884f59d 100644 --- a/src/openrct2/rct1/T4Importer.cpp +++ b/src/openrct2/rct1/T4Importer.cpp @@ -22,271 +22,275 @@ #include "../ride/TrackDesign.h" #include "../ride/TrackDesignRepository.h" -/** - * Class to import RollerCoaster Tycoon 1 track designs (*.TD4). - */ -class TD4Importer final : public ITrackImporter +namespace RCT1 { -private: - OpenRCT2::MemoryStream _stream; - std::string _name; - -public: - TD4Importer() + /** + * Class to import RollerCoaster Tycoon 1 track designs (*.TD4). + */ + class TD4Importer final : public ITrackImporter { - } + private: + OpenRCT2::MemoryStream _stream; + std::string _name; - bool Load(const utf8* path) override - { - const utf8* extension = Path::GetExtension(path); - if (String::Equals(extension, ".td4", true)) + public: + TD4Importer() { - _name = GetNameFromTrackPath(path); - auto fs = OpenRCT2::FileStream(path, OpenRCT2::FILE_MODE_OPEN); - return LoadFromStream(&fs); - } - else - { - throw std::runtime_error("Invalid RCT1 track extension."); - } - } - - bool LoadFromStream(OpenRCT2::IStream* stream) override - { - auto checksumType = SawyerEncoding::ValidateTrackChecksum(stream); - if (!gConfigGeneral.allow_loading_with_incorrect_checksum && checksumType == RCT12TrackDesignVersion::unknown) - { - throw IOException("Invalid checksum."); } - auto chunkReader = SawyerChunkReader(stream); - auto data = chunkReader.ReadChunkTrack(); - _stream.WriteArray(reinterpret_cast(data->GetData()), data->GetLength()); - _stream.SetPosition(0); - return true; - } - - std::unique_ptr Import() override - { - std::unique_ptr td = std::make_unique(); - - _stream.SetPosition(7); - RCT12TrackDesignVersion version = static_cast(_stream.ReadValue() >> 2); - - if (version != RCT12TrackDesignVersion::TD4 && version != RCT12TrackDesignVersion::TD4_AA) + bool Load(const utf8* path) override { - throw IOException("Version number incorrect."); - } - _stream.SetPosition(0); - - if (version == RCT12TrackDesignVersion::TD4_AA) - { - return ImportAA(); - } - else - { - return ImportTD4(); - } - } - -private: - std::unique_ptr ImportAA() - { - std::unique_ptr td = std::make_unique(); - rct_track_td4_aa td4aa{}; - _stream.Read(&td4aa, sizeof(rct_track_td4_aa)); - - for (int32_t i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) - { - td->track_spine_colour[i] = RCT1::GetColour(td4aa.track_spine_colour[i]); - td->track_rail_colour[i] = RCT1::GetColour(td4aa.track_rail_colour[i]); - td->track_support_colour[i] = RCT1::GetColour(td4aa.track_support_colour[i]); - } - - td->flags2 = td4aa.flags2; - - return ImportTD4Base(std::move(td), td4aa); - } - - std::unique_ptr ImportTD4() - { - std::unique_ptr td = std::make_unique(); - rct_track_td4 td4{}; - _stream.Read(&td4, sizeof(rct_track_td4)); - for (int32_t i = 0; i < NUM_COLOUR_SCHEMES; i++) - { - td->track_spine_colour[i] = RCT1::GetColour(td4.track_spine_colour_v0); - td->track_rail_colour[i] = RCT1::GetColour(td4.track_rail_colour_v0); - td->track_support_colour[i] = RCT1::GetColour(td4.track_support_colour_v0); - - // Mazes were only hedges - switch (td4.type) + const utf8* extension = Path::GetExtension(path); + if (String::Equals(extension, ".td4", true)) { - case RCT1_RIDE_TYPE_HEDGE_MAZE: - td->track_support_colour[i] = MAZE_WALL_TYPE_HEDGE; - break; - case RCT1_RIDE_TYPE_RIVER_RAPIDS: - td->track_spine_colour[i] = COLOUR_WHITE; - td->track_rail_colour[i] = COLOUR_WHITE; - break; - } - } - td->flags2 = 0; - return ImportTD4Base(std::move(td), td4); - } - - std::unique_ptr ImportTD4Base(std::unique_ptr td, rct_track_td4& td4Base) - { - td->type = RCT1::GetRideType(td4Base.type, td4Base.vehicle_type); - - // All TD4s that use powered launch use the type that doesn't pass the station. - td->ride_mode = static_cast(td4Base.mode); - if (td4Base.mode == RCT1_RIDE_MODE_POWERED_LAUNCH) - { - td->ride_mode = RideMode::PoweredLaunch; - } - - // Convert RCT1 vehicle type to RCT2 vehicle type. Initialise with a string consisting of 8 spaces. - std::string_view vehicleObject; - if (td4Base.type == RIDE_TYPE_MAZE) - { - vehicleObject = RCT1::GetRideTypeObject(td4Base.type); - } - else - { - vehicleObject = RCT1::GetVehicleObject(td4Base.vehicle_type); - } - assert(!vehicleObject.empty()); - td->vehicle_object = ObjectEntryDescriptor(vehicleObject); - td->vehicle_type = td4Base.vehicle_type; - - td->flags = td4Base.flags; - td->colour_scheme = td4Base.version_and_colour_scheme & 0x3; - - // Vehicle colours - for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) - { - // RCT1 had no third colour - RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( - td4Base.vehicle_type); - if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) - { - td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); - } - else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) - { - td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + _name = GetNameFromTrackPath(path); + auto fs = OpenRCT2::FileStream(path, OpenRCT2::FILE_MODE_OPEN); + return LoadFromStream(&fs); } else { - td->vehicle_colours[i].body_colour = colourSchemeCopyDescriptor.colour1; + throw std::runtime_error("Invalid RCT1 track extension."); + } + } + + bool LoadFromStream(OpenRCT2::IStream* stream) override + { + auto checksumType = SawyerEncoding::ValidateTrackChecksum(stream); + if (!gConfigGeneral.allow_loading_with_incorrect_checksum && checksumType == RCT12TrackDesignVersion::unknown) + { + throw IOException("Invalid checksum."); } - if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + auto chunkReader = SawyerChunkReader(stream); + auto data = chunkReader.ReadChunkTrack(); + _stream.WriteArray(reinterpret_cast(data->GetData()), data->GetLength()); + _stream.SetPosition(0); + return true; + } + + std::unique_ptr Import() override + { + std::unique_ptr td = std::make_unique(); + + _stream.SetPosition(7); + RCT12TrackDesignVersion version = static_cast(_stream.ReadValue() >> 2); + + if (version != RCT12TrackDesignVersion::TD4 && version != RCT12TrackDesignVersion::TD4_AA) { - td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + throw IOException("Version number incorrect."); } - else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + _stream.SetPosition(0); + + if (version == RCT12TrackDesignVersion::TD4_AA) { - td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + return ImportAA(); } else { - td->vehicle_colours[i].trim_colour = colourSchemeCopyDescriptor.colour2; - } - - if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) - { - td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); - } - else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) - { - td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); - } - else - { - td->vehicle_additional_colour[i] = colourSchemeCopyDescriptor.colour3; + return ImportTD4(); } } - // Set remaining vehicles to same colour as first vehicle - for (size_t i = RCT1_MAX_TRAINS_PER_RIDE; i < std::size(td->vehicle_colours); i++) - { - td->vehicle_colours[i] = td->vehicle_colours[0]; - td->vehicle_additional_colour[i] = td->vehicle_additional_colour[0]; - } - td->depart_flags = td4Base.depart_flags; - td->number_of_trains = td4Base.number_of_trains; - td->number_of_cars_per_train = td4Base.number_of_cars_per_train; - td->min_waiting_time = td4Base.min_waiting_time; - td->max_waiting_time = td4Base.max_waiting_time; - td->operation_setting = std::min(td4Base.operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); - td->max_speed = td4Base.max_speed; - td->average_speed = td4Base.average_speed; - td->ride_length = td4Base.ride_length; - td->max_positive_vertical_g = td4Base.max_positive_vertical_g; - td->max_negative_vertical_g = td4Base.max_negative_vertical_g; - td->max_lateral_g = td4Base.max_lateral_g; - - if (td->type == RIDE_TYPE_MINI_GOLF) + private: + std::unique_ptr ImportAA() { - td->holes = td4Base.num_holes; - } - else - { - td->inversions = td4Base.num_inversions; - } + std::unique_ptr td = std::make_unique(); + rct_track_td4_aa td4aa{}; + _stream.Read(&td4aa, sizeof(rct_track_td4_aa)); - td->drops = td4Base.num_drops; - td->highest_drop_height = td4Base.highest_drop_height / 2; - td->excitement = td4Base.excitement; - td->intensity = td4Base.intensity; - td->nausea = td4Base.nausea; - td->upkeep_cost = td4Base.upkeep_cost; - td->space_required_x = 255; - td->space_required_y = 255; - td->lift_hill_speed = 5; - td->num_circuits = 0; - td->operation_setting = std::min(td->operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); - - if (td->type == RIDE_TYPE_MAZE) - { - rct_td46_maze_element t4MazeElement{}; - t4MazeElement.all = !0; - while (t4MazeElement.all != 0) + for (int32_t i = 0; i < RCT12_NUM_COLOUR_SCHEMES; i++) { - _stream.Read(&t4MazeElement, sizeof(rct_td46_maze_element)); - if (t4MazeElement.all != 0) + td->track_spine_colour[i] = RCT1::GetColour(td4aa.track_spine_colour[i]); + td->track_rail_colour[i] = RCT1::GetColour(td4aa.track_rail_colour[i]); + td->track_support_colour[i] = RCT1::GetColour(td4aa.track_support_colour[i]); + } + + td->flags2 = td4aa.flags2; + + return ImportTD4Base(std::move(td), td4aa); + } + + std::unique_ptr ImportTD4() + { + std::unique_ptr td = std::make_unique(); + rct_track_td4 td4{}; + _stream.Read(&td4, sizeof(rct_track_td4)); + for (int32_t i = 0; i < NUM_COLOUR_SCHEMES; i++) + { + td->track_spine_colour[i] = RCT1::GetColour(td4.track_spine_colour_v0); + td->track_rail_colour[i] = RCT1::GetColour(td4.track_rail_colour_v0); + td->track_support_colour[i] = RCT1::GetColour(td4.track_support_colour_v0); + + // Mazes were only hedges + switch (td4.type) { - TrackDesignMazeElement mazeElement{}; - mazeElement.x = t4MazeElement.x; - mazeElement.y = t4MazeElement.y; - mazeElement.direction = t4MazeElement.direction; - mazeElement.type = t4MazeElement.type; - td->maze_elements.push_back(mazeElement); + case RCT1_RIDE_TYPE_HEDGE_MAZE: + td->track_support_colour[i] = MAZE_WALL_TYPE_HEDGE; + break; + case RCT1_RIDE_TYPE_RIVER_RAPIDS: + td->track_spine_colour[i] = COLOUR_WHITE; + td->track_rail_colour[i] = COLOUR_WHITE; + break; } } - } - else - { - rct_td46_track_element t4TrackElement{}; - for (uint8_t endFlag = _stream.ReadValue(); endFlag != 0xFF; endFlag = _stream.ReadValue()) - { - _stream.SetPosition(_stream.GetPosition() - 1); - _stream.Read(&t4TrackElement, sizeof(rct_td46_track_element)); - TrackDesignTrackElement trackElement{}; - trackElement.type = RCT1TrackTypeToOpenRCT2(t4TrackElement.type, td->type); - trackElement.flags = t4TrackElement.flags; - td->track_elements.push_back(trackElement); - } + td->flags2 = 0; + return ImportTD4Base(std::move(td), td4); } - td->name = _name; - return td; - } -}; + std::unique_ptr ImportTD4Base(std::unique_ptr td, rct_track_td4& td4Base) + { + td->type = RCT1::GetRideType(td4Base.type, td4Base.vehicle_type); + + // All TD4s that use powered launch use the type that doesn't pass the station. + td->ride_mode = static_cast(td4Base.mode); + if (td4Base.mode == RCT1_RIDE_MODE_POWERED_LAUNCH) + { + td->ride_mode = RideMode::PoweredLaunch; + } + + // Convert RCT1 vehicle type to RCT2 vehicle type. Initialise with a string consisting of 8 spaces. + std::string_view vehicleObject; + if (td4Base.type == RIDE_TYPE_MAZE) + { + vehicleObject = RCT1::GetRideTypeObject(td4Base.type); + } + else + { + vehicleObject = RCT1::GetVehicleObject(td4Base.vehicle_type); + } + assert(!vehicleObject.empty()); + td->vehicle_object = ObjectEntryDescriptor(vehicleObject); + td->vehicle_type = td4Base.vehicle_type; + + td->flags = td4Base.flags; + td->colour_scheme = td4Base.version_and_colour_scheme & 0x3; + + // Vehicle colours + for (int32_t i = 0; i < RCT1_MAX_TRAINS_PER_RIDE; i++) + { + // RCT1 had no third colour + RCT1::RCT1VehicleColourSchemeCopyDescriptor colourSchemeCopyDescriptor = RCT1::GetColourSchemeCopyDescriptor( + td4Base.vehicle_type); + if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_1) + { + td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + } + else if (colourSchemeCopyDescriptor.colour1 == COPY_COLOUR_2) + { + td->vehicle_colours[i].body_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + } + else + { + td->vehicle_colours[i].body_colour = colourSchemeCopyDescriptor.colour1; + } + + if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_1) + { + td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + } + else if (colourSchemeCopyDescriptor.colour2 == COPY_COLOUR_2) + { + td->vehicle_colours[i].trim_colour = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + } + else + { + td->vehicle_colours[i].trim_colour = colourSchemeCopyDescriptor.colour2; + } + + if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_1) + { + td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].body_colour); + } + else if (colourSchemeCopyDescriptor.colour3 == COPY_COLOUR_2) + { + td->vehicle_additional_colour[i] = RCT1::GetColour(td4Base.vehicle_colours[i].trim_colour); + } + else + { + td->vehicle_additional_colour[i] = colourSchemeCopyDescriptor.colour3; + } + } + // Set remaining vehicles to same colour as first vehicle + for (size_t i = RCT1_MAX_TRAINS_PER_RIDE; i < std::size(td->vehicle_colours); i++) + { + td->vehicle_colours[i] = td->vehicle_colours[0]; + td->vehicle_additional_colour[i] = td->vehicle_additional_colour[0]; + } + + td->depart_flags = td4Base.depart_flags; + td->number_of_trains = td4Base.number_of_trains; + td->number_of_cars_per_train = td4Base.number_of_cars_per_train; + td->min_waiting_time = td4Base.min_waiting_time; + td->max_waiting_time = td4Base.max_waiting_time; + td->operation_setting = std::min( + td4Base.operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); + td->max_speed = td4Base.max_speed; + td->average_speed = td4Base.average_speed; + td->ride_length = td4Base.ride_length; + td->max_positive_vertical_g = td4Base.max_positive_vertical_g; + td->max_negative_vertical_g = td4Base.max_negative_vertical_g; + td->max_lateral_g = td4Base.max_lateral_g; + + if (td->type == RIDE_TYPE_MINI_GOLF) + { + td->holes = td4Base.num_holes; + } + else + { + td->inversions = td4Base.num_inversions; + } + + td->drops = td4Base.num_drops; + td->highest_drop_height = td4Base.highest_drop_height / 2; + td->excitement = td4Base.excitement; + td->intensity = td4Base.intensity; + td->nausea = td4Base.nausea; + td->upkeep_cost = td4Base.upkeep_cost; + td->space_required_x = 255; + td->space_required_y = 255; + td->lift_hill_speed = 5; + td->num_circuits = 0; + td->operation_setting = std::min(td->operation_setting, GetRideTypeDescriptor(td->type).OperatingSettings.MaxValue); + + if (td->type == RIDE_TYPE_MAZE) + { + rct_td46_maze_element t4MazeElement{}; + t4MazeElement.all = !0; + while (t4MazeElement.all != 0) + { + _stream.Read(&t4MazeElement, sizeof(rct_td46_maze_element)); + if (t4MazeElement.all != 0) + { + TrackDesignMazeElement mazeElement{}; + mazeElement.x = t4MazeElement.x; + mazeElement.y = t4MazeElement.y; + mazeElement.direction = t4MazeElement.direction; + mazeElement.type = t4MazeElement.type; + td->maze_elements.push_back(mazeElement); + } + } + } + else + { + rct_td46_track_element t4TrackElement{}; + for (uint8_t endFlag = _stream.ReadValue(); endFlag != 0xFF; endFlag = _stream.ReadValue()) + { + _stream.SetPosition(_stream.GetPosition() - 1); + _stream.Read(&t4TrackElement, sizeof(rct_td46_track_element)); + TrackDesignTrackElement trackElement{}; + trackElement.type = RCT1TrackTypeToOpenRCT2(t4TrackElement.type, td->type); + trackElement.flags = t4TrackElement.flags; + td->track_elements.push_back(trackElement); + } + } + + td->name = _name; + return td; + } + }; +} // namespace RCT1 std::unique_ptr TrackImporter::CreateTD4() { - return std::make_unique(); + return std::make_unique(); } diff --git a/src/openrct2/rct1/Tables.cpp b/src/openrct2/rct1/Tables.cpp index aadc509ac7..78c99645c2 100644 --- a/src/openrct2/rct1/Tables.cpp +++ b/src/openrct2/rct1/Tables.cpp @@ -1396,13 +1396,13 @@ namespace RCT1 }; return map[sceneryType]; } + // clang-format on + + track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType) + { + if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_FLAT_RIDE)) + return RCT12FlatTrackTypeToOpenRCT2(origTrackType); + + return origTrackType; + } } // namespace RCT1 - -track_type_t RCT1TrackTypeToOpenRCT2(RCT12TrackType origTrackType, uint8_t rideType) -{ - if (GetRideTypeDescriptor(rideType).HasFlag(RIDE_TYPE_FLAG_FLAT_RIDE)) - return RCT12FlatTrackTypeToOpenRCT2(origTrackType); - - return origTrackType; -} -// clang-format on diff --git a/src/openrct2/rct12/SawyerChunkReader.cpp b/src/openrct2/rct12/SawyerChunkReader.cpp index cf03dfdc5b..3ce28fadff 100644 --- a/src/openrct2/rct12/SawyerChunkReader.cpp +++ b/src/openrct2/rct12/SawyerChunkReader.cpp @@ -27,9 +27,8 @@ constexpr const char* EXCEPTION_MSG_DESTINATION_TOO_SMALL = "Chunk data larger t constexpr const char* EXCEPTION_MSG_INVALID_CHUNK_ENCODING = "Invalid chunk encoding."; constexpr const char* EXCEPTION_MSG_ZERO_SIZED_CHUNK = "Encountered zero-sized chunk."; -SawyerChunkReader::SawyerChunkReader(OpenRCT2::IStream* stream, bool persistentChunks) +SawyerChunkReader::SawyerChunkReader(OpenRCT2::IStream* stream) : _stream(stream) - , _createsPersistentChunks(persistentChunks) { } @@ -65,7 +64,7 @@ std::shared_ptr SawyerChunkReader::ReadChunk() case CHUNK_ENCODING_RLECOMPRESSED: case CHUNK_ENCODING_ROTATE: { - std::unique_ptr compressedData(new uint8_t[header.length]); + auto compressedData = std::make_unique(header.length); if (_stream->TryRead(compressedData.get(), header.length) != header.length) { throw SawyerChunkException(EXCEPTION_MSG_CORRUPT_CHUNK_SIZE); @@ -79,10 +78,6 @@ std::shared_ptr SawyerChunkReader::ReadChunk() { throw SawyerChunkException(EXCEPTION_MSG_ZERO_SIZED_CHUNK); } - if (_createsPersistentChunks) - { - buffer = static_cast(FinaliseLargeTempBuffer(buffer, uncompressedLength)); - } return std::make_shared( static_cast(header.encoding), buffer, uncompressedLength); } @@ -130,10 +125,6 @@ std::shared_ptr SawyerChunkReader::ReadChunkTrack() { throw SawyerChunkException(EXCEPTION_MSG_ZERO_SIZED_CHUNK); } - if (_createsPersistentChunks) - { - buffer = static_cast(FinaliseLargeTempBuffer(buffer, uncompressedLength)); - } return std::make_shared(SAWYER_ENCODING::RLE, buffer, uncompressedLength); } catch (const std::exception&) @@ -324,20 +315,6 @@ void* SawyerChunkReader::AllocateLargeTempBuffer() return buffer; } -void* SawyerChunkReader::FinaliseLargeTempBuffer(void* buffer, size_t len) -{ -#ifdef __USE_HEAP_ALLOC__ - auto finalBuffer = HeapReAlloc(GetProcessHeap(), 0, buffer, len); -#else - auto finalBuffer = static_cast(std::realloc(buffer, len)); -#endif - if (finalBuffer == nullptr) - { - throw std::runtime_error("Unable to allocate final buffer."); - } - return finalBuffer; -} - void SawyerChunkReader::FreeLargeTempBuffer(void* buffer) { #ifdef __USE_HEAP_ALLOC__ diff --git a/src/openrct2/rct12/SawyerChunkReader.h b/src/openrct2/rct12/SawyerChunkReader.h index 0873c8b845..79b9fd8b17 100644 --- a/src/openrct2/rct12/SawyerChunkReader.h +++ b/src/openrct2/rct12/SawyerChunkReader.h @@ -43,10 +43,9 @@ class SawyerChunkReader final { private: OpenRCT2::IStream* const _stream = nullptr; - const bool _createsPersistentChunks = false; public: - explicit SawyerChunkReader(OpenRCT2::IStream* stream, bool persistentChunks = false); + explicit SawyerChunkReader(OpenRCT2::IStream* stream); /** * Skips the next chunk in the stream without decoding or reading its data @@ -57,12 +56,12 @@ public: /** * Reads the next chunk from the stream. */ - std::shared_ptr ReadChunk(); + [[nodiscard]] std::shared_ptr ReadChunk(); /** * As above but for chunks without a header */ - std::shared_ptr ReadChunkTrack(); + [[nodiscard]] std::shared_ptr ReadChunkTrack(); /** * Reads the next chunk from the stream and copies it directly to the @@ -99,6 +98,5 @@ private: static size_t DecodeChunkRotate(void* dst, size_t dstCapacity, const void* src, size_t srcLength); static void* AllocateLargeTempBuffer(); - static void* FinaliseLargeTempBuffer(void* buffer, size_t len); static void FreeLargeTempBuffer(void* buffer); }; diff --git a/src/openrct2/rct2/RCT2.h b/src/openrct2/rct2/RCT2.h index 8df970eb53..9eed039d9b 100644 --- a/src/openrct2/rct2/RCT2.h +++ b/src/openrct2/rct2/RCT2.h @@ -538,7 +538,7 @@ struct RCT2SpriteVehicle : RCT12SpriteBase }; uint8_t animation_frame; // 0xC5 uint8_t pad_C6[0x2]; - uint16_t var_C8; + uint16_t animationState; uint16_t var_CA; uint8_t scream_sound_id; // 0xCC uint8_t TrackSubposition; diff --git a/src/openrct2/rct2/S6Importer.cpp b/src/openrct2/rct2/S6Importer.cpp index ad4b5348f8..30a1fbcdef 100644 --- a/src/openrct2/rct2/S6Importer.cpp +++ b/src/openrct2/rct2/S6Importer.cpp @@ -1402,7 +1402,7 @@ public: return pos.x == 0xFF && pos.y == 0xFF && pos.z == 0xFF && pos.direction == INVALID_DIRECTION; }; - ImportEntityCommonProperties(static_cast(dst), src); + ImportEntityCommonProperties(static_cast(dst), src); if (is_user_string_id(src->name_string_idx)) { dst->SetName(GetUserString(src->name_string_idx)); @@ -1527,7 +1527,7 @@ public: return output; } - void ImportEntityCommonProperties(SpriteBase* dst, const RCT12SpriteBase* src) + void ImportEntityCommonProperties(EntityBase* dst, const RCT12SpriteBase* src) { dst->Type = GetEntityTypeFromRCT2Sprite(src); dst->sprite_height_negative = src->sprite_height_negative; @@ -1745,7 +1745,7 @@ template<> void S6Importer::ImportEntity(const RCT12SpriteBase& baseSrc dst->powered_acceleration = src->powered_acceleration; dst->dodgems_collision_direction = src->dodgems_collision_direction; dst->animation_frame = src->animation_frame; - dst->var_C8 = src->var_C8; + dst->animationState = src->animationState; dst->var_CA = src->var_CA; dst->scream_sound_id = static_cast(src->scream_sound_id); dst->TrackSubposition = VehicleTrackSubposition{ src->TrackSubposition }; @@ -1754,7 +1754,7 @@ template<> void S6Importer::ImportEntity(const RCT12SpriteBase& baseSrc dst->lost_time_out = src->lost_time_out; dst->vertical_drop_countdown = src->vertical_drop_countdown; dst->var_D3 = src->var_D3; - dst->mini_golf_current_animation = src->mini_golf_current_animation; + dst->mini_golf_current_animation = MiniGolfAnimation(src->mini_golf_current_animation); dst->mini_golf_flags = src->mini_golf_flags; dst->ride_subtype = RCTEntryIndexToOpenRCT2EntryIndex(src->ride_subtype); dst->colours_extended = src->colours_extended; diff --git a/src/openrct2/ride/CableLift.cpp b/src/openrct2/ride/CableLift.cpp index 913f395a80..3432ed6b92 100644 --- a/src/openrct2/ride/CableLift.cpp +++ b/src/openrct2/ride/CableLift.cpp @@ -54,7 +54,7 @@ Vehicle* cable_lift_segment_create( current->sound2_id = OpenRCT2::Audio::SoundId::Null; current->var_C4 = 0; current->animation_frame = 0; - current->var_C8 = 0; + current->animationState = 0; current->var_CA = 0; current->scream_sound_id = OpenRCT2::Audio::SoundId::Null; current->Pitch = 0; diff --git a/src/openrct2/ride/CableLift.h b/src/openrct2/ride/CableLift.h index 2c1ec083bd..7660f052af 100644 --- a/src/openrct2/ride/CableLift.h +++ b/src/openrct2/ride/CableLift.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _CABLE_LIFT_H_ -#define _CABLE_LIFT_H_ +#pragma once #include "../common.h" #include "Ride.h" @@ -17,5 +16,3 @@ struct Vehicle; Vehicle* cable_lift_segment_create( Ride& ride, int32_t x, int32_t y, int32_t z, int32_t direction, uint16_t var_44, int32_t remaining_distance, bool head); - -#endif diff --git a/src/openrct2/ride/Ride.cpp b/src/openrct2/ride/Ride.cpp index 67daaa1393..0ed3a05e20 100644 --- a/src/openrct2/ride/Ride.cpp +++ b/src/openrct2/ride/Ride.cpp @@ -3063,7 +3063,7 @@ static Vehicle* vehicle_create_car( vehicle->next_vehicle_on_train = SPRITE_INDEX_NULL; vehicle->var_C4 = 0; vehicle->animation_frame = 0; - vehicle->var_C8 = 0; + vehicle->animationState = 0; vehicle->scream_sound_id = OpenRCT2::Audio::SoundId::Null; vehicle->Pitch = 0; vehicle->bank_rotation = 0; @@ -3129,7 +3129,7 @@ static Vehicle* vehicle_create_car( { subposition = VehicleTrackSubposition::MiniGolfStart9; vehicle->var_D3 = 0; - vehicle->mini_golf_current_animation = 0; + vehicle->mini_golf_current_animation = MiniGolfAnimation::Walk; vehicle->mini_golf_flags = 0; } if (vehicleEntry->flags & VEHICLE_ENTRY_FLAG_REVERSER_BOGIE) diff --git a/src/openrct2/ride/Ride.h b/src/openrct2/ride/Ride.h index 74ddf43a0a..b7365b1130 100644 --- a/src/openrct2/ride/Ride.h +++ b/src/openrct2/ride/Ride.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _RIDE_H_ -#define _RIDE_H_ +#pragma once #include "../common.h" #include "../localisation/Formatter.h" @@ -452,7 +451,7 @@ public: static void UpdateAll(); static bool NameExists(std::string_view name, ride_id_t excludeRideId = RIDE_ID_NULL); - std::unique_ptr SaveToTrackDesign() const; + [[nodiscard]] std::unique_ptr SaveToTrackDesign() const; uint64_t GetAvailableModes() const; const RideTypeDescriptor& GetRideTypeDescriptor() const; @@ -1260,5 +1259,3 @@ void ride_clear_leftover_entrances(Ride* ride); std::vector GetTracklessRides(); void ride_remove_vehicles(Ride* ride); - -#endif diff --git a/src/openrct2/ride/RideData.h b/src/openrct2/ride/RideData.h index dcec0ddec3..76e92a533e 100644 --- a/src/openrct2/ride/RideData.h +++ b/src/openrct2/ride/RideData.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _RIDE_DATA_H_ -#define _RIDE_DATA_H_ +#pragma once #define TRACK_COLOUR_PRESETS(...) \ { \ @@ -379,5 +378,3 @@ constexpr bool RideTypeIsValid(ObjectEntryIndex rideType) { return rideType < std::size(RideTypeDescriptors); } - -#endif diff --git a/src/openrct2/ride/TrackDesign.h b/src/openrct2/ride/TrackDesign.h index 3984e72a58..6ef6ceadf0 100644 --- a/src/openrct2/ride/TrackDesign.h +++ b/src/openrct2/ride/TrackDesign.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _TRACK_DESIGN_H_ -#define _TRACK_DESIGN_H_ +#pragma once #include "../common.h" #include "../object/Object.h" @@ -204,7 +203,7 @@ extern bool _trackDesignPlaceStateSceneryUnavailable; extern bool gTrackDesignSaveMode; extern ride_id_t gTrackDesignSaveRideIndex; -std::unique_ptr track_design_open(const utf8* path); +[[nodiscard]] std::unique_ptr track_design_open(const utf8* path); void track_design_mirror(TrackDesign* td6); @@ -229,5 +228,3 @@ bool track_design_are_entrance_and_exit_placed(); extern std::vector _trackSavedTileElementsDesc; extern std::vector _trackSavedTileElements; - -#endif diff --git a/src/openrct2/ride/TrackDesignRepository.h b/src/openrct2/ride/TrackDesignRepository.h index 8e9c1f4085..aeefb83c52 100644 --- a/src/openrct2/ride/TrackDesignRepository.h +++ b/src/openrct2/ride/TrackDesignRepository.h @@ -31,9 +31,9 @@ struct ITrackDesignRepository { virtual ~ITrackDesignRepository() = default; - virtual size_t GetCount() const abstract; - virtual size_t GetCountForObjectEntry(uint8_t rideType, const std::string& entry) const abstract; - virtual std::vector GetItemsForObjectEntry( + [[nodiscard]] virtual size_t GetCount() const abstract; + [[nodiscard]] virtual size_t GetCountForObjectEntry(uint8_t rideType, const std::string& entry) const abstract; + [[nodiscard]] virtual std::vector GetItemsForObjectEntry( uint8_t rideType, const std::string& entry) const abstract; virtual void Scan(int32_t language) abstract; @@ -42,8 +42,9 @@ struct ITrackDesignRepository virtual std::string Install(const std::string& path, const std::string& name) abstract; }; -std::unique_ptr CreateTrackDesignRepository(const std::shared_ptr& env); -std::string GetNameFromTrackPath(const std::string& path); +[[nodiscard]] std::unique_ptr CreateTrackDesignRepository( + const std::shared_ptr& env); +[[nodiscard]] std::string GetNameFromTrackPath(const std::string& path); void track_repository_scan(); bool track_repository_delete(const utf8* path); diff --git a/src/openrct2/ride/TrackPaint.cpp b/src/openrct2/ride/TrackPaint.cpp index 773ea75ecd..b3e25f1e7e 100644 --- a/src/openrct2/ride/TrackPaint.cpp +++ b/src/openrct2/ride/TrackPaint.cpp @@ -830,9 +830,7 @@ bool track_paint_util_draw_station_covers_2( if (baseImageId & IMAGE_TYPE_TRANSPARENT) { imageId = (baseImageId & ~IMAGE_TYPE_TRANSPARENT) + imageOffset; - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); uint32_t edi = session->TrackColours[SCHEME_TRACK] & (0b11111 << 19); @@ -845,9 +843,7 @@ bool track_paint_util_draw_station_covers_2( } imageId = (baseImageId + imageOffset) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, - static_cast(bounds.z), offset.z, boundsOffset.x, boundsOffset.y, boundsOffset.z); + PaintAddImageAsParent(session, imageId, offset, bounds, boundsOffset); return true; } @@ -1037,8 +1033,8 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][0]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { offset, height }, { boundsLength, thickness[0] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } if (sprites[direction][index][1] != 0) { @@ -1047,9 +1043,7 @@ void track_paint_util_right_helix_up_small_quarter_tiles_paint( CoordsXY boundsLength = boundsLengths[direction][index][1]; CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][1]); - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + PaintAddImageAsParent(session, imageId, { offset, height }, { boundsLength, thickness[1] }, boundsOffset); } } @@ -1135,8 +1129,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][0]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[0], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { offset, height }, { boundsLength, thickness[0] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } if (sprites[direction][index][1] != 0) { @@ -1146,8 +1140,8 @@ void track_paint_util_right_helix_up_large_quarter_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index][1]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[1], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { offset, height }, { boundsLength, thickness[1] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } } @@ -1306,8 +1300,8 @@ void track_paint_util_eighth_to_diag_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness[direction][index], height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { offset.x, offset.y, height }, { boundsLength.x, boundsLength.y, thickness[direction][index] }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } constexpr CoordsXY defaultDiagTileOffsets[4] = { @@ -1347,8 +1341,8 @@ void track_paint_util_diag_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { offset, height }, { boundsLength, thickness }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } const uint8_t mapLeftQuarterTurn5TilesToRightQuarterTurn5Tiles[] = { @@ -1469,8 +1463,8 @@ void track_paint_util_right_quarter_turn_5_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { static_cast(offset.x), static_cast(offset.y), height }, + { boundsLength.x, boundsLength.y, thickness }, { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } void track_paint_util_right_quarter_turn_5_tiles_paint_2( @@ -1484,11 +1478,12 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_2( } const sprite_bb* spriteBB = &sprites[direction][sprite]; - uint32_t imageId = spriteBB->sprite_id | colourFlags; + const uint32_t imageId = spriteBB->sprite_id | colourFlags; + const auto& offset = spriteBB->offset; + const auto& bbOffset = spriteBB->offset; PaintAddImageAsParent( - session, imageId, static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->bb_size.x, - spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z), height + spriteBB->offset.z, spriteBB->bb_offset.x, - spriteBB->bb_offset.y, height + spriteBB->bb_offset.z); + session, imageId, { offset.x, offset.y, height + offset.z }, spriteBB->bb_size, + { bbOffset.x, bbOffset.y, height + bbOffset.z }); } void track_paint_util_right_quarter_turn_5_tiles_paint_3( @@ -1502,10 +1497,9 @@ void track_paint_util_right_quarter_turn_5_tiles_paint_3( } const sprite_bb* spriteBB = &sprites[direction][sprite]; - uint32_t imageId = spriteBB->sprite_id | colourFlags; - PaintAddImageAsParent( - session, imageId, static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->bb_size.x, - spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z), height + spriteBB->offset.z); + const uint32_t imageId = spriteBB->sprite_id | colourFlags; + const auto& offset = spriteBB->offset; + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height + offset.z }, spriteBB->bb_size); } void track_paint_util_right_quarter_turn_5_tiles_tunnel( @@ -1541,7 +1535,7 @@ void track_paint_util_right_quarter_turn_5_tiles_wooden_supports( { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, }; uint8_t supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } } @@ -1645,8 +1639,8 @@ void track_paint_util_right_quarter_turn_3_tiles_paint( CoordsXYZ boundsOffset = (boundsOffsets == nullptr ? CoordsXYZ(offset, 0) : boundsOffsets[direction][index]); PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, - thickness, height, boundsOffset.x, boundsOffset.y, height + boundsOffset.z); + session, imageId, { offset, height }, { boundsLength.x, boundsLength.y, thickness }, + { boundsOffset.x, boundsOffset.y, height + boundsOffset.z }); } void track_paint_util_right_quarter_turn_3_tiles_paint_2( @@ -1755,11 +1749,11 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_3( return; } const sprite_bb* spriteBB = &sprites[direction][sprite]; + const auto& offset = spriteBB->offset; + const auto& bbOffset = spriteBB->bb_offset; PaintAddImageAsParent( - session, spriteBB->sprite_id | colourFlags, static_cast(spriteBB->offset.x), - static_cast(spriteBB->offset.y), spriteBB->bb_size.x, spriteBB->bb_size.y, - static_cast(spriteBB->bb_size.z), spriteBB->offset.z + height, spriteBB->bb_offset.x, spriteBB->bb_offset.y, - height + spriteBB->bb_offset.z); + session, spriteBB->sprite_id | colourFlags, { offset.x, offset.y, offset.z + height }, spriteBB->bb_size, + { bbOffset.x, bbOffset.y, height + bbOffset.z }); } void track_paint_util_right_quarter_turn_3_tiles_paint_4( @@ -1773,10 +1767,9 @@ void track_paint_util_right_quarter_turn_3_tiles_paint_4( } const sprite_bb* spriteBB = &sprites[direction][sprite]; - uint32_t imageId = spriteBB->sprite_id | colourFlags; - PaintAddImageAsParent( - session, imageId, static_cast(spriteBB->offset.x), static_cast(spriteBB->offset.y), spriteBB->bb_size.x, - spriteBB->bb_size.y, static_cast(spriteBB->bb_size.z), height + spriteBB->offset.z); + const uint32_t imageId = spriteBB->sprite_id | colourFlags; + const auto& offset = spriteBB->offset; + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height + offset.z }, spriteBB->bb_size); } void track_paint_util_right_quarter_turn_3_tiles_tunnel( diff --git a/src/openrct2/ride/TrackPaint.h b/src/openrct2/ride/TrackPaint.h index 2aaf550a18..5f7139116e 100644 --- a/src/openrct2/ride/TrackPaint.h +++ b/src/openrct2/ride/TrackPaint.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _TRACK_PAINT_H -#define _TRACK_PAINT_H +#pragma once #include "../common.h" #include "../paint/Paint.h" @@ -479,5 +478,3 @@ namespace SingleRailRC { TRACK_PAINT_FUNCTION GetTrackPaintFunction(int32_t trackType); } - -#endif diff --git a/src/openrct2/ride/Vehicle.cpp b/src/openrct2/ride/Vehicle.cpp index 50f1c0c22d..bbbdef5358 100644 --- a/src/openrct2/ride/Vehicle.cpp +++ b/src/openrct2/ride/Vehicle.cpp @@ -735,7 +735,7 @@ static const struct // clang-format on -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Vehicle; } @@ -1522,20 +1522,27 @@ bool Vehicle::OpenRestraints() } if (vehicleEntry->animation == VEHICLE_ENTRY_ANIMATION_OBSERVATION_TOWER && vehicle->animation_frame != 0) { - if (vehicle->var_C8 + 0x3333 < 0xFFFF) + if (vehicle->animationState + 0x3333 < 0xFFFF) { - vehicle->var_C8 = vehicle->var_C8 + 0x3333 - 0xFFFF; + vehicle->animationState = vehicle->animationState + 0x3333 - 0xFFFF; vehicle->animation_frame++; vehicle->animation_frame &= 7; vehicle->Invalidate(); } else { - vehicle->var_C8 += 0x3333; + vehicle->animationState += 0x3333; } restraintsOpen = false; continue; } + if (vehicleEntry->animation == VEHICLE_ENTRY_ANIMATION_ANIMAL_FLYING + && (vehicle->animation_frame != 0 || vehicle->animationState > 0)) + { + vehicle->UpdateAnimationAnimalFlying(); + restraintsOpen = false; + continue; + } if (vehicle->HasUpdateFlag(VEHICLE_UPDATE_FLAG_BROKEN_CAR) && vehicle->restraints_position != 0xFF && (curRide->breakdown_reason_pending == BREAKDOWN_RESTRAINTS_STUCK_CLOSED @@ -3639,7 +3646,7 @@ void Vehicle::UpdateCollisionSetup() } train->IsCrashedVehicle = true; - train->var_C8 = scenario_rand(); + train->animationState = scenario_rand(); train->var_CA = scenario_rand(); train->animation_frame = train->var_CA & 0x7; @@ -5408,7 +5415,7 @@ void Vehicle::CrashOnLand() IsCrashedVehicle = true; animation_frame = 0; - var_C8 = 0; + animationState = 0; sprite_width = 13; sprite_height_negative = 45; sprite_height_positive = 5; @@ -5475,7 +5482,7 @@ void Vehicle::CrashOnWater() IsCrashedVehicle = true; animation_frame = 0; - var_C8 = 0; + animationState = 0; sprite_width = 13; sprite_height_negative = 45; sprite_height_positive = 5; @@ -5506,14 +5513,14 @@ void Vehicle::UpdateCrash() ExplosionCloud::Create({ curVehicle->x + xOffset, curVehicle->y + yOffset, curVehicle->z }); } } - if (curVehicle->var_C8 + 7281 > 0xFFFF) + if (curVehicle->animationState + 7281 > 0xFFFF) { curVehicle->animation_frame++; if (curVehicle->animation_frame >= 8) curVehicle->animation_frame = 0; curVehicle->Invalidate(); } - curVehicle->var_C8 += 7281; + curVehicle->animationState += 7281; continue; } @@ -7269,17 +7276,50 @@ void Vehicle::UpdateSpinningCar() Invalidate(); } +void Vehicle::UpdateAnimationAnimalFlying() +{ + if (animationState > 0) + { + animationState--; + return; + } + else + { + if (animation_frame == 0) + { + auto trackType = GetTrackType(); + TileElement* trackElement = map_get_track_element_at_of_type_seq(TrackLocation, trackType, 0); + if (trackElement != nullptr && trackElement->AsTrack()->HasChain()) + { + // start flapping, bird + animation_frame = 1; + animationState = 5; + Invalidate(); + } + } + else + { + // continue flapping until reaching frame 0 + animation_frame = (animation_frame + 1) % 4; + Invalidate(); + } + // number of frames to skip before updating again + constexpr std::array frameWaitTimes = { 5, 3, 5, 3 }; + animationState = frameWaitTimes[animation_frame]; + } +} + /** * * rct2: 0x006D63D4 */ void Vehicle::UpdateAdditionalAnimation() { - uint8_t al{}; - uint8_t ah{}; + uint8_t targetFrame{}; + uint8_t curFrame{}; uint32_t eax{}; - uint32_t* curVar_C8 = reinterpret_cast(&var_C8); + uint32_t* curAnimationState = reinterpret_cast(&animationState); auto vehicleEntry = Entry(); if (vehicleEntry == nullptr) { @@ -7288,16 +7328,15 @@ void Vehicle::UpdateAdditionalAnimation() switch (vehicleEntry->animation) { case VEHICLE_ENTRY_ANIMATION_MINITURE_RAILWAY_LOCOMOTIVE: // loc_6D652B - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 20) & 3; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 20) & 3; + if (animation_frame != targetFrame) { - ah = al; - al = animation_frame; - animation_frame = ah; - al &= 0x02; - ah &= 0x02; - if (al != ah) + curFrame = animation_frame; + animation_frame = targetFrame; + targetFrame &= 0x02; + curFrame &= 0x02; + if (targetFrame != curFrame) { auto curRide = GetRide(); if (curRide != nullptr) @@ -7328,74 +7367,74 @@ void Vehicle::UpdateAdditionalAnimation() } break; case VEHICLE_ENTRY_ANIMATION_SWAN: // loc_6D6424 - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 18) & 2; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 18) & 2; + if (animation_frame != targetFrame) { - animation_frame = al; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_CANOES: // loc_6D6482 - *curVar_C8 += _vehicleVelocityF64E08; - eax = ((*curVar_C8 >> 13) & 0xFF) * 6; - ah = (eax >> 8) & 0xFF; - if (animation_frame != ah) + *curAnimationState += _vehicleVelocityF64E08; + eax = ((*curAnimationState >> 13) & 0xFF) * 6; + targetFrame = (eax >> 8) & 0xFF; + if (animation_frame != targetFrame) { - animation_frame = ah; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_ROW_BOATS: // loc_6D64F7 - *curVar_C8 += _vehicleVelocityF64E08; - eax = ((*curVar_C8 >> 13) & 0xFF) * 7; - ah = (eax >> 8) & 0xFF; - if (animation_frame != ah) + *curAnimationState += _vehicleVelocityF64E08; + eax = ((*curAnimationState >> 13) & 0xFF) * 7; + targetFrame = (eax >> 8) & 0xFF; + if (animation_frame != targetFrame) { - animation_frame = ah; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_WATER_TRICYCLES: // loc_6D6453 - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 19) & 1; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 19) & 1; + if (animation_frame != targetFrame) { - animation_frame = al; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_OBSERVATION_TOWER: // loc_6D65C3 - if (var_C8 <= 0xCCCC) + if (animationState <= 0xCCCC) { - var_C8 += 0x3333; + animationState += 0x3333; } else { - var_C8 += 0x3333; + animationState += 0x3333; animation_frame += 1; animation_frame &= 7; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_HELICARS: // loc_6D63F5 - *curVar_C8 += _vehicleVelocityF64E08; - al = (*curVar_C8 >> 18) & 3; - if (animation_frame != al) + *curAnimationState += _vehicleVelocityF64E08; + targetFrame = (*curAnimationState >> 18) & 3; + if (animation_frame != targetFrame) { - animation_frame = al; + animation_frame = targetFrame; Invalidate(); } break; case VEHICLE_ENTRY_ANIMATION_MONORAIL_CYCLES: // loc_6D64B6 if (num_peeps != 0) { - *curVar_C8 += _vehicleVelocityF64E08; - eax = ((*curVar_C8 >> 13) & 0xFF) << 2; - ah = (eax >> 8) & 0xFF; - if (animation_frame != ah) + *curAnimationState += _vehicleVelocityF64E08; + eax = ((*curAnimationState >> 13) & 0xFF) << 2; + targetFrame = (eax >> 8) & 0xFF; + if (animation_frame != targetFrame) { - animation_frame = ah; + animation_frame = targetFrame; Invalidate(); } } @@ -7403,13 +7442,13 @@ void Vehicle::UpdateAdditionalAnimation() case VEHICLE_ENTRY_ANIMATION_MULTI_DIM_COASTER: // loc_6D65E1 if (seat_rotation != target_seat_rotation) { - if (var_C8 <= 0xCCCC) + if (animationState <= 0xCCCC) { - var_C8 += 0x3333; + animationState += 0x3333; } else { - var_C8 += 0x3333; + animationState += 0x3333; if (seat_rotation >= target_seat_rotation) seat_rotation--; @@ -7422,6 +7461,12 @@ void Vehicle::UpdateAdditionalAnimation() } } break; + case VEHICLE_ENTRY_ANIMATION_ANIMAL_FLYING: + UpdateAnimationAnimalFlying(); + // makes animation play faster with vehicle speed + targetFrame = abs(_vehicleVelocityF64E08) >> 24; + animationState = std::max(animationState - targetFrame, 0); + break; } } @@ -8766,18 +8811,18 @@ loc_6DC462: goto loc_6DC985; loc_6DC476: - if (mini_golf_flags & (1 << 2)) + if (mini_golf_flags & MiniGolfFlag::Flag2) { uint8_t nextFrame = animation_frame + 1; - if (nextFrame < mini_golf_peep_animation_lengths[mini_golf_current_animation]) + if (nextFrame < mini_golf_peep_animation_lengths[EnumValue(mini_golf_current_animation)]) { animation_frame = nextFrame; goto loc_6DC985; } - mini_golf_flags &= ~(1 << 2); + mini_golf_flags &= ~MiniGolfFlag::Flag2; } - if (mini_golf_flags & (1 << 0)) + if (mini_golf_flags & MiniGolfFlag::Flag0) { auto vehicleIdx = IsHead() ? next_vehicle_on_ride : prev_vehicle_on_ride; Vehicle* vEDI = GetEntity(vehicleIdx); @@ -8785,7 +8830,7 @@ loc_6DC476: { return; } - if (!(vEDI->mini_golf_flags & (1 << 0)) || (vEDI->mini_golf_flags & (1 << 2))) + if (!(vEDI->mini_golf_flags & MiniGolfFlag::Flag0) || (vEDI->mini_golf_flags & MiniGolfFlag::Flag2)) { goto loc_6DC985; } @@ -8793,11 +8838,11 @@ loc_6DC476: { goto loc_6DC985; } - vEDI->mini_golf_flags &= ~(1 << 0); - mini_golf_flags &= ~(1 << 0); + vEDI->mini_golf_flags &= ~MiniGolfFlag::Flag0; + mini_golf_flags &= ~MiniGolfFlag::Flag0; } - if (mini_golf_flags & (1 << 1)) + if (mini_golf_flags & MiniGolfFlag::Flag1) { auto vehicleIdx = IsHead() ? next_vehicle_on_ride : prev_vehicle_on_ride; Vehicle* vEDI = GetEntity(vehicleIdx); @@ -8805,7 +8850,7 @@ loc_6DC476: { return; } - if (!(vEDI->mini_golf_flags & (1 << 1)) || (vEDI->mini_golf_flags & (1 << 2))) + if (!(vEDI->mini_golf_flags & MiniGolfFlag::Flag1) || (vEDI->mini_golf_flags & MiniGolfFlag::Flag2)) { goto loc_6DC985; } @@ -8813,11 +8858,11 @@ loc_6DC476: { goto loc_6DC985; } - vEDI->mini_golf_flags &= ~(1 << 1); - mini_golf_flags &= ~(1 << 1); + vEDI->mini_golf_flags &= ~MiniGolfFlag::Flag1; + mini_golf_flags &= ~MiniGolfFlag::Flag1; } - if (mini_golf_flags & (1 << 3)) + if (mini_golf_flags & MiniGolfFlag::Flag3) { Vehicle* vEDI = this; @@ -8830,15 +8875,15 @@ loc_6DC476: } if (vEDI->IsHead()) continue; - if (!(vEDI->mini_golf_flags & (1 << 4))) + if (!(vEDI->mini_golf_flags & MiniGolfFlag::Flag4)) continue; if (vEDI->TrackLocation != TrackLocation) continue; goto loc_6DC985; } - mini_golf_flags |= (1 << 4); - mini_golf_flags &= ~(1 << 3); + mini_golf_flags |= MiniGolfFlag::Flag4; + mini_golf_flags &= ~MiniGolfFlag::Flag3; } // There are two bytes before the move info list @@ -8922,12 +8967,12 @@ loc_6DC743: { break; } - switch (moveInfo->y) + switch (MiniGolfState(moveInfo->y)) { - case 0: // loc_6DC7B4 + case MiniGolfState::Unk0: // loc_6DC7B4 if (!IsHead()) { - mini_golf_flags |= (1 << 3); + mini_golf_flags |= MiniGolfFlag::Flag3; } else { @@ -8945,53 +8990,56 @@ loc_6DC743: } track_progress++; break; - case 1: // loc_6DC7ED + case MiniGolfState::Unk1: // loc_6DC7ED + log_error("Unused move info..."); + assert(false); var_D3 = static_cast(moveInfo->z); track_progress++; break; - case 2: // loc_6DC800 - mini_golf_flags |= (1 << 0); + case MiniGolfState::Unk2: // loc_6DC800 + mini_golf_flags |= MiniGolfFlag::Flag0; track_progress++; break; - case 3: // loc_6DC810 - mini_golf_flags |= (1 << 1); + case MiniGolfState::Unk3: // loc_6DC810 + mini_golf_flags |= MiniGolfFlag::Flag1; track_progress++; break; - case 4: // loc_6DC820 - trackPos.z = moveInfo->z; + case MiniGolfState::Unk4: // loc_6DC820 + { + auto animation = MiniGolfAnimation(moveInfo->z); // When the ride is closed occasionally the peep is removed // but the vehicle is still on the track. This will prevent // it from crashing in that situation. - if (peep[0] != SPRITE_INDEX_NULL) + auto* curPeep = TryGetEntity(peep[0]); + if (curPeep != nullptr) { - if (trackPos.z == 2) + if (animation == MiniGolfAnimation::SwingLeft) { - auto* curPeep = GetEntity(peep[0]); - if (curPeep != nullptr && curPeep->Id & 7) + if (curPeep->Id & 7) { - trackPos.z = 7; + animation = MiniGolfAnimation::Swing; } } - if (trackPos.z == 6) + if (animation == MiniGolfAnimation::PuttLeft) { - auto* curPeep = GetEntity(peep[0]); - if (curPeep != nullptr && curPeep->Id & 7) + if (curPeep->Id & 7) { - trackPos.z = 8; + animation = MiniGolfAnimation::Putt; } } } - mini_golf_current_animation = static_cast(trackPos.z); + mini_golf_current_animation = animation; animation_frame = 0; track_progress++; break; - case 5: // loc_6DC87A - mini_golf_flags |= (1 << 2); + } + case MiniGolfState::Unk5: // loc_6DC87A + mini_golf_flags |= MiniGolfFlag::Flag2; track_progress++; break; - case 6: // loc_6DC88A - mini_golf_flags &= ~(1 << 4); - mini_golf_flags |= (1 << 5); + case MiniGolfState::Unk6: // loc_6DC88A + mini_golf_flags &= ~MiniGolfFlag::Flag4; + mini_golf_flags |= MiniGolfFlag::Flag5; track_progress++; break; default: diff --git a/src/openrct2/ride/Vehicle.h b/src/openrct2/ride/Vehicle.h index d9fa5b711e..8963fb379d 100644 --- a/src/openrct2/ride/Vehicle.h +++ b/src/openrct2/ride/Vehicle.h @@ -7,14 +7,13 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VEHICLE_H_ -#define _VEHICLE_H_ +#pragma once #include "../audio/audio.h" #include "../common.h" #include "../ride/RideTypes.h" +#include "../world/EntityBase.h" #include "../world/Location.hpp" -#include "../world/SpriteBase.h" #include "Station.h" #include "VehicleColour.h" #include "VehicleEntry.h" @@ -52,7 +51,9 @@ struct SoundIdVolume; constexpr const uint16_t VehicleTrackDirectionMask = 0b0000000000000011; constexpr const uint16_t VehicleTrackTypeMask = 0b1111111111111100; -struct Vehicle : SpriteBase +enum class MiniGolfAnimation : uint8_t; + +struct Vehicle : EntityBase { static constexpr auto cEntityType = EntityType::Vehicle; @@ -181,7 +182,7 @@ struct Vehicle : SpriteBase }; uint8_t animation_frame; uint8_t pad_C6[0x2]; - uint16_t var_C8; + uint16_t animationState; uint16_t var_CA; OpenRCT2::Audio::SoundId scream_sound_id; VehicleTrackSubposition TrackSubposition; @@ -198,7 +199,7 @@ struct Vehicle : SpriteBase uint16_t lost_time_out; int8_t vertical_drop_countdown; uint8_t var_D3; - uint8_t mini_golf_current_animation; + MiniGolfAnimation mini_golf_current_animation; uint8_t mini_golf_flags; ObjectEntryIndex ride_subtype; uint8_t colours_extended; @@ -323,6 +324,7 @@ private: void UpdateCrashSetup(); void UpdateCollisionSetup(); int32_t UpdateMotionDodgems(); + void UpdateAnimationAnimalFlying(); void UpdateAdditionalAnimation(); void CheckIfMissing(); bool CurrentTowerElementIsTop(); @@ -376,6 +378,40 @@ struct train_ref Vehicle* tail; }; +namespace MiniGolfFlag +{ + constexpr uint8_t Flag0 = (1 << 0); + constexpr uint8_t Flag1 = (1 << 1); + constexpr uint8_t Flag2 = (1 << 2); + constexpr uint8_t Flag3 = (1 << 3); + constexpr uint8_t Flag4 = (1 << 4); + constexpr uint8_t Flag5 = (1 << 5); // transitioning between hole +} // namespace MiniGolfFlag + +enum class MiniGolfState : int16_t +{ + Unk0, + Unk1, // Unused + Unk2, + Unk3, + Unk4, + Unk5, + Unk6, +}; + +enum class MiniGolfAnimation : uint8_t +{ + Walk, + PlaceBallDown, + SwingLeft, + PickupBall, + Jump, + PlaceBallUp, + PuttLeft, + Swing, + Putt, +}; + enum : uint32_t { VEHICLE_ENTRY_FLAG_POWERED_RIDE_UNRESTRICTED_GRAVITY = 1 @@ -437,7 +473,8 @@ enum VEHICLE_ENTRY_ANIMATION_OBSERVATION_TOWER, VEHICLE_ENTRY_ANIMATION_HELICARS, VEHICLE_ENTRY_ANIMATION_MONORAIL_CYCLES, - VEHICLE_ENTRY_ANIMATION_MULTI_DIM_COASTER + VEHICLE_ENTRY_ANIMATION_MULTI_DIM_COASTER, + VEHICLE_ENTRY_ANIMATION_ANIMAL_FLYING // OpenRCT2-specific feature }; enum : uint32_t @@ -563,5 +600,3 @@ extern int32_t _vehicleUnkF64E10; extern uint8_t _vehicleF64E2C; extern Vehicle* _vehicleFrontVehicle; extern CoordsXYZ unk_F64E20; - -#endif diff --git a/src/openrct2/ride/VehicleData.h b/src/openrct2/ride/VehicleData.h index c4fb7940b6..f78ee882fe 100644 --- a/src/openrct2/ride/VehicleData.h +++ b/src/openrct2/ride/VehicleData.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VEHICLE_DATA_H -#define _VEHICLE_DATA_H +#pragma once #include "../common.h" @@ -31,5 +30,3 @@ extern const int32_t dword_9A2930[]; extern const int32_t dword_9A2970[]; extern const int32_t SpriteDirectionToSoundDirection[]; - -#endif diff --git a/src/openrct2/ride/VehiclePaint.cpp b/src/openrct2/ride/VehiclePaint.cpp index cd9ddfa79f..64f8c128a6 100644 --- a/src/openrct2/ride/VehiclePaint.cpp +++ b/src/openrct2/ride/VehiclePaint.cpp @@ -918,7 +918,8 @@ static void vehicle_sprite_paint( image_id |= CONSTRUCTION_MARKER; } paint_struct* ps = PaintAddImageAsParent( - session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z); + session, image_id, { 0, 0, z }, { bb.length_x, bb.length_y, bb.length_z }, + { bb.offset_x, bb.offset_y, bb.offset_z + z }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -3144,7 +3145,7 @@ template<> void PaintEntity(paint_session* session, const Vehicle* vehicle, int3 if (vehicle->IsCrashedVehicle) { uint32_t ebx = 22965 + vehicle->animation_frame; - PaintAddImageAsParent(session, ebx, 0, 0, 1, 1, 0, z, 0, 0, z + 2); + PaintAddImageAsParent(session, ebx, { 0, 0, z }, { 1, 1, 0 }, { 0, 0, z + 2 }); return; } diff --git a/src/openrct2/ride/VehiclePaint.h b/src/openrct2/ride/VehiclePaint.h index 5bbe90dc61..24edb42b9d 100644 --- a/src/openrct2/ride/VehiclePaint.h +++ b/src/openrct2/ride/VehiclePaint.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _VEHICLE_PAINT_H -#define _VEHICLE_PAINT_H +#pragma once #include "../common.h" @@ -61,5 +60,3 @@ void vehicle_visual_mini_golf_player( paint_session* session, int32_t x, int32_t imageDirection, int32_t y, int32_t z, const Vehicle* vehicle); void vehicle_visual_mini_golf_ball( paint_session* session, int32_t x, int32_t imageDirection, int32_t y, int32_t z, const Vehicle* vehicle); - -#endif diff --git a/src/openrct2/ride/VehicleSubpositionData.cpp b/src/openrct2/ride/VehicleSubpositionData.cpp index 66d99434e9..c2f43b5858 100644 --- a/src/openrct2/ride/VehicleSubpositionData.cpp +++ b/src/openrct2/ride/VehicleSubpositionData.cpp @@ -15,6 +15,15 @@ static constexpr const rct_vehicle_info VAR##_data[] = __VA_ARGS__; \ static constexpr const rct_vehicle_info_list VAR = { static_cast(std::size(VAR##_data)), VAR##_data }; +#define MINI_GOLF_STATE(STATE) \ + { \ + LOCATION_NULL, EnumValue(MiniGolfState::STATE), 0, 0, 0, 0 \ + } +#define MINI_GOLF_ANIMATION(VALUE) \ + { \ + LOCATION_NULL, EnumValue(MiniGolfState::Unk4), EnumValue(MiniGolfAnimation::VALUE), 0, 0, 0 \ + } + // clang-format off CREATE_VEHICLE_INFO(TrackVehicleInfo_8BE57A, { { 31, 16, 0, 0, 0, 0 }, { 30, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 28, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, @@ -18527,191 +18536,191 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9395FF, { }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939691, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, - { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C082, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, - { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93EA73, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, - { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941464, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, - { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk6), { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A46E, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -27, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93CE5F, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 58, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F850, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 58, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942241, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -27, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B2AE, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -23, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93DC9F, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940690, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 54, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943081, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), + { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943E56, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, @@ -18719,18 +18728,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_943E56, { { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -3, 44, 0, 8, 0, 0 }, { -3, 46, 0, 8, 0, 0 }, { -3, 48, 0, 8, 0, 0 }, { -5, 48, 0, 0, 0, 0 }, { -7, 48, 0, 0, 0, 0 }, { -9, 48, 0, 0, 0, 0 }, { -11, 48, 0, 0, 0, 0 }, - { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -17, 50, 0, 8, 0, 0 }, - { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, 48, 0, 8, 0, 0 }, { -17, 50, 0, 8, 0, 0 }, + { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_946B14, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, @@ -18738,18 +18747,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_946B14, { { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 44, 34, 0, 16, 0, 0 }, { 46, 34, 0, 16, 0, 0 }, { 48, 34, 0, 16, 0, 0 }, { 48, 36, 0, 8, 0, 0 }, { 48, 38, 0, 8, 0, 0 }, { 48, 40, 0, 8, 0, 0 }, { 48, 42, 0, 8, 0, 0 }, - { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { 50, 48, 0, 16, 0, 0 }, - { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 48, 0, 16, 0, 0 }, { 50, 48, 0, 16, 0, 0 }, + { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9497D2, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, @@ -18757,18 +18766,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9497D2, { { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 34, -13, 0, 24, 0, 0 }, { 34, -15, 0, 24, 0, 0 }, { 34, -17, 0, 24, 0, 0 }, { 36, -17, 0, 16, 0, 0 }, { 38, -17, 0, 16, 0, 0 }, { 40, -17, 0, 16, 0, 0 }, { 42, -17, 0, 16, 0, 0 }, - { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { 48, -19, 0, 24, 0, 0 }, - { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, -17, 0, 24, 0, 0 }, { 48, -19, 0, 24, 0, 0 }, + { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94C490, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, @@ -18776,18 +18785,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94C490, { { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -13, -3, 0, 0, 0, 0 }, { -15, -3, 0, 0, 0, 0 }, { -17, -3, 0, 0, 0, 0 }, { -17, -5, 0, 24, 0, 0 }, { -17, -7, 0, 24, 0, 0 }, { -17, -9, 0, 24, 0, 0 }, { -17, -11, 0, 24, 0, 0 }, - { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -19, -17, 0, 0, 0, 0 }, - { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, -17, 0, 0, 0, 0 }, { -19, -17, 0, 0, 0, 0 }, + { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9454B5, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, @@ -18795,18 +18804,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9454B5, { { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -3, -12, 0, 24, 0, 0 }, { -3, -14, 0, 24, 0, 0 }, { -3, -16, 0, 24, 0, 0 }, { -5, -16, 0, 0, 0, 0 }, { -7, -16, 0, 0, 0, 0 }, { -9, -16, 0, 0, 0, 0 }, { -11, -16, 0, 0, 0, 0 }, - { -13, -16, 0, 0, 0, 0 }, { -15, -16, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, { -17, -18, 0, 24, 0, 0 }, - { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -13, -16, 0, 0, 0, 0 }, { -15, -16, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, -16, 0, 24, 0, 0 }, { -17, -18, 0, 24, 0, 0 }, + { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_948173, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, @@ -18814,18 +18823,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_948173, { { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -12, 34, 0, 0, 0, 0 }, { -14, 34, 0, 0, 0, 0 }, { -16, 34, 0, 0, 0, 0 }, { -16, 36, 0, 8, 0, 0 }, { -16, 38, 0, 8, 0, 0 }, { -16, 40, 0, 8, 0, 0 }, { -16, 42, 0, 8, 0, 0 }, - { -16, 44, 0, 8, 0, 0 }, { -16, 46, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, { -18, 48, 0, 0, 0, 0 }, - { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -16, 44, 0, 8, 0, 0 }, { -16, 46, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -16, 48, 0, 0, 0, 0 }, { -18, 48, 0, 0, 0, 0 }, + { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94AE31, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, @@ -18833,18 +18842,18 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94AE31, { { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 34, 43, 0, 8, 0, 0 }, { 34, 45, 0, 8, 0, 0 }, { 34, 47, 0, 8, 0, 0 }, { 36, 47, 0, 16, 0, 0 }, { 38, 47, 0, 16, 0, 0 }, { 40, 47, 0, 16, 0, 0 }, { 42, 47, 0, 16, 0, 0 }, - { 44, 47, 0, 16, 0, 0 }, { 46, 47, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, { 48, 49, 0, 8, 0, 0 }, - { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 44, 47, 0, 16, 0, 0 }, { 46, 47, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 47, 0, 8, 0, 0 }, { 48, 49, 0, 8, 0, 0 }, + { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94DAEF, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 4, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(Jump), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, @@ -18852,15 +18861,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94DAEF, { { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 43, -3, 0, 16, 0, 0 }, { 45, -3, 0, 16, 0, 0 }, { 47, -3, 0, 16, 0, 0 }, { 47, -5, 0, 24, 0, 0 }, { 47, -7, 0, 24, 0, 0 }, { 47, -9, 0, 24, 0, 0 }, { 47, -11, 0, 24, 0, 0 }, - { 47, -13, 0, 24, 0, 0 }, { 47, -15, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, { 49, -17, 0, 16, 0, 0 }, - { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 47, -13, 0, 24, 0, 0 }, { 47, -15, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 47, -17, 0, 16, 0, 0 }, { 49, -17, 0, 16, 0, 0 }, + { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9398A6, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 13, 17, 0, 0, 0, 0 }, { 10, 17, 0, 0, 0, 0 }, { 8, 17, 0, 0, 0, 0 }, { 6, 17, 0, 0, 0, 0 }, { 4, 17, 0, 0, 0, 0 }, { 2, 17, 0, 0, 0, 0 }, { 0, 18, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -4, 18, 0, 0, 0, 0 }, { -6, 18, 0, 0, 0, 0 }, { -8, 18, 0, 0, 0, 0 }, { -10, 18, 0, 0, 0, 0 }, { -12, 18, 0, 0, 0, 0 }, { -14, 19, 0, 0, 0, 0 }, @@ -18868,13 +18877,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9398A6, { { -26, 19, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, { -30, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, { -27, 20, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -25, 19, 0, 0, 0, 0 }, { -24, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -22, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -20, 17, 0, 0, 0, 0 }, { -19, 17, 0, 0, 0, 0 }, { -18, 17, 0, 0, 0, 0 }, - { -17, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -17, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C297, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 17, 18, 0, 8, 0, 0 }, { 17, 21, 0, 8, 0, 0 }, { 17, 23, 0, 8, 0, 0 }, { 17, 25, 0, 8, 0, 0 }, { 17, 27, 0, 8, 0, 0 }, { 17, 29, 0, 8, 0, 0 }, { 18, 31, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 18, 35, 0, 8, 0, 0 }, { 18, 37, 0, 8, 0, 0 }, { 18, 39, 0, 8, 0, 0 }, { 18, 41, 0, 8, 0, 0 }, { 18, 43, 0, 8, 0, 0 }, { 19, 45, 0, 8, 0, 0 }, @@ -18882,13 +18891,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93C297, { { 19, 57, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, { 20, 61, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, { 20, 58, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 19, 56, 0, 8, 0, 0 }, { 19, 55, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 18, 53, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 17, 51, 0, 8, 0, 0 }, { 17, 50, 0, 8, 0, 0 }, { 17, 49, 0, 8, 0, 0 }, - { 16, 48, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 48, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93EC88, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 15, 15, 0, 16, 0, 0 }, { 18, 14, 0, 16, 0, 0 }, { 21, 14, 0, 16, 0, 0 }, { 23, 14, 0, 16, 0, 0 }, { 25, 14, 0, 16, 0, 0 }, { 27, 14, 0, 16, 0, 0 }, { 29, 14, 0, 16, 0, 0 }, { 31, 13, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 35, 13, 0, 16, 0, 0 }, { 37, 13, 0, 16, 0, 0 }, { 39, 13, 0, 16, 0, 0 }, { 41, 13, 0, 16, 0, 0 }, { 43, 13, 0, 16, 0, 0 }, { 45, 12, 0, 16, 0, 0 }, @@ -18896,13 +18905,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93EC88, { { 57, 12, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, { 61, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, { 58, 11, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 56, 12, 0, 16, 0, 0 }, { 55, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 53, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 51, 14, 0, 16, 0, 0 }, { 50, 14, 0, 16, 0, 0 }, { 49, 14, 0, 16, 0, 0 }, - { 48, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 48, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941679, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 14, 13, 0, 24, 0, 0 }, { 14, 10, 0, 24, 0, 0 }, { 14, 8, 0, 24, 0, 0 }, { 14, 6, 0, 24, 0, 0 }, { 14, 4, 0, 24, 0, 0 }, { 14, 2, 0, 24, 0, 0 }, { 13, 0, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 13, -4, 0, 24, 0, 0 }, { 13, -6, 0, 24, 0, 0 }, { 13, -8, 0, 24, 0, 0 }, { 13, -10, 0, 24, 0, 0 }, { 13, -12, 0, 24, 0, 0 }, { 12, -14, 0, 24, 0, 0 }, @@ -18910,13 +18919,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_941679, { { 12, -26, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, { 11, -30, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, { 11, -27, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 12, -25, 0, 24, 0, 0 }, { 12, -24, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 13, -22, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 14, -20, 0, 24, 0, 0 }, { 14, -19, 0, 24, 0, 0 }, { 14, -18, 0, 24, 0, 0 }, - { 15, -17, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -17, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A68C, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { 16, 15, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 10, 14, 0, 0, 0, 0 }, { 7, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -2, 15, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -2, 21, 0, 0, 0, 0 }, { -2, 24, 0, 0, 0, 0 }, { -2, 26, 0, 0, 0, 0 }, { -4, 26, 0, 0, 0, 0 }, { -6, 26, 0, 0, 0, 0 }, { -8, 26, 0, 0, 0, 0 }, @@ -18925,13 +18934,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93A68C, { { -16, 13, 0, 0, 0, 0 }, { -18, 13, 0, 0, 0, 0 }, { -20, 14, 0, 0, 0, 0 }, { -22, 14, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, { -24, 14, 0, 0, 0, 0 }, { -25, 14, 0, 0, 0, 0 }, { -26, 14, 0, 0, 0, 0 }, { -27, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -31, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, - { -28, 15, 0, 0, 0, 0 }, { -27, 15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -28, 15, 0, 0, 0, 0 }, { -27, 15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D07D, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { 15, 15, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 21, 0, 8, 0, 0 }, { 13, 24, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 15, 33, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 21, 33, 0, 8, 0, 0 }, { 24, 33, 0, 8, 0, 0 }, { 26, 33, 0, 8, 0, 0 }, { 26, 35, 0, 8, 0, 0 }, { 26, 37, 0, 8, 0, 0 }, { 26, 39, 0, 8, 0, 0 }, @@ -18940,13 +18949,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93D07D, { { 13, 47, 0, 8, 0, 0 }, { 13, 49, 0, 8, 0, 0 }, { 14, 51, 0, 8, 0, 0 }, { 14, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, { 14, 55, 0, 8, 0, 0 }, { 14, 56, 0, 8, 0, 0 }, { 14, 57, 0, 8, 0, 0 }, { 14, 58, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 62, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, - { 15, 59, 0, 8, 0, 0 }, { 15, 58, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 15, 59, 0, 8, 0, 0 }, { 15, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93FA6E, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 21, 17, 0, 16, 0, 0 }, { 24, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 33, 10, 0, 16, 0, 0 }, { 33, 7, 0, 16, 0, 0 }, { 33, 5, 0, 16, 0, 0 }, { 35, 5, 0, 16, 0, 0 }, { 37, 5, 0, 16, 0, 0 }, { 39, 5, 0, 16, 0, 0 }, @@ -18955,13 +18964,13 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93FA6E, { { 47, 18, 0, 16, 0, 0 }, { 49, 18, 0, 16, 0, 0 }, { 51, 17, 0, 16, 0, 0 }, { 53, 17, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, { 55, 17, 0, 16, 0, 0 }, { 56, 17, 0, 16, 0, 0 }, { 57, 17, 0, 16, 0, 0 }, { 58, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 62, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, - { 59, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 59, 16, 0, 16, 0, 0 }, { 58, 16, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94245F, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 10, 0, 24, 0, 0 }, { 18, 7, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 10, -2, 0, 24, 0, 0 }, { 7, -2, 0, 24, 0, 0 }, { 5, -2, 0, 24, 0, 0 }, { 5, -4, 0, 24, 0, 0 }, { 5, -6, 0, 24, 0, 0 }, { 5, -8, 0, 24, 0, 0 }, @@ -18970,64 +18979,64 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94245F, { { 18, -16, 0, 24, 0, 0 }, { 18, -18, 0, 24, 0, 0 }, { 17, -20, 0, 24, 0, 0 }, { 17, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, { 17, -24, 0, 24, 0, 0 }, { 17, -25, 0, 24, 0, 0 }, { 17, -26, 0, 24, 0, 0 }, { 17, -27, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -31, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, - { 16, -28, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 16, -28, 0, 24, 0, 0 }, { 16, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B4CC, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 18, 18, 0, 0, 0, 0 }, - { 15, 19, 0, 0, 0, 0 }, { 12, 19, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 18, 18, 0, 0, 0, 0 }, + { 15, 19, 0, 0, 0, 0 }, { 12, 19, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 7, 20, 0, 0, 0, 0 }, { 5, 19, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 17, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, - { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, + { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -8, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -16, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -22, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93DEBD, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 18, 13, 0, 8, 0, 0 }, - { 19, 16, 0, 8, 0, 0 }, { 19, 19, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 18, 13, 0, 8, 0, 0 }, + { 19, 16, 0, 8, 0, 0 }, { 19, 19, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 20, 24, 0, 8, 0, 0 }, { 19, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 17, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, - { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, + { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 39, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 47, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 53, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9408AE, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 13, 13, 0, 16, 0, 0 }, - { 16, 12, 0, 16, 0, 0 }, { 19, 12, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 13, 13, 0, 16, 0, 0 }, + { 16, 12, 0, 16, 0, 0 }, { 19, 12, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 24, 11, 0, 16, 0, 0 }, { 26, 12, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 14, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, - { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 39, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, + { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 39, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, { 43, 15, 0, 16, 0, 0 }, { 45, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 47, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 51, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 53, 15, 0, 16, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94329F, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 13, 18, 0, 24, 0, 0 }, - { 12, 15, 0, 24, 0, 0 }, { 12, 12, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 13, 18, 0, 24, 0, 0 }, + { 12, 15, 0, 24, 0, 0 }, { 12, 12, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 11, 7, 0, 24, 0, 0 }, { 12, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 14, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, - { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -8, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, + { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -8, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, { 15, -12, 0, 24, 0, 0 }, { 15, -14, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -16, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -20, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -22, 0, 24, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_944104, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, { -12, 9, 3, 0, 0, 0 }, @@ -19036,16 +19045,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_944104, { { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, - { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_946DC2, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, + { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, { 9, 43, 3, 8, 0, 0 }, @@ -19054,16 +19063,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_946DC2, { { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, - { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 60, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_949A80, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, - { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, + { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, { 43, 22, 3, 16, 0, 0 }, @@ -19072,16 +19081,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_949A80, { { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, - { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94C73E, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, - { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, + { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, { 22, -12, 3, 24, 0, 0 }, @@ -19090,16 +19099,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94C73E, { { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, - { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -29, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_945763, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, - { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, + { 0, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -16, 29, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, { -12, 23, 3, 0, 0, 0 }, @@ -19108,16 +19117,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_945763, { { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, - { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, -28, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_948421, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, - { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, + { 16, 31, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 16, 43, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 29, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, { 23, 43, 3, 8, 0, 0 }, @@ -19126,16 +19135,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_948421, { { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, - { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -28, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94B0DF, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, - { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, + { 31, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 47, 2, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, { 43, 8, 3, 16, 0, 0 }, @@ -19144,16 +19153,16 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94B0DF, { { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, - { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, 59, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94DD9D, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, - { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, + { 15, 0, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 15, -12, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 2, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, { 8, -12, 3, 24, 0, 0 }, @@ -19162,594 +19171,594 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94DD9D, { { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, - { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 59, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939A85, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 3, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 3, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, - { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -15, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -15, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C476, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 28, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 28, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, - { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 46, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93EE67, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, - { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 28, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 28, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, - { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 46, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 46, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941858, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, - { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 3, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, + { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 3, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, - { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A898, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, - { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 2, 16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 2, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 2, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, + { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 2, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 2, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 2, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -5, 18, 0, 8, 0, 0 }, { -5, 20, 0, 8, 0, 0 }, { -5, 22, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -4, 22, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -4, 22, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -4, 22, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -4, 22, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -5, 20, 0, 24, 0, 0 }, { -5, 18, 0, 24, 0, 0 }, { -5, 16, 0, 24, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D289, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, - { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 29, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 29, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 29, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, + { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 29, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 29, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 29, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 18, 36, 0, 16, 0, 0 }, { 20, 36, 0, 16, 0, 0 }, { 22, 36, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 22, 35, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 22, 35, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 22, 35, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 22, 35, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 20, 36, 0, 0, 0, 0 }, { 18, 36, 0, 0, 0, 0 }, { 16, 36, 0, 0, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93FC7A, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, - { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 29, 15, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 29, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 29, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, + { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 29, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 29, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 29, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 36, 13, 0, 24, 0, 0 }, { 36, 11, 0, 24, 0, 0 }, { 36, 9, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 35, 9, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 35, 9, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 35, 9, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 35, 9, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 36, 11, 0, 8, 0, 0 }, { 36, 13, 0, 8, 0, 0 }, { 36, 15, 0, 8, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94266B, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, - { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 2, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 2, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 2, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, + { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 2, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 2, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 2, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 13, -5, 0, 0, 0, 0 }, { 11, -5, 0, 0, 0, 0 }, { 9, -5, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 9, -4, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 9, -4, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 9, -4, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 9, -4, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 11, -5, 0, 16, 0, 0 }, { 13, -5, 0, 16, 0, 0 }, { 15, -5, 0, 16, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B648, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -23, 14, 0, 24, 0, 0 }, { -23, 12, 0, 24, 0, 0 }, { -23, 10, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -23, 10, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -23, 10, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -23, 10, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -23, 10, 0, 8, 0, 0 }, - { -23, 12, 0, 8, 0, 0 }, { -23, 14, 0, 8, 0, 0 }, { -23, 16, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -23, 16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, { -23, 14, 0, 24, 0, 0 }, { -23, 12, 0, 24, 0, 0 }, { -23, 10, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -23, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { -23, 10, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { -23, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -23, 10, 0, 8, 0, 0 }, + { -23, 12, 0, 8, 0, 0 }, { -23, 14, 0, 8, 0, 0 }, { -23, 16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -23, 16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E039, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { 14, 54, 0, 0, 0, 0 }, { 12, 54, 0, 0, 0, 0 }, { 10, 54, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 10, 54, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 10, 54, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 10, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 10, 54, 0, 16, 0, 0 }, - { 12, 54, 0, 16, 0, 0 }, { 14, 54, 0, 16, 0, 0 }, { 16, 54, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 54, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, { 14, 54, 0, 0, 0, 0 }, { 12, 54, 0, 0, 0, 0 }, { 10, 54, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 10, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 10, 54, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 10, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 10, 54, 0, 16, 0, 0 }, + { 12, 54, 0, 16, 0, 0 }, { 14, 54, 0, 16, 0, 0 }, { 16, 54, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 54, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940A2A, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { 54, 17, 0, 8, 0, 0 }, { 54, 19, 0, 8, 0, 0 }, { 54, 21, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 54, 21, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 54, 21, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 54, 21, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 54, 21, 0, 24, 0, 0 }, - { 54, 19, 0, 24, 0, 0 }, { 54, 17, 0, 24, 0, 0 }, { 54, 15, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 54, 15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, { 54, 17, 0, 8, 0, 0 }, { 54, 19, 0, 8, 0, 0 }, { 54, 21, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 54, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 54, 21, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 54, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 54, 21, 0, 24, 0, 0 }, + { 54, 19, 0, 24, 0, 0 }, { 54, 17, 0, 24, 0, 0 }, { 54, 15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 54, 15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94341B, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { 17, -23, 0, 16, 0, 0 }, { 19, -23, 0, 16, 0, 0 }, { 21, -23, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 21, -23, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 21, -23, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 21, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 21, -23, 0, 0, 0, 0 }, - { 19, -23, 0, 0, 0, 0 }, { 17, -23, 0, 0, 0, 0 }, { 15, -23, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -23, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, { 17, -23, 0, 16, 0, 0 }, { 19, -23, 0, 16, 0, 0 }, { 21, -23, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 21, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 21, -23, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 21, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 21, -23, 0, 0, 0, 0 }, + { 19, -23, 0, 0, 0, 0 }, { 17, -23, 0, 0, 0, 0 }, { 15, -23, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -23, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9443A0, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 13, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 1, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, { -3, 26, 0, 8, 0, 0 }, { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -5, 42, 0, 0, 0, 0 }, { -7, 42, 0, 0, 0, 0 }, { -9, 42, 0, 0, 0, 0 }, { -11, 42, 0, 0, 0, 0 }, { -13, 42, 0, 0, 0, 0 }, { -15, 42, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, 48, 0, 8, 0, 0 }, { -17, 50, 0, 8, 0, 0 }, { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94705E, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 20, 18, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 30, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, { 26, 34, 0, 16, 0, 0 }, { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 42, 36, 0, 8, 0, 0 }, { 42, 38, 0, 8, 0, 0 }, { 42, 40, 0, 8, 0, 0 }, { 42, 42, 0, 8, 0, 0 }, { 42, 44, 0, 8, 0, 0 }, { 42, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 48, 0, 16, 0, 0 }, { 50, 48, 0, 16, 0, 0 }, { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_949D1C, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 18, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 30, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, { 34, 5, 0, 24, 0, 0 }, { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 36, -11, 0, 16, 0, 0 }, { 38, -11, 0, 16, 0, 0 }, { 40, -11, 0, 16, 0, 0 }, { 42, -11, 0, 16, 0, 0 }, { 44, -11, 0, 16, 0, 0 }, { 46, -11, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, -17, 0, 24, 0, 0 }, { 48, -19, 0, 24, 0, 0 }, { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94C9DA, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 11, 13, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 1, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, { 5, -3, 0, 0, 0, 0 }, { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -11, -5, 0, 24, 0, 0 }, { -11, -7, 0, 24, 0, 0 }, { -11, -9, 0, 24, 0, 0 }, { -11, -11, 0, 24, 0, 0 }, { -11, -13, 0, 24, 0, 0 }, { -11, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, -17, 0, 0, 0, 0 }, { -19, -17, 0, 0, 0, 0 }, { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9459FF, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 13, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, { -3, 6, 0, 24, 0, 0 }, { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -5, -10, 0, 0, 0, 0 }, { -7, -10, 0, 0, 0, 0 }, { -9, -10, 0, 0, 0, 0 }, { -11, -10, 0, 0, 0, 0 }, { -13, -10, 0, 0, 0, 0 }, { -15, -10, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, -16, 0, 24, 0, 0 }, { -17, -18, 0, 24, 0, 0 }, { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9486BD, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 18, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, { 6, 34, 0, 0, 0, 0 }, { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -10, 36, 0, 8, 0, 0 }, { -10, 38, 0, 8, 0, 0 }, { -10, 40, 0, 8, 0, 0 }, { -10, 42, 0, 8, 0, 0 }, { -10, 44, 0, 8, 0, 0 }, { -10, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -16, 48, 0, 0, 0, 0 }, { -18, 48, 0, 0, 0, 0 }, { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94B37B, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 18, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, { 34, 25, 0, 8, 0, 0 }, { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 36, 41, 0, 16, 0, 0 }, { 38, 41, 0, 16, 0, 0 }, { 40, 41, 0, 16, 0, 0 }, { 42, 41, 0, 16, 0, 0 }, { 44, 41, 0, 16, 0, 0 }, { 46, 41, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 47, 0, 8, 0, 0 }, { 48, 49, 0, 8, 0, 0 }, { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94E039, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, 13, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, { 25, -3, 0, 16, 0, 0 }, { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 41, -5, 0, 24, 0, 0 }, { 41, -7, 0, 24, 0, 0 }, { 41, -9, 0, 24, 0, 0 }, { 41, -11, 0, 24, 0, 0 }, { 41, -13, 0, 24, 0, 0 }, { 41, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 47, -17, 0, 16, 0, 0 }, { 49, -17, 0, 16, 0, 0 }, { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939CD9, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 16, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 10, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 8, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 6, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, - { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 2, 16, 0, 0, 0, 0 }, + { 4, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 2, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -6, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -8, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -10, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -12, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -14, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, - { -16, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -16, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C6CA, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 15, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 21, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 23, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 25, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, - { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 29, 0, 8, 0, 0 }, + { 16, 27, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 16, 29, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 37, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 39, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 41, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 43, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 45, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, - { 16, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F0BB, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 15, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 17, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 21, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 23, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 25, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, - { 27, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 29, 15, 0, 16, 0, 0 }, + { 27, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 29, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 35, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 37, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 39, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 41, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 43, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 45, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, - { 47, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 47, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941AAC, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 16, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 14, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 10, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 8, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 6, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, - { 15, 4, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 2, 0, 24, 0, 0 }, + { 15, 4, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 15, 2, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -4, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -6, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -8, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -10, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -12, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -14, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, - { 15, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93AB73, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 15, 0, 0, 0, 0 }, { 20, 15, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 25, 16, 0, 0, 0, 0 }, { 22, 15, 0, 0, 0, 0 }, { 20, 15, 0, 0, 0, 0 }, { 18, 15, 0, 0, 0, 0 }, { 16, 14, 0, 0, 0, 0 }, { 14, 14, 0, 0, 0, 0 }, { 12, 13, 0, 0, 0, 0 }, { 10, 13, 0, 0, 0, 0 }, { 8, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 4, 12, 0, 0, 0, 0 }, { 2, 11, 0, 0, 0, 0 }, { 1, 11, 0, 0, 0, 0 }, { 0, 11, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { 0, 14, 0, 0, 0, 0 }, { 1, 15, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -4, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -5, 17, 0, 0, 0, 0 }, { -5, 18, 0, 0, 0, 0 }, { -5, 19, 0, 0, 0, 0 }, - { -5, 20, 0, 0, 0, 0 }, { -5, 21, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -5, 22, 0, 0, 0, 0 }, + { -5, 20, 0, 0, 0, 0 }, { -5, 21, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -5, 22, 0, 0, 0, 0 }, { -7, 22, 0, 0, 0, 0 }, { -9, 21, 0, 0, 0, 0 }, { -11, 21, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -16, 20, 0, 0, 0, 0 }, { -17, 19, 0, 0, 0, 0 }, { -18, 19, 0, 0, 0, 0 }, { -19, 18, 0, 0, 0, 0 }, { -20, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, { -24, 17, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -26, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D564, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 15, 9, 0, 8, 0, 0 }, { 15, 11, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 6, 0, 8, 0, 0 }, { 15, 9, 0, 8, 0, 0 }, { 15, 11, 0, 8, 0, 0 }, { 15, 13, 0, 8, 0, 0 }, { 14, 15, 0, 8, 0, 0 }, { 14, 17, 0, 8, 0, 0 }, { 13, 19, 0, 8, 0, 0 }, { 13, 21, 0, 8, 0, 0 }, { 13, 23, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 27, 0, 8, 0, 0 }, { 11, 29, 0, 8, 0, 0 }, { 11, 30, 0, 8, 0, 0 }, { 11, 31, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 14, 31, 0, 8, 0, 0 }, { 15, 30, 0, 8, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 35, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 17, 36, 0, 8, 0, 0 }, { 18, 36, 0, 8, 0, 0 }, { 19, 36, 0, 8, 0, 0 }, - { 20, 36, 0, 8, 0, 0 }, { 21, 36, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 22, 36, 0, 8, 0, 0 }, + { 20, 36, 0, 8, 0, 0 }, { 21, 36, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 22, 36, 0, 8, 0, 0 }, { 22, 38, 0, 8, 0, 0 }, { 21, 40, 0, 8, 0, 0 }, { 21, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { 20, 47, 0, 8, 0, 0 }, { 19, 48, 0, 8, 0, 0 }, { 19, 49, 0, 8, 0, 0 }, { 18, 50, 0, 8, 0, 0 }, { 18, 51, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, { 17, 55, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 57, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 57, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93FF55, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 6, 15, 0, 16, 0, 0 }, { 9, 16, 0, 16, 0, 0 }, { 11, 16, 0, 16, 0, 0 }, { 13, 16, 0, 16, 0, 0 }, { 15, 17, 0, 16, 0, 0 }, { 17, 17, 0, 16, 0, 0 }, { 19, 18, 0, 16, 0, 0 }, { 21, 18, 0, 16, 0, 0 }, { 23, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 27, 19, 0, 16, 0, 0 }, { 29, 20, 0, 16, 0, 0 }, { 30, 20, 0, 16, 0, 0 }, { 31, 20, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 31, 17, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 35, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 36, 14, 0, 16, 0, 0 }, { 36, 13, 0, 16, 0, 0 }, { 36, 12, 0, 16, 0, 0 }, - { 36, 11, 0, 16, 0, 0 }, { 36, 10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 36, 9, 0, 16, 0, 0 }, + { 36, 11, 0, 16, 0, 0 }, { 36, 10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 36, 9, 0, 16, 0, 0 }, { 38, 9, 0, 16, 0, 0 }, { 40, 10, 0, 16, 0, 0 }, { 42, 10, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { 47, 11, 0, 16, 0, 0 }, { 48, 12, 0, 16, 0, 0 }, { 49, 12, 0, 16, 0, 0 }, { 50, 13, 0, 16, 0, 0 }, { 51, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, { 55, 14, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 57, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 57, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942946, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 25, 0, 24, 0, 0 }, { 16, 22, 0, 24, 0, 0 }, { 16, 20, 0, 24, 0, 0 }, { 16, 18, 0, 24, 0, 0 }, { 17, 16, 0, 24, 0, 0 }, { 17, 14, 0, 24, 0, 0 }, { 18, 12, 0, 24, 0, 0 }, { 18, 10, 0, 24, 0, 0 }, { 18, 8, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 4, 0, 24, 0, 0 }, { 20, 2, 0, 24, 0, 0 }, { 20, 1, 0, 24, 0, 0 }, { 20, 0, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 17, 0, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -4, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 14, -5, 0, 24, 0, 0 }, { 13, -5, 0, 24, 0, 0 }, { 12, -5, 0, 24, 0, 0 }, - { 11, -5, 0, 24, 0, 0 }, { 10, -5, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 9, -5, 0, 24, 0, 0 }, + { 11, -5, 0, 24, 0, 0 }, { 10, -5, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 9, -5, 0, 24, 0, 0 }, { 9, -7, 0, 24, 0, 0 }, { 10, -9, 0, 24, 0, 0 }, { 10, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { 11, -16, 0, 24, 0, 0 }, { 12, -17, 0, 24, 0, 0 }, { 12, -18, 0, 24, 0, 0 }, { 13, -19, 0, 24, 0, 0 }, { 13, -20, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, { 14, -24, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -26, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B8DB, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, - { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, + { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 7, 15, 0, 0, 0, 0 }, { 5, 15, 0, 0, 0, 0 }, { 3, 14, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, - { -3, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -7, 11, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, + { -3, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -7, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -8, 11, 0, 0, 0, 0 }, { -9, 11, 0, 0, 0, 0 }, { -10, 11, 0, 0, 0, 0 }, { -11, 11, 0, 0, 0, 0 }, { -12, 11, 0, 0, 0, 0 }, { -13, 11, 0, 0, 0, 0 }, { -14, 11, 0, 0, 0, 0 }, { -15, 11, 0, 0, 0, 0 }, { -16, 11, 0, 0, 0, 0 }, { -17, 11, 0, 0, 0, 0 }, { -18, 11, 0, 0, 0, 0 }, - { -19, 11, 0, 0, 0, 0 }, { -20, 11, 0, 0, 0, 0 }, { -21, 11, 0, 0, 0, 0 }, { -22, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -23, 11, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, { -23, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, - { -23, 15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + { -19, 11, 0, 0, 0, 0 }, { -20, 11, 0, 0, 0, 0 }, { -21, 11, 0, 0, 0, 0 }, { -22, 11, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { -23, 11, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, { -23, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, + { -23, 15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E2CC, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, - { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, + { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 15, 24, 0, 8, 0, 0 }, { 15, 26, 0, 8, 0, 0 }, { 14, 28, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, - { 12, 34, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 11, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, + { 12, 34, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 11, 38, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 11, 39, 0, 8, 0, 0 }, { 11, 40, 0, 8, 0, 0 }, { 11, 41, 0, 8, 0, 0 }, { 11, 42, 0, 8, 0, 0 }, { 11, 43, 0, 8, 0, 0 }, { 11, 44, 0, 8, 0, 0 }, { 11, 45, 0, 8, 0, 0 }, { 11, 46, 0, 8, 0, 0 }, { 11, 47, 0, 8, 0, 0 }, { 11, 48, 0, 8, 0, 0 }, { 11, 49, 0, 8, 0, 0 }, - { 11, 50, 0, 8, 0, 0 }, { 11, 51, 0, 8, 0, 0 }, { 11, 52, 0, 8, 0, 0 }, { 11, 53, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 54, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, { 13, 54, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, - { 15, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + { 11, 50, 0, 8, 0, 0 }, { 11, 51, 0, 8, 0, 0 }, { 11, 52, 0, 8, 0, 0 }, { 11, 53, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 11, 54, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, { 13, 54, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, + { 15, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940CBD, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, - { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, + { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 24, 16, 0, 16, 0, 0 }, { 26, 16, 0, 16, 0, 0 }, { 28, 17, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, - { 34, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 38, 20, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, + { 34, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 38, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 39, 20, 0, 16, 0, 0 }, { 40, 20, 0, 16, 0, 0 }, { 41, 20, 0, 16, 0, 0 }, { 42, 20, 0, 16, 0, 0 }, { 43, 20, 0, 16, 0, 0 }, { 44, 20, 0, 16, 0, 0 }, { 45, 20, 0, 16, 0, 0 }, { 46, 20, 0, 16, 0, 0 }, { 47, 20, 0, 16, 0, 0 }, { 48, 20, 0, 16, 0, 0 }, { 49, 20, 0, 16, 0, 0 }, - { 50, 20, 0, 16, 0, 0 }, { 51, 20, 0, 16, 0, 0 }, { 52, 20, 0, 16, 0, 0 }, { 53, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 54, 20, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, { 54, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, - { 54, 16, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + { 50, 20, 0, 16, 0, 0 }, { 51, 20, 0, 16, 0, 0 }, { 52, 20, 0, 16, 0, 0 }, { 53, 20, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 54, 20, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, { 54, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, + { 54, 16, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9436AE, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, - { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, + { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 16, 7, 0, 24, 0, 0 }, { 16, 5, 0, 24, 0, 0 }, { 17, 3, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, - { 19, -3, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 20, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, + { 19, -3, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 20, -7, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 20, -8, 0, 24, 0, 0 }, { 20, -9, 0, 24, 0, 0 }, { 20, -10, 0, 24, 0, 0 }, { 20, -11, 0, 24, 0, 0 }, { 20, -12, 0, 24, 0, 0 }, { 20, -13, 0, 24, 0, 0 }, { 20, -14, 0, 24, 0, 0 }, { 20, -15, 0, 24, 0, 0 }, { 20, -16, 0, 24, 0, 0 }, { 20, -17, 0, 24, 0, 0 }, { 20, -18, 0, 24, 0, 0 }, - { 20, -19, 0, 24, 0, 0 }, { 20, -20, 0, 24, 0, 0 }, { 20, -21, 0, 24, 0, 0 }, { 20, -22, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, -23, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, { 18, -23, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, - { 16, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, + { 20, -19, 0, 24, 0, 0 }, { 20, -20, 0, 24, 0, 0 }, { 20, -21, 0, 24, 0, 0 }, { 20, -22, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 20, -23, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, { 18, -23, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, + { 16, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9446DE, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, { 17, 17, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 18, 0, 0, 0, 0 }, { 11, 18, 0, 0, 0, 0 }, { 9, 18, 0, 0, 0, 0 }, { 7, 18, 0, 0, 0, 0 }, { 5, 18, 0, 0, 0, 0 }, { 4, 18, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { -2, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 4, 19, 0, 0, 0, 0 }, { 5, 19, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, - { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, + { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, @@ -19757,24 +19766,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9446DE, { { -12, 19, 3, 0, 0, 0 }, { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, { -14, 29, 3, 0, 0, 0 }, { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, - { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, + { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, - { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -17, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94739C, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, { 17, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 18, 0, 8, 0, 0 }, { 18, 20, 0, 8, 0, 0 }, { 18, 22, 0, 8, 0, 0 }, { 18, 24, 0, 8, 0, 0 }, { 18, 26, 0, 8, 0, 0 }, { 18, 27, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 33, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 27, 0, 8, 0, 0 }, { 19, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, - { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, + { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, @@ -19782,24 +19791,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94739C, { { 19, 43, 3, 8, 0, 0 }, { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, { 29, 45, 3, 8, 0, 0 }, { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, - { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, + { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, - { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94A05A, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, { 14, 14, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 13, 0, 16, 0, 0 }, { 20, 13, 0, 16, 0, 0 }, { 22, 13, 0, 16, 0, 0 }, { 24, 13, 0, 16, 0, 0 }, { 26, 13, 0, 16, 0, 0 }, { 27, 13, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 33, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 27, 12, 0, 16, 0, 0 }, { 26, 12, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, - { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, + { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, @@ -19807,24 +19816,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94A05A, { { 43, 12, 3, 16, 0, 0 }, { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, { 45, 2, 3, 16, 0, 0 }, { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, - { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, + { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, - { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 48, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94CD18, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, { 14, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 13, 0, 24, 0, 0 }, { 13, 11, 0, 24, 0, 0 }, { 13, 9, 0, 24, 0, 0 }, { 13, 7, 0, 24, 0, 0 }, { 13, 5, 0, 24, 0, 0 }, { 13, 4, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, -2, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 4, 0, 24, 0, 0 }, { 12, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, - { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, + { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, @@ -19832,24 +19841,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94CD18, { { 12, -12, 3, 24, 0, 0 }, { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, { 2, -14, 3, 24, 0, 0 }, { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, - { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, + { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, - { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_945D3D, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { 17, 15, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 11, 14, 0, 0, 0, 0 }, { 9, 14, 0, 0, 0, 0 }, { 7, 14, 0, 0, 0, 0 }, { 5, 14, 0, 0, 0, 0 }, { 4, 14, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { -2, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, { 5, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, - { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, + { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -16, 29, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, @@ -19857,24 +19866,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_945D3D, { { -12, 13, 3, 0, 0, 0 }, { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, { -14, 3, 3, 0, 0, 0 }, { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, - { -16, -9, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, + { -16, -9, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, - { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -17, -28, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9489FB, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { 15, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 20, 0, 8, 0, 0 }, { 14, 22, 0, 8, 0, 0 }, { 14, 24, 0, 8, 0, 0 }, { 14, 26, 0, 8, 0, 0 }, { 14, 27, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 33, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, { 13, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, - { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, + { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 29, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, @@ -19882,24 +19891,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9489FB, { { 13, 43, 3, 8, 0, 0 }, { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, { 3, 45, 3, 8, 0, 0 }, { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, - { -9, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, + { -9, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, - { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -28, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94B6B9, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 20, 17, 0, 16, 0, 0 }, { 22, 17, 0, 16, 0, 0 }, { 24, 17, 0, 16, 0, 0 }, { 26, 17, 0, 16, 0, 0 }, { 27, 17, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 33, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, { 26, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, - { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, + { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 47, 2, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, @@ -19907,24 +19916,24 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94B6B9, { { 43, 18, 3, 16, 0, 0 }, { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, { 45, 28, 3, 16, 0, 0 }, { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, - { 47, 40, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, + { 47, 40, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, - { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 48, 59, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94E377, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 11, 0, 24, 0, 0 }, { 17, 9, 0, 24, 0, 0 }, { 17, 7, 0, 24, 0, 0 }, { 17, 5, 0, 24, 0, 0 }, { 17, 4, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, -2, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, { 18, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, - { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, + { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 2, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, @@ -19932,515 +19941,515 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_94E377, { { 18, -12, 3, 24, 0, 0 }, { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, { 28, -14, 3, 24, 0, 0 }, { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, - { 40, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, + { 40, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, - { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 59, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_939EAF, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 18, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -9, 14, 0, 24, 0, 0 }, - { -9, 12, 0, 24, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -9, 11, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -11, 12, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, + { -9, 12, 0, 24, 0, 0 }, { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + { -9, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -9, 12, 0, 0, 0, 0 }, { -11, 12, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -17, 12, 0, 0, 0, 0 }, { -19, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -23, 12, 0, 0, 0, 0 }, - { -25, 12, 0, 0, 0, 0 }, { -25, 14, 0, 8, 0, 0 }, { -25, 16, 0, 8, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -25, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -23, 18, 0, 16, 0, 0 }, + { -25, 12, 0, 0, 0, 0 }, { -25, 14, 0, 8, 0, 0 }, { -25, 16, 0, 8, 0, 0 }, { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { -25, 18, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -23, 18, 0, 16, 0, 0 }, { -21, 18, 0, 16, 0, 0 }, { -19, 18, 0, 16, 0, 0 }, { -17, 18, 0, 16, 0, 0 }, { -15, 18, 0, 16, 0, 0 }, { -15, 16, 0, 8, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -15, 16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -15, 16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93C8A0, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 13, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 14, 40, 0, 0, 0, 0 }, - { 12, 40, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 11, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { 12, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, + { 12, 40, 0, 0, 0, 0 }, { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + { 11, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 40, 0, 8, 0, 0 }, { 12, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { 12, 48, 0, 8, 0, 0 }, { 12, 50, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { 12, 54, 0, 8, 0, 0 }, - { 12, 56, 0, 8, 0, 0 }, { 14, 56, 0, 16, 0, 0 }, { 16, 56, 0, 16, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 18, 56, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 54, 0, 24, 0, 0 }, + { 12, 56, 0, 8, 0, 0 }, { 14, 56, 0, 16, 0, 0 }, { 16, 56, 0, 16, 0, 0 }, { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 18, 56, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 18, 54, 0, 24, 0, 0 }, { 18, 52, 0, 24, 0, 0 }, { 18, 50, 0, 24, 0, 0 }, { 18, 48, 0, 24, 0, 0 }, { 18, 46, 0, 24, 0, 0 }, { 16, 46, 0, 16, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 46, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 46, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F291, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 13, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 40, 17, 0, 8, 0, 0 }, - { 40, 19, 0, 8, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 40, 20, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { 42, 19, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, + { 40, 19, 0, 8, 0, 0 }, { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + { 40, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 40, 19, 0, 16, 0, 0 }, { 42, 19, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { 48, 19, 0, 16, 0, 0 }, { 50, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { 54, 19, 0, 16, 0, 0 }, - { 56, 19, 0, 16, 0, 0 }, { 56, 17, 0, 24, 0, 0 }, { 56, 15, 0, 24, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 56, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 54, 13, 0, 0, 0, 0 }, + { 56, 19, 0, 16, 0, 0 }, { 56, 17, 0, 24, 0, 0 }, { 56, 15, 0, 24, 0, 0 }, { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 56, 13, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 54, 13, 0, 0, 0, 0 }, { 52, 13, 0, 0, 0, 0 }, { 50, 13, 0, 0, 0, 0 }, { 48, 13, 0, 0, 0, 0 }, { 46, 13, 0, 0, 0, 0 }, { 46, 15, 0, 24, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 46, 15, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 46, 15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941C82, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 18, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 17, -9, 0, 16, 0, 0 }, - { 19, -9, 0, 16, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, - { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 20, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { 19, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, + { 19, -9, 0, 16, 0, 0 }, { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), + { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + { 20, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, -9, 0, 24, 0, 0 }, { 19, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { 19, -17, 0, 24, 0, 0 }, { 19, -19, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { 19, -23, 0, 24, 0, 0 }, - { 19, -25, 0, 24, 0, 0 }, { 17, -25, 0, 0, 0, 0 }, { 15, -25, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 13, -25, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, -23, 0, 8, 0, 0 }, + { 19, -25, 0, 24, 0, 0 }, { 17, -25, 0, 0, 0, 0 }, { 15, -25, 0, 0, 0, 0 }, { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 13, -25, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 13, -23, 0, 8, 0, 0 }, { 13, -21, 0, 8, 0, 0 }, { 13, -19, 0, 8, 0, 0 }, { 13, -17, 0, 8, 0, 0 }, { 13, -15, 0, 8, 0, 0 }, { 15, -15, 0, 0, 0, 0 }, - { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -15, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93ADA3, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 0, 0, 0, 0 }, { 7, 16, 0, 0, 0, 0 }, { 5, 16, 0, 0, 0, 0 }, { 3, 16, 0, 0, 0, 0 }, { 1, 16, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 16, 0, 0, 0, 0 }, { -5, 16, 0, 0, 0, 0 }, { -7, 16, 0, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -19, 14, 0, 24, 0, 0 }, - { -19, 12, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -19, 12, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -19, 14, 0, 8, 0, 0 }, { -19, 16, 0, 8, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, - { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -19, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -19, 12, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { -19, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -19, 12, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { -19, 14, 0, 8, 0, 0 }, { -19, 16, 0, 8, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, + { -25, 16, 0, 0, 0, 0 }, { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { -27, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93D794, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 0, 8, 0, 0 }, { 16, 24, 0, 8, 0, 0 }, { 16, 26, 0, 8, 0, 0 }, { 16, 28, 0, 8, 0, 0 }, { 16, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 16, 34, 0, 8, 0, 0 }, { 16, 36, 0, 8, 0, 0 }, { 16, 38, 0, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 14, 50, 0, 0, 0, 0 }, - { 12, 50, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 50, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 14, 50, 0, 16, 0, 0 }, { 16, 50, 0, 16, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, - { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 12, 50, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 50, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 12, 50, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 50, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 14, 50, 0, 16, 0, 0 }, { 16, 50, 0, 16, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, + { 16, 56, 0, 8, 0, 0 }, { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 16, 58, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940185, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 0, 16, 0, 0 }, { 24, 15, 0, 16, 0, 0 }, { 26, 15, 0, 16, 0, 0 }, { 28, 15, 0, 16, 0, 0 }, { 30, 15, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 15, 0, 16, 0, 0 }, { 36, 15, 0, 16, 0, 0 }, { 38, 15, 0, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 50, 17, 0, 8, 0, 0 }, - { 50, 19, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 50, 19, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 50, 17, 0, 24, 0, 0 }, { 50, 15, 0, 24, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, - { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 50, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 50, 19, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 50, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 50, 19, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 50, 17, 0, 24, 0, 0 }, { 50, 15, 0, 24, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, + { 56, 15, 0, 16, 0, 0 }, { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 58, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942B76, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 0, 24, 0, 0 }, { 15, 7, 0, 24, 0, 0 }, { 15, 5, 0, 24, 0, 0 }, { 15, 3, 0, 24, 0, 0 }, { 15, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 15, -3, 0, 24, 0, 0 }, { 15, -5, 0, 24, 0, 0 }, { 15, -7, 0, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 17, -19, 0, 16, 0, 0 }, - { 19, -19, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, -19, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 17, -19, 0, 0, 0, 0 }, { 15, -19, 0, 0, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, - { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 19, -19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, -19, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 19, -19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, -19, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 17, -19, 0, 0, 0, 0 }, { 15, -19, 0, 0, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, + { 15, -25, 0, 24, 0, 0 }, { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), { 15, -27, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93BAB1, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, - { 20, 14, 0, 24, 0, 0 }, { 20, 12, 0, 24, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 12, 0, 8, 0, 0 }, { 19, 14, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, + { 20, 14, 0, 24, 0, 0 }, { 20, 12, 0, 24, 0, 0 }, { 20, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 20, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 20, 11, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 20, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, 12, 0, 8, 0, 0 }, { 19, 14, 0, 8, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 16, 0, 0, 0, 0 }, { 11, 16, 0, 0, 0, 0 }, { 9, 16, 5, 0, 0, 0 }, { 7, 16, 5, 0, 0, 0 }, { 5, 16, 5, 0, 0, 0 }, { 3, 16, 5, 0, 0, 0 }, { 1, 16, 5, 0, 0, 0 }, { -1, 16, 5, 0, 0, 0 }, { -3, 16, 5, 0, 0, 0 }, { -5, 16, 5, 0, 0, 0 }, { -7, 16, 5, 0, 0, 0 }, { -9, 16, 0, 0, 0, 0 }, { -11, 16, 0, 0, 0, 0 }, { -13, 16, 0, 0, 0, 0 }, { -15, 16, 0, 0, 0, 0 }, { -17, 16, 0, 0, 0, 0 }, { -19, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -23, 18, 0, 8, 0, 0 }, { -23, 20, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -23, 21, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -23, 20, 0, 24, 0, 0 }, { -23, 18, 0, 24, 0, 0 }, { -23, 16, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -23, 16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, - { -27, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -23, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -23, 21, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { -23, 21, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -23, 20, 0, 24, 0, 0 }, { -23, 18, 0, 24, 0, 0 }, { -23, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { -23, 16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -23, 16, 0, 0, 0, 0 }, { -25, 16, 0, 0, 0, 0 }, + { -27, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E4A2, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, - { 14, 11, 0, 0, 0, 0 }, { 12, 11, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 12, 0, 16, 0, 0 }, { 14, 12, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, + { 14, 11, 0, 0, 0, 0 }, { 12, 11, 0, 0, 0, 0 }, { 11, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 11, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 11, 11, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 11, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 12, 0, 16, 0, 0 }, { 14, 12, 0, 16, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 16, 18, 0, 8, 0, 0 }, { 16, 20, 0, 8, 0, 0 }, { 16, 22, 5, 8, 0, 0 }, { 16, 24, 5, 8, 0, 0 }, { 16, 26, 5, 8, 0, 0 }, { 16, 28, 5, 8, 0, 0 }, { 16, 30, 5, 8, 0, 0 }, { 16, 32, 5, 8, 0, 0 }, { 16, 34, 5, 8, 0, 0 }, { 16, 36, 5, 8, 0, 0 }, { 16, 38, 5, 8, 0, 0 }, { 16, 40, 0, 8, 0, 0 }, { 16, 42, 0, 8, 0, 0 }, { 16, 44, 0, 8, 0, 0 }, { 16, 46, 0, 8, 0, 0 }, { 16, 48, 0, 8, 0, 0 }, { 16, 50, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 18, 54, 0, 16, 0, 0 }, { 20, 54, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 21, 54, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 20, 54, 0, 0, 0, 0 }, { 18, 54, 0, 0, 0, 0 }, { 16, 54, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 54, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, - { 16, 58, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 21, 54, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 21, 54, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 21, 54, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 20, 54, 0, 0, 0, 0 }, { 18, 54, 0, 0, 0, 0 }, { 16, 54, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 16, 54, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 16, 54, 0, 8, 0, 0 }, { 16, 56, 0, 8, 0, 0 }, + { 16, 58, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_940E93, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, - { 11, 17, 0, 8, 0, 0 }, { 11, 19, 0, 8, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 19, 0, 24, 0, 0 }, { 12, 17, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, + { 11, 17, 0, 8, 0, 0 }, { 11, 19, 0, 8, 0, 0 }, { 11, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 11, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 11, 20, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 11, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 19, 0, 24, 0, 0 }, { 12, 17, 0, 24, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 15, 0, 16, 0, 0 }, { 20, 15, 0, 16, 0, 0 }, { 22, 15, 5, 16, 0, 0 }, { 24, 15, 5, 16, 0, 0 }, { 26, 15, 5, 16, 0, 0 }, { 28, 15, 5, 16, 0, 0 }, { 30, 15, 5, 16, 0, 0 }, { 32, 15, 5, 16, 0, 0 }, { 34, 15, 5, 16, 0, 0 }, { 36, 15, 5, 16, 0, 0 }, { 38, 15, 5, 16, 0, 0 }, { 40, 15, 0, 16, 0, 0 }, { 42, 15, 0, 16, 0, 0 }, { 44, 15, 0, 16, 0, 0 }, { 46, 15, 0, 16, 0, 0 }, { 48, 15, 0, 16, 0, 0 }, { 50, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 54, 13, 0, 24, 0, 0 }, { 54, 11, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 54, 10, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 54, 11, 0, 8, 0, 0 }, { 54, 13, 0, 8, 0, 0 }, { 54, 15, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 54, 15, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, - { 58, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 54, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 54, 10, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 54, 10, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 54, 11, 0, 8, 0, 0 }, { 54, 13, 0, 8, 0, 0 }, { 54, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 54, 15, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 54, 15, 0, 16, 0, 0 }, { 56, 15, 0, 16, 0, 0 }, + { 58, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943884, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, - { 17, 20, 0, 16, 0, 0 }, { 19, 20, 0, 16, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 19, 0, 0, 0, 0 }, { 17, 19, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, + { 17, 20, 0, 16, 0, 0 }, { 19, 20, 0, 16, 0, 0 }, { 20, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), + MINI_GOLF_STATE(Unk3), { 20, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 20, 20, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk2), { 20, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, 19, 0, 0, 0, 0 }, { 17, 19, 0, 0, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 15, 13, 0, 24, 0, 0 }, { 15, 11, 0, 24, 0, 0 }, { 15, 9, 5, 24, 0, 0 }, { 15, 7, 5, 24, 0, 0 }, { 15, 5, 5, 24, 0, 0 }, { 15, 3, 5, 24, 0, 0 }, { 15, 1, 5, 24, 0, 0 }, { 15, -1, 5, 24, 0, 0 }, { 15, -3, 5, 24, 0, 0 }, { 15, -5, 5, 24, 0, 0 }, { 15, -7, 5, 24, 0, 0 }, { 15, -9, 0, 24, 0, 0 }, { 15, -11, 0, 24, 0, 0 }, { 15, -13, 0, 24, 0, 0 }, { 15, -15, 0, 24, 0, 0 }, { 15, -17, 0, 24, 0, 0 }, { 15, -19, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 13, -23, 0, 0, 0, 0 }, { 11, -23, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 10, -23, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 11, -23, 0, 16, 0, 0 }, { 13, -23, 0, 16, 0, 0 }, { 15, -23, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, -23, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, - { 15, -27, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 10, -23, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 10, -23, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 10, -23, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 11, -23, 0, 16, 0, 0 }, { 13, -23, 0, 16, 0, 0 }, { 15, -23, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), MINI_GOLF_STATE(Unk5), + { 15, -23, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 15, -23, 0, 24, 0, 0 }, { 15, -25, 0, 24, 0, 0 }, + { 15, -27, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_944AA3, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 20, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 20, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 18, 0, 8, 0, 0 }, { 15, 20, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 20, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 13, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 1, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -3, 22, 0, 8, 0, 0 }, { -3, 24, 0, 8, 0, 0 }, { -3, 26, 0, 8, 0, 0 }, { -3, 28, 0, 8, 0, 0 }, { -3, 30, 0, 8, 0, 0 }, { -3, 32, 0, 8, 0, 0 }, { -3, 34, 0, 8, 0, 0 }, { -3, 36, 0, 8, 0, 0 }, { -3, 38, 0, 8, 0, 0 }, { -3, 40, 0, 8, 0, 0 }, { -3, 42, 0, 8, 0, 0 }, { -5, 42, 0, 0, 0, 0 }, { -7, 42, 0, 0, 0, 0 }, { -9, 42, 0, 0, 0, 0 }, { -11, 42, 0, 0, 0, 0 }, { -13, 42, 0, 0, 0, 0 }, { -15, 42, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, 43, 0, 8, 0, 0 }, { -17, 45, 0, 8, 0, 0 }, { -17, 47, 0, 8, 0, 0 }, { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, 48, 0, 8, 0, 0 }, { -17, 50, 0, 8, 0, 0 }, { -17, 52, 0, 8, 0, 0 }, { -17, 54, 0, 8, 0, 0 }, { -17, 56, 0, 8, 0, 0 }, { -17, 58, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_947761, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 20, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 20, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 16, 0, 16, 0, 0 }, { 20, 16, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 20, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 20, 18, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 30, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 22, 34, 0, 16, 0, 0 }, { 24, 34, 0, 16, 0, 0 }, { 26, 34, 0, 16, 0, 0 }, { 28, 34, 0, 16, 0, 0 }, { 30, 34, 0, 16, 0, 0 }, { 32, 34, 0, 16, 0, 0 }, { 34, 34, 0, 16, 0, 0 }, { 36, 34, 0, 16, 0, 0 }, { 38, 34, 0, 16, 0, 0 }, { 40, 34, 0, 16, 0, 0 }, { 42, 34, 0, 16, 0, 0 }, { 42, 36, 0, 8, 0, 0 }, { 42, 38, 0, 8, 0, 0 }, { 42, 40, 0, 8, 0, 0 }, { 42, 42, 0, 8, 0, 0 }, { 42, 44, 0, 8, 0, 0 }, { 42, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 43, 48, 0, 16, 0, 0 }, { 45, 48, 0, 16, 0, 0 }, { 47, 48, 0, 16, 0, 0 }, { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 49, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 48, 0, 16, 0, 0 }, { 50, 48, 0, 16, 0, 0 }, { 52, 48, 0, 16, 0, 0 }, { 54, 48, 0, 16, 0, 0 }, { 56, 48, 0, 16, 0, 0 }, { 58, 48, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94A41F, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 11, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 11, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 13, 0, 24, 0, 0 }, { 16, 11, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 11, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 18, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 30, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 34, 9, 0, 24, 0, 0 }, { 34, 7, 0, 24, 0, 0 }, { 34, 5, 0, 24, 0, 0 }, { 34, 3, 0, 24, 0, 0 }, { 34, 1, 0, 24, 0, 0 }, { 34, -1, 0, 24, 0, 0 }, { 34, -3, 0, 24, 0, 0 }, { 34, -5, 0, 24, 0, 0 }, { 34, -7, 0, 24, 0, 0 }, { 34, -9, 0, 24, 0, 0 }, { 34, -11, 0, 24, 0, 0 }, { 36, -11, 0, 16, 0, 0 }, { 38, -11, 0, 16, 0, 0 }, { 40, -11, 0, 16, 0, 0 }, { 42, -11, 0, 16, 0, 0 }, { 44, -11, 0, 16, 0, 0 }, { 46, -11, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, -12, 0, 24, 0, 0 }, { 48, -14, 0, 24, 0, 0 }, { 48, -16, 0, 24, 0, 0 }, { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, -17, 0, 24, 0, 0 }, { 48, -19, 0, 24, 0, 0 }, { 48, -21, 0, 24, 0, 0 }, { 48, -23, 0, 24, 0, 0 }, { 48, -25, 0, 24, 0, 0 }, { 48, -27, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94D0DD, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 11, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 11, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 15, 0, 0, 0, 0 }, { 11, 15, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 11, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 11, 13, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 1, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 9, -3, 0, 0, 0, 0 }, { 7, -3, 0, 0, 0, 0 }, { 5, -3, 0, 0, 0, 0 }, { 3, -3, 0, 0, 0, 0 }, { 1, -3, 0, 0, 0, 0 }, { -1, -3, 0, 0, 0, 0 }, { -3, -3, 0, 0, 0, 0 }, { -5, -3, 0, 0, 0, 0 }, { -7, -3, 0, 0, 0, 0 }, { -9, -3, 0, 0, 0, 0 }, { -11, -3, 0, 0, 0, 0 }, { -11, -5, 0, 24, 0, 0 }, { -11, -7, 0, 24, 0, 0 }, { -11, -9, 0, 24, 0, 0 }, { -11, -11, 0, 24, 0, 0 }, { -11, -13, 0, 24, 0, 0 }, { -11, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -12, -17, 0, 0, 0, 0 }, { -14, -17, 0, 0, 0, 0 }, { -16, -17, 0, 0, 0, 0 }, { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -18, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, -17, 0, 0, 0, 0 }, { -19, -17, 0, 0, 0, 0 }, { -21, -17, 0, 0, 0, 0 }, { -23, -17, 0, 0, 0, 0 }, { -25, -17, 0, 0, 0, 0 }, { -27, -17, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_946102, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 27, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 27, 16, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, - { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 12, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, { 29, 16, 0, 0, 0, 0 }, { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 27, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 27, 16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 27, 16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 25, 16, 0, 0, 0, 0 }, { 23, 16, 0, 0, 0, 0 }, { 21, 16, 0, 0, 0, 0 }, { 19, 16, 0, 0, 0, 0 }, + { 17, 16, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 15, 14, 0, 24, 0, 0 }, { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 13, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -3, 10, 0, 24, 0, 0 }, { -3, 8, 0, 24, 0, 0 }, { -3, 6, 0, 24, 0, 0 }, { -3, 4, 0, 24, 0, 0 }, { -3, 2, 0, 24, 0, 0 }, { -3, 0, 0, 24, 0, 0 }, { -3, -2, 0, 24, 0, 0 }, { -3, -4, 0, 24, 0, 0 }, { -3, -6, 0, 24, 0, 0 }, { -3, -8, 0, 24, 0, 0 }, { -3, -10, 0, 24, 0, 0 }, { -5, -10, 0, 0, 0, 0 }, { -7, -10, 0, 0, 0, 0 }, { -9, -10, 0, 0, 0, 0 }, { -11, -10, 0, 0, 0, 0 }, { -13, -10, 0, 0, 0, 0 }, { -15, -10, 0, 0, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -16, -9, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -17, -16, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { -16, -9, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -17, -11, 0, 24, 0, 0 }, { -17, -13, 0, 24, 0, 0 }, { -17, -15, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -17, -16, 0, 24, 0, 0 }, { -17, -18, 0, 24, 0, 0 }, { -17, -20, 0, 24, 0, 0 }, { -17, -22, 0, 24, 0, 0 }, { -17, -24, 0, 24, 0, 0 }, { -17, -26, 0, 24, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_948DC0, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 4, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 4, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, - { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 12, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, { 16, 2, 0, 8, 0, 0 }, { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 16, 4, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 16, 4, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 4, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 16, 6, 0, 8, 0, 0 }, { 16, 8, 0, 8, 0, 0 }, { 16, 10, 0, 8, 0, 0 }, { 16, 12, 0, 8, 0, 0 }, + { 16, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 16, 0, 0, 0, 0 }, { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 12, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 18, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 10, 34, 0, 0, 0, 0 }, { 8, 34, 0, 0, 0, 0 }, { 6, 34, 0, 0, 0, 0 }, { 4, 34, 0, 0, 0, 0 }, { 2, 34, 0, 0, 0, 0 }, { 0, 34, 0, 0, 0, 0 }, { -2, 34, 0, 0, 0, 0 }, { -4, 34, 0, 0, 0, 0 }, { -6, 34, 0, 0, 0, 0 }, { -8, 34, 0, 0, 0, 0 }, { -10, 34, 0, 0, 0, 0 }, { -10, 36, 0, 8, 0, 0 }, { -10, 38, 0, 8, 0, 0 }, { -10, 40, 0, 8, 0, 0 }, { -10, 42, 0, 8, 0, 0 }, { -10, 44, 0, 8, 0, 0 }, { -10, 46, 0, 8, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -9, 47, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -16, 48, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { -9, 47, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -11, 48, 0, 0, 0, 0 }, { -13, 48, 0, 0, 0, 0 }, { -15, 48, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { -17, 48, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { -16, 48, 0, 0, 0, 0 }, { -18, 48, 0, 0, 0, 0 }, { -20, 48, 0, 0, 0, 0 }, { -22, 48, 0, 0, 0, 0 }, { -24, 48, 0, 0, 0, 0 }, { -26, 48, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94BA7E, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 4, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 4, 15, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, - { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 16, 19, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, { 2, 15, 0, 16, 0, 0 }, { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 4, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 4, 15, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 4, 15, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 6, 15, 0, 16, 0, 0 }, { 8, 15, 0, 16, 0, 0 }, { 10, 15, 0, 16, 0, 0 }, { 12, 15, 0, 16, 0, 0 }, + { 14, 15, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 16, 17, 0, 8, 0, 0 }, { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 19, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 18, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 34, 21, 0, 8, 0, 0 }, { 34, 23, 0, 8, 0, 0 }, { 34, 25, 0, 8, 0, 0 }, { 34, 27, 0, 8, 0, 0 }, { 34, 29, 0, 8, 0, 0 }, { 34, 31, 0, 8, 0, 0 }, { 34, 33, 0, 8, 0, 0 }, { 34, 35, 0, 8, 0, 0 }, { 34, 37, 0, 8, 0, 0 }, { 34, 39, 0, 8, 0, 0 }, { 34, 41, 0, 8, 0, 0 }, { 36, 41, 0, 16, 0, 0 }, { 38, 41, 0, 16, 0, 0 }, { 40, 41, 0, 16, 0, 0 }, { 42, 41, 0, 16, 0, 0 }, { 44, 41, 0, 16, 0, 0 }, { 46, 41, 0, 16, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 47, 40, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 48, 47, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 47, 40, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 48, 42, 0, 8, 0, 0 }, { 48, 44, 0, 8, 0, 0 }, { 48, 46, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 48, 47, 0, 8, 0, 0 }, { 48, 49, 0, 8, 0, 0 }, { 48, 51, 0, 8, 0, 0 }, { 48, 53, 0, 8, 0, 0 }, { 48, 55, 0, 8, 0, 0 }, { 48, 57, 0, 8, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94E73C, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 5, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 15, 27, 0, 24, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 27, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, - { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 4, 2, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, - { 19, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, { 15, 29, 0, 24, 0, 0 }, { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk2), { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallUp), MINI_GOLF_STATE(Unk5), + { 15, 27, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), { 15, 27, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 27, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 15, 25, 0, 24, 0, 0 }, { 15, 23, 0, 24, 0, 0 }, { 15, 21, 0, 24, 0, 0 }, { 15, 19, 0, 24, 0, 0 }, + { 15, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 15, 0, 16, 0, 0 }, { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_ANIMATION(SwingLeft), + MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), MINI_GOLF_STATE(Unk5), + { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 19, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, 13, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 21, -3, 0, 16, 0, 0 }, { 23, -3, 0, 16, 0, 0 }, { 25, -3, 0, 16, 0, 0 }, { 27, -3, 0, 16, 0, 0 }, { 29, -3, 0, 16, 0, 0 }, { 31, -3, 0, 16, 0, 0 }, { 33, -3, 0, 16, 0, 0 }, { 35, -3, 0, 16, 0, 0 }, { 37, -3, 0, 16, 0, 0 }, { 39, -3, 0, 16, 0, 0 }, { 41, -3, 0, 16, 0, 0 }, { 41, -5, 0, 24, 0, 0 }, { 41, -7, 0, 24, 0, 0 }, { 41, -9, 0, 24, 0, 0 }, { 41, -11, 0, 24, 0, 0 }, { 41, -13, 0, 24, 0, 0 }, { 41, -15, 0, 24, 0, 0 }, - { -32768, 4, 2, 0, 0, 0 }, { -32768, 5, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 6, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 40, -16, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 3, 0, 0, 0 }, - { -32768, 5, 0, 0, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { 47, -17, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(SwingLeft), MINI_GOLF_STATE(Unk5), MINI_GOLF_STATE(Unk3), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PuttLeft), + MINI_GOLF_STATE(Unk5), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 40, -16, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 42, -17, 0, 16, 0, 0 }, { 44, -17, 0, 16, 0, 0 }, { 46, -17, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PickupBall), + MINI_GOLF_STATE(Unk5), { 48, -17, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk6), { 47, -17, 0, 16, 0, 0 }, { 49, -17, 0, 16, 0, 0 }, { 51, -17, 0, 16, 0, 0 }, { 53, -17, 0, 16, 0, 0 }, { 55, -17, 0, 16, 0, 0 }, { 57, -17, 0, 16, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93A1F6, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 23, 15, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 25, 16, 0, 0, 0, 0 }, { 23, 15, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 14, 0, 0, 0, 0 }, { 17, 13, 0, 0, 0, 0 }, { 15, 13, 0, 0, 0, 0 }, { 14, 13, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, { 9, 11, 0, 0, 0, 0 }, { 8, 11, 0, 0, 0, 0 }, { 7, 10, 0, 0, 0, 0 }, { 6, 10, 0, 0, 0, 0 }, { 5, 10, 0, 0, 0, 0 }, { 4, 9, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0 }, { 2, 9, 0, 0, 0, 0 }, { 1, 8, 0, 0, 0, 0 }, { 0, 8, 0, 0, 0, 0 }, { 0, 8, 0, 0, 0, 0 }, { -1, 9, 0, 0, 0, 0 }, { -2, 9, 0, 0, 0, 0 }, { -3, 9, 0, 0, 0, 0 }, { -4, 10, 0, 0, 0, 0 }, { -5, 10, 0, 0, 0, 0 }, { -6, 10, 0, 0, 0, 0 }, - { -7, 11, 0, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, { -9, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -7, 11, 0, 0, 0, 0 }, { -8, 11, 0, 0, 0, 0 }, { -9, 11, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -10, 11, 0, 0, 0, 0 }, { -11, 11, 0, 0, 0, 0 }, { -13, 12, 0, 0, 0, 0 }, { -14, 13, 0, 0, 0, 0 }, { -15, 13, 0, 0, 0, 0 }, { -16, 14, 0, 0, 0, 0 }, { -17, 14, 0, 0, 0, 0 }, { -18, 15, 0, 0, 0, 0 }, { -19, 15, 0, 0, 0, 0 }, { -20, 16, 0, 0, 0, 0 }, - { -21, 16, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -21, 16, 0, 0, 0, 0 }, { -22, 17, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -24, 18, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -22, 18, 0, 0, 0, 0 }, { -21, 18, 0, 0, 0, 0 }, { -20, 18, 0, 0, 0, 0 }, - { -19, 18, 0, 0, 0, 0 }, { -18, 18, 0, 0, 0, 0 }, { -17, 18, 0, 0, 0, 0 }, { -16, 18, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -19, 18, 0, 0, 0, 0 }, { -18, 18, 0, 0, 0, 0 }, { -17, 18, 0, 0, 0, 0 }, { -16, 18, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93CBE7, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 15, 8, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 6, 0, 8, 0, 0 }, { 15, 8, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 14, 12, 0, 8, 0, 0 }, { 13, 14, 0, 8, 0, 0 }, { 13, 16, 0, 8, 0, 0 }, { 13, 17, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, { 11, 22, 0, 8, 0, 0 }, { 11, 23, 0, 8, 0, 0 }, { 10, 24, 0, 8, 0, 0 }, { 10, 25, 0, 8, 0, 0 }, { 10, 26, 0, 8, 0, 0 }, { 9, 27, 0, 8, 0, 0 }, { 9, 28, 0, 8, 0, 0 }, { 9, 29, 0, 8, 0, 0 }, { 8, 30, 0, 8, 0, 0 }, { 8, 31, 0, 8, 0, 0 }, { 8, 31, 0, 8, 0, 0 }, { 9, 32, 0, 8, 0, 0 }, { 9, 33, 0, 8, 0, 0 }, { 9, 34, 0, 8, 0, 0 }, { 10, 35, 0, 8, 0, 0 }, { 10, 36, 0, 8, 0, 0 }, { 10, 37, 0, 8, 0, 0 }, - { 11, 38, 0, 8, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, { 11, 40, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 11, 38, 0, 8, 0, 0 }, { 11, 39, 0, 8, 0, 0 }, { 11, 40, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 11, 41, 0, 8, 0, 0 }, { 11, 42, 0, 8, 0, 0 }, { 12, 44, 0, 8, 0, 0 }, { 13, 45, 0, 8, 0, 0 }, { 13, 46, 0, 8, 0, 0 }, { 14, 47, 0, 8, 0, 0 }, { 14, 48, 0, 8, 0, 0 }, { 15, 49, 0, 8, 0, 0 }, { 15, 50, 0, 8, 0, 0 }, { 16, 51, 0, 8, 0, 0 }, - { 16, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 16, 52, 0, 8, 0, 0 }, { 17, 53, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 18, 55, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 18, 53, 0, 8, 0, 0 }, { 18, 52, 0, 8, 0, 0 }, { 18, 51, 0, 8, 0, 0 }, - { 18, 50, 0, 8, 0, 0 }, { 18, 49, 0, 8, 0, 0 }, { 18, 48, 0, 8, 0, 0 }, { 18, 47, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 18, 50, 0, 8, 0, 0 }, { 18, 49, 0, 8, 0, 0 }, { 18, 48, 0, 8, 0, 0 }, { 18, 47, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93F5D8, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 6, 15, 0, 16, 0, 0 }, { 8, 16, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 17, 0, 16, 0, 0 }, { 14, 18, 0, 16, 0, 0 }, { 16, 18, 0, 16, 0, 0 }, { 17, 18, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, { 22, 20, 0, 16, 0, 0 }, { 23, 20, 0, 16, 0, 0 }, { 24, 21, 0, 16, 0, 0 }, { 25, 21, 0, 16, 0, 0 }, { 26, 21, 0, 16, 0, 0 }, { 27, 22, 0, 16, 0, 0 }, { 28, 22, 0, 16, 0, 0 }, { 29, 22, 0, 16, 0, 0 }, { 30, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, { 31, 23, 0, 16, 0, 0 }, { 32, 22, 0, 16, 0, 0 }, { 33, 22, 0, 16, 0, 0 }, { 34, 22, 0, 16, 0, 0 }, { 35, 21, 0, 16, 0, 0 }, { 36, 21, 0, 16, 0, 0 }, { 37, 21, 0, 16, 0, 0 }, - { 38, 20, 0, 16, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, { 40, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 38, 20, 0, 16, 0, 0 }, { 39, 20, 0, 16, 0, 0 }, { 40, 20, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 41, 20, 0, 16, 0, 0 }, { 42, 20, 0, 16, 0, 0 }, { 44, 19, 0, 16, 0, 0 }, { 45, 18, 0, 16, 0, 0 }, { 46, 18, 0, 16, 0, 0 }, { 47, 17, 0, 16, 0, 0 }, { 48, 17, 0, 16, 0, 0 }, { 49, 16, 0, 16, 0, 0 }, { 50, 16, 0, 16, 0, 0 }, { 51, 15, 0, 16, 0, 0 }, - { 52, 15, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 52, 15, 0, 16, 0, 0 }, { 53, 14, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 55, 13, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 53, 13, 0, 16, 0, 0 }, { 52, 13, 0, 16, 0, 0 }, { 51, 13, 0, 16, 0, 0 }, - { 50, 13, 0, 16, 0, 0 }, { 49, 13, 0, 16, 0, 0 }, { 48, 13, 0, 16, 0, 0 }, { 47, 13, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 50, 13, 0, 16, 0, 0 }, { 49, 13, 0, 16, 0, 0 }, { 48, 13, 0, 16, 0, 0 }, { 47, 13, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_941FC9, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 25, 0, 24, 0, 0 }, { 16, 23, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 17, 19, 0, 24, 0, 0 }, { 18, 17, 0, 24, 0, 0 }, { 18, 15, 0, 24, 0, 0 }, { 18, 14, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, { 20, 9, 0, 24, 0, 0 }, { 20, 8, 0, 24, 0, 0 }, { 21, 7, 0, 24, 0, 0 }, { 21, 6, 0, 24, 0, 0 }, { 21, 5, 0, 24, 0, 0 }, { 22, 4, 0, 24, 0, 0 }, { 22, 3, 0, 24, 0, 0 }, { 22, 2, 0, 24, 0, 0 }, { 23, 1, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, { 23, 0, 0, 24, 0, 0 }, { 22, -1, 0, 24, 0, 0 }, { 22, -2, 0, 24, 0, 0 }, { 22, -3, 0, 24, 0, 0 }, { 21, -4, 0, 24, 0, 0 }, { 21, -5, 0, 24, 0, 0 }, { 21, -6, 0, 24, 0, 0 }, - { 20, -7, 0, 24, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, { 20, -9, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 20, -7, 0, 24, 0, 0 }, { 20, -8, 0, 24, 0, 0 }, { 20, -9, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 20, -10, 0, 24, 0, 0 }, { 20, -11, 0, 24, 0, 0 }, { 19, -13, 0, 24, 0, 0 }, { 18, -14, 0, 24, 0, 0 }, { 18, -15, 0, 24, 0, 0 }, { 17, -16, 0, 24, 0, 0 }, { 17, -17, 0, 24, 0, 0 }, { 16, -18, 0, 24, 0, 0 }, { 16, -19, 0, 24, 0, 0 }, { 15, -20, 0, 24, 0, 0 }, - { 15, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 15, -21, 0, 24, 0, 0 }, { 14, -22, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 13, -24, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 13, -22, 0, 24, 0, 0 }, { 13, -21, 0, 24, 0, 0 }, { 13, -20, 0, 24, 0, 0 }, - { 13, -19, 0, 24, 0, 0 }, { 13, -18, 0, 24, 0, 0 }, { 13, -17, 0, 24, 0, 0 }, { 13, -16, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 13, -19, 0, 24, 0, 0 }, { 13, -18, 0, 24, 0, 0 }, { 13, -17, 0, 24, 0, 0 }, { 13, -16, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93B01B, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 25, 16, 0, 0, 0, 0 }, { 22, 16, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { 16, 15, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 10, 14, 0, 0, 0, 0 }, { 7, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -2, 15, 0, 0, 0, 0 }, { -2, 18, 0, 0, 0, 0 }, { -2, 21, 0, 0, 0, 0 }, { -2, 24, 0, 0, 0, 0 }, { -2, 26, 0, 0, 0, 0 }, { -4, 26, 0, 0, 0, 0 }, { -6, 26, 0, 0, 0, 0 }, { -8, 26, 0, 0, 0, 0 }, @@ -20450,15 +20459,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93B01B, { { -24, 14, 0, 0, 0, 0 }, { -25, 14, 0, 0, 0, 0 }, { -26, 14, 0, 0, 0, 0 }, { -27, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -31, 14, 0, 0, 0, 0 }, { -30, 14, 0, 0, 0, 0 }, { -29, 14, 0, 0, 0, 0 }, { -28, 14, 0, 0, 0, 0 }, { -27, 13, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -25, 13, 0, 0, 0, 0 }, { -24, 13, 0, 0, 0, 0 }, - { -23, 13, 0, 0, 0, 0 }, { -22, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -23, 13, 0, 0, 0, 0 }, { -22, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -20, 12, 0, 0, 0, 0 }, { -21, 12, 0, 0, 0, 0 }, { -22, 13, 0, 0, 0, 0 }, { -23, 14, 0, 0, 0, 0 }, { -24, 14, 0, 0, 0, 0 }, - { -25, 15, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -25, 15, 0, 0, 0, 0 }, { -26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93DA0C, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 6, 0, 8, 0, 0 }, { 16, 9, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { 15, 15, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 21, 0, 8, 0, 0 }, { 13, 24, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 15, 33, 0, 8, 0, 0 }, { 18, 33, 0, 8, 0, 0 }, { 21, 33, 0, 8, 0, 0 }, { 24, 33, 0, 8, 0, 0 }, { 26, 33, 0, 8, 0, 0 }, { 26, 35, 0, 8, 0, 0 }, { 26, 37, 0, 8, 0, 0 }, { 26, 39, 0, 8, 0, 0 }, @@ -20468,15 +20477,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_93DA0C, { { 14, 55, 0, 8, 0, 0 }, { 14, 56, 0, 8, 0, 0 }, { 14, 57, 0, 8, 0, 0 }, { 14, 58, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 62, 0, 8, 0, 0 }, { 14, 61, 0, 8, 0, 0 }, { 14, 60, 0, 8, 0, 0 }, { 14, 59, 0, 8, 0, 0 }, { 13, 58, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 13, 56, 0, 8, 0, 0 }, { 13, 55, 0, 8, 0, 0 }, - { 13, 54, 0, 8, 0, 0 }, { 12, 53, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 13, 54, 0, 8, 0, 0 }, { 12, 53, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 12, 51, 0, 8, 0, 0 }, { 12, 52, 0, 8, 0, 0 }, { 13, 53, 0, 8, 0, 0 }, { 14, 54, 0, 8, 0, 0 }, { 14, 55, 0, 8, 0, 0 }, - { 15, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 15, 56, 0, 8, 0, 0 }, { 16, 57, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9403FD, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 6, 15, 0, 16, 0, 0 }, { 9, 15, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 15, 16, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 21, 17, 0, 16, 0, 0 }, { 24, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 33, 16, 0, 16, 0, 0 }, { 33, 13, 0, 16, 0, 0 }, { 33, 10, 0, 16, 0, 0 }, { 33, 7, 0, 16, 0, 0 }, { 33, 5, 0, 16, 0, 0 }, { 35, 5, 0, 16, 0, 0 }, { 37, 5, 0, 16, 0, 0 }, { 39, 5, 0, 16, 0, 0 }, @@ -20486,15 +20495,15 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_9403FD, { { 55, 17, 0, 16, 0, 0 }, { 56, 17, 0, 16, 0, 0 }, { 57, 17, 0, 16, 0, 0 }, { 58, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 62, 17, 0, 16, 0, 0 }, { 61, 17, 0, 16, 0, 0 }, { 60, 17, 0, 16, 0, 0 }, { 59, 17, 0, 16, 0, 0 }, { 58, 18, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 56, 18, 0, 16, 0, 0 }, { 55, 18, 0, 16, 0, 0 }, - { 54, 18, 0, 16, 0, 0 }, { 53, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 54, 18, 0, 16, 0, 0 }, { 53, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 51, 19, 0, 16, 0, 0 }, { 52, 19, 0, 16, 0, 0 }, { 53, 18, 0, 16, 0, 0 }, { 54, 17, 0, 16, 0, 0 }, { 55, 17, 0, 16, 0, 0 }, - { 56, 16, 0, 16, 0, 0 }, { 57, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 56, 16, 0, 16, 0, 0 }, { 57, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_942DEE, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 25, 0, 24, 0, 0 }, { 15, 22, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 16, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 10, 0, 24, 0, 0 }, { 18, 7, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 16, -2, 0, 24, 0, 0 }, { 13, -2, 0, 24, 0, 0 }, { 10, -2, 0, 24, 0, 0 }, { 7, -2, 0, 24, 0, 0 }, { 5, -2, 0, 24, 0, 0 }, { 5, -4, 0, 24, 0, 0 }, { 5, -6, 0, 24, 0, 0 }, { 5, -8, 0, 24, 0, 0 }, @@ -20504,406 +20513,406 @@ CREATE_VEHICLE_INFO(TrackVehicleInfo_942DEE, { { 17, -24, 0, 24, 0, 0 }, { 17, -25, 0, 24, 0, 0 }, { 17, -26, 0, 24, 0, 0 }, { 17, -27, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -31, 0, 24, 0, 0 }, { 17, -30, 0, 24, 0, 0 }, { 17, -29, 0, 24, 0, 0 }, { 17, -28, 0, 24, 0, 0 }, { 18, -27, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 18, -25, 0, 24, 0, 0 }, { 18, -24, 0, 24, 0, 0 }, - { 18, -23, 0, 24, 0, 0 }, { 19, -22, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 18, -23, 0, 24, 0, 0 }, { 19, -22, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 19, -20, 0, 24, 0, 0 }, { 19, -21, 0, 24, 0, 0 }, { 18, -22, 0, 24, 0, 0 }, { 17, -23, 0, 24, 0, 0 }, { 17, -24, 0, 24, 0, 0 }, - { 16, -25, 0, 24, 0, 0 }, { 15, -26, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, - { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 16, -25, 0, 24, 0, 0 }, { 15, -26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93BDCB, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 18, 14, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 18, 14, 0, 0, 0, 0 }, { 16, 14, 0, 0, 0, 0 }, { 14, 14, 0, 0, 0, 0 }, { 12, 13, 0, 0, 0, 0 }, { 10, 13, 0, 0, 0, 0 }, { 9, 13, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 15, 12, 0, 0, 0, 0 }, - { 16, 12, 0, 0, 0, 0 }, { 17, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 16, 11, 0, 0, 0, 0 }, { 14, 11, 0, 0, 0, 0 }, - { 12, 11, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 5, 13, 0, 0, 0, 0 }, + { 16, 12, 0, 0, 0, 0 }, { 17, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 19, 11, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 20, 11, 0, 0, 0, 0 }, { 18, 11, 0, 0, 0, 0 }, { 16, 11, 0, 0, 0, 0 }, { 14, 11, 0, 0, 0, 0 }, + { 12, 11, 0, 0, 0, 0 }, { 10, 11, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 7, 12, 0, 0, 0, 0 }, { 5, 13, 0, 0, 0, 0 }, { 3, 14, 0, 0, 0, 0 }, { 1, 15, 0, 0, 0, 0 }, { -1, 16, 0, 0, 0, 0 }, { -3, 17, 0, 0, 0, 0 }, { -5, 18, 0, 0, 0, 0 }, - { -7, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -11, 20, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, + { -7, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -9, 20, 0, 0, 0, 0 }, { -11, 20, 0, 0, 0, 0 }, { -13, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -17, 20, 0, 0, 0, 0 }, { -19, 20, 0, 0, 0, 0 }, { -21, 20, 0, 0, 0, 0 }, { -22, 20, 0, 0, 0, 0 }, { -23, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -27, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -30, 20, 0, 0, 0, 0 }, { -29, 20, 0, 0, 0, 0 }, { -28, 20, 0, 0, 0, 0 }, - { -27, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -23, 20, 0, 0, 0, 0 }, { -23, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, - { -23, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { -29, 16, 0, 0, 0, 0 }, + { -27, 20, 0, 0, 0, 0 }, { -26, 20, 0, 0, 0, 0 }, { -25, 20, 0, 0, 0, 0 }, { -24, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { -23, 20, 0, 0, 0, 0 }, { -23, 19, 0, 0, 0, 0 }, { -23, 18, 0, 0, 0, 0 }, { -23, 17, 0, 0, 0, 0 }, + { -23, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { -29, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { -29, 16, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_93E7BC, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 14, 13, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 14, 13, 0, 8, 0, 0 }, { 14, 15, 0, 8, 0, 0 }, { 14, 17, 0, 8, 0, 0 }, { 13, 19, 0, 8, 0, 0 }, { 13, 21, 0, 8, 0, 0 }, { 13, 22, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 16, 0, 8, 0, 0 }, - { 12, 15, 0, 8, 0, 0 }, { 11, 14, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 11, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 15, 0, 8, 0, 0 }, { 11, 17, 0, 8, 0, 0 }, - { 11, 19, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 13, 26, 0, 8, 0, 0 }, + { 12, 15, 0, 8, 0, 0 }, { 11, 14, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 12, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 11, 11, 0, 8, 0, 0 }, { 11, 13, 0, 8, 0, 0 }, { 11, 15, 0, 8, 0, 0 }, { 11, 17, 0, 8, 0, 0 }, + { 11, 19, 0, 8, 0, 0 }, { 11, 21, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 24, 0, 8, 0, 0 }, { 13, 26, 0, 8, 0, 0 }, { 14, 28, 0, 8, 0, 0 }, { 15, 30, 0, 8, 0, 0 }, { 16, 32, 0, 8, 0, 0 }, { 17, 34, 0, 8, 0, 0 }, { 18, 36, 0, 8, 0, 0 }, - { 20, 38, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { 20, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, + { 20, 38, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 20, 40, 0, 8, 0, 0 }, { 20, 42, 0, 8, 0, 0 }, { 20, 44, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { 20, 48, 0, 8, 0, 0 }, { 20, 50, 0, 8, 0, 0 }, { 20, 52, 0, 8, 0, 0 }, { 20, 53, 0, 8, 0, 0 }, { 20, 54, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 58, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 61, 0, 8, 0, 0 }, { 20, 60, 0, 8, 0, 0 }, { 20, 59, 0, 8, 0, 0 }, - { 20, 58, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 54, 0, 8, 0, 0 }, { 19, 54, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, - { 16, 54, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 16, 60, 0, 8, 0, 0 }, + { 20, 58, 0, 8, 0, 0 }, { 20, 57, 0, 8, 0, 0 }, { 20, 56, 0, 8, 0, 0 }, { 20, 55, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 20, 54, 0, 8, 0, 0 }, { 19, 54, 0, 8, 0, 0 }, { 18, 54, 0, 8, 0, 0 }, { 17, 54, 0, 8, 0, 0 }, + { 16, 54, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 16, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 16, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_9411AD, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 13, 17, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 13, 17, 0, 16, 0, 0 }, { 15, 17, 0, 16, 0, 0 }, { 17, 17, 0, 16, 0, 0 }, { 19, 18, 0, 16, 0, 0 }, { 21, 18, 0, 16, 0, 0 }, { 22, 18, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 16, 19, 0, 16, 0, 0 }, - { 15, 19, 0, 16, 0, 0 }, { 14, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 12, 20, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 15, 20, 0, 16, 0, 0 }, { 17, 20, 0, 16, 0, 0 }, - { 19, 20, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 26, 18, 0, 16, 0, 0 }, + { 15, 19, 0, 16, 0, 0 }, { 14, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 12, 20, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 11, 20, 0, 16, 0, 0 }, { 13, 20, 0, 16, 0, 0 }, { 15, 20, 0, 16, 0, 0 }, { 17, 20, 0, 16, 0, 0 }, + { 19, 20, 0, 16, 0, 0 }, { 21, 20, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 24, 19, 0, 16, 0, 0 }, { 26, 18, 0, 16, 0, 0 }, { 28, 17, 0, 16, 0, 0 }, { 30, 16, 0, 16, 0, 0 }, { 32, 15, 0, 16, 0, 0 }, { 34, 14, 0, 16, 0, 0 }, { 36, 13, 0, 16, 0, 0 }, - { 38, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { 42, 11, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, + { 38, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 40, 11, 0, 16, 0, 0 }, { 42, 11, 0, 16, 0, 0 }, { 44, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { 48, 11, 0, 16, 0, 0 }, { 50, 11, 0, 16, 0, 0 }, { 52, 11, 0, 16, 0, 0 }, { 53, 11, 0, 16, 0, 0 }, { 54, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 58, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 61, 11, 0, 16, 0, 0 }, { 60, 11, 0, 16, 0, 0 }, { 59, 11, 0, 16, 0, 0 }, - { 58, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 54, 11, 0, 16, 0, 0 }, { 54, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, - { 54, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 60, 15, 0, 16, 0, 0 }, + { 58, 11, 0, 16, 0, 0 }, { 57, 11, 0, 16, 0, 0 }, { 56, 11, 0, 16, 0, 0 }, { 55, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 54, 11, 0, 16, 0, 0 }, { 54, 12, 0, 16, 0, 0 }, { 54, 13, 0, 16, 0, 0 }, { 54, 14, 0, 16, 0, 0 }, + { 54, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 60, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 60, 15, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_943B9E, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 17, 18, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 17, 18, 0, 24, 0, 0 }, { 17, 16, 0, 24, 0, 0 }, { 17, 14, 0, 24, 0, 0 }, { 18, 12, 0, 24, 0, 0 }, { 18, 10, 0, 24, 0, 0 }, { 18, 9, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 15, 0, 24, 0, 0 }, - { 19, 16, 0, 24, 0, 0 }, { 20, 17, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 19, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 20, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 16, 0, 24, 0, 0 }, { 20, 14, 0, 24, 0, 0 }, - { 20, 12, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 18, 5, 0, 24, 0, 0 }, + { 19, 16, 0, 24, 0, 0 }, { 20, 17, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 19, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 20, 20, 0, 24, 0, 0 }, { 20, 18, 0, 24, 0, 0 }, { 20, 16, 0, 24, 0, 0 }, { 20, 14, 0, 24, 0, 0 }, + { 20, 12, 0, 24, 0, 0 }, { 20, 10, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, 7, 0, 24, 0, 0 }, { 18, 5, 0, 24, 0, 0 }, { 17, 3, 0, 24, 0, 0 }, { 16, 1, 0, 24, 0, 0 }, { 15, -1, 0, 24, 0, 0 }, { 14, -3, 0, 24, 0, 0 }, { 13, -5, 0, 24, 0, 0 }, - { 11, -7, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { 11, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, + { 11, -7, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 11, -9, 0, 24, 0, 0 }, { 11, -11, 0, 24, 0, 0 }, { 11, -13, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { 11, -17, 0, 24, 0, 0 }, { 11, -19, 0, 24, 0, 0 }, { 11, -21, 0, 24, 0, 0 }, { 11, -22, 0, 24, 0, 0 }, { 11, -23, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -27, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -30, 0, 24, 0, 0 }, { 11, -29, 0, 24, 0, 0 }, { 11, -28, 0, 24, 0, 0 }, - { 11, -27, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, -23, 0, 24, 0, 0 }, { 12, -23, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, - { 15, -23, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 15, -29, 0, 24, 0, 0 }, + { 11, -27, 0, 24, 0, 0 }, { 11, -26, 0, 24, 0, 0 }, { 11, -25, 0, 24, 0, 0 }, { 11, -24, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 11, -23, 0, 24, 0, 0 }, { 12, -23, 0, 24, 0, 0 }, { 13, -23, 0, 24, 0, 0 }, { 14, -23, 0, 24, 0, 0 }, + { 15, -23, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), { 15, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), + MINI_GOLF_STATE(Unk3), { 15, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_944E3B, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 17, 0, 0, 0, 0 }, { 19, 17, 0, 0, 0, 0 }, { 17, 17, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 18, 0, 0, 0, 0 }, { 11, 18, 0, 0, 0, 0 }, { 9, 18, 0, 0, 0, 0 }, { 7, 18, 0, 0, 0, 0 }, { 5, 18, 0, 0, 0, 0 }, { 4, 18, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { -2, 19, 0, 0, 0, 0 }, { -1, 19, 0, 0, 0, 0 }, { 0, 19, 0, 0, 0, 0 }, { 1, 19, 0, 0, 0, 0 }, { 2, 19, 0, 0, 0, 0 }, { 3, 19, 0, 0, 0, 0 }, { 4, 19, 0, 0, 0, 0 }, { 5, 19, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, - { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, + { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 13, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -25, 6, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -23, 4, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -21, 2, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -19, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -17, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -19, 2, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -21, 2, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -23, 4, 1, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -25, 6, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, - { -25, 15, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -15, 20, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -8, 20, 0, 0, 0, 0 }, + { -25, 15, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -15, 20, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -9, 20, 0, 0, 0, 0 }, { -8, 20, 0, 0, 0, 0 }, { -7, 20, 0, 0, 0, 0 }, { -6, 20, 0, 0, 0, 0 }, { -5, 20, 0, 0, 0, 0 }, { -4, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, { -2, 20, 0, 0, 0, 0 }, { -1, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { 1, 20, 0, 0, 0, 0 }, { 2, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 4, 20, 0, 0, 0, 0 }, { 5, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 7, 20, 0, 0, 0, 0 }, { 8, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 10, 20, 0, 0, 0, 0 }, { 11, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, - { 13, 20, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, + { 13, 20, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 14, 20, 0, 0, 0, 0 }, { 12, 20, 0, 0, 0, 0 }, { 9, 20, 0, 0, 0, 0 }, { 6, 20, 0, 0, 0, 0 }, { 3, 20, 0, 0, 0, 0 }, { 0, 20, 0, 0, 0, 0 }, { -3, 20, 0, 0, 0, 0 }, - { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, + { -6, 20, 0, 0, 0, 0 }, { -9, 20, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -12, 20, 0, 0, 0, 0 }, { -15, 20, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 15, 0, 0, 0, 0 }, { -26, 13, 0, 0, 0, 0 }, { -27, 11, 0, 0, 0, 0 }, { -28, 9, 0, 0, 0, 0 }, { -26, 7, 0, 0, 0, 0 }, { -24, 5, 1, 0, 0, 0 }, { -22, 3, 1, 0, 0, 0 }, { -20, 2, 1, 0, 0, 0 }, { -18, 2, 1, 0, 0, 0 }, { -16, 3, 2, 0, 0, 0 }, { -14, 3, 2, 0, 0, 0 }, { -14, 5, 2, 0, 0, 0 }, { -13, 7, 2, 0, 0, 0 }, { -12, 9, 3, 0, 0, 0 }, { -12, 11, 3, 0, 0, 0 }, { -11, 13, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 19, 3, 0, 0, 0 }, { -13, 21, 3, 0, 0, 0 }, { -13, 23, 3, 0, 0, 0 }, { -13, 25, 3, 0, 0, 0 }, { -14, 27, 3, 0, 0, 0 }, { -14, 29, 3, 0, 0, 0 }, { -14, 30, 3, 0, 0, 0 }, { -14, 31, 3, 0, 0, 0 }, { -15, 32, 3, 0, 0, 0 }, { -15, 33, 3, 0, 0, 0 }, { -15, 34, 3, 0, 0, 0 }, { -15, 35, 3, 0, 0, 0 }, { -15, 36, 3, 0, 0, 0 }, - { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -15, 38, 0, 0, 0, 0 }, { -16, 40, 0, 0, 0, 0 }, { -16, 41, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -16, 42, 0, 0, 0, 0 }, { -16, 43, 0, 0, 0, 0 }, { -16, 44, 0, 0, 0, 0 }, { -16, 45, 0, 0, 0, 0 }, { -17, 46, 0, 0, 0, 0 }, - { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, 60, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, 60, 0, 8, 0, 0 }, + { -17, 47, 0, 0, 0, 0 }, { -17, 48, 0, 0, 0, 0 }, { -17, 49, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, 60, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, 60, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_947AF9, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 17, 10, 0, 8, 0, 0 }, { 17, 12, 0, 8, 0, 0 }, { 17, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 18, 18, 0, 8, 0, 0 }, { 18, 20, 0, 8, 0, 0 }, { 18, 22, 0, 8, 0, 0 }, { 18, 24, 0, 8, 0, 0 }, { 18, 26, 0, 8, 0, 0 }, { 18, 27, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 33, 0, 8, 0, 0 }, { 19, 32, 0, 8, 0, 0 }, { 19, 31, 0, 8, 0, 0 }, { 19, 30, 0, 8, 0, 0 }, { 19, 29, 0, 8, 0, 0 }, { 19, 28, 0, 8, 0, 0 }, { 19, 27, 0, 8, 0, 0 }, { 19, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, - { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, + { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 6, 56, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 4, 54, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 52, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 50, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 48, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 2, 50, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 52, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 4, 54, 1, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 6, 56, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, - { 15, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 20, 46, 0, 8, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { 20, 39, 0, 8, 0, 0 }, + { 15, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 20, 46, 0, 8, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 20, 40, 0, 8, 0, 0 }, { 20, 39, 0, 8, 0, 0 }, { 20, 38, 0, 8, 0, 0 }, { 20, 37, 0, 8, 0, 0 }, { 20, 36, 0, 8, 0, 0 }, { 20, 35, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, { 20, 33, 0, 8, 0, 0 }, { 20, 32, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 30, 0, 8, 0, 0 }, { 20, 29, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 27, 0, 8, 0, 0 }, { 20, 26, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 24, 0, 8, 0, 0 }, { 20, 23, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 21, 0, 8, 0, 0 }, { 20, 20, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, - { 20, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, + { 20, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 20, 17, 0, 8, 0, 0 }, { 20, 19, 0, 8, 0, 0 }, { 20, 22, 0, 8, 0, 0 }, { 20, 25, 0, 8, 0, 0 }, { 20, 28, 0, 8, 0, 0 }, { 20, 31, 0, 8, 0, 0 }, { 20, 34, 0, 8, 0, 0 }, - { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, + { 20, 37, 0, 8, 0, 0 }, { 20, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 20, 43, 0, 8, 0, 0 }, { 20, 46, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 15, 56, 0, 8, 0, 0 }, { 13, 57, 0, 8, 0, 0 }, { 11, 58, 0, 8, 0, 0 }, { 9, 59, 0, 8, 0, 0 }, { 7, 57, 0, 8, 0, 0 }, { 5, 55, 1, 8, 0, 0 }, { 3, 53, 1, 8, 0, 0 }, { 2, 51, 1, 8, 0, 0 }, { 2, 49, 1, 8, 0, 0 }, { 3, 47, 2, 8, 0, 0 }, { 3, 45, 2, 8, 0, 0 }, { 5, 45, 2, 8, 0, 0 }, { 7, 44, 2, 8, 0, 0 }, { 9, 43, 3, 8, 0, 0 }, { 11, 43, 3, 8, 0, 0 }, { 13, 42, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 19, 43, 3, 8, 0, 0 }, { 21, 44, 3, 8, 0, 0 }, { 23, 44, 3, 8, 0, 0 }, { 25, 44, 3, 8, 0, 0 }, { 27, 45, 3, 8, 0, 0 }, { 29, 45, 3, 8, 0, 0 }, { 30, 45, 3, 8, 0, 0 }, { 31, 45, 3, 8, 0, 0 }, { 32, 46, 3, 8, 0, 0 }, { 33, 46, 3, 8, 0, 0 }, { 34, 46, 3, 8, 0, 0 }, { 35, 46, 3, 8, 0, 0 }, { 36, 46, 3, 8, 0, 0 }, - { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 38, 46, 0, 8, 0, 0 }, { 40, 47, 0, 8, 0, 0 }, { 41, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 42, 47, 0, 8, 0, 0 }, { 43, 47, 0, 8, 0, 0 }, { 44, 47, 0, 8, 0, 0 }, { 45, 47, 0, 8, 0, 0 }, { 46, 48, 0, 8, 0, 0 }, - { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 60, 48, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 60, 48, 0, 16, 0, 0 }, + { 47, 48, 0, 8, 0, 0 }, { 48, 48, 0, 8, 0, 0 }, { 49, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 60, 48, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 60, 48, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94A7B7, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 14, 0, 16, 0, 0 }, { 12, 14, 0, 16, 0, 0 }, { 14, 14, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 13, 0, 16, 0, 0 }, { 20, 13, 0, 16, 0, 0 }, { 22, 13, 0, 16, 0, 0 }, { 24, 13, 0, 16, 0, 0 }, { 26, 13, 0, 16, 0, 0 }, { 27, 13, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 33, 12, 0, 16, 0, 0 }, { 32, 12, 0, 16, 0, 0 }, { 31, 12, 0, 16, 0, 0 }, { 30, 12, 0, 16, 0, 0 }, { 29, 12, 0, 16, 0, 0 }, { 28, 12, 0, 16, 0, 0 }, { 27, 12, 0, 16, 0, 0 }, { 26, 12, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, - { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, + { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 18, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 56, 25, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 54, 27, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 52, 29, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 50, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 48, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 50, 29, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 52, 29, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 54, 27, 1, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 56, 25, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, - { 56, 16, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 46, 11, 0, 16, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { 39, 11, 0, 16, 0, 0 }, + { 56, 16, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 46, 11, 0, 16, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 40, 11, 0, 16, 0, 0 }, { 39, 11, 0, 16, 0, 0 }, { 38, 11, 0, 16, 0, 0 }, { 37, 11, 0, 16, 0, 0 }, { 36, 11, 0, 16, 0, 0 }, { 35, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, { 33, 11, 0, 16, 0, 0 }, { 32, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 30, 11, 0, 16, 0, 0 }, { 29, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 27, 11, 0, 16, 0, 0 }, { 26, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 24, 11, 0, 16, 0, 0 }, { 23, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 21, 11, 0, 16, 0, 0 }, { 20, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, - { 18, 11, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, + { 18, 11, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 17, 11, 0, 16, 0, 0 }, { 19, 11, 0, 16, 0, 0 }, { 22, 11, 0, 16, 0, 0 }, { 25, 11, 0, 16, 0, 0 }, { 28, 11, 0, 16, 0, 0 }, { 31, 11, 0, 16, 0, 0 }, { 34, 11, 0, 16, 0, 0 }, - { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, + { 37, 11, 0, 16, 0, 0 }, { 40, 11, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 43, 11, 0, 16, 0, 0 }, { 46, 11, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 16, 0, 16, 0, 0 }, { 57, 18, 0, 16, 0, 0 }, { 58, 20, 0, 16, 0, 0 }, { 59, 22, 0, 16, 0, 0 }, { 57, 24, 0, 16, 0, 0 }, { 55, 26, 1, 16, 0, 0 }, { 53, 28, 1, 16, 0, 0 }, { 51, 29, 1, 16, 0, 0 }, { 49, 29, 1, 16, 0, 0 }, { 47, 28, 2, 16, 0, 0 }, { 45, 28, 2, 16, 0, 0 }, { 45, 26, 2, 16, 0, 0 }, { 44, 24, 2, 16, 0, 0 }, { 43, 22, 3, 16, 0, 0 }, { 43, 20, 3, 16, 0, 0 }, { 42, 18, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 12, 3, 16, 0, 0 }, { 44, 10, 3, 16, 0, 0 }, { 44, 8, 3, 16, 0, 0 }, { 44, 6, 3, 16, 0, 0 }, { 45, 4, 3, 16, 0, 0 }, { 45, 2, 3, 16, 0, 0 }, { 45, 1, 3, 16, 0, 0 }, { 45, 0, 3, 16, 0, 0 }, { 46, -1, 3, 16, 0, 0 }, { 46, -2, 3, 16, 0, 0 }, { 46, -3, 3, 16, 0, 0 }, { 46, -4, 3, 16, 0, 0 }, { 46, -5, 3, 16, 0, 0 }, - { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 46, -7, 0, 16, 0, 0 }, { 47, -9, 0, 16, 0, 0 }, { 47, -10, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 47, -11, 0, 16, 0, 0 }, { 47, -12, 0, 16, 0, 0 }, { 47, -13, 0, 16, 0, 0 }, { 47, -14, 0, 16, 0, 0 }, { 48, -15, 0, 16, 0, 0 }, - { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, -29, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, -29, 0, 24, 0, 0 }, + { 48, -16, 0, 16, 0, 0 }, { 48, -17, 0, 16, 0, 0 }, { 48, -18, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, -29, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, -29, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94D475, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 14, 21, 0, 24, 0, 0 }, { 14, 19, 0, 24, 0, 0 }, { 14, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 13, 13, 0, 24, 0, 0 }, { 13, 11, 0, 24, 0, 0 }, { 13, 9, 0, 24, 0, 0 }, { 13, 7, 0, 24, 0, 0 }, { 13, 5, 0, 24, 0, 0 }, { 13, 4, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, -2, 0, 24, 0, 0 }, { 12, -1, 0, 24, 0, 0 }, { 12, 0, 0, 24, 0, 0 }, { 12, 1, 0, 24, 0, 0 }, { 12, 2, 0, 24, 0, 0 }, { 12, 3, 0, 24, 0, 0 }, { 12, 4, 0, 24, 0, 0 }, { 12, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, - { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, + { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 25, -25, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 27, -23, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -21, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -19, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -17, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 29, -19, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -21, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 27, -23, 1, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 25, -25, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, - { 16, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 11, -15, 0, 24, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { 11, -8, 0, 24, 0, 0 }, + { 16, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 11, -15, 0, 24, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 11, -9, 0, 24, 0, 0 }, { 11, -8, 0, 24, 0, 0 }, { 11, -7, 0, 24, 0, 0 }, { 11, -6, 0, 24, 0, 0 }, { 11, -5, 0, 24, 0, 0 }, { 11, -4, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, { 11, -2, 0, 24, 0, 0 }, { 11, -1, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, 1, 0, 24, 0, 0 }, { 11, 2, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 4, 0, 24, 0, 0 }, { 11, 5, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 7, 0, 24, 0, 0 }, { 11, 8, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 10, 0, 24, 0, 0 }, { 11, 11, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, - { 11, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, + { 11, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 11, 14, 0, 24, 0, 0 }, { 11, 12, 0, 24, 0, 0 }, { 11, 9, 0, 24, 0, 0 }, { 11, 6, 0, 24, 0, 0 }, { 11, 3, 0, 24, 0, 0 }, { 11, 0, 0, 24, 0, 0 }, { 11, -3, 0, 24, 0, 0 }, - { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, + { 11, -6, 0, 24, 0, 0 }, { 11, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 11, -12, 0, 24, 0, 0 }, { 11, -15, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 16, -25, 0, 24, 0, 0 }, { 18, -26, 0, 24, 0, 0 }, { 20, -27, 0, 24, 0, 0 }, { 22, -28, 0, 24, 0, 0 }, { 24, -26, 0, 24, 0, 0 }, { 26, -24, 1, 24, 0, 0 }, { 28, -22, 1, 24, 0, 0 }, { 29, -20, 1, 24, 0, 0 }, { 29, -18, 1, 24, 0, 0 }, { 28, -16, 2, 24, 0, 0 }, { 28, -14, 2, 24, 0, 0 }, { 26, -14, 2, 24, 0, 0 }, { 24, -13, 2, 24, 0, 0 }, { 22, -12, 3, 24, 0, 0 }, { 20, -12, 3, 24, 0, 0 }, { 18, -11, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 12, -12, 3, 24, 0, 0 }, { 10, -13, 3, 24, 0, 0 }, { 8, -13, 3, 24, 0, 0 }, { 6, -13, 3, 24, 0, 0 }, { 4, -14, 3, 24, 0, 0 }, { 2, -14, 3, 24, 0, 0 }, { 1, -14, 3, 24, 0, 0 }, { 0, -14, 3, 24, 0, 0 }, { -1, -15, 3, 24, 0, 0 }, { -2, -15, 3, 24, 0, 0 }, { -3, -15, 3, 24, 0, 0 }, { -4, -15, 3, 24, 0, 0 }, { -5, -15, 3, 24, 0, 0 }, - { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -7, -15, 0, 24, 0, 0 }, { -9, -16, 0, 24, 0, 0 }, { -10, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -11, -16, 0, 24, 0, 0 }, { -12, -16, 0, 24, 0, 0 }, { -13, -16, 0, 24, 0, 0 }, { -14, -16, 0, 24, 0, 0 }, { -15, -17, 0, 24, 0, 0 }, - { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -29, -17, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -29, -17, 0, 0, 0, 0 }, + { -16, -17, 0, 24, 0, 0 }, { -17, -17, 0, 24, 0, 0 }, { -18, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -29, -17, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -29, -17, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94649A, { - { -32768, 0, 0, 0, 0, 0 }, { 31, 16, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 26, 16, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 26, 16, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 31, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 26, 16, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk3), { 24, 16, 0, 0, 0, 0 }, { 21, 15, 0, 0, 0, 0 }, { 19, 15, 0, 0, 0, 0 }, { 17, 15, 0, 0, 0, 0 }, { 15, 16, 0, 0, 0, 0 }, { 13, 14, 0, 0, 0, 0 }, { 11, 14, 0, 0, 0, 0 }, { 9, 14, 0, 0, 0, 0 }, { 7, 14, 0, 0, 0, 0 }, { 5, 14, 0, 0, 0, 0 }, { 4, 14, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { -2, 13, 0, 0, 0, 0 }, { -1, 13, 0, 0, 0, 0 }, { 0, 13, 0, 0, 0, 0 }, { 1, 13, 0, 0, 0, 0 }, { 2, 13, 0, 0, 0, 0 }, { 3, 13, 0, 0, 0, 0 }, { 4, 13, 0, 0, 0, 0 }, { 5, 13, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, - { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, + { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 13, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -25, 26, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -23, 28, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -21, 30, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -19, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -17, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -19, 30, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -21, 30, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -23, 28, 1, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -25, 26, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, - { -25, 17, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { -15, 12, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -8, 12, 0, 0, 0, 0 }, + { -25, 17, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { -15, 12, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { -9, 12, 0, 0, 0, 0 }, { -8, 12, 0, 0, 0, 0 }, { -7, 12, 0, 0, 0, 0 }, { -6, 12, 0, 0, 0, 0 }, { -5, 12, 0, 0, 0, 0 }, { -4, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, { -2, 12, 0, 0, 0, 0 }, { -1, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { 1, 12, 0, 0, 0, 0 }, { 2, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 4, 12, 0, 0, 0, 0 }, { 5, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 7, 12, 0, 0, 0, 0 }, { 8, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 10, 12, 0, 0, 0, 0 }, { 11, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, - { 13, 12, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, + { 13, 12, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 14, 12, 0, 0, 0, 0 }, { 12, 12, 0, 0, 0, 0 }, { 9, 12, 0, 0, 0, 0 }, { 6, 12, 0, 0, 0, 0 }, { 3, 12, 0, 0, 0, 0 }, { 0, 12, 0, 0, 0, 0 }, { -3, 12, 0, 0, 0, 0 }, - { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, + { -6, 12, 0, 0, 0, 0 }, { -9, 12, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { -12, 12, 0, 0, 0, 0 }, { -15, 12, 0, 0, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { -18, 16, 0, 0, 0, 0 }, { -21, 16, 0, 0, 0, 0 }, { -24, 16, 0, 0, 0, 0 }, { -25, 17, 0, 0, 0, 0 }, { -26, 19, 0, 0, 0, 0 }, { -27, 21, 0, 0, 0, 0 }, { -28, 23, 0, 0, 0, 0 }, { -26, 25, 0, 0, 0, 0 }, { -24, 27, 1, 0, 0, 0 }, { -22, 29, 1, 0, 0, 0 }, { -20, 30, 1, 0, 0, 0 }, { -18, 30, 1, 0, 0, 0 }, { -16, 30, 2, 0, 0, 0 }, { -14, 29, 2, 0, 0, 0 }, { -14, 27, 2, 0, 0, 0 }, { -13, 25, 2, 0, 0, 0 }, { -12, 23, 3, 0, 0, 0 }, { -12, 21, 3, 0, 0, 0 }, { -11, 19, 3, 0, 0, 0 }, { -12, 17, 3, 0, 0, 0 }, { -12, 15, 3, 0, 0, 0 }, { -12, 13, 3, 0, 0, 0 }, { -13, 11, 3, 0, 0, 0 }, { -13, 9, 3, 0, 0, 0 }, { -13, 7, 3, 0, 0, 0 }, { -14, 5, 3, 0, 0, 0 }, { -14, 3, 3, 0, 0, 0 }, { -14, 2, 3, 0, 0, 0 }, { -14, 1, 3, 0, 0, 0 }, { -15, 0, 3, 0, 0, 0 }, { -15, -1, 3, 0, 0, 0 }, { -15, -2, 3, 0, 0, 0 }, { -15, -3, 3, 0, 0, 0 }, { -15, -4, 3, 0, 0, 0 }, - { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -15, -6, 0, 0, 0, 0 }, { -16, -8, 0, 0, 0, 0 }, { -16, -9, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -16, -10, 0, 0, 0, 0 }, { -16, -11, 0, 0, 0, 0 }, { -16, -12, 0, 0, 0, 0 }, { -16, -13, 0, 0, 0, 0 }, { -17, -14, 0, 0, 0, 0 }, - { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -17, -28, 0, 24, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -17, -28, 0, 24, 0, 0 }, + { -17, -15, 0, 0, 0, 0 }, { -17, -16, 0, 0, 0, 0 }, { -17, -17, 0, 0, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -17, -28, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -17, -28, 0, 24, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_949158, { - { -32768, 0, 0, 0, 0, 0 }, { 16, 0, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 16, 5, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 16, 5, 0, 8, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 16, 0, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 16, 5, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk3), { 16, 7, 0, 8, 0, 0 }, { 15, 10, 0, 8, 0, 0 }, { 15, 12, 0, 8, 0, 0 }, { 15, 14, 0, 8, 0, 0 }, { 16, 16, 0, 8, 0, 0 }, { 14, 18, 0, 8, 0, 0 }, { 14, 20, 0, 8, 0, 0 }, { 14, 22, 0, 8, 0, 0 }, { 14, 24, 0, 8, 0, 0 }, { 14, 26, 0, 8, 0, 0 }, { 14, 27, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 33, 0, 8, 0, 0 }, { 13, 32, 0, 8, 0, 0 }, { 13, 31, 0, 8, 0, 0 }, { 13, 30, 0, 8, 0, 0 }, { 13, 29, 0, 8, 0, 0 }, { 13, 28, 0, 8, 0, 0 }, { 13, 27, 0, 8, 0, 0 }, { 13, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, - { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, + { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 26, 56, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 28, 54, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 52, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 50, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 48, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 50, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 52, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 28, 54, 1, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 26, 56, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, - { 17, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 12, 46, 0, 8, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { 12, 39, 0, 8, 0, 0 }, + { 17, 56, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 12, 46, 0, 8, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 12, 40, 0, 8, 0, 0 }, { 12, 39, 0, 8, 0, 0 }, { 12, 38, 0, 8, 0, 0 }, { 12, 37, 0, 8, 0, 0 }, { 12, 36, 0, 8, 0, 0 }, { 12, 35, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, { 12, 33, 0, 8, 0, 0 }, { 12, 32, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 30, 0, 8, 0, 0 }, { 12, 29, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 27, 0, 8, 0, 0 }, { 12, 26, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 24, 0, 8, 0, 0 }, { 12, 23, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 21, 0, 8, 0, 0 }, { 12, 20, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, - { 12, 18, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, + { 12, 18, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 12, 17, 0, 8, 0, 0 }, { 12, 19, 0, 8, 0, 0 }, { 12, 22, 0, 8, 0, 0 }, { 12, 25, 0, 8, 0, 0 }, { 12, 28, 0, 8, 0, 0 }, { 12, 31, 0, 8, 0, 0 }, { 12, 34, 0, 8, 0, 0 }, - { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, + { 12, 37, 0, 8, 0, 0 }, { 12, 40, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 12, 43, 0, 8, 0, 0 }, { 12, 46, 0, 8, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 16, 49, 0, 8, 0, 0 }, { 16, 52, 0, 8, 0, 0 }, { 16, 55, 0, 8, 0, 0 }, { 17, 56, 0, 8, 0, 0 }, { 19, 57, 0, 8, 0, 0 }, { 21, 58, 0, 8, 0, 0 }, { 23, 59, 0, 8, 0, 0 }, { 25, 57, 0, 8, 0, 0 }, { 27, 55, 1, 8, 0, 0 }, { 29, 53, 1, 8, 0, 0 }, { 30, 51, 1, 8, 0, 0 }, { 30, 49, 1, 8, 0, 0 }, { 30, 47, 2, 8, 0, 0 }, { 29, 45, 2, 8, 0, 0 }, { 27, 45, 2, 8, 0, 0 }, { 25, 44, 2, 8, 0, 0 }, { 23, 43, 3, 8, 0, 0 }, { 21, 43, 3, 8, 0, 0 }, { 19, 42, 3, 8, 0, 0 }, { 17, 43, 3, 8, 0, 0 }, { 15, 43, 3, 8, 0, 0 }, { 13, 43, 3, 8, 0, 0 }, { 11, 44, 3, 8, 0, 0 }, { 9, 44, 3, 8, 0, 0 }, { 7, 44, 3, 8, 0, 0 }, { 5, 45, 3, 8, 0, 0 }, { 3, 45, 3, 8, 0, 0 }, { 2, 45, 3, 8, 0, 0 }, { 1, 45, 3, 8, 0, 0 }, { 0, 46, 3, 8, 0, 0 }, { -1, 46, 3, 8, 0, 0 }, { -2, 46, 3, 8, 0, 0 }, { -3, 46, 3, 8, 0, 0 }, { -4, 46, 3, 8, 0, 0 }, - { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { -6, 46, 0, 8, 0, 0 }, { -8, 47, 0, 8, 0, 0 }, { -9, 47, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { -10, 47, 0, 8, 0, 0 }, { -11, 47, 0, 8, 0, 0 }, { -12, 47, 0, 8, 0, 0 }, { -13, 47, 0, 8, 0, 0 }, { -14, 48, 0, 8, 0, 0 }, - { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -28, 48, 0, 0, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { -28, 48, 0, 0, 0, 0 }, + { -15, 48, 0, 8, 0, 0 }, { -16, 48, 0, 8, 0, 0 }, { -17, 48, 0, 8, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { -28, 48, 0, 0, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { -28, 48, 0, 0, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94BE16, { - { -32768, 0, 0, 0, 0, 0 }, { 0, 15, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 5, 15, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 5, 15, 0, 16, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 0, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 5, 15, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk3), { 7, 15, 0, 16, 0, 0 }, { 10, 16, 0, 16, 0, 0 }, { 12, 16, 0, 16, 0, 0 }, { 14, 16, 0, 16, 0, 0 }, { 16, 15, 0, 16, 0, 0 }, { 18, 17, 0, 16, 0, 0 }, { 20, 17, 0, 16, 0, 0 }, { 22, 17, 0, 16, 0, 0 }, { 24, 17, 0, 16, 0, 0 }, { 26, 17, 0, 16, 0, 0 }, { 27, 17, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 33, 18, 0, 16, 0, 0 }, { 32, 18, 0, 16, 0, 0 }, { 31, 18, 0, 16, 0, 0 }, { 30, 18, 0, 16, 0, 0 }, { 29, 18, 0, 16, 0, 0 }, { 28, 18, 0, 16, 0, 0 }, { 27, 18, 0, 16, 0, 0 }, { 26, 18, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, - { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, + { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 18, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 56, 5, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 54, 3, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 52, 1, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 50, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 48, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 50, 1, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 52, 1, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 54, 3, 1, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 56, 5, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, - { 56, 14, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 46, 19, 0, 16, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { 39, 19, 0, 16, 0, 0 }, + { 56, 14, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 46, 19, 0, 16, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 40, 19, 0, 16, 0, 0 }, { 39, 19, 0, 16, 0, 0 }, { 38, 19, 0, 16, 0, 0 }, { 37, 19, 0, 16, 0, 0 }, { 36, 19, 0, 16, 0, 0 }, { 35, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, { 33, 19, 0, 16, 0, 0 }, { 32, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 30, 19, 0, 16, 0, 0 }, { 29, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 27, 19, 0, 16, 0, 0 }, { 26, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 24, 19, 0, 16, 0, 0 }, { 23, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 21, 19, 0, 16, 0, 0 }, { 20, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, - { 18, 19, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, + { 18, 19, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 17, 19, 0, 16, 0, 0 }, { 19, 19, 0, 16, 0, 0 }, { 22, 19, 0, 16, 0, 0 }, { 25, 19, 0, 16, 0, 0 }, { 28, 19, 0, 16, 0, 0 }, { 31, 19, 0, 16, 0, 0 }, { 34, 19, 0, 16, 0, 0 }, - { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, + { 37, 19, 0, 16, 0, 0 }, { 40, 19, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 43, 19, 0, 16, 0, 0 }, { 46, 19, 0, 16, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 49, 15, 0, 16, 0, 0 }, { 52, 15, 0, 16, 0, 0 }, { 55, 15, 0, 16, 0, 0 }, { 56, 14, 0, 16, 0, 0 }, { 57, 12, 0, 16, 0, 0 }, { 58, 10, 0, 16, 0, 0 }, { 59, 8, 0, 16, 0, 0 }, { 57, 6, 0, 16, 0, 0 }, { 55, 4, 1, 16, 0, 0 }, { 53, 2, 1, 16, 0, 0 }, { 51, 1, 1, 16, 0, 0 }, { 49, 1, 1, 16, 0, 0 }, { 47, 1, 2, 16, 0, 0 }, { 45, 2, 2, 16, 0, 0 }, { 45, 4, 2, 16, 0, 0 }, { 44, 6, 2, 16, 0, 0 }, { 43, 8, 3, 16, 0, 0 }, { 43, 10, 3, 16, 0, 0 }, { 42, 12, 3, 16, 0, 0 }, { 43, 14, 3, 16, 0, 0 }, { 43, 16, 3, 16, 0, 0 }, { 43, 18, 3, 16, 0, 0 }, { 44, 20, 3, 16, 0, 0 }, { 44, 22, 3, 16, 0, 0 }, { 44, 24, 3, 16, 0, 0 }, { 45, 26, 3, 16, 0, 0 }, { 45, 28, 3, 16, 0, 0 }, { 45, 29, 3, 16, 0, 0 }, { 45, 30, 3, 16, 0, 0 }, { 46, 31, 3, 16, 0, 0 }, { 46, 32, 3, 16, 0, 0 }, { 46, 33, 3, 16, 0, 0 }, { 46, 34, 3, 16, 0, 0 }, { 46, 35, 3, 16, 0, 0 }, - { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 46, 37, 0, 16, 0, 0 }, { 47, 39, 0, 16, 0, 0 }, { 47, 40, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 47, 41, 0, 16, 0, 0 }, { 47, 42, 0, 16, 0, 0 }, { 47, 43, 0, 16, 0, 0 }, { 47, 44, 0, 16, 0, 0 }, { 48, 45, 0, 16, 0, 0 }, - { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 48, 59, 0, 8, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 48, 59, 0, 8, 0, 0 }, + { 48, 46, 0, 16, 0, 0 }, { 48, 47, 0, 16, 0, 0 }, { 48, 48, 0, 16, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 48, 59, 0, 8, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 48, 59, 0, 8, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_94EAD4, { - { -32768, 0, 0, 0, 0, 0 }, { 15, 31, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { 15, 26, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, - { 15, 26, 0, 24, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, + MINI_GOLF_STATE(Unk0), { 15, 31, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), + { 15, 26, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk3), { 15, 24, 0, 24, 0, 0 }, { 16, 21, 0, 24, 0, 0 }, { 16, 19, 0, 24, 0, 0 }, { 16, 17, 0, 24, 0, 0 }, { 15, 15, 0, 24, 0, 0 }, { 17, 13, 0, 24, 0, 0 }, { 17, 11, 0, 24, 0, 0 }, { 17, 9, 0, 24, 0, 0 }, { 17, 7, 0, 24, 0, 0 }, { 17, 5, 0, 24, 0, 0 }, { 17, 4, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, -2, 0, 24, 0, 0 }, { 18, -1, 0, 24, 0, 0 }, { 18, 0, 0, 24, 0, 0 }, { 18, 1, 0, 24, 0, 0 }, { 18, 2, 0, 24, 0, 0 }, { 18, 3, 0, 24, 0, 0 }, { 18, 4, 0, 24, 0, 0 }, { 18, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, - { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, + { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), + MINI_GOLF_STATE(Unk3), { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, - { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(Walk), { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 5, -25, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 3, -23, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -21, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -19, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -17, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -19, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -21, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 3, -23, 1, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 5, -25, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, - { 14, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, - { 19, -15, 0, 24, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { -32768, 4, 1, 0, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { 19, -8, 0, 24, 0, 0 }, + { 14, -25, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), + { 19, -15, 0, 24, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(PlaceBallDown), { 19, -9, 0, 24, 0, 0 }, { 19, -8, 0, 24, 0, 0 }, { 19, -7, 0, 24, 0, 0 }, { 19, -6, 0, 24, 0, 0 }, { 19, -5, 0, 24, 0, 0 }, { 19, -4, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, { 19, -2, 0, 24, 0, 0 }, { 19, -1, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, 1, 0, 24, 0, 0 }, { 19, 2, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 4, 0, 24, 0, 0 }, { 19, 5, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 7, 0, 24, 0, 0 }, { 19, 8, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 10, 0, 24, 0, 0 }, { 19, 11, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, - { 19, 13, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, + { 19, 13, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 19, 14, 0, 24, 0, 0 }, { 19, 12, 0, 24, 0, 0 }, { 19, 9, 0, 24, 0, 0 }, { 19, 6, 0, 24, 0, 0 }, { 19, 3, 0, 24, 0, 0 }, { 19, 0, 0, 24, 0, 0 }, { 19, -3, 0, 24, 0, 0 }, - { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, - { -32768, 4, 1, 0, 0, 0 }, { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, + { 19, -6, 0, 24, 0, 0 }, { 19, -9, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), { 19, -12, 0, 24, 0, 0 }, { 19, -15, 0, 24, 0, 0 }, + MINI_GOLF_ANIMATION(PlaceBallDown), { 15, -18, 0, 24, 0, 0 }, { 15, -21, 0, 24, 0, 0 }, { 15, -24, 0, 24, 0, 0 }, { 14, -25, 0, 24, 0, 0 }, { 12, -26, 0, 24, 0, 0 }, { 10, -27, 0, 24, 0, 0 }, { 8, -28, 0, 24, 0, 0 }, { 6, -26, 0, 24, 0, 0 }, { 4, -24, 1, 24, 0, 0 }, { 2, -22, 1, 24, 0, 0 }, { 1, -20, 1, 24, 0, 0 }, { 1, -18, 1, 24, 0, 0 }, { 1, -16, 2, 24, 0, 0 }, { 2, -14, 2, 24, 0, 0 }, { 4, -14, 2, 24, 0, 0 }, { 6, -13, 2, 24, 0, 0 }, { 8, -12, 3, 24, 0, 0 }, { 10, -12, 3, 24, 0, 0 }, { 12, -11, 3, 24, 0, 0 }, { 14, -12, 3, 24, 0, 0 }, { 16, -12, 3, 24, 0, 0 }, { 18, -12, 3, 24, 0, 0 }, { 20, -13, 3, 24, 0, 0 }, { 22, -13, 3, 24, 0, 0 }, { 24, -13, 3, 24, 0, 0 }, { 26, -14, 3, 24, 0, 0 }, { 28, -14, 3, 24, 0, 0 }, { 29, -14, 3, 24, 0, 0 }, { 30, -14, 3, 24, 0, 0 }, { 31, -15, 3, 24, 0, 0 }, { 32, -15, 3, 24, 0, 0 }, { 33, -15, 3, 24, 0, 0 }, { 34, -15, 3, 24, 0, 0 }, { 35, -15, 3, 24, 0, 0 }, - { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, + { 37, -15, 0, 24, 0, 0 }, { 39, -16, 0, 24, 0, 0 }, { 40, -16, 0, 24, 0, 0 }, MINI_GOLF_STATE(Unk2), MINI_GOLF_STATE(Unk3), { 41, -16, 0, 24, 0, 0 }, { 42, -16, 0, 24, 0, 0 }, { 43, -16, 0, 24, 0, 0 }, { 44, -16, 0, 24, 0, 0 }, { 45, -17, 0, 24, 0, 0 }, - { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, { -32768, 4, 0, 0, 0, 0 }, { -32768, 2, 0, 0, 0, 0 }, - { 59, -17, 0, 16, 0, 0 }, { -32768, 6, 0, 0, 0, 0 }, { -32768, 3, 0, 0, 0, 0 }, { 59, -17, 0, 16, 0, 0 }, + { 46, -17, 0, 24, 0, 0 }, { 47, -17, 0, 24, 0, 0 }, { 48, -17, 0, 24, 0, 0 }, MINI_GOLF_ANIMATION(Walk), MINI_GOLF_STATE(Unk2), + { 59, -17, 0, 16, 0, 0 }, MINI_GOLF_STATE(Unk6), MINI_GOLF_STATE(Unk3), { 59, -17, 0, 16, 0, 0 }, }) CREATE_VEHICLE_INFO(TrackVehicleInfo_95275E, { diff --git a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp index 8fa2a2c333..0e66c3e734 100644 --- a/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp +++ b/src/openrct2/ride/coaster/AirPoweredVerticalCoaster.cpp @@ -190,7 +190,7 @@ static void air_powered_vertical_rc_track_flat( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -216,7 +216,7 @@ static void air_powered_vertical_rc_track_station( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (ride != nullptr) track_paint_util_draw_narrow_station_platform(session, ride, direction, height, 5, trackElement); @@ -339,7 +339,7 @@ static void air_powered_vertical_rc_track_flat_to_left_bank( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -368,7 +368,7 @@ static void air_powered_vertical_rc_track_flat_to_right_bank( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -519,7 +519,7 @@ static void air_powered_vertical_rc_track_left_bank( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -548,7 +548,7 @@ static void air_powered_vertical_rc_track_brakes( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -660,7 +660,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsParentRotated(session, direction, supportsImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); PaintAddImageAsChildRotated(session, direction, trackImageId, 0, 0, 20, 32, bbHeight, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -684,7 +684,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsChildRotated(session, direction, trackImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (trackSequence == 0) { @@ -708,13 +708,12 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + supportHeights[trackSequence], 0x20); break; case 5: - if (wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr)) + if (wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS])) { uint32_t floorImageId; if (direction & 1) @@ -746,7 +745,7 @@ static void air_powered_vertical_rc_track_vertical_slope_up( PaintAddImageAsParentRotated(session, direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_vertical_tunnel(session, height + 240); @@ -918,7 +917,7 @@ static void air_powered_vertical_rc_track_booster( paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -937,7 +936,7 @@ static void air_powered_vertical_rc_track_onride_photo( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_onride_photo_paint(session, direction, height + 3, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); diff --git a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp index c6e2e0cbae..2562cdb072 100644 --- a/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp +++ b/src/openrct2/ride/coaster/HeartlineTwisterCoaster.cpp @@ -32,28 +32,28 @@ static void heartline_twister_rc_track_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21354, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21356, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21355, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21357, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21358, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21360, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21359, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21361, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -67,7 +67,7 @@ static void heartline_twister_rc_track_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21294, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21296, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: @@ -75,7 +75,7 @@ static void heartline_twister_rc_track_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21295, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21297, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -121,28 +121,28 @@ static void heartline_twister_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21378, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21382, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21379, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21383, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21380, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21384, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21381, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21385, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -155,28 +155,28 @@ static void heartline_twister_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21322, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21326, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21323, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21327, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21324, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21328, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21325, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21329, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -206,28 +206,28 @@ static void heartline_twister_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21402, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21406, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21403, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21407, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21404, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21408, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21405, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21409, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -240,28 +240,28 @@ static void heartline_twister_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21346, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21350, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21347, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21351, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21348, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21352, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21349, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21353, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -291,28 +291,28 @@ static void heartline_twister_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21362, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21366, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21363, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21367, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21364, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21368, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21365, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21369, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -325,28 +325,28 @@ static void heartline_twister_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21306, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21307, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21308, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21309, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -376,28 +376,28 @@ static void heartline_twister_rc_track_25_deg_up_to_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21386, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21390, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21387, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21391, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21388, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21392, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21389, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21393, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -410,28 +410,28 @@ static void heartline_twister_rc_track_25_deg_up_to_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21330, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21334, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21331, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21335, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21332, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21336, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21333, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21337, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -461,28 +461,28 @@ static void heartline_twister_rc_track_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21394, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21398, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21395, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21399, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21396, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21400, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21397, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21401, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -495,28 +495,28 @@ static void heartline_twister_rc_track_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21338, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21342, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21339, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21343, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21340, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21344, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21341, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21345, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -546,28 +546,28 @@ static void heartline_twister_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21370, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21374, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21371, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21375, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21372, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21376, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21373, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21377, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -580,28 +580,28 @@ static void heartline_twister_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21314, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21318, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21315, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21319, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21316, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21320, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21317, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21321, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -681,7 +681,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -689,7 +689,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -697,7 +697,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -705,7 +705,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -735,7 +735,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -750,7 +750,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -765,7 +765,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -780,7 +780,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -795,7 +795,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -803,7 +803,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -811,7 +811,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -819,7 +819,7 @@ static void heartline_twister_rc_track_heartline_transfer_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -945,7 +945,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -960,7 +960,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -975,7 +975,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -990,7 +990,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsChildRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 1, 34, height + 16, 0, 27, height + 16); - wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height + 8, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1005,7 +1005,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21302, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1013,7 +1013,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21303, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1021,7 +1021,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21304, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1029,7 +1029,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21305, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1044,7 +1044,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21310, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1052,7 +1052,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21311, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1060,7 +1060,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21312, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1068,7 +1068,7 @@ static void heartline_twister_rc_track_heartline_transfer_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21313, 0, 0, 32, 20, 0, height, 0, 6, height + 23); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1101,7 +1101,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1109,7 +1109,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1117,7 +1117,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1125,7 +1125,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); @@ -1141,7 +1141,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1149,7 +1149,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1157,7 +1157,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1165,7 +1165,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1180,7 +1180,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1188,7 +1188,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1196,7 +1196,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1204,7 +1204,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1219,7 +1219,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21430, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1227,7 +1227,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21433, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1235,7 +1235,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21424, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1243,7 +1243,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21427, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1258,7 +1258,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21429, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1266,7 +1266,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21432, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1274,7 +1274,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21423, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1282,7 +1282,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21426, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1297,7 +1297,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21428, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1305,7 +1305,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21431, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1313,7 +1313,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21422, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1321,7 +1321,7 @@ static void heartline_twister_rc_track_left_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21425, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); @@ -1347,7 +1347,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1355,7 +1355,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1363,7 +1363,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1371,7 +1371,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); @@ -1387,7 +1387,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1395,7 +1395,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1403,7 +1403,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1411,7 +1411,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1426,7 +1426,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1434,7 +1434,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1442,7 +1442,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1450,7 +1450,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1465,7 +1465,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21454, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1473,7 +1473,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21457, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1481,7 +1481,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21448, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1489,7 +1489,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21451, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1504,7 +1504,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21453, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1512,7 +1512,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21456, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1520,7 +1520,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21447, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1528,7 +1528,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21450, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1543,7 +1543,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21452, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1551,7 +1551,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21455, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1559,7 +1559,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21446, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1567,7 +1567,7 @@ static void heartline_twister_rc_track_right_heartline_roll( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21449, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); diff --git a/src/openrct2/ride/coaster/HybridCoaster.cpp b/src/openrct2/ride/coaster/HybridCoaster.cpp index 434343faa8..2192b3aeff 100644 --- a/src/openrct2/ride/coaster/HybridCoaster.cpp +++ b/src/openrct2/ride/coaster/HybridCoaster.cpp @@ -51,7 +51,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_FLAT + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -81,7 +81,7 @@ namespace HybridRC height + 3); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (ride != nullptr) track_paint_util_draw_narrow_station_platform(session, ride, direction, height, 10, trackElement); @@ -107,8 +107,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE + direction + 8), 0, 0, 32, 20, 2, height, 0, 6, height + 3); } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -162,8 +161,7 @@ namespace HybridRC session->WoodenSupportsPrependTo = ps; } - wooden_a_supports_paint_setup( - session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -192,8 +190,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE + direction), 0, 0, 32, 20, 3, height, 0, 6, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -274,8 +271,7 @@ namespace HybridRC break; } } - wooden_a_supports_paint_setup( - session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -357,8 +353,7 @@ namespace HybridRC break; } } - wooden_a_supports_paint_setup( - session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -387,8 +382,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE + direction + 4), 0, 0, 32, 20, 2, height, 0, 6, height + 3); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -453,13 +447,13 @@ namespace HybridRC { 24, 6, height + 8 }, { 4, 6, height + 8 }, }; - static const CoordsXYZ boundBoxLengths[4] = { + static constexpr CoordsXYZ boundBoxLengths[4] = { { 2, 20, 31 }, { 2, 20, 31 }, { 2, 20, 31 }, { 2, 20, 31 }, }; - static const uint32_t imageIds[4] = { + static constexpr uint32_t imageIds[4] = { SPR_G2_HYBRID_TRACK_VERTICAL + 8, SPR_G2_HYBRID_TRACK_VERTICAL + 9, SPR_G2_HYBRID_TRACK_VERTICAL + 10, @@ -498,13 +492,13 @@ namespace HybridRC { 24, 6, height }, { 0, 6, height }, }; - static const CoordsXYZ boundBoxLengths[4] = { + static constexpr CoordsXYZ boundBoxLengths[4] = { { 32, 20, 3 }, { 2, 20, 55 }, { 2, 20, 55 }, { 32, 20, 3 }, }; - static const uint32_t imageIds[4] = { + static constexpr uint32_t imageIds[4] = { SPR_G2_HYBRID_TRACK_VERTICAL + 0, SPR_G2_HYBRID_TRACK_VERTICAL + 1, SPR_G2_HYBRID_TRACK_VERTICAL + 2, @@ -518,8 +512,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | imageIds[direction], 0, 0, boundBoxLengths[direction].x, boundBoxLengths[direction].y, boundBoxLengths[direction].z, height, boundBoxOffsets[direction].x, boundBoxOffsets[direction].y, boundBoxOffsets[direction].z); - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -550,13 +543,13 @@ namespace HybridRC { 24, 6, height + 8 }, { 0, 6, height + 8 }, }; - static const CoordsXYZ boundBoxLengths[4] = { + static constexpr CoordsXYZ boundBoxLengths[4] = { { 32, 20, 3 }, { 2, 20, 31 }, { 2, 20, 31 }, { 32, 20, 3 }, }; - static const uint32_t imageIds[4] = { + static constexpr uint32_t imageIds[4] = { SPR_G2_HYBRID_TRACK_VERTICAL + 4, SPR_G2_HYBRID_TRACK_VERTICAL + 5, SPR_G2_HYBRID_TRACK_VERTICAL + 6, @@ -635,25 +628,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 6), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 9), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -673,25 +666,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 1), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 4), 0, 0, 16, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 7), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 10), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -706,25 +699,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 2), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 5), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 8), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE + 11), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -763,25 +756,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 5), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 10), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 15), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -803,25 +796,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 1), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 6), 0, 0, 36, 16, 3, height, 0, 4, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 11), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 16), 0, 0, 32, 14, 3, height, 0, 18, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -838,25 +831,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 7), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 12), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 17), 0, 0, 33, 33, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -879,25 +872,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 3), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 8), 0, 0, 16, 36, 3, height, 4, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 13), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 18), 0, 0, 14, 32, 3, height, 18, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -914,25 +907,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 4), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 9), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 14), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE + 19), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -971,25 +964,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 4), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 8), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 12), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1006,25 +999,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 1), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 5), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 9), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 13), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1037,25 +1030,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 6), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 10), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 14), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1065,16 +1058,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1123,25 +1116,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 16), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 24), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 28), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1158,25 +1151,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 17), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 25), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 29), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1189,25 +1182,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 18), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 22), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 26), 0, 0, 28, 28, 3, height, 4, 4, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE + 30), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1217,16 +1210,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1321,8 +1314,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_LIFT_TRACK_FLAT_DIAGONAL + 0), -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup( - session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1340,16 +1332,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1381,16 +1373,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1483,20 +1475,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1528,20 +1516,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1634,20 +1618,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1679,20 +1659,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1785,16 +1761,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1826,16 +1802,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1928,20 +1904,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -1973,20 +1945,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2078,20 +2046,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2122,20 +2086,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2228,16 +2188,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2269,16 +2229,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2371,20 +2331,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2416,20 +2372,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2522,20 +2474,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2567,20 +2515,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2673,20 +2617,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2718,20 +2658,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2824,20 +2760,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2869,20 +2801,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -2975,20 +2903,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3020,20 +2944,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3126,20 +3046,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3171,20 +3087,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3252,7 +3164,7 @@ namespace HybridRC height, 0, 6, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3291,7 +3203,7 @@ namespace HybridRC height, 0, 27, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3344,8 +3256,7 @@ namespace HybridRC height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -3391,8 +3302,7 @@ namespace HybridRC height, 0, 27, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -3438,8 +3348,7 @@ namespace HybridRC height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -3485,8 +3394,7 @@ namespace HybridRC height, 0, 27, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -3560,7 +3468,7 @@ namespace HybridRC height, 0, 6, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3606,16 +3514,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3633,16 +3541,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3693,16 +3601,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3723,16 +3631,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3786,16 +3694,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3813,16 +3721,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3873,16 +3781,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3903,16 +3811,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3966,16 +3874,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -3993,16 +3901,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4053,16 +3961,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4083,16 +3991,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4146,20 +4054,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4177,20 +4081,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4241,20 +4141,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4275,20 +4171,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4341,20 +4233,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4371,20 +4259,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4434,20 +4318,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4467,20 +4347,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4534,16 +4410,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4561,16 +4437,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4621,16 +4497,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4651,16 +4527,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4714,16 +4590,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4741,16 +4617,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4801,16 +4677,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4831,16 +4707,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -4877,7 +4753,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4886,19 +4762,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 5), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 9), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 13), 0, 0, 26, 32, 3, height, 6, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4918,25 +4794,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 2), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 6), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 10), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 14), 0, 0, 22, 22, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4951,7 +4827,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 3), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4960,7 +4836,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 8), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4969,13 +4845,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 12), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_CURVE_BANKED + 15), 0, 0, 32, 26, 3, height, 6, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5017,7 +4893,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5026,19 +4902,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 7), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 14), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5060,25 +4936,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 2), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 8), 0, 0, 48, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 15), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 21), 0, 0, 32, 14, 3, height, 0, 18, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5095,7 +4971,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 3), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5104,19 +4980,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 10), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 16), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 22), 0, 0, 38, 38, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5139,25 +5015,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 4), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 11), 0, 0, 16, 48, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 17), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 23), 0, 0, 14, 32, 3, height, 18, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5174,7 +5050,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 5), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5183,7 +5059,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 13), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5192,13 +5068,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 19), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_MEDIUM_CURVE_BANKED + 24), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5240,7 +5116,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5249,19 +5125,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 6), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 12), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 16), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5278,7 +5154,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 2), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5287,19 +5163,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 8), 0, 0, 34, 16, 0, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 13), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 17), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5312,25 +5188,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 3), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 9), 0, 0, 16, 16, 0, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 14), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 18), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5340,16 +5216,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5401,13 +5277,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 24), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5416,7 +5292,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 29), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5425,7 +5301,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 36), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5442,13 +5318,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 25), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5457,13 +5333,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 31), 0, 0, 34, 16, 0, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 37), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5476,25 +5352,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 22), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 26), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 32), 0, 0, 28, 28, 0, height, 4, 4, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_CURVE_BANKED + 38), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5504,16 +5380,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); @@ -5582,25 +5458,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 0), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 2), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 4), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 6), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5617,16 +5493,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5641,25 +5517,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 1), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 3), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 5), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 7), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5690,25 +5566,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 8), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 10), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 12), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 14), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5725,16 +5601,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5749,25 +5625,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 9), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 11), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 13), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE + 15), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5814,25 +5690,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 5), 0, 0, 34, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 10), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5854,25 +5730,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 1), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 6), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 11), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 16), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5889,25 +5765,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 7), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 12), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 17), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5930,25 +5806,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 3), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 8), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 13), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 18), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5965,25 +5841,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 4), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 9), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 14), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 19), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -6014,25 +5890,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 20), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 25), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 30), 0, 0, 34, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 35), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6054,25 +5930,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 26), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 31), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 36), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -6089,25 +5965,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 22), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 27), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 32), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 37), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -6130,25 +6006,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 23), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 28), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 33), 0, 0, 16, 32, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 38), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -6165,25 +6041,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 24), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 29), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 34), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE + 39), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -6230,7 +6106,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 1), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6239,7 +6115,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 3), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6248,7 +6124,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 5), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6257,7 +6133,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 7), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } track_paint_util_left_quarter_turn_1_tile_tunnel(session, direction, height, -8, TUNNEL_SQUARE_7, +56, TUNNEL_SQUARE_8); @@ -6278,7 +6154,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 9), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6287,7 +6163,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 11), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6296,7 +6172,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 13), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6305,7 +6181,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_STEEP_SMALL_CURVE + 15), 0, 0, 28, 28, 1, height, 2, 2, height + 99); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } track_paint_util_right_quarter_turn_1_tile_tunnel( @@ -6462,8 +6338,7 @@ namespace HybridRC 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6506,8 +6381,7 @@ namespace HybridRC 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6550,8 +6424,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6594,8 +6467,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6669,8 +6541,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -6716,8 +6587,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -6763,8 +6633,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -6810,8 +6679,7 @@ namespace HybridRC 34, height, 0, 27, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -6879,8 +6747,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6920,8 +6787,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -6978,8 +6844,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -7022,8 +6887,7 @@ namespace HybridRC 20, 3, height, 0, 6, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -7066,8 +6930,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -7110,8 +6973,7 @@ namespace HybridRC 20, 2, height, 0, 6, height + 3); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -7165,7 +7027,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 0), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7174,19 +7036,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 3), 0, 6, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 6), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 9), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7203,16 +7065,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7227,7 +7089,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 1), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7236,7 +7098,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 5), 6, 0, 1, 34, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7245,13 +7107,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 8), 6, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 10), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7282,13 +7144,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 11), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 13), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7297,13 +7159,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 17), 0, 6, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 20), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7320,16 +7182,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7344,7 +7206,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 12), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7353,7 +7215,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 15), 6, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7362,13 +7224,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 19), 6, 0, 1, 34, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_SMALL_CURVE_BANKED + 21), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7415,7 +7277,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7424,19 +7286,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 6), 0, 0, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 21), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7458,7 +7320,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 1), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7467,19 +7329,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 8), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 16), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 22), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7496,7 +7358,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7505,19 +7367,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 10), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 17), 0, 0, 1, 1, 3, height, 64, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 23), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7540,7 +7402,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 3), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7549,19 +7411,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 12), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 18), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 24), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7578,7 +7440,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 4), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7587,7 +7449,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 14), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7596,13 +7458,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 20), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 25), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7633,13 +7495,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 26), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 31), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7648,13 +7510,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 38), 0, 0, 34, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 47), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7676,13 +7538,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 27), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 32), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7691,13 +7553,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 40), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 48), 0, 0, 32, 16, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7714,13 +7576,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 28), 0, 0, 16, 16, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 33), 0, 0, 1, 1, 3, height, 64, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7729,13 +7591,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 42), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 49), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7758,13 +7620,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 29), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 34), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7773,13 +7635,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 44), 0, 0, 1, 1, 34, height, 30, 30, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 50), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7796,7 +7658,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 30), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7805,7 +7667,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 36), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7814,13 +7676,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 46), 0, 0, 1, 32, 34, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_GENTLE_MEDIUM_CURVE_BANKED + 51), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -7867,25 +7729,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 4), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 7), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7902,25 +7764,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 1), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 5), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 2), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 6), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7937,25 +7799,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 2), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 6), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 1), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 5), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7972,25 +7834,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 7), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 0), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 4), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8021,25 +7883,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 8), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 12), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 11), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8056,25 +7918,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 9), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 13), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 10), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 14), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8091,25 +7953,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 10), 0, 0, 34, 26, 3, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 14), 0, 0, 32, 26, 3, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 9), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 13), 0, 0, 32, 26, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8126,25 +7988,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 11), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 8), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_S_BEND + 12), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8178,7 +8040,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8187,19 +8049,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 5), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 9), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 13), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8213,16 +8075,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8234,25 +8096,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 2), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 6), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 10), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 14), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8267,7 +8129,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 3), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8276,7 +8138,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 8), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8285,13 +8147,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 12), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 15), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8313,7 +8175,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 13), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8322,7 +8184,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 1), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8331,13 +8193,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 5), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 9), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8356,16 +8218,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8377,25 +8239,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 14), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 2), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 6), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 10), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8410,13 +8272,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 15), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 3), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8425,7 +8287,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 8), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -8434,7 +8296,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 12), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8460,13 +8322,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 16), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 19), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8475,7 +8337,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 24), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -8484,7 +8346,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 29), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8498,16 +8360,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8519,25 +8381,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 17), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 20), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 25), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 30), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8552,7 +8414,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 18), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8561,7 +8423,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 22), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8570,13 +8432,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 27), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 31), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8598,7 +8460,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 19), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8607,7 +8469,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 24), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8616,13 +8478,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 29), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 16), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8641,16 +8503,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -8662,25 +8524,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 20), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 25), 0, 0, 16, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 30), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 17), 0, 0, 16, 16, 3, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8698,7 +8560,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 22), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8707,19 +8569,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 27), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 31), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_SMALL_HELIX + 18), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8774,7 +8636,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 1), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8783,19 +8645,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 7), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 14), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 20), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -8817,25 +8679,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 2), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 8), 0, 0, 33, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 15), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 21), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8852,7 +8714,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 3), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8861,19 +8723,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 10), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 16), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 22), 0, 0, 34, 34, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8896,25 +8758,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 4), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 11), 0, 0, 16, 33, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 17), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 23), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -8931,7 +8793,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 5), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8940,7 +8802,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 13), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8949,13 +8811,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 19), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 24), 0, 0, 28, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -8977,7 +8839,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 20), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -8986,7 +8848,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 1), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8995,13 +8857,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 7), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 14), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -9028,25 +8890,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 21), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 2), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 8), 0, 0, 16, 32, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 15), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9063,13 +8925,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 22), 0, 0, 16, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 3), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9078,13 +8940,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 10), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 16), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9107,25 +8969,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 23), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 4), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 11), 0, 0, 32, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 17), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9142,13 +9004,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 24), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 5), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9157,7 +9019,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 13), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -9166,7 +9028,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 19), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9192,13 +9054,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 25), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 30), 0, 0, 32, 32, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9207,7 +9069,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 37), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -9216,7 +9078,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 45), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9238,25 +9100,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 26), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 31), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 38), 0, 0, 33, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 46), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9273,13 +9135,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 27), 0, 0, 34, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 32), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9288,13 +9150,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 40), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 47), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9317,25 +9179,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 28), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 33), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 41), 0, 0, 16, 33, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 48), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9352,7 +9214,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 29), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9361,7 +9223,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 35), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9370,13 +9232,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 43), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 49), 0, 0, 32, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -9398,7 +9260,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 30), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9407,7 +9269,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 37), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9416,13 +9278,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 45), 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 25), 0, 0, 20, 32, 3, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -9449,25 +9311,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 31), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 38), 0, 0, 16, 32, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 46), 0, 0, 16, 32, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 26), 0, 0, 16, 32, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9484,7 +9346,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 32), 0, 0, 16, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9493,19 +9355,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 40), 0, 0, 16, 16, 1, height, 16, 16, height + 28); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 47), 0, 0, 16, 16, 3, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 27), 0, 0, 16, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9528,25 +9390,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 33), 0, 0, 32, 16, 3, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 41), 0, 0, 32, 16, 1, height, 0, 0, height + 28); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 48), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 28), 0, 0, 32, 16, 3, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -9566,7 +9428,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 35), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -9575,19 +9437,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 43), 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 49), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_LARGE_HELIX + 29), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -9668,8 +9530,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -9713,8 +9574,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -9763,8 +9623,7 @@ namespace HybridRC paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_INVERTED_9); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -9813,8 +9672,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -9858,8 +9716,7 @@ namespace HybridRC 0, height, 0, 6, height + 40); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -9899,8 +9756,7 @@ namespace HybridRC 0, height, 0, 6, height + 56); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10011,8 +9867,7 @@ namespace HybridRC 64, height, 0, 32, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 64, 0x20); break; @@ -10052,8 +9907,7 @@ namespace HybridRC 32, height, 0, 32, height); break; } - wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_0); @@ -10078,7 +9932,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_BRAKE + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -10093,7 +9947,7 @@ namespace HybridRC session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_FLAT + (direction & 1)), 0, 0, 32, 20, 0, height, 0, 6, height + 3); track_paint_util_onride_photo_paint(session, direction, height + 3, trackElement); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -10130,7 +9984,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 50 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 50 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -10163,7 +10017,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 54 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 54 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -10192,7 +10046,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 58 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 58 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 64, 0x20); break; @@ -10221,7 +10075,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 62 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 62 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10268,7 +10122,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 66 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 66 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_7); @@ -10301,7 +10155,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 70 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 70 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 80, 0x20); break; @@ -10330,7 +10184,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 74 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 74 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 56, 0x20); break; @@ -10359,7 +10213,7 @@ namespace HybridRC break; } wooden_a_supports_paint_setup( - session, direction & 1, 78 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, direction & 1, 78 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); switch (direction) { case 1: @@ -10396,7 +10250,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_BLOCK_BRAKE + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -10409,7 +10263,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_BOOSTER + (direction & 1)), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -10422,8 +10276,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_POWERED_LIFT + direction), 0, 0, 32, 20, 3, height, 0, 6, height); - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_7); @@ -10449,7 +10302,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 0), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10458,19 +10311,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 3), 0, 6, 34, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 5), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 7), 0, 6, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10487,16 +10340,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10511,25 +10364,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 1), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 4), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 6), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 8), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10560,13 +10413,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 9), 0, 6, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 11), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10575,13 +10428,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 14), 0, 6, 34, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 16), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10598,16 +10451,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10622,25 +10475,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 10), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 12), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 15), 6, 0, 20, 34, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 17), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10671,25 +10524,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 12), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 15), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 17), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 10), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10706,16 +10559,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10730,7 +10583,7 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 11), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10739,19 +10592,19 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 14), 6, 0, 1, 34, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 16), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 9), 6, 0, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -10782,25 +10635,25 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 8), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 1), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 4), 0, 6, 34, 20, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 6), 0, 6, 32, 20, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -10817,16 +10670,16 @@ namespace HybridRC switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -10841,13 +10694,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 7), 6, 0, 32, 32, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 0), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10856,13 +10709,13 @@ namespace HybridRC PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 3), 6, 0, 1, 34, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, GetTrackColour(session) | (SPR_G2_HYBRID_TRACK_TURN_BANK_TRANSITION + 5), 6, 0, 20, 32, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp index 9f86c51f2d..3c5e3a250e 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.cpp @@ -2467,9 +2467,8 @@ static void junior_rc_left_bank_paint_setup( image_id = junior_rc_track_pieces_left_bank[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, image_id, 0, 0, junior_rc_left_bank_bound_lengths[direction].x, junior_rc_left_bank_bound_lengths[direction].y, - static_cast(junior_rc_left_bank_bound_lengths[direction].z), height, - junior_rc_left_bank_bound_offsets[direction].x, junior_rc_left_bank_bound_offsets[direction].y, height); + session, image_id, { 0, 0, height }, junior_rc_left_bank_bound_lengths[direction], + { junior_rc_left_bank_bound_offsets[direction], height }); if (direction & 1) { @@ -2510,7 +2509,7 @@ void junior_rc_paint_track_left_quarter_turn_5_tiles_25_deg_up( junior_rc_track_pieces_left_quarter_turn_5_tiles_25_deg_up[EnumValue(chainType)], junior_rc_left_quarter_turn_5_tiles_25_deg_up_offsets, defaultRightQuarterTurn5TilesBoundLengths, nullptr); - uint8_t supportSpecial[4] = { 8, 8, 8, 3 }; + static constexpr uint8_t supportSpecial[4] = { 8, 8, 8, 3 }; switch (trackSequence) { case 0: @@ -2590,7 +2589,7 @@ void junior_rc_paint_track_right_quarter_turn_5_tiles_25_deg_up( junior_rc_track_pieces_right_quarter_turn_5_tiles_25_deg_up[EnumValue(chainType)], defaultRightQuarterTurn5TilesOffsets, defaultRightQuarterTurn5TilesBoundLengths, nullptr); - uint8_t supportSpecial[4] = { 11, 8, 8, 7 }; + static constexpr uint8_t supportSpecial[4] = { 11, 8, 8, 7 }; switch (trackSequence) { case 0: @@ -2713,14 +2712,14 @@ static void junior_rc_s_bend_left_paint_setup( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 0 }, { 0, 6 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -2732,13 +2731,11 @@ static void junior_rc_s_bend_left_paint_setup( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 1, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 1 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 1, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 1 }); } if (direction == 0 || direction == 2) @@ -2819,14 +2816,14 @@ static void junior_rc_s_bend_right_paint_setup( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 6 }, { 0, 0 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -2838,13 +2835,11 @@ static void junior_rc_s_bend_right_paint_setup( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 1, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 1 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 1, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 1 }); } if (direction == 0 || direction == 2) @@ -2926,7 +2921,10 @@ static void junior_rc_right_quarter_turn_3_tiles_paint_setup( defaultRightQuarterTurn3TilesBoundLengths, nullptr); track_paint_util_right_quarter_turn_3_tiles_tunnel(session, height, direction, trackSequence, TUNNEL_0); - uint8_t supportType[2][4] = { { 1, 0, 0, 2 }, { 2, 0, 0, 1 } }; + static constexpr uint8_t supportType[2][4] = { + { 1, 0, 0, 2 }, + { 2, 0, 0, 1 }, + }; switch (trackSequence) { case 0: @@ -3014,7 +3012,12 @@ static void junior_rc_right_quarter_turn_3_tiles_bank_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - uint8_t thickness[4][4] = { { 1, 1, 1, 1 }, { 1, 1, 1, 1 }, { 26, 1, 1, 26 }, { 1, 1, 1, 1 } }; + static constexpr uint8_t thickness[4][4] = { + { 1, 1, 1, 1 }, + { 1, 1, 1, 1 }, + { 26, 1, 1, 26 }, + { 1, 1, 1, 1 }, + }; track_paint_util_right_quarter_turn_3_tiles_paint( session, thickness[direction][trackSequence], height, direction, trackSequence, session->TrackColours[SCHEME_TRACK], @@ -3088,9 +3091,9 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_up( break; } if (imageId != 0) - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, 1, - height, boundsOffset.x, boundsOffset.y, height); + { + PaintAddImageAsParent(session, imageId, { offset, height }, { boundsLength, 1 }, { boundsOffset, height }); + } if (direction == 0 && trackSequence == 0) { @@ -3167,9 +3170,10 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down( break; } if (imageId != 0) + { PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), boundsLength.x, boundsLength.y, 1, - height, boundsOffset.x, boundsOffset.y, height); + session, imageId, { offset, height }, { boundsLength.x, boundsLength.y, 1 }, { boundsOffset, height }); + } if (direction == 0 && trackSequence == 0) { @@ -3191,7 +3195,10 @@ void junior_rc_paint_track_right_quarter_turn_3_tiles_25_deg_down( paint_util_push_tunnel_right(session, height + 8, TUNNEL_2); } - uint8_t supportType[2][4] = { { 1, 0, 0, 2 }, { 2, 0, 0, 1 } }; + static constexpr uint8_t supportType[2][4] = { + { 1, 0, 0, 2 }, + { 2, 0, 0, 1 }, + }; switch (trackSequence) { case 0: @@ -3278,7 +3285,7 @@ static void junior_rc_right_half_banked_helix_up_small_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 3) { @@ -3346,7 +3353,7 @@ static void junior_rc_right_half_banked_helix_down_small_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 3) { @@ -3446,7 +3453,7 @@ static void junior_rc_right_half_banked_helix_up_large_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 6) { @@ -3532,7 +3539,7 @@ static void junior_rc_right_half_banked_helix_down_large_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t thickness[2] = { 1, 26 }; + static constexpr int8_t thickness[2] = { 1, 26 }; if (trackSequence > 6) { @@ -4166,7 +4173,7 @@ static void junior_rc_left_eighth_to_orthogonal_bank_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; junior_rc_right_eighth_to_diag_bank_paint_setup(session, ride, trackSequence, (direction + 2) % 4, height, trackElement); } @@ -4176,7 +4183,7 @@ static void junior_rc_right_eighth_to_orthogonal_bank_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; junior_rc_left_eighth_to_diag_bank_paint_setup(session, ride, trackSequence, (direction + 3) % 4, height, trackElement); } @@ -4962,10 +4969,9 @@ void junior_rc_paint_track_60_deg_up( image_id |= junior_rc_track_pieces_60_deg_up[EnumValue(chainType)][direction]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), junior_rc_60_deg_up_bound_lengths[direction].x, - junior_rc_60_deg_up_bound_lengths[direction].y, junior_rc_60_deg_up_bound_thickness[direction], height, - junior_rc_60_deg_up_bound_offsets[direction].x, junior_rc_60_deg_up_bound_offsets[direction].y, height); + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_60_deg_up_bound_lengths[direction], junior_rc_60_deg_up_bound_thickness[direction] }, + { junior_rc_60_deg_up_bound_offsets[direction], height }); switch (direction) { @@ -4983,7 +4989,7 @@ void junior_rc_paint_track_60_deg_up( break; } - int8_t support[4] = { 35, 29, 25, 32 }; + static constexpr int8_t support[4] = { 35, 29, 25, 32 }; if (track_paint_util_should_paint_supports(session->MapPosition)) { metal_a_supports_paint_setup( @@ -5038,13 +5044,10 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, height); + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0], + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][1] != 0) { @@ -5053,13 +5056,10 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( image_id |= junior_rc_track_pieces_25_deg_up_to_60_deg_up[EnumValue(chainType)][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, height); + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1], + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5078,7 +5078,7 @@ void junior_rc_paint_track_25_deg_up_to_60_deg_up( break; } - int8_t support[4] = { 12, 12, 12, 14 }; + static constexpr int8_t support[4] = { 12, 12, 12, 14 }; if (track_paint_util_should_paint_supports(session->MapPosition)) { metal_a_supports_paint_setup( @@ -5117,13 +5117,10 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up( image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0].y, height); + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][0], + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][1] != 0) { @@ -5132,13 +5129,10 @@ void junior_rc_paint_track_60_deg_up_to_25_deg_up( image_id |= junior_rc_track_pieces_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_tile_offsets[direction].x), - static_cast(junior_rc_60_deg_up_tile_offsets[direction].y), - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1].y, - junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction], height, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1].y, height); + session, image_id, { junior_rc_60_deg_up_tile_offsets[direction], height }, + { junior_rc_25_deg_up_to_60_deg_up_bound_lengths[direction][1], + junior_rc_25_deg_up_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_25_deg_up_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5258,7 +5252,7 @@ void junior_rc_paint_track_diag_60_deg_up_to_25_deg_up( session, junior_rc_track_pieces_diag_60_deg_up_to_25_deg_up[EnumValue(chainType)][direction] | session->TrackColours[SCHEME_TRACK], - -16, -16, 16, 16, 1, height, 0, 0, height); + { -16, -16, height }, { 16, 16, 1 }, { 0, 0, height }); } else { @@ -5290,7 +5284,7 @@ void junior_rc_paint_track_diag_25_deg_down_to_60_deg_down( session, junior_rc_track_pieces_diag_25_deg_down_to_60_deg_down[EnumValue(chainType)][direction] | session->TrackColours[SCHEME_TRACK], - -16, -16, 16, 16, 1, height, 0, 0, height); + { -16, -16, height }, { 16, 16, 1 }, { 0, 0, height }); } else { @@ -5434,12 +5428,9 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].x), - static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][0].y), - junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_flat_to_60_deg_up_bound_thickness[direction], height + 24, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, - height); + session, image_id, { junior_rc_flat_to_60_deg_up_tile_offsets[direction][0], height + 24 }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][0], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1] != 0) { @@ -5448,12 +5439,9 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( image_id |= junior_rc_track_pieces_flat_to_60_deg_up[isChained][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].x), - static_cast(junior_rc_flat_to_60_deg_up_tile_offsets[direction][1].y), - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, junior_rc_flat_to_60_deg_up_bound_thickness[direction], - height, junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, height); + session, image_id, { junior_rc_flat_to_60_deg_up_tile_offsets[direction][1], height }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][1], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5472,7 +5460,7 @@ static void junior_rc_flat_to_60_deg_up_paint_setup( break; } - int8_t support[4] = { 12, 12, 12, 14 }; + static constexpr int8_t support[4] = { 12, 12, 12, 14 }; if (track_paint_util_should_paint_supports(session->MapPosition)) { metal_a_supports_paint_setup( @@ -5503,12 +5491,9 @@ static void junior_rc_60_deg_up_to_flat_paint_setup( image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][0]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].x), - static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][0].y), - junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].x, junior_rc_flat_to_60_deg_up_bound_lengths[direction][0].y, - junior_rc_flat_to_60_deg_up_bound_thickness[direction], height + 24, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].x, junior_rc_flat_to_60_deg_up_bound_offsets[direction][0].y, - height); + session, image_id, { junior_rc_60_deg_up_to_flat_tile_offsets[direction][0], height + 24 }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][0], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][0], height }); if (junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1] != 0) { @@ -5517,12 +5502,9 @@ static void junior_rc_60_deg_up_to_flat_paint_setup( image_id |= junior_rc_track_pieces_60_deg_up_to_flat[isChained][direction][1]; PaintAddImageAsParent( - session, image_id, static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].x), - static_cast(junior_rc_60_deg_up_to_flat_tile_offsets[direction][1].y), - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_lengths[direction][1].y, junior_rc_flat_to_60_deg_up_bound_thickness[direction], - height, junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].x, - junior_rc_flat_to_60_deg_up_bound_offsets[direction][1].y, height); + session, image_id, { junior_rc_60_deg_up_to_flat_tile_offsets[direction][1], height }, + { junior_rc_flat_to_60_deg_up_bound_lengths[direction][1], junior_rc_flat_to_60_deg_up_bound_thickness[direction] }, + { junior_rc_flat_to_60_deg_up_bound_offsets[direction][1], height }); } switch (direction) @@ -5643,14 +5625,14 @@ static void junior_rc_booster_paint_setup( if (direction & 1) { PaintAddImageAsParent( - session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], 0, 0, 20, 32, 1, height); + session, SPR_JUNIOR_RC_BOOSTER_NE_SW | session->TrackColours[SCHEME_TRACK], { 0, 0, height }, { 20, 32, 1 }); paint_util_push_tunnel_right(session, height, TUNNEL_0); } else { PaintAddImageAsParent( - session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height); + session, SPR_JUNIOR_RC_BOOSTER_NW_SE | session->TrackColours[SCHEME_TRACK], { 0, 0, height }, { 32, 20, 1 }); paint_util_push_tunnel_left(session, height, TUNNEL_0); } diff --git a/src/openrct2/ride/coaster/JuniorRollerCoaster.h b/src/openrct2/ride/coaster/JuniorRollerCoaster.h index d9bbcaaf66..be1220034e 100644 --- a/src/openrct2/ride/coaster/JuniorRollerCoaster.h +++ b/src/openrct2/ride/coaster/JuniorRollerCoaster.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _JUNIOR_ROLLER_COASTER_H -#define _JUNIOR_ROLLER_COASTER_H +#pragma once #include "../../common.h" @@ -114,5 +113,3 @@ void junior_rc_paint_track_diag_25_deg_down_to_flat( void junior_rc_paint_track_diag_60_deg_down_to_flat( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, uint16_t height, const TrackElement& trackElement, JuniorRcChainType chainType); - -#endif // _JUNIOR_ROLLER_COASTER_H diff --git a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp index 0df9ecab8a..a869a5f50f 100644 --- a/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/LoopingRollerCoaster.cpp @@ -18,8 +18,11 @@ #include "../TrackData.h" #include "../TrackPaint.h" -#define LOOPING_RC_BOOSTER_NE_SW (SPR_CSG_BEGIN + 55679) -#define LOOPING_RC_BOOSTER_NW_SE (SPR_CSG_BEGIN + 55680) +static constexpr auto SPR_LOOPING_RC_BOOSTER_NE_SW = (SPR_CSG_BEGIN + 55679); +static constexpr auto SPR_LOOPING_RC_BOOSTER_NW_SE = (SPR_CSG_BEGIN + 55680); + +static constexpr auto SPR_LOOPING_RC_FLAT_CHAINED_SW_NE = 15016; +static constexpr auto SPR_LOOPING_RC_FLAT_CHAINED_NW_SE = 15017; /** rct2: 0x008A6370 */ static void looping_rc_track_flat( @@ -82,15 +85,19 @@ static void looping_rc_track_station( paint_session* session, const Ride* ride, [[maybe_unused]] uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint32_t stationTrackNESW = is_csg_loaded() ? LOOPING_RC_BOOSTER_NE_SW : 15016; - const uint32_t stationTrackNWSE = is_csg_loaded() ? LOOPING_RC_BOOSTER_NW_SE : 15017; - - static const uint32_t imageIds[4][2] = { - { stationTrackNESW, SPR_STATION_BASE_B_SW_NE }, - { stationTrackNWSE, SPR_STATION_BASE_B_NW_SE }, - { stationTrackNESW, SPR_STATION_BASE_B_SW_NE }, - { stationTrackNWSE, SPR_STATION_BASE_B_NW_SE }, + static constexpr uint32_t imageIdsWithCsg[4][2] = { + { SPR_LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_LOOPING_RC_BOOSTER_NE_SW, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_BOOSTER_NW_SE, SPR_STATION_BASE_B_NW_SE }, }; + static constexpr uint32_t imageIdsWithoutCsg[4][2] = { + { SPR_LOOPING_RC_FLAT_CHAINED_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_FLAT_CHAINED_NW_SE, SPR_STATION_BASE_B_NW_SE }, + { SPR_LOOPING_RC_FLAT_CHAINED_SW_NE, SPR_STATION_BASE_B_SW_NE }, + { SPR_LOOPING_RC_FLAT_CHAINED_NW_SE, SPR_STATION_BASE_B_NW_SE }, + }; + const auto& imageIds = is_csg_loaded() ? imageIdsWithCsg : imageIdsWithoutCsg; PaintAddImageAsParentRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 20, 1, height, 0, 6, @@ -9165,14 +9172,14 @@ static void looping_rc_track_booster( case 0: case 2: PaintAddImageAsParentRotated( - session, direction, session->TrackColours[SCHEME_TRACK] | LOOPING_RC_BOOSTER_NE_SW, 0, 0, 32, 20, 3, height, 0, - 6, height); + session, direction, session->TrackColours[SCHEME_TRACK] | SPR_LOOPING_RC_BOOSTER_NE_SW, 0, 0, 32, 20, 3, height, + 0, 6, height); break; case 1: case 3: PaintAddImageAsParentRotated( - session, direction, session->TrackColours[SCHEME_TRACK] | LOOPING_RC_BOOSTER_NW_SE, 0, 0, 32, 20, 3, height, 0, - 6, height); + session, direction, session->TrackColours[SCHEME_TRACK] | SPR_LOOPING_RC_BOOSTER_NW_SE, 0, 0, 32, 20, 3, height, + 0, 6, height); break; } if (track_paint_util_should_paint_supports(session->MapPosition)) diff --git a/src/openrct2/ride/coaster/MineTrainCoaster.cpp b/src/openrct2/ride/coaster/MineTrainCoaster.cpp index 104dbbc076..7b1539b5e5 100644 --- a/src/openrct2/ride/coaster/MineTrainCoaster.cpp +++ b/src/openrct2/ride/coaster/MineTrainCoaster.cpp @@ -42,22 +42,22 @@ static void mine_train_rc_track_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20054, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20055, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20056, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20057, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -69,13 +69,13 @@ static void mine_train_rc_track_flat( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -131,22 +131,22 @@ static void mine_train_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20102, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20103, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20104, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20105, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -157,22 +157,22 @@ static void mine_train_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20074, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20075, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20076, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20077, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -198,22 +198,22 @@ static void mine_train_rc_track_60_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20090, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20091, 0, 0, 1, 32, 98, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20092, 0, 0, 1, 32, 98, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20093, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -240,22 +240,22 @@ static void mine_train_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20094, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20095, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20096, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20097, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -266,22 +266,22 @@ static void mine_train_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20066, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20067, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20068, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20069, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -307,26 +307,26 @@ static void mine_train_rc_track_25_deg_up_to_60_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20078, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20079, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20082, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20080, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20083, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20081, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -351,26 +351,26 @@ static void mine_train_rc_track_60_deg_up_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20084, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20085, 0, 0, 24, 1, 61, height, 4, 29, height - 16); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20088, 0, 0, 32, 2, 66, height, 0, 4, height); - wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: session->WoodenSupportsPrependTo = PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20086, 0, 0, 24, 1, 61, height, 4, 29, height - 16); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20089, 0, 0, 32, 2, 66, height, 0, 4, height); - wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20087, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -397,22 +397,22 @@ static void mine_train_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20098, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20099, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20100, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20101, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -423,22 +423,22 @@ static void mine_train_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20070, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20071, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20072, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20073, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -515,22 +515,22 @@ static void mine_train_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20155, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20160, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20165, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20150, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -551,24 +551,24 @@ static void mine_train_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20154, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20159, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20164, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20149, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -585,24 +585,24 @@ static void mine_train_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20153, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20158, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20163, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20148, 0, 0, 16, 16, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -625,23 +625,23 @@ static void mine_train_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20152, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20157, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20162, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20147, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -657,22 +657,22 @@ static void mine_train_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20151, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20156, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20161, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20146, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -711,24 +711,24 @@ static void mine_train_rc_track_flat_to_left_bank( session, direction, session->TrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -746,26 +746,26 @@ static void mine_train_rc_track_flat_to_right_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -785,24 +785,24 @@ static void mine_train_rc_track_left_bank_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 20112, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20116, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20113, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20117, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20110, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20111, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -820,26 +820,26 @@ static void mine_train_rc_track_right_bank_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20108, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20109, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20106, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20114, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20107, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20115, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -863,23 +863,23 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20186, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20180, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20185, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20170, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -900,25 +900,25 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20174, 0, 0, 32, 16, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20179, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20184, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20169, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -935,24 +935,24 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20173, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20183, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20168, 0, 0, 16, 16, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -975,24 +975,24 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20172, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20182, 0, 0, 16, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20167, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1008,13 +1008,13 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20171, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20176, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1022,12 +1022,12 @@ static void mine_train_rc_track_banked_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20187, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20166, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1066,24 +1066,24 @@ static void mine_train_rc_track_left_bank_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 20118, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20122, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20119, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20123, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20120, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20121, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1108,26 +1108,26 @@ static void mine_train_rc_track_right_bank_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20124, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20125, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20126, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20128, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20127, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20129, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1154,24 +1154,24 @@ static void mine_train_rc_track_25_deg_up_to_left_bank( session, direction, session->TrackColours[SCHEME_TRACK] | 20130, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20134, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20131, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20135, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20132, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20133, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1196,26 +1196,26 @@ static void mine_train_rc_track_25_deg_up_to_right_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20136, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20137, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20138, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20140, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20139, 0, 0, 32, 20, 1, height, 0, 6, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20141, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1272,22 +1272,22 @@ static void mine_train_rc_track_left_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20142, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20143, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20144, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20145, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1316,22 +1316,22 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20250, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20255, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20260, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20265, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1352,24 +1352,24 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20251, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20256, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20261, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20266, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1386,24 +1386,24 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20252, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20257, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20262, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20267, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1426,23 +1426,23 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20253, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20258, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20263, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20268, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1458,22 +1458,22 @@ static void mine_train_rc_track_left_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20254, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20259, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20264, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20269, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1504,22 +1504,22 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20230, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20235, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20240, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20245, 0, 0, 32, 27, 1, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1541,23 +1541,23 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20231, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20236, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20241, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20246, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1573,25 +1573,25 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20232, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20237, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20242, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20247, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1614,23 +1614,23 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20233, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20238, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20243, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20248, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1646,22 +1646,22 @@ static void mine_train_rc_track_right_quarter_turn_5_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20234, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20239, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20244, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20249, 0, 0, 27, 32, 1, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1710,22 +1710,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1741,22 +1741,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1772,22 +1772,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20272, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20276, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20271, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20275, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1803,22 +1803,22 @@ static void mine_train_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20273, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20277, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20270, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20274, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1849,22 +1849,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1880,22 +1880,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1911,22 +1911,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20280, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20284, 0, 0, 32, 26, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20279, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20283, 0, 0, 32, 26, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1942,22 +1942,22 @@ static void mine_train_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20281, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20285, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20278, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20282, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1988,22 +1988,22 @@ static void mine_train_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20193, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20196, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20199, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20190, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2017,16 +2017,16 @@ static void mine_train_rc_track_left_quarter_turn_3( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2064,22 +2064,22 @@ static void mine_train_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20191, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20194, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20197, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20188, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2122,23 +2122,23 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20212, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20208, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20211, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20202, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2152,16 +2152,16 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2200,13 +2200,13 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20203, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20206, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2214,12 +2214,12 @@ static void mine_train_rc_track_left_quarter_turn_3_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20213, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20200, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2259,22 +2259,22 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20225, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20227, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20229, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20223, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2288,16 +2288,16 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 56, 0x20); @@ -2313,22 +2313,22 @@ static void mine_train_rc_track_left_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20224, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20226, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20228, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20222, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2359,22 +2359,22 @@ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20214, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20216, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20218, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20220, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2388,16 +2388,16 @@ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 56, 0x20); @@ -2413,22 +2413,22 @@ static void mine_train_rc_track_right_quarter_turn_3_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20215, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20217, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20219, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20221, 6, 0, 20, 32, 1, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2480,23 +2480,23 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20312, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20308, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20311, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20302, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2514,16 +2514,16 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2562,13 +2562,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20303, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20306, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2576,12 +2576,12 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20313, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20300, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2606,7 +2606,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20302, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2614,18 +2614,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20312, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20308, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20311, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2648,16 +2648,16 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2696,18 +2696,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20300, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20303, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20306, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2715,7 +2715,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20313, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2745,18 +2745,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20286, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20289, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20292, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2764,7 +2764,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20299, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2782,16 +2782,16 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2830,7 +2830,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20288, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2838,18 +2838,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20298, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20294, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20297, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2874,13 +2874,13 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20289, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20292, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2888,12 +2888,12 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20299, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20286, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2916,16 +2916,16 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -2967,23 +2967,23 @@ static void mine_train_rc_track_right_half_banked_helix_up_small( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20298, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20294, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20297, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20288, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3046,23 +3046,23 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20356, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20350, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20355, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20340, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3087,25 +3087,25 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20344, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20349, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20354, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20339, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3122,7 +3122,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3131,18 +3131,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3163,7 +3163,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20342, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3172,18 +3172,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20177, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20352, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20337, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3199,13 +3199,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20341, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20346, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3213,12 +3213,12 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20357, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20336, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3243,7 +3243,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20340, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3251,18 +3251,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20356, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20350, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20355, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3293,24 +3293,24 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20339, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20344, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20349, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20354, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3326,13 +3326,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20338, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20343, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3341,13 +3341,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20178, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20353, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3368,13 +3368,13 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20337, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20342, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3383,12 +3383,12 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20177, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20352, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3404,18 +3404,18 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20336, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20341, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20346, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3423,7 +3423,7 @@ static void mine_train_rc_track_left_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20357, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3453,18 +3453,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20314, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20319, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20324, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3472,7 +3472,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20335, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3498,24 +3498,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20315, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20320, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20325, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20330, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3531,25 +3531,25 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3570,24 +3570,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20317, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20322, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20327, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20332, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3603,7 +3603,7 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20318, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3611,18 +3611,18 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20334, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20328, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20333, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3647,13 +3647,13 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20319, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20324, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3661,12 +3661,12 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20335, 0, 0, 1, 32, 26, height, 27, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20314, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3697,24 +3697,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20320, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20325, 0, 0, 16, 32, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20330, 0, 0, 16, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20315, 0, 0, 16, 32, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3731,24 +3731,24 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20321, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20326, 0, 0, 16, 16, 1, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20331, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20316, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3768,25 +3768,25 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20322, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20327, 0, 0, 32, 16, 1, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20332, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20317, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -3805,23 +3805,23 @@ static void mine_train_rc_track_right_half_banked_helix_up_large( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20334, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20328, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20333, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20318, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3879,13 +3879,13 @@ static void mine_train_rc_track_brakes( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20058, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20059, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -3903,22 +3903,22 @@ static void mine_train_rc_track_on_ride_photo( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20052, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20053, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } track_paint_util_onride_photo_paint(session, direction, height + 2, trackElement); @@ -3940,22 +3940,22 @@ static void mine_train_rc_track_left_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20452, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20456, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20460, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20464, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3971,24 +3971,24 @@ static void mine_train_rc_track_left_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20453, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20457, 0, 0, 34, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20461, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20465, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4001,24 +4001,24 @@ static void mine_train_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20454, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20458, 0, 0, 16, 16, 1, height, 16, 16, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20462, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20466, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4028,16 +4028,16 @@ static void mine_train_rc_track_left_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4085,22 +4085,22 @@ static void mine_train_rc_track_right_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20436, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20440, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20444, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20448, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4117,23 +4117,23 @@ static void mine_train_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20437, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20441, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20445, 0, 0, 34, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20449, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4145,24 +4145,24 @@ static void mine_train_rc_track_right_eighth_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20438, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20442, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20446, 0, 0, 28, 28, 1, height, 4, 4, height); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20450, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4172,16 +4172,16 @@ static void mine_train_rc_track_right_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4248,23 +4248,23 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20484, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20488, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20492, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20496, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4280,25 +4280,25 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20485, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20489, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20493, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20497, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4311,24 +4311,24 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20486, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20490, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20494, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20498, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4338,16 +4338,16 @@ static void mine_train_rc_track_left_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4395,24 +4395,24 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20468, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20472, 0, 0, 32, 32, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20476, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20480, 0, 0, 32, 1, 26, height, 0, 27, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4429,24 +4429,24 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20469, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20473, 0, 0, 32, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20477, 0, 0, 34, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 6, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20481, 0, 0, 32, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4458,25 +4458,25 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20470, 0, 0, 16, 16, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20474, 0, 0, 16, 16, 1, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20478, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20482, 0, 0, 16, 16, 1, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4486,16 +4486,16 @@ static void mine_train_rc_track_right_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4590,16 +4590,16 @@ static void mine_train_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20386, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4611,16 +4611,16 @@ static void mine_train_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20358, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4633,19 +4633,19 @@ static void mine_train_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20388, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4654,19 +4654,19 @@ static void mine_train_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20360, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4744,20 +4744,16 @@ static void mine_train_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4769,20 +4765,16 @@ static void mine_train_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4795,23 +4787,19 @@ static void mine_train_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4820,23 +4808,19 @@ static void mine_train_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -4898,16 +4882,16 @@ static void mine_train_rc_track_diag_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4917,19 +4901,19 @@ static void mine_train_rc_track_diag_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -4992,16 +4976,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5013,16 +4997,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5035,19 +5019,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5056,19 +5040,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5130,16 +5114,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5149,19 +5133,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5208,16 +5192,16 @@ static void mine_train_rc_track_diag_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5227,19 +5211,19 @@ static void mine_train_rc_track_diag_60_deg_up_to_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5302,20 +5286,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5327,20 +5307,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5353,23 +5329,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5378,23 +5350,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5472,20 +5440,16 @@ static void mine_train_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20400, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5497,20 +5461,16 @@ static void mine_train_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20372, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5523,23 +5483,19 @@ static void mine_train_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20398, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5548,23 +5504,19 @@ static void mine_train_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20370, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5626,16 +5578,16 @@ static void mine_train_rc_track_diag_60_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20384, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5645,19 +5597,19 @@ static void mine_train_rc_track_diag_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20382, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5719,20 +5671,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20396, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5744,20 +5692,16 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20368, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5769,23 +5713,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20394, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5794,23 +5734,19 @@ static void mine_train_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20366, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup( - session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -5872,16 +5808,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_60_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20380, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5891,19 +5827,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20378, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5950,16 +5886,16 @@ static void mine_train_rc_track_diag_60_deg_down_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20376, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -5969,19 +5905,19 @@ static void mine_train_rc_track_diag_60_deg_down_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20374, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6044,16 +5980,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20392, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6065,16 +6001,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20364, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6087,19 +6023,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20390, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6108,19 +6044,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20362, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -6185,16 +6121,16 @@ static void mine_train_rc_track_diag_flat_to_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6204,19 +6140,19 @@ static void mine_train_rc_track_diag_flat_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6263,16 +6199,16 @@ static void mine_train_rc_track_diag_flat_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6282,10 +6218,10 @@ static void mine_train_rc_track_diag_flat_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6294,10 +6230,10 @@ static void mine_train_rc_track_diag_flat_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6347,16 +6283,16 @@ static void mine_train_rc_track_diag_left_bank_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20415, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6366,19 +6302,19 @@ static void mine_train_rc_track_diag_left_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20411, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6425,16 +6361,16 @@ static void mine_train_rc_track_diag_right_bank_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20408, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6444,10 +6380,10 @@ static void mine_train_rc_track_diag_right_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6456,10 +6392,10 @@ static void mine_train_rc_track_diag_right_bank_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20410, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6509,16 +6445,16 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6528,19 +6464,19 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6587,16 +6523,16 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6606,10 +6542,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6618,10 +6554,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6671,16 +6607,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6690,19 +6626,19 @@ static void mine_train_rc_track_diag_25_deg_up_to_left_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6749,16 +6685,16 @@ static void mine_train_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6768,10 +6704,10 @@ static void mine_train_rc_track_diag_25_deg_up_to_right_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6780,10 +6716,10 @@ static void mine_train_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6831,16 +6767,16 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20425, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6848,19 +6784,19 @@ static void mine_train_rc_track_diag_left_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20421, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6904,16 +6840,16 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20418, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6921,10 +6857,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 10, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 11, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6933,10 +6869,10 @@ static void mine_train_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20420, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 8, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 9, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -6985,16 +6921,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20435, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7004,19 +6940,19 @@ static void mine_train_rc_track_diag_25_deg_down_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20431, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7063,16 +6999,16 @@ static void mine_train_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20428, -16, -16, 32, 32, 1, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7082,10 +7018,10 @@ static void mine_train_rc_track_diag_25_deg_down_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7094,10 +7030,10 @@ static void mine_train_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20430, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7145,16 +7081,16 @@ static void mine_train_rc_track_diag_left_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7165,19 +7101,19 @@ static void mine_train_rc_track_diag_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7227,16 +7163,16 @@ static void mine_train_rc_track_diag_right_bank( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20404, -16, -16, 32, 32, 3, height, -16, -16, height); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7247,19 +7183,19 @@ static void mine_train_rc_track_diag_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 10, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 11, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 20402, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 9, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -7291,7 +7227,7 @@ static void mine_train_rc_track_block_brakes( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | _MineTrainBlockBrakeImages[direction][isClosed], 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp index 91595189b6..e4c1c12cef 100644 --- a/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverseFreefallCoaster.cpp @@ -202,17 +202,17 @@ static void paint_reverse_freefall_rc_flat( if (direction & 1) { uint32_t imageId = SPR_REVERSE_FREEFALL_RC_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 1 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } else { uint32_t imageId = SPR_REVERSE_FREEFALL_RC_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 1 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -227,28 +227,26 @@ static void paint_reverse_freefall_rc_station( { // height -= 2 (height - 2) imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 1 }, { 0, 2, height }); // height += 2 (height) imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup( - session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } else if (direction == 1 || direction == 3) { // height -= 2 (height - 2) imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 1 }, { 2, 0, height }); // height += 2 (height) imageId = reverse_freefall_rc_track_pieces_station[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height); - wooden_a_supports_paint_setup( - session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1) ? 1 : 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } @@ -306,13 +304,12 @@ static void paint_reverse_freefall_rc_slope( PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 32, 20, bbHeight, height, 0, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + supportHeights[trackSequence], 0x20); break; case 5: - if (wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr)) + if (wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS])) { uint32_t floorImageId; if (direction & 1) @@ -323,7 +320,7 @@ static void paint_reverse_freefall_rc_slope( { floorImageId = SPR_FLOOR_PLANKS | session->TrackColours[SCHEME_SUPPORTS]; } - PaintAddImageAsParent(session, floorImageId, 0, 0, 26, 26, 126, height, 3, 3, height); + PaintAddImageAsParent(session, floorImageId, { 0, 0, height }, { 26, 26, 126 }, { 3, 3, height }); PaintAddImageAsChildRotated( session, direction, supportsImageId, 0, 0, isDirection03 ? 26 : 18, 26, 126, height, isDirection03 ? 3 : 11, 3, height); @@ -348,7 +345,7 @@ static void paint_reverse_freefall_rc_slope( PaintAddImageAsParentRotated(session, direction, trackImageId, 0, 0, 1, 20, 126, height, 27, 6, height); PaintAddImageAsChildRotated(session, direction, supportsImageId, 0, 0, 1, 20, 126, height, 27, 6, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + supportHeights[trackSequence], 0x20); break; @@ -365,7 +362,7 @@ static void paint_reverse_freefall_rc_vertical( case 0: supportsImageId = reverse_freefall_rc_track_pieces_vertical_supports[direction] | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, supportsImageId, 0, 0, 26, 26, 79, height, 3, 3, height); + PaintAddImageAsParent(session, supportsImageId, { 0, 0, height }, { 26, 26, 79 }, { 3, 3, height }); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 80, 0x20); break; @@ -411,7 +408,7 @@ static void paint_reverse_freefall_rc_onride_photo( uint32_t imageId = imageIds[direction] | colour; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 1, height, 0, 6, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_onride_photo_paint(session, direction, height + 3, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); diff --git a/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp b/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp index f601ccba74..aaabb4d2e2 100644 --- a/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/ReverserRollerCoaster.cpp @@ -58,13 +58,13 @@ static void reverser_rc_track_flat( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21520, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21521, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -76,13 +76,13 @@ static void reverser_rc_track_flat( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21504, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21505, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -107,7 +107,7 @@ static void reverser_rc_track_station( PaintAddImageAsChildRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station_2(session, ride, direction, height, trackElement, 9, 11); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -126,22 +126,22 @@ static void reverser_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21530, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21531, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21532, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21533, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -152,22 +152,22 @@ static void reverser_rc_track_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21516, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21517, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21518, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21519, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -195,22 +195,22 @@ static void reverser_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21522, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21523, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21524, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21525, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -221,22 +221,22 @@ static void reverser_rc_track_flat_to_25_deg_up( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21508, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21509, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21510, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21511, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -264,22 +264,22 @@ static void reverser_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21526, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21527, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21528, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21529, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -290,22 +290,22 @@ static void reverser_rc_track_25_deg_up_to_flat( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21512, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21513, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21514, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21515, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -358,22 +358,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21543, 0, 2, 32, 27, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21548, 0, 2, 32, 27, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21553, 0, 2, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21538, 0, 2, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -394,22 +394,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21542, 0, 0, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21547, 0, 0, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21552, 0, 16, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21537, 0, 16, 32, 16, 2, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -425,22 +425,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21541, 0, 16, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21546, 16, 16, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21551, 16, 0, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21536, 0, 0, 16, 16, 2, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -462,22 +462,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21540, 16, 0, 16, 34, 2, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21545, 0, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21550, 0, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21535, 16, 0, 16, 32, 2, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -493,22 +493,22 @@ static void reverser_rc_track_left_quarter_turn_5( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21539, 2, 0, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21544, 2, 0, 27, 32, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21549, 2, 0, 27, 32, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21534, 2, 0, 32, 32, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -548,22 +548,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -579,22 +579,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -610,22 +610,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21568, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21572, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21567, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21571, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -641,22 +641,22 @@ static void reverser_rc_track_s_bend_left( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21569, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21573, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21566, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21570, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -687,22 +687,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -718,22 +718,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -749,22 +749,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21576, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21580, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21575, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21579, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -780,22 +780,22 @@ static void reverser_rc_track_s_bend_right( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21577, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21581, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21574, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21578, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -826,22 +826,22 @@ static void reverser_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21559, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21562, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21565, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21556, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -887,22 +887,22 @@ static void reverser_rc_track_left_quarter_turn_3( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21557, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21560, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21563, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21554, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -940,13 +940,13 @@ static void reverser_rc_track_brakes( case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21506, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21507, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -967,22 +967,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -998,22 +998,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1025,22 +1025,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1052,22 +1052,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1079,22 +1079,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1106,22 +1106,22 @@ static void reverser_rc_track_left_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1152,22 +1152,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21596, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21602, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21584, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21590, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1183,22 +1183,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21599, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21605, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21587, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21593, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1210,22 +1210,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21598, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21604, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21586, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21592, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1237,22 +1237,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21597, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21603, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21585, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21591, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1264,22 +1264,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21595, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21601, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21583, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21589, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1291,22 +1291,22 @@ static void reverser_rc_track_right_reverser( case 0: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21594, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21600, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21582, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21588, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) diff --git a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp index 9cf64bdcf9..da4d84a5b7 100644 --- a/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/SideFrictionRollerCoaster.cpp @@ -80,7 +80,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21664, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -88,7 +88,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21665, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -96,7 +96,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21668, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -104,7 +104,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21669, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -119,7 +119,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21608, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: @@ -128,7 +128,7 @@ static void side_friction_rc_track_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21609, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -151,7 +151,7 @@ static void side_friction_rc_track_station( PaintAddImageAsParentRotated( session, direction, imageIds[direction] | session->TrackColours[SCHEME_TRACK], 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station_2(session, ride, direction, height, trackElement, 9, 11); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -172,28 +172,28 @@ static void side_friction_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21678, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21690, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21679, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21691, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21680, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21692, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21681, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21693, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -206,28 +206,28 @@ static void side_friction_rc_track_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21622, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21634, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21623, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21635, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21624, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21636, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21625, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21637, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -257,28 +257,28 @@ static void side_friction_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21670, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21682, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21671, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21683, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21672, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21684, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21673, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21685, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -291,28 +291,28 @@ static void side_friction_rc_track_flat_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | 21614, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21626, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21615, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21627, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21616, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21628, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21617, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21629, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -342,28 +342,28 @@ static void side_friction_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21674, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21686, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21675, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21687, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21676, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21688, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21677, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21689, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -376,28 +376,28 @@ static void side_friction_rc_track_25_deg_up_to_flat( session, direction, session->TrackColours[SCHEME_TRACK] | 21618, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21630, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21619, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21631, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21620, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21632, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21621, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21633, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -453,7 +453,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21747, 0, 2, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -461,7 +461,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21752, 0, 2, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -469,7 +469,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21757, 0, 2, 32, 32, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -477,7 +477,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21742, 0, 2, 32, 32, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -501,7 +501,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21746, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -509,7 +509,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21751, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -517,7 +517,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21756, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -525,7 +525,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21741, 0, 16, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -544,7 +544,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21745, 0, 16, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -552,7 +552,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21750, 16, 16, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -560,7 +560,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21755, 16, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -568,7 +568,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21740, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -593,7 +593,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21744, 16, 0, 16, 34, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -601,7 +601,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21749, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -609,7 +609,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21754, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -617,7 +617,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21739, 16, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -636,7 +636,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21743, 2, 0, 32, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -644,7 +644,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21748, 2, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -652,7 +652,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21753, 2, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -660,7 +660,7 @@ static void side_friction_rc_track_left_quarter_turn_5( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21738, 2, 0, 32, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -703,7 +703,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -711,7 +711,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -719,7 +719,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -727,7 +727,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -746,7 +746,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -754,7 +754,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -762,7 +762,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -770,7 +770,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -789,7 +789,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21906, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -797,7 +797,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21910, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -805,7 +805,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21905, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -813,7 +813,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21909, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -832,7 +832,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21907, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -840,7 +840,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21911, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -848,7 +848,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21904, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -856,7 +856,7 @@ static void side_friction_rc_track_s_bend_left( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21908, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -890,7 +890,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -898,7 +898,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -906,7 +906,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -914,7 +914,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -933,7 +933,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -941,7 +941,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -949,7 +949,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -957,7 +957,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -976,7 +976,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21914, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -984,7 +984,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21918, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -992,7 +992,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21913, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1000,7 +1000,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21917, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1019,7 +1019,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21915, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1027,7 +1027,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21919, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1035,7 +1035,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21912, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1043,7 +1043,7 @@ static void side_friction_rc_track_s_bend_right( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21916, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1077,7 +1077,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21711, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1085,7 +1085,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21714, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1093,7 +1093,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21717, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1101,7 +1101,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21708, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1162,7 +1162,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21709, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1170,7 +1170,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21712, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1178,7 +1178,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21715, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1186,7 +1186,7 @@ static void side_friction_rc_track_left_quarter_turn_3( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21706, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1226,7 +1226,7 @@ static void side_friction_rc_track_brakes( session, direction, session->TrackColours[SCHEME_TRACK] | 21610, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21612, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: case 3: @@ -1234,7 +1234,7 @@ static void side_friction_rc_track_brakes( session, direction, session->TrackColours[SCHEME_TRACK] | 21611, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21613, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1258,7 +1258,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21806, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1266,7 +1266,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21810, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1274,7 +1274,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21814, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1282,7 +1282,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21818, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1301,7 +1301,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21807, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1309,7 +1309,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21811, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1318,7 +1318,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21815, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1327,7 +1327,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21819, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1343,7 +1343,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21808, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1352,7 +1352,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21812, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1361,7 +1361,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21816, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1369,7 +1369,7 @@ static void side_friction_rc_track_left_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21820, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1379,16 +1379,16 @@ static void side_friction_rc_track_left_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1451,7 +1451,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21774, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1459,7 +1459,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21778, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1467,7 +1467,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21782, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1475,7 +1475,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21786, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1495,7 +1495,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21775, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1504,7 +1504,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21779, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1512,7 +1512,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21783, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1520,7 +1520,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21787, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1535,7 +1535,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21776, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1544,7 +1544,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21780, 0, 0, 16, 16, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1552,7 +1552,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21784, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1561,7 +1561,7 @@ static void side_friction_rc_track_right_eighth_to_diag( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21788, 0, 0, 16, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1571,16 +1571,16 @@ static void side_friction_rc_track_right_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1690,16 +1690,16 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21850, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1714,16 +1714,16 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21826, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1736,10 +1736,10 @@ static void side_friction_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1748,10 +1748,10 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21851, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1760,10 +1760,10 @@ static void side_friction_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1772,10 +1772,10 @@ static void side_friction_rc_track_diag_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21827, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1856,20 +1856,16 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1884,20 +1880,16 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1910,12 +1902,10 @@ static void side_friction_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1924,12 +1914,10 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -1938,12 +1926,10 @@ static void side_friction_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1952,12 +1938,10 @@ static void side_friction_rc_track_diag_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2038,16 +2022,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2062,16 +2046,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2084,10 +2068,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2096,10 +2080,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2108,10 +2092,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2120,10 +2104,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2204,20 +2188,16 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2232,20 +2212,16 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2258,12 +2234,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2272,12 +2246,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2286,12 +2258,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2300,12 +2270,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2386,20 +2354,16 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21869, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2414,20 +2378,16 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21845, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2440,12 +2400,10 @@ static void side_friction_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2454,12 +2412,10 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21868, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2468,12 +2424,10 @@ static void side_friction_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2482,12 +2436,10 @@ static void side_friction_rc_track_diag_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21844, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2566,20 +2518,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21863, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2594,20 +2542,16 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21839, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2618,12 +2562,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2632,12 +2574,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21862, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2646,12 +2586,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2660,12 +2598,10 @@ static void side_friction_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21838, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2745,16 +2681,16 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21857, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2769,16 +2705,16 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21833, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2791,10 +2727,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2803,10 +2739,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21856, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2815,10 +2751,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2827,10 +2763,10 @@ static void side_friction_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 21832, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -2879,7 +2815,7 @@ static void side_friction_rc_track_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_0_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 21, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 21, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2890,7 +2826,7 @@ static void side_friction_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_1_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 22, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 22, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2900,7 +2836,7 @@ static void side_friction_rc_track_60_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_2_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 23, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 23, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2909,7 +2845,7 @@ static void side_friction_rc_track_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_DIR_3_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 24, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 24, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -2945,7 +2881,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_0_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 13, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 13, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2954,7 +2890,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_1_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 14, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 14, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2963,7 +2899,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_2_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 15, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 15, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2972,7 +2908,7 @@ static void side_friction_rc_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_25_DEG_UP_TO_60_DEG_UP_DIR_3_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 16, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 16, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -3008,7 +2944,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_0_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 17, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 17, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3017,7 +2953,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_1_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 18, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 18, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3026,7 +2962,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_2_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 19, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 19, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3035,7 +2971,7 @@ static void side_friction_rc_track_60_deg_up_to_25_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_60_DEG_UP_TO_25_DEG_UP_DIR_3_B, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 20, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 20, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -3086,16 +3022,16 @@ static void side_friction_rc_track_diag_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_DIR_0_B, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -3106,10 +3042,10 @@ static void side_friction_rc_track_diag_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3118,10 +3054,10 @@ static void side_friction_rc_track_diag_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_DIR_2_B, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3181,16 +3117,16 @@ static void side_friction_rc_track_diag_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_TO_25_DEG_UP_DIR_0_B, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3200,10 +3136,10 @@ static void side_friction_rc_track_diag_60_deg_up_to_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3214,10 +3150,10 @@ static void side_friction_rc_track_diag_60_deg_up_to_25_deg_up( session, direction, session->TrackColours[SCHEME_TRACK] | SPR_SIDE_FRICTION_DIAG_60_DEG_UP_TO_25_DEG_UP_DIR_2_B, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3277,16 +3213,16 @@ static void side_friction_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 24033, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -3296,10 +3232,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3309,10 +3245,10 @@ static void side_friction_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated( session, direction, session->TrackColours[SCHEME_TRACK] | 24034, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/coaster/VirginiaReel.cpp b/src/openrct2/ride/coaster/VirginiaReel.cpp index a503b317d6..ce07e71615 100644 --- a/src/openrct2/ride/coaster/VirginiaReel.cpp +++ b/src/openrct2/ride/coaster/VirginiaReel.cpp @@ -182,7 +182,8 @@ void vehicle_visual_virginia_reel( image_id = (image_id & 0x7FFFF) | CONSTRUCTION_MARKER; } PaintAddImageAsParent( - session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z); + session, image_id, { 0, 0, z }, { bb->length_x, bb->length_y, bb->length_z }, + { bb->offset_x, bb->offset_y, bb->offset_z + z }); if (session->DPI.zoom_level < 2 && vehicle->num_peeps > 0 && !vehicle->IsGhost()) { @@ -221,16 +222,16 @@ static void paint_virginia_reel_track_flat( uint32_t imageId = sprites[direction] | session->TrackColours[SCHEME_TRACK]; if (direction & 1) { - PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } else { - PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -252,11 +253,11 @@ static void paint_virginia_reel_track_25_deg_up( if (direction & 1) { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); } else { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); } if (direction == 1 || direction == 2) @@ -267,19 +268,19 @@ static void paint_virginia_reel_track_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_7); break; case 1: - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_SQUARE_8); break; case 2: - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_SQUARE_8); break; case 3: - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_7); break; } @@ -304,29 +305,29 @@ static void paint_virginia_reel_track_flat_to_25_deg_up( switch (direction) { case 0: - PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: - ps = PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); session->WoodenSupportsPrependTo = ps; - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; case 2: - ps = PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); session->WoodenSupportsPrependTo = ps; - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; case 3: - PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; } @@ -351,11 +352,11 @@ static void paint_virginia_reel_track_25_deg_up_to_flat( if (direction & 1) { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 27, 32, 2, height, 2, 0, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 27, 32, 2 }, { 2, 0, height }); } else { - ps = PaintAddImageAsParent(session, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); + ps = PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 27, 2 }, { 0, 2, height }); } if (direction == 1 || direction == 2) @@ -366,19 +367,19 @@ static void paint_virginia_reel_track_25_deg_up_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_14); break; case 2: - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_14); break; case 3: - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_FLAT); break; } @@ -421,7 +422,7 @@ static void paint_virginia_reel_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 2 }, { 0, 2, height }); imageId = SPR_VIRGINIA_REEL_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 2, height, 0, 0, height); @@ -431,7 +432,7 @@ static void paint_virginia_reel_station( else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 2 }, { 2, 0, height }); imageId = SPR_VIRGINIA_REEL_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 2, height, 0, 0, height); @@ -439,7 +440,7 @@ static void paint_virginia_reel_station( paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station(session, ride, direction, height, trackElement); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -467,8 +468,8 @@ static void paint_virginia_reel_track_left_quarter_turn_3_tiles( case 0: case 3: wooden_a_supports_paint_setup( - session, virginia_reel_left_quarter_turn_supports[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], - nullptr); + session, virginia_reel_left_quarter_turn_supports[direction], 0, height, + session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, paint_util_rotate_segments(SEGMENTS_ALL, direction), 0xFFFF, 0); break; } @@ -500,18 +501,18 @@ static void paint_virginia_reel_track_left_quarter_turn_1_tile( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; diff --git a/src/openrct2/ride/coaster/WildMouse.cpp b/src/openrct2/ride/coaster/WildMouse.cpp index 2549271f94..f93c77ea05 100644 --- a/src/openrct2/ride/coaster/WildMouse.cpp +++ b/src/openrct2/ride/coaster/WildMouse.cpp @@ -591,10 +591,10 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_down( { int32_t part = trackSequence == 0 ? 0 : 1; const sprite_bb* sbb = &imageIds[direction][part]; + const auto& offset = sbb->offset; PaintAddImageAsParent( - session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], static_cast(sbb->offset.x), - static_cast(sbb->offset.y), sbb->bb_size.x, sbb->bb_size.y, static_cast(sbb->bb_size.z), - height + static_cast(sbb->offset.z)); + session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], { offset.x, offset.y, height + offset.z }, + sbb->bb_size); } track_paint_util_right_quarter_turn_3_tiles_25_deg_down_tunnel( @@ -660,9 +660,8 @@ static void wild_mouse_track_right_quarter_turn_3_25_deg_up( int32_t part = trackSequence == 0 ? 0 : 1; const sprite_bb* sbb = &imageIds[direction][part]; PaintAddImageAsParent( - session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], static_cast(sbb->offset.x), - static_cast(sbb->offset.y), sbb->bb_size.x, sbb->bb_size.y, static_cast(sbb->bb_size.z), - height + static_cast(sbb->offset.z)); + session, sbb->sprite_id | session->TrackColours[SCHEME_TRACK], + { sbb->offset.x, sbb->offset.y, height + sbb->offset.z }, sbb->bb_size); } track_paint_util_right_quarter_turn_3_tiles_25_deg_up_tunnel(session, height, direction, trackSequence, TUNNEL_1, TUNNEL_2); @@ -733,16 +732,16 @@ static void wild_mouse_track_left_quarter_turn_1( switch (direction) { case 0: - PaintAddImageAsParent(session, imageId, 0, 0, 26, 24, 2, height, 6, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 24, 2 }, { 6, 2, height }); break; case 1: - PaintAddImageAsParent(session, imageId, 0, 0, 26, 26, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 26, 2 }); break; case 2: - PaintAddImageAsParent(session, imageId, 0, 0, 24, 26, 2, height, 2, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 24, 26, 2 }, { 2, 6, height }); break; case 3: - PaintAddImageAsParent(session, imageId, 0, 0, 24, 24, 2, height, 6, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 24, 24, 2 }, { 6, 6, height }); break; } metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 4, -1, height, session->TrackColours[SCHEME_SUPPORTS]); diff --git a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp index e86761c50f..2d4ccea959 100644 --- a/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/ride/coaster/WoodenRollerCoaster.cpp @@ -428,8 +428,8 @@ static void wooden_rc_track_paint_bb(paint_session* session, const sprite_bb_2* uint32_t railsImageId = bb->sprite_id_b | wooden_rc_get_rails_colour(session); PaintAddImageAsParent( - session, imageId, static_cast(bb->offset.x), static_cast(bb->offset.y), bb->bb_size.x, bb->bb_size.y, - static_cast(bb->bb_size.z), height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z); + session, imageId, { bb->offset.x, bb->offset.y, height + bb->offset.z }, + { bb->bb_size.x, bb->bb_size.y, bb->bb_size.z }, { bb->bb_offset.x, bb->bb_offset.y, height + bb->bb_offset.z }); PaintAddImageAsChild( session, railsImageId, static_cast(bb->offset.x), static_cast(bb->offset.y), bb->bb_size.x, bb->bb_size.y, static_cast(bb->bb_size.z), height + bb->offset.z, bb->bb_offset.x, bb->bb_offset.y, @@ -458,7 +458,7 @@ static void wooden_rc_track_flat( wooden_rc_track_paint( session, imageIds[direction][isChained], railsImageIds[direction][isChained], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -490,7 +490,7 @@ static void wooden_rc_track_station( session, stationImageIds[direction][0], stationImageIds[direction][1], direction, 0, 2, 32, 27, 2, height, 0, 2, height); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station_2(session, ride, direction, height, trackElement, 9, 11); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -531,8 +531,7 @@ static void wooden_rc_track_25_deg_up( session, imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -569,8 +568,7 @@ static void wooden_rc_track_60_deg_up( session->WoodenSupportsPrependTo = wooden_rc_track_paint( session, imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 2, 24, 93, height, 28, 4, height - 16); } - wooden_a_supports_paint_setup( - session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -619,8 +617,7 @@ static void wooden_rc_track_flat_to_25_deg_up( session, imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -661,8 +658,7 @@ static void wooden_rc_track_25_deg_up_to_60_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -703,8 +699,7 @@ static void wooden_rc_track_60_deg_up_to_25_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -753,8 +748,7 @@ static void wooden_rc_track_25_deg_up_to_flat( session, imageIds[isChained][direction][2], imageIds[isChained][direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -1029,7 +1023,7 @@ static void wooden_rc_track_right_quarter_turn_5( if (supportType[direction][trackSequence] != -1) { wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } int32_t blockedSegments = 0; @@ -1092,7 +1086,7 @@ static void wooden_rc_track_flat_to_left_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1119,7 +1113,7 @@ static void wooden_rc_track_flat_to_right_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1353,7 +1347,7 @@ static void wooden_rc_track_banked_right_quarter_turn_5( if (supportType[direction][trackSequence] != -1) { wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } int32_t blockedSegments = 0; @@ -1416,8 +1410,7 @@ static void wooden_rc_track_left_bank_to_25_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1451,8 +1444,7 @@ static void wooden_rc_track_right_bank_to_25_deg_up( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); @@ -1486,8 +1478,7 @@ static void wooden_rc_track_25_deg_up_to_left_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -1521,8 +1512,7 @@ static void wooden_rc_track_25_deg_up_to_right_bank( wooden_rc_track_paint( session, imageIds[direction][2], imageIds[direction][3], direction, 0, 0, 32, 1, 9, height, 0, 26, height + 5); } - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { paint_util_push_tunnel_rotated(session, direction, height - 8, TUNNEL_SQUARE_FLAT); @@ -1581,7 +1571,7 @@ static void wooden_rc_track_left_bank( wooden_rc_track_paint( session, imageIds[direction][0], imageIds[direction][1], direction, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1610,7 +1600,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23781, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24647, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1623,21 +1613,21 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24678, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23791, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24657, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23796, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24662, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1660,7 +1650,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23782, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24648, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1673,7 +1663,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24679, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1682,7 +1672,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24658, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1697,7 +1687,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24685, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1717,7 +1707,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24649, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1732,7 +1722,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24680, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1741,7 +1731,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24659, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1754,7 +1744,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24686, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1780,7 +1770,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24650, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1793,7 +1783,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24681, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1806,7 +1796,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24683, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1821,7 +1811,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24687, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -1839,7 +1829,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23785, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24651, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1852,7 +1842,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24682, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1865,7 +1855,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24684, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -1878,7 +1868,7 @@ static void wooden_rc_track_left_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24688, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -1911,14 +1901,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23761, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24627, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23766, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24632, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1931,14 +1921,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24673, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23776, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24642, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -1969,7 +1959,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24667, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -1978,7 +1968,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24633, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -1991,14 +1981,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24674, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23777, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24643, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2022,7 +2012,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24668, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2031,7 +2021,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24634, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2046,7 +2036,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24675, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2055,7 +2045,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24644, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2087,7 +2077,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24669, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2100,7 +2090,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24671, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2113,7 +2103,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24676, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2122,7 +2112,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24645, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2146,7 +2136,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24670, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2159,7 +2149,7 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24672, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2172,14 +2162,14 @@ static void wooden_rc_track_right_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24677, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23780, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24646, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2230,7 +2220,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2243,14 +2233,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2263,7 +2253,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2281,7 +2271,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2294,14 +2284,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2314,7 +2304,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2332,7 +2322,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23727, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24593, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2345,14 +2335,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24609, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23726, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24592, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2365,7 +2355,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24608, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2383,7 +2373,7 @@ static void wooden_rc_track_s_bend_left( session, direction, wooden_rc_get_track_colour(session) | 23728, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24594, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -2396,14 +2386,14 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24610, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23725, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24591, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -2416,7 +2406,7 @@ static void wooden_rc_track_s_bend_left( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24607, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -2455,14 +2445,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2475,14 +2465,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -2506,14 +2496,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2526,14 +2516,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2557,14 +2547,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24613, 0, 0, 32, 26, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23739, 0, 0, 32, 26, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24605, 0, 0, 32, 26, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2577,14 +2567,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24612, 0, 0, 32, 26, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23738, 0, 0, 32, 26, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24604, 0, 0, 32, 26, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -2608,14 +2598,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24614, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23740, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24606, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -2628,14 +2618,14 @@ static void wooden_rc_track_s_bend_right( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24611, 0, 0, 32, 25, 0, height, 0, 3, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23737, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24603, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3150,7 +3140,7 @@ static void wooden_rc_track_left_quarter_turn_3( session, direction, wooden_rc_get_track_colour(session) | 23828, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24694, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3163,14 +3153,14 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24706, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23834, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24700, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3183,7 +3173,7 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24703, 0, 6, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3254,7 +3244,7 @@ static void wooden_rc_track_left_quarter_turn_3( session, direction, wooden_rc_get_track_colour(session) | 23826, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24692, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3267,14 +3257,14 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24704, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23832, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24698, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3287,7 +3277,7 @@ static void wooden_rc_track_left_quarter_turn_3( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24701, 6, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3329,7 +3319,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( session, direction, wooden_rc_get_track_colour(session) | 23846, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24712, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3342,14 +3332,14 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24724, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23852, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24718, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3362,7 +3352,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24721, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3433,7 +3423,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( session, direction, wooden_rc_get_track_colour(session) | 23844, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24710, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3446,14 +3436,14 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24722, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23850, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24716, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3466,7 +3456,7 @@ static void wooden_rc_track_left_quarter_turn_3_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24719, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3508,7 +3498,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23906, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24772, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3521,14 +3511,14 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24785, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23910, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24776, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3541,7 +3531,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24783, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3567,7 +3557,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23905, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24771, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3580,7 +3570,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24784, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3593,7 +3583,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24786, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3606,7 +3596,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24782, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3645,14 +3635,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24777, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23897, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24763, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3665,14 +3655,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24780, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23901, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24767, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3704,7 +3694,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24778, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3717,7 +3707,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24779, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3730,14 +3720,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24781, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23902, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24768, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3788,7 +3778,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23882, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24748, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3801,14 +3791,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24760, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23888, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24754, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3821,7 +3811,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24757, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -3839,16 +3829,16 @@ static void wooden_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -3911,7 +3901,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23880, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24746, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -3924,14 +3914,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24758, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23886, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24752, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -3944,7 +3934,7 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24755, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -3977,14 +3967,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24757, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23882, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24748, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -3997,14 +3987,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24760, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23888, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24754, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4027,16 +4017,16 @@ static void wooden_rc_track_left_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -4105,14 +4095,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24755, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23880, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24746, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4125,14 +4115,14 @@ static void wooden_rc_track_left_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24758, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23886, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24752, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4170,14 +4160,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24737, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23862, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24728, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4190,14 +4180,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24740, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23868, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24734, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4215,16 +4205,16 @@ static void wooden_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -4293,14 +4283,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24739, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23864, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24730, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4313,14 +4303,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24742, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23870, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24736, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4347,7 +4337,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23862, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24728, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4360,14 +4350,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24740, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23868, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24734, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4380,7 +4370,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24737, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4403,16 +4393,16 @@ static void wooden_rc_track_right_half_banked_helix_up_small( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_general_support_height(session, height + 32, 0x20); @@ -4475,7 +4465,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( session, direction, wooden_rc_get_track_colour(session) | 23864, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24730, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4488,14 +4478,14 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24742, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23870, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24736, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4508,7 +4498,7 @@ static void wooden_rc_track_right_half_banked_helix_up_small( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24739, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4568,7 +4558,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23704, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24570, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4581,14 +4571,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24590, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23714, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24580, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4601,7 +4591,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24585, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -4628,7 +4618,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23703, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24569, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4641,7 +4631,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24589, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4650,7 +4640,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24579, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4665,7 +4655,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24584, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4685,7 +4675,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24568, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4700,7 +4690,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4709,7 +4699,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24578, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4722,7 +4712,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4746,7 +4736,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24567, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4759,14 +4749,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24587, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23711, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24577, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4781,7 +4771,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24582, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4799,7 +4789,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23700, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24566, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4812,14 +4802,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24586, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23710, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24576, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4832,7 +4822,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24581, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4865,14 +4855,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24585, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23704, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24570, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4885,14 +4875,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24590, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23714, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24580, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -4932,14 +4922,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24584, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23703, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24569, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -4952,7 +4942,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24589, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -4961,7 +4951,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24579, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -4985,7 +4975,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24583, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -4994,7 +4984,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24568, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5009,7 +4999,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24588, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5018,7 +5008,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24578, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5048,7 +5038,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24582, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5057,7 +5047,7 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24567, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5070,14 +5060,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24587, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23711, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24577, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5101,14 +5091,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24581, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23700, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24566, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5121,14 +5111,14 @@ static void wooden_rc_track_left_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24586, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23710, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24576, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5166,14 +5156,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24551, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23670, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24536, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5186,14 +5176,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24556, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23680, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24546, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5228,7 +5218,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24552, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5237,7 +5227,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24537, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5250,14 +5240,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24557, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23681, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24547, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5281,7 +5271,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5290,7 +5280,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24538, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5305,7 +5295,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5314,7 +5304,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24548, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5344,14 +5334,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24554, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23673, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24539, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5364,7 +5354,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24559, 0, 0, 16, 32, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5373,7 +5363,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24549, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5397,14 +5387,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24555, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23674, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24540, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5417,14 +5407,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24560, 0, 0, 27, 32, 0, height, 2, 0, height + 33); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23684, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24550, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5451,7 +5441,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23670, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24536, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5464,14 +5454,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24556, 0, 0, 27, 32, 0, height, 2, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23680, 0, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24546, 0, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5484,7 +5474,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24551, 0, 0, 20, 32, 0, height, 6, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -5518,7 +5508,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24537, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5531,14 +5521,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24557, 0, 0, 16, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23681, 0, 0, 16, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24547, 0, 0, 16, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5553,7 +5543,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24552, 0, 0, 16, 32, 0, height, 16, 0, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5573,7 +5563,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24538, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5588,7 +5578,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24558, 0, 0, 16, 16, 0, height, 16, 16, height + 29); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5597,7 +5587,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24548, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5610,7 +5600,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24553, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5632,7 +5622,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23673, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24539, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5645,7 +5635,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24559, 0, 0, 32, 16, 0, height, 0, 0, height + 33); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5654,7 +5644,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24549, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5669,7 +5659,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24554, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -5687,7 +5677,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( session, direction, wooden_rc_get_track_colour(session) | 23674, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24540, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5700,14 +5690,14 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24560, 0, 0, 32, 27, 0, height, 0, 2, height + 33); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23684, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24550, 0, 0, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -5720,7 +5710,7 @@ static void wooden_rc_track_right_half_banked_helix_up_large( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24555, 0, 0, 32, 20, 0, height, 0, 6, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5901,7 +5891,7 @@ static void wooden_rc_track_brakes( wooden_rc_track_paint( session, imageIds[direction][0], imageIds[direction][1], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -5919,7 +5909,7 @@ static void wooden_rc_track_25_deg_up_left_banked( session, direction, wooden_rc_get_track_colour(session) | 24249, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25115, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5930,7 +5920,7 @@ static void wooden_rc_track_25_deg_up_left_banked( session, direction, wooden_rc_get_track_colour(session) | 24257, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25123, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5941,14 +5931,14 @@ static void wooden_rc_track_25_deg_up_left_banked( session, direction, wooden_rc_get_track_colour(session) | 24258, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25124, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24252, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25118, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -5975,7 +5965,7 @@ static void wooden_rc_track_25_deg_up_right_banked( session, direction, wooden_rc_get_track_colour(session) | 24253, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25119, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -5986,7 +5976,7 @@ static void wooden_rc_track_25_deg_up_right_banked( session, direction, wooden_rc_get_track_colour(session) | 24259, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25125, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -5997,14 +5987,14 @@ static void wooden_rc_track_25_deg_up_right_banked( session, direction, wooden_rc_get_track_colour(session) | 24260, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25126, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24256, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25122, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6051,7 +6041,7 @@ static void wooden_rc_track_on_ride_photo( session, direction, wooden_rc_get_rails_colour(session) | 24620, 0, 2, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_onride_photo_small_paint(session, direction, height + 16, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_INVERTED_9); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6168,7 +6158,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24858, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -6257,7 +6247,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24846, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -6307,7 +6297,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24868, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -6395,7 +6385,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24848, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); break; @@ -6483,7 +6473,7 @@ static void wooden_rc_track_water_splash( session, direction, wooden_rc_get_rails_colour(session) | 24860, 0, 0, 32, 25, 2, height, 0, 3, height); break; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height + 16, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -6506,7 +6496,7 @@ static void wooden_rc_track_left_eighth_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24137, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25003, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6519,14 +6509,14 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25019, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24145, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25011, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6539,7 +6529,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25023, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6557,7 +6547,7 @@ static void wooden_rc_track_left_eighth_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24138, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25004, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6570,7 +6560,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25020, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6579,7 +6569,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25012, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6594,7 +6584,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25024, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6610,7 +6600,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25005, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6625,7 +6615,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25021, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6634,7 +6624,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25013, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6647,7 +6637,7 @@ static void wooden_rc_track_left_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25025, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6657,16 +6647,16 @@ static void wooden_rc_track_left_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6745,14 +6735,14 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24995, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24117, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24983, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6765,14 +6755,14 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24999, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24125, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24991, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -6798,7 +6788,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24996, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6807,7 +6797,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24984, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6820,14 +6810,14 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25000, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24126, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24992, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6847,7 +6837,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24997, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -6856,7 +6846,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24985, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -6869,7 +6859,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25001, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -6878,7 +6868,7 @@ static void wooden_rc_track_right_eighth_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24993, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6888,16 +6878,16 @@ static void wooden_rc_track_right_eighth_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -6988,7 +6978,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24185, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25051, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7001,14 +6991,14 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25067, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24193, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25059, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7021,7 +7011,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25071, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7039,7 +7029,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( session, direction, wooden_rc_get_track_colour(session) | 24186, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25052, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7052,7 +7042,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25068, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7061,7 +7051,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25060, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7076,7 +7066,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25072, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7092,7 +7082,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25053, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7107,7 +7097,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25069, 0, 0, 16, 16, 0, height, 16, 16, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7116,7 +7106,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25061, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7129,7 +7119,7 @@ static void wooden_rc_track_left_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25073, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7139,16 +7129,16 @@ static void wooden_rc_track_left_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7227,14 +7217,14 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25043, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24165, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25031, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7247,14 +7237,14 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25047, 0, 0, 32, 32, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24173, 0, 0, 32, 32, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25039, 0, 0, 32, 32, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -7280,7 +7270,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25044, 0, 0, 32, 16, 0, height, 0, 16, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7289,7 +7279,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25032, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7302,14 +7292,14 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25048, 0, 0, 32, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24174, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25040, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7329,7 +7319,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25045, 0, 0, 16, 16, 0, height, 0, 0, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -7338,7 +7328,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25033, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7351,7 +7341,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25049, 0, 0, 28, 28, 0, height, 4, 4, height + 27); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -7360,7 +7350,7 @@ static void wooden_rc_track_right_eighth_bank_to_diag( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25041, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7370,16 +7360,16 @@ static void wooden_rc_track_right_eighth_bank_to_diag( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7512,16 +7502,16 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24917, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7542,16 +7532,16 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24875, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7564,10 +7554,10 @@ static void wooden_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7582,10 +7572,10 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24918, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7594,10 +7584,10 @@ static void wooden_rc_track_diag_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7612,10 +7602,10 @@ static void wooden_rc_track_diag_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24876, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7714,20 +7704,16 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7748,20 +7734,16 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7774,12 +7756,10 @@ static void wooden_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7794,12 +7774,10 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7808,12 +7786,10 @@ static void wooden_rc_track_diag_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7828,12 +7804,10 @@ static void wooden_rc_track_diag_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -7913,16 +7887,16 @@ static void wooden_rc_track_diag_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -7932,10 +7906,10 @@ static void wooden_rc_track_diag_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -7950,10 +7924,10 @@ static void wooden_rc_track_diag_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8034,16 +8008,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8064,16 +8038,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8086,10 +8060,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8104,10 +8078,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8116,10 +8090,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8134,10 +8108,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8217,16 +8191,16 @@ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8236,10 +8210,10 @@ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8254,10 +8228,10 @@ static void wooden_rc_track_diag_25_deg_up_to_60_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8319,16 +8293,16 @@ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8338,10 +8312,10 @@ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8356,10 +8330,10 @@ static void wooden_rc_track_diag_60_deg_up_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8440,20 +8414,16 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8474,20 +8444,16 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8500,12 +8466,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8520,12 +8484,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8534,12 +8496,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8554,12 +8514,10 @@ static void wooden_rc_track_diag_25_deg_up_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8658,20 +8616,16 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24936, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8692,20 +8646,16 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24894, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8718,12 +8668,10 @@ static void wooden_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8738,12 +8686,10 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24935, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8752,12 +8698,10 @@ static void wooden_rc_track_diag_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8772,12 +8716,10 @@ static void wooden_rc_track_diag_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24893, -16, -16, 32, 32, 0, height, -16, -16, height + 43); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -8857,16 +8799,16 @@ static void wooden_rc_track_diag_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24912, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8876,10 +8818,10 @@ static void wooden_rc_track_diag_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -8894,10 +8836,10 @@ static void wooden_rc_track_diag_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24911, -16, -16, 32, 32, 0, height, -16, -16, height + 91); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -8976,20 +8918,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24930, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9010,20 +8948,16 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24888, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9034,12 +8968,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9054,12 +8986,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24929, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9068,12 +8998,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup( - session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup( - session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9088,12 +9016,10 @@ static void wooden_rc_track_diag_flat_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24887, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup( - session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup( - session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9172,16 +9098,16 @@ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24906, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9191,10 +9117,10 @@ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9209,10 +9135,10 @@ static void wooden_rc_track_diag_25_deg_down_to_60_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24905, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9274,16 +9200,16 @@ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24900, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9293,10 +9219,10 @@ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9311,10 +9237,10 @@ static void wooden_rc_track_diag_60_deg_down_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24899, -16, -16, 32, 32, 0, height, -16, -16, height + 59); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9395,16 +9321,16 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24924, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9425,16 +9351,16 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24882, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9447,10 +9373,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9465,10 +9391,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24923, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9477,10 +9403,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9495,10 +9421,10 @@ static void wooden_rc_track_diag_25_deg_down_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24881, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } } @@ -9578,16 +9504,16 @@ static void wooden_rc_track_diag_flat_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9597,10 +9523,10 @@ static void wooden_rc_track_diag_flat_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9615,10 +9541,10 @@ static void wooden_rc_track_diag_flat_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9680,16 +9606,16 @@ static void wooden_rc_track_diag_flat_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9699,10 +9625,10 @@ static void wooden_rc_track_diag_flat_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9717,10 +9643,10 @@ static void wooden_rc_track_diag_flat_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9782,16 +9708,16 @@ static void wooden_rc_track_diag_left_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24954, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9801,10 +9727,10 @@ static void wooden_rc_track_diag_left_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9819,10 +9745,10 @@ static void wooden_rc_track_diag_left_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24953, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9884,16 +9810,16 @@ static void wooden_rc_track_diag_right_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24948, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9903,10 +9829,10 @@ static void wooden_rc_track_diag_right_bank_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -9921,10 +9847,10 @@ static void wooden_rc_track_diag_right_bank_to_flat( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24947, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -9986,16 +9912,16 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10005,10 +9931,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10023,10 +9949,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10088,16 +10014,16 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10107,10 +10033,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10125,10 +10051,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10190,16 +10116,16 @@ static void wooden_rc_track_diag_25_deg_up_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10209,10 +10135,10 @@ static void wooden_rc_track_diag_25_deg_up_to_left_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10227,10 +10153,10 @@ static void wooden_rc_track_diag_25_deg_up_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10292,16 +10218,16 @@ static void wooden_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10311,10 +10237,10 @@ static void wooden_rc_track_diag_25_deg_up_to_right_bank( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10329,10 +10255,10 @@ static void wooden_rc_track_diag_25_deg_up_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10392,16 +10318,16 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24966, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10409,10 +10335,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10427,10 +10353,10 @@ static void wooden_rc_track_diag_left_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24965, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10489,16 +10415,16 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24960, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10506,10 +10432,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_down( switch (direction) { case 0: - wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 4, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 5, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10524,10 +10450,10 @@ static void wooden_rc_track_diag_right_bank_to_25_deg_down( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24959, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 2, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_b_supports_paint_setup(session, 3, 0, height + 16, session->TrackColours[SCHEME_SUPPORTS]); break; } break; @@ -10588,16 +10514,16 @@ static void wooden_rc_track_diag_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24978, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10607,10 +10533,10 @@ static void wooden_rc_track_diag_25_deg_down_to_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10625,10 +10551,10 @@ static void wooden_rc_track_diag_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24977, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10690,16 +10616,16 @@ static void wooden_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24972, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10709,10 +10635,10 @@ static void wooden_rc_track_diag_25_deg_down_to_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10727,10 +10653,10 @@ static void wooden_rc_track_diag_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24971, -16, -16, 32, 32, 0, height, -16, -16, height + 35); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10792,16 +10718,16 @@ static void wooden_rc_track_diag_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10811,10 +10737,10 @@ static void wooden_rc_track_diag_left_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10829,10 +10755,10 @@ static void wooden_rc_track_diag_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10894,16 +10820,16 @@ static void wooden_rc_track_diag_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24942, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10913,10 +10839,10 @@ static void wooden_rc_track_diag_right_bank( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -10931,10 +10857,10 @@ static void wooden_rc_track_diag_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24941, -16, -16, 32, 32, 0, height, -16, -16, height + 27); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -10973,7 +10899,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23958, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24824, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -10986,14 +10912,14 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24837, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23962, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24828, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11006,7 +10932,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24835, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11032,7 +10958,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23957, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24823, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11045,7 +10971,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24836, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11058,7 +10984,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24838, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11071,7 +10997,7 @@ static void wooden_rc_track_left_bank_to_left_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24834, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11110,14 +11036,14 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24829, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23949, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24815, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11130,14 +11056,14 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24832, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23953, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24819, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11169,7 +11095,7 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24830, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11182,7 +11108,7 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24831, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11195,14 +11121,14 @@ static void wooden_rc_track_right_bank_to_right_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24833, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23954, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24820, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11241,7 +11167,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24831, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11254,14 +11180,14 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24833, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23954, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24820, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11274,7 +11200,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24830, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11300,7 +11226,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( session, direction, wooden_rc_get_track_colour(session) | 23949, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24815, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11313,14 +11239,14 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24832, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23953, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24819, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11333,7 +11259,7 @@ static void wooden_rc_track_left_quarter_turn_3_25_deg_down_to_left_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24829, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11372,14 +11298,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24834, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23957, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24823, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11392,7 +11318,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24836, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11405,7 +11331,7 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24838, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11437,14 +11363,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24835, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23958, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24824, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11457,14 +11383,14 @@ static void wooden_rc_track_right_quarter_turn_3_25_deg_down_to_right_bank( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24837, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23962, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24828, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11491,7 +11417,7 @@ static void wooden_rc_track_block_brakes( : _wooden_rc_block_brakes_image_ids[direction][0]; wooden_rc_track_paint( session, brakeImg, _wooden_rc_block_brakes_image_ids[direction][2], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -11512,7 +11438,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23932, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24798, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11525,14 +11451,14 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24811, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23936, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24802, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11545,7 +11471,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24809, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11571,7 +11497,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 23931, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24797, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11584,7 +11510,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24810, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11597,7 +11523,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24812, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11610,7 +11536,7 @@ static void wooden_rc_track_left_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24808, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11649,14 +11575,14 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24803, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23923, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24789, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11669,14 +11595,14 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24806, 0, 6, 32, 20, 0, height, 0, 6, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23927, 0, 6, 32, 20, 2, height, 0, 6, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24793, 0, 6, 32, 20, 2, height, 0, 6, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11708,7 +11634,7 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24804, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11721,7 +11647,7 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24805, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11734,14 +11660,14 @@ static void wooden_rc_track_right_banked_quarter_turn_3_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24807, 6, 0, 20, 32, 0, height, 6, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 23928, 6, 0, 20, 32, 2, height, 6, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 24794, 6, 0, 20, 32, 2, height, 6, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -11794,7 +11720,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24321, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25187, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11807,21 +11733,21 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25218, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24331, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25197, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24336, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25202, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -11844,7 +11770,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24322, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25188, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11857,7 +11783,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25219, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11866,7 +11792,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25198, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11881,7 +11807,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25225, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -11901,7 +11827,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25189, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11916,7 +11842,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25220, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11925,7 +11851,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25199, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -11938,7 +11864,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25226, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -11964,7 +11890,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25190, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -11977,7 +11903,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25221, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -11990,7 +11916,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25223, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12005,7 +11931,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25227, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12023,7 +11949,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24325, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25191, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12036,7 +11962,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25222, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12049,7 +11975,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25224, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12062,7 +11988,7 @@ static void wooden_rc_track_left_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25228, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -12095,14 +12021,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24301, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25167, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24306, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25172, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12115,14 +12041,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25213, 0, 0, 32, 27, 0, height, 0, 2, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24316, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25182, 0, 0, 32, 27, 2, height, 0, 2, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12153,7 +12079,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25207, 0, 0, 32, 16, 0, height, 0, 16, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12162,7 +12088,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25173, 0, 0, 32, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12175,14 +12101,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25214, 0, 0, 32, 16, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24317, 0, 0, 32, 16, 2, height, 0, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25183, 0, 0, 32, 16, 2, height, 0, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12206,7 +12132,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25208, 0, 0, 16, 16, 0, height, 0, 0, height + 59); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12215,7 +12141,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25174, 0, 0, 16, 16, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12230,7 +12156,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25215, 0, 0, 16, 16, 0, height, 16, 16, height + 59); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12239,7 +12165,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25184, 0, 0, 16, 16, 2, height, 0, 16, height); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12271,7 +12197,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25209, 0, 0, 16, 32, 0, height, 16, 0, height + 67); - wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 4, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12284,7 +12210,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25211, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 5, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12297,7 +12223,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25216, 0, 0, 16, 32, 0, height, 0, 0, height + 67); - wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 2, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( @@ -12306,7 +12232,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25185, 0, 0, 16, 32, 2, height, 16, 0, height); - wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 3, 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } paint_util_set_segment_support_height( @@ -12330,7 +12256,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25210, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12343,7 +12269,7 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25212, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12356,14 +12282,14 @@ static void wooden_rc_track_right_banked_quarter_turn_5_25_deg_up( PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25217, 0, 0, 27, 32, 0, height, 2, 0, height + 67); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24320, 0, 0, 27, 32, 2, height, 2, 0, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25186, 0, 0, 27, 32, 2, height, 2, 0, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; } switch (direction) @@ -12413,28 +12339,28 @@ static void wooden_rc_track_25_deg_up_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24261, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25127, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24262, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25128, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24263, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25129, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24264, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25130, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12461,28 +12387,28 @@ static void wooden_rc_track_25_deg_up_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24265, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25131, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24266, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25132, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24267, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25133, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24268, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25134, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12509,28 +12435,28 @@ static void wooden_rc_track_left_banked_25_deg_up_to_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24269, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25135, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24270, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25136, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24271, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25137, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24272, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25138, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12557,28 +12483,28 @@ static void wooden_rc_track_right_banked_25_deg_up_to_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24273, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25139, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24274, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25140, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24275, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25141, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24276, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25142, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12639,7 +12565,7 @@ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24277, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25143, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12650,7 +12576,7 @@ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24293, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25159, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12661,14 +12587,14 @@ static void wooden_rc_track_left_banked_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24294, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25160, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24280, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25146, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12695,7 +12621,7 @@ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24281, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25147, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12706,7 +12632,7 @@ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24295, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25161, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12717,14 +12643,14 @@ static void wooden_rc_track_right_banked_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24296, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25162, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24284, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25150, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12751,7 +12677,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24285, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25151, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12762,7 +12688,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24297, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25163, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12773,14 +12699,14 @@ static void wooden_rc_track_left_banked_25_deg_up_to_left_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24298, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25164, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24288, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25154, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12807,7 +12733,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24289, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25155, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12818,7 +12744,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24299, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25165, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12829,14 +12755,14 @@ static void wooden_rc_track_right_banked_25_deg_up_to_right_banked_flat( session, direction, wooden_rc_get_track_colour(session) | 24300, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25166, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24292, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25158, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12899,7 +12825,7 @@ static void wooden_rc_track_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24225, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25091, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12910,7 +12836,7 @@ static void wooden_rc_track_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24241, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25107, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12921,14 +12847,14 @@ static void wooden_rc_track_flat_to_left_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24242, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25108, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24228, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25094, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -12955,7 +12881,7 @@ static void wooden_rc_track_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24229, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25095, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -12966,7 +12892,7 @@ static void wooden_rc_track_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24243, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25109, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -12977,14 +12903,14 @@ static void wooden_rc_track_flat_to_right_banked_25_deg_up( session, direction, wooden_rc_get_track_colour(session) | 24244, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25110, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24232, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25098, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -13011,7 +12937,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24233, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25099, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13022,7 +12948,7 @@ static void wooden_rc_track_left_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24245, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25111, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13033,14 +12959,14 @@ static void wooden_rc_track_left_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24246, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25112, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24236, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25102, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -13067,7 +12993,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24237, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25103, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 1: PaintAddImageAsParentRotated( @@ -13078,7 +13004,7 @@ static void wooden_rc_track_right_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24247, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25113, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 2: PaintAddImageAsParentRotated( @@ -13089,14 +13015,14 @@ static void wooden_rc_track_right_banked_25_deg_up_to_flat( session, direction, wooden_rc_get_track_colour(session) | 24248, 0, 0, 32, 1, 9, height, 0, 26, height + 5); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25114, 0, 0, 32, 1, 9, height, 0, 26, height + 5); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); break; case 3: PaintAddImageAsParentRotated( session, direction, wooden_rc_get_track_colour(session) | 24240, 0, 0, 32, 25, 2, height, 0, 3, height); PaintAddImageAsChildRotated( session, direction, wooden_rc_get_rails_colour(session) | 25106, 0, 0, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); break; } if (direction == 0 || direction == 3) @@ -13162,7 +13088,7 @@ static void wooden_rc_track_booster( wooden_rc_track_paint( session, imageIds[direction], railsImageIds[direction], direction, 0, 2, 32, 25, 2, height, 0, 3, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/coaster/WoodenWildMouse.cpp b/src/openrct2/ride/coaster/WoodenWildMouse.cpp index dc54c46659..a0b05eb7f6 100644 --- a/src/openrct2/ride/coaster/WoodenWildMouse.cpp +++ b/src/openrct2/ride/coaster/WoodenWildMouse.cpp @@ -134,7 +134,7 @@ static void wooden_wild_mouse_track_flat( uint32_t imageId = imageIds[direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 20, 1, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_0); paint_util_set_segment_support_height( session, @@ -162,7 +162,7 @@ static void wooden_wild_mouse_track_station( PaintAddImageAsChildRotated( session, direction, imageIds[direction][0] | session->TrackColours[SCHEME_TRACK], 0, 6, 32, 20, 1, height, 0, 0, height); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_draw_station(session, ride, direction, height, trackElement); paint_util_push_tunnel_rotated(session, direction, height, TUNNEL_SQUARE_FLAT); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -193,8 +193,7 @@ static void wooden_wild_mouse_track_25_deg_up( uint32_t imageId = imageIds[isChained][direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup( - session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -241,8 +240,7 @@ static void wooden_wild_mouse_track_60_deg_up( session, direction, imageId, 0, 6, 2, 24, 93, height, 28, 4, height - 16); } - wooden_a_supports_paint_setup( - session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -281,8 +279,7 @@ static void wooden_wild_mouse_track_flat_to_25_deg_up( uint32_t imageId = imageIds[isChained][direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup( - session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -333,8 +330,7 @@ static void wooden_wild_mouse_track_25_deg_up_to_60_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -384,8 +380,7 @@ static void wooden_wild_mouse_track_60_deg_to_25_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -424,8 +419,7 @@ static void wooden_wild_mouse_track_25_deg_up_to_flat( uint32_t imageId = imageIds[isChained][direction] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 2, 32, 25, 1, height, 0, 3, height); - wooden_a_supports_paint_setup( - session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -524,8 +518,7 @@ static void wooden_wild_mouse_track_right_quarter_turn_3( { case 0: case 3: - wooden_a_supports_paint_setup( - session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); break; } @@ -570,19 +563,19 @@ static void wooden_wild_mouse_track_left_quarter_turn_1( switch (direction) { case 0: - PaintAddImageAsParent(session, imageId, 6, 0, 26, 24, 1, height, 6, 2, height); + PaintAddImageAsParent(session, imageId, { 6, 0, height }, { 26, 24, 1 }, { 6, 2, height }); break; case 1: - PaintAddImageAsParent(session, imageId, 0, 0, 26, 26, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 26, 26, 1 }); break; case 2: - PaintAddImageAsParent(session, imageId, 0, 6, 24, 26, 1, height, 2, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 6, height }, { 24, 26, 1 }, { 2, 6, height }); break; case 3: - PaintAddImageAsParent(session, imageId, 6, 6, 24, 24, 1, height); + PaintAddImageAsParent(session, imageId, { 6, 6, height }, { 24, 24, 1 }); break; } - wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); track_paint_util_left_quarter_turn_1_tile_tunnel(session, direction, height, 0, TUNNEL_0, 0, TUNNEL_0); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -631,8 +624,7 @@ static void wooden_wild_mouse_track_flat_to_60_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 29 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 29 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -682,8 +674,7 @@ static void wooden_wild_mouse_track_60_deg_up_to_flat( PaintAddImageAsParentRotated(session, direction, imageId, 0, 6, 32, 2, 43, height, 0, 4, height); } - wooden_a_supports_paint_setup( - session, direction & 1, 33 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 33 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { diff --git a/src/openrct2/ride/gentle/CarRide.cpp b/src/openrct2/ride/gentle/CarRide.cpp index b036fe3fe1..548a76ecd6 100644 --- a/src/openrct2/ride/gentle/CarRide.cpp +++ b/src/openrct2/ride/gentle/CarRide.cpp @@ -478,7 +478,7 @@ static void paint_car_ride_track_spinning_tunnel( paint_util_push_tunnel_right(session, height, TUNNEL_0); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/gentle/Circus.cpp b/src/openrct2/ride/gentle/Circus.cpp index f0896c57c1..a26a4bd67e 100644 --- a/src/openrct2/ride/gentle/Circus.cpp +++ b/src/openrct2/ride/gentle/Circus.cpp @@ -43,7 +43,8 @@ static void paint_circus_tent( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim); } - PaintAddImageAsParent(session, imageId | imageColourFlags, al, cl, 24, 24, 47, height + 3, al + 16, cl + 16, height + 3); + PaintAddImageAsParent( + session, imageId | imageColourFlags, { al, cl, height + 3 }, { 24, 24, 47 }, { al + 16, cl + 16, height + 3 }); session->CurrentlyDrawnItem = savedTileElement; session->InteractionType = ViewportInteractionItem::Ride; @@ -59,7 +60,7 @@ static void paint_circus( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/CrookedHouse.cpp b/src/openrct2/ride/gentle/CrookedHouse.cpp index e8a8ff47e9..cb021b1f91 100644 --- a/src/openrct2/ride/gentle/CrookedHouse.cpp +++ b/src/openrct2/ride/gentle/CrookedHouse.cpp @@ -16,17 +16,15 @@ struct rct_crooked_house_bound_box { - int16_t offset_x; - int16_t offset_y; - int16_t length_x; - int16_t length_y; + CoordsXY offset; + CoordsXY length; }; -static constexpr const rct_crooked_house_bound_box crooked_house_data[] = { { 6, 0, 42, 24 }, - { 0, 0, 0, 0 }, - { -16, -16, 32, 32 }, - { 0, 0, 0, 0 }, // Unused - { 0, 6, 24, 42 } }; +static constexpr const rct_crooked_house_bound_box crooked_house_data[] = { { { 6, 0 }, { 42, 24 } }, + { { 0, 0 }, { 0, 0 } }, + { { -16, -16 }, { 32, 32 } }, + { { 0, 0 }, { 0, 0 } }, // Unused + { { 0, 6 }, { 24, 42 } } }; /** * rct2: 0x0088ABA4 @@ -56,10 +54,9 @@ static void paint_crooked_house_structure( uint32_t image_id = (direction + rideEntry->vehicles[0].base_image_id) | session->TrackColours[SCHEME_MISC]; - rct_crooked_house_bound_box boundBox = crooked_house_data[segment]; + const rct_crooked_house_bound_box& boundBox = crooked_house_data[segment]; PaintAddImageAsParent( - session, image_id, x_offset, y_offset, boundBox.length_x, boundBox.length_y, 127, height + 3, boundBox.offset_x, - boundBox.offset_y, height + 3); + session, image_id, { x_offset, y_offset, height + 3 }, { boundBox.length, 127 }, { boundBox.offset, height + 3 }); } static void paint_crooked_house( @@ -70,7 +67,7 @@ static void paint_crooked_house( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/Dodgems.cpp b/src/openrct2/ride/gentle/Dodgems.cpp index 1860010dbe..c960e9caf2 100644 --- a/src/openrct2/ride/gentle/Dodgems.cpp +++ b/src/openrct2/ride/gentle/Dodgems.cpp @@ -31,7 +31,7 @@ static constexpr const uint32_t dodgems_fence_sprites[] = { SPR_DODGEMS_FENCE_TO static void paint_dodgems_roof(paint_session* session, int32_t height, int32_t offset) { uint32_t image_id = (SPR_DODGEMS_ROOF_FRAME + offset) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 0, 0, 32, 32, 2, height); + PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 32, 2 }); image_id = (SPR_DODGEMS_ROOF_GLASS + offset) | (EnumValue(FilterPaletteID::PaletteDarken3) << 19) | IMAGE_TYPE_TRANSPARENT; PaintAttachToPreviousPS(session, image_id, 0, 0); @@ -45,10 +45,10 @@ static void paint_dodgems( int32_t edges = edges_4x4[relativeTrackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_DODGEMS_FLOOR | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 30, 30, 1, height, 1, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 30, 30, 1 }, { 1, 1, height }); if (ride != nullptr) { diff --git a/src/openrct2/ride/gentle/FerrisWheel.cpp b/src/openrct2/ride/gentle/FerrisWheel.cpp index a52c950285..104e032dfa 100644 --- a/src/openrct2/ride/gentle/FerrisWheel.cpp +++ b/src/openrct2/ride/gentle/FerrisWheel.cpp @@ -32,18 +32,16 @@ static constexpr const uint8_t edges_1x4_nw_se[] = { struct ferris_wheel_bound_box { - int16_t length_x; - int16_t length_y; - int16_t offset_x; - int16_t offset_y; + CoordsXY length; + CoordsXY offset; }; /** rct2: 0x008A8CA8 */ -static ferris_wheel_bound_box ferris_wheel_data[] = { - { 31, 16, 1, 8 }, - { 16, 31, 8, 1 }, - { 31, 16, 1, 8 }, - { 16, 31, 8, 1 }, +static constexpr ferris_wheel_bound_box ferris_wheel_data[] = { + { { 31, 16 }, { 1, 8 } }, + { { 16, 31 }, { 8, 1 } }, + { { 31, 16 }, { 1, 8 } }, + { { 16, 31 }, { 8, 1 } }, }; /** @@ -89,17 +87,16 @@ static void paint_ferris_wheel_structure( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(ride->vehicle_colours[0].Body, ride->vehicle_colours[0].Trim); } - ferris_wheel_bound_box boundBox = ferris_wheel_data[direction]; + const ferris_wheel_bound_box& boundBox = ferris_wheel_data[direction]; imageId = (22150 + (direction & 1) * 2) | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, { xOffset, yOffset, height }, { boundBox.length, 127 }, { boundBox.offset, height }); imageId = (baseImageId + direction * 8 + imageOffset) | imageColourFlags; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); if (ride->lifecycle_flags & RIDE_LIFECYCLE_ON_TRACK && vehicle != nullptr) { @@ -115,15 +112,15 @@ static void paint_ferris_wheel_structure( imageColourFlags = SPRITE_ID_PALETTE_COLOUR_2(vehicle->peep_tshirt_colours[i], vehicle->peep_tshirt_colours[i + 1]); imageId = (baseImageId + 32 + direction * 128 + frameNum) | imageColourFlags; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); } } imageId = (22150 + (direction & 1) * 2 + 1) | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); session->CurrentlyDrawnItem = savedTileElement; session->InteractionType = ViewportInteractionItem::Ride; @@ -148,7 +145,7 @@ static void paint_ferris_wheel( edges = edges_1x4_ne_sw[relativeTrackSequence]; } - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) @@ -175,12 +172,12 @@ static void paint_ferris_wheel( { // Bound box is slightly different from track_paint_util_paint_fences imageId = SPR_FENCE_ROPE_SE | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 1, 7 }, { 0, 29, height + 3 }); } if (edges & EDGE_SW && track_paint_util_has_fence(EDGE_SW, session->MapPosition, trackElement, ride, rotation)) { imageId = SPR_FENCE_ROPE_SW | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 32, 7, height, 30, 0, height + 2); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 7 }, { 30, 0, height + 2 }); } } diff --git a/src/openrct2/ride/gentle/FlyingSaucers.cpp b/src/openrct2/ride/gentle/FlyingSaucers.cpp index eaf1f0fe52..bb974de89b 100644 --- a/src/openrct2/ride/gentle/FlyingSaucers.cpp +++ b/src/openrct2/ride/gentle/FlyingSaucers.cpp @@ -40,7 +40,7 @@ static void paint_flying_saucers( int32_t edges = edges_4x4[relativeTrackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLYING_SAUCERS_FLOOR | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 30, 30, 1 }, { 1, 1, height }); diff --git a/src/openrct2/ride/gentle/GhostTrain.cpp b/src/openrct2/ride/gentle/GhostTrain.cpp index 2e5bb4d8b7..521ade0e6d 100644 --- a/src/openrct2/ride/gentle/GhostTrain.cpp +++ b/src/openrct2/ride/gentle/GhostTrain.cpp @@ -492,7 +492,7 @@ static void paint_ghost_train_track_spinning_tunnel( auto tunnelImage = get_tunnel_doors_image_straight_flat(trackElement, direction); paint_util_push_tunnel_rotated(session, direction, height, tunnelImage); - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/gentle/HauntedHouse.cpp b/src/openrct2/ride/gentle/HauntedHouse.cpp index 5a6d221340..cc05ce5b17 100644 --- a/src/openrct2/ride/gentle/HauntedHouse.cpp +++ b/src/openrct2/ride/gentle/HauntedHouse.cpp @@ -17,15 +17,14 @@ struct haunted_house_bound_box { - int16_t offset_x; - int16_t offset_y; - int16_t length_x; - int16_t length_y; + CoordsXY offset; + CoordsXY length; }; /** rct2: 0x1428180 */ -static haunted_house_bound_box haunted_house_data[] = { - { 6, 0, 42, 24 }, { 0, 0, 0, 0 }, { -16, -16, 32, 32 }, { 0, 0, 0, 0 }, { 0, 6, 24, 42 }, { 0, 0, 0, 0 }, +static constexpr haunted_house_bound_box haunted_house_data[] = { + { { 6, 0 }, { 42, 24 } }, { { 0, 0 }, { 0, 0 } }, { { -16, -16 }, { 32, 32 } }, + { { 0, 0 }, { 0, 0 } }, { { 0, 6 }, { 24, 42 } }, { { 0, 0 }, { 0, 0 } }, }; /** @@ -56,10 +55,10 @@ static void paint_haunted_house_structure( } uint32_t imageId = (baseImageId + direction) | session->TrackColours[SCHEME_MISC]; - haunted_house_bound_box boundBox = haunted_house_data[part]; + + const haunted_house_bound_box& boundBox = haunted_house_data[part]; PaintAddImageAsParent( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, { xOffset, yOffset, height }, { boundBox.length, 127 }, { boundBox.offset, height }); rct_drawpixelinfo* dpi = &session->DPI; if (dpi->zoom_level <= 0 && frameNum != 0) @@ -81,8 +80,8 @@ static void paint_haunted_house_structure( } imageId = imageId | session->TrackColours[SCHEME_MISC]; PaintAddImageAsChild( - session, imageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, imageId, xOffset, yOffset, boundBox.length.x, boundBox.length.y, 127, height, boundBox.offset.x, + boundBox.offset.y, height); } session->CurrentlyDrawnItem = savedTileElement; @@ -100,7 +99,7 @@ static void paint_haunted_house( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/Maze.cpp b/src/openrct2/ride/gentle/Maze.cpp index 1b349958e8..51d75f9d5d 100644 --- a/src/openrct2/ride/gentle/Maze.cpp +++ b/src/openrct2/ride/gentle/Maze.cpp @@ -56,7 +56,7 @@ static void maze_paint_setup( int32_t image_id = SPR_TERRAIN_DIRT | session->TrackColours[SCHEME_MISC]; PaintAddImageAsParent(session, image_id, { 0, 0, height }, { 32, 32, 0 }); - wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3], nullptr); + wooden_a_supports_paint_setup(session, (rotation & 1) ? 0 : 1, 0, height, session->TrackColours[SCHEME_3]); paint_util_set_segment_support_height(session, SEGMENTS_ALL & ~SEGMENT_C4, 0xFFFF, 0); diff --git a/src/openrct2/ride/gentle/MerryGoRound.cpp b/src/openrct2/ride/gentle/MerryGoRound.cpp index a57086f37f..226faf31ab 100644 --- a/src/openrct2/ride/gentle/MerryGoRound.cpp +++ b/src/openrct2/ride/gentle/MerryGoRound.cpp @@ -110,7 +110,7 @@ static void paint_merry_go_round( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/gentle/MiniGolf.cpp b/src/openrct2/ride/gentle/MiniGolf.cpp index c11a967c34..84dcf204db 100644 --- a/src/openrct2/ride/gentle/MiniGolf.cpp +++ b/src/openrct2/ride/gentle/MiniGolf.cpp @@ -393,7 +393,7 @@ static constexpr const uint8_t mini_golf_peep_animation_frames_swing_left[] = { }; /** rct2: 0x0093348D */ -static constexpr const uint8_t mini_golf_peep_animation_frames_place_ball_upwards[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_pickup_ball[] = { 12, 13, 14, 15, 14, 13, 12, }; @@ -403,17 +403,17 @@ static constexpr const uint8_t mini_golf_peep_animation_frames_jump[] = { }; /** rct2: 0x009334A5 */ -static constexpr const uint8_t mini_golf_peep_animation_frames_pickup_ball[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_place_ball_upwards[] = { 15, 14, 13, 12, }; /** rct2: 0x009334C5 */ -static constexpr const uint8_t mini_golf_peep_animation_frames_put[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_putt[] = { 35, 36, 36, 36, 36, 36, 35, 35, 35, 35, }; /** rct2: 0x009334AA */ -static constexpr const uint8_t mini_golf_peep_animation_frames_put_left[] = { +static constexpr const uint8_t mini_golf_peep_animation_frames_putt_left[] = { 10, 11, 11, 11, 11, 11, 10, 10, 10, 10, }; @@ -422,24 +422,24 @@ static constexpr const uint8_t* mini_golf_peep_animation_frames[] = { mini_golf_peep_animation_frames_walk, mini_golf_peep_animation_frames_place_ball_downwards, mini_golf_peep_animation_frames_swing_left, - mini_golf_peep_animation_frames_place_ball_upwards, - mini_golf_peep_animation_frames_jump, mini_golf_peep_animation_frames_pickup_ball, - mini_golf_peep_animation_frames_put_left, + mini_golf_peep_animation_frames_jump, + mini_golf_peep_animation_frames_place_ball_upwards, + mini_golf_peep_animation_frames_putt_left, mini_golf_peep_animation_frames_swing, - mini_golf_peep_animation_frames_put, + mini_golf_peep_animation_frames_putt, }; const size_t mini_golf_peep_animation_lengths[] = { std::size(mini_golf_peep_animation_frames_walk), std::size(mini_golf_peep_animation_frames_place_ball_downwards), std::size(mini_golf_peep_animation_frames_swing_left), - std::size(mini_golf_peep_animation_frames_place_ball_upwards), - std::size(mini_golf_peep_animation_frames_jump), std::size(mini_golf_peep_animation_frames_pickup_ball), - std::size(mini_golf_peep_animation_frames_put_left), + std::size(mini_golf_peep_animation_frames_jump), + std::size(mini_golf_peep_animation_frames_place_ball_upwards), + std::size(mini_golf_peep_animation_frames_putt_left), std::size(mini_golf_peep_animation_frames_swing), - std::size(mini_golf_peep_animation_frames_put), + std::size(mini_golf_peep_animation_frames_putt), }; // clang-format on @@ -451,13 +451,13 @@ static paint_struct* mini_golf_paint_util_7c( if (direction & 1) { return PaintAddImageAsParent( - session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, - bound_box_offset_y, bound_box_offset_x, bound_box_offset_z); + session, image_id, { y_offset, x_offset, z_offset }, { bound_box_length_y, bound_box_length_x, bound_box_length_z }, + { bound_box_offset_y, bound_box_offset_x, bound_box_offset_z }); } return PaintAddImageAsParent( - session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, - bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); + session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, + { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); } static bool mini_golf_paint_util_should_draw_fence(paint_session* session, const TrackElement& trackElement) @@ -691,7 +691,7 @@ static void paint_mini_golf_station( if (hasFence) { imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, -10, 0, 1, 32, 7, height, 0, 0, height + 2); + PaintAddImageAsParent(session, imageId, { -10, 0, height }, { 1, 32, 7 }, { 0, 0, height + 2 }); } bool hasSWFence = track_paint_util_has_fence( @@ -714,7 +714,7 @@ static void paint_mini_golf_station( if (hasFence) { imageId = SPR_MINI_GOLF_FLAT_FENCE_BACK_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, -10, 32, 1, 7, height, 0, 0, height + 2); + PaintAddImageAsParent(session, imageId, { 0, -10, height }, { 32, 1, 7 }, { 0, 0, height + 2 }); } bool hasSEFence = track_paint_util_has_fence( @@ -731,7 +731,7 @@ static void paint_mini_golf_station( paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -832,7 +832,7 @@ static void paint_mini_golf_hole_ab( CoordsXY boundBox, boundBoxOffset; bool drewSupports = wooden_a_supports_paint_setup( - session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -859,13 +859,13 @@ static void paint_mini_golf_hole_ab( imageId = sprites[direction][trackSequence][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); if (drewSupports) { imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -875,7 +875,7 @@ static void paint_mini_golf_hole_ab( { imageId = sprites[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -904,7 +904,7 @@ static void paint_mini_golf_hole_c( CoordsXY boundBox, boundBoxOffset; bool drewSupports = wooden_a_supports_paint_setup( - session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -943,7 +943,8 @@ static void paint_mini_golf_hole_c( break; default: PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); break; } @@ -951,7 +952,7 @@ static void paint_mini_golf_hole_c( { imageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -961,7 +962,7 @@ static void paint_mini_golf_hole_c( { imageId = mini_golf_track_sprites_hole_c[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -976,8 +977,7 @@ static void paint_mini_golf_hole_d( int32_t supportType = (direction & 1); if (trackSequence == 2) supportType = 1 - supportType; - bool drewSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + bool drewSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1026,7 +1026,8 @@ static void paint_mini_golf_hole_d( break; default: PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); break; } @@ -1044,7 +1045,7 @@ static void paint_mini_golf_hole_d( { imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -1054,7 +1055,7 @@ static void paint_mini_golf_hole_d( { imageId = mini_golf_track_sprites_hole_d[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -1069,8 +1070,7 @@ static void paint_mini_golf_hole_e( int32_t supportType = (direction & 1); if (trackSequence == 2) supportType = 1 - supportType; - bool drewSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + bool drewSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -1119,7 +1119,8 @@ static void paint_mini_golf_hole_e( break; default: PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 0, height, boundBoxOffset.x, boundBoxOffset.y, height + 24); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 0 }, + { boundBoxOffset.x, boundBoxOffset.y, height + 24 }); break; } @@ -1137,7 +1138,7 @@ static void paint_mini_golf_hole_e( { imageId = ((supportType & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_SUPPORTS]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild( @@ -1147,7 +1148,7 @@ static void paint_mini_golf_hole_e( { imageId = mini_golf_track_sprites_hole_e[direction][trackSequence][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, 0, 0, boundBox.x, boundBox.y, 1, height, boundBoxOffset.x, boundBoxOffset.y, height); + session, imageId, { 0, 0, height }, { boundBox.x, boundBox.y, 1 }, { boundBoxOffset.x, boundBoxOffset.y, height }); } } @@ -1234,12 +1235,12 @@ void vehicle_visual_mini_golf_player( if (peep == nullptr) return; - uint8_t frame = mini_golf_peep_animation_frames[vehicle->mini_golf_current_animation][vehicle->animation_frame]; + uint8_t frame = mini_golf_peep_animation_frames[EnumValue(vehicle->mini_golf_current_animation)][vehicle->animation_frame]; uint32_t ebx = (frame << 2) + (imageDirection >> 3); uint32_t image_id = rideEntry->vehicles[0].base_image_id + 1 + ebx; uint32_t peep_palette = peep->TshirtColour << 19 | peep->TrousersColour << 24 | 0x0A0000000; - PaintAddImageAsParent(session, image_id | peep_palette, 0, 0, 1, 1, 11, z, 0, 0, z + 5); + PaintAddImageAsParent(session, image_id | peep_palette, { 0, 0, z }, { 1, 1, 11 }, { 0, 0, z + 5 }); } /** @@ -1248,7 +1249,7 @@ void vehicle_visual_mini_golf_player( void vehicle_visual_mini_golf_ball( paint_session* session, int32_t x, int32_t imageDirection, int32_t y, int32_t z, const Vehicle* vehicle) { - if (vehicle->mini_golf_current_animation != 1) + if (vehicle->mini_golf_current_animation != MiniGolfAnimation::PlaceBallDown) { return; } diff --git a/src/openrct2/ride/gentle/MiniHelicopters.cpp b/src/openrct2/ride/gentle/MiniHelicopters.cpp index 6012898d68..f98551127d 100644 --- a/src/openrct2/ride/gentle/MiniHelicopters.cpp +++ b/src/openrct2/ride/gentle/MiniHelicopters.cpp @@ -26,7 +26,7 @@ static void paint_mini_helicopters_track_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 1 }, { 0, 2, height }); imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height); @@ -38,7 +38,7 @@ static void paint_mini_helicopters_track_station( else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 1 }, { 2, 0, height }); imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height); @@ -64,13 +64,13 @@ static void paint_mini_helicopters_track_flat( if (direction & 1) { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_0); } else { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_0); } @@ -97,22 +97,22 @@ static void paint_mini_helicopters_track_flat_to_25_deg_up( { case 0: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_0); break; case 1: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_2); break; case 2: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height, TUNNEL_2); break; case 3: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_TO_25_DEG_UP_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height, TUNNEL_0); break; } @@ -138,22 +138,22 @@ static void paint_mini_helicopters_track_25_deg_up( { case 0: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height - 8, TUNNEL_1); break; case 1: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height + 8, TUNNEL_2); break; case 2: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height + 8, TUNNEL_2); break; case 3: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height - 8, TUNNEL_1); break; } @@ -179,22 +179,22 @@ static void paint_mini_helicopters_track_25_deg_up_to_flat( { case 0: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height - 8, TUNNEL_0); break; case 1: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height + 8, TUNNEL_12); break; case 2: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 3 }, { 0, 6, height }); paint_util_push_tunnel_left(session, height + 8, TUNNEL_12); break; case 3: imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_25_DEG_UP_TO_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 3 }, { 6, 0, height }); paint_util_push_tunnel_right(session, height - 8, TUNNEL_0); break; } diff --git a/src/openrct2/ride/gentle/MonorailCycles.cpp b/src/openrct2/ride/gentle/MonorailCycles.cpp index 6682ad9d8a..5183ec0f20 100644 --- a/src/openrct2/ride/gentle/MonorailCycles.cpp +++ b/src/openrct2/ride/gentle/MonorailCycles.cpp @@ -153,13 +153,13 @@ static paint_struct* paint_monorail_cycles_util_7c( if (flip) { return PaintAddImageAsParent( - session, image_id, y_offset, x_offset, bound_box_length_y, bound_box_length_x, bound_box_length_z, z_offset, - bound_box_offset_y, bound_box_offset_x, bound_box_offset_z); + session, image_id, { y_offset, x_offset, z_offset }, { bound_box_length_y, bound_box_length_x, bound_box_length_z }, + { bound_box_offset_y, bound_box_offset_x, bound_box_offset_z }); } return PaintAddImageAsParent( - session, image_id, x_offset, y_offset, bound_box_length_x, bound_box_length_y, bound_box_length_z, z_offset, - bound_box_offset_x, bound_box_offset_y, bound_box_offset_z); + session, image_id, { x_offset, y_offset, z_offset }, { bound_box_length_x, bound_box_length_y, bound_box_length_z }, + { bound_box_offset_x, bound_box_offset_y, bound_box_offset_z }); } /** rct2: 0x0088AD48 */ @@ -199,7 +199,7 @@ static void paint_monorail_cycles_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 1, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 1 }, { 0, 2, height }); imageId = SPR_MONORAIL_CYCLES_FLAT_SW_NE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 32, 20, 1, height, 0, 0, height); @@ -211,7 +211,7 @@ static void paint_monorail_cycles_station( else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 1, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 1 }, { 2, 0, height }); imageId = SPR_MONORAIL_CYCLES_FLAT_NW_SE | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsChild(session, imageId, 0, 0, 20, 32, 1, height, 0, 0, height); diff --git a/src/openrct2/ride/gentle/ObservationTower.cpp b/src/openrct2/ride/gentle/ObservationTower.cpp index 1c1a74da4a..ac23f41455 100644 --- a/src/openrct2/ride/gentle/ObservationTower.cpp +++ b/src/openrct2/ride/gentle/ObservationTower.cpp @@ -65,7 +65,7 @@ void vehicle_visual_observation_tower( { image_id = (image_id & 0x7FFFF) | CONSTRUCTION_MARKER; } - paint_struct* ps = PaintAddImageAsParent(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1); + paint_struct* ps = PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 2, 2, 41 }, { -11, -11, z + 1 }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -73,7 +73,7 @@ void vehicle_visual_observation_tower( image_id++; - ps = PaintAddImageAsParent(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1); + ps = PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 16, 16, 41 }, { -5, -5, z + 1 }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -92,10 +92,10 @@ static void paint_observation_tower_base( int32_t edges = edges_3x3[trackSequence]; CoordsXY position = session->MapPosition; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { @@ -107,13 +107,13 @@ static void paint_observation_tower_base( if (trackSequence == 0) { imageId = SPR_OBSERVATION_TOWER_SEGMENT_BASE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 27 }, { 8, 8, height + 3 }); imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 32 }, { 2, 2, 30 }, { 8, 8, height + 32 }); imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 64 }, { 2, 2, 30 }, { 8, 8, height + 64 }); paint_util_set_vertical_tunnel(session, height + 96); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -170,7 +170,7 @@ static void paint_observation_tower_section( } uint32_t imageId = SPR_OBSERVATION_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) diff --git a/src/openrct2/ride/gentle/SpaceRings.cpp b/src/openrct2/ride/gentle/SpaceRings.cpp index 5c1b6fc94c..eaed11cbdc 100644 --- a/src/openrct2/ride/gentle/SpaceRings.cpp +++ b/src/openrct2/ride/gentle/SpaceRings.cpp @@ -67,7 +67,7 @@ static void paint_space_rings_structure( } uint32_t imageId = (baseImageId + frameNum) | imageColourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 20, 23, height, -10, -10, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 20, 23 }, { -10, -10, height }); if (vehicle != nullptr && vehicle->num_peeps > 0) { @@ -100,7 +100,7 @@ static void paint_space_rings( uint32_t imageId; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = ride_get_station_object(ride); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); @@ -111,12 +111,12 @@ static void paint_space_rings( if (track_paint_util_has_fence(EDGE_SW, position, trackElement, ride, session->CurrentRotation)) { imageId = SPR_SPACE_RINGS_FENCE_SW | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 2); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 28, 7 }, { 29, 0, height + 2 }); } if (track_paint_util_has_fence(EDGE_SE, position, trackElement, ride, session->CurrentRotation)) { imageId = SPR_SPACE_RINGS_FENCE_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 2); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 1, 7 }, { 0, 29, height + 2 }); } break; default: diff --git a/src/openrct2/ride/gentle/SpiralSlide.cpp b/src/openrct2/ride/gentle/SpiralSlide.cpp index 7ee8c220be..8e895952f9 100644 --- a/src/openrct2/ride/gentle/SpiralSlide.cpp +++ b/src/openrct2/ride/gentle/SpiralSlide.cpp @@ -60,7 +60,7 @@ static void spiral_slide_paint_tile_right( if (direction == 3) image_id = SPIRAL_SLIDE_RIGHT_R3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 16, 108, height, 16, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 16, 108 }, { 16, 0, height + 3 }); } static void spiral_slide_paint_tile_left( @@ -78,7 +78,7 @@ static void spiral_slide_paint_tile_left( if (direction == 3) image_id = SPIRAL_SLIDE_LEFT_R3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 16, 108, height, 0, 16, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 16, 108 }, { 0, 16, height + 3 }); } static void spiral_slide_paint_tile_front( @@ -93,33 +93,33 @@ static void spiral_slide_paint_tile_front( if (direction == 1) { image_id = SPIRAL_SLIDE_INSIDE_R1 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 2, 16, 108, height, -12, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 2, 16, 108 }, { -12, 0, height + 3 }); } else if (direction == 2) { image_id = SPIRAL_SLIDE_INSIDE_R2 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 2, 108, height, 0, -12, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 2, 108 }, { 0, -12, height + 3 }); } if (direction == 0) { image_id = SPIRAL_SLIDE_CENTRE_R0 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 8, 108, height, 0, 8, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 8, 108 }, { 0, 8, height + 3 }); } else if (direction == 1) { image_id = SPIRAL_SLIDE_CENTRE_R1 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 2, 16, 108, height, 14, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 2, 16, 108 }, { 14, 0, height + 3 }); } else if (direction == 2) { image_id = SPIRAL_SLIDE_CENTRE_R2 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 16, 2, 108, height, 0, 14, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 16, 2, 108 }, { 0, 14, height + 3 }); } else if (direction == 3) { image_id = SPIRAL_SLIDE_CENTRE_R3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, image_id, 16, 16, 8, 16, 108, height, 8, 0, height + 3); + PaintAddImageAsParent(session, image_id, { 16, 16, height }, { 8, 16, 108 }, { 8, 0, height + 3 }); } rct_drawpixelinfo* dpi = &session->DPI; @@ -198,11 +198,11 @@ static void paint_spiral_slide( int32_t edges = edges_2x2[trackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); // Base uint32_t imageId = ((direction & 1) ? SPIRAL_SLIDE_BASE_B : SPIRAL_SLIDE_BASE_A) | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { diff --git a/src/openrct2/ride/shops/Facility.cpp b/src/openrct2/ride/shops/Facility.cpp index 5c69526cb0..60ab8b31f5 100644 --- a/src/openrct2/ride/shops/Facility.cpp +++ b/src/openrct2/ride/shops/Facility.cpp @@ -26,8 +26,7 @@ static void facility_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - bool hasSupports = wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_3], nullptr); + bool hasSupports = wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_3]); if (ride == nullptr) return; @@ -51,8 +50,8 @@ static void facility_paint_setup( uint32_t foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3]; PaintAddImageAsParent( - session, foundationImageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, - height); + session, foundationImageId, { 0, 0, height }, { lengthX, lengthY, 29 }, + { direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height }); // Door image or base PaintAddImageAsChild( @@ -62,19 +61,20 @@ static void facility_paint_setup( { // Door image or base PaintAddImageAsParent( - session, imageId, 0, 0, lengthX, lengthY, 29, height, direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height); + session, imageId, { 0, 0, height }, { lengthX, lengthY, 29 }, + { direction == 3 ? 28 : 2, direction == 0 ? 28 : 2, height }); } // Base image if door was drawn if (direction == 1) { imageId += 2; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 28, 29, height, 28, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 28, 29 }, { 28, 2, height }); } else if (direction == 2) { imageId += 4; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 2, 29, height, 2, 28, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 2, 29 }, { 2, 28, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/shops/Shop.cpp b/src/openrct2/ride/shops/Shop.cpp index 806e457420..d37e6f84fa 100644 --- a/src/openrct2/ride/shops/Shop.cpp +++ b/src/openrct2/ride/shops/Shop.cpp @@ -26,8 +26,7 @@ static void shop_paint_setup( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - bool hasSupports = wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_3], nullptr); + bool hasSupports = wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_3]); if (ride == nullptr) return; @@ -52,13 +51,13 @@ static void shop_paint_setup( { uint32_t foundationImageId = ((direction & 1) ? SPR_FLOOR_PLANKS_90_DEG : SPR_FLOOR_PLANKS) | session->TrackColours[SCHEME_3]; - PaintAddImageAsParent(session, foundationImageId, 0, 0, 28, 28, 45, height, 2, 2, height); + PaintAddImageAsParent(session, foundationImageId, { 0, 0, height }, { 28, 28, 45 }, { 2, 2, height }); PaintAddImageAsChild(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height); } else { - PaintAddImageAsParent(session, imageId, 0, 0, 28, 28, 45, height, 2, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 28, 45 }, { 2, 2, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/thrill/3dCinema.cpp b/src/openrct2/ride/thrill/3dCinema.cpp index 75782a45e9..4abb5b05e9 100644 --- a/src/openrct2/ride/thrill/3dCinema.cpp +++ b/src/openrct2/ride/thrill/3dCinema.cpp @@ -42,7 +42,8 @@ static void paint_3d_cinema_structure( } uint32_t imageId = (rideEntry->vehicles[0].base_image_id + direction) | imageColourFlags; - PaintAddImageAsParent(session, imageId, xOffset, yOffset, 24, 24, 47, height + 3, xOffset + 16, yOffset + 16, height + 3); + PaintAddImageAsParent( + session, imageId, { xOffset, yOffset, height + 3 }, { 24, 24, 47 }, { xOffset + 16, yOffset + 16, height + 3 }); session->CurrentlyDrawnItem = savedTileElement; session->InteractionType = ViewportInteractionItem::Ride; @@ -59,7 +60,7 @@ static void paint_3d_cinema( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/thrill/Enterprise.cpp b/src/openrct2/ride/thrill/Enterprise.cpp index a66a03451a..c89cc39bd0 100644 --- a/src/openrct2/ride/thrill/Enterprise.cpp +++ b/src/openrct2/ride/thrill/Enterprise.cpp @@ -53,7 +53,7 @@ static void paint_enterprise_structure( } uint32_t imageId = (baseImageId + imageOffset) | imageColourFlags; - PaintAddImageAsParent(session, imageId, xOffset, yOffset, 24, 24, 48, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { xOffset, yOffset, height }, { 24, 24, 48 }, { 0, 0, height }); rct_drawpixelinfo* dpi = &session->DPI; @@ -89,7 +89,7 @@ static void paint_enterprise( int32_t edges = edges_4x4[trackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = ride_get_station_object(ride); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_TRACK], height, floorSpritesCork, stationObject); diff --git a/src/openrct2/ride/thrill/GoKarts.cpp b/src/openrct2/ride/thrill/GoKarts.cpp index 427b1a55dd..965adb5826 100644 --- a/src/openrct2/ride/thrill/GoKarts.cpp +++ b/src/openrct2/ride/thrill/GoKarts.cpp @@ -150,7 +150,7 @@ static void paint_go_karts_track_flat( paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -189,19 +189,19 @@ static void paint_go_karts_track_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_7); break; case 1: - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_SQUARE_8); break; case 2: - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_SQUARE_8); break; case 3: - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_7); break; } @@ -243,19 +243,19 @@ static void paint_go_karts_track_flat_to_25_deg_up( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; case 2: - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; case 3: - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; } @@ -297,19 +297,19 @@ static void paint_go_karts_track_25_deg_up_to_flat( switch (direction) { case 0: - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_FLAT); break; case 1: - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_14); break; case 2: - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_14); break; case 3: - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_FLAT); break; } @@ -448,7 +448,7 @@ static void paint_go_karts_station( } } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); @@ -518,7 +518,7 @@ static void paint_go_karts_track_left_quarter_turn_1_tile( break; } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); diff --git a/src/openrct2/ride/thrill/LaunchedFreefall.cpp b/src/openrct2/ride/thrill/LaunchedFreefall.cpp index 4632ab5441..9309b5262e 100644 --- a/src/openrct2/ride/thrill/LaunchedFreefall.cpp +++ b/src/openrct2/ride/thrill/LaunchedFreefall.cpp @@ -44,11 +44,11 @@ void vehicle_visual_launched_freefall( // Draw back: int32_t baseImage_id = vehicleEntry->base_image_id + ((vehicle->restraints_position / 64) * 2); auto image_id = (baseImage_id + 2) | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 2, 2, 41 }, { -11, -11, z + 1 }); // Draw front: image_id = (baseImage_id + 1) | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 16, 16, 41 }, { -5, -5, z + 1 }); // Draw peeps: if (session->DPI.zoom_level < 2 && vehicle->num_peeps > 0 && !vehicle->IsGhost()) @@ -94,10 +94,10 @@ static void paint_launched_freefall_base( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLOOR_METAL | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { @@ -109,15 +109,15 @@ static void paint_launched_freefall_base( if (trackSequence == 0) { imageId = SPR_LAUNCHED_FREEFALL_TOWER_BASE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 27 }, { 8, 8, height + 3 }); height += 32; imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); height += 32; imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); paint_util_set_vertical_tunnel(session, height + 32); @@ -171,7 +171,7 @@ static void paint_launched_freefall_tower_section( } uint32_t imageId = SPR_LAUNCHED_FREEFALL_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) diff --git a/src/openrct2/ride/thrill/MagicCarpet.cpp b/src/openrct2/ride/thrill/MagicCarpet.cpp index 3e717b963d..44d609520f 100644 --- a/src/openrct2/ride/thrill/MagicCarpet.cpp +++ b/src/openrct2/ride/thrill/MagicCarpet.cpp @@ -84,9 +84,7 @@ static void paint_magic_carpet_frame( imageId |= session->TrackColours[SCHEME_TRACK]; if (plane == PLANE_BACK) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bbSize.x, bbSize.y, 127, offset.z, - bbOffset.x, bbOffset.y, bbOffset.z); + PaintAddImageAsParent(session, imageId, offset, { bbSize.x, bbSize.y, 127 }, bbOffset); } else { @@ -241,7 +239,7 @@ static void paint_magic_carpet( } uint32_t imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); break; } diff --git a/src/openrct2/ride/thrill/MotionSimulator.cpp b/src/openrct2/ride/thrill/MotionSimulator.cpp index 6c6471dfed..0d80da8ad9 100644 --- a/src/openrct2/ride/thrill/MotionSimulator.cpp +++ b/src/openrct2/ride/thrill/MotionSimulator.cpp @@ -83,32 +83,38 @@ static void paint_motionsimulator_vehicle( case 0: // Simulator imageId = simulatorImageId; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX, offsetY, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY + 32, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 2, 44 }, { offsetX, offsetY + 32, offsetZ }); break; case 1: // Simulator imageId = simulatorImageId; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX, offsetY, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY, offsetZ); // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX + 34, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 2, 20, 44 }, { offsetX + 34, offsetY, offsetZ }); break; case 2: // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 2, 44, offsetZ, offsetX, offsetY - 10, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 2, 44 }, { offsetX, offsetY - 10, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX, offsetY + 5, offsetZ }); // Simulator imageId = simulatorImageId; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX, offsetY + 5, offsetZ); @@ -116,10 +122,12 @@ static void paint_motionsimulator_vehicle( case 3: // Stairs (rail) imageId = (SPR_MOTION_SIMULATOR_STAIRS_RAIL_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 2, 20, 44, offsetZ, offsetX - 10, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 2, 20, 44 }, { offsetX - 10, offsetY, offsetZ }); // Stairs imageId = (SPR_MOTION_SIMULATOR_STAIRS_R0 + direction) | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ); + PaintAddImageAsParent( + session, imageId, { offsetX, offsetY, offsetZ }, { 20, 20, 44 }, { offsetX + 5, offsetY, offsetZ }); // Simulator imageId = simulatorImageId; PaintAddImageAsChild(session, imageId, offsetX, offsetY, 20, 20, 44, offsetZ, offsetX + 5, offsetY, offsetZ); @@ -139,7 +147,7 @@ static void paint_motionsimulator( int32_t edges = edges_2x2[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/thrill/RotoDrop.cpp b/src/openrct2/ride/thrill/RotoDrop.cpp index 730c109e51..0ff5bf1f9f 100644 --- a/src/openrct2/ride/thrill/RotoDrop.cpp +++ b/src/openrct2/ride/thrill/RotoDrop.cpp @@ -52,11 +52,11 @@ void vehicle_visual_roto_drop( // Draw back: image_id = baseImage_id | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 2, 2, 41, z, -11, -11, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 2, 2, 41 }, { -11, -11, z + 1 }); // Draw front: image_id = (baseImage_id + 4) | imageFlags; - PaintAddImageAsParent(session, image_id, 0, 0, 16, 16, 41, z, -5, -5, z + 1); + PaintAddImageAsParent(session, image_id, { 0, 0, z }, { 16, 16, 41 }, { -5, -5, z + 1 }); if (vehicle->num_peeps > 0 && !vehicle->IsGhost()) { @@ -104,10 +104,10 @@ static void paint_roto_drop_base( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { @@ -120,15 +120,15 @@ static void paint_roto_drop_base( { imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_90_DEG : SPR_ROTO_DROP_TOWER_BASE) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 27, height, 8, 8, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 27 }, { 8, 8, height + 3 }); imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 32, 8, 8, height + 32); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 32 }, { 2, 2, 30 }, { 8, 8, height + 32 }); imageId = (direction & 1 ? SPR_ROTO_DROP_TOWER_BASE_SEGMENT_90_DEG : SPR_ROTO_DROP_TOWER_BASE_SEGMENT) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height + 64, 8, 8, height + 64); + PaintAddImageAsParent(session, imageId, { 0, 0, height + 64 }, { 2, 2, 30 }, { 8, 8, height + 64 }); paint_util_set_vertical_tunnel(session, height + 96); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -186,7 +186,7 @@ static void paint_roto_drop_tower_section( } uint32_t imageId = SPR_ROTO_DROP_TOWER_SEGMENT | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 8, 8, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 8, 8, height }); const TileElement* nextTileElement = reinterpret_cast(&trackElement) + 1; if (trackElement.IsLastForTile() || trackElement.GetClearanceZ() != nextTileElement->GetBaseZ()) diff --git a/src/openrct2/ride/thrill/SwingingInverterShip.cpp b/src/openrct2/ride/thrill/SwingingInverterShip.cpp index 7e543f57b0..4972e34039 100644 --- a/src/openrct2/ride/thrill/SwingingInverterShip.cpp +++ b/src/openrct2/ride/thrill/SwingingInverterShip.cpp @@ -101,8 +101,8 @@ static void paint_swinging_inverter_ship_structure( if (direction & 2) { PaintAddImageAsParent( - session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, vehicleImageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height }); PaintAddImageAsChild( session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height); @@ -110,8 +110,8 @@ static void paint_swinging_inverter_ship_structure( else { PaintAddImageAsParent( - session, frameImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, - boundBox.offset_y, height); + session, frameImageId, { xOffset, yOffset, height }, { boundBox.length_x, boundBox.length_y, 127 }, + { boundBox.offset_x, boundBox.offset_y, height }); PaintAddImageAsChild( session, vehicleImageId, xOffset, yOffset, boundBox.length_x, boundBox.length_y, 127, height, boundBox.offset_x, boundBox.offset_y, height); @@ -143,17 +143,17 @@ static void paint_swinging_inverter_ship( } imageId = SPR_STATION_BASE_D | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); switch (direction) { case 0: imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 24, 32, 8, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 0, 24, height + 9 }, { 32, 8, 1 }); break; case 1: imageId = SPR_STATION_PLATFORM_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 24, 0, 8, 32, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 24, 0, height + 9 }, { 8, 32, 1 }); break; case 2: imageId = SPR_STATION_PLATFORM_SW_NE | session->TrackColours[SCHEME_TRACK]; diff --git a/src/openrct2/ride/thrill/SwingingShip.cpp b/src/openrct2/ride/thrill/SwingingShip.cpp index 94d0a48909..2ee85c3713 100644 --- a/src/openrct2/ride/thrill/SwingingShip.cpp +++ b/src/openrct2/ride/thrill/SwingingShip.cpp @@ -113,8 +113,8 @@ static void paint_swinging_ship_structure( imageId = swinging_ship_frame_sprites[(direction & 1)][0] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent( - session, imageId, xOffset, yOffset, bounds.length_x, bounds.length_y, 80, height, bounds.offset_x, bounds.offset_y, - height); + session, imageId, { xOffset, yOffset, height }, { bounds.length_x, bounds.length_y, 80 }, + { bounds.offset_x, bounds.offset_y, height }); imageId = baseImageId | imageColourFlags; PaintAddImageAsChild( @@ -186,7 +186,7 @@ static void paint_swinging_ship( if (relativeTrackSequence == 1 || relativeTrackSequence == 4) { - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } else if (direction & 1) { @@ -194,7 +194,7 @@ static void paint_swinging_ship( metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 7, 0, height, session->TrackColours[SCHEME_SUPPORTS]); imageId = SPR_STATION_BASE_A_NW_SE | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } else { @@ -202,7 +202,7 @@ static void paint_swinging_ship( metal_a_supports_paint_setup(session, METAL_SUPPORTS_TUBES, 8, 0, height, session->TrackColours[SCHEME_SUPPORTS]); imageId = SPR_STATION_BASE_A_SW_NE | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -226,7 +226,7 @@ static void paint_swinging_ship( imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_NW_SE : SPR_STATION_PLATFORM_NW_SE) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 24, 0, 8, 32, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 24, 0, height + 9 }, { 8, 32, 1 }); hasFence = track_paint_util_has_fence(EDGE_SW, session->MapPosition, trackElement, ride, session->CurrentRotation); if (relativeTrackSequence == 3) @@ -234,21 +234,21 @@ static void paint_swinging_ship( if (hasFence) { imageId = SPR_STATION_BEGIN_ANGLE_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 0, 1, 32, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 32, 7 }); } else { imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 23, 31, 8, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 23, 31, height + 11 }, { 8, 1, 7 }); } imageId = SPR_STATION_FENCE_SMALL_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 31, 8, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 8, 1, 7 }); } else if (hasFence) { imageId = SPR_STATION_FENCE_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 0, 1, 32, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 32, 7 }); } } } @@ -271,7 +271,7 @@ static void paint_swinging_ship( imageId = (relativeTrackSequence == 2 ? SPR_STATION_PLATFORM_BEGIN_SW_NE : SPR_STATION_PLATFORM_SW_NE) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 24, 32, 8, 1, height + 9); + PaintAddImageAsParent(session, imageId, { 0, 24, height + 9 }, { 32, 8, 1 }); hasFence = track_paint_util_has_fence(EDGE_SE, session->MapPosition, trackElement, ride, session->CurrentRotation); if (relativeTrackSequence == 3) @@ -279,21 +279,21 @@ static void paint_swinging_ship( if (hasFence) { imageId = SPR_STATION_BEGIN_ANGLE_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 31, 32, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 32, 1, 7 }); } else { imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 23, 1, 8, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 23, height + 11 }, { 1, 8, 7 }); } imageId = SPR_STATION_FENCE_SMALL_NW_SE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 31, 0, 1, 8, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 31, 0, height + 11 }, { 1, 8, 7 }); } else if (hasFence) { imageId = SPR_STATION_FENCE_SW_NE | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 31, 32, 1, 7, height + 11); + PaintAddImageAsParent(session, imageId, { 0, 31, height + 11 }, { 32, 1, 7 }); } } } diff --git a/src/openrct2/ride/thrill/TopSpin.cpp b/src/openrct2/ride/thrill/TopSpin.cpp index 638cf09866..d2d8d06374 100644 --- a/src/openrct2/ride/thrill/TopSpin.cpp +++ b/src/openrct2/ride/thrill/TopSpin.cpp @@ -252,7 +252,7 @@ static void paint_top_spin( int32_t edges = edges_3x3[trackSequence]; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = nullptr; if (ride != nullptr) diff --git a/src/openrct2/ride/thrill/Twist.cpp b/src/openrct2/ride/thrill/Twist.cpp index 66a6d0141a..4422b484ce 100644 --- a/src/openrct2/ride/thrill/Twist.cpp +++ b/src/openrct2/ride/thrill/Twist.cpp @@ -57,7 +57,8 @@ static void paint_twist_structure( uint32_t structureFrameNum = frameNum % 24; uint32_t imageId = (baseImageId + structureFrameNum) | imageColourFlags; - PaintAddImageAsParent(session, imageId, xOffset, yOffset, 24, 24, 48, height, xOffset + 16, yOffset + 16, height); + PaintAddImageAsParent( + session, imageId, { xOffset, yOffset, height }, { 24, 24, 48 }, { xOffset + 16, yOffset + 16, height }); rct_drawpixelinfo* dpi = &session->DPI; @@ -91,7 +92,7 @@ static void paint_twist( uint32_t imageId; - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_MISC]); StationObject* stationObject = ride_get_station_object(ride); track_paint_util_paint_floor(session, edges, session->TrackColours[SCHEME_MISC], height, floorSpritesCork, stationObject); @@ -102,12 +103,12 @@ static void paint_twist( if (track_paint_util_has_fence(EDGE_SW, session->MapPosition, trackElement, ride, session->CurrentRotation)) { imageId = SPR_FENCE_ROPE_SW | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 28, 7, height, 29, 0, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 28, 7 }, { 29, 0, height + 3 }); } if (track_paint_util_has_fence(EDGE_SE, session->MapPosition, trackElement, ride, session->CurrentRotation)) { imageId = SPR_FENCE_ROPE_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 1, 7, height, 0, 29, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 28, 1, 7 }, { 0, 29, height + 3 }); } break; default: diff --git a/src/openrct2/ride/transport/Chairlift.cpp b/src/openrct2/ride/transport/Chairlift.cpp index eb853d1d7f..db0b0a2950 100644 --- a/src/openrct2/ride/transport/Chairlift.cpp +++ b/src/openrct2/ride/transport/Chairlift.cpp @@ -187,7 +187,7 @@ static void chairlift_paint_station_ne_sw( auto stationObj = ride_get_station_object(ride); - wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, 0, 0, height, session->TrackColours[SCHEME_MISC]); if (!isStart && !isEnd) { @@ -280,7 +280,7 @@ static void chairlift_paint_station_se_nw( auto stationObj = ride_get_station_object(ride); - wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_MISC], nullptr); + wooden_a_supports_paint_setup(session, 1, 0, height, session->TrackColours[SCHEME_MISC]); if (!isStart && !isEnd) { diff --git a/src/openrct2/ride/transport/Lift.cpp b/src/openrct2/ride/transport/Lift.cpp index b811949af0..a246809f4a 100644 --- a/src/openrct2/ride/transport/Lift.cpp +++ b/src/openrct2/ride/transport/Lift.cpp @@ -39,10 +39,10 @@ static void paint_lift_cage(paint_session* session, int8_t index, uint32_t colou uint32_t imageId; imageId = lift_cage_sprites[1 + index][0] | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 2, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 2, 2, height }); imageId = lift_cage_sprites[1 + index][1] | colourFlags; - PaintAddImageAsParent(session, imageId, 0, 0, 2, 2, 30, height, 28, 28, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 2, 2, 30 }, { 28, 28, height }); } /** rct2: 0x0076C6CC */ @@ -75,7 +75,7 @@ static void paint_lift_base( int32_t edges = edges_3x3[trackSequence]; uint32_t imageId = SPR_FLOOR_METAL_B | session->TrackColours[SCHEME_SUPPORTS]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }, { 0, 0, height }); if (ride != nullptr) { diff --git a/src/openrct2/ride/transport/MiniatureRailway.cpp b/src/openrct2/ride/transport/MiniatureRailway.cpp index b3d4cb4e50..3acb96aa18 100644 --- a/src/openrct2/ride/transport/MiniatureRailway.cpp +++ b/src/openrct2/ride/transport/MiniatureRailway.cpp @@ -572,14 +572,18 @@ static uint32_t miniature_railway_track_to_grooved_indent( if (direction & 0x1) { - uint32_t imageIds[2][2] = { { SPR_G2_MINIATURE_RAILWAY_INSET_NW_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW }, - { SPR_G2_MINIATURE_RAILWAY_INSET_END_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW_SE } }; + static constexpr uint32_t imageIds[2][2] = { + { SPR_G2_MINIATURE_RAILWAY_INSET_NW_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW }, + { SPR_G2_MINIATURE_RAILWAY_INSET_END_SE, SPR_G2_MINIATURE_RAILWAY_INSET_END_NW_SE }, + }; imageIdAlt = imageIds[(correctedEdges & 0x2) ? 0 : 1][(correctedEdges & 0x8) ? 0 : 1]; } else { - uint32_t imageIds[2][2] = { { SPR_G2_MINIATURE_RAILWAY_INSET_SW_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW }, - { SPR_G2_MINIATURE_RAILWAY_INSET_END_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW_NE } }; + static constexpr uint32_t imageIds[2][2] = { + { SPR_G2_MINIATURE_RAILWAY_INSET_SW_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW }, + { SPR_G2_MINIATURE_RAILWAY_INSET_END_NE, SPR_G2_MINIATURE_RAILWAY_INSET_END_SW_NE }, + }; imageIdAlt = imageIds[(correctedEdges & 0x1) ? 0 : 1][(correctedEdges & 0x4) ? 0 : 1]; } @@ -600,8 +604,7 @@ static void paint_miniature_railway_track_flat( paintGrooved = true; } - bool isSupported = wooden_a_supports_paint_setup( - session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + bool isSupported = wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); uint32_t imageId, imageIdAlt; // In the following 3 calls to PaintAddImageAsParentRotated/PaintAddImageAsChildRotated, we add 1 to the @@ -673,7 +676,7 @@ static void paint_miniature_railway_station( { uint32_t imageId; - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); imageId = miniature_railway_station_floor[direction] | session->TrackColours[SCHEME_MISC]; PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); @@ -715,8 +718,7 @@ static void paint_miniature_railway_track_25_deg_up( break; } - wooden_a_supports_paint_setup( - session, direction & 1, 45 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 45 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 56, 0x20); @@ -747,8 +749,7 @@ static void paint_miniature_railway_track_flat_to_25_deg_up( break; } - wooden_a_supports_paint_setup( - session, direction & 1, 37 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 37 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 48, 0x20); @@ -779,8 +780,7 @@ static void paint_miniature_railway_track_25_deg_up_to_flat( break; } - wooden_a_supports_paint_setup( - session, direction & 1, 41 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 41 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 40, 0x20); @@ -925,7 +925,7 @@ static void paint_miniature_railway_track_right_quarter_turn_5_tiles( { bool isSupported = wooden_a_supports_paint_setup( session, right_quarter_turn_5_supports_type[direction][trackSequence], 0, height, - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); if (!isSupported || (trackSequence == 3 && direction == 2)) { @@ -1040,8 +1040,7 @@ static void paint_miniature_railway_track_s_bend_left( } bool isSupported = wooden_a_supports_paint_setup( - session, s_bend_left_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], - nullptr); + session, s_bend_left_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); static constexpr const CoordsXY offsetList[] = { { 0, 2 }, @@ -1142,8 +1141,7 @@ static void paint_miniature_railway_track_s_bend_right( } bool isSupported = wooden_a_supports_paint_setup( - session, s_bend_right_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], - nullptr); + session, s_bend_right_supports_type[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); static constexpr const CoordsXY offsetList[] = { { 0, 2 }, @@ -1273,7 +1271,7 @@ static void paint_miniature_railway_track_right_quarter_turn_3_tiles( { static constexpr const uint8_t supportType[] = { 4, 5, 2, 3 }; isSupported = wooden_a_supports_paint_setup( - session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (!isSupported) { @@ -1286,7 +1284,7 @@ static void paint_miniature_railway_track_right_quarter_turn_3_tiles( if (trackSequence == 1 && direction == 0) { uint32_t imageId = SPR_G2_MINIATURE_RAILWAY_QUARTER_TURN_3_TILES_SW_SE_PART_3 | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 8, 8, 2, height, 0, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 8, 8, 2 }, { 0, 0, height }); } } else @@ -1417,7 +1415,12 @@ static void paint_miniature_railway_track_left_eighth_to_diag( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t supportType[4][5] = { { 0, 0, 3, 5, 1 }, { 1, 1, 4, 2, 0 }, { 0, 0, 5, 3, 1 }, { 1, 1, 2, 4, 0 } }; + static constexpr uint8_t supportType[4][5] = { + { 0, 0, 3, 5, 1 }, + { 1, 1, 4, 2, 0 }, + { 0, 0, 5, 3, 1 }, + { 1, 1, 2, 4, 0 }, + }; bool isSupported = false; bool isRightEighthToOrthog = trackElement.GetTrackType() == TrackElemType::RightEighthToOrthogonal; @@ -1426,7 +1429,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( if (trackSequence != 4 || !isRightEighthToOrthog) { isSupported = wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } uint32_t imageId; if (!isSupported) @@ -1442,8 +1445,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( bounds = miniature_railway_track_pieces_right_eight_to_orthog_bounds[direction][index]; offset = miniature_railway_track_pieces_right_eight_to_orthog_offset[direction][index]; } - PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); } } else @@ -1452,8 +1454,7 @@ static void paint_miniature_railway_track_left_eighth_to_diag( | session->TrackColours[SCHEME_SUPPORTS]; CoordsXY offset = miniature_railway_track_floor_pieces_left_eight_to_diag_offset[direction][trackSequence]; CoordsXYZ bounds = miniature_railway_track_floor_pieces_left_eight_to_diag_bounds[direction][trackSequence]; - PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; if (index >= 0) @@ -1555,7 +1556,12 @@ static void paint_miniature_railway_track_right_eighth_to_diag( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t supportType[4][5] = { { 0, 0, 2, 4, 1 }, { 1, 1, 3, 5, 0 }, { 0, 0, 4, 2, 1 }, { 1, 1, 5, 3, 0 } }; + static constexpr uint8_t supportType[4][5] = { + { 0, 0, 2, 4, 1 }, + { 1, 1, 3, 5, 0 }, + { 0, 0, 4, 2, 1 }, + { 1, 1, 5, 3, 0 }, + }; bool isSupported = false; bool isLeftEighthToOrthog = trackElement.GetTrackType() == TrackElemType::LeftEighthToOrthogonal; @@ -1564,7 +1570,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( if (trackSequence != 4 || !isLeftEighthToOrthog) { isSupported = wooden_a_supports_paint_setup( - session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportType[direction][trackSequence], 0, height, session->TrackColours[SCHEME_SUPPORTS]); } uint32_t imageId; @@ -1582,8 +1588,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( bounds = miniature_railway_track_pieces_left_eight_to_orthog_bounds[direction][index]; offset = miniature_railway_track_pieces_left_eight_to_orthog_offset[direction][index]; } - PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); } } else @@ -1592,8 +1597,7 @@ static void paint_miniature_railway_track_right_eighth_to_diag( | session->TrackColours[SCHEME_SUPPORTS]; CoordsXY offset = miniature_railway_track_floor_pieces_right_eight_to_diag_offset[direction][trackSequence]; CoordsXYZ bounds = miniature_railway_track_floor_pieces_right_eight_to_diag_bounds[direction][trackSequence]; - PaintAddImageAsParent( - session, imageId, 0, 0, bounds.x, bounds.y, static_cast(bounds.z), height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, bounds, { offset, height }); int8_t index = paint_miniature_railway_eighth_to_diag_index[trackSequence]; if (index >= 0) @@ -1694,8 +1698,7 @@ static void miniature_railway_track_diag_flat( floorImage = floors[supportType].image_id; floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; - isSupported = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + isSupported = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1709,8 +1712,8 @@ static void miniature_railway_track_diag_flat( if (isSupported) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, + { floorBoundSize, (drawRail ? 2 : 0) }, { floorBoundOffset, height }); if (drawRail) { PaintAddImageAsChild( @@ -1721,7 +1724,7 @@ static void miniature_railway_track_diag_flat( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1735,16 +1738,15 @@ enum }; static bool wooden_supports_paint_setup( - paint_session* session, int32_t woodType, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags, - bool* underground) + paint_session* session, int32_t woodType, int32_t supportType, int32_t special, int32_t height, uint32_t imageColourFlags) { switch (woodType) { case WOOD_A: - return wooden_a_supports_paint_setup(session, supportType, special, height, imageColourFlags, underground); + return wooden_a_supports_paint_setup(session, supportType, special, height, imageColourFlags); case WOOD_B: - return wooden_b_supports_paint_setup(session, supportType, special, height, imageColourFlags, underground); + return wooden_b_supports_paint_setup(session, supportType, special, height, imageColourFlags); } return false; @@ -1764,7 +1766,7 @@ static void miniature_railway_track_diag_25_deg_up( supportFunction = WOOD_A; } - int8_t heightDiffs[] = { +8, -8, +8, -8 }; + static constexpr int8_t heightDiffs[] = { +8, -8, +8, -8 }; int8_t heightDiff = heightDiffs[direction]; if (trackSequence == 3) { @@ -1783,7 +1785,7 @@ static void miniature_railway_track_diag_25_deg_up( floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( - session, supportFunction, supportType, 0, height + heightDiff, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, supportFunction, supportType, 0, height + heightDiff, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1804,9 +1806,9 @@ static void miniature_railway_track_diag_25_deg_up( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y, - height + offsetsB[direction][trackSequence][1]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -1817,8 +1819,8 @@ static void miniature_railway_track_diag_25_deg_up( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + offsetB[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + offsetB[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1842,8 +1844,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( floorImage = floors[supportType].image_id; floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + hasSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1857,8 +1858,8 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, + { floorBoundSize, (drawRail ? 2 : 0) }, { floorBoundOffset, height }); if (drawRail) { PaintAddImageAsChild( @@ -1869,7 +1870,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_up( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1881,7 +1882,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t supportOffsets[][4] = { + static constexpr int8_t supportOffsets[][4] = { { 0, +8, +8, +8 }, { 0, -8, -8, 0 }, { 0, +8, +8, +8 }, @@ -1908,7 +1909,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( session, supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1916,7 +1917,7 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( floorBoundOffset = CoordsXY(-16, -16); } - const int8_t offsetsB[4][4][2] = { + static constexpr int8_t offsetsB[4][4][2] = { { { 0, 0 }, { +8, +16 }, { +8, +8 }, { +8, +8 } }, { { 0, 0 }, { -8, -8 }, { -8, -8 }, { +8, +8 } }, { { 0, 0 }, { +8, +8 }, { +8, +16 }, { +8, +8 } }, @@ -1926,14 +1927,14 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( uint32_t imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[direction]; bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const int8_t railOffsets[] = { +8, 0, +8, +8 }; + static constexpr int8_t railOffsets[] = { +8, 0, +8, +8 }; if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y, - height + offsetsB[direction][trackSequence][1]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -1944,8 +1945,8 @@ static void miniature_railway_track_diag_25_deg_up_to_flat( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + railOffsets[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + railOffsets[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -1957,7 +1958,7 @@ static void miniature_railway_track_diag_25_deg_down( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t supportOffsets[][4] = { + static constexpr int8_t supportOffsets[][4] = { { 0, +16, +16, 0 }, { 0, -8, -8, 0 }, { 0, +16, +16, 0 }, @@ -1984,7 +1985,7 @@ static void miniature_railway_track_diag_25_deg_down( floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( session, supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -1994,9 +1995,9 @@ static void miniature_railway_track_diag_25_deg_down( uint32_t imageId = miniature_railway_track_pieces_diag_25_deg_up[(direction + 2) % 4]; bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const int8_t railOffsets[] = { 0, +8, +8, +8 }; + static constexpr int8_t railOffsets[] = { 0, +8, +8, +8 }; - const int8_t offsetsB[4][4][2] = { + static constexpr int8_t offsetsB[4][4][2] = { { { 0, 0 }, { +8, +8 }, { +8, +8 }, { -8, -8 } }, { { 0, 0 }, { -8, -8 }, { -8, -8 }, { -8, 0 } }, { { 0, 0 }, { +8, +8 }, { +8, +16 }, { -8, -8 } }, @@ -2006,9 +2007,9 @@ static void miniature_railway_track_diag_25_deg_down( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y, - height + offsetsB[direction][trackSequence][1]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2019,8 +2020,8 @@ static void miniature_railway_track_diag_25_deg_down( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + railOffsets[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + railOffsets[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -2032,7 +2033,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const int8_t supportOffsets[][4] = { + static constexpr int8_t supportOffsets[][4] = { { 0, +16, +16, 0 }, { 0, -8, -8, -8 }, { 0, +8, +8, 0 }, @@ -2058,7 +2059,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( floorBoundOffset = floors[supportType].bound_offset; hasSupports = wooden_supports_paint_setup( session, supportFunction, supportType, 0, height + supportOffsets[direction][trackSequence], - session->TrackColours[SCHEME_SUPPORTS], nullptr); + session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -2066,7 +2067,7 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( floorBoundOffset = CoordsXY(-16, -16); } - const int8_t offsetsB[4][4][2] = { + static constexpr int8_t offsetsB[4][4][2] = { { { 0, 0 }, { +8, +8 }, { +8, +8 }, { -8, -8 } }, { { 0, 0 }, { -8, -8 }, { -8, -8 }, { -8, 0 } }, { { 0, 0 }, { +8, +8 }, { +8, +16 }, { -8, -8 } }, @@ -2075,14 +2076,14 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( uint32_t imageId = miniature_railway_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4]; bool drawRail = miniature_railway_diag_image_segment[direction][trackSequence]; - const int8_t railOffsets[] = { 0, +8, +8, +8 }; + static constexpr int8_t railOffsets[] = { 0, +8, +8, +8 }; if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height + offsetsB[direction][trackSequence][0], floorBoundOffset.x, floorBoundOffset.y, - height + offsetsB[direction][trackSequence][1]); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], + { 0, 0, height + offsetsB[direction][trackSequence][0] }, { floorBoundSize, (drawRail ? 2 : 0) }, + { floorBoundOffset, height + offsetsB[direction][trackSequence][1] }); if (drawRail) { PaintAddImageAsChild( @@ -2093,8 +2094,8 @@ static void miniature_railway_track_diag_flat_to_25_deg_down( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, - height + railOffsets[direction]); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, + { -16, -16, height + railOffsets[direction] }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); @@ -2116,8 +2117,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( floorImage = floors[supportType].image_id; floorBoundSize = floors[supportType].bound_size; floorBoundOffset = floors[supportType].bound_offset; - hasSupports = wooden_a_supports_paint_setup( - session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + hasSupports = wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } if (direction == 1 && trackSequence == 3) @@ -2131,8 +2131,8 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( if (hasSupports) { PaintAddImageAsParent( - session, floorImage | session->TrackColours[SCHEME_SUPPORTS], 0, 0, floorBoundSize.x, floorBoundSize.y, - (drawRail ? 2 : 0), height, floorBoundOffset.x, floorBoundOffset.y, height); + session, floorImage | session->TrackColours[SCHEME_SUPPORTS], { 0, 0, height }, + { floorBoundSize, (drawRail ? 2 : 0) }, { floorBoundOffset, height }); if (drawRail) { PaintAddImageAsChild( @@ -2143,7 +2143,7 @@ static void miniature_railway_track_diag_25_deg_down_to_flat( else if (drawRail) { PaintAddImageAsParent( - session, imageId | session->TrackColours[SCHEME_TRACK], -16, -16, 32, 32, 2, height, -16, -16, height); + session, imageId | session->TrackColours[SCHEME_TRACK], { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); diff --git a/src/openrct2/ride/transport/Monorail.cpp b/src/openrct2/ride/transport/Monorail.cpp index 1d595d5cfc..e2e2541a74 100644 --- a/src/openrct2/ride/transport/Monorail.cpp +++ b/src/openrct2/ride/transport/Monorail.cpp @@ -468,12 +468,12 @@ static void paint_monorail_station( if (direction == 0 || direction == 2) { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 28, 2, height - 2, 0, 2, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 32, 28, 2 }, { 0, 2, height }); } else if (direction == 1 || direction == 3) { imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 28, 32, 2, height - 2, 2, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height - 2 }, { 28, 32, 2 }, { 2, 0, height }); } } @@ -745,14 +745,14 @@ static void paint_monorail_track_s_bend_left( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 0 }, { 0, 6 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -764,13 +764,11 @@ static void paint_monorail_track_s_bend_left( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 3, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 3 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 3, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 3 }); } if (direction == 0 || direction == 2) @@ -851,14 +849,14 @@ static void paint_monorail_track_s_bend_right( trackSequence = 3 - trackSequence; } - const CoordsXY offsetList[] = { + static constexpr CoordsXY offsetList[] = { { 0, 6 }, { 0, 6 }, { 0, 0 }, { 0, 6 }, }; - const CoordsXY boundsList[] = { + static constexpr CoordsXY boundsList[] = { { 32, 20 }, { 32, 26 }, { 32, 26 }, @@ -870,13 +868,11 @@ static void paint_monorail_track_s_bend_right( CoordsXY bounds = boundsList[trackSequence]; if (direction == 0 || direction == 2) { - PaintAddImageAsParent( - session, imageId, static_cast(offset.x), static_cast(offset.y), bounds.x, bounds.y, 3, height); + PaintAddImageAsParent(session, imageId, { offset.x, offset.y, height }, { bounds.x, bounds.y, 3 }); } else { - PaintAddImageAsParent( - session, imageId, static_cast(offset.y), static_cast(offset.x), bounds.y, bounds.x, 3, height); + PaintAddImageAsParent(session, imageId, { offset.y, offset.x, height }, { bounds.y, bounds.x, 3 }); } if (direction == 0 || direction == 2) @@ -1006,7 +1002,7 @@ static void paint_monorail_track_left_eighth_to_diag( uint32_t imageId = ghost_train_track_pieces_left_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK]; const CoordsXY offset = ghost_train_track_pieces_left_eight_to_diag_offset[direction][index]; const CoordsXY bounds = ghost_train_track_pieces_left_eight_to_diag_bounds[direction][index]; - PaintAddImageAsParent(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { bounds.x, bounds.y, 2 }, { offset.x, offset.y, height }); } switch (trackSequence) @@ -1074,7 +1070,7 @@ static void paint_monorail_track_right_eighth_to_diag( uint32_t imageId = ghost_train_track_pieces_right_eight_to_diag[direction][index] | session->TrackColours[SCHEME_TRACK]; const CoordsXY offset = ghost_train_track_pieces_right_eight_to_diag_offset[direction][index]; const CoordsXY bounds = ghost_train_track_pieces_right_eight_to_diag_bounds[direction][index]; - PaintAddImageAsParent(session, imageId, 0, 0, bounds.x, bounds.y, 2, height, offset.x, offset.y, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { bounds.x, bounds.y, 2 }, { offset.x, offset.y, height }); } switch (trackSequence) @@ -1136,7 +1132,7 @@ static void paint_monorail_track_left_eighth_to_orthogonal( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; paint_monorail_track_right_eighth_to_diag(session, ride, trackSequence, (direction + 2) % 4, height, trackElement); } @@ -1146,7 +1142,7 @@ static void paint_monorail_track_right_eighth_to_orthogonal( paint_session* session, const Ride* ride, uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement) { - const uint8_t map[] = { 4, 2, 3, 1, 0 }; + static constexpr uint8_t map[] = { 4, 2, 3, 1, 0 }; trackSequence = map[trackSequence]; paint_monorail_track_left_eighth_to_diag(session, ride, trackSequence, (direction + 3) % 4, height, trackElement); } @@ -1173,7 +1169,7 @@ static void paint_monorail_track_diag_flat( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_flat[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1196,7 +1192,7 @@ static void paint_monorail_track_diag_25_deg_up( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_25_deg_up[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1219,7 +1215,7 @@ static void paint_monorail_track_diag_flat_to_25_deg_up( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_flat_to_25_deg_up[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1242,7 +1238,7 @@ static void paint_monorail_track_diag_25_deg_up_to_flat( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_25_deg_up_to_flat[direction] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1265,7 +1261,7 @@ static void paint_monorail_track_diag_25_deg_down( if (monorail_diag_image_segment[direction][trackSequence]) { uint32_t imageId = monorail_track_pieces_diag_25_deg_up[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1289,7 +1285,7 @@ static void paint_monorail_track_diag_flat_to_25_deg_down( { uint32_t imageId = monorail_track_pieces_diag_25_deg_up_to_flat[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) @@ -1313,7 +1309,7 @@ static void paint_monorail_track_diag_25_deg_down_to_flat( { uint32_t imageId = monorail_track_pieces_diag_flat_to_25_deg_up[(direction + 2) % 4] | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, -16, -16, 32, 32, 2, height, -16, -16, height); + PaintAddImageAsParent(session, imageId, { -16, -16, height }, { 32, 32, 2 }, { -16, -16, height }); } if (trackSequence == 3) diff --git a/src/openrct2/ride/water/LogFlume.cpp b/src/openrct2/ride/water/LogFlume.cpp index 0d73303c22..94130ba46f 100644 --- a/src/openrct2/ride/water/LogFlume.cpp +++ b/src/openrct2/ride/water/LogFlume.cpp @@ -196,7 +196,7 @@ static void paint_log_flume_track_station( { imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; } - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); if (direction & 1) { @@ -755,7 +755,7 @@ static void paint_log_flume_track_on_ride_photo( const TrackElement& trackElement) { uint32_t imageId = SPR_STATION_BASE_D | IMAGE_TYPE_REMAP; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); if (direction & 1) { diff --git a/src/openrct2/ride/water/RiverRapids.cpp b/src/openrct2/ride/water/RiverRapids.cpp index a5ccc6bcbc..7ca899d9e9 100644 --- a/src/openrct2/ride/water/RiverRapids.cpp +++ b/src/openrct2/ride/water/RiverRapids.cpp @@ -229,7 +229,8 @@ void vehicle_visual_river_rapids( image_id |= CONSTRUCTION_MARKER; } PaintAddImageAsParent( - session, image_id, 0, 0, bb->length_x, bb->length_y, bb->length_z, z, bb->offset_x, bb->offset_y, bb->offset_z + z); + session, image_id, { 0, 0, z }, { bb->length_x, bb->length_y, bb->length_z }, + { bb->offset_x, bb->offset_y, bb->offset_z + z }); if (session->DPI.zoom_level < 2 && vehicle->num_peeps > 0 && !vehicle->IsGhost()) { @@ -302,7 +303,7 @@ static void paint_river_rapids_track_flat( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 3 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -343,7 +344,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 34 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 9, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_7); break; @@ -355,7 +356,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 34 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 10, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_SQUARE_8); break; @@ -367,7 +368,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 34 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 11, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_SQUARE_8); break; @@ -378,7 +379,7 @@ static void paint_river_rapids_track_25_deg( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 34 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 12, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_7); break; } @@ -402,7 +403,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 18 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 5, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height - 8, TUNNEL_SQUARE_FLAT); break; @@ -414,7 +415,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 18 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 6, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height + 8, TUNNEL_14); break; @@ -426,7 +427,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 18 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 7, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height + 8, TUNNEL_14); break; @@ -437,7 +438,7 @@ static void paint_river_rapids_track_25_deg_to_flat_a( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 18 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 8, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height - 8, TUNNEL_SQUARE_FLAT); break; } @@ -461,7 +462,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 1, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); break; @@ -473,7 +474,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 26 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 2, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_8); break; @@ -485,7 +486,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height + 16 }); - wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 0, 3, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_8); break; @@ -496,7 +497,7 @@ static void paint_river_rapids_track_25_deg_to_flat_b( imageId = sprites[direction][1] | session->TrackColours[SCHEME_TRACK]; PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 26 }, { 27, 0, height + 16 }); - wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1, 4, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); break; } @@ -606,7 +607,7 @@ static void paint_river_rapids_track_left_quarter_turn_1_tile( break; } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -663,7 +664,7 @@ static void paint_river_rapids_track_right_quarter_turn_1_tile( break; } - wooden_a_supports_paint_setup(session, 1 - (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, 1 - (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); paint_util_set_general_support_height(session, height + 32, 0x20); } @@ -716,7 +717,7 @@ static void paint_river_rapids_track_waterfall( PaintAddImageAsChild(session, imageId, { 0, 0, height }, { 32, 1, 27 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -757,7 +758,7 @@ static void paint_river_rapids_track_rapids( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 11 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -818,7 +819,7 @@ static void paint_river_rapids_track_whirlpool( PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 3 }, { 0, 27, height + 17 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { diff --git a/src/openrct2/ride/water/SplashBoats.cpp b/src/openrct2/ride/water/SplashBoats.cpp index e85581cb5d..af9068a484 100644 --- a/src/openrct2/ride/water/SplashBoats.cpp +++ b/src/openrct2/ride/water/SplashBoats.cpp @@ -485,8 +485,7 @@ static void paint_splash_boats_track_25_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 50, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 9 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -511,8 +510,7 @@ static void paint_splash_boats_track_60_deg_up( session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 98, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 21 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -536,8 +534,7 @@ static void paint_splash_boats_track_flat_to_25_deg_up( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 42, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 1 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -561,8 +558,7 @@ static void paint_splash_boats_track_25_deg_up_to_flat( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 34, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 5 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -587,8 +583,7 @@ static void paint_splash_boats_track_25_deg_up_to_60_deg_up( session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 13 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -613,8 +608,7 @@ static void paint_splash_boats_track_60_deg_up_to_25_deg_up( session, direction, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 1, 66, height, 0, 27, height); - wooden_a_supports_paint_setup( - session, (direction & 1), 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 17 + direction, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -640,7 +634,7 @@ static void paint_splash_boats_track_25_deg_down( static constexpr const uint8_t specialSupport[] = { 11, 12, 9, 10 }; wooden_a_supports_paint_setup( - session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -673,7 +667,7 @@ static void paint_splash_boats_track_flat_to_25_deg_down( static constexpr const uint8_t specialSupport[] = { 7, 8, 5, 6 }; wooden_a_supports_paint_setup( - session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -713,7 +707,7 @@ static void paint_splash_boats_track_25_deg_down_to_flat( static constexpr const uint8_t specialSupport[] = { 3, 4, 1, 2 }; wooden_a_supports_paint_setup( - session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + session, (direction & 1), specialSupport[direction], height, session->TrackColours[SCHEME_SUPPORTS]); if (direction == 0 || direction == 3) { @@ -749,24 +743,24 @@ static void paint_splash_boats_track_flat( { imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 2, height, 6, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 2 }, { 6, 0, height }); imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_SIDE_NW_SE : SPR_SPLASH_BOATS_FLAT_SIDE_SE_NW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 1, 32, 26, height, 27, 0, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 1, 32, 26 }, { 27, 0, height }); } else { imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 2, height, 0, 6, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 2 }, { 0, 6, height }); imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_SIDE_SW_NE : SPR_SPLASH_BOATS_FLAT_SIDE_NE_SW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 1, 26, height, 0, 27, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 1, 26 }, { 0, 27, height }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (direction & 1) { @@ -790,22 +784,22 @@ static void paint_splash_boats_station( { uint32_t imageId = (direction == 1 ? SPR_SPLASH_BOATS_FLAT_TOP_NW_SE : SPR_SPLASH_BOATS_FLAT_TOP_SE_NW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 1, height, 6, 0, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 20, 32, 1 }, { 6, 0, height + 3 }); imageId = SPR_STATION_BASE_B_NW_SE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } else { uint32_t imageId = (direction == 0 ? SPR_SPLASH_BOATS_FLAT_TOP_SW_NE : SPR_SPLASH_BOATS_FLAT_TOP_NE_SW) | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 1, height, 0, 6, height + 3); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 20, 1 }, { 0, 6, height + 3 }); imageId = SPR_STATION_BASE_B_SW_NE | session->TrackColours[SCHEME_MISC]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 32, 1, height); + PaintAddImageAsParent(session, imageId, { 0, 0, height }, { 32, 32, 1 }); } - wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, (direction & 1), 0, height, session->TrackColours[SCHEME_SUPPORTS]); if (ride != nullptr) track_paint_util_draw_narrow_station_platform(session, ride, direction, height, 7, trackElement); @@ -835,7 +829,7 @@ static void paint_splash_boats_track_left_quarter_turn_5_tiles( { 1, 0xFF, 4, 2, 0xFF, 4, 0 }, }; uint8_t supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } switch (trackSequence) @@ -916,7 +910,7 @@ static void paint_splash_boats_track_right_quarter_turn_5_tiles( { 1, 0xFF, 3, 5, 0xFF, 3, 0 }, }; uint8_t supportType = supportTypes[direction][trackSequence]; - wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportType, 0, height, session->TrackColours[SCHEME_SUPPORTS]); } switch (trackSequence) @@ -1013,7 +1007,7 @@ static void paint_splash_boats_track_s_bend_left( case 0: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; case 1: @@ -1021,8 +1015,7 @@ static void paint_splash_boats_track_s_bend_left( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1035,8 +1028,7 @@ static void paint_splash_boats_track_s_bend_left( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1047,7 +1039,7 @@ static void paint_splash_boats_track_s_bend_left( case 3: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; } @@ -1105,7 +1097,7 @@ static void paint_splash_boats_track_s_bend_right( case 0: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; case 1: @@ -1113,8 +1105,7 @@ static void paint_splash_boats_track_s_bend_right( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes1[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1127,8 +1118,7 @@ static void paint_splash_boats_track_s_bend_right( PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 26, 2, height, 0, bboy, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 26, 0, height, 0, bboy, height + 27); - wooden_a_supports_paint_setup( - session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, supportTypes2[direction], 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height( session, @@ -1139,7 +1129,7 @@ static void paint_splash_boats_track_s_bend_right( case 3: PaintAddImageAsParentRotated(session, direction, imageId, 0, 0, 32, 27, 2, height, 0, 2, height); PaintAddImageAsParentRotated(session, direction, frontImageId, 0, 0, 32, 27, 0, height, 0, 2, height + 27); - wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS], nullptr); + wooden_a_supports_paint_setup(session, direction & 1, 0, height, session->TrackColours[SCHEME_SUPPORTS]); paint_util_set_segment_support_height(session, SEGMENTS_ALL, 0xFFFF, 0); break; } diff --git a/src/openrct2/ride/water/SubmarineRide.cpp b/src/openrct2/ride/water/SubmarineRide.cpp index d98b96186b..0b3a33bcc7 100644 --- a/src/openrct2/ride/water/SubmarineRide.cpp +++ b/src/openrct2/ride/water/SubmarineRide.cpp @@ -62,7 +62,8 @@ void vehicle_visual_submarine( image_id = baseImage_id | imageFlags; paint_struct* ps = PaintAddImageAsParent( - session, image_id, 0, 0, bb.length_x, bb.length_y, bb.length_z, z, bb.offset_x, bb.offset_y, bb.offset_z + z); + session, image_id, { 0, 0, z }, { bb.length_x, bb.length_y, bb.length_z }, + { bb.offset_x, bb.offset_y, bb.offset_z + z }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -70,7 +71,7 @@ void vehicle_visual_submarine( image_id = (baseImage_id + 1) | imageFlags; ps = PaintAddImageAsParent( - session, image_id, 0, 0, bb.length_x, bb.length_y, 2, z, bb.offset_x, bb.offset_y, bb.offset_z + z - 10); + session, image_id, { 0, 0, z }, { bb.length_x, bb.length_y, 2 }, { bb.offset_x, bb.offset_y, bb.offset_z + z - 10 }); if (ps != nullptr) { ps->tertiary_colour = vehicle->colours_extended; @@ -94,7 +95,7 @@ static void submarine_ride_paint_track_station( if (direction & 1) { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 20, 32, 3 }, { 6, 0, heightLower }); paint_util_push_tunnel_right(session, height, TUNNEL_SQUARE_FLAT); track_paint_util_draw_pier( @@ -103,7 +104,7 @@ static void submarine_ride_paint_track_station( else { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 32, 20, 3 }, { 0, 6, heightLower }); paint_util_push_tunnel_left(session, height, TUNNEL_SQUARE_FLAT); track_paint_util_draw_pier( @@ -124,13 +125,13 @@ static void submarine_ride_paint_track_flat( if (direction & 1) { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_SE_NW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 20, 32, 3, heightLower, 6, 0, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 20, 32, 3 }, { 6, 0, heightLower }); paint_util_push_tunnel_right(session, heightLower, TUNNEL_0); } else { imageId = SPR_TRACK_SUBMARINE_RIDE_MINI_HELICOPTERS_FLAT_NE_SW | session->TrackColours[SCHEME_TRACK]; - PaintAddImageAsParent(session, imageId, 0, 0, 32, 20, 3, heightLower, 0, 6, heightLower); + PaintAddImageAsParent(session, imageId, { 0, 0, heightLower }, { 32, 20, 3 }, { 0, 6, heightLower }); paint_util_push_tunnel_left(session, heightLower, TUNNEL_0); } diff --git a/src/openrct2/scenario/Scenario.h b/src/openrct2/scenario/Scenario.h index 937c3bc486..1477627506 100644 --- a/src/openrct2/scenario/Scenario.h +++ b/src/openrct2/scenario/Scenario.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SCENARIO_H_ -#define _SCENARIO_H_ +#pragma once #include "../common.h" #include "../core/Random.hpp" @@ -463,5 +462,3 @@ void scenario_failure(); void scenario_success(); void scenario_success_submit_name(const char* name); void scenario_autosave_check(); - -#endif diff --git a/src/openrct2/scenario/ScenarioRepository.h b/src/openrct2/scenario/ScenarioRepository.h index 0ee807a384..8d6898d464 100644 --- a/src/openrct2/scenario/ScenarioRepository.h +++ b/src/openrct2/scenario/ScenarioRepository.h @@ -74,11 +74,13 @@ struct IScenarioRepository int32_t language, const utf8* scenarioFileName, money64 companyValue, const utf8* name) abstract; }; -std::unique_ptr CreateScenarioRepository(const std::shared_ptr& env); -IScenarioRepository* GetScenarioRepository(); +[[nodiscard]] std::unique_ptr CreateScenarioRepository( + const std::shared_ptr& env); +[[nodiscard]] IScenarioRepository* GetScenarioRepository(); void scenario_repository_scan(); -size_t scenario_repository_get_count(); -const scenario_index_entry* scenario_repository_get_by_index(size_t index); -bool scenario_repository_try_record_highscore(const utf8* scenarioFileName, money64 companyValue, const utf8* name); +[[nodiscard]] size_t scenario_repository_get_count(); +[[nodiscard]] const scenario_index_entry* scenario_repository_get_by_index(size_t index); +[[nodiscard]] bool scenario_repository_try_record_highscore( + const utf8* scenarioFileName, money64 companyValue, const utf8* name); void scenario_translate(scenario_index_entry* scenarioEntry); diff --git a/src/openrct2/scripting/ScriptEngine.cpp b/src/openrct2/scripting/ScriptEngine.cpp index e5e132ceb1..caf284513b 100644 --- a/src/openrct2/scripting/ScriptEngine.cpp +++ b/src/openrct2/scripting/ScriptEngine.cpp @@ -1433,7 +1433,16 @@ int32_t OpenRCT2::Scripting::GetTargetAPIVersion() { auto& scriptEngine = GetContext()->GetScriptEngine(); auto& execInfo = scriptEngine.GetExecInfo(); - return execInfo.GetCurrentPlugin()->GetTargetAPIVersion(); + + // Commands from the in-game console do not have a plug-in set + auto plugin = execInfo.GetCurrentPlugin(); + if (plugin == nullptr) + { + // For in-game console, default to the current API version + return OPENRCT2_PLUGIN_API_VERSION; + } + + return plugin->GetTargetAPIVersion(); } #endif diff --git a/src/openrct2/scripting/ScriptEngine.h b/src/openrct2/scripting/ScriptEngine.h index 9210a3622c..404e7daffd 100644 --- a/src/openrct2/scripting/ScriptEngine.h +++ b/src/openrct2/scripting/ScriptEngine.h @@ -220,12 +220,12 @@ namespace OpenRCT2::Scripting void AddNetworkPlugin(std::string_view code); - std::unique_ptr QueryOrExecuteCustomGameAction( + [[nodiscard]] std::unique_ptr QueryOrExecuteCustomGameAction( std::string_view id, std::string_view args, bool isExecute); bool RegisterCustomAction( const std::shared_ptr& plugin, std::string_view action, const DukValue& query, const DukValue& execute); void RunGameActionHooks(const GameAction& action, std::unique_ptr& result, bool isExecute); - std::unique_ptr CreateGameAction(const std::string& actionid, const DukValue& args); + [[nodiscard]] std::unique_ptr CreateGameAction(const std::string& actionid, const DukValue& args); void SaveSharedStorage(); @@ -249,8 +249,9 @@ namespace OpenRCT2::Scripting void AutoReloadPlugins(); void ProcessREPL(); void RemoveCustomGameActions(const std::shared_ptr& plugin); - std::unique_ptr DukToGameActionResult(const DukValue& d); - DukValue GameActionResultToDuk(const GameAction& action, const std::unique_ptr& result); + [[nodiscard]] std::unique_ptr DukToGameActionResult(const DukValue& d); + [[nodiscard]] DukValue GameActionResultToDuk( + const GameAction& action, const std::unique_ptr& result); static std::string_view ExpenditureTypeToString(ExpenditureType expenditureType); static ExpenditureType StringToExpenditureType(std::string_view expenditureType); diff --git a/src/openrct2/scripting/bindings/entity/ScEntity.hpp b/src/openrct2/scripting/bindings/entity/ScEntity.hpp index 6531862fdf..30a9670412 100644 --- a/src/openrct2/scripting/bindings/entity/ScEntity.hpp +++ b/src/openrct2/scripting/bindings/entity/ScEntity.hpp @@ -190,7 +190,7 @@ namespace OpenRCT2::Scripting } } - SpriteBase* GetEntity() const + EntityBase* GetEntity() const { return ::GetEntity(_id); } diff --git a/src/openrct2/scripting/bindings/world/ScMap.cpp b/src/openrct2/scripting/bindings/world/ScMap.cpp index d354850606..ade039e148 100644 --- a/src/openrct2/scripting/bindings/world/ScMap.cpp +++ b/src/openrct2/scripting/bindings/world/ScMap.cpp @@ -253,7 +253,7 @@ namespace OpenRCT2::Scripting dukglue_register_method(ctx, &ScMap::createEntity, "createEntity"); } - DukValue ScMap::GetEntityAsDukValue(const SpriteBase* sprite) const + DukValue ScMap::GetEntityAsDukValue(const EntityBase* sprite) const { auto spriteId = sprite->sprite_index; switch (sprite->Type) diff --git a/src/openrct2/scripting/bindings/world/ScMap.hpp b/src/openrct2/scripting/bindings/world/ScMap.hpp index a2994fd04b..2d6ca62549 100644 --- a/src/openrct2/scripting/bindings/world/ScMap.hpp +++ b/src/openrct2/scripting/bindings/world/ScMap.hpp @@ -47,7 +47,7 @@ namespace OpenRCT2::Scripting static void Register(duk_context* ctx); private: - DukValue GetEntityAsDukValue(const SpriteBase* sprite) const; + DukValue GetEntityAsDukValue(const EntityBase* sprite) const; }; } // namespace OpenRCT2::Scripting diff --git a/src/openrct2/sprites.h b/src/openrct2/sprites.h index 914c4623cc..0965ea5fd0 100644 --- a/src/openrct2/sprites.h +++ b/src/openrct2/sprites.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SPRITES_H_ -#define _SPRITES_H_ +#pragma once #include "drawing/ScrollingText.h" #include "rct1/RCT1.h" @@ -1092,7 +1091,7 @@ enum SPR_G2_END = SPR_G2_SINGLE_RAIL_END, SPR_CSG_BEGIN = SPR_G2_END, - SPR_CSG_END = SPR_CSG_BEGIN + RCT1_NUM_LL_CSG_ENTRIES, + SPR_CSG_END = SPR_CSG_BEGIN + RCT1::RCT1_NUM_LL_CSG_ENTRIES, SPR_SCROLLING_TEXT_START = SPR_CSG_END, SPR_SCROLLING_TEXT_END = SPR_SCROLLING_TEXT_START + OpenRCT2::MaxScrollingTextEntries, @@ -1100,5 +1099,3 @@ enum SPR_IMAGE_LIST_BEGIN = SPR_SCROLLING_TEXT_END, SPR_IMAGE_LIST_END = 0x7FFFE }; - -#endif diff --git a/src/openrct2/title/TitleSequence.cpp b/src/openrct2/title/TitleSequence.cpp index c5e47ca72a..66b2b39515 100644 --- a/src/openrct2/title/TitleSequence.cpp +++ b/src/openrct2/title/TitleSequence.cpp @@ -53,7 +53,7 @@ std::unique_ptr LoadTitleSequence(const std::string& path) auto ext = Path::GetExtension(path); if (String::Equals(ext, TITLE_SEQUENCE_EXTENSION)) { - auto zip = std::unique_ptr(Zip::TryOpen(path, ZIP_ACCESS::READ)); + auto zip = Zip::TryOpen(path, ZIP_ACCESS::READ); if (zip == nullptr) { Console::Error::WriteLine("Unable to open '%s'", path.c_str()); @@ -103,7 +103,7 @@ std::unique_ptr TitleSequenceGetParkHandle(const TitleS const auto& filename = seq.Saves[index]; if (seq.IsZip) { - auto zip = std::unique_ptr(Zip::TryOpen(seq.Path, ZIP_ACCESS::READ)); + auto zip = Zip::TryOpen(seq.Path, ZIP_ACCESS::READ); if (zip != nullptr) { auto data = zip->GetFileData(filename); diff --git a/src/openrct2/title/TitleSequence.h b/src/openrct2/title/TitleSequence.h index 447eef9390..62c64d1593 100644 --- a/src/openrct2/title/TitleSequence.h +++ b/src/openrct2/title/TitleSequence.h @@ -78,9 +78,9 @@ enum class TitleScript : uint8_t constexpr const utf8* TITLE_SEQUENCE_EXTENSION = ".parkseq"; constexpr uint8_t SAVE_INDEX_INVALID = UINT8_MAX; -std::unique_ptr CreateTitleSequence(); -std::unique_ptr LoadTitleSequence(const std::string& path); -std::unique_ptr TitleSequenceGetParkHandle(const TitleSequence& seq, size_t index); +[[nodiscard]] std::unique_ptr CreateTitleSequence(); +[[nodiscard]] std::unique_ptr LoadTitleSequence(const std::string& path); +[[nodiscard]] std::unique_ptr TitleSequenceGetParkHandle(const TitleSequence& seq, size_t index); bool TitleSequenceSave(const TitleSequence& seq); bool TitleSequenceAddPark(TitleSequence& seq, const utf8* path, const utf8* name); diff --git a/src/openrct2/ui/UiContext.h b/src/openrct2/ui/UiContext.h index 0f557defef..c2f38d56ac 100644 --- a/src/openrct2/ui/UiContext.h +++ b/src/openrct2/ui/UiContext.h @@ -138,7 +138,7 @@ namespace OpenRCT2 virtual void SetKeysPressed(uint32_t keysym, uint8_t scancode) abstract; // Drawing - virtual std::shared_ptr GetDrawingEngineFactory() abstract; + [[nodiscard]] virtual std::shared_ptr GetDrawingEngineFactory() abstract; virtual void DrawWeatherAnimation( OpenRCT2::Drawing::IWeatherDrawer* weatherDrawer, rct_drawpixelinfo* dpi, OpenRCT2::Drawing::DrawWeatherFunc drawFunc) abstract; @@ -158,6 +158,6 @@ namespace OpenRCT2 virtual ITitleSequencePlayer* GetTitleSequencePlayer() abstract; }; - std::shared_ptr CreateDummyUiContext(); + [[nodiscard]] std::shared_ptr CreateDummyUiContext(); } // namespace Ui } // namespace OpenRCT2 diff --git a/src/openrct2/util/SawyerCoding.h b/src/openrct2/util/SawyerCoding.h index db4a2a1b70..3045ce888e 100644 --- a/src/openrct2/util/SawyerCoding.h +++ b/src/openrct2/util/SawyerCoding.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SAWYERCODING_H_ -#define _SAWYERCODING_H_ +#pragma once #include "../common.h" @@ -55,5 +54,3 @@ int32_t sawyercoding_validate_track_checksum(const uint8_t* src, size_t length); int32_t sawyercoding_detect_file_type(const uint8_t* src, size_t length); int32_t sawyercoding_detect_rct1_version(int32_t gameVersion); - -#endif diff --git a/src/openrct2/util/Util.h b/src/openrct2/util/Util.h index 1a40487bcd..2593c28b48 100644 --- a/src/openrct2/util/Util.h +++ b/src/openrct2/util/Util.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _UTIL_H_ -#define _UTIL_H_ +#pragma once #include "../common.h" @@ -90,5 +89,3 @@ template constexpr auto EnumValue(TEnum enumerator) noexcept { return static_cast>(enumerator); } - -#endif diff --git a/src/openrct2/world/Balloon.cpp b/src/openrct2/world/Balloon.cpp index 4ea3655ada..1c7f2e1541 100644 --- a/src/openrct2/world/Balloon.cpp +++ b/src/openrct2/world/Balloon.cpp @@ -16,7 +16,7 @@ #include "../util/Util.h" #include "Sprite.h" -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Balloon; } diff --git a/src/openrct2/world/Balloon.h b/src/openrct2/world/Balloon.h index 46cc2e611e..f7b95c15fd 100644 --- a/src/openrct2/world/Balloon.h +++ b/src/openrct2/world/Balloon.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/Duck.cpp b/src/openrct2/world/Duck.cpp index e6cf1a282f..f376846eca 100644 --- a/src/openrct2/world/Duck.cpp +++ b/src/openrct2/world/Duck.cpp @@ -67,7 +67,7 @@ static constexpr const uint8_t * DuckAnimations[] = }; // clang-format on -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Duck; } diff --git a/src/openrct2/world/Duck.h b/src/openrct2/world/Duck.h index feef90e15e..0eeb867f83 100644 --- a/src/openrct2/world/Duck.h +++ b/src/openrct2/world/Duck.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXY; diff --git a/src/openrct2/world/Entity.cpp b/src/openrct2/world/Entity.cpp index d3591c07f2..bc1b1e0859 100644 --- a/src/openrct2/world/Entity.cpp +++ b/src/openrct2/world/Entity.cpp @@ -18,7 +18,7 @@ #include "MoneyEffect.h" #include "Particle.h" -static void EntityBaseSerialise(SpriteBase& base, DataSerialiser& stream) +static void EntityBaseSerialise(EntityBase& base, DataSerialiser& stream) { stream << base.Type; stream << base.sprite_index; @@ -278,7 +278,7 @@ void Vehicle::Serialise(DataSerialiser& stream) stream << powered_acceleration; stream << dodgems_collision_direction; stream << animation_frame; - stream << var_C8; + stream << animationState; stream << var_CA; stream << scream_sound_id; stream << TrackSubposition; diff --git a/src/openrct2/world/Entity.h b/src/openrct2/world/Entity.h index 0eb7d68c85..ca438cbf8f 100644 --- a/src/openrct2/world/Entity.h +++ b/src/openrct2/world/Entity.h @@ -9,33 +9,33 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" constexpr uint16_t MAX_ENTITIES = 65535; -SpriteBase* try_get_sprite(size_t spriteIndex); -SpriteBase* get_sprite(size_t sprite_idx); +EntityBase* try_get_sprite(size_t spriteIndex); +EntityBase* get_sprite(size_t sprite_idx); -template T* GetEntity(size_t sprite_idx) +template T* GetEntity(size_t sprite_idx) { auto spr = get_sprite(sprite_idx); return spr != nullptr ? spr->As() : nullptr; } -template T* TryGetEntity(size_t sprite_idx) +template T* TryGetEntity(size_t sprite_idx) { auto spr = try_get_sprite(sprite_idx); return spr != nullptr ? spr->As() : nullptr; } -SpriteBase* CreateEntity(EntityType type); +EntityBase* CreateEntity(EntityType type); template T* CreateEntity() { return static_cast(CreateEntity(T::cEntityType)); } // Use only with imports that must happen at a specified index -SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type); +EntityBase* CreateEntityAt(const uint16_t index, const EntityType type); // Use only with imports that must happen at a specified index template T* CreateEntityAt(const uint16_t index) { diff --git a/src/openrct2/world/SpriteBase.h b/src/openrct2/world/EntityBase.h similarity index 97% rename from src/openrct2/world/SpriteBase.h rename to src/openrct2/world/EntityBase.h index 2abe5d0de7..6909ec7f28 100644 --- a/src/openrct2/world/SpriteBase.h +++ b/src/openrct2/world/EntityBase.h @@ -23,7 +23,7 @@ enum class EntityType : uint8_t Null = 255 }; -struct SpriteBase +struct EntityBase { EntityType Type; uint16_t sprite_index; @@ -74,7 +74,7 @@ struct SpriteBase } }; -struct MiscEntity : SpriteBase +struct MiscEntity : EntityBase { uint16_t frame; }; diff --git a/src/openrct2/world/EntityList.h b/src/openrct2/world/EntityList.h index 2c43d33c9f..19489ae49b 100644 --- a/src/openrct2/world/EntityList.h +++ b/src/openrct2/world/EntityList.h @@ -12,8 +12,8 @@ #include "../common.h" #include "../rct12/RCT12.h" #include "Entity.h" +#include "EntityBase.h" #include "Location.hpp" -#include "SpriteBase.h" #include #include @@ -81,7 +81,7 @@ public: using iterator_category = std::forward_iterator_tag; }; -template class EntityTileList +template class EntityTileList { private: const std::vector& vec; @@ -153,7 +153,7 @@ public: using iterator_category = std::forward_iterator_tag; }; -template class EntityList +template class EntityList { private: using EntityListIterator_t = EntityListIterator; diff --git a/src/openrct2/world/EntityTweener.cpp b/src/openrct2/world/EntityTweener.cpp index aa77dd5a05..4261421971 100644 --- a/src/openrct2/world/EntityTweener.cpp +++ b/src/openrct2/world/EntityTweener.cpp @@ -57,7 +57,7 @@ void EntityTweener::PostTick() } } -void EntityTweener::RemoveEntity(SpriteBase* entity) +void EntityTweener::RemoveEntity(EntityBase* entity) { if (!entity->Is() && !entity->Is()) { diff --git a/src/openrct2/world/EntityTweener.h b/src/openrct2/world/EntityTweener.h index 7e6dfaf843..d5a1026786 100644 --- a/src/openrct2/world/EntityTweener.h +++ b/src/openrct2/world/EntityTweener.h @@ -9,13 +9,13 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" #include class EntityTweener { - std::vector Entities; + std::vector Entities; std::vector PrePos; std::vector PostPos; @@ -27,7 +27,7 @@ public: void PreTick(); void PostTick(); - void RemoveEntity(SpriteBase* entity); + void RemoveEntity(EntityBase* entity); void Tween(float alpha); void Restore(); void Reset(); diff --git a/src/openrct2/world/Entrance.h b/src/openrct2/world/Entrance.h index 27520aa4dc..76b802da76 100644 --- a/src/openrct2/world/Entrance.h +++ b/src/openrct2/world/Entrance.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _ENTRANCE_H_ -#define _ENTRANCE_H_ +#pragma once #include "../common.h" #include "Location.hpp" @@ -62,5 +61,3 @@ void maze_entrance_hedge_removal(const CoordsXYE& entrance); void fix_park_entrance_locations(); void UpdateParkEntranceLocations(); - -#endif diff --git a/src/openrct2/world/Fountain.cpp b/src/openrct2/world/Fountain.cpp index 13cb54bb79..977e8e3ab7 100644 --- a/src/openrct2/world/Fountain.cpp +++ b/src/openrct2/world/Fountain.cpp @@ -70,7 +70,7 @@ const uint8_t _fountainPatternFlags[] = { FOUNTAIN_FLAG::FAST // FAST_RANDOM_CHASERS }; -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::JumpingFountain; } diff --git a/src/openrct2/world/Fountain.h b/src/openrct2/world/Fountain.h index 068c9a0dcc..5f33fa54fd 100644 --- a/src/openrct2/world/Fountain.h +++ b/src/openrct2/world/Fountain.h @@ -10,8 +10,8 @@ #pragma once #include "../common.h" +#include "EntityBase.h" #include "Map.h" -#include "SpriteBase.h" class DataSerialiser; diff --git a/src/openrct2/world/Litter.h b/src/openrct2/world/Litter.h index b1cfe0a62f..2aafcfeecf 100644 --- a/src/openrct2/world/Litter.h +++ b/src/openrct2/world/Litter.h @@ -9,13 +9,13 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; struct CoordsXYZD; -struct Litter : SpriteBase +struct Litter : EntityBase { enum class Type : uint8_t { diff --git a/src/openrct2/world/Location.hpp b/src/openrct2/world/Location.hpp index 19e5ff9952..c9f90a921b 100644 --- a/src/openrct2/world/Location.hpp +++ b/src/openrct2/world/Location.hpp @@ -26,46 +26,46 @@ constexpr int32_t COORDS_NULL = 0xFFFF8000; struct ScreenCoordsXY { - int32_t x = 0; - int32_t y = 0; + int32_t x{}; + int32_t y{}; - ScreenCoordsXY() = default; + constexpr ScreenCoordsXY() = default; constexpr ScreenCoordsXY(int32_t _x, int32_t _y) : x(_x) , y(_y) { } - const ScreenCoordsXY operator-(const ScreenCoordsXY& rhs) const + constexpr const ScreenCoordsXY operator-(const ScreenCoordsXY& rhs) const { return { x - rhs.x, y - rhs.y }; } - ScreenCoordsXY& operator+=(const ScreenCoordsXY& rhs) + constexpr ScreenCoordsXY& operator+=(const ScreenCoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - ScreenCoordsXY& operator-=(const ScreenCoordsXY& rhs) + constexpr ScreenCoordsXY& operator-=(const ScreenCoordsXY& rhs) { x -= rhs.x; y -= rhs.y; return *this; } - const ScreenCoordsXY operator+(const ScreenCoordsXY& rhs) const + constexpr const ScreenCoordsXY operator+(const ScreenCoordsXY& rhs) const { return { x + rhs.x, y + rhs.y }; } - bool operator==(const ScreenCoordsXY& other) const + constexpr bool operator==(const ScreenCoordsXY& other) const { return x == other.x && y == other.y; } - bool operator!=(const ScreenCoordsXY& other) const + constexpr bool operator!=(const ScreenCoordsXY& other) const { return !(*this == other); } @@ -76,19 +76,19 @@ struct ScreenSize int32_t width{}; int32_t height{}; - ScreenSize() = default; + constexpr ScreenSize() = default; constexpr ScreenSize(int32_t _width, int32_t _height) : width(_width) , height(_height) { } - bool operator==(const ScreenSize& other) const + constexpr bool operator==(const ScreenSize& other) const { return width == other.width && height == other.height; } - bool operator!=(const ScreenSize& other) const + constexpr bool operator!=(const ScreenSize& other) const { return !(*this == other); } @@ -100,10 +100,10 @@ struct ScreenSize */ struct CoordsXY { - int32_t x = 0; - int32_t y = 0; + int32_t x{}; + int32_t y{}; - CoordsXY() = default; + constexpr CoordsXY() = default; constexpr CoordsXY(int32_t _x, int32_t _y) : x(_x) , y(_y) @@ -229,9 +229,9 @@ struct CoordsXY struct CoordsXYZ : public CoordsXY { - int32_t z = 0; + int32_t z{}; - CoordsXYZ() = default; + constexpr CoordsXYZ() = default; constexpr CoordsXYZ(int32_t _x, int32_t _y, int32_t _z) : CoordsXY(_x, _y) , z(_z) @@ -244,32 +244,32 @@ struct CoordsXYZ : public CoordsXY { } - const CoordsXYZ operator+(const CoordsXYZ& rhs) const + constexpr const CoordsXYZ operator+(const CoordsXYZ& rhs) const { return { x + rhs.x, y + rhs.y, z + rhs.z }; } - const CoordsXYZ operator-(const CoordsXYZ& rhs) const + constexpr const CoordsXYZ operator-(const CoordsXYZ& rhs) const { return { x - rhs.x, y - rhs.y, z - rhs.z }; } - bool operator==(const CoordsXYZ& other) const + constexpr bool operator==(const CoordsXYZ& other) const { return x == other.x && y == other.y && z == other.z; } - CoordsXYZ ToTileStart() const + constexpr CoordsXYZ ToTileStart() const { return { floor2(x, COORDS_XY_STEP), floor2(y, COORDS_XY_STEP), z }; } - CoordsXYZ ToTileCentre() const + constexpr CoordsXYZ ToTileCentre() const { return ToTileStart() + CoordsXYZ{ COORDS_XY_HALF_TILE, COORDS_XY_HALF_TILE, 0 }; } - void setNull() + constexpr void setNull() { CoordsXY::setNull(); z = 0; @@ -278,10 +278,10 @@ struct CoordsXYZ : public CoordsXY struct CoordsXYRangedZ : public CoordsXY { - int32_t baseZ = 0; - int32_t clearanceZ = 0; + int32_t baseZ{}; + int32_t clearanceZ{}; - CoordsXYRangedZ() = default; + constexpr CoordsXYRangedZ() = default; constexpr CoordsXYRangedZ(int32_t _x, int32_t _y, int32_t _baseZ, int32_t _clearanceZ) : CoordsXY(_x, _y) , baseZ(_baseZ) @@ -306,42 +306,42 @@ struct CoordsXYRangedZ : public CoordsXY struct TileCoordsXY { - int32_t x = 0; - int32_t y = 0; + int32_t x{}; + int32_t y{}; - TileCoordsXY() = default; + constexpr TileCoordsXY() = default; constexpr TileCoordsXY(int32_t x_, int32_t y_) : x(x_) , y(y_) { } - explicit TileCoordsXY(const CoordsXY& c) + constexpr explicit TileCoordsXY(const CoordsXY& c) : x(c.x / COORDS_XY_STEP) , y(c.y / COORDS_XY_STEP) { } - const TileCoordsXY operator+(const TileCoordsXY& rhs) const + constexpr const TileCoordsXY operator+(const TileCoordsXY& rhs) const { return { x + rhs.x, y + rhs.y }; } - TileCoordsXY& operator+=(const TileCoordsXY& rhs) + constexpr TileCoordsXY& operator+=(const TileCoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - TileCoordsXY& operator-=(const TileCoordsXY& rhs) + constexpr TileCoordsXY& operator-=(const TileCoordsXY& rhs) { x -= rhs.x; y -= rhs.y; return *this; } - CoordsXY ToCoordsXY() const + constexpr CoordsXY ToCoordsXY() const { if (isNull()) { @@ -353,7 +353,7 @@ struct TileCoordsXY return { x * COORDS_XY_STEP, y * COORDS_XY_STEP }; } - TileCoordsXY Rotate(int32_t direction) const + constexpr TileCoordsXY Rotate(int32_t direction) const { TileCoordsXY rotatedCoords; switch (direction & 3) @@ -380,22 +380,22 @@ struct TileCoordsXY return rotatedCoords; } - bool operator==(const TileCoordsXY& other) const + constexpr bool operator==(const TileCoordsXY& other) const { return x == other.x && y == other.y; } - bool operator!=(const TileCoordsXY& other) const + constexpr bool operator!=(const TileCoordsXY& other) const { return !(*this == other); } - bool isNull() const + constexpr bool isNull() const { return x == COORDS_NULL; }; - void setNull() + constexpr void setNull() { x = COORDS_NULL; y = 0; @@ -404,58 +404,58 @@ struct TileCoordsXY struct TileCoordsXYZ : public TileCoordsXY { - int32_t z = 0; + int32_t z{}; - TileCoordsXYZ() = default; + constexpr TileCoordsXYZ() = default; constexpr TileCoordsXYZ(int32_t x_, int32_t y_, int32_t z_) : TileCoordsXY(x_, y_) , z(z_) { } - TileCoordsXYZ(const TileCoordsXY& c, int32_t z_) + constexpr TileCoordsXYZ(const TileCoordsXY& c, int32_t z_) : TileCoordsXY(c.x, c.y) , z(z_) { } - TileCoordsXYZ(const CoordsXY& c, int32_t z_) + constexpr TileCoordsXYZ(const CoordsXY& c, int32_t z_) : TileCoordsXY(c) , z(z_) { } - explicit TileCoordsXYZ(const CoordsXYZ& c) + constexpr explicit TileCoordsXYZ(const CoordsXYZ& c) : TileCoordsXY(c) , z(c.z / COORDS_Z_STEP) { } - TileCoordsXYZ& operator+=(const TileCoordsXY& rhs) + constexpr TileCoordsXYZ& operator+=(const TileCoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - TileCoordsXYZ& operator-=(const TileCoordsXY& rhs) + constexpr TileCoordsXYZ& operator-=(const TileCoordsXY& rhs) { x -= rhs.x; y -= rhs.y; return *this; } - bool operator==(const TileCoordsXYZ& other) const + constexpr bool operator==(const TileCoordsXYZ& other) const { return x == other.x && y == other.y && z == other.z; } - bool operator!=(const TileCoordsXYZ& other) const + constexpr bool operator!=(const TileCoordsXYZ& other) const { return !(*this == other); } - CoordsXYZ ToCoordsXYZ() const + constexpr CoordsXYZ ToCoordsXYZ() const { if (isNull()) { @@ -466,7 +466,7 @@ struct TileCoordsXYZ : public TileCoordsXY return { x * COORDS_XY_STEP, y * COORDS_XY_STEP, z * COORDS_Z_STEP }; } - void setNull() + constexpr void setNull() { TileCoordsXY::setNull(); z = 0; @@ -496,12 +496,12 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; * Given a direction, return the direction that points the other way, * on the same axis. */ -[[maybe_unused]] static constexpr Direction direction_reverse(Direction dir) +inline constexpr Direction direction_reverse(Direction dir) { return dir ^ 2; } -[[maybe_unused]] static constexpr bool direction_valid(Direction dir) +inline constexpr bool direction_valid(Direction dir) { return dir < NumOrthogonalDirections; } @@ -510,7 +510,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; * Given a direction, return the next cardinal direction, wrapping around if necessary. * (TODO: Figure out if this is CW or CCW) */ -[[maybe_unused]] static constexpr Direction direction_next(Direction dir) +inline constexpr Direction direction_next(Direction dir) { return (dir + 1) & 0x03; } @@ -519,7 +519,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; * Given a direction, return the previous cardinal direction, wrapping around if necessary. * (TODO: Figure out if this is CW or CCW) */ -[[maybe_unused]] static constexpr Direction direction_prev(Direction dir) +inline constexpr Direction direction_prev(Direction dir) { return (dir - 1) & 0x03; } @@ -527,7 +527,7 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; /** * Given two positions, return the cardinal direction which is closest to the direction from 'from' to 'to'. */ -[[maybe_unused]] static constexpr Direction DirectionFromTo(const CoordsXY& from, const CoordsXY& to) +inline constexpr Direction DirectionFromTo(const CoordsXY& from, const CoordsXY& to) { int16_t x_diff = to.x - from.x; int16_t y_diff = to.y - from.y; @@ -545,11 +545,19 @@ constexpr Direction ALL_DIRECTIONS[] = { 0, 1, 2, 3 }; } } +/* + * Flips the X axis so 1 and 3 are swapped 0 and 2 will stay the same. + */ +inline constexpr Direction DirectionFlipXAxis(Direction direction) +{ + return (direction * 3) % 4; +} + struct CoordsXYZD : public CoordsXYZ { - Direction direction = 0; + Direction direction{}; - CoordsXYZD() = default; + constexpr CoordsXYZD() = default; constexpr CoordsXYZD(int32_t _x, int32_t _y, int32_t _z, Direction _d) : CoordsXYZ(_x, _y, _z) , direction(_d) @@ -568,49 +576,49 @@ struct CoordsXYZD : public CoordsXYZ { } - bool operator==(const CoordsXYZD& other) const + constexpr bool operator==(const CoordsXYZD& other) const { return x == other.x && y == other.y && z == other.z && direction == other.direction; } - bool operator!=(const CoordsXYZD& other) const + constexpr bool operator!=(const CoordsXYZD& other) const { return !(*this == other); } - CoordsXYZD& operator+=(const CoordsXY& rhs) + constexpr CoordsXYZD& operator+=(const CoordsXY& rhs) { x += rhs.x; y += rhs.y; return *this; } - const CoordsXYZD operator+(const CoordsXY& rhs) const + constexpr const CoordsXYZD operator+(const CoordsXY& rhs) const { return { x + rhs.x, y + rhs.y, z, direction }; } - const CoordsXYZD operator+(const CoordsXYZ& rhs) const + constexpr const CoordsXYZD operator+(const CoordsXYZ& rhs) const { return { x + rhs.x, y + rhs.y, z + rhs.z, direction }; } - const CoordsXYZD operator-(const CoordsXY& rhs) const + constexpr const CoordsXYZD operator-(const CoordsXY& rhs) const { return { x - rhs.x, y - rhs.y, z, direction }; } - const CoordsXYZD operator-(const CoordsXYZ& rhs) const + constexpr const CoordsXYZD operator-(const CoordsXYZ& rhs) const { return { x - rhs.x, y - rhs.y, z - rhs.z, direction }; } - CoordsXYZD ToTileStart() const + constexpr CoordsXYZD ToTileStart() const { return { floor2(x, COORDS_XY_STEP), floor2(y, COORDS_XY_STEP), z, direction }; } - CoordsXYZD ToTileCentre() const + constexpr CoordsXYZD ToTileCentre() const { return ToTileStart() + CoordsXYZD{ COORDS_XY_HALF_TILE, COORDS_XY_HALF_TILE, 0, 0 }; } @@ -618,46 +626,46 @@ struct CoordsXYZD : public CoordsXYZ struct TileCoordsXYZD : public TileCoordsXYZ { - Direction direction; + Direction direction{}; - TileCoordsXYZD() = default; + constexpr TileCoordsXYZD() = default; constexpr TileCoordsXYZD(int32_t x_, int32_t y_, int32_t z_, Direction d_) : TileCoordsXYZ(x_, y_, z_) , direction(d_) { } - TileCoordsXYZD(const TileCoordsXYZ& t_, Direction d_) + constexpr TileCoordsXYZD(const TileCoordsXYZ& t_, Direction d_) : TileCoordsXYZ(t_) , direction(d_) { } - TileCoordsXYZD(const TileCoordsXY& t_, int32_t z_, Direction d_) + constexpr TileCoordsXYZD(const TileCoordsXY& t_, int32_t z_, Direction d_) : TileCoordsXYZ(t_, z_) , direction(d_) { } - TileCoordsXYZD(const CoordsXY& c_, int32_t z_, Direction d_) + constexpr TileCoordsXYZD(const CoordsXY& c_, int32_t z_, Direction d_) : TileCoordsXYZ(c_, z_) , direction(d_) { } - TileCoordsXYZD(const CoordsXYZ& c_, Direction d_) + constexpr TileCoordsXYZD(const CoordsXYZ& c_, Direction d_) : TileCoordsXYZ(c_) , direction(d_) { } - TileCoordsXYZD(const CoordsXYZD& c_) + constexpr TileCoordsXYZD(const CoordsXYZD& c_) : TileCoordsXYZ(c_) , direction(c_.direction) { } - CoordsXYZD ToCoordsXYZD() const + constexpr CoordsXYZD ToCoordsXYZD() const { if (isNull()) { @@ -668,7 +676,7 @@ struct TileCoordsXYZD : public TileCoordsXYZ return { x * COORDS_XY_STEP, y * COORDS_XY_STEP, z * COORDS_Z_STEP, direction }; } - void setNull() + constexpr void setNull() { TileCoordsXYZ::setNull(); direction = INVALID_DIRECTION; @@ -683,30 +691,30 @@ template struct CoordsRange T Point1{ 0, 0 }; T Point2{ 0, 0 }; - int32_t GetX1() const + constexpr int32_t GetX1() const { return Point1.x; } - int32_t GetY1() const + constexpr int32_t GetY1() const { return Point1.y; } - int32_t GetX2() const + constexpr int32_t GetX2() const { return Point2.x; } - int32_t GetY2() const + constexpr int32_t GetY2() const { return Point2.y; } - CoordsRange() = default; - CoordsRange(int32_t x1, int32_t y1, int32_t x2, int32_t y2) + constexpr CoordsRange() = default; + constexpr CoordsRange(int32_t x1, int32_t y1, int32_t x2, int32_t y2) : CoordsRange({ x1, y1 }, { x2, y2 }) { } - CoordsRange(const T& pointOne, const T& pointTwo) + constexpr CoordsRange(const T& pointOne, const T& pointTwo) : Point1(pointOne) , Point2(pointTwo) { @@ -717,29 +725,29 @@ template struct RectRange : public CoordsRange { using CoordsRange::CoordsRange; - int32_t GetLeft() const + constexpr int32_t GetLeft() const { return CoordsRange::GetX1(); } - int32_t GetTop() const + constexpr int32_t GetTop() const { return CoordsRange::GetY1(); } - int32_t GetRight() const + constexpr int32_t GetRight() const { return CoordsRange::GetX2(); } - int32_t GetBottom() const + constexpr int32_t GetBottom() const { return CoordsRange::GetY2(); } - RectRange(int32_t left, int32_t top, int32_t right, int32_t bottom) + constexpr RectRange(int32_t left, int32_t top, int32_t right, int32_t bottom) : RectRange({ left, top }, { right, bottom }) { } - RectRange(const T& leftTop, const T& rightBottom) + constexpr RectRange(const T& leftTop, const T& rightBottom) : CoordsRange(leftTop, rightBottom) { } @@ -753,7 +761,7 @@ struct MapRange : public RectRange { using RectRange::RectRange; - MapRange Normalise() const + constexpr MapRange Normalise() const { auto result = MapRange( std::min(GetLeft(), GetRight()), std::min(GetTop(), GetBottom()), std::max(GetLeft(), GetRight()), @@ -768,7 +776,7 @@ struct MapRange : public RectRange struct ScreenLine : public CoordsRange { - ScreenLine(const ScreenCoordsXY& leftTop, const ScreenCoordsXY& rightBottom) + constexpr ScreenLine(const ScreenCoordsXY& leftTop, const ScreenCoordsXY& rightBottom) : CoordsRange(leftTop, rightBottom) { } @@ -782,15 +790,15 @@ struct ScreenRect : public RectRange { using RectRange::RectRange; - int32_t GetWidth() const + constexpr int32_t GetWidth() const { return GetRight() - GetLeft(); } - int32_t GetHeight() const + constexpr int32_t GetHeight() const { return GetBottom() - GetTop(); } - bool Contains(const ScreenCoordsXY& coords) const + constexpr bool Contains(const ScreenCoordsXY& coords) const { return coords.x >= GetLeft() && coords.x <= GetRight() && coords.y >= GetTop() && coords.y <= GetBottom(); } diff --git a/src/openrct2/world/Map.h b/src/openrct2/world/Map.h index 3d12a1684d..ab472b3567 100644 --- a/src/openrct2/world/Map.h +++ b/src/openrct2/world/Map.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _MAP_H_ -#define _MAP_H_ +#pragma once #include "../common.h" #include "Location.hpp" @@ -244,10 +243,10 @@ using CLEAR_FUNC = int32_t (*)(TileElement** tile_element, const CoordsXY& coord int32_t map_place_non_scenery_clear_func(TileElement** tile_element, const CoordsXY& coords, uint8_t flags, money32* price); int32_t map_place_scenery_clear_func(TileElement** tile_element, const CoordsXY& coords, uint8_t flags, money32* price); -std::unique_ptr MapCanConstructWithClearAt( +[[nodiscard]] std::unique_ptr MapCanConstructWithClearAt( const CoordsXYRangedZ& pos, CLEAR_FUNC clearFunc, QuarterTile quarterTile, uint8_t flags, uint8_t crossingMode = CREATE_CROSSING_MODE_NONE, bool isTree = false); -std::unique_ptr MapCanConstructAt(const CoordsXYRangedZ& pos, QuarterTile bl); +[[nodiscard]] std::unique_ptr MapCanConstructAt(const CoordsXYRangedZ& pos, QuarterTile bl); struct tile_element_iterator { @@ -313,5 +312,3 @@ uint16_t check_max_allowable_land_rights_for_tile(const CoordsXYZ& tileMapPos); void FixLandOwnershipTiles(std::initializer_list tiles); void FixLandOwnershipTilesWithOwnership( std::initializer_list tiles, uint8_t ownership, bool doNotDowngrade = false); - -#endif diff --git a/src/openrct2/world/MapHelpers.h b/src/openrct2/world/MapHelpers.h index bfcc7af89f..a2097c8a0a 100644 --- a/src/openrct2/world/MapHelpers.h +++ b/src/openrct2/world/MapHelpers.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _MAP_HELPERS_H_ -#define _MAP_HELPERS_H_ +#pragma once #include "../common.h" @@ -22,5 +21,3 @@ enum int32_t map_smooth(int32_t l, int32_t t, int32_t r, int32_t b); int32_t tile_smooth(int32_t x, int32_t y); - -#endif diff --git a/src/openrct2/world/MoneyEffect.cpp b/src/openrct2/world/MoneyEffect.cpp index 149231c19d..e001459036 100644 --- a/src/openrct2/world/MoneyEffect.cpp +++ b/src/openrct2/world/MoneyEffect.cpp @@ -20,7 +20,7 @@ static constexpr const CoordsXY _moneyEffectMoveOffset[] = { { 1, -1 }, { 1, 1 }, { -1, 1 }, { -1, -1 } }; -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::MoneyEffect; } diff --git a/src/openrct2/world/MoneyEffect.h b/src/openrct2/world/MoneyEffect.h index bd48992c51..1ea4647135 100644 --- a/src/openrct2/world/MoneyEffect.h +++ b/src/openrct2/world/MoneyEffect.h @@ -9,7 +9,7 @@ #pragma once -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/Particle.cpp b/src/openrct2/world/Particle.cpp index 80d94b8765..9626b82802 100644 --- a/src/openrct2/world/Particle.cpp +++ b/src/openrct2/world/Particle.cpp @@ -15,12 +15,12 @@ #include -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::CrashedVehicleParticle; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::CrashSplash; } diff --git a/src/openrct2/world/Particle.h b/src/openrct2/world/Particle.h index 53ba024785..5eaa81b522 100644 --- a/src/openrct2/world/Particle.h +++ b/src/openrct2/world/Particle.h @@ -10,7 +10,7 @@ #pragma once #include "../ride/VehicleColour.h" -#include "SpriteBase.h" +#include "EntityBase.h" class DataSerialiser; struct CoordsXYZ; diff --git a/src/openrct2/world/Scenery.h b/src/openrct2/world/Scenery.h index 68d33120f3..faf5a58537 100644 --- a/src/openrct2/world/Scenery.h +++ b/src/openrct2/world/Scenery.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SCENERY_H_ -#define _SCENERY_H_ +#pragma once #include "../common.h" #include "../world/Location.hpp" @@ -300,5 +299,3 @@ std::vector& GetRestrictedScenery(); ObjectType GetObjectTypeFromSceneryType(uint8_t type); uint8_t GetSceneryTypeFromObjectType(ObjectType type); - -#endif diff --git a/src/openrct2/world/Sprite.cpp b/src/openrct2/world/Sprite.cpp index ee4d314569..77da8c9b15 100644 --- a/src/openrct2/world/Sprite.cpp +++ b/src/openrct2/world/Sprite.cpp @@ -44,7 +44,7 @@ constexpr const uint32_t SPATIAL_INDEX_LOCATION_NULL = SPATIAL_INDEX_SIZE - 1; static std::array, SPATIAL_INDEX_SIZE> gSpriteSpatialIndex; -static void FreeEntity(SpriteBase& entity); +static void FreeEntity(EntityBase& entity); constexpr size_t GetSpatialIndexOffset(int32_t x, int32_t y) { @@ -67,12 +67,12 @@ constexpr size_t GetSpatialIndexOffset(int32_t x, int32_t y) } // Required for GetEntity to return a default -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return true; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::Litter; } @@ -96,22 +96,22 @@ constexpr bool EntityTypeIsMiscEntity(const EntityType type) } } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return EntityTypeIsMiscEntity(Type); } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::SteamParticle; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::ExplosionFlare; } -template<> bool SpriteBase::Is() const +template<> bool EntityBase::Is() const { return Type == EntityType::ExplosionCloud; } @@ -141,12 +141,12 @@ std::string rct_sprite_checksum::ToString() const return result; } -SpriteBase* try_get_sprite(size_t spriteIndex) +EntityBase* try_get_sprite(size_t spriteIndex) { return spriteIndex >= MAX_ENTITIES ? nullptr : &_spriteList[spriteIndex].base; } -SpriteBase* get_sprite(size_t spriteIndex) +EntityBase* get_sprite(size_t spriteIndex) { if (spriteIndex == SPRITE_INDEX_NULL) { @@ -161,7 +161,7 @@ const std::vector& GetEntityTileList(const CoordsXY& spritePos) return gSpriteSpatialIndex[GetSpatialIndexOffset(spritePos.x, spritePos.y)]; } -void SpriteBase::Invalidate() +void EntityBase::Invalidate() { if (sprite_left == LOCATION_NULL) return; @@ -250,7 +250,7 @@ void reset_sprite_list() reset_sprite_spatial_index(); } -static void SpriteSpatialInsert(SpriteBase* sprite, const CoordsXY& newLoc); +static void SpriteSpatialInsert(EntityBase* sprite, const CoordsXY& newLoc); /** * @@ -308,7 +308,7 @@ rct_sprite_checksum sprite_checksum() #endif // DISABLE_NETWORK -static void sprite_reset(SpriteBase* sprite) +static void sprite_reset(EntityBase* sprite) { // Need to retain how the sprite is linked in lists uint16_t sprite_index = sprite->sprite_index; @@ -321,7 +321,7 @@ static void sprite_reset(SpriteBase* sprite) } static constexpr uint16_t MAX_MISC_SPRITES = 300; -static void AddToEntityList(SpriteBase* entity) +static void AddToEntityList(EntityBase* entity) { auto& list = gEntityLists[EnumValue(entity->Type)]; // Entity list must be in sprite_index order to prevent desync issues @@ -334,7 +334,7 @@ static void AddToFreeList(uint16_t index) _freeIdList.insert(std::upper_bound(std::rbegin(_freeIdList), std::rend(_freeIdList), index).base(), index); } -static void RemoveFromEntityList(SpriteBase* entity) +static void RemoveFromEntityList(EntityBase* entity) { auto& list = gEntityLists[EnumValue(entity->Type)]; auto ptr = std::lower_bound(std::begin(list), std::end(list), entity->sprite_index); @@ -356,7 +356,7 @@ uint16_t GetMiscEntityCount() return count; } -static void PrepareNewEntity(SpriteBase* base, const EntityType type) +static void PrepareNewEntity(EntityBase* base, const EntityType type) { // Need to reset all sprite data, as the uninitialised values // may contain garbage and cause a desync later on. @@ -376,7 +376,7 @@ static void PrepareNewEntity(SpriteBase* base, const EntityType type) SpriteSpatialInsert(base, { LOCATION_NULL, 0 }); } -SpriteBase* CreateEntity(EntityType type) +EntityBase* CreateEntity(EntityType type) { if (_freeIdList.size() == 0) { @@ -408,7 +408,7 @@ SpriteBase* CreateEntity(EntityType type) return entity; } -SpriteBase* CreateEntityAt(const uint16_t index, const EntityType type) +EntityBase* CreateEntityAt(const uint16_t index, const EntityType type) { auto id = std::lower_bound(std::rbegin(_freeIdList), std::rend(_freeIdList), index); if (id == std::rend(_freeIdList) || *id != index) @@ -453,7 +453,7 @@ void sprite_misc_update_all() } // Performs a search to ensure that insert keeps next_in_quadrant in sprite_index order -static void SpriteSpatialInsert(SpriteBase* sprite, const CoordsXY& newLoc) +static void SpriteSpatialInsert(EntityBase* sprite, const CoordsXY& newLoc) { size_t newIndex = GetSpatialIndexOffset(newLoc.x, newLoc.y); auto& spatialVector = gSpriteSpatialIndex[newIndex]; @@ -461,7 +461,7 @@ static void SpriteSpatialInsert(SpriteBase* sprite, const CoordsXY& newLoc) spatialVector.insert(index, sprite->sprite_index); } -static void SpriteSpatialRemove(SpriteBase* sprite) +static void SpriteSpatialRemove(EntityBase* sprite) { size_t currentIndex = GetSpatialIndexOffset(sprite->x, sprite->y); auto& spatialVector = gSpriteSpatialIndex[currentIndex]; @@ -477,7 +477,7 @@ static void SpriteSpatialRemove(SpriteBase* sprite) } } -static void SpriteSpatialMove(SpriteBase* sprite, const CoordsXY& newLoc) +static void SpriteSpatialMove(EntityBase* sprite, const CoordsXY& newLoc) { size_t newIndex = GetSpatialIndexOffset(newLoc.x, newLoc.y); size_t currentIndex = GetSpatialIndexOffset(sprite->x, sprite->y); @@ -488,7 +488,7 @@ static void SpriteSpatialMove(SpriteBase* sprite, const CoordsXY& newLoc) SpriteSpatialInsert(sprite, newLoc); } -void SpriteBase::MoveTo(const CoordsXYZ& newLocation) +void EntityBase::MoveTo(const CoordsXYZ& newLocation) { if (x != LOCATION_NULL) { @@ -518,19 +518,19 @@ void SpriteBase::MoveTo(const CoordsXYZ& newLocation) } } -CoordsXYZ SpriteBase::GetLocation() const +CoordsXYZ EntityBase::GetLocation() const { return { x, y, z }; } -void SpriteBase::SetLocation(const CoordsXYZ& newLocation) +void EntityBase::SetLocation(const CoordsXYZ& newLocation) { x = static_cast(newLocation.x); y = static_cast(newLocation.y); z = static_cast(newLocation.z); } -void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite) +void sprite_set_coordinates(const CoordsXYZ& spritePos, EntityBase* sprite) { auto screenCoords = translate_3d_to_2d_with_z(get_current_rotation(), spritePos); @@ -546,7 +546,7 @@ void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite) /** * Frees any dynamically attached memory to the entity, such as peep name. */ -static void FreeEntity(SpriteBase& entity) +static void FreeEntity(EntityBase& entity) { auto* guest = entity.As(); auto* staff = entity.As(); @@ -567,7 +567,7 @@ static void FreeEntity(SpriteBase& entity) * * rct2: 0x0069EDB6 */ -void sprite_remove(SpriteBase* sprite) +void sprite_remove(EntityBase* sprite) { FreeEntity(*sprite); @@ -607,13 +607,13 @@ uint16_t remove_floating_sprites() return removed; } -void sprite_set_flashing(SpriteBase* sprite, bool flashing) +void sprite_set_flashing(EntityBase* sprite, bool flashing) { assert(sprite->sprite_index < MAX_ENTITIES); _spriteFlashingList[sprite->sprite_index] = flashing; } -bool sprite_get_flashing(SpriteBase* sprite) +bool sprite_get_flashing(EntityBase* sprite) { assert(sprite->sprite_index < MAX_ENTITIES); return _spriteFlashingList[sprite->sprite_index]; diff --git a/src/openrct2/world/Sprite.h b/src/openrct2/world/Sprite.h index 6ac0545b30..3438888ea6 100644 --- a/src/openrct2/world/Sprite.h +++ b/src/openrct2/world/Sprite.h @@ -7,11 +7,10 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _SPRITE_H_ -#define _SPRITE_H_ +#pragma once #include "../common.h" -#include "SpriteBase.h" +#include "EntityBase.h" #include @@ -23,7 +22,7 @@ union rct_sprite { uint8_t pad_00[0x200]; - SpriteBase base; + EntityBase base; }; assert_struct_size(rct_sprite, 0x200); @@ -39,13 +38,11 @@ struct rct_sprite_checksum void reset_sprite_list(); void reset_sprite_spatial_index(); void sprite_misc_update_all(); -void sprite_set_coordinates(const CoordsXYZ& spritePos, SpriteBase* sprite); -void sprite_remove(SpriteBase* sprite); +void sprite_set_coordinates(const CoordsXYZ& spritePos, EntityBase* sprite); +void sprite_remove(EntityBase* sprite); uint16_t remove_floating_sprites(); rct_sprite_checksum sprite_checksum(); -void sprite_set_flashing(SpriteBase* sprite, bool flashing); -bool sprite_get_flashing(SpriteBase* sprite); - -#endif +void sprite_set_flashing(EntityBase* sprite, bool flashing); +bool sprite_get_flashing(EntityBase* sprite); diff --git a/src/openrct2/world/TileElementsView.h b/src/openrct2/world/TileElementsView.h index d43e995999..5a357db762 100644 --- a/src/openrct2/world/TileElementsView.h +++ b/src/openrct2/world/TileElementsView.h @@ -1,4 +1,4 @@ -/***************************************************************************** +/***************************************************************************** * Copyright (c) 2014-2021 OpenRCT2 developers * * For a complete list of all authors, please refer to contributors.md diff --git a/src/openrct2/world/Water.h b/src/openrct2/world/Water.h index ef1af4da04..77943a7c03 100644 --- a/src/openrct2/world/Water.h +++ b/src/openrct2/world/Water.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _WATER_H_ -#define _WATER_H_ +#pragma once #include "../common.h" @@ -28,5 +27,3 @@ struct rct_water_type }; assert_struct_size(rct_water_type, 16); #pragma pack(pop) - -#endif diff --git a/test/testpaint/Addresses.h b/test/testpaint/Addresses.h index 6d71cfa890..8db772bf4c 100644 --- a/test/testpaint/Addresses.h +++ b/test/testpaint/Addresses.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _ADDRESSES_H_ -#define _ADDRESSES_H_ +#pragma once #include @@ -41,5 +40,3 @@ */ int32_t RCT2_CALLPROC_X( int32_t address, int32_t _eax, int32_t _ebx, int32_t _ecx, int32_t _edx, int32_t _esi, int32_t _edi, int32_t _ebp); - -#endif diff --git a/test/testpaint/Data.h b/test/testpaint/Data.h index cb7feebffe..74717d403d 100644 --- a/test/testpaint/Data.h +++ b/test/testpaint/Data.h @@ -7,8 +7,7 @@ * OpenRCT2 is licensed under the GNU General Public License version 3. *****************************************************************************/ -#ifndef _TEST_PAINT_DATA_H_ -#define _TEST_PAINT_DATA_H_ +#pragma once #include #include @@ -20,5 +19,3 @@ extern const utf8string TrackElemNames[256]; extern const utf8string RideCodeNames[RCT2_RIDE_TYPE_COUNT]; extern const utf8string TrackCodeNames[256]; extern const uint32_t* RideTypeTrackPaintFunctionsOld[RCT2_RIDE_TYPE_COUNT]; - -#endif // #endif _TEST_PAINT_DATA_H_ diff --git a/test/tests/LanguagePackTest.cpp b/test/tests/LanguagePackTest.cpp index b6b3a0206f..d3a969e521 100644 --- a/test/tests/LanguagePackTest.cpp +++ b/test/tests/LanguagePackTest.cpp @@ -23,27 +23,25 @@ protected: TEST_F(LanguagePackTest, create_empty) { - ILanguagePack* empty = LanguagePackFactory::FromText(0, ""); + auto empty = LanguagePackFactory::FromText(0, ""); ASSERT_EQ(empty->GetId(), 0); ASSERT_EQ(empty->GetCount(), 0U); - delete empty; } TEST_F(LanguagePackTest, create_mutable_id_1) { - ILanguagePack* lang = LanguagePackFactory::FromText(1, "STR_0000:\n"); + auto lang = LanguagePackFactory::FromText(1, "STR_0000:\n"); ASSERT_EQ(lang->GetId(), 1); ASSERT_EQ(lang->GetCount(), 1U); ASSERT_STREQ(lang->GetString(0), nullptr); lang->SetString(0, "xx"); ASSERT_EQ(lang->GetCount(), 1U); ASSERT_STREQ(lang->GetString(0), "xx"); - delete lang; } TEST_F(LanguagePackTest, language_pack_simple) { - ILanguagePack* lang = LanguagePackFactory::FromText(0, LanguageEnGB); + auto lang = LanguagePackFactory::FromText(0, LanguageEnGB); ASSERT_EQ(lang->GetId(), 0); ASSERT_EQ(lang->GetCount(), 4U); ASSERT_STREQ(lang->GetString(2), "Spiral Roller Coaster"); @@ -55,12 +53,11 @@ TEST_F(LanguagePackTest, language_pack_simple) ASSERT_EQ(lang->GetString(1000), nullptr); ASSERT_EQ(lang->GetScenarioOverrideStringId("No such park", 0), STR_NONE); ASSERT_EQ(lang->GetObjectOverrideStringId(" ", 0), STR_NONE); - delete lang; } TEST_F(LanguagePackTest, language_pack_multibyte) { - ILanguagePack* lang = LanguagePackFactory::FromText(0, (const utf8*)LanguageZhTW); + auto lang = LanguagePackFactory::FromText(0, (const utf8*)LanguageZhTW); ASSERT_EQ(lang->GetId(), 0); ASSERT_EQ(lang->GetCount(), 4U); ASSERT_STREQ(lang->GetString(2), u8"懸吊式雲霄飛車"); @@ -70,7 +67,6 @@ TEST_F(LanguagePackTest, language_pack_multibyte) ASSERT_STREQ(lang->GetString(0x7002), u8"在隱藏於森林深處的清空範圍中, 建造一個很受歡迎的樂園"); ASSERT_EQ(lang->GetObjectOverrideStringId("CONDORRD", 0), 0x6000); ASSERT_STREQ(lang->GetString(0x6000), u8"神鷹暢遊"); - delete lang; } const utf8* LanguagePackTest::LanguageEnGB = "# STR_XXXX part is read and XXXX becomes the string id number.\n" diff --git a/test/tests/sawyercoding_test.cpp b/test/tests/sawyercoding_test.cpp index 1a72af0ddb..c449699192 100644 --- a/test/tests/sawyercoding_test.cpp +++ b/test/tests/sawyercoding_test.cpp @@ -118,56 +118,64 @@ TEST_F(SawyerCodingTest, invalid1) { OpenRCT2::MemoryStream ms(invalid1, sizeof(invalid1)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid2) { OpenRCT2::MemoryStream ms(invalid2, sizeof(invalid2)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid3) { OpenRCT2::MemoryStream ms(invalid3, sizeof(invalid3)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid4) { OpenRCT2::MemoryStream ms(invalid4, sizeof(invalid4)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid5) { OpenRCT2::MemoryStream ms(invalid5, sizeof(invalid5)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid6) { OpenRCT2::MemoryStream ms(invalid6, sizeof(invalid6)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, invalid7) { OpenRCT2::MemoryStream ms(invalid7, sizeof(invalid7)); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), SawyerChunkException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), SawyerChunkException); } TEST_F(SawyerCodingTest, empty) { OpenRCT2::MemoryStream ms(empty, 0); SawyerChunkReader reader(&ms); - EXPECT_THROW(reader.ReadChunk(), IOException); + std::shared_ptr ptr; + EXPECT_THROW(ptr = reader.ReadChunk(), IOException); } // 1024 bytes of random data