mirror of https://github.com/zeldaret/botw.git
aoc2: Implement more functions
This commit is contained in:
parent
3f11fdb6d2
commit
3bd9d7a599
|
@ -6520,7 +6520,7 @@
|
|||
0x000000710011cd2c,AI_Action_EventOpenGetDemo::dtorDelete,52,
|
||||
0x000000710011cd60,AI_Action_EventOpenGetDemo::init,8,
|
||||
0x000000710011cd68,AI_Action_EventOpenGetDemo::enter,112,
|
||||
0x000000710011cdd8,GameDataMgr::setBoolByIter,196,
|
||||
0x000000710011cdd8,GameDataMgr::setBoolByIter,196,_ZN4ksys3gdt7Manager7setBoolEbNS0_10FlagHandleE
|
||||
0x000000710011ce9c,AI_Action_EventOpenGetDemo::calc,240,
|
||||
0x000000710011cf8c,AI_Action_EventOpenGetDemo::leave,68,
|
||||
0x000000710011cfd0,AI_Action_EventOpenGetDemo::loadParams,108,
|
||||
|
@ -72739,7 +72739,7 @@
|
|||
0x0000007100d6cd40,aoc2::Instance::dtorDelete,100,_ZN5uking4aoc218SingletonDisposer_D0Ev
|
||||
0x0000007100d6cda4,aoc2::createInstance,136,_ZN5uking4aoc214createInstanceEPN4sead4HeapE
|
||||
0x0000007100d6ce2c,aoc2::ctor,524,_ZN5uking4aoc2C1Ev
|
||||
0x0000007100d6d038,aoc2::setAocHardModeEnabledFlag,96,
|
||||
0x0000007100d6d038,aoc2::setAocHardModeEnabledFlag,96,_ZN5uking4aoc222setHardModeEnabledFlagEPN4ksys3gdt7Manager10ResetEventE
|
||||
0x0000007100d6d098,aoc2::initGameDataIters,212,_ZN5uking4aoc215initFlagHandlesEPN4ksys3gdt7Manager11ReinitEventE
|
||||
0x0000007100d6d16c,aoc2::dtor,228,_ZN5uking4aoc2D1Ev
|
||||
0x0000007100d6d250,aoc2::dtorDelete,36,_ZN5uking4aoc2D0Ev
|
||||
|
@ -72751,12 +72751,12 @@
|
|||
0x0000007100d6d410,sub_7100D6D410,304,
|
||||
0x0000007100d6d540,aoc2::shouldApplyMasterModeDamageMultiplier,6164,_ZN5uking4aoc237shouldApplyMasterModeDamageMultiplierERKN4ksys3act20ActorConstDataAccessE
|
||||
0x0000007100d6ed54,aoc2::buffDamage,40,_ZN5uking4aoc210buffDamageERi
|
||||
0x0000007100d6ed7c,aoc2::initHardModeFlag,172,
|
||||
0x0000007100d6ee28,aoc2::setAocFlag2,172,
|
||||
0x0000007100d6eed4,aoc2::setIsLastPlayHardMode,60,
|
||||
0x0000007100d6ef10,aoc2::setIsLastPlayHardModeToFalse,76,
|
||||
0x0000007100d6ed7c,aoc2::initHardModeFlag,172,_ZN5uking4aoc226loadIsLastPlayHardModeFlagEv
|
||||
0x0000007100d6ee28,aoc2::setAocFlag2,172,_ZN5uking4aoc218loadIsHardModeFlagEv
|
||||
0x0000007100d6eed4,aoc2::setIsLastPlayHardMode,60,_ZN5uking4aoc227storeIsLastPlayHardModeFlagEv
|
||||
0x0000007100d6ef10,aoc2::setIsLastPlayHardModeToFalse,76,_ZN5uking4aoc227resetIsLastPlayHardModeFlagEv
|
||||
0x0000007100d6ef5c,aoc2::isTestOfStrengthDungeon,396,_ZNK5uking4aoc222isTestOfStrengthShrineEv
|
||||
0x0000007100d6f0e8,aoc2::calc,20,
|
||||
0x0000007100d6f0e8,aoc2::calc,20,_ZN5uking4aoc24calcEv
|
||||
0x0000007100d6f0fc,aoc2::rankUpEnemy,7780,_ZN5uking4aoc211rankUpEnemyERKN4sead14SafeStringBaseIcEERKN4ksys3map6ObjectEPPKc
|
||||
0x0000007100d70f60,sub_7100D70F60,48,_ZN4sead9Delegate1IN5uking4aoc2EPN4ksys3gdt7Manager10ResetEventEE6invokeES7_
|
||||
0x0000007100d70f90,sub_7100D70F90,92,_ZNK4sead9Delegate1IN5uking4aoc2EPN4ksys3gdt7Manager10ResetEventEE5cloneEPNS_4HeapE
|
||||
|
@ -74264,7 +74264,7 @@
|
|||
0x0000007100dd0a6c,GameDataMgr::setCurrentRupeeFlagName,12,
|
||||
0x0000007100dd0a78,GameDataMgr::requestResetAllToInitial,16,
|
||||
0x0000007100dd0a88,GameDataMgr::getAndSetShrineQuestAndKassFlags,3628,
|
||||
0x0000007100dd18b4,GameDataMgr::setBoolByKey,164,
|
||||
0x0000007100dd18b4,GameDataMgr::setBoolByKey,164,_ZN4ksys3gdt7Manager7setBoolEbRKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100dd1958,GameDataMgr::getAndSetShrineQuestFlagsAndKassDlc2,1416,
|
||||
0x0000007100dd1ee0,GameDataMgr::setStringInArrayByKey,184,
|
||||
0x0000007100dd1f98,GameDataMgr::setBoolByKeyB,164,
|
||||
|
|
Can't render this file because it is too large.
|
|
@ -37,6 +37,11 @@ aoc2::aoc2()
|
|||
setHardModeChange(HardModeChange::ApplyDamageMultiplier, true);
|
||||
}
|
||||
|
||||
void aoc2::setHardModeEnabledFlag(ksys::gdt::Manager::ResetEvent*) {
|
||||
ksys::gdt::Manager::instance()->setBool(true, mAoCHardModeEnabledFlag);
|
||||
mGdtResetSlot.release();
|
||||
}
|
||||
|
||||
void aoc2::initFlagHandles(ksys::gdt::Manager::ReinitEvent*) {
|
||||
auto* gdm = ksys::gdt::Manager::instance();
|
||||
mHardModeHighScoreFlag = gdm->getS32Handle(sData.flag_name_HardMode_HighScore);
|
||||
|
@ -114,6 +119,42 @@ bool aoc2::shouldApplyMasterModeDamageMultiplier(const ksys::act::ActorConstData
|
|||
return false;
|
||||
}
|
||||
|
||||
void aoc2::buffDamage(s32& damage) {
|
||||
damage = damage * 1.5f;
|
||||
if (damage == 1) {
|
||||
damage = 2;
|
||||
}
|
||||
}
|
||||
|
||||
void aoc2::loadIsLastPlayHardModeFlag() {
|
||||
bool value{};
|
||||
ksys::gdt::Manager::instance()->getBool(mIsLastPlayHardModeFlag, &value);
|
||||
const bool x = value;
|
||||
#ifdef MATCHING_HACK_NX_CLANG
|
||||
asm("");
|
||||
#endif
|
||||
setFlag(Flag::EnableHardMode, x);
|
||||
}
|
||||
|
||||
void aoc2::loadIsHardModeFlag() {
|
||||
bool value{};
|
||||
ksys::gdt::Manager::instance()->getBool(mAoCHardModeEnabledFlag, &value);
|
||||
const bool x = value;
|
||||
#ifdef MATCHING_HACK_NX_CLANG
|
||||
asm("");
|
||||
#endif
|
||||
setFlag(Flag::EnableHardMode, x);
|
||||
}
|
||||
|
||||
void aoc2::storeIsLastPlayHardModeFlag() {
|
||||
ksys::gdt::Manager::instance()->setBool(checkFlag(Flag::EnableHardMode),
|
||||
mIsLastPlayHardModeFlag);
|
||||
}
|
||||
|
||||
void aoc2::resetIsLastPlayHardModeFlag() {
|
||||
ksys::gdt::Manager::instance()->setBool(false, "IsLastPlayHardMode");
|
||||
}
|
||||
|
||||
bool aoc2::isTestOfStrengthShrine() const {
|
||||
if (mMapType != "CDungeon")
|
||||
return false;
|
||||
|
@ -129,6 +170,11 @@ bool aoc2::isTestOfStrengthShrine() const {
|
|||
return false;
|
||||
}
|
||||
|
||||
void aoc2::calc() {
|
||||
volatile u32 unused = 0;
|
||||
static_cast<void>(unused);
|
||||
}
|
||||
|
||||
bool aoc2::rankUpEnemy(const sead::SafeString& actor_name, const ksys::map::Object& obj,
|
||||
const char** new_name) {
|
||||
if (obj.getFlags().isOn(ksys::map::Object::Flag::HasUniqueName) ||
|
||||
|
@ -267,11 +313,4 @@ bool aoc2::rankUpEnemy(const sead::SafeString& actor_name, const ksys::map::Obje
|
|||
return true;
|
||||
}
|
||||
|
||||
void aoc2::buffDamage(s32& damage) {
|
||||
damage = damage * 1.5f;
|
||||
if (damage == 1) {
|
||||
damage = 2;
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace uking
|
||||
|
|
|
@ -29,6 +29,14 @@ public:
|
|||
|
||||
void init(sead::Heap* heap);
|
||||
|
||||
void loadIsLastPlayHardModeFlag();
|
||||
void loadIsHardModeFlag();
|
||||
|
||||
void storeIsLastPlayHardModeFlag();
|
||||
void resetIsLastPlayHardModeFlag();
|
||||
|
||||
void calc();
|
||||
|
||||
void nerfHpRestore(f32* hp) const;
|
||||
void nerfHpRestore(s32* hp) const;
|
||||
void modifyEnemyNoticeDuration(f32* value) const;
|
||||
|
@ -44,7 +52,10 @@ public:
|
|||
|
||||
void setHardModeChange(HardModeChange flag, bool on) { mHardModeChanges.changeBit(flag, on); }
|
||||
bool isHardModeChangeOn(HardModeChange flag) const { return mHardModeChanges.isOnBit(flag); }
|
||||
|
||||
void setFlag(Flag flag, bool on) { mFlags.changeBit(flag, on); }
|
||||
bool checkFlag(Flag flag) const { return mFlags.isOnBit(flag); }
|
||||
|
||||
f32 getMultiplier(MultiplierType type) const { return mMultipliers[type]; }
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue