X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmain.h;h=191b418873096abc447e358d723cf2703b532847;hb=4e1f50035e860a00636ca5d804c267119df99601;hp=b2dee149469e5bbcc84cd94b7debfad7de347322;hpb=3560f0de082a8950a84e2e866981f8bdfd05428a;p=dragonfireclient.git diff --git a/src/main.h b/src/main.h index b2dee1494..191b41887 100644 --- a/src/main.h +++ b/src/main.h @@ -1,18 +1,18 @@ /* -Minetest-c55 -Copyright (C) 2010 celeron55, Perttu Ahola +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Lesser General Public License for more details. -You should have received a copy of the GNU General Public License along +You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ @@ -20,17 +20,24 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef MAIN_HEADER #define MAIN_HEADER -// Settings -#include "utility.h" -extern Settings g_settings; +#include -// This makes and maps textures -class ITextureSource; -extern ITextureSource *g_texturesource; +// Settings +class Settings; +extern Settings *g_settings; +extern std::string g_settings_path; // Global profiler -#include "profiler.h" -extern Profiler g_profiler; +class Profiler; +extern Profiler *g_profiler; + +// Menu clouds +class Clouds; +extern Clouds *g_menuclouds; + +// Scene manager used for menu clouds +namespace irr{namespace scene{class ISceneManager;}} +extern irr::scene::ISceneManager *g_menucloudsmgr; // Debug streams @@ -50,105 +57,5 @@ extern std::ostream *derr_server_ptr; #define dout_server (*dout_server_ptr) #define derr_server (*derr_server_ptr) -/* - All kinds of stuff that needs to be exposed from main.cpp -*/ - -#include "modalMenu.h" -#include "guiPauseMenu.h" //For IGameCallback - -extern gui::IGUIEnvironment* guienv; -extern gui::IGUIStaticText *guiroot; - -// Handler for the modal menus - -class MainMenuManager : public IMenuManager -{ -public: - virtual void createdMenu(GUIModalMenu *menu) - { - for(core::list::Iterator - i = m_stack.begin(); - i != m_stack.end(); i++) - { - assert(*i != menu); - } - - if(m_stack.size() != 0) - (*m_stack.getLast())->setVisible(false); - m_stack.push_back(menu); - } - - virtual void deletingMenu(GUIModalMenu *menu) - { - // Remove all entries if there are duplicates - bool removed_entry; - do{ - removed_entry = false; - for(core::list::Iterator - i = m_stack.begin(); - i != m_stack.end(); i++) - { - if(*i == menu) - { - m_stack.erase(i); - removed_entry = true; - break; - } - } - }while(removed_entry); - - /*core::list::Iterator i = m_stack.getLast(); - assert(*i == menu); - m_stack.erase(i);*/ - - if(m_stack.size() != 0) - (*m_stack.getLast())->setVisible(true); - } - - u32 menuCount() - { - return m_stack.size(); - } - - core::list m_stack; -}; - -extern MainMenuManager g_menumgr; - -extern bool noMenuActive(); - -class MainGameCallback : public IGameCallback -{ -public: - MainGameCallback(IrrlichtDevice *a_device): - disconnect_requested(false), - changepassword_requested(false), - device(a_device) - { - } - - virtual void exitToOS() - { - device->closeDevice(); - } - - virtual void disconnect() - { - disconnect_requested = true; - } - - virtual void changePassword() - { - changepassword_requested = true; - } - - bool disconnect_requested; - bool changepassword_requested; - IrrlichtDevice *device; -}; - -extern MainGameCallback *g_gamecallback; - #endif