mirror of https://github.com/AxioDL/metaforce.git
Editor: Move cvars to CVarCommons
This commit is contained in:
parent
94be460a1b
commit
9cf95b5c10
|
@ -29,7 +29,7 @@ void ViewManager::InitMP1(MP1::CMain& main) {
|
||||||
if (!m_noShaderWarmup)
|
if (!m_noShaderWarmup)
|
||||||
main.WarmupShaders();
|
main.WarmupShaders();
|
||||||
|
|
||||||
m_testGameView.reset(new TestGameView(*this, m_viewResources, *m_rootView));
|
m_testGameView.reset(new TestGameView(*this, m_viewResources, *m_rootView, m_cvarManager));
|
||||||
|
|
||||||
m_rootView->accessContentViews().clear();
|
m_rootView->accessContentViews().clear();
|
||||||
m_rootView->accessContentViews().push_back(m_testGameView.get());
|
m_rootView->accessContentViews().push_back(m_testGameView.get());
|
||||||
|
@ -62,17 +62,11 @@ void ViewManager::TestGameView::think() {
|
||||||
|
|
||||||
if (m_debugText) {
|
if (m_debugText) {
|
||||||
std::string overlayText;
|
std::string overlayText;
|
||||||
const hecl::CVar* showFrameIdx = hecl::CVarManager::instance()->findCVar("debugOverlay.showFrameCounter");
|
|
||||||
const hecl::CVar* playerInfo = hecl::CVarManager::instance()->findCVar("debugOverlay.playerInfo");
|
|
||||||
const hecl::CVar* worldInfo = hecl::CVarManager::instance()->findCVar("debugOverlay.worldInfo");
|
|
||||||
const hecl::CVar* areaInfo = hecl::CVarManager::instance()->findCVar("debugOverlay.areaInfo");
|
|
||||||
const hecl::CVar* showInGameTime = hecl::CVarManager::instance()->findCVar("debugOverlay.showInGameTime");
|
|
||||||
const hecl::CVar* showResourceStats = hecl::CVarManager::instance()->findCVar("debugOverlay.showResourceStats");
|
|
||||||
if (g_StateManager) {
|
if (g_StateManager) {
|
||||||
if (showFrameIdx && showFrameIdx->toBoolean())
|
if (m_cvarCommons.m_debugOverlayShowFrameCounter->toBoolean())
|
||||||
overlayText += fmt::format(FMT_STRING("Frame: {}\n"), g_StateManager->GetUpdateFrameIndex());
|
overlayText += fmt::format(FMT_STRING("Frame: {}\n"), g_StateManager->GetUpdateFrameIndex());
|
||||||
|
|
||||||
if (showInGameTime && showInGameTime->toBoolean()) {
|
if (m_cvarCommons.m_debugOverlayShowInGameTime->toBoolean()) {
|
||||||
double igt = g_GameState->GetTotalPlayTime();
|
double igt = g_GameState->GetTotalPlayTime();
|
||||||
u32 ms = u64(igt * 1000) % 1000;
|
u32 ms = u64(igt * 1000) % 1000;
|
||||||
auto pt = std::div(igt, 3600);
|
auto pt = std::div(igt, 3600);
|
||||||
|
@ -80,7 +74,7 @@ void ViewManager::TestGameView::think() {
|
||||||
fmt::format(FMT_STRING("PlayTime: {:02d}:{:02d}:{:02d}.{:03d}\n"), pt.quot, pt.rem / 60, pt.rem % 60, ms);
|
fmt::format(FMT_STRING("PlayTime: {:02d}:{:02d}:{:02d}.{:03d}\n"), pt.quot, pt.rem / 60, pt.rem % 60, ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_StateManager->Player() && playerInfo && playerInfo->toBoolean()) {
|
if (g_StateManager->Player() && m_cvarCommons.m_debugOverlayPlayerInfo->toBoolean()) {
|
||||||
const CPlayer& pl = g_StateManager->GetPlayer();
|
const CPlayer& pl = g_StateManager->GetPlayer();
|
||||||
const zeus::CQuaternion plQ = zeus::CQuaternion(pl.GetTransform().getRotation().buildMatrix3f());
|
const zeus::CQuaternion plQ = zeus::CQuaternion(pl.GetTransform().getRotation().buildMatrix3f());
|
||||||
const zeus::CTransform camXf = g_StateManager->GetCameraManager()->GetCurrentCameraTransform(*g_StateManager);
|
const zeus::CTransform camXf = g_StateManager->GetCameraManager()->GetCurrentCameraTransform(*g_StateManager);
|
||||||
|
@ -98,7 +92,7 @@ void ViewManager::TestGameView::think() {
|
||||||
camXf.origin.y(), camXf.origin.z(), zeus::radToDeg(camQ.roll()),
|
camXf.origin.y(), camXf.origin.z(), zeus::radToDeg(camQ.roll()),
|
||||||
zeus::radToDeg(camQ.pitch()), zeus::radToDeg(camQ.yaw()));
|
zeus::radToDeg(camQ.pitch()), zeus::radToDeg(camQ.yaw()));
|
||||||
}
|
}
|
||||||
if (worldInfo && worldInfo->toBoolean()) {
|
if (m_cvarCommons.m_debugOverlayWorldInfo->toBoolean()) {
|
||||||
TLockedToken<CStringTable> tbl =
|
TLockedToken<CStringTable> tbl =
|
||||||
g_SimplePool->GetObj({FOURCC('STRG'), g_StateManager->GetWorld()->IGetStringTableAssetId()});
|
g_SimplePool->GetObj({FOURCC('STRG'), g_StateManager->GetWorld()->IGetStringTableAssetId()});
|
||||||
const urde::TAreaId aId = g_GameState->CurrentWorldState().GetCurrentAreaId();
|
const urde::TAreaId aId = g_GameState->CurrentWorldState().GetCurrentAreaId();
|
||||||
|
@ -107,7 +101,7 @@ void ViewManager::TestGameView::think() {
|
||||||
}
|
}
|
||||||
|
|
||||||
const urde::TAreaId aId = g_GameState->CurrentWorldState().GetCurrentAreaId();
|
const urde::TAreaId aId = g_GameState->CurrentWorldState().GetCurrentAreaId();
|
||||||
if (areaInfo && areaInfo->toBoolean() && g_StateManager->GetWorld() &&
|
if (m_cvarCommons.m_debugOverlayAreaInfo->toBoolean() && g_StateManager->GetWorld() &&
|
||||||
g_StateManager->GetWorld()->DoesAreaExist(aId)) {
|
g_StateManager->GetWorld()->DoesAreaExist(aId)) {
|
||||||
const auto& layerStates = g_GameState->CurrentWorldState().GetLayerState();
|
const auto& layerStates = g_GameState->CurrentWorldState().GetLayerState();
|
||||||
std::string layerBits;
|
std::string layerBits;
|
||||||
|
@ -126,7 +120,7 @@ void ViewManager::TestGameView::think() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showResourceStats && showResourceStats->toBoolean())
|
if (m_cvarCommons.m_debugOverlayShowResourceStats->toBoolean())
|
||||||
overlayText += fmt::format(FMT_STRING("Resource Objects: {}\n"), g_SimplePool->GetLiveObjects());
|
overlayText += fmt::format(FMT_STRING("Resource Objects: {}\n"), g_SimplePool->GetLiveObjects());
|
||||||
|
|
||||||
if (!overlayText.empty())
|
if (!overlayText.empty())
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "hecl/CVarManager.hpp"
|
#include "hecl/CVarManager.hpp"
|
||||||
|
#include "hecl/CVarCommons.hpp"
|
||||||
#include "boo/audiodev/IAudioVoiceEngine.hpp"
|
#include "boo/audiodev/IAudioVoiceEngine.hpp"
|
||||||
#include "amuse/BooBackend.hpp"
|
#include "amuse/BooBackend.hpp"
|
||||||
#include "ProjectManager.hpp"
|
#include "ProjectManager.hpp"
|
||||||
|
@ -57,9 +58,11 @@ class ViewManager final : public specter::IViewManager {
|
||||||
class TestGameView : public specter::View {
|
class TestGameView : public specter::View {
|
||||||
ViewManager& m_vm;
|
ViewManager& m_vm;
|
||||||
std::unique_ptr<specter::MultiLineTextView> m_debugText;
|
std::unique_ptr<specter::MultiLineTextView> m_debugText;
|
||||||
|
hecl::CVarCommons m_cvarCommons;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TestGameView(ViewManager& vm, specter::ViewResources& res, specter::View& parent) : View(res, parent), m_vm(vm) {}
|
TestGameView(ViewManager& vm, specter::ViewResources& res, specter::View& parent, hecl::CVarManager& cvarMgr)
|
||||||
|
: View(res, parent), m_vm(vm), m_cvarCommons(cvarMgr) {}
|
||||||
void resized(const boo::SWindowRect& root, const boo::SWindowRect& sub) override;
|
void resized(const boo::SWindowRect& root, const boo::SWindowRect& sub) override;
|
||||||
void draw(boo::IGraphicsCommandQueue* gfxQ) override;
|
void draw(boo::IGraphicsCommandQueue* gfxQ) override;
|
||||||
void think() override;
|
void think() override;
|
||||||
|
|
|
@ -89,7 +89,6 @@ struct Application : boo::IApplicationCallback {
|
||||||
|
|
||||||
void initialize(boo::IApplication* app) {
|
void initialize(boo::IApplication* app) {
|
||||||
zeus::detectCPU();
|
zeus::detectCPU();
|
||||||
createGlobalCVars();
|
|
||||||
for (const boo::SystemString& arg : app->getArgs()) {
|
for (const boo::SystemString& arg : app->getArgs()) {
|
||||||
if (arg.find(_SYS_STR("--verbosity=")) == 0 || arg.find(_SYS_STR("-v=")) == 0) {
|
if (arg.find(_SYS_STR("--verbosity=")) == 0 || arg.find(_SYS_STR("-v=")) == 0) {
|
||||||
hecl::SystemUTF8Conv utf8Arg(arg.substr(arg.find_last_of('=') + 1));
|
hecl::SystemUTF8Conv utf8Arg(arg.substr(arg.find_last_of('=') + 1));
|
||||||
|
@ -113,27 +112,6 @@ struct Application : boo::IApplicationCallback {
|
||||||
uint32_t getAnisotropy() const { return m_cvarCommons.getAnisotropy(); }
|
uint32_t getAnisotropy() const { return m_cvarCommons.getAnisotropy(); }
|
||||||
|
|
||||||
bool getDeepColor() const { return m_cvarCommons.getDeepColor(); }
|
bool getDeepColor() const { return m_cvarCommons.getDeepColor(); }
|
||||||
|
|
||||||
void createGlobalCVars() {
|
|
||||||
m_cvarManager.findOrMakeCVar("debugOverlay.playerInfo"sv,
|
|
||||||
"Displays information about the player, such as location and orientation"sv, false,
|
|
||||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ReadOnly);
|
|
||||||
m_cvarManager.findOrMakeCVar("debugOverlay.worldInfo"sv,
|
|
||||||
"Displays information about the current world, such as world asset ID, and areaId"sv,
|
|
||||||
false,
|
|
||||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ReadOnly);
|
|
||||||
m_cvarManager.findOrMakeCVar(
|
|
||||||
"debugOverlay.areaInfo"sv,
|
|
||||||
"Displays information about the current area, such as asset ID, object/layer counts, and active layer bits"sv,
|
|
||||||
false, hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ReadOnly);
|
|
||||||
m_cvarManager.findOrMakeCVar("debugOverlay.showFrameCounter"sv, "Displays the current frame index"sv, false,
|
|
||||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ReadOnly);
|
|
||||||
m_cvarManager.findOrMakeCVar("debugOverlay.showInGameTime"sv, "Displays the current in game time"sv, false,
|
|
||||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ReadOnly);
|
|
||||||
m_cvarManager.findOrMakeCVar("debugOverlay.showResourceStats"sv,
|
|
||||||
"Displays the current live resource object and token counts"sv, false,
|
|
||||||
hecl::CVar::EFlags::Game | hecl::CVar::EFlags::Archive | hecl::CVar::EFlags::ReadOnly);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace urde
|
} // namespace urde
|
||||||
|
|
|
@ -74,7 +74,6 @@ namespace hecl {
|
||||||
extern CVar* com_enableCheats;
|
extern CVar* com_enableCheats;
|
||||||
extern CVar* com_developer;
|
extern CVar* com_developer;
|
||||||
extern CVar* com_cubemaps;
|
extern CVar* com_cubemaps;
|
||||||
extern CVar* com_variableDt;
|
|
||||||
}; // namespace hecl
|
}; // namespace hecl
|
||||||
|
|
||||||
namespace urde::MP1 {
|
namespace urde::MP1 {
|
||||||
|
@ -706,6 +705,7 @@ void CMain::Init(const hecl::Runtime::FileStoreManager& storeMgr, hecl::CVarMana
|
||||||
InitializeDiscord();
|
InitializeDiscord();
|
||||||
m_mainWindow = window;
|
m_mainWindow = window;
|
||||||
m_cvarMgr = cvarMgr;
|
m_cvarMgr = cvarMgr;
|
||||||
|
m_cvarCommons = std::make_unique<hecl::CVarCommons>(*m_cvarMgr);
|
||||||
m_console = std::make_unique<hecl::Console>(m_cvarMgr);
|
m_console = std::make_unique<hecl::Console>(m_cvarMgr);
|
||||||
m_console->init(window);
|
m_console->init(window);
|
||||||
m_console->registerCommand(
|
m_console->registerCommand(
|
||||||
|
@ -839,7 +839,7 @@ bool CMain::Proc() {
|
||||||
}
|
}
|
||||||
|
|
||||||
float dt = 1 / 60.f;
|
float dt = 1 / 60.f;
|
||||||
if (hecl::com_variableDt->toBoolean()) {
|
if (m_cvarCommons->m_variableDt->toBoolean()) {
|
||||||
auto now = delta_clock::now();
|
auto now = delta_clock::now();
|
||||||
if (m_firstFrame) {
|
if (m_firstFrame) {
|
||||||
m_firstFrame = false;
|
m_firstFrame = false;
|
||||||
|
|
|
@ -39,6 +39,7 @@
|
||||||
#include "DataSpec/DNAMP1/Tweaks/CTweakGame.hpp"
|
#include "DataSpec/DNAMP1/Tweaks/CTweakGame.hpp"
|
||||||
#include "World/CScriptMazeNode.hpp"
|
#include "World/CScriptMazeNode.hpp"
|
||||||
#include "hecl/Console.hpp"
|
#include "hecl/Console.hpp"
|
||||||
|
#include "hecl/CVarCommons.hpp"
|
||||||
|
|
||||||
struct DiscordUser;
|
struct DiscordUser;
|
||||||
|
|
||||||
|
@ -239,6 +240,7 @@ private:
|
||||||
boo::IWindow* m_mainWindow = nullptr;
|
boo::IWindow* m_mainWindow = nullptr;
|
||||||
|
|
||||||
hecl::CVarManager* m_cvarMgr = nullptr;
|
hecl::CVarManager* m_cvarMgr = nullptr;
|
||||||
|
std::unique_ptr<hecl::CVarCommons> m_cvarCommons;
|
||||||
std::unique_ptr<hecl::Console> m_console;
|
std::unique_ptr<hecl::Console> m_console;
|
||||||
// Warmup state
|
// Warmup state
|
||||||
std::vector<SObjectTag> m_warmupTags;
|
std::vector<SObjectTag> m_warmupTags;
|
||||||
|
|
2
hecl
2
hecl
|
@ -1 +1 @@
|
||||||
Subproject commit 90366475c1d45b53f080f57dd7e5626145fdd649
|
Subproject commit bbb78dcb687a148ca301f0722d4cf13b57cee8d1
|
Loading…
Reference in New Issue