12 #include "../stdafx.h"
15 #include "../string_func.h"
16 #include "../strings_func.h"
18 #include "../safeguards.h"
32 char dummy_script[4096];
33 char *dp = dummy_script;
34 dp +=
seprintf(dp,
lastof(dummy_script),
"class Dummy%s extends %sInfo {\n", type, type);
35 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetAuthor() { return \"OpenTTD Developers Team\"; }\n");
36 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetName() { return \"Dummy%s\"; }\n", type);
37 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetShortName() { return \"DUMM\"; }\n");
38 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetDescription() { return \"A Dummy %s that is loaded when your %s/ dir is empty\"; }\n", type, dir);
39 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetVersion() { return 1; }\n");
40 dp +=
seprintf(dp,
lastof(dummy_script),
"function GetDate() { return \"2008-07-26\"; }\n");
41 dp +=
seprintf(dp,
lastof(dummy_script),
"function CreateInstance() { return \"Dummy%s\"; }\n", type);
42 dp +=
seprintf(dp,
lastof(dummy_script),
"} RegisterDummy%s(Dummy%s());\n", type, type);
44 const SQChar *sq_dummy_script = dummy_script;
49 if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, strlen(sq_dummy_script),
"dummy", SQTrue))) {
51 if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) {
66 char error_message[1024];
67 GetString(error_message,
string,
lastof(error_message));
70 char safe_error_message[1024];
71 char *q = safe_error_message;
72 for (
const char *p = error_message; *p !=
'\0' && q <
lastof(safe_error_message) - 2; p++, q++) {
73 if (*p ==
'"' || *p ==
'\\') *q++ =
'\\';
79 char dummy_script[4096];
80 char *dp = dummy_script;
81 dp +=
seprintf(dp,
lastof(dummy_script),
"class Dummy%s extends %sController {\n function Start()\n {\n", type, type);
86 char *p = safe_error_message;
88 newline = strchr(p,
'\n');
89 if (newline != NULL) *newline =
'\0';
91 dp +=
seprintf(dp,
lastof(dummy_script),
" %sLog.Error(\"%s\");\n", type, p);
93 }
while (newline != NULL);
100 const SQChar *sq_dummy_script = dummy_script;
103 sq_pushroottable(vm);
104 if (SQ_SUCCEEDED(sq_compilebuffer(vm, sq_dummy_script, strlen(sq_dummy_script),
"dummy", SQTrue))) {
106 if (SQ_SUCCEEDED(sq_call(vm, 1, SQFalse, SQTrue))) {