1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 05:23:04 +01:00

Repaint works with large scenery and walls

This commit is contained in:
Trevor Finney
2023-02-20 20:04:56 -05:00
parent 312a1590ab
commit 4faa8fe78f
3 changed files with 8 additions and 7 deletions

View File

@@ -67,7 +67,8 @@ GameActions::Result LargeSceneryPlaceAction::Query() const
money64 supportsCost = 0;
if (_primaryColour >= COLOUR_COUNT || _secondaryColour >= COLOUR_COUNT || _tertiaryColour >= COLOUR_COUNT)
if (_primaryColour >= PALETTE_TOTAL_OFFSETS || _secondaryColour >= PALETTE_TOTAL_OFFSETS
|| _tertiaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR(
"Invalid game command for scenery placement, primaryColour = %u, secondaryColour = %u", _primaryColour,

View File

@@ -72,19 +72,19 @@ GameActions::Result LargeScenerySetColourAction::QueryExecute(bool isExecuting)
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);
}
if (_primaryColour >= COLOUR_COUNT)
if (_primaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR("Invalid primary colour: colour = %u", _primaryColour);
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);
}
if (_secondaryColour >= COLOUR_COUNT)
if (_secondaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR("Invalid secondary colour: colour = %u", _secondaryColour);
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);
}
if (_tertiaryColour >= COLOUR_COUNT)
if (_tertiaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR("Invalid tertiary colour: colour = %u", _tertiaryColour);
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);

View File

@@ -88,13 +88,13 @@ GameActions::Result WallSetColourAction::Query() const
return GameActions::Result(GameActions::Status::Unknown, STR_CANT_REPAINT_THIS, STR_NONE);
}
if (_primaryColour > 31)
if (_primaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR("Primary colour invalid: colour = %d", _primaryColour);
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);
}
if (_secondaryColour > 31)
if (_secondaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR("Secondary colour invalid: colour = %d", _secondaryColour);
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);
@@ -102,7 +102,7 @@ GameActions::Result WallSetColourAction::Query() const
if (wallEntry->flags & WALL_SCENERY_HAS_TERTIARY_COLOUR)
{
if (_tertiaryColour > 31)
if (_tertiaryColour >= PALETTE_TOTAL_OFFSETS)
{
LOG_ERROR("Tertiary colour invalid: colour = %d", _tertiaryColour);
return GameActions::Result(GameActions::Status::InvalidParameters, STR_CANT_REPAINT_THIS, STR_NONE);