-
Notifications
You must be signed in to change notification settings - Fork 27
/
gm_mainmenu.h
106 lines (83 loc) · 3.6 KB
/
gm_mainmenu.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//////////////////////////////////////////////////////////////////////
// Yet Another Tibia Client
//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
// 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 (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.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//////////////////////////////////////////////////////////////////////
#ifndef __GM_MAINMENU_H
#define __GM_MAINMENU_H
#include <GLICT/container.h>
#include <GLICT/button.h>
#include <GLICT/panel.h>
#include <GLICT/textbox.h>
#include <GLICT/window.h>
#include <GLICT/messagebox.h>
#include "options.h"
#include "gamemode.h"
#include "sprite.h"
#include "skin.h"
#include "ui/mainmenu.h"
#include "ui/login.h"
#include "ui/charlist.h"
class GM_MainMenu : public GameModeOptions
{
public:
GM_MainMenu();
~GM_MainMenu();
void updateScene();
void renderScene();
void renderUI();
void mouseEvent (SDL_Event&);
void keyPress (int key);
bool specKeyPress (const SDL_keysym& key);
void onExitAttempt();
void doResize(float w, float h);
void onConnectionError(int message, const char* text);
void openMessageWindow(WindowMessage_t type, const std::string& message);
void openMOTD(int motdnum, const std::string& message);
void openCharactersList(const std::list<CharacterList_t>& list, int premDays);
void login(const std::string& username, const std::string& password);
void onEnterGame();
ClientVersion_t getActiveProtocol();
private:
pnlMainMenu_t pnlMainMenu;
winLogin_t winLogin;
winCharlist_t winCharlist;
//winOptionsGeneral_t winOptionsGeneral;
//winOptionsConsole_t winOptionsConsole;
//winOptionsGraphics_t winOptionsGraphics;
//winOptionsNetwork_t winOptionsNetwork;
glictMessageBox winStatus;
glictButton btnGoToDebug;
Sprite* background;
bool mGotMotd;
protected:
static void btnHelp_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void pnlMainMenu_btnLogIn_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void pnlMainMenu_btnOptions_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void pnlMainMenu_btnAbout_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void pnlMainMenu_btnExit_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void winLogin_btnOk_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void winLogin_btnCancel_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void winCharlist_btnOk_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void winCharlist_btnCancel_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void winMotd_OnDismiss(glictPos* relmousepos, glictContainer* callerclass);
static void winStatus_ErrorOnDismiss(glictPos* relmousepos, glictContainer* callerclass);
static void btnGoToDebug_OnClick(glictPos* relmousepos, glictContainer* callerclass);
static void MBOnDismiss(glictPos* pos, glictContainer* caller);
friend class Notifications;
};
#endif