diff options
-rw-r--r-- | src/object_cmd.cpp | 3 | ||||
-rw-r--r-- | src/object_type.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/object_cmd.cpp b/src/object_cmd.cpp index e6100c78d..59fc3f5c4 100644 --- a/src/object_cmd.cpp +++ b/src/object_cmd.cpp @@ -205,7 +205,8 @@ CommandCost CmdBuildObject(TileIndex tile, DoCommandFlag flags, uint32 p1, uint3 { CommandCost cost(EXPENSES_PROPERTY); - ObjectType type = (ObjectType)GB(p1, 0, 8); + ObjectType type = (ObjectType)GB(p1, 0, 16); + if (type >= NUM_OBJECTS) return CMD_ERROR; uint8 view = GB(p2, 0, 2); const ObjectSpec *spec = ObjectSpec::Get(type); if (!spec->IsAvailable()) return CMD_ERROR; diff --git a/src/object_type.h b/src/object_type.h index 9716b360e..1ebb24d53 100644 --- a/src/object_type.h +++ b/src/object_type.h @@ -24,7 +24,7 @@ static const ObjectType OBJECT_HQ = 4; ///< HeadQuarter of a play static const ObjectType NUM_OBJECTS_PER_GRF = 255; ///< Number of supported objects per NewGRF; limited to 255 to allow extending Action3 with an extended byte later on. static const ObjectType NEW_OBJECT_OFFSET = 5; ///< Offset for new objects -static const ObjectType NUM_OBJECTS = 256; ///< Number of supported objects overall +static const ObjectType NUM_OBJECTS = 64000; ///< Number of supported objects overall static const ObjectType INVALID_OBJECT_TYPE = 0xFFFF; ///< An invalid object /** Unique identifier for an object. */ |