VarAction2: Add quick exit case to last-level callback groups if possible
This commit is contained in:
@@ -5539,10 +5539,8 @@ static void SkipAct1(ByteReader *buf)
|
||||
grfmsg(3, "SkipAct1: Skipping %d sprites", _cur.skip_sprites);
|
||||
}
|
||||
|
||||
static const CallbackResultSpriteGroup *NewCallbackResultSpriteGroup(uint16 groupid)
|
||||
const CallbackResultSpriteGroup *NewCallbackResultSpriteGroupNoTransform(uint16 result)
|
||||
{
|
||||
uint16 result = CallbackResultSpriteGroup::TransformResultValue(groupid, _cur.grffile->grf_version >= 8);
|
||||
|
||||
const CallbackResultSpriteGroup *&ptr = _callback_result_cache[result];
|
||||
if (ptr == nullptr) {
|
||||
assert(CallbackResultSpriteGroup::CanAllocateItem());
|
||||
@@ -5551,6 +5549,12 @@ static const CallbackResultSpriteGroup *NewCallbackResultSpriteGroup(uint16 grou
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static const CallbackResultSpriteGroup *NewCallbackResultSpriteGroup(uint16 groupid)
|
||||
{
|
||||
uint16 result = CallbackResultSpriteGroup::TransformResultValue(groupid, _cur.grffile->grf_version >= 8);
|
||||
return NewCallbackResultSpriteGroupNoTransform(result);
|
||||
}
|
||||
|
||||
/* Helper function to either create a callback or link to a previously
|
||||
* defined spritegroup. */
|
||||
static const SpriteGroup *GetGroupFromGroupID(byte setid, byte type, uint16 groupid)
|
||||
|
Reference in New Issue
Block a user