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:
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user