From cfb56c9255fbf37a6bb9f0a6758db87320364cf6 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Tue, 29 Jun 2021 16:22:31 +0500 Subject: Added more debug values --- cwd/assets/altcraft/scripts/ui.lua | 13 +++++++++++++ cwd/assets/altcraft/ui/hud.rml | 7 +++++-- src/DebugInfo.cpp | 3 ++- src/DebugInfo.hpp | 3 ++- src/Plugin.cpp | 24 ++++++++++++++++++++++++ src/RendererWorld.cpp | 2 +- src/RendererWorld.hpp | 3 +-- 7 files changed, 48 insertions(+), 7 deletions(-) diff --git a/cwd/assets/altcraft/scripts/ui.lua b/cwd/assets/altcraft/scripts/ui.lua index 392ad27..98f0fae 100644 --- a/cwd/assets/altcraft/scripts/ui.lua +++ b/cwd/assets/altcraft/scripts/ui.lua @@ -106,13 +106,26 @@ function UpdateUi() local selection = AC.GetGameState():GetSelectionStatus() if selection.isBlockSelected then bid = wrld:GetBlockId(selection.selectedBlock) + binfo = AC.GetBlockInfo(bid) + light = wrld:GetBlockLight(selection.selectedBlock) + skyLight = wrld:GetBlockSkyLight(selection.selectedBlock) doc:GetElementById('dbg-select-pos').inner_rml = tostring(selection.selectedBlock) doc:GetElementById('dbg-select-bid').inner_rml = string.format("%d:%d", bid.id, bid.state) + doc:GetElementById('dbg-select-name').inner_rml = string.format("%s:%s", binfo.blockstate, binfo.variant) + doc:GetElementById('dbg-select-light').inner_rml = string.format("%d:%d", light, skyLight) else doc:GetElementById('dbg-select-pos').inner_rml = "" doc:GetElementById('dbg-select-bid').inner_rml = "" + doc:GetElementById('dbg-select-name').inner_rml = "" + doc:GetElementById('dbg-select-light').inner_rml = "" end + doc:GetElementById('dbg-sections-loaded').inner_rml = AC.GetDebugValue(0) + doc:GetElementById('dbg-sections-renderer').inner_rml = AC.GetDebugValue(1) + doc:GetElementById('dbg-sections-ready').inner_rml = AC.GetDebugValue(2) + doc:GetElementById('dbg-sections-culled').inner_rml = AC.GetDebugValue(0) - AC.GetDebugValue(5) + doc:GetElementById('dbg-rendered-faces').inner_rml = AC.GetDebugValue(4) + local player = AC.GetGameState():GetPlayerStatus() local playerHp = string.format("%.0f", player.health) doc:GetElementById('status-hp').inner_rml = playerHp diff --git a/cwd/assets/altcraft/ui/hud.rml b/cwd/assets/altcraft/ui/hud.rml index cbf5c86..baa408a 100644 --- a/cwd/assets/altcraft/ui/hud.rml +++ b/cwd/assets/altcraft/ui/hud.rml @@ -8,8 +8,11 @@

FPS: ∞?

Pos: ∞?

-

Select pos: ∞?

-

Select block: ∞?

+

Select: ∞?

+

   block: ∞? (...?)

+

   light: ∞?

+

Sections: ∞? / ∞? (∞?)

+

   rendered: ∞? (∞? faces)

HP: ∞?

diff --git a/src/DebugInfo.cpp b/src/DebugInfo.cpp index 89e9425..37d181d 100644 --- a/src/DebugInfo.cpp +++ b/src/DebugInfo.cpp @@ -4,4 +4,5 @@ std::atomic_int DebugInfo::totalSections(0); std::atomic_int DebugInfo::renderSections(0); std::atomic_int DebugInfo::readyRenderer(0); std::atomic_int DebugInfo::gameThreadTime(0); -std::atomic_int DebugInfo::renderFaces(0); \ No newline at end of file +std::atomic_int DebugInfo::renderFaces(0); +std::atomic_int DebugInfo::culledSections(0); diff --git a/src/DebugInfo.hpp b/src/DebugInfo.hpp index e6aa17c..7ba1686 100644 --- a/src/DebugInfo.hpp +++ b/src/DebugInfo.hpp @@ -5,7 +5,8 @@ struct DebugInfo { static std::atomic_int totalSections; static std::atomic_int renderSections; + static std::atomic_int culledSections; static std::atomic_int readyRenderer; static std::atomic_int gameThreadTime; static std::atomic_int renderFaces; -}; \ No newline at end of file +}; diff --git a/src/Plugin.cpp b/src/Plugin.cpp index ce995fc..f759d5f 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -11,6 +11,7 @@ #include "Event.hpp" #include "AssetManager.hpp" #include "Settings.hpp" +#include "DebugInfo.hpp" struct Plugin { @@ -108,6 +109,25 @@ namespace PluginApi { void SettingsUpdate() { PUSH_EVENT("SettingsUpdate", 0); } + + int GetDebugValue(int valId) { + switch (valId) { + case 0: + return DebugInfo::totalSections; + case 1: + return DebugInfo::renderSections; + case 2: + return DebugInfo::readyRenderer; + case 3: + return DebugInfo::gameThreadTime; + case 4: + return DebugInfo::renderFaces; + case 5: + return DebugInfo::culledSections; + default: + return 0; + } + } } int LoadFileRequire(lua_State* L) { @@ -194,6 +214,8 @@ void PluginSystem::Init() { "GetEntitiesList", &World::GetEntitiesList, "GetEntity",&World::GetEntityPtr, "Raycast", &World::Raycast, + "GetBlockLight", sol::resolve(&World::GetBlockLight), + "GetBlockSkyLight", sol::resolve(&World::GetBlockSkyLight), "GetBlockId", &World::GetBlockId, "SetBlockId", &World::SetBlockId); @@ -268,6 +290,8 @@ void PluginSystem::Init() { apiSettings["WriteDouble"] = Settings::WriteDouble; apiTable["SettingsUpdate"] = PluginApi::SettingsUpdate; apiTable["GetTime"] = GetTime; + apiTable["GetBlockInfo"] = GetBlockInfo; + apiTable["GetDebugValue"] = PluginApi::GetDebugValue; } lua_State* PluginSystem::GetLuaState() { diff --git a/src/RendererWorld.cpp b/src/RendererWorld.cpp index e3ef738..6996762 100644 --- a/src/RendererWorld.cpp +++ b/src/RendererWorld.cpp @@ -428,7 +428,7 @@ void RendererWorld::Render(RenderState & renderState) { section.second.Render(renderState); renderedFaces += section.second.numOfFaces; } - this->culledSections = culledSections; + DebugInfo::culledSections = culledSections; DebugInfo::renderFaces = renderedFaces; glCheckError(); } diff --git a/src/RendererWorld.hpp b/src/RendererWorld.hpp index d031179..85cb736 100644 --- a/src/RendererWorld.hpp +++ b/src/RendererWorld.hpp @@ -60,5 +60,4 @@ public: void Update(double timeToUpdate); - int culledSections = 0; -}; \ No newline at end of file +}; -- cgit v1.2.3