home *** CD-ROM | disk | FTP | other *** search
- #include "Gui.h"
-
- #include "log.h"
- #include "FontHandler.h"
-
-
- ErrorMenu* Gui::errorMenu = NULL;
- MainMenu* Gui::mainMenu = NULL;
- OptionsMenu* Gui::optionsMenu = NULL;
- InGameMenu* Gui::inGameMenu = NULL;
- CreditsMenu* Gui::creditsMenu = NULL;
- LoadingMenu* Gui::loadingMenu = NULL;
- StartServerMenu* Gui::startServerMenu = NULL;
- ConnectToServerMenu* Gui::connectToServerMenu = NULL;
-
- Hud* Gui::hud = NULL;
-
-
- bool Gui::initialized = false;
- bool Gui::hudInitialized = false;
-
- bool Gui::init(){
- if(initialized){
- error("(in Gui::init()): Gui is already initialized.\n\n");
- return false;
- }
-
- log("\n");
- log("*********************************************\n");
- log("*** Initializing Graphical User Interface ***\n");
- log("*********************************************\n");
- log("\n");
-
- info.var.menu_tinyFont = FontHandler::getFont("gui/fonts/courier_tiny_bold.font");
- info.var.menu_smallFont = FontHandler::getFont("gui/fonts/courier_small_bold.font");
- info.var.menu_bigFont = FontHandler::getFont("gui/fonts/scifi_big.font");
-
- if(info.var.menu_smallFont==NULL || info.var.menu_bigFont==NULL || info.var.menu_tinyFont==NULL){
- error("(Gui::init()): Couldn't load menu fonts.\n\n");
- return false;
- }
-
- // log("Loading sounds...\n");
- Menu::pressButtonSound = Sound::loadWAV("gui/menu/menu_press_button.wav");
- Menu::toggleSound = Sound::loadWAV("gui/menu/menu_toggle.wav");
- Menu::errorSound = Sound::loadWAV("gui/menu/menu_error.wav");
-
- Gui::errorMenu = new ErrorMenu();
- log("ErrorMenu created.\n");
-
- // LOADING MENU
- Gui::loadingMenu=new LoadingMenu();
- log("LoadingMenu created.\n");
-
- // OPTIONS MENU
- Gui::optionsMenu=new OptionsMenu();
- log("OptionsMenu created.\n");
-
- // MAIN MENU
- Gui::mainMenu=new MainMenu();
- log("MainMenu created.\n");
-
- // IN GAME MENU
- Gui::inGameMenu=new InGameMenu();
- log("InGameMenu created.\n");
-
- // CREDITS MENU
- Gui::creditsMenu=new CreditsMenu();
- log("CreditsMenu created.\n");
-
- // START SERVER MENU
- Gui::startServerMenu = new StartServerMenu();
- log("StartServerMenu created.\n");
-
- // CONNECT TO SERVER MENU
- Gui::connectToServerMenu = new ConnectToServerMenu();
- log("ConnectToServerMenu created.\n");
-
- initialized=true;
-
- return true;
- }
-
- bool Gui::shutdown(){
- if(!initialized){
- error("(in Gui::shutdown()): Gui is not initialized.\n\n");
- return false;
- }
-
- log("\n");
- log("==============================================\n");
- log("=== Shutting down Graphical User Interface ===\n");
- log("==============================================\n");
- log("\n");
-
- if(Gui::mainMenu){
- delete Gui::mainMenu;
- Gui::mainMenu=NULL;
- log("MainMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): MainMenu not initialized (apperently...).\n\n");
- return false;
- }
- if(Gui::optionsMenu){
- delete Gui::optionsMenu;
- Gui::optionsMenu=NULL;
- log("OptionsMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): OptionsMenu not initialized (apperently...).\n\n");
- return false;
-
- }
- if(Gui::inGameMenu){
- delete Gui::inGameMenu;
- Gui::inGameMenu=NULL;
- log("InGameMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): InGameMenu not initialized (apperently...).\n\n");
- return false;
- }
- if(Gui::loadingMenu){
- delete Gui::loadingMenu;
- Gui::loadingMenu=NULL;
- log("LoadingGameMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): LoadingMenu not initialized (apperently...).\n\n");
- return false;
- }
- if(Gui::creditsMenu){
- delete Gui::creditsMenu;
- Gui::creditsMenu=NULL;
- log("CreditsMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): CreditsMenu not initialized (apperently...).\n\n");
- return false;
- }
- if(Gui::errorMenu){
- delete Gui::errorMenu;
- Gui::errorMenu=NULL;
- log("ErrorMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): ErrorMenu not initialized (apperently...).\n\n");
- return false;
- }
- if(Gui::startServerMenu){
- delete Gui::startServerMenu;
- Gui::startServerMenu=NULL;
- log("StartServerMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): StartServerMenu not initialized (apperently...).\n\n");
- return false;
- }
- if(Gui::connectToServerMenu){
- delete Gui::connectToServerMenu;
- Gui::connectToServerMenu=NULL;
- log("ConnectToServerMenu destroyed.\n");
- }else{
- error("(in Gui::shutdown()): ConnectToServerMenu not initialized (apperently...).\n\n");
- return false;
- }
-
- if(info.var.menu_tinyFont!=NULL)
- FontHandler::releaseFont(info.var.menu_tinyFont);
- if(info.var.menu_smallFont!=NULL)
- FontHandler::releaseFont(info.var.menu_smallFont);
- if(info.var.menu_bigFont!=NULL)
- FontHandler::releaseFont(info.var.menu_bigFont);
-
- if( Menu::pressButtonSound != NULL ){
- Mix_FreeChunk(Menu::pressButtonSound);
- Menu::pressButtonSound = NULL;
- }
- if( Menu::toggleSound != NULL ){
- Mix_FreeChunk(Menu::toggleSound);
- Menu::toggleSound = NULL;
- }
- if( Menu::errorSound != NULL ){
- Mix_FreeChunk(Menu::errorSound);
- Menu::errorSound = NULL;
- }
-
-
- initialized=false;
-
- return true;
- }
-
- bool Gui::wasInit(){
- return initialized;
- }
-
-
-
- bool Gui::initHud(){
- if(hudInitialized){
- error("(in Gui::initHud()): Hud is already initialized.\n\n");
- return false;
- }
- if(!initialized){
- error("(in Gui::initHud()): Gui is not initialized.\n\n");
- return false;
- }
-
- if(Gui::loadingMenu)
- Gui::loadingMenu->updateStatusBar("initializing hud");
- log("\n");
- log("************************\n");
- log("*** Initializing HUD ***\n");
- log("************************\n");
- log("\n");
-
- Gui::hud=new Hud();
-
- hudInitialized=true;
-
- return true;
- }
-
-
- bool Gui::shutdownHud(){
- if(!hudInitialized){
- error("(in Gui::shutdownHud()): Hud is not initialized.\n\n");
- return false;
- }
- log("\n");
- log("=========================\n");
- log("=== Shutting down HUD ===\n");
- log("=========================\n");
- log("\n");
-
- if(Gui::hud){
- delete Gui::hud;
- Gui::hud=NULL;
- }else{
- error("(in Gui::shutdownHud()): hud not initialized (apperently...).\n\n");
- return false;
- }
-
- hudInitialized=false;
-
- return false;
- }
-
- bool Gui::wasHudInit(){
- return hudInitialized;
- }
-
- bool Gui::registerCVarsAndCCmds(){
- return info.registerCVarsAndCCmds();
- }
-
- bool Gui::unregisterCVarsAndCCmds(){
- return info.unregisterCVarsAndCCmds();
- }
-