summaryrefslogtreecommitdiff
path: root/src/KingSystem/ActorSystem/actActorConstDataAccess.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/KingSystem/ActorSystem/actActorConstDataAccess.cpp')
-rw-r--r--src/KingSystem/ActorSystem/actActorConstDataAccess.cpp420
1 files changed, 0 insertions, 420 deletions
diff --git a/src/KingSystem/ActorSystem/actActorConstDataAccess.cpp b/src/KingSystem/ActorSystem/actActorConstDataAccess.cpp
deleted file mode 100644
index c3061e90..00000000
--- a/src/KingSystem/ActorSystem/actActorConstDataAccess.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-#include "KingSystem/ActorSystem/actActorConstDataAccess.h"
-#include <prim/seadRuntimeTypeInfo.h>
-#include "KingSystem/ActorSystem/actActor.h"
-#include "KingSystem/ActorSystem/actActorParam.h"
-#include "KingSystem/ActorSystem/actActorUtil.h"
-#include "KingSystem/ActorSystem/actAiRoot.h"
-#include "KingSystem/Map/mapObject.h"
-#include "KingSystem/Resource/Actor/resResourceGParamList.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectAttack.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectEnemy.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectHorseTargetedInfo.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectLiftable.h"
-#include "KingSystem/Resource/GeneralParamList/resGParamListObjectSystem.h"
-
-namespace ksys::act {
-
-static BaseProc* getProcIfActor(BaseProc* proc) {
- if (proc && sead::IsDerivedFrom<Actor>(proc))
- return proc;
- return nullptr;
-}
-
-inline Actor* ActorConstDataAccess::getActor() const {
- return static_cast<Actor*>(getProcIfActor(mProc));
-}
-
-bool ActorConstDataAccess::acquireActor(const ActorLinkConstDataAccess& other) {
- return acquire(getProcIfActor(other.mProc));
-}
-
-bool ActorConstDataAccess::hasProc(BaseProc* proc) const {
- return mProc == proc;
-}
-
-bool ActorConstDataAccess::hasProc(const BaseProcLink& link) const {
- return link.hasProcById(getActor());
-}
-
-bool ActorConstDataAccess::linkAcquire(BaseProcLink* link) const {
- auto* proc = getActor();
- if (proc)
- return link->acquire(proc, false);
-
- link->reset();
- return false;
-}
-
-bool ActorConstDataAccess::linkAcquireImmediately(BaseProcLink* link) const {
- auto* proc = getActor();
- if (proc)
- return link->acquire(proc, true);
-
- link->reset();
- return false;
-}
-
-bool ActorConstDataAccess::isPlayerProfile() const {
- return act::isPlayerProfile(getActor());
-}
-
-bool ActorConstDataAccess::isWeaponProfile() const {
- return act::isWeaponProfile(getActor());
-}
-
-bool ActorConstDataAccess::isNPCProfile() const {
- return act::isNPCProfile(getActor());
-}
-
-bool ActorConstDataAccess::isEnemyProfile() const {
- return act::isEnemyProfile(getActor());
-}
-
-const sead::SafeString& ActorConstDataAccess::getProfile() const {
- auto* actor = getActor();
- return actor && actor->getParam() ? actor->getProfile() : sead::SafeString::cEmptyString;
-}
-
-void ActorConstDataAccess::debugLog(s32, const sead::SafeString&) const {
- // Intentionally left empty.
-}
-
-const sead::SafeString& ActorConstDataAccess::getName() const {
- auto* proc = getProcIfActor(mProc);
- if (!proc)
- return sead::SafeString::cEmptyString;
- return proc->getName();
-}
-
-const sead::SafeString& ActorConstDataAccess::getLiftType() const {
- auto* actor = getActor();
- if (!actor)
- return sead::SafeString::cEmptyString;
- return actor->getParam()->getRes().mGParamList->getLiftable()->mLiftType.ref();
-}
-
-bool ActorConstDataAccess::isDisableFreezeLift() const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->getParam()->getRes().mGParamList->getLiftable()->mDisableFreezeLift.ref();
-}
-
-bool ActorConstDataAccess::isDisableBurnLift() const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->getParam()->getRes().mGParamList->getLiftable()->mDisableBurnLift.ref();
-}
-
-bool ActorConstDataAccess::hasTag(const char* tag) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->getParam()->getRes().mActorLink->hasTag(tag);
-}
-
-bool ActorConstDataAccess::hasTag(u32 tag) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->getParam()->getRes().mActorLink->hasTag(tag);
-}
-
-const char* ActorConstDataAccess::getUniqueName() const {
- auto* actor = getActor();
- if (!actor)
- return nullptr;
- return actor->getUniqueName();
-}
-
-u32 ActorConstDataAccess::getId() const {
- auto* proc = getActor();
- if (!proc)
- return 0xffffffff;
- return proc->getId();
-}
-
-bool ActorConstDataAccess::acquireConnectedCalcParent(ActorLinkConstDataAccess* accessor) const {
- auto* proc = getActor();
- if (!proc)
- return false;
-
- accessor->acquire(sead::DynamicCast<Actor>(proc->getConnectedCalcParent()));
- return accessor->mProc != nullptr;
-}
-
-bool ActorConstDataAccess::acquireConnectedCalcChild(ActorLinkConstDataAccess* accessor) const {
- auto* proc = getActor();
- if (!proc)
- return false;
-
- accessor->acquire(sead::DynamicCast<Actor>(proc->getConnectedCalcChild()));
- return accessor->mProc != nullptr;
-}
-
-bool ActorConstDataAccess::hasConnectedCalcParent() const {
- auto* proc = getActor();
- return proc && sead::DynamicCast<Actor>(proc->getConnectedCalcParent()) != nullptr;
-}
-
-bool ActorConstDataAccess::checkFlag2B() const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->checkFlag(Actor::ActorFlag::_2b);
-}
-
-bool ActorConstDataAccess::deleteLater(BaseProc::DeleteReason reason) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->deleteLater(reason);
-}
-
-bool ActorConstDataAccess::deleteEx(BaseProc::DeleteReason reason) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- return actor->deleteEx(Actor::DeleteType::_1, reason);
-}
-
-bool ActorConstDataAccess::sleep(BaseProc::SleepWakeReason reason) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- actor->sleep(reason);
- return true;
-}
-
-bool ActorConstDataAccess::wakeUp(BaseProc::SleepWakeReason reason) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- actor->wakeUp(reason);
- return true;
-}
-
-bool ActorConstDataAccess::setProperties(int x, const sead::Matrix34f& mtx,
- const sead::Vector3f& vel, const sead::Vector3f& ang_vel,
- const sead::Vector3f& scale, bool is_life_infinite, int i,
- int life) const {
- auto* actor = getActor();
- if (!actor)
- return false;
- actor->setProperties(x, mtx, vel, ang_vel, scale, is_life_infinite, i, life);
- return true;
-}
-
-bool ActorConstDataAccess::setProperties(const sead::Matrix34f& mtx, const sead::Vector3f& vel,
- const sead::Vector3f& ang_vel, const sead::Vector3f& scale,
- bool is_life_infinite, int i, int life) const {
- return setProperties(0, mtx, vel, ang_vel, scale, is_life_infinite, i, life);
-}
-
-bool ActorConstDataAccess::isStateSleep() const {
- auto* actor = getActor();
- return actor && actor->isSleep();
-}
-
-bool ActorConstDataAccess::isStateCalc() const {
- auto* actor = getActor();
- return actor && actor->isCalc();
-}
-
-bool ActorConstDataAccess::isDeletedOrDeleting() const {
- auto* actor = getActor();
- return actor && actor->isDeletedOrDeleting();
-}
-
-res::GParamList* ActorConstDataAccess::getGParamList() const {
- auto* actor = getActor();
- if (!actor)
- return nullptr;
- return actor->getParam()->getRes().mGParamList;
-}
-
-res::Shop* ActorConstDataAccess::getShopData() const {
- auto* actor = getActor();
- if (!actor)
- return nullptr;
- return actor->getParam()->getRes().mShopData;
-}
-
-const sead::SafeString& ActorConstDataAccess::getAttackSpHitActor() const {
- auto* actor = getActor();
- if (!actor)
- return sead::SafeString::cEmptyString;
- return actor->getParam()->getRes().mGParamList->getAttack()->mSpHitActor.ref();
-}
-
-const sead::SafeString& ActorConstDataAccess::getAttackSpHitTag() const {
- auto* actor = getActor();
- if (!actor)
- return sead::SafeString::cEmptyString;
- return actor->getParam()->getRes().mGParamList->getAttack()->mSpHitTag.ref();
-}
-
-const sead::SafeString& ActorConstDataAccess::getAttackWeakHitTag() const {
- auto* actor = getActor();
- if (!actor)
- return sead::SafeString::cEmptyString;
- return actor->getParam()->getRes().mGParamList->getAttack()->mSpWeakHitActor.ref();
-}
-
-f32 ActorConstDataAccess::getAttackSpHitRatio() const {
- auto* actor = getActor();
- if (!actor)
- return 1.0f;
- return actor->getParam()->getRes().mGParamList->getAttack()->mSpHitRatio.ref();
-}
-
-s32 ActorConstDataAccess::getAttackPower() const {
- auto* actor = getActor();
- if (!actor)
- return 0;
- return actor->getParam()->getRes().mGParamList->getAttack()->mPower.ref();
-}
-
-map::ObjectLinkData* ActorConstDataAccess::getMapObjectLinkData() const {
- auto* actor = getActor();
- if (!actor)
- return nullptr;
-
- auto* object = actor->getMapObject();
- if (!object)
- return nullptr;
-
- return object->getLinkData();
-}
-
-map::Object* ActorConstDataAccess::getMapObject() const {
- auto* actor = getActor();
- if (!actor)
- return nullptr;
- return actor->getMapObject();
-}
-
-s32 ActorConstDataAccess::getEnemyRank() const {
- auto* actor = getActor();
- if (!actor)
- return 0;
-
- auto* gparam = actor->getParam()->getRes().mGParamList;
- if (!gparam || !gparam->getEnemy())
- return 0;
-
- return gparam->getEnemy()->mRank.ref();
-}
-
-bool ActorConstDataAccess::getSameGroupActorName(sead::SafeString* name) const {
- auto* actor = getActor();
- if (!actor) {
- *name = sead::SafeString::cEmptyString;
- return false;
- }
-
- auto* gparam = actor->getParam()->getRes().mGParamList;
- if (!gparam || !gparam->getSystem()) {
- *name = actor->getName();
- return false;
- }
-
- const auto& group_name = gparam->getSystem()->mSameGroupActorName.ref();
- if (group_name.isEmpty()) {
- *name = actor->getName();
- return false;
- }
-
- *name = group_name;
- return true;
-}
-
-bool ActorConstDataAccess::checkFlag18() const {
- auto* actor = getActor();
- return actor && actor->checkFlag(Actor::ActorFlag::_18);
-}
-
-bool ActorConstDataAccess::isPlayerTheConnectedParent() const {
- auto* actor = getActor();
- if (!actor)
- return false;
-
- auto* parent = sead::DynamicCast<Actor>(actor->getConnectedCalcParent());
- if (!parent)
- return false;
-
- return parent->getProfile() == "Player";
-}
-
-void ActorConstDataAccess::setThisActorAsParent(BaseProc* child, bool delete_parent_on_delete) {
- auto* actor = getActor();
- if (!actor)
- return;
- child->setConnectedCalcParent(actor, delete_parent_on_delete);
-}
-
-void ActorConstDataAccess::setThisActorAsChild(BaseProc* parent, bool delete_child_on_delete) {
- auto* actor = getActor();
- if (!actor)
- return;
- parent->setConnectedCalcChild(actor, delete_child_on_delete);
-}
-
-bool ActorConstDataAccess::isFlyingBalloon() const {
- auto* actor = getActor();
- if (!actor)
- return false;
- bool* value;
- return actor->getRootAi()->getAITreeVariable(&value, "IsFlyingBalloon") && *value;
-}
-
-u32 ActorConstDataAccess::getBalloonHungActorBaseProcID() const {
- auto* actor = getActor();
- if (!actor)
- return -1;
- int* value;
- if (!actor->getRootAi()->getAITreeVariable(&value, "BalloonHungActorBaseProcID"))
- return -1;
- return *value;
-}
-
-bool ActorConstDataAccess::checkFlag25() const {
- auto* actor = getActor();
- return actor && actor->checkFlag(Actor::ActorFlag::_25);
-}
-
-f32 ActorConstDataAccess::getHorseMoveRadius() const {
- auto* actor = getActor();
- if (!actor)
- return -1.0;
- return actor->getParam()->getRes().mGParamList->getHorseTargetedInfo()->mHorseMoveRadius.ref();
-}
-
-f32 ActorConstDataAccess::getHorseAvoidOffset() const {
- auto* actor = getActor();
- if (!actor)
- return -1.0;
- return actor->getParam()->getRes().mGParamList->getHorseTargetedInfo()->mHorseAvoidOffset.ref();
-}
-
-bool ActorConstDataAccess::horseTargetedIsCircularMoveAlways() const {
- auto* actor = getActor();
- if (!actor)
- return false;
- auto* gparam = actor->getParam()->getRes().mGParamList;
- return gparam->getHorseTargetedInfo()->mIsCircularMoveAlways.ref();
-}
-
-bool acquireActor(BaseProcLink* link, ActorConstDataAccess* accessor) {
- return link->getProcInContext([accessor](BaseProc* proc, bool valid) {
- if (!proc) {
- if (!valid)
- accessor->acquire(nullptr);
- return false;
- }
- return accessor->acquire(sead::DynamicCast<Actor>(proc));
- });
-}
-
-} // namespace ksys::act