From 1ed2e8eb1f1909a35f6fc8d5d6065bcac37c27ea Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Tue, 5 Feb 2008 22:23:15 +0000 Subject: keyboard handling, cvar fixes --- src/core/cvar.cc | 73 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 44 insertions(+), 29 deletions(-) (limited to 'src/core/cvar.cc') diff --git a/src/core/cvar.cc b/src/core/cvar.cc index f49438c..a1444ae 100644 --- a/src/core/cvar.cc +++ b/src/core/cvar.cc @@ -53,34 +53,49 @@ Cvar_t & Cvar_t::operator=(float other) return (*this); } +unsigned int Cvar_t::flags() const +{ + return(cvar_flags); +} + +float Cvar_t::value() const +{ + return(cvar_value); +} + +const std::string &Cvar_t::text() const +{ + return(cvar_text); +} + namespace cvar { -std::map cvarregistry; +std::map registry; Cvar get(const char *name, const char *value, int flags) { - Cvar c = cvarregistry[std::string(name)]; + Cvar c = find(name); if (c) { con_debug << "cvar::get " << name << " already exist with value " << value << std::endl; } else { con_debug << "cvar::get " << name << " " << value << std::endl; c = new Cvar_t(flags); - cvarregistry[std::string(name)] = c; + registry[std::string(name)] = c; (*c) = value; } return c; } -Cvar get(const char *name, int value, int flags) +Cvar get(const char *name, float value, int flags) { - Cvar c = cvarregistry[std::string(name)]; + Cvar c = find(name); if (c) { con_debug << "cvar::get " << name << " already exist with value " << value << std::endl; } else { con_debug << "cvar::get " << name << " " << value << std::endl; c = new Cvar_t(flags); - cvarregistry[std::string(name)] = c; + registry[std::string(name)] = c; (*c) = value; } return c; @@ -88,64 +103,64 @@ Cvar get(const char *name, int value, int flags) Cvar set(const char *name, const char *value, int flags) { - Cvar c = cvarregistry[std::string(name)]; + Cvar c = find(name); if (!c) { c = new Cvar_t(flags); - cvarregistry[std::string(name)] = c; + registry[std::string(name)] = c; } con_debug << "cvar::set " << name << " " << value << std::endl; (*c) = value; return c; } -Cvar set(const char *name, int value, int flags) +Cvar set(const char *name, float value, int flags) { - Cvar c = cvarregistry[std::string(name)]; + Cvar c = find(name); if (!c) { c = new Cvar_t(flags); - cvarregistry[std::string(name)] = c; + registry[std::string(name)] = c; } con_debug << "cvar::set " << name << " " << value << std::endl; (*c) = value; return c; } -void unset(const char *cvarname) +void unset(const std::string &name) { - Cvar c = cvarregistry[std::string(cvarname)]; + Cvar c = find(name); if (c) { - con_debug << "cvar::unset " << cvarname << std::endl; - cvarregistry.erase(std::string(cvarname)); + con_debug << "cvar::unset " << name << std::endl; + registry.erase(name); delete c; } } -void unset(const std::string &cvarname) +void unset(const char *name) { - Cvar c = cvarregistry[cvarname]; - if (c) { - con_debug << "cvar::unset " << cvarname << std::endl; - cvarregistry.erase(cvarname); - delete c; - } + unset(std::string(name)); } -Cvar find(const std::string &cvarname) +Cvar find(const std::string &name) { - return cvarregistry[cvarname]; + std::map::iterator it = registry.find(name); + if (it == registry.end()) + return 0; + else + return (*it).second; } -Cvar find(const char *cvarname) +Cvar find(const char *name) { - return cvarregistry[std::string(cvarname)]; + return(find(std::string(name))); } void list() { con_print << "-- listcvar -----------------" << std::endl; - std::map::iterator cvarregistryiterator; - for (cvarregistryiterator = cvarregistry.begin(); cvarregistryiterator != cvarregistry.end(); cvarregistryiterator++) { - con_print << " "<< (*cvarregistryiterator).first << " " << (*cvarregistryiterator).second->text() << std::endl; + + std::map::iterator it; + for (it = registry.begin(); it != registry.end(); it++) { + con_print << " "<< (*it).first << " " << (*it).second->text() << std::endl; } } -- cgit v1.2.3