mirror of https://github.com/OpenTTD/OpenTTD
(svn r23104) -Codechange: prepare the vehicle/sign z for some further changes to reduce casting
parent
a72544d5e1
commit
f01b3e2721
|
@ -993,7 +993,7 @@ static bool HandleCrashedAircraft(Aircraft *v)
|
||||||
|
|
||||||
/* make aircraft crash down to the ground */
|
/* make aircraft crash down to the ground */
|
||||||
if (v->crashed_counter < 500 && st == NULL && ((v->crashed_counter % 3) == 0) ) {
|
if (v->crashed_counter < 500 && st == NULL && ((v->crashed_counter % 3) == 0) ) {
|
||||||
uint z = GetSlopePixelZ(v->x_pos, v->y_pos);
|
int z = GetSlopePixelZ(v->x_pos, v->y_pos);
|
||||||
v->z_pos -= 1;
|
v->z_pos -= 1;
|
||||||
if (v->z_pos == z) {
|
if (v->z_pos == z) {
|
||||||
v->crashed_counter = 500;
|
v->crashed_counter = 500;
|
||||||
|
|
|
@ -168,7 +168,7 @@ static void SetDisasterVehiclePos(DisasterVehicle *v, int x, int y, byte z)
|
||||||
int safe_y = Clamp(y - 1, 0, MapMaxY() * TILE_SIZE);
|
int safe_y = Clamp(y - 1, 0, MapMaxY() * TILE_SIZE);
|
||||||
|
|
||||||
u->x_pos = x;
|
u->x_pos = x;
|
||||||
u->y_pos = y - 1 - (max(z - GetSlopePixelZ(safe_x, safe_y), 0U) >> 3);
|
u->y_pos = y - 1 - (max(z - GetSlopePixelZ(safe_x, safe_y), 0) >> 3);
|
||||||
safe_y = Clamp(u->y_pos, 0, MapMaxY() * TILE_SIZE);
|
safe_y = Clamp(u->y_pos, 0, MapMaxY() * TILE_SIZE);
|
||||||
u->z_pos = GetSlopePixelZ(safe_x, safe_y);
|
u->z_pos = GetSlopePixelZ(safe_x, safe_y);
|
||||||
u->direction = v->direction;
|
u->direction = v->direction;
|
||||||
|
|
|
@ -274,7 +274,7 @@ uint GetPartialPixelZ(int x, int y, Slope corners)
|
||||||
return z;
|
return z;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint GetSlopePixelZ(int x, int y)
|
int GetSlopePixelZ(int x, int y)
|
||||||
{
|
{
|
||||||
TileIndex tile = TileVirtXY(x, y);
|
TileIndex tile = TileVirtXY(x, y);
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ int GetSlopeZInCorner(Slope tileh, Corner corner);
|
||||||
Slope GetFoundationSlope(TileIndex tile, uint *z = NULL);
|
Slope GetFoundationSlope(TileIndex tile, uint *z = NULL);
|
||||||
|
|
||||||
uint GetPartialPixelZ(int x, int y, Slope corners);
|
uint GetPartialPixelZ(int x, int y, Slope corners);
|
||||||
uint GetSlopePixelZ(int x, int y);
|
int GetSlopePixelZ(int x, int y);
|
||||||
void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2);
|
void GetSlopePixelZOnEdge(Slope tileh, DiagDirection edge, int *z1, int *z2);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1152,7 +1152,7 @@ static const OldChunks vehicle_chunk[] = {
|
||||||
|
|
||||||
OCL_SVAR( OC_FILE_U16 | OC_VAR_I32, Vehicle, x_pos ),
|
OCL_SVAR( OC_FILE_U16 | OC_VAR_I32, Vehicle, x_pos ),
|
||||||
OCL_SVAR( OC_FILE_U16 | OC_VAR_I32, Vehicle, y_pos ),
|
OCL_SVAR( OC_FILE_U16 | OC_VAR_I32, Vehicle, y_pos ),
|
||||||
OCL_SVAR( OC_UINT8, Vehicle, z_pos ),
|
OCL_SVAR( OC_FILE_U8 | OC_VAR_I32, Vehicle, z_pos ),
|
||||||
OCL_SVAR( OC_UINT8, Vehicle, direction ),
|
OCL_SVAR( OC_UINT8, Vehicle, direction ),
|
||||||
OCL_NULL( 2 ), ///< x_offs and y_offs, calculated automatically
|
OCL_NULL( 2 ), ///< x_offs and y_offs, calculated automatically
|
||||||
OCL_NULL( 2 ), ///< x_extent and y_extent, calculated automatically
|
OCL_NULL( 2 ), ///< x_extent and y_extent, calculated automatically
|
||||||
|
|
|
@ -16,14 +16,15 @@
|
||||||
|
|
||||||
/** Description of a sign within the savegame. */
|
/** Description of a sign within the savegame. */
|
||||||
static const SaveLoad _sign_desc[] = {
|
static const SaveLoad _sign_desc[] = {
|
||||||
SLE_CONDVAR(Sign, name, SLE_NAME, 0, 83),
|
SLE_CONDVAR(Sign, name, SLE_NAME, 0, 83),
|
||||||
SLE_CONDSTR(Sign, name, SLE_STR, 0, 84, SL_MAX_VERSION),
|
SLE_CONDSTR(Sign, name, SLE_STR, 0, 84, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Sign, x, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
SLE_CONDVAR(Sign, x, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
||||||
SLE_CONDVAR(Sign, y, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
SLE_CONDVAR(Sign, y, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
||||||
SLE_CONDVAR(Sign, x, SLE_INT32, 5, SL_MAX_VERSION),
|
SLE_CONDVAR(Sign, x, SLE_INT32, 5, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Sign, y, SLE_INT32, 5, SL_MAX_VERSION),
|
SLE_CONDVAR(Sign, y, SLE_INT32, 5, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Sign, owner, SLE_UINT8, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Sign, owner, SLE_UINT8, 6, SL_MAX_VERSION),
|
||||||
SLE_VAR(Sign, z, SLE_UINT8),
|
SLE_CONDVAR(Sign, z, SLE_FILE_U8 | SLE_VAR_I32, 0, 164),
|
||||||
|
SLE_CONDVAR(Sign, z, SLE_INT32, 164, SL_MAX_VERSION),
|
||||||
SLE_END()
|
SLE_END()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -481,7 +481,8 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
|
||||||
SLE_CONDVAR(Vehicle, x_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Vehicle, x_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||||
SLE_CONDVAR(Vehicle, y_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Vehicle, y_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
SLE_CONDVAR(Vehicle, z_pos, SLE_FILE_U8 | SLE_VAR_I32, 0, 164),
|
||||||
|
SLE_CONDVAR(Vehicle, z_pos, SLE_INT32, 164, SL_MAX_VERSION),
|
||||||
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
||||||
|
|
||||||
SLE_CONDNULL(2, 0, 57),
|
SLE_CONDNULL(2, 0, 57),
|
||||||
|
@ -676,7 +677,8 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
|
||||||
SLE_CONDVAR(Vehicle, x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Vehicle, x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||||
SLE_CONDVAR(Vehicle, y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Vehicle, y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
SLE_CONDVAR(Vehicle, z_pos, SLE_FILE_U8 | SLE_VAR_I32, 0, 164),
|
||||||
|
SLE_CONDVAR(Vehicle, z_pos, SLE_INT32, 164, SL_MAX_VERSION),
|
||||||
|
|
||||||
SLE_VAR(Vehicle, cur_image, SLE_FILE_U16 | SLE_VAR_U32),
|
SLE_VAR(Vehicle, cur_image, SLE_FILE_U16 | SLE_VAR_U32),
|
||||||
SLE_CONDNULL(5, 0, 57),
|
SLE_CONDNULL(5, 0, 57),
|
||||||
|
@ -708,7 +710,8 @@ const SaveLoad *GetVehicleDescription(VehicleType vt)
|
||||||
SLE_CONDVAR(Vehicle, x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Vehicle, x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||||
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||||
SLE_CONDVAR(Vehicle, y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Vehicle, y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
SLE_CONDVAR(Vehicle, z_pos, SLE_FILE_U8 | SLE_VAR_I32, 0, 164),
|
||||||
|
SLE_CONDVAR(Vehicle, z_pos, SLE_INT32, 164, SL_MAX_VERSION),
|
||||||
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
||||||
|
|
||||||
SLE_CONDNULL(5, 0, 57),
|
SLE_CONDNULL(5, 0, 57),
|
||||||
|
|
|
@ -25,7 +25,7 @@ struct Sign : SignPool::PoolItem<&_sign_pool> {
|
||||||
ViewportSign sign;
|
ViewportSign sign;
|
||||||
int32 x;
|
int32 x;
|
||||||
int32 y;
|
int32 y;
|
||||||
byte z;
|
int32 z;
|
||||||
OwnerByte owner; // placed by this company. Anyone can delete them though. OWNER_NONE for gray signs from old games.
|
OwnerByte owner; // placed by this company. Anyone can delete them though. OWNER_NONE for gray signs from old games.
|
||||||
|
|
||||||
Sign(Owner owner = INVALID_OWNER);
|
Sign(Owner owner = INVALID_OWNER);
|
||||||
|
|
|
@ -183,7 +183,7 @@ public:
|
||||||
|
|
||||||
int32 x_pos; ///< x coordinate.
|
int32 x_pos; ///< x coordinate.
|
||||||
int32 y_pos; ///< y coordinate.
|
int32 y_pos; ///< y coordinate.
|
||||||
byte z_pos; ///< z coordinate.
|
int32 z_pos; ///< z coordinate.
|
||||||
DirectionByte direction; ///< facing
|
DirectionByte direction; ///< facing
|
||||||
|
|
||||||
OwnerByte owner; ///< Which company owns the vehicle?
|
OwnerByte owner; ///< Which company owns the vehicle?
|
||||||
|
|
Loading…
Reference in New Issue