mirror of https://github.com/zeldaret/botw.git
AiAction and AiClass getters and setter functions
This commit is contained in:
parent
c90e29946f
commit
2ee9bba8b8
|
@ -1263,8 +1263,8 @@
|
|||
0x000000710004be58,AI_Action_ActivateAttackSensor::loadParams,436,
|
||||
0x000000710004c00c,AI_Action_ActivateAttackSensor::rtti1,288,
|
||||
0x000000710004c12c,AI_Action_ActivateAttackSensor::rtti2,92,
|
||||
0x000000710004c188,AI_AIOrActionBase::isFlag1Set,12,
|
||||
0x000000710004c194,AI_AIOrActionBase::isFinished,12,
|
||||
0x000000710004c188,AI_AIOrActionBase::isFlag1Set,12,_ZN4ksys3act2ai10ActionBase8isFailedEv
|
||||
0x000000710004c194,AI_AIOrActionBase::isFinished,12,_ZN4ksys3act2ai10ActionBase10isFinishedEv
|
||||
0x000000710004c1a0,AI_AIOrActionBase::isFlag2Set,12,
|
||||
0x000000710004c1ac,AI_AIOrActionBase::ret0,8,
|
||||
0x000000710004c1b4,AI_AIOrActionBase::ret0_2,8,
|
||||
|
@ -1278,7 +1278,7 @@
|
|||
0x000000710004c1ec,AI_AIOrActionBase::ret0_1,8,
|
||||
0x000000710004c1f4,AI_AIOrActionBase::ret1_1,8,
|
||||
0x000000710004c1fc,AI_AIOrActionBase::ret0_5,8,
|
||||
0x000000710004c204,AI_ActionBase::isAction,8,
|
||||
0x000000710004c204,AI_ActionBase::isAction,8,_ZN4ksys3act2ai6Action8isActionEv
|
||||
0x000000710004c20c,AI_AIOrActionBase::m28,16,
|
||||
0x000000710004c21c,AI_AIOrActionBase::m29_null,4,
|
||||
0x000000710004c220,AI_AIOrActionBase::ret0_6,8,
|
||||
|
@ -71374,8 +71374,8 @@
|
|||
0x0000007100d16c68,ai::ActorAI::getCurrentAction,144,
|
||||
0x0000007100d16cf8,ai::ActorAI::x_1,92,
|
||||
0x0000007100d16d54,ai::ActorAI::x_2,92,
|
||||
0x0000007100d16db0,AI_AIOrActionBase::setFinished,20,
|
||||
0x0000007100d16dc4,AI_AIOrActionBase::setFailed,20,
|
||||
0x0000007100d16db0,AI_AIOrActionBase::setFinished,20,_ZN4ksys3act2ai10ActionBase11setFinishedEv
|
||||
0x0000007100d16dc4,AI_AIOrActionBase::setFailed,20,_ZN4ksys3act2ai10ActionBase9setFailedEv
|
||||
0x0000007100d16dd8,AI_AIOrActionBase::appendName,392,
|
||||
0x0000007100d16f60,AI_AIOrActionBase::m23,12,
|
||||
0x0000007100d16f6c,sub_7100D16F6C,32,
|
||||
|
|
Can't render this file because it is too large.
|
|
@ -4,4 +4,8 @@ namespace ksys::act::ai {
|
|||
|
||||
Action::Action(const ClassArg& arg) : ActionBase(arg) {}
|
||||
|
||||
bool Action::isAction() {
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace ksys::act::ai
|
||||
|
|
|
@ -11,8 +11,9 @@ public:
|
|||
|
||||
virtual void enter() {}
|
||||
virtual void loadParams() {}
|
||||
|
||||
virtual void oneShot() {}
|
||||
|
||||
bool isAction() override;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(Action, 0x20);
|
||||
|
||||
|
|
|
@ -5,4 +5,22 @@ namespace ksys::act::ai {
|
|||
ActionBase::ActionBase(const ClassArg& arg)
|
||||
: mActor{arg.actor}, mDefinitionIdx{u16(arg.definitionIdx)}, mRootIdx{u8(arg.rootIdx)} {}
|
||||
|
||||
bool ActionBase::isFinished() {
|
||||
return mStatus.isOn(Status::Finished);
|
||||
}
|
||||
|
||||
bool ActionBase::isFailed() {
|
||||
return mStatus.isOn(Status::Failed);
|
||||
}
|
||||
|
||||
void ActionBase::setFinished() {
|
||||
mStatus.set(Status::Finished);
|
||||
mStatus.reset(Status::Failed);
|
||||
}
|
||||
|
||||
void ActionBase::setFailed() {
|
||||
mStatus.set(Status::Failed);
|
||||
mStatus.reset(Status::Finished);
|
||||
}
|
||||
|
||||
} // namespace ksys::act::ai
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
#include <basis/seadTypes.h>
|
||||
|
||||
#include <prim/seadTypedBitFlag.h>
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/ActorSystem/actAiParam.h"
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
|
@ -23,8 +24,24 @@ public:
|
|||
ActionBase(const ClassArg& arg);
|
||||
virtual ~ActionBase() = default;
|
||||
|
||||
virtual bool isAction();
|
||||
|
||||
enum class Status : u8 {
|
||||
Finished = 1,
|
||||
Failed = 2,
|
||||
_4 = 4,
|
||||
TriggerAction = 8,
|
||||
DynamicParamChild = 0x10,
|
||||
_20 = 0x20,
|
||||
_40 = 0x40,
|
||||
_80 = 0x80,
|
||||
};
|
||||
|
||||
protected:
|
||||
bool isFinished();
|
||||
bool isFailed();
|
||||
void setFinished();
|
||||
void setFailed();
|
||||
|
||||
template <typename T>
|
||||
void getParamStatic(ParamRef<T>* value, const sead::SafeString& key);
|
||||
|
@ -33,7 +50,7 @@ protected:
|
|||
ParamPack mParams;
|
||||
u16 mDefinitionIdx;
|
||||
u8 mRootIdx;
|
||||
u8 mStatus = 0;
|
||||
sead::TypedBitFlag<Status, u8> mStatus;
|
||||
u16 mClassIdx;
|
||||
u16 mPrevClassIdx;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue