mirror of https://github.com/zeldaret/botw.git
ksys/act: Clean up RootAiFlag/RootAiFlag2 definitions and usage
This commit is contained in:
parent
4df2370639
commit
2616802996
|
@ -73024,7 +73024,7 @@ Address,Quality,Size,Name
|
||||||
0x0000007100d1679c,O,000516,_ZN4ksys3act2ai10ActionBase8takeOverEPS2_RKN4sead14SafeStringBaseIcEE
|
0x0000007100d1679c,O,000516,_ZN4ksys3act2ai10ActionBase8takeOverEPS2_RKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d169a0,O,000188,_ZNK4ksys3act2ai10ActionBase10copyParamsEPNS1_15InlineParamPackEb
|
0x0000007100d169a0,O,000188,_ZNK4ksys3act2ai10ActionBase10copyParamsEPNS1_15InlineParamPackEb
|
||||||
0x0000007100d16a5c,O,000084,_ZN4ksys3act2ai10ActionBase5leaveEv
|
0x0000007100d16a5c,O,000084,_ZN4ksys3act2ai10ActionBase5leaveEv
|
||||||
0x0000007100d16ab0,O,000032,_ZNK4ksys3act2ai10ActionBase16setRootAiFlagBitEi
|
0x0000007100d16ab0,O,000032,_ZNK4ksys3act2ai10ActionBase13setRootAiFlagENS1_10RootAiFlagE
|
||||||
0x0000007100d16ad0,O,000068,_ZN4ksys3act2ai10ActionBase8reenter_EPS2_b
|
0x0000007100d16ad0,O,000068,_ZN4ksys3act2ai10ActionBase8reenter_EPS2_b
|
||||||
0x0000007100d16b14,O,000240,_ZN4ksys3act2ai10ActionBase22updateBehaviorsOnLeaveEv
|
0x0000007100d16b14,O,000240,_ZN4ksys3act2ai10ActionBase22updateBehaviorsOnLeaveEv
|
||||||
0x0000007100d16c04,O,000060,_ZN4ksys3act2ai10ActionBase7oneShotEPNS1_15InlineParamPackE
|
0x0000007100d16c04,O,000060,_ZN4ksys3act2ai10ActionBase7oneShotEPNS1_15InlineParamPackE
|
||||||
|
@ -73038,8 +73038,8 @@ Address,Quality,Size,Name
|
||||||
0x0000007100d16dc4,O,000020,_ZN4ksys3act2ai10ActionBase9setFailedEv
|
0x0000007100d16dc4,O,000020,_ZN4ksys3act2ai10ActionBase9setFailedEv
|
||||||
0x0000007100d16dd8,O,000392,_ZNK4ksys3act2ai10ActionBase14getCurrentNameEPN4sead22BufferedSafeStringBaseIcEEPS2_
|
0x0000007100d16dd8,O,000392,_ZNK4ksys3act2ai10ActionBase14getCurrentNameEPN4sead22BufferedSafeStringBaseIcEEPS2_
|
||||||
0x0000007100d16f60,O,000012,_ZNK4ksys3act2ai10ActionBase9getParamsEPNS1_18ParamNameTypePairsEb
|
0x0000007100d16f60,O,000012,_ZNK4ksys3act2ai10ActionBase9getParamsEPNS1_18ParamNameTypePairsEb
|
||||||
0x0000007100d16f6c,O,000032,_ZNK4ksys3act2ai10ActionBase18resetRootAiFlagBitEi
|
0x0000007100d16f6c,O,000032,_ZNK4ksys3act2ai10ActionBase15resetRootAiFlagENS1_10RootAiFlagE
|
||||||
0x0000007100d16f8c,O,000036,_ZNK4ksys3act2ai10ActionBase18testRootAiFlag2BitEi
|
0x0000007100d16f8c,O,000036,_ZNK4ksys3act2ai10ActionBase15testRootAiFlag2ENS1_11RootAiFlag2E
|
||||||
0x0000007100d16fb0,O,000116,_ZNK4ksys3act2ai10ActionBase14getStaticParamIPKcEEbPT_RKN4sead14SafeStringBaseIcEE
|
0x0000007100d16fb0,O,000116,_ZNK4ksys3act2ai10ActionBase14getStaticParamIPKcEEbPT_RKN4sead14SafeStringBaseIcEE
|
||||||
0x0000007100d17024,O,000116,_ZNK4ksys3act2ai10ActionBase14getStaticParamIN4sead14SafeStringBaseIcEEEEbPT_RKS6_
|
0x0000007100d17024,O,000116,_ZNK4ksys3act2ai10ActionBase14getStaticParamIN4sead14SafeStringBaseIcEEEEbPT_RKS6_
|
||||||
0x0000007100d17098,O,000116,_ZNK4ksys3act2ai10ActionBase14getStaticParamIPKiEEbPT_RKN4sead14SafeStringBaseIcEE
|
0x0000007100d17098,O,000116,_ZNK4ksys3act2ai10ActionBase14getStaticParamIPKiEEbPT_RKN4sead14SafeStringBaseIcEE
|
||||||
|
|
Can't render this file because it is too large.
|
|
@ -22,7 +22,7 @@ void ForkAI::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||||
SEAD_WARN("ForkAI::enter_: no children");
|
SEAD_WARN("ForkAI::enter_: no children");
|
||||||
changeChildIdx(num_children - 1);
|
changeChildIdx(num_children - 1);
|
||||||
}
|
}
|
||||||
setRootAiFlag(ksys::act::ai::RootAiFlag::_100);
|
setRootAiFlag(ksys::act::ai::RootAiFlag::_8);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ForkAI::reenter(ksys::act::ai::ActionBase* other, const sead::SafeString& context) {
|
bool ForkAI::reenter(ksys::act::ai::ActionBase* other, const sead::SafeString& context) {
|
||||||
|
|
|
@ -146,7 +146,7 @@ bool ActionBase::takeOver(ActionBase* src, const sead::SafeString& context) {
|
||||||
ret = reenter(src, context);
|
ret = reenter(src, context);
|
||||||
}
|
}
|
||||||
|
|
||||||
mActor->getRootAi()->_16c.set(RootAiFlag::_100);
|
setRootAiFlag(RootAiFlag::_8);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,8 +175,8 @@ void ActionBase::leave() {
|
||||||
postLeave();
|
postLeave();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActionBase::setRootAiFlagBit(int bit) const {
|
void ActionBase::setRootAiFlag(RootAiFlag flag) const {
|
||||||
mActor->getRootAi()->_16c.set(RootAiFlag(1u << bit));
|
mActor->getRootAi()->_16c.setBit(int(flag));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ActionBase::reenter_(ActionBase* other, bool x) {
|
bool ActionBase::reenter_(ActionBase* other, bool x) {
|
||||||
|
@ -267,12 +267,12 @@ void ActionBase::getParams(ParamNameTypePairs* pairs, bool update_use_count) con
|
||||||
mParams.getPairs(pairs, update_use_count);
|
mParams.getPairs(pairs, update_use_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ActionBase::resetRootAiFlagBit(int bit) const {
|
void ActionBase::resetRootAiFlag(RootAiFlag flag) const {
|
||||||
mActor->getRootAi()->_16c.reset(RootAiFlag(1u << bit));
|
mActor->getRootAi()->_16c.resetBit(int(flag));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ActionBase::testRootAiFlag2Bit(int bit) const {
|
bool ActionBase::testRootAiFlag2(RootAiFlag2 flag) const {
|
||||||
return mActor->getRootAi()->_16e.isOn(RootAiFlag2(1u << bit));
|
return mActor->getRootAi()->_16e.isOnBit(int(flag));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
|
|
@ -35,8 +35,8 @@ enum class ActionType {
|
||||||
Action = 1,
|
Action = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class RootAiFlag : u16;
|
enum class RootAiFlag;
|
||||||
enum class RootAiFlag2 : u16;
|
enum class RootAiFlag2;
|
||||||
|
|
||||||
sead::SafeString* getDefaultString();
|
sead::SafeString* getDefaultString();
|
||||||
s32* getDefaultInt();
|
s32* getDefaultInt();
|
||||||
|
@ -146,16 +146,9 @@ protected:
|
||||||
void setFinished();
|
void setFinished();
|
||||||
void setFailed();
|
void setFailed();
|
||||||
|
|
||||||
void setRootAiFlagBit(int bit) const;
|
void setRootAiFlag(RootAiFlag flag) const;
|
||||||
void setRootAiFlag(RootAiFlag flag) const { setRootAiFlagBit(sead::log2(u32(flag))); }
|
void resetRootAiFlag(RootAiFlag flag) const;
|
||||||
|
bool testRootAiFlag2(RootAiFlag2 flag) const;
|
||||||
void resetRootAiFlagBit(int bit) const;
|
|
||||||
void resetRootAiFlag(RootAiFlag flag) const { resetRootAiFlagBit(sead::log2(u32(flag))); }
|
|
||||||
|
|
||||||
bool testRootAiFlag2Bit(int bit) const;
|
|
||||||
bool testRootAiFlag2(RootAiFlag2 flag) const {
|
|
||||||
return testRootAiFlag2Bit(sead::log2(u32(flag)));
|
|
||||||
}
|
|
||||||
|
|
||||||
void resetFlags() {
|
void resetFlags() {
|
||||||
mFlags.reset(Flag::Failed);
|
mFlags.reset(Flag::Failed);
|
||||||
|
|
|
@ -138,7 +138,7 @@ void Ai::changeChild(u32 idx, InlineParamPack* params) {
|
||||||
if (mChildren[idx])
|
if (mChildren[idx])
|
||||||
mChildren[idx]->enter(pack, getName());
|
mChildren[idx]->enter(pack, getName());
|
||||||
|
|
||||||
setRootAiFlag(RootAiFlag::_100);
|
setRootAiFlag(RootAiFlag::_8);
|
||||||
};
|
};
|
||||||
|
|
||||||
if (mFlags.isOff(Flag::DynamicParamChild) || params) {
|
if (mFlags.isOff(Flag::DynamicParamChild) || params) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <prim/seadTypedBitFlag.h>
|
#include <prim/seadBitFlag.h>
|
||||||
#include <thread/seadAtomic.h>
|
#include <thread/seadAtomic.h>
|
||||||
#include "KingSystem/ActorSystem/actAiAction.h"
|
#include "KingSystem/ActorSystem/actAiAction.h"
|
||||||
#include "KingSystem/ActorSystem/actAiAi.h"
|
#include "KingSystem/ActorSystem/actAiAi.h"
|
||||||
|
@ -17,12 +17,12 @@ public:
|
||||||
virtual ~IRootAi() = default;
|
virtual ~IRootAi() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class RootAiFlag : u16 {
|
enum class RootAiFlag {
|
||||||
_100 = 0x100, // 8
|
_8 = 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: rename
|
// TODO: rename
|
||||||
enum class RootAiFlag2 : u16 {};
|
enum class RootAiFlag2 {};
|
||||||
|
|
||||||
class RootAi : public Ai, public IRootAi {
|
class RootAi : public Ai, public IRootAi {
|
||||||
SEAD_RTTI_OVERRIDE(RootAi, Ai)
|
SEAD_RTTI_OVERRIDE(RootAi, Ai)
|
||||||
|
@ -102,8 +102,10 @@ private:
|
||||||
void* _160{};
|
void* _160{};
|
||||||
// TODO: is this really an atomic?
|
// TODO: is this really an atomic?
|
||||||
sead::Atomic<f32> _168 = 1.0;
|
sead::Atomic<f32> _168 = 1.0;
|
||||||
sead::TypedBitFlag<RootAiFlag> _16c;
|
// RootAiFlag
|
||||||
sead::TypedBitFlag<RootAiFlag2> _16e;
|
sead::BitFlag16 _16c;
|
||||||
|
// RootAiFlag2
|
||||||
|
sead::BitFlag16 _16e;
|
||||||
ParamPack mMapUnitParams;
|
ParamPack mMapUnitParams;
|
||||||
ParamPack mAiTreeParams;
|
ParamPack mAiTreeParams;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue