mirror of
https://github.com/diasurgical/DevilutionX.git
synced 2026-05-21 05:40:35 +00:00
a2b94cc03c
Fully migrates debug commands to Lua and organizes them into logical
groups.
The CLI `+` syntax now runs Lua, e.g.:
```bash
build/devilutionx '+dev.player.trn.plr("infra")'
```
Chat hotkeys run Lua code if they start with `/lua`, e.g.:
```ini
[NetMsg]
QuickMessage1=/lua message(dev.player.info())
```
42 lines
918 B
C++
42 lines
918 B
C++
#ifdef _DEBUG
|
|
#include "lua/modules/dev/level/map.hpp"
|
|
|
|
#include <string>
|
|
|
|
#include <sol/sol.hpp>
|
|
|
|
#include "automap.h"
|
|
#include "lua/metadoc.hpp"
|
|
|
|
namespace devilution {
|
|
namespace {
|
|
|
|
std::string DebugCmdMapReveal()
|
|
{
|
|
for (int x = 0; x < DMAXX; x++)
|
|
for (int y = 0; y < DMAXY; y++)
|
|
UpdateAutomapExplorer({ x, y }, MAP_EXP_SHRINE);
|
|
return "Automap fully explored.";
|
|
}
|
|
|
|
std::string DebugCmdMapHide()
|
|
{
|
|
for (int x = 0; x < DMAXX; x++)
|
|
for (int y = 0; y < DMAXY; y++)
|
|
AutomapView[x][y] = MAP_EXP_NONE;
|
|
return "Automap exploration removed.";
|
|
}
|
|
|
|
} // namespace
|
|
|
|
sol::table LuaDevLevelMapModule(sol::state_view &lua)
|
|
{
|
|
sol::table table = lua.create_table();
|
|
SetDocumented(table, "hide", "()", "Hide the map.", &DebugCmdMapHide);
|
|
SetDocumented(table, "reveal", "()", "Reveal the map.", &DebugCmdMapReveal);
|
|
return table;
|
|
}
|
|
|
|
} // namespace devilution
|
|
#endif // _DEBUG
|