10 #include "../stdafx.h"
13 #include "../string_func.h"
14 #include "../strings_func.h"
16 #include "../safeguards.h"
30 char dummy_script[4096];
31 char *dp = dummy_script;
32 dp +=
seprintf(dp,
lastof(dummy_script),
"class Dummy%s extends %sInfo {\n", type, type);
33 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetAuthor() { return \"OpenTTD Developers Team\"; }\n");
34 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetName() { return \"Dummy%s\"; }\n", type);
35 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetShortName() { return \"DUMM\"; }\n");
36 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetDescription() { return \"A Dummy %s that is loaded when your %s/ dir is empty\"; }\n", type, dir);
37 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetVersion() { return 1; }\n");
38 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetDate() { return \"2008-07-26\"; }\n");
39 dp +=
seprintf(dp,
lastof(dummy_script),
"function CreateInstance() { return \"Dummy%s\"; }\n", type);
40 dp +=
seprintf(dp,
lastof(dummy_script),
"} RegisterDummy%s(Dummy%s());\n", type, type);
42 const SQChar *sq_dummy_script = dummy_script;
47 if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, strlen(sq_dummy_script),
"dummy", SQTrue))) {
49 if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) {
64 char error_message[1024];
65 GetString(error_message,
string,
lastof(error_message));
68 char safe_error_message[1024];
69 char *q = safe_error_message;
70 for (
const char *p = error_message; *p !=
'\0' && q <
lastof(safe_error_message) - 2; p++, q++) {
71 if (*p ==
'"' || *p ==
'\\') *q++ =
'\\';
77 char dummy_script[4096];
78 char *dp = dummy_script;
79 dp +=
seprintf(dp,
lastof(dummy_script),
"class Dummy%s extends %sController {\n function Start()\n {\n", type, type);
84 char *p = safe_error_message;
86 newline = strchr(p,
'\n');
87 if (newline !=
nullptr) *newline =
'\0';
89 dp +=
seprintf(dp,
lastof(dummy_script),
" %sLog.Error(\"%s\");\n", type, p);
91 }
while (newline !=
nullptr);
98 const SQChar *sq_dummy_script = dummy_script;
101 sq_pushroottable(vm);
102 if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, strlen(sq_dummy_script),
"dummy", SQTrue))) {
104 if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) {