From f3f5540382e6073c8e5f677b2090e1bc77a37ba8 Mon Sep 17 00:00:00 2001 From: Cyberboss Date: Tue, 19 Sep 2017 12:47:51 -0400 Subject: [PATCH] More DM fixes --- .gitignore | 2 ++ Config.dm | 7 +++++++ DMAPI/server_tools.dm | 2 +- DMAPI/st_interface.dm | 6 +++--- DMAPITravisTester.dme | 3 ++- TGStationServer3.sln | 6 ++++++ DMAPITravisTester.dm => Test.dm | 11 ++++------- 7 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 Config.dm rename DMAPITravisTester.dm => Test.dm (67%) diff --git a/.gitignore b/.gitignore index 2daa302ddd..5dee86e7ae 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,5 @@ packages/* *.user +*.dmb +*.int diff --git a/Config.dm b/Config.dm new file mode 100644 index 0000000000..6ea3f64cc3 --- /dev/null +++ b/Config.dm @@ -0,0 +1,7 @@ +#define SERVER_TOOLS_EXTERNAL_CONFIGURATION +#define SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(Name, Value) var/##Name = ##Value +#define SERVER_TOOLS_READ_GLOBAL(Name) global.##Name +#define SERVER_TOOLS_WRITE_GLOBAL(Name, Value) global.##Name = ##Value +#define SERVER_TOOLS_WORLD_ANNOUNCE(message) world << ##message +#define SERVER_TOOLS_LOG(message) world.log << ##message +#define SERVER_TOOLS_NOTIFY_ADMINS(event) message_admins(event) diff --git a/DMAPI/server_tools.dm b/DMAPI/server_tools.dm index 268a2d9164..6640ff13df 100644 --- a/DMAPI/server_tools.dm +++ b/DMAPI/server_tools.dm @@ -38,7 +38,7 @@ #define SERVER_TOOLS_API_VERSION ServiceAPIVersion() //Returns TRUE if the world was launched under the server tools and the API matches, FALSE otherwise //No function below this succeed if this is FALSE -#define SERVER_TOOLS_PRESENT (RunningService() != null) +#define SERVER_TOOLS_PRESENT RunningService() //Gets the current version of the service running the server #define SERVER_TOOLS_VERSION ServiceVersion() //Forces a hard reboot of BYOND by ending the process diff --git a/DMAPI/st_interface.dm b/DMAPI/st_interface.dm index 570798eead..b7bdda3364 100644 --- a/DMAPI/st_interface.dm +++ b/DMAPI/st_interface.dm @@ -11,11 +11,11 @@ SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(server_tools_api_compatible, FALSE) /world/proc/ServiceInit() if(!RunningService(TRUE)) return - ListCustomCommands() - ExportService("[SERVICE_REQUEST_API_VERSION] [SERVICE_API_VERSION]", TRUE) + ListServiceCustomCommands(TRUE) + ExportService("[SERVICE_REQUEST_API_VERSION] [SERVER_TOOLS_API_VERSION]", TRUE) /proc/RunningService(skip_compat_check = FALSE) - return (skip_compat_check || SERVER_TOOLS_READ_GLOBAL(server_tools_api_compatible)) && world.params[SERVICE_WORLD_PARAM] + return (skip_compat_check || SERVER_TOOLS_READ_GLOBAL(server_tools_api_compatible)) && world.params[SERVICE_WORLD_PARAM] != null /proc/ServiceVersion() if(RunningService(TRUE)) diff --git a/DMAPITravisTester.dme b/DMAPITravisTester.dme index 721607b654..e1f4f19dac 100644 --- a/DMAPITravisTester.dme +++ b/DMAPITravisTester.dme @@ -13,8 +13,9 @@ // END_PREFERENCES // BEGIN_INCLUDE -#include "DMAPITravisTester.dm" +#include "Config.dm" #include "DMAPI\server_tools.dm" #include "DMAPI\st_commands.dm" #include "DMAPI\st_interface.dm" +#include "Test.dm" // END_INCLUDE diff --git a/TGStationServer3.sln b/TGStationServer3.sln index 2e3f029c88..5d14e44608 100644 --- a/TGStationServer3.sln +++ b/TGStationServer3.sln @@ -16,8 +16,14 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2D8FC6AA-1D33-44B6-81C2-35ED7A87EDBC}" ProjectSection(SolutionItems) = preProject .gitignore = .gitignore + .travis.yml = .travis.yml appveyor.yml = appveyor.yml + build_byond.sh = build_byond.sh + Config.dm = Config.dm + DMAPITravisTester.dme = DMAPITravisTester.dme + install_byond.sh = install_byond.sh README.md = README.md + Test.dm = Test.dm tgs.ico = tgs.ico TGS3Release.ps1 = TGS3Release.ps1 Version.cs = Version.cs diff --git a/DMAPITravisTester.dm b/Test.dm similarity index 67% rename from DMAPITravisTester.dm rename to Test.dm index 448fb5e0c9..7df062b584 100644 --- a/DMAPITravisTester.dm +++ b/Test.dm @@ -1,10 +1,6 @@ -#define SERVER_TOOLS_EXTERNAL_CONFIGURATION -#define SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(Name, Value) var/##Name = ##Value -#define SERVER_TOOLS_READ_GLOBAL(Name) global.##Name -#define SERVER_TOOLS_WRITE_GLOBAL(Name, Value) global.##Name = ##Value -#define SERVER_TOOLS_WORLD_ANNOUNCE(message) world << ##message -#define SERVER_TOOLS_LOG(message) world.log << ##message -#define SERVER_TOOLS_NOTIFY_ADMINS(event) message_admins(event) +#ifndef SERVER_TOOLS_ON_NEW +#error DreamMaker rearranges the intentionally weird file layout of this project. Compile using dm.exe instead +#endif /world/New() SERVER_TOOLS_ON_NEW @@ -27,6 +23,7 @@ sleep(50) if(!SERVER_TOOLS_PRESENT) world.log << "No running service detected" + del(world) return world.log << "Running service version: [SERVER_TOOLS_VERSION]" var/list/prs = SERVER_TOOLS_PR_LIST