diff --git a/data/uking_functions.csv b/data/uking_functions.csv index 4eb71919..1374716d 100644 --- a/data/uking_functions.csv +++ b/data/uking_functions.csv @@ -220,24 +220,24 @@ Address,Quality,Size,Name 0x00000071000040e4,O,000008,_ZN5uking3act17DamageManagerBase10getField50Ev 0x00000071000040ec,O,000008,_ZN5uking3act17DamageManagerBase16checkDamageFlagsEv 0x00000071000040f4,O,000008,_ZN5uking3act17DamageManagerBase9getFlags2Ev -0x00000071000040fc,O,000008,_ZN5uking3act17DamageManagerBase3m13Ev +0x00000071000040fc,O,000008,_ZN5uking3act17DamageManagerBase23getStasisBlowPowerRatioEv 0x0000007100004104,O,000008,_ZN5uking3act17DamageManagerBase21getStasisBlowVelocityEPN4sead7Vector3IfEE -0x000000710000410c,O,000008,_ZN5uking3act17DamageManagerBase3m16Ev +0x000000710000410c,O,000008,_ZN5uking3act17DamageManagerBase13handleMessageERKN4ksys7MessageE 0x0000007100004114,O,000004,_ZN5uking3act17DamageManagerBase28accumulateStasisBlowVelocityEv 0x0000007100004118,U,000008,DamageMgrBow::m18 0x0000007100004120,O,000008,_ZN5uking3act17DamageManagerBase13initCallbacksEPN4sead4HeapE 0x0000007100004128,O,000004,_ZN5uking3act17DamageManagerBase10preDelete2Ev 0x000000710000412c,O,000008,_ZN5uking3act17DamageManagerBase3m25Ev 0x0000007100004134,O,000008,_ZN5uking3act17DamageManagerBase3m26Ev -0x000000710000413c,O,000008,_ZN5uking3act17DamageManagerBase3m31Ev -0x0000007100004144,O,000008,_ZN5uking3act17DamageManagerBase3m32Ev +0x000000710000413c,O,000008,_ZN5uking3act17DamageManagerBase15getHitDirectionEPN4sead7Vector3IfEE +0x0000007100004144,O,000008,_ZN5uking3act17DamageManagerBase16getDamageImpulseEv 0x000000710000414c,O,000008,_ZN5uking3act17DamageManagerBase26tgSensorMaterialOnHitMaybeEv -0x0000007100004154,O,000008,_ZN5uking3act17DamageManagerBase3m35Ev -0x000000710000415c,O,000008,_ZN5uking3act17DamageManagerBase3m38Ev -0x0000007100004164,O,000008,_ZN5uking3act17DamageManagerBase3m40Ev -0x000000710000416c,O,000008,_ZN5uking3act17DamageManagerBase3m41Ev -0x0000007100004174,O,000008,_ZN5uking3act17DamageManagerBase3m42Ev -0x000000710000417c,O,000004,_ZN5uking3act17DamageManagerBase3m43Ev +0x0000007100004154,O,000008,_ZN5uking3act17DamageManagerBase18getAttackSourceMtxEPN4sead8Matrix34IfEE +0x000000710000415c,O,000008,_ZN5uking3act17DamageManagerBase25isDamageSourceObjectMaybeEv +0x0000007100004164,O,000008,_ZN5uking3act17DamageManagerBase16getAttackDirTypeEv +0x000000710000416c,O,000008,_ZN5uking3act17DamageManagerBase19getAttackInfoFlagFCEv +0x0000007100004174,O,000008,_ZN5uking3act17DamageManagerBase29isDamageItemFlagCheckDisabledEv +0x000000710000417c,O,000004,_ZN5uking3act17DamageManagerBase32applyAttackInfoStateChangeDamageEv 0x0000007100004180,U,000008,DamageMgr::m44 0x0000007100004188,O,000004,_ZN5uking3act17DamageManagerBase13onApplyDamageEv 0x000000710000418c,U,000008,DamageMgrBow::m51 @@ -644,10 +644,10 @@ Address,Quality,Size,Name 0x000000710001bebc,U,000092, 0x000000710001bf18,U,000004,j__ZdlPv_12 0x000000710001bf1c,O,000008,_ZN5uking3act17DamageManagerBase15getNumCallbacksEv -0x000000710001bf24,O,000004,_ZN5uking3act17DamageManagerBase3m22Ev +0x000000710001bf24,O,000004,_ZN5uking3act17DamageManagerBase10calcDamageEv 0x000000710001bf28,O,000008,_ZN5uking3act17DamageManagerBase11getPositionEv -0x000000710001bf30,O,000008,_ZN5uking3act17DamageManagerBase3m28Ev -0x000000710001bf38,O,000008,_ZN5uking3act17DamageManagerBase3m33Ev +0x000000710001bf30,O,000008,_ZN5uking3act17DamageManagerBase12getDamageDirEPN4sead7Vector3IfEE +0x000000710001bf38,O,000008,_ZN5uking3act17DamageManagerBase26getAttackOtherMaterialMaskEv 0x000000710001bf40,U,000004,nullsub_55 0x000000710001bf44,U,000008, 0x000000710001bf4c,U,000008,DamageMgrWeapon::m52 @@ -37388,7 +37388,7 @@ Address,Quality,Size,Name 0x0000007100615c7c,U,000092,AI_Behavior_AcceptLSwordDamageDCCallback::rtti2 0x0000007100615cd8,O,000008,_ZN4ksys3act2ai8Behavior14hasPreDeleteCbEv 0x0000007100615ce0,O,000008,_ZN4ksys3act2ai8Behavior23hasUpdateForPreDeleteCbEv -0x0000007100615ce8,O,000004,_ZN4ksys3act2ai8Behavior3m11Ev +0x0000007100615ce8,O,000004,_ZN4ksys3act2ai8Behavior13onChangeChildEv 0x0000007100615cec,O,000008,_ZN4ksys3act2ai8Behavior18updateForPreDeleteEv 0x0000007100615cf4,O,000004,_ZN4ksys3act2ai8Behavior11onPreDeleteEv 0x0000007100615cf8,U,000008,AI_Behavior_AcceptLSwordDamageDCCallback::m14 @@ -37424,8 +37424,8 @@ Address,Quality,Size,Name 0x000000710061680c,U,000092,AI_Behavior_AirWallCollisionSpecify::rtti2 0x0000007100616868,O,000004,_ZN4ksys3act2ai8BehaviorD2Ev 0x000000710061686c,U,000004,j__ZdlPv_141 -0x0000007100616870,O,000008,_ZN4ksys3act2ai8Behavior2m6Ev -0x0000007100616878,O,000004,_ZN4ksys3act2ai8Behavior2m9Ev +0x0000007100616870,O,000008,_ZN4ksys3act2ai8Behavior5init_EPN4sead4HeapE +0x0000007100616878,O,000004,_ZN4ksys3act2ai8Behavior5leaveEv 0x000000710061687c,U,000048, 0x00000071006168ac,U,000092, 0x0000007100616908,U,000008, @@ -37436,8 +37436,8 @@ Address,Quality,Size,Name 0x0000007100616ac0,U,000204,AI_Behavior_AirWallMaterialSpecify::rtti1 0x0000007100616b8c,U,000092,AI_Behavior_AirWallMaterialSpecify::rtti2 0x0000007100616be8,U,000004,j__ZdlPv_142 -0x0000007100616bec,O,000004,_ZN4ksys3act2ai8Behavior2m7Ev -0x0000007100616bf0,O,000004,_ZN4ksys3act2ai8Behavior3m10Ev +0x0000007100616bec,O,000004,_ZN4ksys3act2ai8Behavior4calcEv +0x0000007100616bf0,O,000004,_ZN4ksys3act2ai8Behavior10loadParamsEv 0x0000007100616bf4,U,000048, 0x0000007100616c24,U,000092, 0x0000007100616c80,U,000084,AI_Behavior_AnimalAttack::ctor @@ -45384,7 +45384,7 @@ Address,Quality,Size,Name 0x00000071006e10d0,U,000292, 0x00000071006e11f4,U,000128, 0x00000071006e1274,O,000004,_ZN5uking3act17DamageManagerBase20applyRequestedDamageEv -0x00000071006e1278,O,000016,_ZN5uking3act17DamageManagerBase3m49Ei +0x00000071006e1278,O,000016,_ZN5uking3act17DamageManagerBase22getDamageFromTypeIndexEi 0x00000071006e1288,U,000028,DamageMgr::getActorDamageParam 0x00000071006e12a4,O,000208,_ZN5uking3act8Struct2012combineMaybeEPN4ksys3act12Struct20BaseE 0x00000071006e1374,U,000020,DamageMgrBase::m36 @@ -73621,7 +73621,7 @@ Address,Quality,Size,Name 0x0000007100d24de4,O,000112,_ZNK4ksys3act2ai8Behavior27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x0000007100d24e54,O,000092,_ZNK4ksys3act2ai8Behavior18getRuntimeTypeInfoEv 0x0000007100d24eb0,O,000004,_ZN4ksys3act2ai8BehaviorD0Ev -0x0000007100d24eb4,O,000004,_ZN4ksys3act2ai8Behavior2m8Ev +0x0000007100d24eb4,O,000004,_ZN4ksys3act2ai8Behavior5enterEv 0x0000007100d24eb8,O,000028,_ZN4ksys3act2ai9BehaviorsC1Ev 0x0000007100d24ed4,O,000004,_ZN4ksys3act2ai9BehaviorsD1Ev 0x0000007100d24ed8,O,000200,_ZN4ksys3act2ai9Behaviors8finalizeEv @@ -88263,9 +88263,9 @@ Address,Quality,Size,Name 0x000000710108a4d0,O,000240,_ZNK4ksys3act13ActorTemplate17getAttDefPriorityEPPKcS3_ 0x000000710108a5c0,O,000008,_ZNK4ksys3act13ActorTemplate14getNumProfilesEv 0x000000710108a5c8,O,000076,_ZNK4ksys3act13ActorTemplate14getProfileNameEi -0x000000710108a614,O,000004,_ZN4ksys3res8AttCheck2m4Ev +0x000000710108a614,O,000004,_ZN4ksys3res8AttCheck7calcMtxEv 0x000000710108a618,O,000008,_ZN4ksys3res8AttCheck5checkEv -0x000000710108a620,O,000008,_ZN4ksys3res8AttCheck2m6Ev +0x000000710108a620,O,000008,_ZN4ksys3res8AttCheck12calcMaxRangeEv 0x000000710108a628,U,000132, 0x000000710108a6ac,O,000192,_ZN4ksys3res12AttCheckLine5parseERKNS0_8AttCheck9CreateArgE 0x000000710108a76c,U,000048, @@ -88317,7 +88317,7 @@ Address,Quality,Size,Name 0x000000710108fb40,O,000112,_ZNK4ksys3res8AttCheck27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x000000710108fbb0,O,000092,_ZNK4ksys3res8AttCheck18getRuntimeTypeInfoEv 0x000000710108fc0c,O,000004,_ZN4ksys3res8AttCheckD0Ev -0x000000710108fc10,O,000004,_ZN4ksys3res8AttCheck2m7Ev +0x000000710108fc10,O,000004,_ZN4ksys3res8AttCheck9drawDebugEv 0x000000710108fc14,U,000204, 0x000000710108fce0,U,000092, 0x000000710108fd3c,U,000072, @@ -88331,7 +88331,7 @@ Address,Quality,Size,Name 0x0000007101090030,U,000004,res::AttCheckWithPos::dtorDelete 0x0000007101090034,U,000008,res::AttCheckWithPos::m9 0x000000710109003c,U,000008,res::AttCheckWithPos::m10 -0x0000007101090044,O,000004,_ZN4ksys3res12AttCheckArea3m11Ev +0x0000007101090044,O,000004,_ZN4ksys3res12AttCheckArea14drawDebugShapeEv 0x0000007101090048,O,000288,_ZNK4ksys3res18AttCheckAreaSphere27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE 0x0000007101090168,O,000092,_ZNK4ksys3res18AttCheckAreaSphere18getRuntimeTypeInfoEv 0x00000071010901c4,O,000104,_ZN4ksys3res18AttCheckAreaSphereD2Ev @@ -89804,7 +89804,7 @@ Address,Quality,Size,Name 0x00000071010d14c8,O,000004,_ZN4ksys5world3Job10calcType1_Ev 0x00000071010d14cc,O,000004,_ZN4ksys5world3Job10calcType2_Ev 0x00000071010d14d0,O,000004,_ZN4ksys5world3Job2m9Ev -0x00000071010d14d4,O,000004,_ZN4ksys5world3Job3m10Ev +0x00000071010d14d4,O,000004,_ZN4ksys5world3Job9drawDebugEv 0x00000071010d14d8,U,000008,wm::ShootingStarMgr::getType 0x00000071010d14e0,U,000004,nullsub_4531 0x00000071010d14e4,U,000004,j__ZdlPv_1201 diff --git a/src/Game/Actor/Damage/actDamageManagerBase.cpp b/src/Game/Actor/Damage/actDamageManagerBase.cpp index ab634ec4..11dd118d 100644 --- a/src/Game/Actor/Damage/actDamageManagerBase.cpp +++ b/src/Game/Actor/Damage/actDamageManagerBase.cpp @@ -140,7 +140,7 @@ void DamageManagerBase::preDelete1() { } bool DamageManagerBase::canTakeDamage() { - u32 damageTypeMaybe = m49(getField50()); + u32 damageTypeMaybe = getDamageFromTypeIndex(getField50()); if (!DamageInfoMgr::instance()) { return false; } @@ -188,7 +188,7 @@ bool DamageManagerBase::addDamage(s64, s32 damage, s32 df48, s32 minDmg, s32 f50 return true; } -s32 DamageManagerBase::m49(s32 damageTypeMaybe) { +s32 DamageManagerBase::getDamageFromTypeIndex(s32 damageTypeMaybe) { if (damageTypeMaybe == 3) { return 2; } diff --git a/src/Game/Actor/Damage/actDamageManagerBase.h b/src/Game/Actor/Damage/actDamageManagerBase.h index 3df0fe90..20d0a020 100644 --- a/src/Game/Actor/Damage/actDamageManagerBase.h +++ b/src/Game/Actor/Damage/actDamageManagerBase.h @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include "Game/Actor/Damage/actDamageInfoMgr.h" @@ -11,6 +11,10 @@ #include "KingSystem/ActorSystem/actBaseProcLink.h" #include "KingSystem/ActorSystem/actIDamageManager.h" +namespace ksys { +class Message; +} // namespace ksys + namespace ksys::act { class Actor; class ActorParam; @@ -39,10 +43,10 @@ public: s32 getField54() override { return mField_54; } bool checkDamageFlags() override { return false; } s32 getFlags2() override { return mFlags2; } - virtual f32 m13() { return 0.0f; } + virtual f32 getStasisBlowPowerRatio() { return 0.0f; } virtual bool getStasisBlowVelocity(sead::Vector3f* velocity) { return false; } virtual bool applyDamage(s32& life); - virtual bool m16() { return false; } + virtual bool handleMessage(const ksys::Message&) { return false; } virtual void accumulateStasisBlowVelocity() {} virtual s32 getNumCallbacks(); virtual bool initCallbacks(sead::Heap* heap); @@ -51,13 +55,13 @@ public: virtual void resetDamage(); virtual void preDelete2() {} - virtual void m22() {} + virtual void calcDamage() {} virtual bool allocStruct20(sead::Heap* heap); virtual void preDelete1(); virtual s64 m25() { return 0; } virtual s64 m26() { return 0; } virtual s32 getPosition() { return 0; } - virtual s32 m28() { return 0; } + virtual bool getDamageDir(sead::Vector3f* dir) { return false; } //(FIXME: incomplete) virtual s64 m29(s64 a2); @@ -65,11 +69,11 @@ public: // qword pointer? (FIXME: incomplete) virtual s64 m30(u64 a2); - virtual s32 m31() { return 0; } - virtual s32 m32() { return 0; } - virtual s64 m33() { return 0; } + virtual bool getHitDirection(sead::Vector3f* dir) { return false; } + virtual s32 getDamageImpulse() { return 0; } + virtual s64 getAttackOtherMaterialMask() { return 0; } virtual s64 tgSensorMaterialOnHitMaybe() { return 0; } - virtual s32 m35() { return 0; } + virtual bool getAttackSourceMtx(sead::Matrix34f* mtx) { return false; } // FIXME: incomplete. Return dummy Base Proc Link virtual ksys::act::BaseProcLink* getAttacker(); @@ -77,23 +81,22 @@ public: // FIXME: incomplete. Same as getAttacker, but return different Actor ProcLink I assume. virtual s64 m37(); - virtual s32 m38() { return 0; } + virtual s32 isDamageSourceObjectMaybe() { return 0; } // FIXME: Incomplete. Call isSlowTimeMaybe virtual bool isSlowTime(); - virtual s32 m40() { return 0; } - virtual s32 m41() { return 0; } - virtual s32 m42() { return 0; } - virtual void m43() {} + virtual s32 getAttackDirType() { return 0; } + virtual s32 getAttackInfoFlagFC() { return 0; } + virtual s32 isDamageItemFlagCheckDisabled() { return 0; } + virtual void applyAttackInfoStateChangeDamage() {} virtual bool canTakeDamage(); virtual void applyRequestedDamage() {} virtual void handleDamageForPlayer(u32* a2, u32* a3, u32* a4, u32* a5, u32* a6); virtual bool addDamage(s64 a2, s32 damage, s32 df48, s32 minDmg, s32 f50, s32 f54, s32 f40); virtual void onApplyDamage() {} - // Something depending on damage type? - virtual s32 m49(s32 damageTypeMaybe); + virtual s32 getDamageFromTypeIndex(s32 damageTypeMaybe); void clearCallbacks(); void resetStuff(); diff --git a/src/KingSystem/ActorSystem/actAiBehavior.h b/src/KingSystem/ActorSystem/actAiBehavior.h index 51d2ea93..b7fd73ae 100644 --- a/src/KingSystem/ActorSystem/actAiBehavior.h +++ b/src/KingSystem/ActorSystem/actAiBehavior.h @@ -30,12 +30,12 @@ public: virtual bool hasPreDeleteCb() { return false; } virtual bool hasUpdateForPreDeleteCb() { return false; } - virtual bool m6() { return true; } - virtual void m7() {} - virtual void m8() {} - virtual void m9() {} - virtual void m10() {} - virtual void m11() {} + virtual bool init_(sead::Heap*) { return true; } + virtual void calc() {} + virtual void enter() {} + virtual void leave() {} + virtual void loadParams() {} + virtual void onChangeChild() {} virtual bool updateForPreDelete() { return true; } virtual void onPreDelete() {} diff --git a/src/KingSystem/Resource/Actor/resResourceAttCheck.cpp b/src/KingSystem/Resource/Actor/resResourceAttCheck.cpp index fefb3023..a2e1068c 100644 --- a/src/KingSystem/Resource/Actor/resResourceAttCheck.cpp +++ b/src/KingSystem/Resource/Actor/resResourceAttCheck.cpp @@ -2,13 +2,13 @@ namespace ksys::res { -void AttCheck::m4() {} +void AttCheck::calcMtx() {} bool AttCheck::check() { return true; } -float AttCheck::m6() { +float AttCheck::calcMaxRange() { return -1.0; } diff --git a/src/KingSystem/Resource/Actor/resResourceAttCheck.h b/src/KingSystem/Resource/Actor/resResourceAttCheck.h index ec78be6e..2d09be61 100644 --- a/src/KingSystem/Resource/Actor/resResourceAttCheck.h +++ b/src/KingSystem/Resource/Actor/resResourceAttCheck.h @@ -48,10 +48,10 @@ public: virtual ~AttCheck() = default; // FIXME: signatures and names - virtual void m4(); + virtual void calcMtx(); virtual bool check(); - virtual float m6(); - virtual void m7() {} + virtual float calcMaxRange(); + virtual void drawDebug() {} virtual bool parse(const CreateArg& arg); @@ -93,15 +93,15 @@ class AttCheckArea : public AttCheck { public: using AttCheck::AttCheck; - void m4() override; + void calcMtx() override; bool check() override; - float m6() override; - void m7() override; + float calcMaxRange() override; + void drawDebug() override; bool parse(const CreateArg& arg) override; virtual bool m9() { return true; } virtual float m10() { return 0; } - virtual void m11() {} + virtual void drawDebugShape() {} protected: AttPos mAttPos; @@ -116,7 +116,7 @@ public: bool parse(const CreateArg& arg) override; bool m9() override; float m10() override; - void m11() override; + void drawDebugShape() override; private: agl::utl::Parameter mForceEditModelArea; @@ -134,7 +134,7 @@ public: bool parse(const CreateArg& arg) override; bool m9() override; float m10() override; - void m11() override; + void drawDebugShape() override; private: agl::utl::Parameter mAngleCheckIgnoreLockOn; @@ -187,7 +187,7 @@ public: bool parse(const CreateArg& arg) override; bool m9() override; float m10() override; - void m11() override; + void drawDebugShape() override; private: agl::utl::Parameter mForceEditModelArea; @@ -205,10 +205,10 @@ class AttCheckEachOtherArea : public AttCheck { public: explicit AttCheckEachOtherArea(AttCheckType type); - void m4() override; + void calcMtx() override; bool check() override; - float m6() override; - void m7() override; + float calcMaxRange() override; + void drawDebug() override; bool parse(const CreateArg& arg) override; private: @@ -232,7 +232,7 @@ class AttCheckAngle : public AttCheck { public: using AttCheck::AttCheck; - void m4() override; + void calcMtx() override; bool check() override; bool parse(const CreateArg& arg) override; diff --git a/src/KingSystem/World/worldJob.h b/src/KingSystem/World/worldJob.h index 88624f48..c9953f2f 100644 --- a/src/KingSystem/World/worldJob.h +++ b/src/KingSystem/World/worldJob.h @@ -34,7 +34,7 @@ protected: virtual void calcType1_() {} virtual void calcType2_() {} virtual void m9() {} - virtual void m10() {} + virtual void drawDebug() {} virtual void m11() {} virtual JobType getType() const = 0;