mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-08 13:44:56 +00:00
Update hecl, more CVar imps
This commit is contained in:
@@ -61,6 +61,7 @@ set(DNAMP1_SOURCES
|
||||
FRME.cpp
|
||||
SCAN.cpp
|
||||
DeafBabe.cpp
|
||||
Tweaks/CTweakAutoMapper.cpp
|
||||
Tweaks/CTweakPlayer.cpp
|
||||
Tweaks/CTweakTargeting.cpp
|
||||
Tweaks/CTweakBall.cpp
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#include "DataSpec/DNAMP1/Tweaks/CTweakAutoMapper.hpp"
|
||||
|
||||
#include <hecl/CVar.hpp>
|
||||
#include <hecl/CVarManager.hpp>
|
||||
|
||||
namespace DataSpec::DNAMP1 {
|
||||
namespace {
|
||||
|
||||
}
|
||||
|
||||
void CTweakAutoMapper::_tweakListener(hecl::CVar* cv) {
|
||||
|
||||
}
|
||||
|
||||
void CTweakAutoMapper::initCVars(hecl::CVarManager* mgr) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include "../../DataSpec/DNACommon/Tweaks/ITweakAutoMapper.hpp"
|
||||
#include "zeus/CVector3f.hpp"
|
||||
#include "DataSpec/DNACommon/Tweaks/ITweakAutoMapper.hpp"
|
||||
|
||||
#include <zeus/CVector3f.hpp>
|
||||
|
||||
namespace hecl {
|
||||
class CVar;
|
||||
}
|
||||
|
||||
namespace DataSpec::DNAMP1 {
|
||||
struct CTweakAutoMapper final : public ITweakAutoMapper {
|
||||
@@ -132,5 +137,9 @@ struct CTweakAutoMapper final : public ITweakAutoMapper {
|
||||
const zeus::CColor& GetAreaFlashPulseColor() const override { return xf4_areaFlashPulseColor; }
|
||||
const zeus::CColor& GetDoorColor(int idx) const override { return x104_doorColors[idx]; }
|
||||
const zeus::CColor& GetOpenDoorColor() const override { return x11c_openDoorColor; }
|
||||
void initCVars(hecl::CVarManager*) override;
|
||||
|
||||
private:
|
||||
void _tweakListener(hecl::CVar* cv);
|
||||
};
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
||||
@@ -1,24 +1,27 @@
|
||||
#include "DataSpec/DNAMP1/Tweaks/CTweakGame.hpp"
|
||||
#include "Runtime/CStringExtras.hpp"
|
||||
#include "Runtime/Camera/CCameraManager.hpp"
|
||||
|
||||
#include <hecl/CVar.hpp>
|
||||
#include <hecl/CVarManager.hpp>
|
||||
|
||||
namespace DataSpec::DNAMP1 {
|
||||
hecl::CVar* tw_fov = nullptr;
|
||||
hecl::CVar* tw_hardmodeDMult = nullptr;
|
||||
hecl::CVar* tw_hardmodeWMult = nullptr;
|
||||
namespace {
|
||||
constexpr std::string_view skFov = "tweaks.game.FieldOfView"sv;
|
||||
constexpr std::string_view skHardModeDamageMultName = "tweaks.game.HardModeDamageMult"sv;
|
||||
constexpr std::string_view skHardModeWeaponMultName = "tweaks.game.HardModeWeaponMult"sv;
|
||||
}
|
||||
} // anonymous namespace
|
||||
|
||||
void CTweakGame::_tweakGameListener(hecl::CVar* cv) {
|
||||
if (urde::CStringExtras::CompareCaseInsensitive(cv->name(), skFov)) {
|
||||
if (cv == tw_fov) {
|
||||
x24_fov = cv->toReal();
|
||||
} else if (urde::CStringExtras::CompareCaseInsensitive(cv->name(), skHardModeDamageMultName)) {
|
||||
} else if (cv == tw_hardmodeDMult) {
|
||||
x60_hardmodeDamageMult = cv->toReal();
|
||||
} else if (urde::CStringExtras::CompareCaseInsensitive(cv->name(), skHardModeWeaponMultName)) {
|
||||
} else if (cv == tw_hardmodeWMult) {
|
||||
x64_hardmodeWeaponMult = cv->toReal();
|
||||
}
|
||||
cv->clearModified();
|
||||
}
|
||||
|
||||
void CTweakGame::initCVars(hecl::CVarManager* mgr) {
|
||||
@@ -28,13 +31,16 @@ void CTweakGame::initCVars(hecl::CVarManager* mgr) {
|
||||
if (cv->wasDeserialized())
|
||||
v = cv->toReal();
|
||||
cv->addListener([this](hecl::CVar* cv) { _tweakGameListener(cv); });
|
||||
return cv;
|
||||
};
|
||||
|
||||
assignRealValue(skFov, "", x24_fov,
|
||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ModifyRestart);
|
||||
assignRealValue(skHardModeDamageMultName, "", x60_hardmodeDamageMult,
|
||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::Cheat);
|
||||
assignRealValue(skHardModeWeaponMultName, "", x64_hardmodeWeaponMult,
|
||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::Cheat);
|
||||
tw_fov = assignRealValue(skFov, "", x24_fov,
|
||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive);
|
||||
tw_hardmodeDMult =
|
||||
assignRealValue(skHardModeDamageMultName, "", x60_hardmodeDamageMult,
|
||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::Cheat);
|
||||
tw_hardmodeWMult =
|
||||
assignRealValue(skHardModeWeaponMultName, "", x64_hardmodeWeaponMult,
|
||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::Cheat);
|
||||
}
|
||||
} // namespace DataSpec::DNAMP1
|
||||
|
||||
Reference in New Issue
Block a user