mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-06-25 14:40:10 +01:00
(svn r12358) -Fix: Callback 2F returns 15 bit results starting from grf version 7.
This commit is contained in:
parent
51bbf0c84f
commit
ec59843136
@ -275,7 +275,7 @@ bool PerformIndustryTileSlopeCheck(TileIndex ind_base_tile, TileIndex ind_tile,
|
|||||||
return !IsSlopeRefused(GetTileSlope(ind_tile, NULL), its->slopes_refused);
|
return !IsSlopeRefused(GetTileSlope(ind_tile, NULL), its->slopes_refused);
|
||||||
}
|
}
|
||||||
if (its->grf_prop.grffile->grf_version < 7) {
|
if (its->grf_prop.grffile->grf_version < 7) {
|
||||||
return callback_res != 0;
|
return (callback_res & 0xFF) != 0; // mask to 8 bit callback result
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Copy some parameters from the registers to the error message text ref. stack */
|
/* Copy some parameters from the registers to the error message text ref. stack */
|
||||||
|
@ -83,7 +83,7 @@ TemporaryStorageArray<uint32, 0x110> _temp_store;
|
|||||||
static inline bool Is8BitCallback(const ResolverObject *object)
|
static inline bool Is8BitCallback(const ResolverObject *object)
|
||||||
{
|
{
|
||||||
/* Var 0x7E procedure results are always 15 bit */
|
/* Var 0x7E procedure results are always 15 bit */
|
||||||
if (object == NULL | object->procedure_call) return false;
|
if (object == NULL || object->procedure_call) return false;
|
||||||
|
|
||||||
switch (object->callback) {
|
switch (object->callback) {
|
||||||
/* All these functions are 15 bit callbacks */
|
/* All these functions are 15 bit callbacks */
|
||||||
@ -96,6 +96,7 @@ static inline bool Is8BitCallback(const ResolverObject *object)
|
|||||||
case CBID_INDTILE_ACCEPT_CARGO:
|
case CBID_INDTILE_ACCEPT_CARGO:
|
||||||
case CBID_VEHICLE_COLOUR_MAPPING:
|
case CBID_VEHICLE_COLOUR_MAPPING:
|
||||||
case CBID_HOUSE_PRODUCE_CARGO:
|
case CBID_HOUSE_PRODUCE_CARGO:
|
||||||
|
case CBID_INDTILE_SHAPE_CHECK: // depends on grf version, masked to 8 bit in PerformIndustryTileSlopeCheck() if needed
|
||||||
case CBID_VEHICLE_SOUND_EFFECT:
|
case CBID_VEHICLE_SOUND_EFFECT:
|
||||||
case CBID_VEHICLE_MODIFY_PROPERTY: // depends on queried property
|
case CBID_VEHICLE_MODIFY_PROPERTY: // depends on queried property
|
||||||
case CBID_CARGO_PROFIT_CALC:
|
case CBID_CARGO_PROFIT_CALC:
|
||||||
|
Loading…
Reference in New Issue
Block a user