diff --git a/src/newgrf_internal.h b/src/newgrf_internal.h index 2121263f72..b4ada3532d 100644 --- a/src/newgrf_internal.h +++ b/src/newgrf_internal.h @@ -284,6 +284,20 @@ struct VarAction2AdjustInfo { uint8_t varsize; }; +struct DeterministicSpriteGroupShadowCopy { + std::vector adjusts; + std::vector ranges; + const SpriteGroup *default_group; + bool calculated_result; +}; + +struct RandomizedSpriteGroupShadowCopy { + std::vector groups; +}; + +extern robin_hood::unordered_node_map _deterministic_sg_shadows; +extern robin_hood::unordered_flat_map _randomized_sg_shadows; + const SpriteGroup *PruneTargetSpriteGroup(const SpriteGroup *result); void OptimiseVarAction2Adjust(VarAction2OptimiseState &state, const VarAction2AdjustInfo info, DeterministicSpriteGroup *group, DeterministicSpriteGroupAdjust &adjust); void OptimiseVarAction2DeterministicSpriteGroup(VarAction2OptimiseState &state, const VarAction2AdjustInfo info, DeterministicSpriteGroup *group, std::vector &saved_adjusts); diff --git a/src/newgrf_spritegroup.cpp b/src/newgrf_spritegroup.cpp index f385d5805b..1c46180f01 100644 --- a/src/newgrf_spritegroup.cpp +++ b/src/newgrf_spritegroup.cpp @@ -10,6 +10,7 @@ #include "stdafx.h" #include "debug.h" #include "newgrf_spritegroup.h" +#include "newgrf_internal.h" #include "newgrf_profiling.h" #include "core/pool_func.hpp" #include "vehicle_type.h" diff --git a/src/newgrf_spritegroup.h b/src/newgrf_spritegroup.h index 1d663f9ce9..a5d0056bd0 100644 --- a/src/newgrf_spritegroup.h +++ b/src/newgrf_spritegroup.h @@ -483,13 +483,6 @@ enum DeterministicSpriteGroupFlags : uint8_t { }; DECLARE_ENUM_AS_BIT_SET(DeterministicSpriteGroupFlags) -struct DeterministicSpriteGroupShadowCopy { - std::vector adjusts; - std::vector ranges; - const SpriteGroup *default_group; - bool calculated_result; -}; - struct DeterministicSpriteGroup : SpriteGroup { DeterministicSpriteGroup() : SpriteGroup(SGT_DETERMINISTIC) {} @@ -518,10 +511,6 @@ enum RandomizedSpriteGroupCompareMode : uint8_t { RSG_CMP_ALL, }; -struct RandomizedSpriteGroupShadowCopy { - std::vector groups; -}; - struct RandomizedSpriteGroup : SpriteGroup { RandomizedSpriteGroup() : SpriteGroup(SGT_RANDOMIZED) {} @@ -541,8 +530,6 @@ protected: const SpriteGroup *Resolve(ResolverObject &object) const override; }; -extern robin_hood::unordered_node_map _deterministic_sg_shadows; -extern robin_hood::unordered_flat_map _randomized_sg_shadows; extern bool _grfs_loaded_with_sg_shadow_enable; /* This contains a callback result. A failed callback has a value of