Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-02-05 20:44:36 +0000
committerStijn Buys <ingar@osirion.org>2008-02-05 20:44:36 +0000
commita51deebd87036ceb87c77a20117977d077b771e3 (patch)
tree71217d051fe77b562cd92508fe9edb3da6b7cc7a /src/core/commandbuffer.cc
parent8ee5d47d7e1336eb69064ca31e27bbfa7d86b51e (diff)
fixed cvar, added cvars r_width r_height r_fullscreen, added function r_restart
Diffstat (limited to 'src/core/commandbuffer.cc')
-rw-r--r--src/core/commandbuffer.cc18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/core/commandbuffer.cc b/src/core/commandbuffer.cc
index 7ba1e08..67e90d9 100644
--- a/src/core/commandbuffer.cc
+++ b/src/core/commandbuffer.cc
@@ -25,13 +25,29 @@ void exec(const char *text)
cmdstream >> cmdname;
+ // is it a function
Func f = func::find(cmdname);
-
if (f) {
+ // function exists, execute it
f(cmdstream);
return;
}
+ // is it a cvar
+ Cvar cv = cvar::find(cmdname);
+ if (cv) {
+ // cvar exists
+ std::string args;
+ if (cmdstream >> args) {
+ // we're setting a new value
+ char c;
+ while(cmdstream >> c)
+ args += c;
+ (*cv) = args;
+ }
+ con_print << cmdname << cv->text() << std::endl;
+ }
+
con_print << "unknown command '" << cmdname << "'" << std::endl;
}