public static void InitFilesystem( ) { Cmd.AddCommand("path", new Anonymousxcommand_t()); Cmd.AddCommand("link", new Anonymousxcommand_t1()); Cmd.AddCommand("dir", new Anonymousxcommand_t2()); fs_userdir = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "/.jake2"; FS.CreatePath(fs_userdir + "/"); FS.AddGameDirectory(fs_userdir); fs_basedir = Cvar.Get("basedir", ".", CVAR_NOSET); SetCDDir(); AddGameDirectory(fs_basedir.string_renamed + '/' + Globals.BASEDIRNAME); MarkBaseSearchPaths(); fs_gamedirvar = Cvar.Get("game", "", CVAR_LATCH | CVAR_SERVERINFO); if (fs_gamedirvar.string_renamed.Length > 0) { SetGamedir(fs_gamedirvar.string_renamed); } }
public static void GetLatchedVars( ) { cvar_t var; for (var = Globals.cvar_vars; var != null; var = var.next) { if (var.latched_string == null || var.latched_string.Length == 0) { continue; } var.string_renamed = var.latched_string; var.latched_string = null; var.value = Lib.Atof(var.string_renamed); if (var.name.Equals("game")) { FS.SetGamedir(var.string_renamed); FS.ExecAutoexec(); } } }
public static void Main(String[] args) { Com.DPrintf("hello!\\n"); FS.InitFilesystem(); CM.CM_LoadMap("maps/base1.bsp", true, new int { 0 }); }
public static void Printf(String fmt, params Object[] parameters) { var msg = Sprintf(_debugContext + fmt, parameters); if (rd_target != 0) { if ((msg.Length + rd_buffer.Length) > (rd_buffersize - 1)) { rd_flusher.Rd_flush(rd_target, rd_buffer); rd_buffer.Length = 0; } rd_buffer.Append(msg); return; } System.Console.Write(msg); CoreSys.ConsoleOutput(msg); if (Globals.logfile_active != null && Globals.logfile_active.value != 0) { String name; if (Globals.logfile == null) { name = FS.Gamedir() + "/qconsole.log"; if (Globals.logfile_active.value > 2) { try { Globals.logfile = new QuakeFile(name, FileAccess.ReadWrite); Globals.logfile.Seek(Globals.logfile.Length); } catch (Exception e) { e.PrintStackTrace(); } } else { try { Globals.logfile = new QuakeFile(name, FileAccess.ReadWrite); } catch (FileNotFoundException e1) { e1.PrintStackTrace(); } } } if (Globals.logfile != null) { try { Globals.logfile.Write(msg); } catch (IOException e) { e.PrintStackTrace(); } } } }
static cvar_t Set2(String var_name, String value, Boolean force) { cvar_t var = Cvar.FindVar(var_name); if (var == null) { return(Cvar.Get(var_name, value, 0)); } if ((var.flags & (CVAR_USERINFO | CVAR_SERVERINFO)) != 0) { if (!InfoValidate(value)) { Com.Printf("invalid info cvar value\\n"); return(var); } } if (!force) { if ((var.flags & CVAR_NOSET) != 0) { Com.Printf(var_name + " is write protected.\\n"); return(var); } if ((var.flags & CVAR_LATCH) != 0) { if (var.latched_string != null) { if (value.Equals(var.latched_string)) { return(var); } var.latched_string = null; } else { if (value.Equals(var.string_renamed)) { return(var); } } if (Globals.server_state != 0) { Com.Printf(var_name + " will be changed for next game.\\n"); var.latched_string = value; } else { var.string_renamed = value; var.value = Lib.Atof(var.string_renamed); if (var.name.Equals("game")) { FS.SetGamedir(var.string_renamed); FS.ExecAutoexec(); } } return(var); } } else { if (var.latched_string != null) { var.latched_string = null; } } if (value.Equals(var.string_renamed)) { return(var); } var.modified = true; if ((var.flags & CVAR_USERINFO) != 0) { Globals.userinfo_modified = true; } var.string_renamed = value; try { var.value = Single.Parse(var.string_renamed); } catch (Exception e) { var.value = 0F; } return(var); }
public static void Init(String[] args) { try { Com.InitArgv(args); Cbuf.Init(); Cmd.Init(); Cvar.Init(); Key.Init(); Cbuf.AddEarlyCommands(false); Cbuf.Execute(); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.SetStatus("initializing filesystem..."); } FS.InitFilesystem(); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.SetStatus("loading config..."); } Reconfigure(false); FS.SetCDDir(); FS.MarkBaseSearchPaths(); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.TestQ2Data(); } Reconfigure(true); Cmd.AddCommand("error", Com.Error_f); Globals.host_speeds = Cvar.Get("host_speeds", "0", 0); Globals.log_stats = Cvar.Get("log_stats", "0", 0); Globals.developer = Cvar.Get("developer", "0", CVAR_ARCHIVE); Globals.timescale = Cvar.Get("timescale", "0", 0); Globals.fixedtime = Cvar.Get("fixedtime", "0", 0); Globals.logfile_active = Cvar.Get("logfile", "0", 0); Globals.showtrace = Cvar.Get("showtrace", "0", 0); Globals.dedicated = Cvar.Get("dedicated", "0", CVAR_NOSET); var s = Com.Sprintf("%4.2f %s %s %s", Globals.VERSION, CPUSTRING, Globals.__DATE__, BUILDSTRING); Cvar.Get("version", s, CVAR_SERVERINFO | CVAR_NOSET); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.SetStatus("initializing network subsystem..."); } NET.Init(); Netchan.Netchan_Init(); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.SetStatus("initializing server subsystem..."); } SV_MAIN.SV_Init(); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.SetStatus("initializing client subsystem..."); } CL.Init(); if (!Cbuf.AddLateCommands()) { if (Globals.dedicated.value == 0) { Cbuf.AddText("d1\\n"); } else { Cbuf.AddText("dedicated_start\\n"); } Cbuf.Execute(); } else { SCR.EndLoadingPlaque(); } Com.Printf("====== Quake2 Initialized ======\\n\\n"); CL.WriteConfiguration(); if (Globals.dedicated.value != 1F) { Program.Q2Dialog.Dispose(); } } catch (longjmpException e) { CoreSys.Error("Error during initialization"); } }