about summary refs log tree commit diff
path: root/src/engine/e_engine.c
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-01 14:36:36 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-03-01 14:36:36 +0000
commit0747c2dff9289db6204b82501d03447f3ec6cc99 (patch)
treeecca83ee860dfa5293f4dba9233820579a4bf4ac /src/engine/e_engine.c
parent622dbc6f3e5a5f398af8c6ef98d057a200c813a0 (diff)
downloadzcatch-0747c2dff9289db6204b82501d03447f3ec6cc99.tar.gz
zcatch-0747c2dff9289db6204b82501d03447f3ec6cc99.zip
fixed remote console. some gui tweaks aswell.
Diffstat (limited to 'src/engine/e_engine.c')
-rw-r--r--src/engine/e_engine.c45
1 files changed, 38 insertions, 7 deletions
diff --git a/src/engine/e_engine.c b/src/engine/e_engine.c
index 6fe61efe..04094573 100644
--- a/src/engine/e_engine.c
+++ b/src/engine/e_engine.c
@@ -78,7 +78,7 @@ void engine_parse_arguments(int argc, char **argv)
 	/* load the configuration */
 	int i;
 	int abs = 0;
-	const char *config_filename = "default.cfg";
+	const char *config_filename = "settings.cfg";
 	char buf[1024];
 	for(i = 1; i < argc; i++)
 	{
@@ -91,15 +91,15 @@ void engine_parse_arguments(int argc, char **argv)
 	}
 
 	if(abs)
-		config_load(config_filename);
+		console_execute_file(config_filename);
 	else
-		config_load(engine_savepath(config_filename, buf, sizeof(buf)));
+		console_execute_file(engine_savepath(config_filename, buf, sizeof(buf)));
 	
 	/* search arguments for overrides */
 	{
 		int i;
 		for(i = 1; i < argc; i++)
-			config_set(argv[i]);
+			console_execute_line(argv[i]);
 	}
 	
 	/* set default servers and load from disk*/
@@ -107,12 +107,43 @@ void engine_parse_arguments(int argc, char **argv)
 	mastersrv_load();
 }
 
-void engine_writeconfig()
+
+static IOHANDLE config_file = 0;
+
+int engine_config_write_start()
 {
-	char buf[1024];
-	config_save(engine_savepath("default.cfg", buf, sizeof(buf)));
+	char filename[1024];
+	config_save(engine_savepath("settings.cfg", filename, sizeof(filename)));
+	
+	config_file = io_open(filename, IOFLAG_WRITE);
+	if(config_file == 0)
+		return -1;
+	return 0;
 }
 
+void engine_config_write_line(const char *line)
+{
+	if(config_file)
+	{
+#if defined(CONF_FAMILY_WINDOWS)
+		static const char newline[] = "\r\n";
+#else
+		static const char newline[] = "\n";
+#endif
+		io_write(config_file, line, strlen(line));
+		io_write(config_file, newline, sizeof(newline)-1);
+	}
+}
+
+void engine_config_write_stop()
+{
+	io_close(config_file);
+	config_file = 0;
+}
+/*
+void engine_writeconfig()
+{
+}*/
 
 static int perf_tick = 1;
 static PERFORMACE_INFO *current = 0;