ksys/map: Fix misleading names for wrappers around StaticCompound::setInstanceEnabled

This commit is contained in:
Léo Lam 2022-03-25 22:23:52 +01:00
parent a63b816ffc
commit f3b3653b0f
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
4 changed files with 16 additions and 17 deletions

View File

@ -73778,7 +73778,7 @@ Address,Quality,Size,Name
0x0000007100d43d60,U,000248,PlacementMap::staticCompoundStuff 0x0000007100d43d60,U,000248,PlacementMap::staticCompoundStuff
0x0000007100d43e58,O,000192,_ZN4ksys3map12PlacementMap25doSomethingStaticCompoundEi 0x0000007100d43e58,O,000192,_ZN4ksys3map12PlacementMap25doSomethingStaticCompoundEi
0x0000007100d43f18,O,000136,_ZN4ksys3map12PlacementMap15isDynamicLoadedERKN4sead7Vector3IfEE 0x0000007100d43f18,O,000136,_ZN4ksys3map12PlacementMap15isDynamicLoadedERKN4sead7Vector3IfEE
0x0000007100d43fa0,O,000392,_ZN4ksys3map12PlacementMap26doDisableObjStaticCompoundEPNS0_6ObjectEb 0x0000007100d43fa0,O,000392,_ZN4ksys3map12PlacementMap32setStaticCompoundInstanceEnabledEPNS0_6ObjectEb
0x0000007100d44128,U,000560,PlacementMap::x_9 0x0000007100d44128,U,000560,PlacementMap::x_9
0x0000007100d44358,U,003208,PlacementMapMgr::ctor 0x0000007100d44358,U,003208,PlacementMapMgr::ctor
0x0000007100d44fe0,U,000320,placement::getMubinPath 0x0000007100d44fe0,U,000320,placement::getMubinPath

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

View File

@ -48,7 +48,7 @@ public:
_40000 = 0x40000, _40000 = 0x40000,
_80000 = 0x80000, _80000 = 0x80000,
_100000 = 0x100000, _100000 = 0x100000,
_200000 = 0x200000, StaticCompoundInstanceEnabled = 0x200000,
_400000 = 0x400000, _400000 = 0x400000,
_2000000 = 0x2000000, _2000000 = 0x2000000,
_4000000 = 0x4000000, _4000000 = 0x4000000,

View File

@ -95,17 +95,17 @@ void PlacementMap::updateObjectCollisionAndId(int index, Object* obj) {
if (obj->getStaticCompoundActorId() < 0) { if (obj->getStaticCompoundActorId() < 0) {
return; return;
} }
bool disable = false; bool enabled = false;
if (obj->shouldSkipSpawn() || if (obj->shouldSkipSpawn() ||
(obj->checkActorDataFlag(mPa, map::ActorData::Flag::MapConstPassive) && (obj->checkActorDataFlag(mPa, map::ActorData::Flag::MapConstPassive) &&
obj->getFlags0().isOn(Object::Flag0::_800))) { obj->getFlags0().isOn(Object::Flag0::_800))) {
obj->resetFlags0(Object::Flag0::_200000); obj->resetFlags0(Object::Flag0::StaticCompoundInstanceEnabled);
disable = false; enabled = false;
} else { } else {
obj->setFlags0(Object::Flag0::_200000); obj->setFlags0(Object::Flag0::StaticCompoundInstanceEnabled);
disable = true; enabled = true;
} }
sc->setInstanceEnabled(idx, disable); sc->setInstanceEnabled(idx, enabled);
} }
bool PlacementMap::parseStaticMap_(sead::Heap* heap, u8* data) { bool PlacementMap::parseStaticMap_(sead::Heap* heap, u8* data) {
@ -235,27 +235,26 @@ PlacementMap::MapObjStatus PlacementMap::x_2(int hksc_idx) {
return MapObjStatus::Loading; return MapObjStatus::Loading;
} }
void PlacementMap::doDisableObjStaticCompound(Object* obj, bool disable) { void PlacementMap::setStaticCompoundInstanceEnabled(Object* obj, bool enabled) {
if ((s16)obj->getStaticCompoundActorId() < 0) { if (obj->getStaticCompoundActorId() < 0) {
return; return;
} }
const auto lock = sead::makeScopedLock(mCs); const auto lock = sead::makeScopedLock(mCs);
// Is Flag0::_200000 a flag to disable an object? if (enabled == obj->getFlags0().isOn(Object::Flag0::StaticCompoundInstanceEnabled)) {
if (disable == obj->getFlags0().isOn(Object::Flag0::_200000)) {
return; return;
} }
if (disable) { if (enabled) {
obj->setFlags0(Object::Flag0::_200000); obj->setFlags0(Object::Flag0::StaticCompoundInstanceEnabled);
} else { } else {
obj->resetFlags0(Object::Flag0::_200000); obj->resetFlags0(Object::Flag0::StaticCompoundInstanceEnabled);
} }
int idx = getStaticCompoundIdFromPosition(obj->getTranslate()); int idx = getStaticCompoundIdFromPosition(obj->getTranslate());
auto* resource = mRes[idx].mRes.getResource(); auto* resource = mRes[idx].mRes.getResource();
if (auto* sc = sead::DynamicCast<ksys::phys::StaticCompound>(resource)) { if (auto* sc = sead::DynamicCast<ksys::phys::StaticCompound>(resource)) {
s16 sc_id = obj->getStaticCompoundActorId(); s16 sc_id = obj->getStaticCompoundActorId();
sc->setInstanceEnabled(sc_id, disable); sc->setInstanceEnabled(sc_id, enabled);
} }
} }

View File

@ -97,7 +97,7 @@ private:
bool staticCompoundStuff(int sc_id, bool cleanup); bool staticCompoundStuff(int sc_id, bool cleanup);
int doSomethingStaticCompound(int hksc_idx); int doSomethingStaticCompound(int hksc_idx);
bool isDynamicLoaded(const sead::Vector3f& pos); bool isDynamicLoaded(const sead::Vector3f& pos);
void doDisableObjStaticCompound(Object* obj, bool disable); void setStaticCompoundInstanceEnabled(Object* obj, bool enabled);
void x_9(); void x_9();
void x_7(int idx, int unknown, s8 column, s8 row, const sead::SafeString& mubin_path, void x_7(int idx, int unknown, s8 column, s8 row, const sead::SafeString& mubin_path,