ksys/eco: Implement LevelSensor::init

This commit is contained in:
Léo Lam 2021-05-19 15:25:50 +02:00
parent 38ffb1f160
commit 0c73c0d670
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
3 changed files with 13 additions and 4 deletions

View File

@ -77869,7 +77869,7 @@
0x0000007100e424f4,Ecosystem::LevelSensor::ctor,40,_ZN4ksys3eco11LevelSensorC1Ev
0x0000007100e4251c,Ecosystem::LevelSensor::dtor,72,_ZN4ksys3eco11LevelSensorD1Ev
0x0000007100e42564,Ecosystem::LevelSensor::dtor_delete,80,_ZN4ksys3eco11LevelSensorD0Ev
0x0000007100e425b4,Ecosystem::LevelSensor::init,288,
0x0000007100e425b4,Ecosystem::LevelSensor::init,288,_ZN4ksys3eco11LevelSensor4initEPN4sead4HeapE
0x0000007100e426d4,Ecosystem::LevelSensor::scaleWeapon,1552,
0x0000007100e42ce4,Ecosystem::LevelSensor::scaleActor,1308,
0x0000007100e43200,Ecosystem::LevelSensor::calculatePoints,576,

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

View File

@ -1,4 +1,5 @@
#include "KingSystem/Ecosystem/ecoLevelSensor.h"
#include "KingSystem/Resource/resLoadRequest.h"
#include "KingSystem/Utils/Byaml/Byaml.h"
namespace ksys::eco {
@ -7,8 +8,16 @@ LevelSensor::LevelSensor() = default;
LevelSensor::~LevelSensor() {
mResHandle.requestUnload2();
if (mBymlIter)
delete mBymlIter;
if (mRootIter)
delete mRootIter;
}
void LevelSensor::init(sead::Heap* heap) {
res::LoadRequest req;
req.mRequester = "LevelSensor";
mResHandle.load("Ecosystem/LevelSensor.byml", &req);
auto* res = sead::DynamicCast<sead::DirectResource>(mResHandle.getResource());
mRootIter = new (heap) al::ByamlIter(res->getRawData());
}
} // namespace ksys::eco

View File

@ -52,7 +52,7 @@ private:
f32 mEnemyPoints{};
bool _14{};
f32 mDefaultPoints = -1;
al::ByamlIter* mBymlIter = nullptr;
al::ByamlIter* mRootIter = nullptr;
res::Handle mResHandle;
};
KSYS_CHECK_SIZE_NX150(LevelSensor, 0x78);