DEADSOFTWARE

read dfconfig.cfg before init
[d2df-sdl.git] / src / game / g_console.pas
index 47239783b94865e4625d9580479e87d3488c8f68..4141f27aeb4b6f66d7f2809559ec52fa42c7e184 100644 (file)
@@ -2,8 +2,7 @@
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
  *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -38,6 +37,7 @@ uses
     LAST_ACTION = ACTION_WEAPPREV;
 
 procedure g_Console_Init;
+procedure g_Console_SysInit;
 procedure g_Console_Update;
 procedure g_Console_Draw (MessagesOnly: Boolean = False);
 procedure g_Console_Char (C: AnsiChar);
@@ -289,7 +289,7 @@ var
 begin
   if (Length(p) <> 2) then
   begin
-    conwritefln('%s %s', [me.cmd, PAnsiString(me.ptr)^]);
+    conwritefln('%s %s', [me.cmd, QuoteStr(PAnsiString(me.ptr)^)]);
   end
   else
   begin
@@ -832,11 +832,9 @@ begin
   end
 end;
 
-procedure g_Console_Init();
-  var
-    a: Integer;
+procedure g_Console_SysInit;
+  var a: Integer;
 begin
-  g_Texture_CreateWAD(ID, GameWAD+':TEXTURES\CONSOLE');
   Cons_Y := -Floor(gScreenHeight * ConsoleHeight);
   gConsoleShow := False;
   gChatShow := False;
@@ -1020,7 +1018,11 @@ begin
   g_Console_ReadConfig(GameDir + '/dfconfig.cfg');
   g_Console_ReadConfig(GameDir + '/autoexec.cfg');
   gParsingBinds := False;
+end;
 
+procedure g_Console_Init;
+begin
+  g_Texture_CreateWAD(ID, GameWAD+':TEXTURES\CONSOLE');
   g_Console_Add(Format(_lc[I_CONSOLE_WELCOME], [GAME_VERSION]));
   g_Console_Add('');
 end;
@@ -1417,7 +1419,7 @@ begin
     IK_END, IK_KPEND:
       CPos := Length(Line) + 1;
     IK_A..IK_Z, IK_SPACE, IK_SHIFT, IK_RSHIFT, IK_CAPSLOCK, IK_LBRACKET, IK_RBRACKET,
-    IK_SEMICOLON, IK_QUOTE, IK_BACKSLASH, IK_SLASH, IK_COMMA, IK_DOT, IK_EQUALS,
+    IK_SEMICOLON, IK_QUOTE, IK_BACKSLASH, IK_SLASH, IK_COMMA, IK_DOT, (*IK_EQUALS,*)
     IK_0, IK_1, IK_2, IK_3, IK_4, IK_5, IK_6, IK_7, IK_8, IK_9, IK_MINUS, IK_EQUALS:
       (* see TEXTINPUT event *)
   end
@@ -1935,6 +1937,13 @@ begin
       begin
         WriteLn(f, commands[i].cmd, ' ', PVarSingle(commands[i].ptr).val^:0:6)
       end
+      else if @commands[i].procEx = @strVarHandler then
+      begin
+        if Length(PAnsiString(commands[i].ptr)^) = 0 then
+          WriteLn(f, commands[i].cmd, ' ""')
+        else
+          WriteLn(f, commands[i].cmd, ' ', QuoteStr(PAnsiString(commands[i].ptr)^))
+      end
     end
   end;
   CloseFile(f)