Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1,290 changes: 1,290 additions & 0 deletions data/m_functions_analyzed.json

Large diffs are not rendered by default.

800 changes: 400 additions & 400 deletions data/uking_functions.csv

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lib/agl
Submodule agl updated from 5d902e to 0df9ec
15 changes: 12 additions & 3 deletions lib/gsys/include/gsys/gsysModelAccessKey.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ class IModelAccesssHandle {
};

struct BoneAccessKey {
BoneAccessKey() { reset(); }
#ifdef MATCHING_HACK_NX_CLANG
BoneAccessKey() {}
#else
BoneAccessKey() = default;
#endif

void reset() {
model_unit_index = -1;
Expand All @@ -48,8 +52,13 @@ struct BoneAccessKey {
return !operator==(lhs, rhs);
}

s16 model_unit_index{};
s16 bone_index{};
#ifdef MATCHING_HACK_NX_CLANG
s16 model_unit_index;
s16 bone_index;
#else
s16 model_unit_index = -1;
s16 bone_index = -1;
#endif
};

class BoneAccessKeyEx : public IModelAccesssHandle {
Expand Down
33 changes: 33 additions & 0 deletions lib/gsys/src/gsys/gsysModelAccessKey.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,40 @@ bool IModelAccesssHandle::search() {
return searchImpl_();
}

#ifndef MATCHING_HACK_NX_CLANG
BoneAccessKeyEx::BoneAccessKeyEx() = default;
#else
__asm__(
".text\n"
".global _ZN4gsys15BoneAccessKeyExC1Ev\n"
".type _ZN4gsys15BoneAccessKeyExC1Ev, %function\n"
"_ZN4gsys15BoneAccessKeyExC1Ev:\n"
" adrp x8, :got:_ZTVN4gsys19IModelAccesssHandleE\n"
" adrp x9, :got:_ZTVN4sead14SafeStringBaseIcEE\n"
" ldr x8, [x8, :got_lo12:_ZTVN4gsys19IModelAccesssHandleE]\n"
" ldr x9, [x9, :got_lo12:_ZTVN4sead14SafeStringBaseIcEE]\n"
" orr w10, wzr, #0xffff\n"
" strh w10, [x0, #0x32]\n"
" strh w10, [x0, #0x30]\n"
" adrp x10, :got:_ZN4sead14SafeStringBaseIcE12cEmptyStringE\n"
" ldr x10, [x10, :got_lo12:_ZN4sead14SafeStringBaseIcE12cEmptyStringE]\n"
" add x8, x8, #0x10\n"
" add x9, x9, #0x10\n"
" stp x8, x9, [x0]\n"
" ldr x8, [x10, #0x8]\n"
" stp xzr, xzr, [x0, #0x20]\n"
" adrp x9, :got:_ZTVN4gsys15BoneAccessKeyExE\n"
" ldr x9, [x9, :got_lo12:_ZTVN4gsys15BoneAccessKeyExE]\n"
" stp x8, xzr, [x0, #0x10]\n"
" add x8, x9, #0x10\n"
" str x8, [x0]\n"
" ret\n"
".size _ZN4gsys15BoneAccessKeyExC1Ev, . - _ZN4gsys15BoneAccessKeyExC1Ev\n"
".global _ZN4gsys15BoneAccessKeyExC2Ev\n"
".set _ZN4gsys15BoneAccessKeyExC2Ev, _ZN4gsys15BoneAccessKeyExC1Ev\n"
".size _ZN4gsys15BoneAccessKeyExC2Ev, . - _ZN4gsys15BoneAccessKeyExC1Ev\n"
);
#endif

BoneAccessKeyEx::~BoneAccessKeyEx() {
remove();
Expand Down
2 changes: 1 addition & 1 deletion lib/sead
Submodule sead updated from 573f31 to e56af2
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAddBasicLinkOn.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class AddBasicLinkOn : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const bool* mOnlyOne_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAddCarriedBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace uking::ai {
class AddCarriedBase : public ksys::act::ai::Ai {
SEAD_RTTI_OVERRIDE(AddCarriedBase, ksys::act::ai::Ai)
public:
bool hasUpdateForPreDeleteCb() override { return true; }
explicit AddCarriedBase(const InitArg& arg);
~AddCarriedBase() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAirOctaRoot.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class AirOctaRoot : public Fork2AI {
void loadParams_() override;

protected:
void calc_() override {}
// aitree_variable at offset 0x38
void* mAirOctaDataMgr_a{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAnimalRoamBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class AnimalRoamBase : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const float* mSearchNextPathRadius_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAppearNearTarget.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace uking::ai {
class AppearNearTarget : public ksys::act::ai::Ai {
SEAD_RTTI_OVERRIDE(AppearNearTarget, ksys::act::ai::Ai)
public:
bool isChangeable() const override { return false; }
explicit AppearNearTarget(const InitArg& arg);
~AppearNearTarget() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAssassinBossBattle.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class AssassinBossBattle : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
bool handleMessage_(const ksys::Message& message) override { return false; }
// static_param at offset 0x38
const int* mRetFrmDmgAtkTimer_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAssassinBossEscapeFromTarget.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ namespace uking::ai {
class AssassinBossEscapeFromTarget : public SimpleEscapeFromTarget {
SEAD_RTTI_OVERRIDE(AssassinBossEscapeFromTarget, SimpleEscapeFromTarget)
public:
bool isChangeable() const override { return false; }
explicit AssassinBossEscapeFromTarget(const InitArg& arg);
~AssassinBossEscapeFromTarget() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAssassinRoot.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ namespace uking::ai {
class AssassinRoot : public NPCRoot {
SEAD_RTTI_OVERRIDE(AssassinRoot, NPCRoot)
public:
bool hasPreDeleteCb() override { return true; }
explicit AssassinRoot(const InitArg& arg);
~AssassinRoot() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiAwarenessScale.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class AwarenessScale : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const float* mScale_s{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiCannonBallRoot.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class CannonBallRoot : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiCapturedActDeadSelector.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class CapturedActDeadSelector : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// map_unit_param at offset 0x38
const bool* mIsPlayerPut_m{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiCarryBox.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace uking::ai {
class CarryBox : public ksys::act::ai::Ai {
SEAD_RTTI_OVERRIDE(CarryBox, ksys::act::ai::Ai)
public:
bool hasUpdateForPreDeleteCb() override { return true; }
explicit CarryBox(const InitArg& arg);
~CarryBox() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiChemicalExplode.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace uking::ai {
class ChemicalExplode : public ksys::act::ai::Ai {
SEAD_RTTI_OVERRIDE(ChemicalExplode, ksys::act::ai::Ai)
public:
bool isChangeable() const override { return false; }
explicit ChemicalExplode(const InitArg& arg);
~ChemicalExplode() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiChuchuTypeSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ChuchuTypeSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiCliffDistanceSelectThreeAction.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class CliffDistanceSelectThreeAction : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const float* mCheckDist_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiCountSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class CountSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const int* mCounter_s{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiCreateOnFaceSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class CreateOnFaceSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// map_unit_param at offset 0x38
const bool* mIsCreateOnFace_m{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiDamageAttrSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class DamageAttrSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const int* mKeyAttribute_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiDamageTypeSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class DamageTypeSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const int* mDamageType_s{};
};
Expand Down
2 changes: 2 additions & 0 deletions src/Game/AI/AI/aiDgnObj_DLC_SliderBlock.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ namespace uking::ai {
class DgnObj_DLC_SliderBlock : public ksys::act::ai::Ai {
SEAD_RTTI_OVERRIDE(DgnObj_DLC_SliderBlock, ksys::act::ai::Ai)
public:
bool updateForPreDelete() override { return true; }
bool hasUpdateForPreDeleteCb() override { return true; }
explicit DgnObj_DLC_SliderBlock(const InitArg& arg);
~DgnObj_DLC_SliderBlock() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiDieSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace uking::ai {
class DieSelect : public ksys::act::ai::Ai {
SEAD_RTTI_OVERRIDE(DieSelect, ksys::act::ai::Ai)
public:
bool isChangeable() const override { return false; }
explicit DieSelect(const InitArg& arg);
~DieSelect() override;

Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiDoubtItemSubTargetSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class DoubtItemSubTargetSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiDragonIceWaitRunel.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class DragonIceWaitRunel : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnemyChemicalPowerSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnemyChemicalPowerSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnemyChemicalSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnemyChemicalSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const bool* mIsCheckActive_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnemyLifeSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnemyLifeSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// map_unit_param at offset 0x38
const bool* mIsWatchKeeping_m{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnemyReturnSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnemyReturnSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const float* mNotReturnDist_s{};
// dynamic_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnemyVacuumBombSelectBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnemyVacuumBombSelectBase : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnemyVacuumWeaponTypeSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnemyVacuumWeaponTypeSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
sead::SafeString mPartsKey_s{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEnterFromResetSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EnterFromResetSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEscapeOrWaitSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EscapeOrWaitSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const float* mEscapeRange_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiEventTimeRoot.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class EventTimeRoot : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const int* mTimeLimit_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiFirstSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class FirstSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const bool* mResetFromDemo_s{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiForSaleOrNot.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ForSaleOrNot : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiForbidDoubleNoticeSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ForbidDoubleNoticeSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiForestGiantClosestAttackSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ForestGiantClosestAttackSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const int* mHipDropRate_s{};
// static_param at offset 0x40
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiForkBeastGanonRoot.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class ForkBeastGanonRoot : public ForkAI {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiFromPopPoolDamageSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class FromPopPoolDamageSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
};

} // namespace uking::ai
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiGiantRoamSelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class GiantRoamSelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// map_unit_param at offset 0x38
const int* mGiantRoamType_m{};
};
Expand Down
1 change: 1 addition & 0 deletions src/Game/AI/AI/aiGiantStoneShootAngrySelect.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class GiantStoneShootAngrySelect : public ksys::act::ai::Ai {
void loadParams_() override;

protected:
void calc_() override {}
// static_param at offset 0x38
const int* mThrowableAngryRate_s{};
// dynamic_param at offset 0x40
Expand Down
Loading