diff ttd.c @ 126:127be480312c draft

(svn r127) New feature: ingame console. (sign_de) Press tab to open the console, more info in docs/console.txt
author dominik <dominik@openttd.org>
date Tue, 24 Aug 2004 08:34:28 +0000 (2004-08-24)
parents 6fe58757668c
children b1efd00ffd88
line wrap: on
line diff
--- a/ttd.c
+++ b/ttd.c
@@ -20,7 +20,8 @@
 #include "hal.h"
 #include "airport.h"
 #include "saveload.h"
-#include "ai.h"
+#include "ai.h"
+#include "console.h"
 
 #include <stdarg.h>
 
@@ -74,8 +75,8 @@
 	va_start(va, s);
 	vsprintf(buf, s, va);
 	va_end(va);
-
-	fprintf(stderr, "dbg: %s\n", buf);
+	fprintf(stderr, "dbg: %s\n", buf);
+	IConsoleDebug((byte *) &buf);
 }
 
 void CDECL ShowInfoF(const char *str, ...)
@@ -570,7 +571,7 @@
 	MxInitialize(11025, "sample.cat"); 
 
 	// This must be done early, since functions use the InvalidateWindow* calls
-	InitWindowSystem();
+	InitWindowSystem();
 
 	GfxLoadSprites();
 	LoadStringWidthTable();
@@ -596,8 +597,13 @@
 			NetworkCoreConnectGame("auto",_network_server_port);
 			}
 		}
+
+	// initialize the ingame console
+	IConsoleInit();
 
 	while (_video_driver->main_loop() == ML_SWITCHDRIVER) {}
+
+	IConsoleFree();
 
 	if (_network_available) {
 		// shutdown network-core
@@ -636,7 +642,8 @@
 	_opt_mod_ptr = &_new_opt;
 	GfxLoadSprites();
 	LoadStringWidthTable();
-	// Setup main window
+	// Setup main window
+	IConsoleClose();
 	InitWindowSystem();
 	SetupColorsAndInitialWindow();
 
@@ -665,7 +672,8 @@
 
 	GfxLoadSprites();
 
-	// Reinitialize windows
+	// Reinitialize windows
+	IConsoleClose();
 	InitWindowSystem();
 	LoadStringWidthTable();
 
@@ -692,7 +700,8 @@
 	
 	GfxLoadSprites();
 
-	// Re-init the windowing system
+	// Re-init the windowing system
+	IConsoleClose();
 	InitWindowSystem();
 
 	// Create toolbars
@@ -726,7 +735,8 @@
 
 	GfxLoadSprites();
 
-	// Reinitialize windows
+	// Reinitialize windows
+	IConsoleClose();
 	InitWindowSystem();
 	LoadStringWidthTable();
 
@@ -775,7 +785,7 @@
 
 static void SwitchMode(int new_mode)
 {
-	_in_state_game_loop = true;
+	_in_state_game_loop = true;
 	
 	switch(new_mode) {
 	case SM_EDITOR: // Switch to scenario editor