DBSIM.EXE is the game's engine.
Parsing of the command line in DBSIM.EXE is a strange piece of code:
signed int __cdecl sub_4652F8(const char *s, int a2)
{
const char *v2; // ebx@1
char *v3; // eax@3
int v4; // esi@4
int i; // edx@6
signed int v6; // eax@6
const char v7; // al@8
int v9; // [sp+8h] [bp-8h]@1
signed int v10; // [sp+Ch] [bp-4h]@1
v10 = 1;
v2 = s;
*(_DWORD *)a2 = "dbsim";
v9 = a2 + 4;
while ( *v2 )
{
if ( *v2 == 32 )
{
++v2;
}
else
{
v3 = strchr(v2, 32);
if ( v3 )
v4 = v3 - v2 + 1;
else
v4 = strlen(v2) + 1;
*(_DWORD *)v9 = sub_4774F0(v4 + 1);
v9 += 4;
v6 = v10++;
for ( i = *(_DWORD *)(a2 + 4 * v6); ; ++i )
{
v7 = *v2;
if ( !*v2 )
break;
if ( v7 == 32 )
break;
*(_BYTE *)i = v7;
++v2;
}
*(_BYTE *)i = 0;
}
}
return v10;
}
dbsim.exe dummy -eggplant -X2 -R0 -G
dummy: unknown
-eggplant: this is the key for the direct-call switch. dbsim.exe -eggplant starts the last ran game.
-X2: unknown
-R0: unknown
-G, -E or -F are the language
via ES.EXE:
-s: unknown
-m: unknown
-D: use demo keycode sequence as input instead of userinput
-Z: unknown
-l: unknown
-SPRUNKNOWN: cheat mode
Other:
-D: