home *** CD-ROM | disk | FTP | other *** search
- #include "ConsoleInfo.h"
-
- #include "log.h"
- #include "Console.h"
- #include "ConsoleFrontEnd.h"
- #include "ConsoleCCmds.h"
- #include "vectormath.h"
-
- #ifndef WIN32
- #include <string.h>
- #endif
-
-
- ConsoleInfoVar_t ConsoleInfo::var;
- ConsoleInfoCVar_t ConsoleInfo::cvar;
- ConsoleInfoCCmd_t ConsoleInfo::ccmd;
-
- bool ConsoleInfo::initialized = false;
- bool ConsoleInfo::frontEndInitialized = false;
-
- bool ConsoleInfo::init(){
- if(initialized){
- error("(in Console::init()): Console is already initialized.\n\n");
- return false;
- }
-
- console=new Console();
- if(console==NULL){
- fatal("(in Console::init()): Couldn't generate new Console object. (Not enough memory?)\n\n");
- return false;
- }
-
- console->startLog("console.log"); // TODO: raus fⁿr release
-
- log("\n");
- log("****************************\n");
- log("*** Initializing Console ***\n");
- log("****************************\n");
- log("\n");
-
-
-
- initialized=true;
-
- return true;
- }
-
- bool ConsoleInfo::shutdown(){
- if(!initialized){
- error("(in Console::shutdown()): Console is not initialized.\n\n");
- return false;
- }
-
- log("\n");
- log("=============================\n");
- log("=== Shutting down Console ===\n");
- log("=============================\n");
- log("\n");
-
-
- if(console){
- delete console;
- console=NULL;
- }else{
- error("(in Console::shutdown()): console is NULL.\n\n");
- return false;
- }
-
- initialized=false;
-
- return true;
- }
-
- bool ConsoleInfo::wasInit(){
- return initialized;
- }
-
-
- bool ConsoleInfo::initFrontEnd(){
- if(!initialized){
- error("(in Console::initFrontEnd()): Console is not initialized.\n\n");
- return false;
- }
-
- if(frontEndInitialized){
- error("(in Console::initFrontEnd()): ConsoleFrontEnd is already initialized.\n\n");
- return false;
- }
-
- log("\n");
- log("************************************\n");
- log("*** Initializing ConsoleFrontEnd ***\n");
- log("************************************\n");
- log("\n");
-
- consoleFrontEnd=new ConsoleFrontEnd(console);
- if(consoleFrontEnd==NULL){
- fatal("(in Console::initFrontEnd()): Couldn't generate new ConsoleFrontEnd object. (Not enough memory?)\n\n");
- return false;
- }
-
-
- frontEndInitialized=true;
-
- return true;
- }
-
- bool ConsoleInfo::shutdownFrontEnd(){
- if(!frontEndInitialized){
- error("(in Console::shutdownFrontEnd()): ConsoleFrontEnd is not initialized.\n\n");
- return false;
- }
-
- log("\n");
- log("=====================================\n");
- log("=== Shutting down ConsoleFrontEnd ===\n");
- log("=====================================\n");
- log("\n");
-
- if(consoleFrontEnd){
- delete consoleFrontEnd;
- consoleFrontEnd=NULL;
- }else{
- error("(in Console::shutdownFrontEnd()): consoleFrontEnd is NULL.\n\n");
- return false;
-
- }
-
- frontEndInitialized=false;
-
- return true;
- }
-
- bool ConsoleInfo::wasFrontEndInit(){
- return frontEndInitialized;
- }
-
-
-
-
-
-
- bool ConsoleInfo::registerCVarsAndCCmds(){
- var.fontColor=new float[4];
- vectorInit4d(0.0f, 0.5f, 1.0f, 1.0f, var.fontColor);
- cvar.console_fontColor = new CVarRealVector("console.fontColor", &var.fontColor, 4, true);
- cvar.console_fontColor->flags |= CON_FLAG_SYSTEM;
- cvar.console_fontColor->setValRange(0.0f, 1.0f);
- console->registerCVar(cvar.console_fontColor);
- /*
- var.backgroundColor=new float[4];
- vectorInit4d(0.0f, 0.5f, 1.0f, 1.0f, var.backgroundColor);
- cvar.console_backgroundColor=new CVarRealVector("console.backgroundColor", &var.backgroundColor, 4, true);
- cvar.console_backgroundColor->setValRange(0.0f, 1.0f);
- console->registerCVar(cvar.console_backgroundColor);
-
- var.backgroundTexture=new char[CON_MAX_STRING_LENGTH];
- strcpy(var.backgroundTexture, "gui/console/console_background.bmp");
- cvar.console_backgroundTexture=new CVarString("console.backgroundTexture", &var.backgroundTexture, false);
- cvar.console_backgroundTexture->changeStr="(changes will take effect after a 'console.restart')";
- console->registerCVar(cvar.console_backgroundTexture);
- */
-
- console->registerCCmd(new CCmdRegister()); // THINKABOUTME: schon im Konstruktor reinhauen?
- console->registerCCmd(new CCmdUnregister());
- console->registerCCmd(new CCmdSet());
- console->registerCCmd(new CCmdVal());
- console->registerCCmd(new CCmdHelp());
- console->registerCCmd(new CCmdInfo());
- console->registerCCmd(new CCmdUsage());
- console->registerCCmd(new CCmdToggle());
- console->registerCCmd(new CCmdExecCVar());
- console->registerCCmd(new CCmdExecFile());
- console->registerCCmd(new CCmdExec());
- console->registerCCmd(new CCmdCVarList());
- console->registerCCmd(new CCmdCCmdList());
- console->registerCCmd(new CCmdEcho());
- console->registerCCmd(new CCmdAlias());
- console->registerCCmd(new CCmdDeleteAlias());
- console->registerCCmd(new CCmdAliasList());
-
- ccmd.console_toggle=new CCmdConsoleToggle();
- console->registerCCmd(ccmd.console_toggle);
-
- ccmd.console_clear=new CCmdConsoleClear();
- console->registerCCmd(ccmd.console_clear);
-
- ccmd.console_startLog=new CCmdConsoleStartLog();
- console->registerCCmd(ccmd.console_startLog);
-
- ccmd.console_endLog=new CCmdConsoleEndLog();
- console->registerCCmd(ccmd.console_endLog);
-
- ccmd.console_restart=new CCmdConsoleRestart();
- console->registerCCmd(ccmd.console_restart);
-
- return true;
- }
-
- bool ConsoleInfo::unregisterCVarsAndCCmds(){
- console->unregisterCVar(cvar.console_fontColor);
- delete cvar.console_fontColor;
- delete[] var.fontColor;
- /*
- console->unregisterCVar(cvar.console_backgroundColor);
- delete[] var.backgroundColor;
-
- console->unregisterCVar(cvar.console_backgroundTexture);
- delete[] var.backgroundTexture;
- */
-
- console->unregisterCCmd(ccmd.console_toggle);
- delete ccmd.console_toggle;
-
- console->unregisterCCmd(ccmd.console_clear);
- delete ccmd.console_clear;
-
- console->unregisterCCmd(ccmd.console_startLog);
- delete ccmd.console_startLog;
-
- console->unregisterCCmd(ccmd.console_endLog);
- delete ccmd.console_endLog;
-
- console->unregisterCCmd(ccmd.console_restart);
- delete ccmd.console_restart;
-
- return true;
- }
-