mirror of https://github.com/OpenTTD/OpenTTD
(svn r26387) -Cleanup (r26173): No need to manually clear registers before resolving.
parent
363d5e8205
commit
b935cb8415
|
@ -33,17 +33,6 @@ static inline uint32 GetRegister(uint i)
|
||||||
return _temp_store.GetValue(i);
|
return _temp_store.GetValue(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Clears the value of a so-called newgrf "register".
|
|
||||||
* @param i index of the register
|
|
||||||
* @pre i < 0x110
|
|
||||||
*/
|
|
||||||
static inline void ClearRegister(uint i)
|
|
||||||
{
|
|
||||||
extern TemporaryStorageArray<int32, 0x110> _temp_store;
|
|
||||||
_temp_store.StoreValue(i, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* List of different sprite group types */
|
/* List of different sprite group types */
|
||||||
enum SpriteGroupType {
|
enum SpriteGroupType {
|
||||||
SGT_REAL,
|
SGT_REAL,
|
||||||
|
|
|
@ -637,9 +637,10 @@ SpriteID GetCustomStationFoundationRelocation(const StationSpec *statspec, BaseS
|
||||||
/* callback_param1 == 2 means we are resolving the foundation sprites. */
|
/* callback_param1 == 2 means we are resolving the foundation sprites. */
|
||||||
StationResolverObject object(statspec, st, tile, CBID_NO_CALLBACK, 2, layout | (edge_info << 16));
|
StationResolverObject object(statspec, st, tile, CBID_NO_CALLBACK, 2, layout | (edge_info << 16));
|
||||||
|
|
||||||
ClearRegister(0x100);
|
|
||||||
const SpriteGroup *group = ResolveStation(object);
|
const SpriteGroup *group = ResolveStation(object);
|
||||||
if (group == NULL || group->type != SGT_RESULT) return 0;
|
if (group == NULL || group->type != SGT_RESULT) return 0;
|
||||||
|
|
||||||
|
/* Note: SpriteGroup::Resolve zeroes all registers, so register 0x100 is initialised to 0. (compatibility) */
|
||||||
return group->GetResult() + GetRegister(0x100);
|
return group->GetResult() + GetRegister(0x100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue