From c4d6bb89696146d949283615f67445dd7accc582 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaakko=20Kera=CC=88nen?= Date: Mon, 16 Oct 2017 22:09:56 +0300 Subject: [PATCH] Console|libdoomsday: Added the "ds" command for running Doomsday Script The arguments of "ds" are parsed and executed as Doomsday Script. --- .../apps/libdoomsday/src/console/exec.cpp | 20 +++++++++++++++++++ .../apps/libdoomsday/src/filesys/fs_main.cpp | 6 ++++++ 2 files changed, 26 insertions(+) diff --git a/doomsday/apps/libdoomsday/src/console/exec.cpp b/doomsday/apps/libdoomsday/src/console/exec.cpp index 5ded06db18..7dd768992b 100644 --- a/doomsday/apps/libdoomsday/src/console/exec.cpp +++ b/doomsday/apps/libdoomsday/src/console/exec.cpp @@ -39,6 +39,8 @@ #include #include #include +#include +#include #include #include #include @@ -106,6 +108,7 @@ D_CMD(Wait); D_CMD(InspectMobj); D_CMD(DebugCrash); D_CMD(DebugError); +D_CMD(DoomsdayScript); void initVariableBindings(Binder &); @@ -142,6 +145,7 @@ void Con_Register(void) #ifdef _DEBUG C_CMD("crash", NULL, DebugCrash); #endif + C_CMD("ds", "s*", DoomsdayScript); Con_DataRegister(); } @@ -1400,3 +1404,19 @@ D_CMD(ListAliases) LOG_SCR_MSG("Found %i aliases") << numPrinted; return true; } + +D_CMD(DoomsdayScript) +{ + DENG_UNUSED(src); + DENG_UNUSED(argc); + String source; + for (int i = 1; i < argc; ++i) + { + if (source) source += " "; + source += String(argv[i]); + } + Script script(source); + Process proc(script); + proc.execute(); + return true; +} diff --git a/doomsday/apps/libdoomsday/src/filesys/fs_main.cpp b/doomsday/apps/libdoomsday/src/filesys/fs_main.cpp index 334a84d053..03af46b40c 100644 --- a/doomsday/apps/libdoomsday/src/filesys/fs_main.cpp +++ b/doomsday/apps/libdoomsday/src/filesys/fs_main.cpp @@ -42,6 +42,7 @@ #include #include #include +#include using namespace de; @@ -1238,6 +1239,11 @@ D_CMD(ListFiles) LOG_RES_MSG(_E(b)"Total: " _E(.) "%i files in %i packages") << totalFiles << totalPackages; + if (auto *svFiles = FS::get().tryLocate("/sys/server/files")) + { + LOG_RES_MSG("Server files:\n" _E(m) "%s") << svFiles->contentsAsText(); + } + return true; }