2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-11 07:07:42 +00:00

IAnimReader: Make use of size_t for capacity and iterators

Allows using container sizes and capacities without needing to cast
them, allowing for dehardcoding of array sizes in some scenarios.
This commit is contained in:
Lioncash
2020-04-10 17:18:09 -04:00
parent 89e2e65100
commit 72370910ad
21 changed files with 296 additions and 247 deletions

View File

@@ -114,14 +114,14 @@ public:
virtual bool VHasOffset(const CSegId& seg) const = 0;
virtual zeus::CVector3f VGetOffset(const CSegId& seg) const = 0;
virtual zeus::CQuaternion VGetRotation(const CSegId& seg) const = 0;
virtual u32 VGetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, u32 capacity, u32 iterator,
u32) const = 0;
virtual u32 VGetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, u32 capacity, u32 iterator,
u32) const = 0;
virtual u32 VGetParticlePOIList(const CCharAnimTime& time, CParticlePOINode* listOut, u32 capacity, u32 iterator,
virtual size_t VGetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, size_t capacity, size_t iterator,
u32) const = 0;
virtual size_t VGetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, size_t capacity, size_t iterator,
u32) const = 0;
virtual size_t VGetParticlePOIList(const CCharAnimTime& time, CParticlePOINode* listOut, size_t capacity, size_t iterator,
u32) const = 0;
virtual size_t VGetSoundPOIList(const CCharAnimTime& time, CSoundPOINode* listOut, size_t capacity, size_t iterator,
u32) const = 0;
virtual u32 VGetSoundPOIList(const CCharAnimTime& time, CSoundPOINode* listOut, u32 capacity, u32 iterator,
u32) const = 0;
virtual bool VGetBoolPOIState(std::string_view name) const = 0;
virtual s32 VGetInt32POIState(std::string_view name) const = 0;
virtual CParticleData::EParentedMode VGetParticlePOIState(std::string_view name) const = 0;
@@ -133,10 +133,13 @@ public:
virtual void VSetPhase(float) = 0;
virtual SAdvancementResults VGetAdvancementResults(const CCharAnimTime& a, const CCharAnimTime& b) const;
u32 GetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, u32 capacity, u32 iterator, u32) const;
u32 GetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, u32 capacity, u32 iterator, u32) const;
u32 GetParticlePOIList(const CCharAnimTime& time, CParticlePOINode* listOut, u32 capacity, u32 iterator, u32) const;
u32 GetSoundPOIList(const CCharAnimTime& time, CSoundPOINode* listOut, u32 capacity, u32 iterator, u32) const;
size_t GetBoolPOIList(const CCharAnimTime& time, CBoolPOINode* listOut, size_t capacity, size_t iterator, u32) const;
size_t GetInt32POIList(const CCharAnimTime& time, CInt32POINode* listOut, size_t capacity, size_t iterator,
u32) const;
size_t GetParticlePOIList(const CCharAnimTime& time, CParticlePOINode* listOut, size_t capacity, size_t iterator,
u32) const;
size_t GetSoundPOIList(const CCharAnimTime& time, CSoundPOINode* listOut, size_t capacity, size_t iterator,
u32) const;
std::optional<std::unique_ptr<IAnimReader>> Simplified() { return VSimplified(); }