Expose debug constants to lua
Also clean up related resource management code a bit.
This commit is contained in:
parent
ac99fb8a11
commit
dda3e8a9c7
@ -92,10 +92,10 @@ GameController::GameController():
|
|||||||
|
|
||||||
Client::Ref().AddListener(this);
|
Client::Ref().AddListener(this);
|
||||||
|
|
||||||
debugInfo.push_back(new DebugParts(0x1, gameModel->GetSimulation()));
|
debugInfo.push_back(std::make_unique<DebugParts >(DEBUG_PARTS , gameModel->GetSimulation()));
|
||||||
debugInfo.push_back(new ElementPopulationDebug(0x2, gameModel->GetSimulation()));
|
debugInfo.push_back(std::make_unique<ElementPopulationDebug>(DEBUG_ELEMENTPOP, gameModel->GetSimulation()));
|
||||||
debugInfo.push_back(new DebugLines(0x4, gameView, this));
|
debugInfo.push_back(std::make_unique<DebugLines >(DEBUG_LINES , gameView, this));
|
||||||
debugInfo.push_back(new ParticleDebug(0x8, gameModel->GetSimulation(), gameModel));
|
debugInfo.push_back(std::make_unique<ParticleDebug >(DEBUG_PARTICLE , gameModel->GetSimulation(), gameModel));
|
||||||
}
|
}
|
||||||
|
|
||||||
GameController::~GameController()
|
GameController::~GameController()
|
||||||
@ -132,10 +132,7 @@ GameController::~GameController()
|
|||||||
{
|
{
|
||||||
delete options;
|
delete options;
|
||||||
}
|
}
|
||||||
for(std::vector<DebugInfo*>::iterator iter = debugInfo.begin(), end = debugInfo.end(); iter != end; iter++)
|
debugInfo.clear();
|
||||||
{
|
|
||||||
delete *iter;
|
|
||||||
}
|
|
||||||
std::vector<QuickOption*> quickOptions = gameModel->GetQuickOptions();
|
std::vector<QuickOption*> quickOptions = gameModel->GetQuickOptions();
|
||||||
for(std::vector<QuickOption*>::iterator iter = quickOptions.begin(), end = quickOptions.end(); iter != end; ++iter)
|
for(std::vector<QuickOption*>::iterator iter = quickOptions.begin(), end = quickOptions.end(); iter != end; ++iter)
|
||||||
{
|
{
|
||||||
@ -645,11 +642,15 @@ bool GameController::KeyPress(int key, int scan, bool repeat, bool shift, bool c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(std::vector<DebugInfo*>::iterator iter = debugInfo.begin(), end = debugInfo.end(); iter != end; iter++)
|
for (auto &debug : debugInfo)
|
||||||
{
|
{
|
||||||
if ((*iter)->debugID & debugFlags)
|
if (debug->debugID & debugFlags)
|
||||||
if (!(*iter)->KeyPress(key, scan, shift, ctrl, alt, gameView->GetMousePosition()))
|
{
|
||||||
|
if (!debug->KeyPress(key, scan, shift, ctrl, alt, gameView->GetMousePosition()))
|
||||||
|
{
|
||||||
ret = false;
|
ret = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
@ -715,10 +716,12 @@ void GameController::Tick()
|
|||||||
gameModel->SetActiveTool(gameModel->SelectNextTool, gameModel->GetToolFromIdentifier(gameModel->SelectNextIdentifier));
|
gameModel->SetActiveTool(gameModel->SelectNextTool, gameModel->GetToolFromIdentifier(gameModel->SelectNextIdentifier));
|
||||||
gameModel->SelectNextIdentifier.clear();
|
gameModel->SelectNextIdentifier.clear();
|
||||||
}
|
}
|
||||||
for(std::vector<DebugInfo*>::iterator iter = debugInfo.begin(), end = debugInfo.end(); iter != end; iter++)
|
for (auto &debug : debugInfo)
|
||||||
{
|
{
|
||||||
if ((*iter)->debugID & debugFlags)
|
if (debug->debugID & debugFlags)
|
||||||
(*iter)->Draw();
|
{
|
||||||
|
debug->Draw();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
commandInterface->OnTick();
|
commandInterface->OnTick();
|
||||||
}
|
}
|
||||||
|
@ -11,6 +11,11 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
constexpr auto DEBUG_PARTS = 0x0001;
|
||||||
|
constexpr auto DEBUG_ELEMENTPOP = 0x0002;
|
||||||
|
constexpr auto DEBUG_LINES = 0x0004;
|
||||||
|
constexpr auto DEBUG_PARTICLE = 0x0008;
|
||||||
|
|
||||||
class DebugInfo;
|
class DebugInfo;
|
||||||
class SaveFile;
|
class SaveFile;
|
||||||
class Notification;
|
class Notification;
|
||||||
@ -47,7 +52,7 @@ private:
|
|||||||
TagsController * tagsWindow;
|
TagsController * tagsWindow;
|
||||||
LocalBrowserController * localBrowser;
|
LocalBrowserController * localBrowser;
|
||||||
OptionsController * options;
|
OptionsController * options;
|
||||||
std::vector<DebugInfo*> debugInfo;
|
std::vector<std::unique_ptr<DebugInfo>> debugInfo;
|
||||||
std::unique_ptr<Snapshot> beforeRestore;
|
std::unique_ptr<Snapshot> beforeRestore;
|
||||||
unsigned int debugFlags;
|
unsigned int debugFlags;
|
||||||
|
|
||||||
|
@ -512,6 +512,12 @@ tpt.partsdata = nil");
|
|||||||
}
|
}
|
||||||
lua_setfield(l, tptProperties, "eltransition");
|
lua_setfield(l, tptProperties, "eltransition");
|
||||||
|
|
||||||
|
SETCONST(l, DEBUG_PARTS);
|
||||||
|
SETCONST(l, DEBUG_ELEMENTPOP);
|
||||||
|
SETCONST(l, DEBUG_LINES);
|
||||||
|
SETCONST(l, DEBUG_PARTICLE);
|
||||||
|
SETCONST(l, DEBUG_SURFNORM);
|
||||||
|
|
||||||
lua_gr_func_v = std::vector<LuaSmartRef>(PT_NUM);
|
lua_gr_func_v = std::vector<LuaSmartRef>(PT_NUM);
|
||||||
lua_gr_func = &lua_gr_func_v[0];
|
lua_gr_func = &lua_gr_func_v[0];
|
||||||
lua_el_func_v = std::vector<LuaSmartRef>(PT_NUM);
|
lua_el_func_v = std::vector<LuaSmartRef>(PT_NUM);
|
||||||
|
Reference in New Issue
Block a user