Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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;
}