mirror of https://github.com/zeldaret/botw.git
Decompile some Action classes (#104)
* various action classes * rename instanceset fns * rename isFork -> isChangeable
This commit is contained in:
parent
bc6fe73df1
commit
2f62d26424
|
@ -893,17 +893,17 @@ action::Escape:
|
|||
action::EscapeBackTurn:
|
||||
status: pending
|
||||
action::EventAddGameDataIntAction:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventAddGameDataToRupeeAction:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventAppearCheckPointNum:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventAppearFlyDistance:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventAppearGolfCount:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventAppearRaceResult:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventAppearRupeeAction:
|
||||
status: pending
|
||||
action::EventAutoSaveAction:
|
||||
|
@ -973,9 +973,9 @@ action::EventFlagOFFAction:
|
|||
action::EventFlagONAction:
|
||||
status: pending
|
||||
action::EventHoverNullASPlay:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventHoverNullASPlayBase:
|
||||
status: pending
|
||||
status: done
|
||||
action::EventIncreaseFameAction:
|
||||
status: pending
|
||||
action::EventIncreaseGameDataIntAction:
|
||||
|
@ -2093,13 +2093,13 @@ action::KokkoThrown:
|
|||
action::KorokFlowerAppear:
|
||||
status: pending
|
||||
action::KorokFlowerVanish:
|
||||
status: pending
|
||||
status: done
|
||||
action::KorokFlowerWait:
|
||||
status: pending
|
||||
status: done
|
||||
action::KorokTargetMove:
|
||||
status: pending
|
||||
status: done
|
||||
action::KorokTargetWait:
|
||||
status: pending
|
||||
status: done
|
||||
action::LandOnCeil:
|
||||
status: pending
|
||||
action::LandRagdoll:
|
||||
|
@ -2421,7 +2421,7 @@ action::NPCSellHorse:
|
|||
action::NPCSellItem:
|
||||
status: pending
|
||||
action::NPCStartTurnToPlayer:
|
||||
status: pending
|
||||
status: done
|
||||
action::NpcSwimMove:
|
||||
status: pending
|
||||
action::NpcSwimNavMove:
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1 +1 @@
|
|||
Subproject commit c355f876626638d265c7eb7bf90928e25e161bec
|
||||
Subproject commit 3077c49affa2770c5336764ca062ed50e7444b5b
|
2
lib/sead
2
lib/sead
|
@ -1 +1 @@
|
|||
Subproject commit 24d64b1255378c36299f84a28297e16e37b8e569
|
||||
Subproject commit 79f528be96a3d7c844847ab6371e0ae6b38c83c7
|
|
@ -70,7 +70,7 @@ bool ForkAI::isFailed() const {
|
|||
for (; i < num_children; ++i) {
|
||||
auto* child = getChild(i);
|
||||
failed |= child->isFailed();
|
||||
if (!child->isFinished() && !child->isFailed() && !child->isFlag4Set())
|
||||
if (!child->isFinished() && !child->isFailed() && !child->isChangeable())
|
||||
break;
|
||||
}
|
||||
return i == num_children && failed;
|
||||
|
@ -86,16 +86,16 @@ bool ForkAI::isFinished() const {
|
|||
break;
|
||||
if (child->isFinished())
|
||||
finished = true;
|
||||
else if (!child->isFlag4Set())
|
||||
else if (!child->isChangeable())
|
||||
break;
|
||||
}
|
||||
return i == num_children && finished;
|
||||
}
|
||||
|
||||
bool ForkAI::isFlag4Set() const {
|
||||
bool ForkAI::isChangeable() const {
|
||||
const int num_children = getNumChildren();
|
||||
for (int i = 0; i < num_children; ++i) {
|
||||
if (!getChild(i)->isFlag4Set())
|
||||
if (!getChild(i)->isChangeable())
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -17,7 +17,7 @@ public:
|
|||
void leave_() override;
|
||||
bool isFailed() const override;
|
||||
bool isFinished() const override;
|
||||
bool isFlag4Set() const override;
|
||||
bool isChangeable() const override;
|
||||
bool handleMessage_(const ksys::Message& message) override;
|
||||
bool handleAck_(const ksys::MessageAck& message) override;
|
||||
void getCurrentName(sead::BufferedSafeString* name, ActionBase* last) const override;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionEventAddGameDataIntAction.h"
|
||||
#include "KingSystem/GameData/gdtManager.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -13,6 +14,14 @@ bool EventAddGameDataIntAction::init_(sead::Heap* heap) {
|
|||
|
||||
void EventAddGameDataIntAction::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
ksys::act::ai::Action::enter_(params);
|
||||
|
||||
if (mGameDataIntSrcName_d.isEmpty() || mGameDataIntDstName_d.isEmpty()) {
|
||||
setFailed();
|
||||
mFlags.set(Flag::Changeable);
|
||||
return;
|
||||
}
|
||||
|
||||
mIsReady = true;
|
||||
}
|
||||
|
||||
void EventAddGameDataIntAction::leave_() {
|
||||
|
@ -27,6 +36,32 @@ void EventAddGameDataIntAction::loadParams_() {
|
|||
|
||||
void EventAddGameDataIntAction::calc_() {
|
||||
ksys::act::ai::Action::calc_();
|
||||
|
||||
if (isFinished() || isFailed()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!mIsReady) {
|
||||
setFinished();
|
||||
mFlags.set(Flag::Changeable);
|
||||
return;
|
||||
}
|
||||
|
||||
mIsReady = false;
|
||||
auto* gdm = ksys::gdt::Manager::instance();
|
||||
if (gdm == nullptr) {
|
||||
setFailed();
|
||||
mFlags.set(Flag::Changeable);
|
||||
return;
|
||||
}
|
||||
|
||||
s32 value = 0;
|
||||
if (gdm->getParam().get().getS32(&value, mGameDataIntSrcName_d)) {
|
||||
if (*mIsSignInversion_d) {
|
||||
value = -value;
|
||||
}
|
||||
gdm->incrementS32(value, mGameDataIntDstName_d);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -24,6 +24,8 @@ protected:
|
|||
sead::SafeString mGameDataIntDstName_d{};
|
||||
// dynamic_param at offset 0x38
|
||||
sead::SafeString mGameDataIntSrcName_d{};
|
||||
|
||||
bool mIsReady{};
|
||||
};
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "Game/AI/Action/actionEventAddGameDataToRupeeAction.h"
|
||||
#include "KingSystem/GameData/gdtManager.h"
|
||||
#include "KingSystem/System/UIGlue.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -13,6 +15,19 @@ bool EventAddGameDataToRupeeAction::init_(sead::Heap* heap) {
|
|||
|
||||
void EventAddGameDataToRupeeAction::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
ksys::act::ai::Action::enter_(params);
|
||||
|
||||
s32 val = 0;
|
||||
auto* gdm = ksys::gdt::Manager::instance();
|
||||
if (!gdm->getParam().get().getS32(&val, mGameDataIntAddValueName_d)) {
|
||||
ksys::ui::initRupeeCounter();
|
||||
return;
|
||||
}
|
||||
|
||||
if (*mIsSignInversion_d) {
|
||||
val = -val;
|
||||
}
|
||||
gdm->incrementS32(val, "CurrentRupee");
|
||||
ksys::ui::initRupeeCounter();
|
||||
}
|
||||
|
||||
void EventAddGameDataToRupeeAction::leave_() {
|
||||
|
@ -26,6 +41,10 @@ void EventAddGameDataToRupeeAction::loadParams_() {
|
|||
|
||||
void EventAddGameDataToRupeeAction::calc_() {
|
||||
ksys::act::ai::Action::calc_();
|
||||
|
||||
if (!ksys::ui::isRupeeCounterActive()) {
|
||||
setFinished();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionEventAppearCheckPointNum.h"
|
||||
#include "Game/UI/uiUtils.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -11,6 +12,11 @@ bool EventAppearCheckPointNum::init_(sead::Heap* heap) {
|
|||
return ksys::act::ai::Action::init_(heap);
|
||||
}
|
||||
|
||||
bool EventAppearCheckPointNum::oneShot_() {
|
||||
ui::setShowCheckPoint(*mIconType_d, mGameDataIntTargetCounter_d);
|
||||
return ksys::act::ai::Action::oneShot_();
|
||||
}
|
||||
|
||||
void EventAppearCheckPointNum::loadParams_() {
|
||||
getDynamicParam(&mIconType_d, "IconType");
|
||||
getDynamicParam(&mGameDataIntTargetCounter_d, "GameDataIntTargetCounter");
|
||||
|
|
|
@ -14,6 +14,8 @@ public:
|
|||
void loadParams_() override;
|
||||
|
||||
protected:
|
||||
bool oneShot_() override;
|
||||
|
||||
// dynamic_param at offset 0x20
|
||||
int* mIconType_d{};
|
||||
// dynamic_param at offset 0x28
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionEventAppearFlyDistance.h"
|
||||
#include "Game/UI/uiUtils.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -10,6 +11,11 @@ bool EventAppearFlyDistance::init_(sead::Heap* heap) {
|
|||
return ksys::act::ai::Action::init_(heap);
|
||||
}
|
||||
|
||||
bool EventAppearFlyDistance::oneShot_() {
|
||||
ui::setShowFlyDistance(mGameDataFloatDistance_d);
|
||||
return ksys::act::ai::Action::oneShot_();
|
||||
}
|
||||
|
||||
void EventAppearFlyDistance::loadParams_() {
|
||||
getDynamicParam(&mGameDataFloatDistance_d, "GameDataFloatDistance");
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ public:
|
|||
void loadParams_() override;
|
||||
|
||||
protected:
|
||||
bool oneShot_() override;
|
||||
|
||||
// dynamic_param at offset 0x20
|
||||
sead::SafeString mGameDataFloatDistance_d{};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionEventAppearGolfCount.h"
|
||||
#include "Game/UI/uiUtils.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -10,6 +11,11 @@ bool EventAppearGolfCount::init_(sead::Heap* heap) {
|
|||
return ksys::act::ai::Action::init_(heap);
|
||||
}
|
||||
|
||||
bool EventAppearGolfCount::oneShot_() {
|
||||
ui::setShowGolfCount(mGameDataIntTargetCounter_d);
|
||||
return ksys::act::ai::Action::oneShot_();
|
||||
}
|
||||
|
||||
void EventAppearGolfCount::loadParams_() {
|
||||
getDynamicParam(&mGameDataIntTargetCounter_d, "GameDataIntTargetCounter");
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ public:
|
|||
void loadParams_() override;
|
||||
|
||||
protected:
|
||||
bool oneShot_() override;
|
||||
|
||||
// dynamic_param at offset 0x20
|
||||
sead::SafeString mGameDataIntTargetCounter_d{};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionEventAppearRaceResult.h"
|
||||
#include "Game/UI/uiUtils.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -10,6 +11,11 @@ bool EventAppearRaceResult::init_(sead::Heap* heap) {
|
|||
return ksys::act::ai::Action::init_(heap);
|
||||
}
|
||||
|
||||
bool EventAppearRaceResult::oneShot_() {
|
||||
ui::setShowRaceResult(*mResultType_d);
|
||||
return ksys::act::ai::Action::oneShot_();
|
||||
}
|
||||
|
||||
void EventAppearRaceResult::loadParams_() {
|
||||
getDynamicParam(&mResultType_d, "ResultType");
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ public:
|
|||
void loadParams_() override;
|
||||
|
||||
protected:
|
||||
bool oneShot_() override;
|
||||
|
||||
// dynamic_param at offset 0x20
|
||||
int* mResultType_d{};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionEventHoverNullASPlay.h"
|
||||
#include "KingSystem/Physics/System/physInstanceSet.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -12,9 +13,13 @@ bool EventHoverNullASPlay::init_(sead::Heap* heap) {
|
|||
|
||||
void EventHoverNullASPlay::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
EventHoverNullASPlayBase::enter_(params);
|
||||
|
||||
mCCAccessor.changeMotionType(mActor->getCharacterController(), ksys::act::MotionType::Hover);
|
||||
}
|
||||
|
||||
void EventHoverNullASPlay::leave_() {
|
||||
resetAllMotion(mActor);
|
||||
|
||||
EventHoverNullASPlayBase::leave_();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
#pragma once
|
||||
|
||||
#include "Game/AI/Action/actionEventHoverNullASPlayBase.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/ActorSystem/actAiAction.h"
|
||||
#include "KingSystem/ActorSystem/actCCAccessor.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -18,6 +20,13 @@ public:
|
|||
|
||||
protected:
|
||||
void calc_() override;
|
||||
|
||||
void resetAllMotion(ksys::act::Actor* actor) {
|
||||
mCCAccessor.resetRigidBodyMotion(actor);
|
||||
mCCAccessor.resetMotionType(actor->getCharacterController());
|
||||
}
|
||||
|
||||
ksys::act::CCAccessor mCCAccessor;
|
||||
};
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -12,7 +12,8 @@ bool EventHoverNullASPlayBase::init_(sead::Heap* heap) {
|
|||
}
|
||||
|
||||
void EventHoverNullASPlayBase::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
ksys::act::ai::Action::enter_(params);
|
||||
playAS(mASName_d.cstr(), *mIsIgnoreSame_d, *mASSlot_d, *mSequenceBank_d, -1.0);
|
||||
mFlags.set(ksys::act::ai::Action::Flag::Changeable);
|
||||
}
|
||||
|
||||
void EventHoverNullASPlayBase::leave_() {
|
||||
|
@ -28,7 +29,9 @@ void EventHoverNullASPlayBase::loadParams_() {
|
|||
}
|
||||
|
||||
void EventHoverNullASPlayBase::calc_() {
|
||||
ksys::act::ai::Action::calc_();
|
||||
if (!isFailed() && isFinishedAS(*mASSlot_d, *mSequenceBank_d)) {
|
||||
setFinished();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -12,7 +12,7 @@ bool Fork::init_(sead::Heap* heap) {
|
|||
|
||||
void Fork::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
if (*mIsChangeable_s)
|
||||
mFlags.set(Flag::_4);
|
||||
mFlags.set(Flag::Changeable);
|
||||
}
|
||||
|
||||
void Fork::leave_() {
|
||||
|
@ -37,7 +37,7 @@ void Fork::setEndState() {
|
|||
setFailed();
|
||||
break;
|
||||
case 2:
|
||||
mFlags.set(ksys::act::ai::ActionBase::Flag::_4);
|
||||
mFlags.set(ksys::act::ai::ActionBase::Flag::Changeable);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ bool GameDataAddFloat::oneShot_() {
|
|||
auto* gdm = ksys::gdt::Manager::instance();
|
||||
if (!gdm) {
|
||||
setFailed();
|
||||
mFlags.set(Flag::_4);
|
||||
mFlags.set(Flag::Changeable);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ bool GameDataAddInt::oneShot_() {
|
|||
auto* gdm = ksys::gdt::Manager::instance();
|
||||
if (!gdm) {
|
||||
setFailed();
|
||||
mFlags.set(Flag::_4);
|
||||
mFlags.set(Flag::Changeable);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ bool GameDataAddVec3::oneShot_() {
|
|||
auto* gdm = ksys::gdt::Manager::instance();
|
||||
if (!gdm) {
|
||||
setFailed();
|
||||
mFlags.set(Flag::_4);
|
||||
mFlags.set(Flag::Changeable);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "Game/AI/Action/actionKorokFlowerAppear.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBody.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -11,7 +13,18 @@ bool KorokFlowerAppear::init_(sead::Heap* heap) {
|
|||
}
|
||||
|
||||
void KorokFlowerAppear::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
ksys::act::ai::Action::enter_(params);
|
||||
mActor->getActorFlags2().reset(ksys::act::Actor::ActorFlag2::_20);
|
||||
|
||||
auto* main_body = mActor->getMainBody();
|
||||
auto* tgt_body = mActor->getTgtBody();
|
||||
if (main_body != nullptr && tgt_body != nullptr) {
|
||||
main_body->setContactNone();
|
||||
main_body->resetFlag200();
|
||||
tgt_body->setContactNone();
|
||||
tgt_body->resetFlag200();
|
||||
}
|
||||
mFlags.set(Flag::Changeable);
|
||||
setFinished();
|
||||
}
|
||||
|
||||
void KorokFlowerAppear::leave_() {
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "Game/AI/Action/actionKorokFlowerVanish.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBody.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -11,7 +13,17 @@ bool KorokFlowerVanish::init_(sead::Heap* heap) {
|
|||
}
|
||||
|
||||
void KorokFlowerVanish::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
ksys::act::ai::Action::enter_(params);
|
||||
mActor->emitBasicSigOn();
|
||||
mActor->getActorFlags2().set(ksys::act::Actor::ActorFlag2::_20);
|
||||
|
||||
auto* main_body = mActor->getMainBody();
|
||||
auto* tgt_body = mActor->getTgtBody();
|
||||
if (main_body != nullptr && tgt_body != nullptr) {
|
||||
main_body->setContactAll();
|
||||
main_body->setFlag200();
|
||||
tgt_body->setContactAll();
|
||||
tgt_body->setFlag200();
|
||||
}
|
||||
}
|
||||
|
||||
void KorokFlowerVanish::leave_() {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game/AI/Action/actionKorokFlowerWait.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -21,7 +22,10 @@ void KorokFlowerWait::leave_() {
|
|||
void KorokFlowerWait::loadParams_() {}
|
||||
|
||||
void KorokFlowerWait::calc_() {
|
||||
ksys::act::ai::Action::calc_();
|
||||
if (mActor->checkBasicSig()) {
|
||||
mFlags.set(Flag::Changeable);
|
||||
setFinished();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
#include "Game/AI/Action/actionKorokTargetMove.h"
|
||||
#include <math/seadMatrixCalcCommon.hpp>
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBody.h"
|
||||
#include "KingSystem/System/VFR.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -26,7 +30,24 @@ void KorokTargetMove::loadParams_() {
|
|||
}
|
||||
|
||||
void KorokTargetMove::calc_() {
|
||||
ksys::act::ai::Action::calc_();
|
||||
auto* actor = mActor;
|
||||
auto* body = actor->getMainBody();
|
||||
if (*mIsBezier_d || *mIsTargetWarp_m) {
|
||||
body->setPosition(*mTargetPos_d, true);
|
||||
setFinished();
|
||||
return;
|
||||
}
|
||||
|
||||
sead::Matrix34f mtx = actor->getMtx();
|
||||
sead::Vector3f pos(mtx(0, 3), mtx(1, 3), mtx(2, 3));
|
||||
|
||||
ksys::VFR::chaseVec(&pos, *mTargetPos_d, *mSpeed_d);
|
||||
body->changePosition(pos, true);
|
||||
|
||||
sead::Vector3f t = pos - *mTargetPos_d;
|
||||
if (t.length() < *mSpeed_d) {
|
||||
setFinished();
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "Game/AI/Action/actionKorokTargetWait.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBody.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -11,7 +13,7 @@ bool KorokTargetWait::init_(sead::Heap* heap) {
|
|||
}
|
||||
|
||||
void KorokTargetWait::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
ksys::act::ai::Action::enter_(params);
|
||||
mTime = 0;
|
||||
}
|
||||
|
||||
void KorokTargetWait::leave_() {
|
||||
|
@ -24,7 +26,13 @@ void KorokTargetWait::loadParams_() {
|
|||
}
|
||||
|
||||
void KorokTargetWait::calc_() {
|
||||
ksys::act::ai::Action::calc_();
|
||||
mActor->getMainBody()->setLinearVelocity(sead::Vector3f::zero);
|
||||
if (mTime >= *mDynStopTime_d) {
|
||||
mFlags.set(ksys::act::ai::Action::Flag::Changeable);
|
||||
setFinished();
|
||||
} else {
|
||||
mTime += 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -22,6 +22,8 @@ protected:
|
|||
const float* mSpeedDecreRate_s{};
|
||||
// dynamic_param at offset 0x28
|
||||
float* mDynStopTime_d{};
|
||||
|
||||
f32 mTime;
|
||||
};
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "Game/AI/Action/actionNPCStartTurnToPlayer.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/Utils/Thread/Message.h"
|
||||
|
||||
namespace uking::action {
|
||||
|
||||
|
@ -10,6 +12,14 @@ bool NPCStartTurnToPlayer::init_(sead::Heap* heap) {
|
|||
return ksys::act::ai::Action::init_(heap);
|
||||
}
|
||||
|
||||
bool NPCStartTurnToPlayer::oneShot_() {
|
||||
mValue = *mTurnRange_d * 0.5f;
|
||||
|
||||
sendMessage(*mActor->getMesTransceiverId(), ksys::MessageType(0x8000078), &mValue);
|
||||
|
||||
return ksys::act::ai::Action::oneShot_();
|
||||
}
|
||||
|
||||
void NPCStartTurnToPlayer::loadParams_() {
|
||||
getDynamicParam(&mTurnRange_d, "TurnRange");
|
||||
}
|
||||
|
|
|
@ -14,8 +14,12 @@ public:
|
|||
void loadParams_() override;
|
||||
|
||||
protected:
|
||||
bool oneShot_() override;
|
||||
|
||||
// dynamic_param at offset 0x20
|
||||
float* mTurnRange_d{};
|
||||
|
||||
float mValue;
|
||||
};
|
||||
|
||||
} // namespace uking::action
|
||||
|
|
|
@ -15,7 +15,7 @@ void SendMessage::enter_(ksys::act::ai::InlineParamPack* params) {
|
|||
if (*mSendTiming_s == 0)
|
||||
doSendMessage();
|
||||
|
||||
mFlags.set(Flag::_4);
|
||||
mFlags.set(Flag::Changeable);
|
||||
setFinished();
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,11 @@ int getItemGeneralLife(const char* name);
|
|||
// TODO: move this to yet another translation unit (TBD but not the same one as the above)
|
||||
void addItemForDebug(const sead::SafeString& name, int value);
|
||||
|
||||
void setShowCheckPoint(s32 icon_type, const sead::SafeString& counter_name);
|
||||
void setShowFlyDistance(const sead::SafeString& distance);
|
||||
void setShowGolfCount(const sead::SafeString& counter_name);
|
||||
void setShowRaceResult(s32 result_type);
|
||||
|
||||
int countCookResultsCheck(const sead::SafeString& name, s32 effect_type);
|
||||
int countCookResultsAllOk(const sead::SafeString& name);
|
||||
int getItemValue(const sead::SafeString& name);
|
||||
|
|
|
@ -1,126 +1,127 @@
|
|||
target_sources(uking PRIVATE
|
||||
Attention/actAttention.cpp
|
||||
Attention/actAttention.h
|
||||
Attention/actAttention.cpp
|
||||
Attention/actAttention.h
|
||||
|
||||
Awareness/actAwareness.cpp
|
||||
Awareness/actAwareness.h
|
||||
Awareness/actAwarenessDefs.cpp
|
||||
Awareness/actAwarenessDefs.h
|
||||
Awareness/actAwarenessInstance.cpp
|
||||
Awareness/actAwarenessInstance.h
|
||||
Awareness/actAwareness.cpp
|
||||
Awareness/actAwareness.h
|
||||
Awareness/actAwarenessDefs.cpp
|
||||
Awareness/actAwarenessDefs.h
|
||||
Awareness/actAwarenessInstance.cpp
|
||||
Awareness/actAwarenessInstance.h
|
||||
|
||||
LOD/actLodState.cpp
|
||||
LOD/actLodState.h
|
||||
LOD/actLodState.cpp
|
||||
LOD/actLodState.h
|
||||
|
||||
Profiles/actPlayerBase.cpp
|
||||
Profiles/actPlayerBase.h
|
||||
Profiles/actRopeBase.cpp
|
||||
Profiles/actRopeBase.h
|
||||
Profiles/actPlayerBase.cpp
|
||||
Profiles/actPlayerBase.h
|
||||
Profiles/actRopeBase.cpp
|
||||
Profiles/actRopeBase.h
|
||||
|
||||
actActor.cpp
|
||||
actActor.h
|
||||
actActorCaptureMgr.cpp
|
||||
actActorCaptureMgr.h
|
||||
actActorConstDataAccess.cpp
|
||||
actActorConstDataAccess.h
|
||||
actActorCreator.cpp
|
||||
actActorCreator.h
|
||||
actActorEditorNode.cpp
|
||||
actActorEditorNode.h
|
||||
actActorFactory.cpp
|
||||
actActorFactory.h
|
||||
actActorHeapUtil.cpp
|
||||
actActorHeapUtil.h
|
||||
actActorLimiter.cpp
|
||||
actActorLimiter.h
|
||||
actActorLinkConstDataAccess.cpp
|
||||
actActorLinkConstDataAccess.h
|
||||
actActorParam.cpp
|
||||
actActorParam.h
|
||||
actActorParamMgr.cpp
|
||||
actActorParamMgr.h
|
||||
actActorSystem.cpp
|
||||
actActorSystem.h
|
||||
actActorTemplate.cpp
|
||||
actActorTemplate.h
|
||||
actActorUtil.cpp
|
||||
actActorUtil.h
|
||||
actAiAction.cpp
|
||||
actAiAction.h
|
||||
actAiActionBase.cpp
|
||||
actAiActionBase.h
|
||||
actAiAi.cpp
|
||||
actAiAi.h
|
||||
actAiBehavior.cpp
|
||||
actAiBehavior.h
|
||||
actAiClassDef.cpp
|
||||
actAiClassDef.h
|
||||
actAiInlineParam.h
|
||||
actAiParam.cpp
|
||||
actAiParam.h
|
||||
actAiQuery.cpp
|
||||
actAiQuery.h
|
||||
actAiQueries.cpp
|
||||
actAiQueries.h
|
||||
actAiRoot.cpp
|
||||
actAiRoot.h
|
||||
actASSetting.cpp
|
||||
actASSetting.h
|
||||
actBaseProc.cpp
|
||||
actBaseProc.h
|
||||
actBaseProcCreateTask.cpp
|
||||
actBaseProcCreateTask.h
|
||||
actBaseProcCreateTaskSelector.cpp
|
||||
actBaseProcCreateTaskSelector.h
|
||||
actBaseProcDeleter.cpp
|
||||
actBaseProcDeleter.h
|
||||
actBaseProcHandle.cpp
|
||||
actBaseProcHandle.h
|
||||
actBaseProcHeapMgr.cpp
|
||||
actBaseProcHeapMgr.h
|
||||
actBaseProcInitializer.cpp
|
||||
actBaseProcInitializer.h
|
||||
actBaseProcJob.cpp
|
||||
actBaseProcJob.h
|
||||
actBaseProcJobHandler.cpp
|
||||
actBaseProcJobHandler.h
|
||||
actBaseProcJobQue.cpp
|
||||
actBaseProcJobQue.h
|
||||
actBaseProcLink.cpp
|
||||
actBaseProcLink.h
|
||||
actBaseProcMap.cpp
|
||||
actBaseProcMap.h
|
||||
actBaseProcMgr.cpp
|
||||
actBaseProcMgr.h
|
||||
actBaseProcUnit.cpp
|
||||
actBaseProcUnit.h
|
||||
actClusteredRenderer.cpp
|
||||
actClusteredRenderer.h
|
||||
actDebug.cpp
|
||||
actDebug.h
|
||||
actGlobalParameter.cpp
|
||||
actGlobalParameter.h
|
||||
actInfoCommon.cpp
|
||||
actInfoCommon.h
|
||||
actInfoData.cpp
|
||||
actInfoData.h
|
||||
actInstParamPack.cpp
|
||||
actInstParamPack.h
|
||||
actLifeRecoveryInfo.h
|
||||
actPhysicsConstraints.cpp
|
||||
actPhysicsConstraints.h
|
||||
actPhysicsUserTag.cpp
|
||||
actPhysicsUserTag.h
|
||||
actPlayerInfo.cpp
|
||||
actPlayerInfo.h
|
||||
actTag.h
|
||||
actActor.cpp
|
||||
actActor.h
|
||||
actActorCaptureMgr.cpp
|
||||
actActorCaptureMgr.h
|
||||
actActorConstDataAccess.cpp
|
||||
actActorConstDataAccess.h
|
||||
actActorCreator.cpp
|
||||
actActorCreator.h
|
||||
actActorEditorNode.cpp
|
||||
actActorEditorNode.h
|
||||
actActorFactory.cpp
|
||||
actActorFactory.h
|
||||
actActorHeapUtil.cpp
|
||||
actActorHeapUtil.h
|
||||
actActorLimiter.cpp
|
||||
actActorLimiter.h
|
||||
actActorLinkConstDataAccess.cpp
|
||||
actActorLinkConstDataAccess.h
|
||||
actActorParam.cpp
|
||||
actActorParam.h
|
||||
actActorParamMgr.cpp
|
||||
actActorParamMgr.h
|
||||
actActorSystem.cpp
|
||||
actActorSystem.h
|
||||
actActorTemplate.cpp
|
||||
actActorTemplate.h
|
||||
actActorUtil.cpp
|
||||
actActorUtil.h
|
||||
actAiAction.cpp
|
||||
actAiAction.h
|
||||
actAiActionBase.cpp
|
||||
actAiActionBase.h
|
||||
actAiAi.cpp
|
||||
actAiAi.h
|
||||
actAiBehavior.cpp
|
||||
actAiBehavior.h
|
||||
actAiClassDef.cpp
|
||||
actAiClassDef.h
|
||||
actAiInlineParam.h
|
||||
actAiParam.cpp
|
||||
actAiParam.h
|
||||
actAiQuery.cpp
|
||||
actAiQuery.h
|
||||
actAiQueries.cpp
|
||||
actAiQueries.h
|
||||
actAiRoot.cpp
|
||||
actAiRoot.h
|
||||
actASSetting.cpp
|
||||
actASSetting.h
|
||||
actBaseProc.cpp
|
||||
actBaseProc.h
|
||||
actBaseProcCreateTask.cpp
|
||||
actBaseProcCreateTask.h
|
||||
actBaseProcCreateTaskSelector.cpp
|
||||
actBaseProcCreateTaskSelector.h
|
||||
actBaseProcDeleter.cpp
|
||||
actBaseProcDeleter.h
|
||||
actBaseProcHandle.cpp
|
||||
actBaseProcHandle.h
|
||||
actBaseProcHeapMgr.cpp
|
||||
actBaseProcHeapMgr.h
|
||||
actBaseProcInitializer.cpp
|
||||
actBaseProcInitializer.h
|
||||
actBaseProcJob.cpp
|
||||
actBaseProcJob.h
|
||||
actBaseProcJobHandler.cpp
|
||||
actBaseProcJobHandler.h
|
||||
actBaseProcJobQue.cpp
|
||||
actBaseProcJobQue.h
|
||||
actBaseProcLink.cpp
|
||||
actBaseProcLink.h
|
||||
actBaseProcMap.cpp
|
||||
actBaseProcMap.h
|
||||
actBaseProcMgr.cpp
|
||||
actBaseProcMgr.h
|
||||
actBaseProcUnit.cpp
|
||||
actBaseProcUnit.h
|
||||
actCCAccessor.h
|
||||
actClusteredRenderer.cpp
|
||||
actClusteredRenderer.h
|
||||
actDebug.cpp
|
||||
actDebug.h
|
||||
actGlobalParameter.cpp
|
||||
actGlobalParameter.h
|
||||
actInfoCommon.cpp
|
||||
actInfoCommon.h
|
||||
actInfoData.cpp
|
||||
actInfoData.h
|
||||
actInstParamPack.cpp
|
||||
actInstParamPack.h
|
||||
actLifeRecoveryInfo.h
|
||||
actPhysicsConstraints.cpp
|
||||
actPhysicsConstraints.h
|
||||
actPhysicsUserTag.cpp
|
||||
actPhysicsUserTag.h
|
||||
actPlayerInfo.cpp
|
||||
actPlayerInfo.h
|
||||
actTag.h
|
||||
|
||||
actionDummyAction.cpp
|
||||
actionDummyAction.h
|
||||
aiDummyAi.cpp
|
||||
aiDummyAi.h
|
||||
behaviorDummyBehavior.cpp
|
||||
behaviorDummyBehavior.h
|
||||
queryDummyQuery.cpp
|
||||
queryDummyQuery.h
|
||||
)
|
||||
actionDummyAction.cpp
|
||||
actionDummyAction.h
|
||||
aiDummyAi.cpp
|
||||
aiDummyAi.h
|
||||
behaviorDummyBehavior.cpp
|
||||
behaviorDummyBehavior.h
|
||||
queryDummyQuery.cpp
|
||||
queryDummyQuery.h
|
||||
)
|
||||
|
|
|
@ -40,9 +40,10 @@ class UMii;
|
|||
|
||||
namespace phys {
|
||||
class StaticCompoundRigidBodyGroup;
|
||||
class Physics;
|
||||
class InstanceSet;
|
||||
class Reaction;
|
||||
class RigidBody;
|
||||
class CharacterController;
|
||||
} // namespace phys
|
||||
|
||||
namespace res {
|
||||
|
@ -112,6 +113,7 @@ public:
|
|||
|
||||
enum class ActorFlag2 {
|
||||
InstEvent = 0x8,
|
||||
_20 = 0x20,
|
||||
NoDistanceCheck = 0x80,
|
||||
Alive = 0x4000000,
|
||||
};
|
||||
|
@ -140,12 +142,19 @@ public:
|
|||
const sead::Vector3f& getVelocity() const { return mVelocity; }
|
||||
const sead::Vector3f& getAngVelocity() const { return mAngVelocity; }
|
||||
const sead::Vector3f& getScale() const { return mScale; }
|
||||
phys::RigidBody* getMainBody() const { return mMainBody; }
|
||||
phys::RigidBody* getTgtBody() const { return mTgtBody; }
|
||||
|
||||
const MesTransceiverId* getMesTransceiverId() const { return mMsgTransceiver.getId(); }
|
||||
|
||||
f32 getDeleteDistance() const {
|
||||
return sead::Mathf::sqrt(sead::Mathf::clampMin(mDeleteDistanceSq, 0.0f));
|
||||
}
|
||||
|
||||
void setDeleteDistance(f32 distance) { mDeleteDistanceSq = sead::Mathf::square(distance); }
|
||||
|
||||
phys::CharacterController* getCharacterController();
|
||||
|
||||
void clearFlag(ActorFlag flag);
|
||||
bool checkFlag(ActorFlag flag) const;
|
||||
void setFlag(ActorFlag flag);
|
||||
|
@ -278,6 +287,7 @@ public:
|
|||
|
||||
void emitBasicSigOn();
|
||||
void emitBasicSigOff();
|
||||
bool checkBasicSig() const;
|
||||
|
||||
void nullsub_4649(); // Some kind of logging which has been excluded from the build?
|
||||
|
||||
|
@ -386,7 +396,7 @@ protected:
|
|||
/* 0x560 */ as::ASList* mASList = nullptr;
|
||||
/* 0x568 */ xlink::XLink* mXLink = nullptr;
|
||||
/* 0x570 */ ActorParam* mActorParam = nullptr;
|
||||
/* 0x578 */ phys::Physics* mPhysics = nullptr;
|
||||
/* 0x578 */ phys::InstanceSet* mPhysics = nullptr;
|
||||
/* 0x580 */ PhysicsConstraints mConstraints;
|
||||
/* 0x598 */ void* _598 = nullptr;
|
||||
/* 0x5a0 */ BoneControl* mBoneControl = nullptr;
|
||||
|
|
|
@ -13,6 +13,7 @@ struct AIDefSet;
|
|||
class Message;
|
||||
class MessageAck;
|
||||
struct MesTransceiverId;
|
||||
struct MessageType;
|
||||
} // namespace ksys
|
||||
|
||||
namespace ksys::res {
|
||||
|
@ -69,6 +70,8 @@ public:
|
|||
void leave();
|
||||
bool oneShot(InlineParamPack* params);
|
||||
|
||||
bool sendMessage(const MesTransceiverId& dest, const MessageType& type, void* user_data);
|
||||
|
||||
Action* getCurrentAction();
|
||||
bool handleMessage(const Message& message);
|
||||
bool handleAck(const MessageAck& message);
|
||||
|
@ -78,9 +81,12 @@ public:
|
|||
const char* getClassName() const;
|
||||
const char* getName() const;
|
||||
|
||||
void playAS(const char* name, bool repeat, u32 slot, u32 seq_bank, f32 t);
|
||||
bool isFinishedAS(u32 slot, u32 seq_bank);
|
||||
|
||||
virtual bool isFailed() const { return mFlags.isOn(Flag::Failed); }
|
||||
virtual bool isFinished() const { return mFlags.isOn(Flag::Finished); }
|
||||
virtual bool isFlag4Set() const { return mFlags.isOn(Flag::_4); }
|
||||
virtual bool isChangeable() const { return mFlags.isOn(Flag::Changeable); }
|
||||
|
||||
virtual bool hasPreDeleteCb() { return false; }
|
||||
virtual bool hasUpdateForPreDeleteCb() { return false; }
|
||||
|
@ -123,7 +129,7 @@ protected:
|
|||
enum class Flag : u8 {
|
||||
Finished = 1,
|
||||
Failed = 2,
|
||||
_4 = 4,
|
||||
Changeable = 4,
|
||||
TriggerAction = 8,
|
||||
DynamicParamChild = 0x10,
|
||||
_20 = 0x20,
|
||||
|
@ -154,7 +160,7 @@ protected:
|
|||
void resetFlags() {
|
||||
mFlags.reset(Flag::Failed);
|
||||
mFlags.reset(Flag::Finished);
|
||||
mFlags.reset(Flag::_4);
|
||||
mFlags.reset(Flag::Changeable);
|
||||
}
|
||||
|
||||
res::AIProgram* getAIProg() const;
|
||||
|
|
|
@ -186,12 +186,12 @@ bool Ai::reenter(ActionBase* other, const sead::SafeString& context) {
|
|||
return child->takeOver(other_child, getName());
|
||||
}
|
||||
|
||||
bool Ai::isFlag4Set() const {
|
||||
bool Ai::isChangeable() const {
|
||||
auto* child = getCurrentChild();
|
||||
if (child)
|
||||
return child->isFlag4Set();
|
||||
return child->isChangeable();
|
||||
|
||||
return mFlags.isOn(Flag::_4);
|
||||
return mFlags.isOn(Flag::Changeable);
|
||||
}
|
||||
|
||||
ActionBase* Ai::getCurrentChild() const {
|
||||
|
|
|
@ -11,7 +11,7 @@ public:
|
|||
explicit Ai(const InitArg& arg);
|
||||
~Ai() override;
|
||||
|
||||
bool isFlag4Set() const override;
|
||||
bool isChangeable() const override;
|
||||
void calc() override;
|
||||
ActionBase* changeChildLater(const sead::SafeString& name) override;
|
||||
void getParams(ParamNameTypePairs* pairs, bool update_use_count) const override;
|
||||
|
|
|
@ -30,7 +30,7 @@ public:
|
|||
explicit RootAi(const InitArg& arg);
|
||||
~RootAi() override;
|
||||
|
||||
bool isFlag4Set() const override { return true; }
|
||||
bool isChangeable() const override { return true; }
|
||||
bool init_(sead::Heap* heap) override;
|
||||
void enter_(InlineParamPack* params) override;
|
||||
void leave_() override;
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
#pragma once
|
||||
|
||||
namespace ksys::phys {
|
||||
class CharacterController;
|
||||
};
|
||||
|
||||
namespace ksys::act {
|
||||
|
||||
class Actor;
|
||||
|
||||
// todo: move?
|
||||
enum class MotionType {
|
||||
Hover = 3,
|
||||
};
|
||||
|
||||
class CCAccessor {
|
||||
public:
|
||||
CCAccessor();
|
||||
~CCAccessor();
|
||||
|
||||
void changeMotionType(phys::CharacterController* cc, MotionType motion_type);
|
||||
void resetRigidBodyMotion(Actor* actor);
|
||||
void resetMotionType(phys::CharacterController* cc);
|
||||
};
|
||||
|
||||
} // namespace ksys::act
|
|
@ -5,7 +5,7 @@ namespace ksys::act::ai {
|
|||
DummyAction::DummyAction(const InitArg& arg) : Action(arg) {}
|
||||
|
||||
void DummyAction::enter_(InlineParamPack* params) {
|
||||
mFlags.set(ActionBase::Flag::_4);
|
||||
mFlags.set(ActionBase::Flag::Changeable);
|
||||
}
|
||||
|
||||
void DummyAction::calc_() {}
|
||||
|
|
|
@ -9,7 +9,7 @@ class DummyAi : public Ai {
|
|||
public:
|
||||
explicit DummyAi(const InitArg& arg);
|
||||
|
||||
bool isFlag4Set() const override { return true; }
|
||||
bool isChangeable() const override { return true; }
|
||||
void enter_(InlineParamPack* params) override;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -1,193 +1,195 @@
|
|||
target_sources(uking PRIVATE
|
||||
Cloth/physClothParam.cpp
|
||||
Cloth/physClothParam.h
|
||||
Cloth/physClothResource.cpp
|
||||
Cloth/physClothResource.h
|
||||
CharacterController/physCharacterController.h
|
||||
|
||||
Constraint/physConstraint.cpp
|
||||
Constraint/physConstraint.h
|
||||
Cloth/physClothParam.cpp
|
||||
Cloth/physClothParam.h
|
||||
Cloth/physClothResource.cpp
|
||||
Cloth/physClothResource.h
|
||||
|
||||
Ragdoll/physRagdollConfig.cpp
|
||||
Ragdoll/physRagdollConfig.h
|
||||
Ragdoll/physRagdollControllerKeyList.h
|
||||
Ragdoll/physRagdollControllerKeyList.cpp
|
||||
Ragdoll/physRagdollController.cpp
|
||||
Ragdoll/physRagdollController.h
|
||||
Ragdoll/physRagdollControllerMgr.cpp
|
||||
Ragdoll/physRagdollControllerMgr.h
|
||||
Ragdoll/physRagdollParam.cpp
|
||||
Ragdoll/physRagdollParam.h
|
||||
Ragdoll/physRagdollResource.cpp
|
||||
Ragdoll/physRagdollResource.h
|
||||
Ragdoll/physRagdollRigidBody.cpp
|
||||
Ragdoll/physRagdollRigidBody.h
|
||||
Constraint/physConstraint.cpp
|
||||
Constraint/physConstraint.h
|
||||
|
||||
Rig/physBoneAccessor.cpp
|
||||
Rig/physBoneAccessor.h
|
||||
Rig/physModelBoneAccessor.cpp
|
||||
Rig/physModelBoneAccessor.h
|
||||
Rig/physSkeletonMapper.cpp
|
||||
Rig/physSkeletonMapper.h
|
||||
Ragdoll/physRagdollConfig.cpp
|
||||
Ragdoll/physRagdollConfig.h
|
||||
Ragdoll/physRagdollControllerKeyList.h
|
||||
Ragdoll/physRagdollControllerKeyList.cpp
|
||||
Ragdoll/physRagdollController.cpp
|
||||
Ragdoll/physRagdollController.h
|
||||
Ragdoll/physRagdollControllerMgr.cpp
|
||||
Ragdoll/physRagdollControllerMgr.h
|
||||
Ragdoll/physRagdollParam.cpp
|
||||
Ragdoll/physRagdollParam.h
|
||||
Ragdoll/physRagdollResource.cpp
|
||||
Ragdoll/physRagdollResource.h
|
||||
Ragdoll/physRagdollRigidBody.cpp
|
||||
Ragdoll/physRagdollRigidBody.h
|
||||
|
||||
RigidBody/physEdgeRigidBodyParam.cpp
|
||||
RigidBody/physEdgeRigidBodyParam.h
|
||||
RigidBody/physMotionAccessor.cpp
|
||||
RigidBody/physMotionAccessor.h
|
||||
RigidBody/physRigidBody.cpp
|
||||
RigidBody/physRigidBody.h
|
||||
RigidBody/physRigidBodyAccessor.cpp
|
||||
RigidBody/physRigidBodyAccessor.h
|
||||
RigidBody/physRigidBodyContactEvent.h
|
||||
RigidBody/physRigidBodyFromResource.cpp
|
||||
RigidBody/physRigidBodyFromResource.h
|
||||
RigidBody/physRigidBodyFromShape.cpp
|
||||
RigidBody/physRigidBodyFromShape.h
|
||||
RigidBody/physRigidBodyMotionEntity.cpp
|
||||
RigidBody/physRigidBodyMotionEntity.h
|
||||
RigidBody/physRigidBodyMotionSensor.cpp
|
||||
RigidBody/physRigidBodyMotionSensor.h
|
||||
RigidBody/physRigidBodyParam.cpp
|
||||
RigidBody/physRigidBodyParam.h
|
||||
RigidBody/physRigidBodyRequestMgr.cpp
|
||||
RigidBody/physRigidBodyRequestMgr.h
|
||||
RigidBody/physRigidBodyResource.cpp
|
||||
RigidBody/physRigidBodyResource.h
|
||||
RigidBody/physRigidBodySet.cpp
|
||||
RigidBody/physRigidBodySet.h
|
||||
RigidBody/physRigidBodySetParam.cpp
|
||||
RigidBody/physRigidBodySetParam.h
|
||||
Rig/physBoneAccessor.cpp
|
||||
Rig/physBoneAccessor.h
|
||||
Rig/physModelBoneAccessor.cpp
|
||||
Rig/physModelBoneAccessor.h
|
||||
Rig/physSkeletonMapper.cpp
|
||||
Rig/physSkeletonMapper.h
|
||||
|
||||
RigidBody/Shape/Box/physBoxRigidBody.cpp
|
||||
RigidBody/Shape/Box/physBoxRigidBody.h
|
||||
RigidBody/Shape/Box/physBoxShape.cpp
|
||||
RigidBody/Shape/Box/physBoxShape.h
|
||||
RigidBody/Shape/BoxWater/physBoxWaterRigidBody.cpp
|
||||
RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h
|
||||
RigidBody/Shape/BoxWater/physBoxWaterShape.cpp
|
||||
RigidBody/Shape/BoxWater/physBoxWaterShape.h
|
||||
RigidBody/Shape/Capsule/physCapsuleRigidBody.cpp
|
||||
RigidBody/Shape/Capsule/physCapsuleRigidBody.h
|
||||
RigidBody/Shape/Capsule/physCapsuleShape.cpp
|
||||
RigidBody/Shape/Capsule/physCapsuleShape.h
|
||||
RigidBody/Shape/CharacterPrism/physCharacterPrismShape.cpp
|
||||
RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h
|
||||
RigidBody/Shape/Cylinder/physCylinderRigidBody.cpp
|
||||
RigidBody/Shape/Cylinder/physCylinderRigidBody.h
|
||||
RigidBody/Shape/Cylinder/physCylinderShape.cpp
|
||||
RigidBody/Shape/Cylinder/physCylinderShape.h
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.cpp
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterShape.cpp
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterShape.h
|
||||
RigidBody/Shape/List/physListShape.cpp
|
||||
RigidBody/Shape/List/physListShape.h
|
||||
RigidBody/Shape/List/physListShapeRigidBody.cpp
|
||||
RigidBody/Shape/List/physListShapeRigidBody.h
|
||||
RigidBody/Shape/Polytope/physPolytopeRigidBody.cpp
|
||||
RigidBody/Shape/Polytope/physPolytopeRigidBody.h
|
||||
RigidBody/Shape/Polytope/physPolytopeShape.cpp
|
||||
RigidBody/Shape/Polytope/physPolytopeShape.h
|
||||
RigidBody/Shape/Sphere/physSphereRigidBody.cpp
|
||||
RigidBody/Shape/Sphere/physSphereRigidBody.h
|
||||
RigidBody/Shape/Sphere/physSphereShape.cpp
|
||||
RigidBody/Shape/Sphere/physSphereShape.h
|
||||
RigidBody/Shape/physShape.h
|
||||
RigidBody/Shape/physShapeParamObj.cpp
|
||||
RigidBody/Shape/physShapeParamObj.h
|
||||
RigidBody/physEdgeRigidBodyParam.cpp
|
||||
RigidBody/physEdgeRigidBodyParam.h
|
||||
RigidBody/physMotionAccessor.cpp
|
||||
RigidBody/physMotionAccessor.h
|
||||
RigidBody/physRigidBody.cpp
|
||||
RigidBody/physRigidBody.h
|
||||
RigidBody/physRigidBodyAccessor.cpp
|
||||
RigidBody/physRigidBodyAccessor.h
|
||||
RigidBody/physRigidBodyContactEvent.h
|
||||
RigidBody/physRigidBodyFromResource.cpp
|
||||
RigidBody/physRigidBodyFromResource.h
|
||||
RigidBody/physRigidBodyFromShape.cpp
|
||||
RigidBody/physRigidBodyFromShape.h
|
||||
RigidBody/physRigidBodyMotionEntity.cpp
|
||||
RigidBody/physRigidBodyMotionEntity.h
|
||||
RigidBody/physRigidBodyMotionSensor.cpp
|
||||
RigidBody/physRigidBodyMotionSensor.h
|
||||
RigidBody/physRigidBodyParam.cpp
|
||||
RigidBody/physRigidBodyParam.h
|
||||
RigidBody/physRigidBodyRequestMgr.cpp
|
||||
RigidBody/physRigidBodyRequestMgr.h
|
||||
RigidBody/physRigidBodyResource.cpp
|
||||
RigidBody/physRigidBodyResource.h
|
||||
RigidBody/physRigidBodySet.cpp
|
||||
RigidBody/physRigidBodySet.h
|
||||
RigidBody/physRigidBodySetParam.cpp
|
||||
RigidBody/physRigidBodySetParam.h
|
||||
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBody.cpp
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBody.h
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBodyResource.cpp
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBodyResource.h
|
||||
RigidBody/Shape/Box/physBoxRigidBody.cpp
|
||||
RigidBody/Shape/Box/physBoxRigidBody.h
|
||||
RigidBody/Shape/Box/physBoxShape.cpp
|
||||
RigidBody/Shape/Box/physBoxShape.h
|
||||
RigidBody/Shape/BoxWater/physBoxWaterRigidBody.cpp
|
||||
RigidBody/Shape/BoxWater/physBoxWaterRigidBody.h
|
||||
RigidBody/Shape/BoxWater/physBoxWaterShape.cpp
|
||||
RigidBody/Shape/BoxWater/physBoxWaterShape.h
|
||||
RigidBody/Shape/Capsule/physCapsuleRigidBody.cpp
|
||||
RigidBody/Shape/Capsule/physCapsuleRigidBody.h
|
||||
RigidBody/Shape/Capsule/physCapsuleShape.cpp
|
||||
RigidBody/Shape/Capsule/physCapsuleShape.h
|
||||
RigidBody/Shape/CharacterPrism/physCharacterPrismShape.cpp
|
||||
RigidBody/Shape/CharacterPrism/physCharacterPrismShape.h
|
||||
RigidBody/Shape/Cylinder/physCylinderRigidBody.cpp
|
||||
RigidBody/Shape/Cylinder/physCylinderRigidBody.h
|
||||
RigidBody/Shape/Cylinder/physCylinderShape.cpp
|
||||
RigidBody/Shape/Cylinder/physCylinderShape.h
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.cpp
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterRigidBody.h
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterShape.cpp
|
||||
RigidBody/Shape/CylinderWater/physCylinderWaterShape.h
|
||||
RigidBody/Shape/List/physListShape.cpp
|
||||
RigidBody/Shape/List/physListShape.h
|
||||
RigidBody/Shape/List/physListShapeRigidBody.cpp
|
||||
RigidBody/Shape/List/physListShapeRigidBody.h
|
||||
RigidBody/Shape/Polytope/physPolytopeRigidBody.cpp
|
||||
RigidBody/Shape/Polytope/physPolytopeRigidBody.h
|
||||
RigidBody/Shape/Polytope/physPolytopeShape.cpp
|
||||
RigidBody/Shape/Polytope/physPolytopeShape.h
|
||||
RigidBody/Shape/Sphere/physSphereRigidBody.cpp
|
||||
RigidBody/Shape/Sphere/physSphereRigidBody.h
|
||||
RigidBody/Shape/Sphere/physSphereShape.cpp
|
||||
RigidBody/Shape/Sphere/physSphereShape.h
|
||||
RigidBody/Shape/physShape.h
|
||||
RigidBody/Shape/physShapeParamObj.cpp
|
||||
RigidBody/Shape/physShapeParamObj.h
|
||||
|
||||
RigidBody/TerrainHeightField/physTerrainHeightFieldRigidBody.h
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBody.cpp
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBody.h
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBodyResource.cpp
|
||||
RigidBody/TeraMesh/physTeraMeshRigidBodyResource.h
|
||||
|
||||
StaticCompound/physStaticCompound.cpp
|
||||
StaticCompound/physStaticCompound.h
|
||||
StaticCompound/physStaticCompoundAutogen.cpp
|
||||
StaticCompound/physStaticCompoundInfo.cpp
|
||||
StaticCompound/physStaticCompoundInfo.h
|
||||
StaticCompound/physStaticCompoundMgr.cpp
|
||||
StaticCompound/physStaticCompoundMgr.h
|
||||
StaticCompound/physStaticCompoundRigidBodyGroup.cpp
|
||||
StaticCompound/physStaticCompoundRigidBodyGroup.h
|
||||
StaticCompound/physStaticCompoundUtil.cpp
|
||||
StaticCompound/physStaticCompoundUtil.h
|
||||
RigidBody/TerrainHeightField/physTerrainHeightFieldRigidBody.h
|
||||
|
||||
SupportBone/physSupportBoneParam.cpp
|
||||
SupportBone/physSupportBoneParam.h
|
||||
SupportBone/physSupportBoneResource.cpp
|
||||
SupportBone/physSupportBoneResource.h
|
||||
SupportBone/physSupportBoneResourceMainBone.cpp
|
||||
StaticCompound/physStaticCompound.cpp
|
||||
StaticCompound/physStaticCompound.h
|
||||
StaticCompound/physStaticCompoundAutogen.cpp
|
||||
StaticCompound/physStaticCompoundInfo.cpp
|
||||
StaticCompound/physStaticCompoundInfo.h
|
||||
StaticCompound/physStaticCompoundMgr.cpp
|
||||
StaticCompound/physStaticCompoundMgr.h
|
||||
StaticCompound/physStaticCompoundRigidBodyGroup.cpp
|
||||
StaticCompound/physStaticCompoundRigidBodyGroup.h
|
||||
StaticCompound/physStaticCompoundUtil.cpp
|
||||
StaticCompound/physStaticCompoundUtil.h
|
||||
|
||||
System/physCharacterControllerParam.cpp
|
||||
System/physCharacterControllerParam.h
|
||||
System/physClosestPointQuery.cpp
|
||||
System/physClosestPointQuery.h
|
||||
System/physClosestPointQueryWithInfo.cpp
|
||||
System/physClosestPointQueryWithInfo.h
|
||||
System/physCollisionInfo.cpp
|
||||
System/physCollisionInfo.h
|
||||
System/physContactInfoParam.cpp
|
||||
System/physContactInfoParam.h
|
||||
System/physContactLayerCollisionInfo.cpp
|
||||
System/physContactLayerCollisionInfo.h
|
||||
System/physContactLayerCollisionInfoGroup.cpp
|
||||
System/physContactLayerCollisionInfoGroup.h
|
||||
System/physContactListener.cpp
|
||||
System/physContactListener.h
|
||||
System/physContactMgr.cpp
|
||||
System/physContactMgr.h
|
||||
System/physContactPointInfo.cpp
|
||||
System/physContactPointInfo.h
|
||||
System/physLayerContactPointInfo.cpp
|
||||
System/physLayerContactPointInfo.h
|
||||
System/physEntityContactListener.cpp
|
||||
System/physEntityContactListener.h
|
||||
System/physEntityGroupFilter.cpp
|
||||
System/physEntityGroupFilter.h
|
||||
System/physGroupFilter.cpp
|
||||
System/physGroupFilter.h
|
||||
System/physInstanceSet.cpp
|
||||
System/physInstanceSet.h
|
||||
System/physMaterialTable.cpp
|
||||
System/physMaterialTable.h
|
||||
System/physParamSet.cpp
|
||||
System/physParamSet.h
|
||||
System/physPhantom.cpp
|
||||
System/physPhantom.h
|
||||
System/physQueryContactPointInfo.cpp
|
||||
System/physQueryContactPointInfo.h
|
||||
System/physRayCast.cpp
|
||||
System/physRayCast.h
|
||||
System/physRayCastBodyQuery.cpp
|
||||
System/physRayCastBodyQuery.h
|
||||
System/physRayCastForRequest.cpp
|
||||
System/physRayCastForRequest.h
|
||||
System/physRayCastRequestMgr.cpp
|
||||
System/physRayCastRequestMgr.h
|
||||
System/physSensorContactListener.cpp
|
||||
System/physSensorContactListener.h
|
||||
System/physSensorGroupFilter.cpp
|
||||
System/physSensorGroupFilter.h
|
||||
System/physShapeCast.cpp
|
||||
System/physShapeCast.h
|
||||
System/physShapeCastWithInfo.cpp
|
||||
System/physShapeCastWithInfo.h
|
||||
System/physSystem.cpp
|
||||
System/physSystem.h
|
||||
System/physSystemData.cpp
|
||||
System/physSystemData.h
|
||||
System/physUserTag.cpp
|
||||
System/physUserTag.h
|
||||
SupportBone/physSupportBoneParam.cpp
|
||||
SupportBone/physSupportBoneParam.h
|
||||
SupportBone/physSupportBoneResource.cpp
|
||||
SupportBone/physSupportBoneResource.h
|
||||
SupportBone/physSupportBoneResourceMainBone.cpp
|
||||
|
||||
physConversions.h
|
||||
physDefines.cpp
|
||||
physDefines.h
|
||||
physHavokMemoryAllocator.cpp
|
||||
physHavokMemoryAllocator.h
|
||||
physHeapUtil.h
|
||||
physLayerMaskBuilder.h
|
||||
physMaterialMask.cpp
|
||||
physMaterialMask.h
|
||||
)
|
||||
System/physCharacterControllerParam.cpp
|
||||
System/physCharacterControllerParam.h
|
||||
System/physClosestPointQuery.cpp
|
||||
System/physClosestPointQuery.h
|
||||
System/physClosestPointQueryWithInfo.cpp
|
||||
System/physClosestPointQueryWithInfo.h
|
||||
System/physCollisionInfo.cpp
|
||||
System/physCollisionInfo.h
|
||||
System/physContactInfoParam.cpp
|
||||
System/physContactInfoParam.h
|
||||
System/physContactLayerCollisionInfo.cpp
|
||||
System/physContactLayerCollisionInfo.h
|
||||
System/physContactLayerCollisionInfoGroup.cpp
|
||||
System/physContactLayerCollisionInfoGroup.h
|
||||
System/physContactListener.cpp
|
||||
System/physContactListener.h
|
||||
System/physContactMgr.cpp
|
||||
System/physContactMgr.h
|
||||
System/physContactPointInfo.cpp
|
||||
System/physContactPointInfo.h
|
||||
System/physLayerContactPointInfo.cpp
|
||||
System/physLayerContactPointInfo.h
|
||||
System/physEntityContactListener.cpp
|
||||
System/physEntityContactListener.h
|
||||
System/physEntityGroupFilter.cpp
|
||||
System/physEntityGroupFilter.h
|
||||
System/physGroupFilter.cpp
|
||||
System/physGroupFilter.h
|
||||
System/physInstanceSet.cpp
|
||||
System/physInstanceSet.h
|
||||
System/physMaterialTable.cpp
|
||||
System/physMaterialTable.h
|
||||
System/physParamSet.cpp
|
||||
System/physParamSet.h
|
||||
System/physPhantom.cpp
|
||||
System/physPhantom.h
|
||||
System/physQueryContactPointInfo.cpp
|
||||
System/physQueryContactPointInfo.h
|
||||
System/physRayCast.cpp
|
||||
System/physRayCast.h
|
||||
System/physRayCastBodyQuery.cpp
|
||||
System/physRayCastBodyQuery.h
|
||||
System/physRayCastForRequest.cpp
|
||||
System/physRayCastForRequest.h
|
||||
System/physRayCastRequestMgr.cpp
|
||||
System/physRayCastRequestMgr.h
|
||||
System/physSensorContactListener.cpp
|
||||
System/physSensorContactListener.h
|
||||
System/physSensorGroupFilter.cpp
|
||||
System/physSensorGroupFilter.h
|
||||
System/physShapeCast.cpp
|
||||
System/physShapeCast.h
|
||||
System/physShapeCastWithInfo.cpp
|
||||
System/physShapeCastWithInfo.h
|
||||
System/physSystem.cpp
|
||||
System/physSystem.h
|
||||
System/physSystemData.cpp
|
||||
System/physSystemData.h
|
||||
System/physUserTag.cpp
|
||||
System/physUserTag.h
|
||||
|
||||
physConversions.h
|
||||
physDefines.cpp
|
||||
physDefines.h
|
||||
physHavokMemoryAllocator.cpp
|
||||
physHavokMemoryAllocator.h
|
||||
physHeapUtil.h
|
||||
physLayerMaskBuilder.h
|
||||
physMaterialMask.cpp
|
||||
physMaterialMask.h
|
||||
)
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#pragma once
|
||||
#include "KingSystem/Physics/physDefines.h"
|
||||
|
||||
namespace ksys::phys {
|
||||
|
||||
class CharacterController {
|
||||
public:
|
||||
void sub_7100F5EC30();
|
||||
void sub_7100F60604();
|
||||
void enableCollisionMaybe_0(ContactLayer);
|
||||
};
|
||||
|
||||
} // namespace ksys::phys
|
|
@ -479,6 +479,8 @@ public:
|
|||
const auto& getMotionFlags() const { return mMotionFlags; }
|
||||
void resetMotionFlagDirect(const MotionFlag flag) { mMotionFlags.reset(flag); }
|
||||
void setMotionFlag(MotionFlag flag);
|
||||
void setFlag200() { mFlags.set(Flag::_200); }
|
||||
void resetFlag200() { mFlags.reset(Flag::_200); }
|
||||
|
||||
hkpRigidBody* getHkBody() const { return mHkBody; }
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#include "KingSystem/Physics/System/physInstanceSet.h"
|
||||
#include "KingSystem/Physics/CharacterController/physCharacterController.h"
|
||||
#include "KingSystem/Physics/Ragdoll/physRagdollController.h"
|
||||
#include "KingSystem/Physics/RigidBody/physRigidBodySet.h"
|
||||
#include "KingSystem/Physics/System/physCollisionInfo.h"
|
||||
|
@ -146,16 +147,16 @@ void InstanceSet::sub_7100FBB00C(phys::RigidBody* body, phys::RigidBodyParam* pa
|
|||
body->clearSensorReceiverIgnoredLayer();
|
||||
}
|
||||
|
||||
void* InstanceSet::sub_7100FBBC28(const sead::SafeString& name) const {
|
||||
RigidBody* InstanceSet::findRigidBody(const sead::SafeString& name) const {
|
||||
for (auto& rb : mRigidBodySets) {
|
||||
void* p = rb.findBodyByHavokName(name);
|
||||
RigidBody* p = rb.findBodyByHavokName(name);
|
||||
if (p != nullptr)
|
||||
return p;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
s32 InstanceSet::sub_7100FBBC78(const sead::SafeString& name) const {
|
||||
s32 InstanceSet::findContactPointInfo(const sead::SafeString& name) const {
|
||||
s32 idx = 0;
|
||||
for (auto& info : mContactPointInfo) {
|
||||
if (name == info.getName())
|
||||
|
@ -165,7 +166,7 @@ s32 InstanceSet::sub_7100FBBC78(const sead::SafeString& name) const {
|
|||
return -1;
|
||||
}
|
||||
|
||||
s32 InstanceSet::sub_7100FBBD9C(const sead::SafeString& name) const {
|
||||
s32 InstanceSet::findCollisionInfo(const sead::SafeString& name) const {
|
||||
s32 idx = 0;
|
||||
for (auto& info : mCollisionInfo) {
|
||||
if (name == info.getName())
|
||||
|
|
|
@ -37,14 +37,6 @@ class RigidBodySet;
|
|||
class SystemGroupHandler;
|
||||
class UserTag;
|
||||
|
||||
// TODO: move to a separate header
|
||||
class CharacterController {
|
||||
public:
|
||||
void sub_7100F5EC30();
|
||||
void sub_7100F60604();
|
||||
void enableCollisionMaybe_0(ContactLayer);
|
||||
};
|
||||
|
||||
class InstanceSet : public sead::hostio::Node {
|
||||
public:
|
||||
enum class Flag : u32 {
|
||||
|
@ -82,9 +74,9 @@ public:
|
|||
void setMtxAndScale(const sead::Matrix34f& mtx, bool a2, bool a3, f32 scale);
|
||||
void sub_7100FBB4B4();
|
||||
void* findX(const sead::SafeString& a1, const sead::SafeString& a2) const;
|
||||
void* sub_7100FBBC28(const sead::SafeString& name) const;
|
||||
s32 sub_7100FBBC78(const sead::SafeString& name) const;
|
||||
s32 sub_7100FBBD9C(const sead::SafeString& name) const;
|
||||
RigidBody* findRigidBody(const sead::SafeString& name) const;
|
||||
s32 findContactPointInfo(const sead::SafeString& name) const;
|
||||
s32 findCollisionInfo(const sead::SafeString& name) const;
|
||||
void sub_7100FBD284(const sead::Matrix34f& mtx);
|
||||
void sub_7100FBC890(const sead::Matrix34f& mtx, bool a2, bool a3);
|
||||
s32 sub_7100FBDA2C(const sead::SafeString& name) const;
|
||||
|
|
|
@ -1,63 +1,63 @@
|
|||
target_sources(uking PRIVATE
|
||||
Account.cpp
|
||||
Account.h
|
||||
AutoDim.cpp
|
||||
AutoDim.h
|
||||
BasicProfiler.cpp
|
||||
BasicProfiler.h
|
||||
CameraEditor.cpp
|
||||
CameraEditor.h
|
||||
CameraMgr.cpp
|
||||
CameraMgr.h
|
||||
CoreInfo.h
|
||||
DebugFinder.cpp
|
||||
DebugFinder.h
|
||||
DebugMessage.h
|
||||
HavokWorkerMgr.cpp
|
||||
HavokWorkerMgr.h
|
||||
Hio.cpp
|
||||
Hio.h
|
||||
KingEditor.cpp
|
||||
KingEditor.h
|
||||
MemoryProfiler.cpp
|
||||
MemoryProfiler.h
|
||||
MessageCapture.cpp
|
||||
MessageCapture.h
|
||||
OcclusionQueryCylinder.cpp
|
||||
OcclusionQueryCylinder.h
|
||||
OverlayArena.cpp
|
||||
OverlayArena.h
|
||||
OverlayArenaSystem.cpp
|
||||
OverlayArenaSystem.h
|
||||
OverlayArenaSystemS1.h
|
||||
OverlayArenaSystemS2.h
|
||||
Patrol.cpp
|
||||
Patrol.h
|
||||
PlayReportMgr.cpp
|
||||
PlayReportMgr.h
|
||||
ProductReporter.cpp
|
||||
ProductReporter.h
|
||||
Revision.cpp
|
||||
Revision.h
|
||||
StageInfo.cpp
|
||||
StageInfo.h
|
||||
StarterPackMgr.cpp
|
||||
StarterPackMgr.h
|
||||
StringBoard.h
|
||||
SystemPauseMgr.cpp
|
||||
SystemPauseMgr.h
|
||||
SystemTimers.cpp
|
||||
SystemTimers.h
|
||||
Terminal.cpp
|
||||
Terminal.h
|
||||
Timer.cpp
|
||||
Timer.h
|
||||
UIGlue.cpp
|
||||
UIGlue.h
|
||||
VideoRecorder.cpp
|
||||
VideoRecorder.h
|
||||
VFR.cpp
|
||||
VFR.h
|
||||
VFRValue.cpp
|
||||
VFRValue.h
|
||||
)
|
||||
Account.cpp
|
||||
Account.h
|
||||
AutoDim.cpp
|
||||
AutoDim.h
|
||||
BasicProfiler.cpp
|
||||
BasicProfiler.h
|
||||
CameraEditor.cpp
|
||||
CameraEditor.h
|
||||
CameraMgr.cpp
|
||||
CameraMgr.h
|
||||
CoreInfo.h
|
||||
DebugFinder.cpp
|
||||
DebugFinder.h
|
||||
DebugMessage.h
|
||||
HavokWorkerMgr.cpp
|
||||
HavokWorkerMgr.h
|
||||
Hio.cpp
|
||||
Hio.h
|
||||
KingEditor.cpp
|
||||
KingEditor.h
|
||||
MemoryProfiler.cpp
|
||||
MemoryProfiler.h
|
||||
MessageCapture.cpp
|
||||
MessageCapture.h
|
||||
OcclusionQueryCylinder.cpp
|
||||
OcclusionQueryCylinder.h
|
||||
OverlayArena.cpp
|
||||
OverlayArena.h
|
||||
OverlayArenaSystem.cpp
|
||||
OverlayArenaSystem.h
|
||||
OverlayArenaSystemS1.h
|
||||
OverlayArenaSystemS2.h
|
||||
Patrol.cpp
|
||||
Patrol.h
|
||||
PlayReportMgr.cpp
|
||||
PlayReportMgr.h
|
||||
ProductReporter.cpp
|
||||
ProductReporter.h
|
||||
Revision.cpp
|
||||
Revision.h
|
||||
StageInfo.cpp
|
||||
StageInfo.h
|
||||
StarterPackMgr.cpp
|
||||
StarterPackMgr.h
|
||||
StringBoard.h
|
||||
SystemPauseMgr.cpp
|
||||
SystemPauseMgr.h
|
||||
SystemTimers.cpp
|
||||
SystemTimers.h
|
||||
Terminal.cpp
|
||||
Terminal.h
|
||||
Timer.cpp
|
||||
Timer.h
|
||||
UIGlue.cpp
|
||||
UIGlue.h
|
||||
VideoRecorder.cpp
|
||||
VideoRecorder.h
|
||||
VFR.cpp
|
||||
VFR.h
|
||||
VFRValue.cpp
|
||||
VFRValue.h
|
||||
)
|
||||
|
|
|
@ -5,5 +5,7 @@
|
|||
namespace ksys::ui {
|
||||
|
||||
int getPorchNum(const sead::SafeString& name);
|
||||
void initRupeeCounter();
|
||||
bool isRupeeCounterActive();
|
||||
|
||||
} // namespace ksys::ui
|
||||
|
|
|
@ -14,7 +14,7 @@ _vtable_fn_names = [
|
|||
"_ZN5uking6action{}D0Ev",
|
||||
"_ZNK5uking6action{}8isFailedEv",
|
||||
"_ZNK5uking6action{}10isFinishedEv",
|
||||
"_ZNK5uking6action{}10isFlag4SetEv",
|
||||
"_ZNK5uking6action{}12isChangeableEv",
|
||||
"_ZN5uking6action{}14hasPreDeleteCbEv",
|
||||
"_ZN5uking6action{}23hasUpdateForPreDeleteCbEv",
|
||||
"_ZN5uking6action{}2m9Ev",
|
||||
|
|
|
@ -14,7 +14,7 @@ _vtable_fn_names = [
|
|||
"_ZN5uking2ai{}D0Ev",
|
||||
"_ZNK5uking2ai{}8isFailedEv",
|
||||
"_ZNK5uking2ai{}10isFinishedEv",
|
||||
"_ZNK5uking2ai{}10isFlag4SetEv",
|
||||
"_ZNK5uking2ai{}12isChangeableEv",
|
||||
"_ZN5uking2ai{}14hasPreDeleteCbEv",
|
||||
"_ZN5uking2ai{}23hasUpdateForPreDeleteCbEv",
|
||||
"_ZN5uking2ai{}2m9Ev",
|
||||
|
|
Loading…
Reference in New Issue