VarAction2: Fix callback analysis through real sprite groups

See: #618
This commit is contained in:
Jonathan G Rennison
2023-12-17 13:57:24 +00:00
parent 5f08bde936
commit d793da4034
2 changed files with 12 additions and 0 deletions

View File

@@ -321,3 +321,13 @@ void RandomizedSpriteGroup::AnalyseCallbacks(AnalyseCallbackOperation &op) const
if (group != nullptr) group->AnalyseCallbacks(op); if (group != nullptr) group->AnalyseCallbacks(op);
} }
} }
void RealSpriteGroup::AnalyseCallbacks(AnalyseCallbackOperation &op) const
{
for (const SpriteGroup *group: this->loaded) {
if (group != nullptr) group->AnalyseCallbacks(op);
}
for (const SpriteGroup *group: this->loading) {
if (group != nullptr) group->AnalyseCallbacks(op);
}
}

View File

@@ -106,6 +106,8 @@ struct RealSpriteGroup : SpriteGroup {
std::vector<const SpriteGroup *> loaded; ///< List of loaded groups (can be SpriteIDs or Callback results) std::vector<const SpriteGroup *> loaded; ///< List of loaded groups (can be SpriteIDs or Callback results)
std::vector<const SpriteGroup *> loading; ///< List of loading groups (can be SpriteIDs or Callback results) std::vector<const SpriteGroup *> loading; ///< List of loading groups (can be SpriteIDs or Callback results)
void AnalyseCallbacks(AnalyseCallbackOperation &op) const override;
protected: protected:
const SpriteGroup *Resolve(ResolverObject &object) const override; const SpriteGroup *Resolve(ResolverObject &object) const override;
}; };