Rename aoc2 to HardModeManager

It seems to have been called HardModeManager according to a leftover
context name for loading Aoc/0010/Ecosystem/HardMode.byml
(which also doesn't exist anymore).
This commit is contained in:
Léo Lam
2021-04-20 12:02:24 +02:00
parent 3fc1957cc2
commit c95a79bbc1
6 changed files with 79 additions and 77 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
target_sources(uking PRIVATE
aoc2.cpp
aoc2.h
aocHardModeManager.cpp
aocHardModeManager.h
aocManager.cpp
aocManager.h
)
@@ -1,11 +1,11 @@
#include "Game/DLC/aoc2.h"
#include "Game/DLC/aocHardModeManager.h"
#include <math/seadMathCalcCommon.h>
#include "KingSystem/ActorSystem/actTag.h"
#include "KingSystem/Utils/InitTimeInfo.h"
namespace uking {
namespace uking::aoc {
SEAD_SINGLETON_DISPOSER_IMPL(aoc2)
SEAD_SINGLETON_DISPOSER_IMPL(HardModeManager)
namespace {
struct aoc2StaticData {
@@ -19,9 +19,9 @@ aoc2StaticData sData;
sead::FixedSafeString<64> sStr{""};
} // namespace
aoc2::aoc2()
: mGdtResetSlot(this, &aoc2::setHardModeEnabledFlag),
mGdtReinitSlot(this, &aoc2::initFlagHandles) {
HardModeManager::HardModeManager()
: mGdtResetSlot(this, &HardModeManager::setHardModeEnabledFlag),
mGdtReinitSlot(this, &HardModeManager::initFlagHandles) {
mMultipliers.fill(0.5);
setHardModeChange(HardModeChange::IsLastPlayHardMode, true);
@@ -33,19 +33,19 @@ aoc2::aoc2()
setHardModeChange(HardModeChange::ApplyDamageMultiplier, true);
}
void aoc2::setHardModeEnabledFlag(ksys::gdt::Manager::ResetEvent*) {
void HardModeManager::setHardModeEnabledFlag(ksys::gdt::Manager::ResetEvent*) {
ksys::gdt::Manager::instance()->setBool(true, mAoCHardModeEnabledFlag);
mGdtResetSlot.release();
}
void aoc2::initFlagHandles(ksys::gdt::Manager::ReinitEvent*) {
void HardModeManager::initFlagHandles(ksys::gdt::Manager::ReinitEvent*) {
auto* gdm = ksys::gdt::Manager::instance();
mHardModeHighScoreFlag = gdm->getS32Handle(sData.flag_name_HardMode_HighScore);
mAoCHardModeEnabledFlag = gdm->getBoolHandle(sData.flag_name_AoC_HardMode_Enabled);
mIsLastPlayHardModeFlag = gdm->getBoolHandle(sData.flag_name_IsLastPlayHardMode);
}
aoc2::~aoc2() {
HardModeManager::~HardModeManager() {
mFileHandle.requestUnload2();
if (_120) {
// TODO: use the normal operator delete once we figure out what _120 is
@@ -54,28 +54,29 @@ aoc2::~aoc2() {
}
}
void aoc2::init(sead::Heap*) {
void HardModeManager::init(sead::Heap*) {
init_();
}
void aoc2::init_() {
void HardModeManager::init_() {
initFlagHandles();
ksys::gdt::Manager::instance()->addReinitCallback(mGdtReinitSlot);
}
void aoc2::nerfHpRestore(f32* hp) const {
void HardModeManager::nerfHpRestore(f32* hp) const {
*hp = sead::Mathf::max(*hp * getMultiplier(MultiplierType::HpRestore), 1.0f);
}
void aoc2::nerfHpRestore(s32* hp) const {
void HardModeManager::nerfHpRestore(s32* hp) const {
*hp = sead::Mathi::max(*hp * getMultiplier(MultiplierType::HpRestore), 1);
}
void aoc2::modifyEnemyNoticeDuration(f32* value) const {
void HardModeManager::modifyEnemyNoticeDuration(f32* value) const {
*value = sead::Mathf::max(*value * getMultiplier(MultiplierType::EnemyNoticeDuration), 0);
}
bool aoc2::shouldApplyMasterModeDamageMultiplier(const ksys::act::ActorConstDataAccess& accessor) {
bool HardModeManager::shouldApplyMasterModeDamageMultiplier(
const ksys::act::ActorConstDataAccess& accessor) {
if (!accessor.hasProc())
return false;
@@ -84,7 +85,7 @@ bool aoc2::shouldApplyMasterModeDamageMultiplier(const ksys::act::ActorConstData
return shouldApplyMasterModeDamageMultiplier(parent);
if (accessor.hasTag(ksys::act::tags::IsMasterModeDamageMultiplierActor) ||
(aoc2::instance() && aoc2::instance()->isTestOfStrengthShrine() &&
(HardModeManager::instance() && HardModeManager::instance()->isTestOfStrengthShrine() &&
accessor.hasTag(ksys::act::tags::AncientGuardTarget))) {
return true;
}
@@ -115,14 +116,14 @@ bool aoc2::shouldApplyMasterModeDamageMultiplier(const ksys::act::ActorConstData
return false;
}
void aoc2::buffDamage(s32& damage) {
void HardModeManager::buffDamage(s32& damage) {
damage = damage * 1.5f;
if (damage == 1) {
damage = 2;
}
}
void aoc2::loadIsLastPlayHardModeFlag() {
void HardModeManager::loadIsLastPlayHardModeFlag() {
bool value{};
ksys::gdt::Manager::instance()->getBool(mIsLastPlayHardModeFlag, &value);
const bool x = value;
@@ -132,7 +133,7 @@ void aoc2::loadIsLastPlayHardModeFlag() {
setFlag(Flag::EnableHardMode, x);
}
void aoc2::loadIsHardModeFlag() {
void HardModeManager::loadIsHardModeFlag() {
bool value{};
ksys::gdt::Manager::instance()->getBool(mAoCHardModeEnabledFlag, &value);
const bool x = value;
@@ -142,16 +143,16 @@ void aoc2::loadIsHardModeFlag() {
setFlag(Flag::EnableHardMode, x);
}
void aoc2::storeIsLastPlayHardModeFlag() {
void HardModeManager::storeIsLastPlayHardModeFlag() {
ksys::gdt::Manager::instance()->setBool(checkFlag(Flag::EnableHardMode),
mIsLastPlayHardModeFlag);
}
void aoc2::resetIsLastPlayHardModeFlag() {
void HardModeManager::resetIsLastPlayHardModeFlag() {
ksys::gdt::Manager::instance()->setBool(false, "IsLastPlayHardMode");
}
bool aoc2::isTestOfStrengthShrine() const {
bool HardModeManager::isTestOfStrengthShrine() const {
if (mMapType != "CDungeon")
return false;
@@ -166,13 +167,13 @@ bool aoc2::isTestOfStrengthShrine() const {
return false;
}
void aoc2::calc() {
void HardModeManager::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) {
bool HardModeManager::rankUpEnemy(const sead::SafeString& actor_name, const ksys::map::Object& obj,
const char** new_name) {
if (obj.getFlags().isOn(ksys::map::Object::Flag::HasUniqueName) ||
obj.getHardModeFlags().isOn(ksys::map::Object::HardModeFlag::DisableRankup)) {
return false;
@@ -309,4 +310,4 @@ bool aoc2::rankUpEnemy(const sead::SafeString& actor_name, const ksys::map::Obje
return true;
}
} // namespace uking
} // namespace uking::aoc
@@ -10,14 +10,13 @@
#include "KingSystem/Resource/resHandle.h"
#include "KingSystem/Utils/Types.h"
namespace uking {
namespace uking::aoc {
// FIXME: incomplete
class aoc2 final {
SEAD_SINGLETON_DISPOSER(aoc2)
class HardModeManager final {
SEAD_SINGLETON_DISPOSER(HardModeManager)
aoc2();
virtual ~aoc2();
HardModeManager();
virtual ~HardModeManager();
public:
SEAD_ENUM(HardModeChange, IsLastPlayHardMode = 0, NerfHpRestore = 1, _2 = 2,
@@ -76,6 +75,6 @@ private:
sead::FixedSafeString<256> mMapType;
sead::FixedSafeString<256> mMapName;
};
KSYS_CHECK_SIZE_NX150(aoc2, 0x3b8);
KSYS_CHECK_SIZE_NX150(HardModeManager, 0x3b8);
} // namespace uking
} // namespace uking::aoc
+11 -11
View File
@@ -1,5 +1,5 @@
#include "Game/Damage/dmgDamageManagerBase.h"
#include "Game/DLC/aoc2.h"
#include "Game/DLC/aocHardModeManager.h"
#include "Game/Damage/dmgDamageCallback.h"
#include "KingSystem/ActorSystem/actActor.h"
#include "KingSystem/ActorSystem/actActorConstDataAccess.h"
@@ -139,37 +139,37 @@ bool DamageManagerBase::applyDamage(s32& life) {
}
void DamageManagerBase::tryBuffDamage(s32& damage) {
if (!uking::aoc2::instance()) {
if (!aoc::HardModeManager::instance()) {
return;
}
if (!uking::aoc2::instance()->checkFlag(uking::aoc2::Flag::EnableHardMode)) {
if (!aoc::HardModeManager::instance()->checkFlag(aoc::HardModeManager::Flag::EnableHardMode)) {
return;
}
if (!uking::aoc2::instance()->isHardModeChangeOn(
uking::aoc2::HardModeChange::ApplyDamageMultiplier)) {
if (!aoc::HardModeManager::instance()->isHardModeChangeOn(
aoc::HardModeManager::HardModeChange::ApplyDamageMultiplier)) {
return;
}
ksys::act::ActorConstDataAccess acc;
ksys::act::acquireActor(getAttacker(), &acc);
if (uking::aoc2::shouldApplyMasterModeDamageMultiplier(acc)) {
uking::aoc2::buffDamage(damage);
if (aoc::HardModeManager::shouldApplyMasterModeDamageMultiplier(acc)) {
aoc::HardModeManager::buffDamage(damage);
}
}
void DamageManagerBase::tryApplyDamageRecovery(s32& damage) {
if (!uking::aoc2::instance()) {
if (!aoc::HardModeManager::instance()) {
return;
}
if (!uking::aoc2::instance()->checkFlag(uking::aoc2::Flag::EnableHardMode)) {
if (!aoc::HardModeManager::instance()->checkFlag(aoc::HardModeManager::Flag::EnableHardMode)) {
return;
}
if (!uking::aoc2::instance()->isHardModeChangeOn(
uking::aoc2::HardModeChange::EnableLifeRegen)) {
if (!aoc::HardModeManager::instance()->isHardModeChangeOn(
uking::aoc::HardModeManager::HardModeChange::EnableLifeRegen)) {
return;
}
+6 -4
View File
@@ -1,6 +1,6 @@
#include "Game/UI/uiUtils.h"
#include "Game/Actor/actWeapon.h"
#include "Game/DLC/aoc2.h"
#include "Game/DLC/aocHardModeManager.h"
#include "Game/Damage/dmgInfoManager.h"
#include "Game/UI/uiPauseMenuDataMgr.h"
#include "KingSystem/ActorSystem/actInfoCommon.h"
@@ -29,9 +29,11 @@ int getItemHitPointRecover(const sead::SafeString& name) {
int value = ksys::act::getCureItemHitPointRecover(iter);
if (aoc2::instance() && aoc2::instance()->checkFlag(aoc2::Flag::EnableHardMode) &&
aoc2::instance()->isHardModeChangeOn(aoc2::HardModeChange::NerfHpRestore)) {
aoc2::instance()->nerfHpRestore(&value);
using HardModeMgr = uking::aoc::HardModeManager;
if (HardModeMgr::instance() &&
HardModeMgr::instance()->checkFlag(HardModeMgr::Flag::EnableHardMode) &&
HardModeMgr::instance()->isHardModeChangeOn(HardModeMgr::HardModeChange::NerfHpRestore)) {
HardModeMgr::instance()->nerfHpRestore(&value);
}
return value;