diff --git a/game/gametypes.h b/game/gametypes.h index 47dd9ab..903ac9a 100644 --- a/game/gametypes.h +++ b/game/gametypes.h @@ -1,6 +1,8 @@ #ifndef _GAME_TYPES_H_ #define _GAME_TYPES_H_ +#include // std::numeric_limits + // Type for a team IDs typedef unsigned short team_id_t; @@ -16,4 +18,11 @@ typedef char unitType_c; // Typedef for unit visual representations typedef char unitVis_c; +// Invalid data for above types +static const team_id_t team_id_invalid = std::numeric_limits::max(); +static const player_id_t player_id_invalid = std::numeric_limits::max(); +static const unit_id_t unit_id_invalid = std::numeric_limits::max(); +static const unitType_c unitType_invalid = std::numeric_limits::max(); +static const unitVis_c unitVis_invalid = std::numeric_limits::max(); + #endif //_GAME_TYPES_H_ \ No newline at end of file diff --git a/maths/mathtypes.h b/maths/mathtypes.h index 8dfdd5f..ab1e0eb 100644 --- a/maths/mathtypes.h +++ b/maths/mathtypes.h @@ -1,10 +1,16 @@ #ifndef _BASETYPES_H_ #define _BASETYPES_H_ +#include // std::numeric_limits + // Coordinate types typedef short coord_t; typedef unsigned short ucoord_t; +// Invalid values +static const coord_t coord_invalid = std::numeric_limits::max(); +static const ucoord_t ucoord_invalid = std::numeric_limits::max(); + // Direction representation enum dir_t : char {