ksys/res: Add more LifeCondition functions

This commit is contained in:
Léo Lam 2020-10-04 15:39:04 +02:00
parent f19d229fa4
commit 99de7fa009
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
3 changed files with 35 additions and 24 deletions

View File

@ -85848,25 +85848,25 @@
0x0000007101099890,sub_7101099890,8,_ZThn632_NK4ksys3res4Drop10needsParseEv
0x0000007101099898,sub_7101099898,128,_ZThn664_N4ksys3res4DropD1Ev
0x0000007101099918,sub_7101099918,116,_ZThn664_N4ksys3res4DropD0Ev
0x0000007101099b00,nullsub_4471,4,
0x0000007101099b04,nullsub_4472,4,
0x0000007101099b00,nullsub_4471,4,_ZN4ksys3res13LifeCondition9doCreate_EPhjPN4sead4HeapE
0x0000007101099b04,nullsub_4472,4,_ZThn632_N4ksys3res13LifeCondition9doCreate_EPhjPN4sead4HeapE
0x0000007101099b08,Blifecondition::parse,1296,_ZN4ksys3res13LifeCondition6parse_EPhmPN4sead4HeapE?
0x000000710109a018,Blifecondition::parseArray,448,_ZN4ksys3res13LifeCondition10parseArrayEPKN3agl3utl15ResParameterObjEPNS3_13IParameterObjEPN4sead6BufferINS3_9ParameterINS9_14SafeStringBaseIcEEEEEERKSD_SI_PNS9_4HeapE
0x000000710109a1d8,ResourceBlifecondition::parse,28,_ZThn632_N4ksys3res13LifeCondition6parse_EPhmPN4sead4HeapE
0x000000710109a1f4,_ZNK3aal8ShapeMgr20isTemplateRegisteredERKN4sead14SafeStringBaseIcEE,280,
0x000000710109a30c,sub_710109A30C,156,
0x000000710109a3a8,sub_710109A3A8,144,
0x000000710109a438,sub_710109A438,8,
0x000000710109a440,sub_710109A440,8,
0x000000710109a448,sub_710109A448,92,
0x000000710109a4a4,sub_710109A4A4,8,
0x000000710109a4ac,sub_710109A4AC,8,
0x000000710109a4b4,sub_710109A4B4,92,
0x000000710109a510,sub_710109A510,152,
0x000000710109a5a8,sub_710109A5A8,140,
0x000000710109a634,ResourceBlifecondition::needsParse,8,
0x000000710109a63c,sub_710109A63C,160,
0x000000710109a6dc,sub_710109A6DC,148,
0x000000710109a30c,sub_710109A30C,156,_ZN4ksys3res13LifeConditionD2Ev
0x000000710109a3a8,sub_710109A3A8,144,_ZN4ksys3res13LifeConditionD0Ev
0x000000710109a438,sub_710109A438,8,_ZN4ksys3res13LifeCondition10ParamIO_m0Ev
0x000000710109a440,sub_710109A440,8,_ZNK4ksys3res13LifeCondition27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE?
0x000000710109a448,sub_710109A448,92,_ZNK4ksys3res13LifeCondition18getRuntimeTypeInfoEv
0x000000710109a4a4,sub_710109A4A4,8,_ZNK4ksys3res13LifeCondition10needsParseEv
0x000000710109a4ac,sub_710109A4AC,8,_ZThn632_NK4ksys3res13LifeCondition27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE?
0x000000710109a4b4,sub_710109A4B4,92,_ZThn632_NK4ksys3res13LifeCondition18getRuntimeTypeInfoEv
0x000000710109a510,sub_710109A510,152,_ZThn632_N4ksys3res13LifeConditionD1Ev
0x000000710109a5a8,sub_710109A5A8,140,_ZThn632_N4ksys3res13LifeConditionD0Ev
0x000000710109a634,ResourceBlifecondition::needsParse,8,_ZThn632_NK4ksys3res13LifeCondition10needsParseEv
0x000000710109a63c,sub_710109A63C,160,_ZThn664_N4ksys3res13LifeConditionD1Ev
0x000000710109a6dc,sub_710109A6DC,148,_ZThn664_N4ksys3res13LifeConditionD0Ev
0x000000710109a8e4,nullsub_4473,4,
0x000000710109a8e8,nullsub_4474,4,
0x000000710109a8ec,sub_710109A8EC,1460,
@ -88984,7 +88984,7 @@
0x000000710118466c,sub_710118466C,156,
0x0000007101184708,sub_7101184708,8,
0x0000007101184710,sub_7101184710,8,
0x0000007101184718,Blifecondition::ctor,436,
0x0000007101184718,Blifecondition::ctor,436,_ZN4ksys3res13LifeConditionC1Ev
0x00000071011848cc,sub_71011848CC,192,
0x000000710118498c,sub_710118498C,200,
0x0000007101184a54,sub_7101184A54,132,

Can't render this file because it is too large.

View File

@ -1,8 +1,9 @@
#include "KingSystem/Resource/resResourceLifeCondition.h"
#include <codec/seadHashCRC32.h>
namespace ksys::res {
LifeCondition::LifeCondition() : ParamIO("lifecondition", 0) {}
// NON_MATCHING: two instructions swapped
bool LifeCondition::parse_(u8* data, size_t, sead::Heap* heap) {
if (!data)

View File

@ -7,19 +7,29 @@
namespace ksys::res {
class LifeCondition : public ParamIO, public Resource {
SEAD_RTTI_OVERRIDE(LifeCondition, Resource)
public:
LifeCondition();
~LifeCondition() override = default;
bool needsParse() const override { return true; }
bool ParamIO_m0() override { return true; }
private:
void doCreate_(u8*, u32, sead::Heap*) override {}
void parseArray(const agl::utl::ResParameterObj* data, agl::utl::IParameterObj* obj,
sead::Buffer<agl::utl::Parameter<sead::SafeString>>* buffer,
const sead::SafeString& key, const sead::SafeString& desc, sead::Heap* heap);
bool parse_(u8* data, size_t size, sead::Heap* heap) override;
agl::utl::IParameterObj mInvalidWeathersObj;
agl::utl::IParameterObj mInvalidTimesObj;
agl::utl::IParameterObj mDisplayDistanceObj;
agl::utl::IParameterObj mDeleteWeathersObj;
agl::utl::IParameterObj mDeleteTimesObj;
agl::utl::IParameterObj mBoundingYObj;
agl::utl::IParameterObj mYLimitAlgorithmObj;
agl::utl::ParameterObj mInvalidWeathersObj;
agl::utl::ParameterObj mInvalidTimesObj;
agl::utl::ParameterObj mDisplayDistanceObj;
agl::utl::ParameterObj mDeleteWeathersObj;
agl::utl::ParameterObj mDeleteTimesObj;
agl::utl::ParameterObj mBoundingYObj;
agl::utl::ParameterObj mYLimitAlgorithmObj;
sead::Buffer<agl::utl::Parameter<sead::SafeString>> mInvalidWeathersBuffer;
sead::Buffer<agl::utl::Parameter<sead::SafeString>> mInvalidTimesBuffer;