mirror of
https://github.com/zeldaret/botw
synced 2026-06-05 19:27:26 -04:00
Merge pull request #170 from Pistonight/fix/new_viking_mismatches
take new viking and update mismatches
This commit is contained in:
+427
-427
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,7 @@ void RideHorseAI::leave_() {
|
||||
}
|
||||
|
||||
void RideHorseAI::loadParams_() {
|
||||
getDynamicParam2(&mHasToPlayRidingOnAS_d, "HasToPlayRidingOnAS");
|
||||
getDynamicParam_2(&mHasToPlayRidingOnAS_d, "HasToPlayRidingOnAS");
|
||||
}
|
||||
|
||||
} // namespace uking::ai
|
||||
|
||||
@@ -8,9 +8,9 @@ CameraEventFocusDistSetting::CameraEventFocusDistSetting(const InitArg& arg)
|
||||
CameraEventFocusDistSetting::~CameraEventFocusDistSetting() = default;
|
||||
|
||||
void CameraEventFocusDistSetting::loadParams_() {
|
||||
getDynamicParam2(&mClipIndex_d, "ClipIndex");
|
||||
getDynamicParam2(&mFocusDistStart_d, "FocusDistStart");
|
||||
getDynamicParam2(&mFocusDistEnd_d, "FocusDistEnd");
|
||||
getDynamicParam_2(&mClipIndex_d, "ClipIndex");
|
||||
getDynamicParam_2(&mFocusDistStart_d, "FocusDistStart");
|
||||
getDynamicParam_2(&mFocusDistEnd_d, "FocusDistEnd");
|
||||
}
|
||||
|
||||
void CameraEventFocusDistSetting::calc_() {
|
||||
|
||||
@@ -15,7 +15,7 @@ void CameraEventOverwriteFar::leave_() {
|
||||
}
|
||||
|
||||
void CameraEventOverwriteFar::loadParams_() {
|
||||
getDynamicParam2(&mFar_d, "Far");
|
||||
getDynamicParam_2(&mFar_d, "Far");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -16,7 +16,7 @@ void CameraEventOverwriteNear::leave_() {
|
||||
}
|
||||
|
||||
void CameraEventOverwriteNear::loadParams_() {
|
||||
getDynamicParam2(&mNear_d, "Near");
|
||||
getDynamicParam_2(&mNear_d, "Near");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -8,7 +8,7 @@ CameraEventReserveConnectTime::CameraEventReserveConnectTime(const InitArg& arg)
|
||||
CameraEventReserveConnectTime::~CameraEventReserveConnectTime() = default;
|
||||
|
||||
void CameraEventReserveConnectTime::loadParams_() {
|
||||
getDynamicParam2(&mInterpolateTime_d, "InterpolateTime");
|
||||
getDynamicParam_2(&mInterpolateTime_d, "InterpolateTime");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -5,9 +5,9 @@ namespace uking::action {
|
||||
CameraRotRumble::CameraRotRumble(const InitArg& arg) : ksys::act::ai::Action(arg) {}
|
||||
|
||||
void CameraRotRumble::loadParams_() {
|
||||
getDynamicParam2(&mPattern_d, "Pattern");
|
||||
getDynamicParam2(&mCount_d, "Count");
|
||||
getDynamicParam2(&mPower_d, "Power");
|
||||
getDynamicParam_2(&mPattern_d, "Pattern");
|
||||
getDynamicParam_2(&mCount_d, "Count");
|
||||
getDynamicParam_2(&mPower_d, "Power");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -5,10 +5,10 @@ namespace uking::action {
|
||||
CameraRumble::CameraRumble(const InitArg& arg) : ksys::act::ai::Action(arg) {}
|
||||
|
||||
void CameraRumble::loadParams_() {
|
||||
getDynamicParam2(&mPattern_d, "Pattern");
|
||||
getDynamicParam2(&mCount_d, "Count");
|
||||
getDynamicParam2(&mPower_d, "Power");
|
||||
getDynamicParam2(&mSideways_d, "Sideways");
|
||||
getDynamicParam_2(&mPattern_d, "Pattern");
|
||||
getDynamicParam_2(&mCount_d, "Count");
|
||||
getDynamicParam_2(&mPower_d, "Power");
|
||||
getDynamicParam_2(&mSideways_d, "Sideways");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -9,9 +9,9 @@ void CameraRumbleLoop::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
}
|
||||
|
||||
void CameraRumbleLoop::loadParams_() {
|
||||
getDynamicParam2(&mPattern_d, "Pattern");
|
||||
getDynamicParam2(&mPower_d, "Power");
|
||||
getDynamicParam2(&mSideways_d, "Sideways");
|
||||
getDynamicParam_2(&mPattern_d, "Pattern");
|
||||
getDynamicParam_2(&mPower_d, "Power");
|
||||
getDynamicParam_2(&mSideways_d, "Sideways");
|
||||
getAITreeVariable(&mCamVibId_a, "CamVibId");
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ CameraRumbleStopWithDamping::CameraRumbleStopWithDamping(const InitArg& arg)
|
||||
: ksys::act::ai::Action(arg) {}
|
||||
|
||||
void CameraRumbleStopWithDamping::loadParams_() {
|
||||
getDynamicParam2(&mDampingTime_d, "DampingTime");
|
||||
getDynamicParam_2(&mDampingTime_d, "DampingTime");
|
||||
getAITreeVariable(&mCamVibId_a, "CamVibId");
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ void ControllerRumble::enter_(ksys::act::ai::InlineParamPack* params) {
|
||||
|
||||
void ControllerRumble::loadParams_() {
|
||||
getStaticParam(&mPattern_s, "Pattern");
|
||||
getDynamicParam2(&mCount_d, "Count");
|
||||
getDynamicParam_2(&mCount_d, "Count");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -89,7 +89,7 @@ void GiantDoubleGroundPunch::loadParams_() {
|
||||
// FIXME: CALL _ZN4sead14PrintFormatter20proceedToFormatMark_EPc @ 0x7100b0bde0
|
||||
// FIXME: CALL _ZN4sead14PrintFormatter5flushEv @ 0x7100b0bd94
|
||||
// FIXME: CALL sead__PrintFormatter__x @ 0x7100b0c528
|
||||
getDynamicParam2(&mTargetPos_d, "TargetPos");
|
||||
getDynamicParam_2(&mTargetPos_d, "TargetPos");
|
||||
}
|
||||
|
||||
void GiantDoubleGroundPunch::calc_() {
|
||||
|
||||
@@ -6,7 +6,7 @@ Msg2CameraResetInterpolate::Msg2CameraResetInterpolate(const InitArg& arg)
|
||||
: ksys::act::ai::Action(arg) {}
|
||||
|
||||
void Msg2CameraResetInterpolate::loadParams_() {
|
||||
getDynamicParam2(&mInterpolateParam_d, "InterpolateParam");
|
||||
getDynamicParam_2(&mInterpolateParam_d, "InterpolateParam");
|
||||
}
|
||||
|
||||
} // namespace uking::action
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "Game/AI/Query/queryIsCurrentMainFieldStage.h"
|
||||
#include <evfl/Query.h>
|
||||
#include "KingSystem/System/StageInfo.h"
|
||||
#include "Game/gameScene.h"
|
||||
|
||||
namespace uking::query {
|
||||
|
||||
@@ -9,7 +9,7 @@ IsCurrentMainFieldStage::IsCurrentMainFieldStage(const InitArg& arg) : ksys::act
|
||||
IsCurrentMainFieldStage::~IsCurrentMainFieldStage() = default;
|
||||
|
||||
int IsCurrentMainFieldStage::doQuery() {
|
||||
return ksys::StageInfo::getCurrentMapType() == "MainField";
|
||||
return GameScene::getCurrentMapType() == "MainField";
|
||||
}
|
||||
|
||||
void IsCurrentMainFieldStage::loadParams(const evfl::QueryArg& arg) {}
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
#include "Game/gameScene.h"
|
||||
#include "KingSystem/System/StageInfo.h"
|
||||
|
||||
namespace uking {
|
||||
|
||||
bool GameScene::sIsOpenWorldDemo{};
|
||||
|
||||
const sead::SafeString& GameScene::getCurrentMapType() {
|
||||
return ksys::StageInfo::getCurrentMapType();
|
||||
}
|
||||
|
||||
const sead::SafeString& GameScene::getCurrentMapName() {
|
||||
return ksys::StageInfo::getCurrentMapName();
|
||||
}
|
||||
|
||||
} // namespace uking
|
||||
|
||||
@@ -231,6 +231,10 @@ void Awareness::calc() {
|
||||
resetFlag(Flag::_0);
|
||||
}
|
||||
|
||||
u32 Awareness::calcHash(const sead::SafeString& key) {
|
||||
return agl::utl::ParameterBase::calcHash(key);
|
||||
}
|
||||
|
||||
void Awareness::Links2::calc() {
|
||||
count = 0;
|
||||
}
|
||||
|
||||
@@ -35,6 +35,8 @@ public:
|
||||
void setEventActive(bool active);
|
||||
void calc();
|
||||
|
||||
static u32 calcHash(const sead::SafeString& key);
|
||||
|
||||
private:
|
||||
friend class AwarenessInstance;
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "KingSystem/ActorSystem/Awareness/actAwarenessDefs.h"
|
||||
#include <container/seadSafeArray.h>
|
||||
#include <utility/aglParameter.h>
|
||||
#include "KingSystem/ActorSystem/Awareness/actAwareness.h"
|
||||
|
||||
namespace ksys::act {
|
||||
|
||||
@@ -28,7 +29,7 @@ sead::SafeArray<const char*, 23> sAwarenessSensorTypes = sead::toArray({
|
||||
|
||||
u32 getAwarenessTerrorFlags(u32 hash) {
|
||||
for (u32 i = 0; i < u32(sAwarenessTerrorTypes.size()); ++i) {
|
||||
if (agl::utl::ParameterBase::calcHash(sAwarenessTerrorTypes(i)) == hash)
|
||||
if (Awareness::calcHash(sAwarenessTerrorTypes(i)) == hash)
|
||||
return 1 << i;
|
||||
}
|
||||
|
||||
@@ -38,7 +39,7 @@ u32 getAwarenessTerrorFlags(u32 hash) {
|
||||
|
||||
u32 getAwarenessSensorFlags(u32 hash) {
|
||||
for (u32 i = 0; i < u32(sAwarenessSensorTypes.size()); ++i) {
|
||||
if (agl::utl::ParameterBase::calcHash(sAwarenessSensorTypes(i)) == hash)
|
||||
if (Awareness::calcHash(sAwarenessSensorTypes(i)) == hash)
|
||||
return 1 << i;
|
||||
}
|
||||
return 0xffffffff;
|
||||
|
||||
@@ -197,6 +197,35 @@ protected:
|
||||
return false;
|
||||
}
|
||||
|
||||
// likely duplicated by compiler?
|
||||
template <typename T>
|
||||
bool getDynamicParamImpl_2(T* value, const sead::SafeString& key,
|
||||
bool (ParamPack::*getter)(T* value, const sead::SafeString& key)
|
||||
const,
|
||||
T* default_value) const {
|
||||
auto* action = this;
|
||||
while (action && action->mFlags.isOff(Flag::_80)) {
|
||||
if ((action->mParams.*getter)(value, key))
|
||||
return true;
|
||||
if (action->mFlags.isOff(Flag::DynamicParamChild))
|
||||
goto fail;
|
||||
action = action->getCurrentChild();
|
||||
if (!action)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
for (s32 i = 0, n = action->getNumChildren(); i < n; ++i) {
|
||||
auto* child = action->getChild(i);
|
||||
if (child->getDynamicParamImpl_2<T>(value, key, getter, default_value))
|
||||
return true;
|
||||
}
|
||||
|
||||
fail:
|
||||
logMissingParam(key);
|
||||
*value = *default_value;
|
||||
return false;
|
||||
}
|
||||
|
||||
template <AIDefParamType Type, typename T>
|
||||
bool getDynamicParamPtrImpl(T** value, const sead::SafeString& key, T* default_value) const {
|
||||
return getDynamicParamImpl(value, key, &ParamPack::getPtrGeneric<T, Type>, &default_value);
|
||||
@@ -246,26 +275,31 @@ protected:
|
||||
value, key, static_cast<sead::SafeString*>(getDefaultString32()));
|
||||
}
|
||||
|
||||
// TODO: rename -- why do these exist?
|
||||
// likely duplicated by compiler?
|
||||
template <AIDefParamType Type, typename T>
|
||||
bool getDynamicParamPtrImpl2(T** value, const sead::SafeString& key, T* default_value) const {
|
||||
return getDynamicParamImpl(value, key, &ParamPack::getPtrGeneric2<T, Type>, &default_value);
|
||||
bool getDynamicParamPtrImpl_2(T** value, const sead::SafeString& key, T* default_value) const {
|
||||
return getDynamicParamImpl_2(value, key, &ParamPack::getPtrGeneric_2<T, Type>,
|
||||
&default_value);
|
||||
}
|
||||
|
||||
bool getDynamicParam2(int** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl2<AIDefParamType::Int>(value, key, getDefaultInt());
|
||||
// likely duplicated by compiler?
|
||||
bool getDynamicParam_2(int** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl_2<AIDefParamType::Int>(value, key, getDefaultInt());
|
||||
}
|
||||
|
||||
bool getDynamicParam2(float** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl2<AIDefParamType::Float>(value, key, getDefaultFloat());
|
||||
// likely duplicated by compiler?
|
||||
bool getDynamicParam_2(float** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl_2<AIDefParamType::Float>(value, key, getDefaultFloat());
|
||||
}
|
||||
|
||||
bool getDynamicParam2(sead::Vector3f** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl2<AIDefParamType::Vec3>(value, key, getDefaultVec3());
|
||||
// likely duplicated by compiler?
|
||||
bool getDynamicParam_2(sead::Vector3f** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl_2<AIDefParamType::Vec3>(value, key, getDefaultVec3());
|
||||
}
|
||||
|
||||
bool getDynamicParam2(bool** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl2<AIDefParamType::Bool>(value, key, getDefaultBool());
|
||||
// likely duplicated by compiler?
|
||||
bool getDynamicParam_2(bool** value, const sead::SafeString& key) const {
|
||||
return getDynamicParamPtrImpl_2<AIDefParamType::Bool>(value, key, getDefaultBool());
|
||||
}
|
||||
|
||||
Actor* mActor;
|
||||
|
||||
@@ -104,9 +104,9 @@ public:
|
||||
return ptr != nullptr;
|
||||
}
|
||||
|
||||
// TODO: rename this -- why does this exist?
|
||||
// likely duplicated by compiler?
|
||||
template <typename T, AIDefParamType Type>
|
||||
bool getPtrGeneric2(T** value, const sead::SafeString& key) const {
|
||||
bool getPtrGeneric_2(T** value, const sead::SafeString& key) const {
|
||||
auto* ptr = static_cast<T*>(getAITreeVariablePointer(key, Type));
|
||||
*value = ptr;
|
||||
return ptr != nullptr;
|
||||
|
||||
@@ -401,7 +401,7 @@ void Object::setRevivalFlagValueIf(ActorData::Flag bit, bool value) {
|
||||
}
|
||||
|
||||
void Object::setRevivalFlagValue(bool value) {
|
||||
gdt::Manager::instance()->setBool(value, mRevivalGameDataFlagHash);
|
||||
gdt::Manager::instance()->setBoolNoCheck(value, mRevivalGameDataFlagHash);
|
||||
}
|
||||
|
||||
// NON_MATCHING
|
||||
|
||||
@@ -73,7 +73,7 @@ void Quest::x_3() {
|
||||
auto* gdm = gdt::Manager::instance();
|
||||
if (gdm != nullptr) {
|
||||
if (gdm->getBool(handle, &result, true); !result)
|
||||
gdm->setBool(true, handle);
|
||||
gdm->setBoolNoCheck(true, handle);
|
||||
}
|
||||
}
|
||||
_8 = _c;
|
||||
|
||||
+1
-1
Submodule tools/common updated: c45272bf1b...091099c098
@@ -1,5 +1,6 @@
|
||||
functions_csv = "data/uking_functions.csv"
|
||||
build_target = "uking"
|
||||
check_unimplemented_references = false
|
||||
|
||||
[decomp_me]
|
||||
compiler_name = "clang-4.0.1"
|
||||
|
||||
Reference in New Issue
Block a user