mirror of
https://github.com/glest/glest-source.git
synced 2025-09-25 15:09:03 +02:00
glest_game/main:reformat/restyle source code [skip ci]
* used 'indent -nut -i2 -bli0 -ppi 3 *`
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -10,32 +10,40 @@
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _GLEST_GAME_BATTLEEND_H_
|
||||
#define _GLEST_GAME_BATTLEEND_H_
|
||||
# define _GLEST_GAME_BATTLEEND_H_
|
||||
|
||||
#ifdef WIN32
|
||||
#include <winsock2.h>
|
||||
#include <winsock.h>
|
||||
#endif
|
||||
# ifdef WIN32
|
||||
# include <winsock2.h>
|
||||
# include <winsock.h>
|
||||
# endif
|
||||
|
||||
#include "program.h"
|
||||
#include "stats.h"
|
||||
#include "leak_dumper.h"
|
||||
# include "program.h"
|
||||
# include "stats.h"
|
||||
# include "leak_dumper.h"
|
||||
|
||||
namespace Shared { namespace Graphics {
|
||||
namespace Shared
|
||||
{
|
||||
namespace Graphics
|
||||
{
|
||||
class VideoPlayer;
|
||||
}}
|
||||
}
|
||||
}
|
||||
|
||||
namespace Glest{ namespace Game{
|
||||
namespace Glest
|
||||
{
|
||||
namespace Game
|
||||
{
|
||||
|
||||
class GameSettings;
|
||||
class GameSettings;
|
||||
// =====================================================
|
||||
// class BattleEnd
|
||||
//
|
||||
/// ProgramState representing the end of the game
|
||||
// =====================================================
|
||||
|
||||
class BattleEnd: public ProgramState{
|
||||
private:
|
||||
class BattleEnd:public ProgramState
|
||||
{
|
||||
private:
|
||||
Stats stats;
|
||||
|
||||
GraphicButton buttonExit;
|
||||
@@ -46,32 +54,34 @@ private:
|
||||
ProgramState *originState;
|
||||
const char *containerName;
|
||||
|
||||
::Shared::Graphics::VideoPlayer *menuBackgroundVideo;
|
||||
::Shared::Graphics::VideoPlayer * menuBackgroundVideo;
|
||||
GameSettings *gameSettings;
|
||||
StrSound battleEndMusic;
|
||||
|
||||
void showMessageBox(const string &text, const string &header, bool toggle);
|
||||
void showMessageBox (const string & text, const string & header,
|
||||
bool toggle);
|
||||
|
||||
public:
|
||||
BattleEnd(Program *program, const Stats *stats, ProgramState *originState);
|
||||
~BattleEnd();
|
||||
public:
|
||||
BattleEnd (Program * program, const Stats * stats,
|
||||
ProgramState * originState);
|
||||
~BattleEnd ();
|
||||
|
||||
virtual void update();
|
||||
virtual void render();
|
||||
virtual void keyDown(SDL_KeyboardEvent key);
|
||||
virtual void mouseDownLeft(int x, int y);
|
||||
virtual void mouseMove(int x, int y, const MouseState *ms);
|
||||
//virtual void tick();
|
||||
virtual void reloadUI();
|
||||
virtual void update ();
|
||||
virtual void render ();
|
||||
virtual void keyDown (SDL_KeyboardEvent key);
|
||||
virtual void mouseDownLeft (int x, int y);
|
||||
virtual void mouseMove (int x, int y, const MouseState * ms);
|
||||
//virtual void tick();
|
||||
virtual void reloadUI ();
|
||||
|
||||
private:
|
||||
private:
|
||||
|
||||
void initBackgroundVideo();
|
||||
std::pair<string,string> getBattleEndVideo(bool won);
|
||||
string getBattleEndMusic(bool won);
|
||||
void initBackgroundMusic();
|
||||
};
|
||||
void initBackgroundVideo ();
|
||||
std::pair < string, string > getBattleEndVideo (bool won);
|
||||
string getBattleEndMusic (bool won);
|
||||
void initBackgroundMusic ();
|
||||
};
|
||||
|
||||
}}//end namespace
|
||||
}} //end namespace
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -10,19 +10,19 @@
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _GLEST_GAME_INTRO_H_
|
||||
#define _GLEST_GAME_INTRO_H_
|
||||
# define _GLEST_GAME_INTRO_H_
|
||||
|
||||
#include <vector>
|
||||
# include <vector>
|
||||
|
||||
#include "program.h"
|
||||
#include "font.h"
|
||||
#include "vec.h"
|
||||
#include "texture.h"
|
||||
#include "camera.h"
|
||||
#include "model.h"
|
||||
#include "randomgen.h"
|
||||
# include "program.h"
|
||||
# include "font.h"
|
||||
# include "vec.h"
|
||||
# include "texture.h"
|
||||
# include "camera.h"
|
||||
# include "model.h"
|
||||
# include "randomgen.h"
|
||||
|
||||
#include "leak_dumper.h"
|
||||
# include "leak_dumper.h"
|
||||
|
||||
using std::vector;
|
||||
|
||||
@@ -42,34 +42,80 @@ using Shared::Util::RandomGen;
|
||||
//class Md5Object;
|
||||
//}}}
|
||||
|
||||
namespace Glest{ namespace Game{
|
||||
namespace Glest
|
||||
{
|
||||
namespace Game
|
||||
{
|
||||
|
||||
// =====================================================
|
||||
// class Text
|
||||
// =====================================================
|
||||
|
||||
class IntroText {
|
||||
private:
|
||||
class IntroText
|
||||
{
|
||||
private:
|
||||
string text;
|
||||
Vec2i pos;
|
||||
Vec2i size;
|
||||
int time;
|
||||
Font2D *font;
|
||||
Font3D *font3D;
|
||||
const Texture2D *texture;
|
||||
int
|
||||
time;
|
||||
Font2D *
|
||||
font;
|
||||
Font3D *
|
||||
font3D;
|
||||
const Texture2D *
|
||||
texture;
|
||||
|
||||
public:
|
||||
IntroText(const string &text, const Vec2i &pos, int time, Font2D *font, Font3D *font3D);
|
||||
IntroText(const Texture2D *texture, const Vec2i &pos, const Vec2i &size, int time);
|
||||
public:
|
||||
IntroText (const string & text, const Vec2i & pos, int time,
|
||||
Font2D * font, Font3D * font3D);
|
||||
IntroText (const Texture2D * texture, const Vec2i & pos,
|
||||
const Vec2i & size, int time);
|
||||
|
||||
const string &getText() const {return text;}
|
||||
Font2D *getFont() {return font;}
|
||||
Font3D *getFont3D() {return font3D;}
|
||||
const Vec2i &getPos() const {return pos;}
|
||||
const Vec2i &getSize() const {return size;}
|
||||
int getTime() const {return time;}
|
||||
const Texture2D *getTexture() const {return texture;}
|
||||
};
|
||||
const
|
||||
string &
|
||||
getText () const
|
||||
{
|
||||
return
|
||||
text;
|
||||
}
|
||||
Font2D *
|
||||
getFont ()
|
||||
{
|
||||
return font;
|
||||
}
|
||||
Font3D *
|
||||
getFont3D ()
|
||||
{
|
||||
return font3D;
|
||||
}
|
||||
const
|
||||
Vec2i &
|
||||
getPos () const
|
||||
{
|
||||
return
|
||||
pos;
|
||||
}
|
||||
const
|
||||
Vec2i &
|
||||
getSize () const
|
||||
{
|
||||
return
|
||||
size;
|
||||
}
|
||||
int
|
||||
getTime () const
|
||||
{
|
||||
return
|
||||
time;
|
||||
}
|
||||
const Texture2D *
|
||||
getTexture () const
|
||||
{
|
||||
return
|
||||
texture;
|
||||
}
|
||||
};
|
||||
|
||||
// =====================================================
|
||||
// class Intro
|
||||
@@ -77,52 +123,75 @@ public:
|
||||
/// ProgramState representing the intro
|
||||
// =====================================================
|
||||
|
||||
class Intro: public ProgramState {
|
||||
private:
|
||||
static int introTime;
|
||||
static int appearTime;
|
||||
static int showTime;
|
||||
static int disapearTime;
|
||||
class Intro:
|
||||
public ProgramState
|
||||
{
|
||||
private:
|
||||
static int
|
||||
introTime;
|
||||
static int
|
||||
appearTime;
|
||||
static int
|
||||
showTime;
|
||||
static int
|
||||
disapearTime;
|
||||
|
||||
private:
|
||||
vector<IntroText *> texts;
|
||||
int timer;
|
||||
int mouse2d;
|
||||
private:
|
||||
vector < IntroText * >texts;
|
||||
int
|
||||
timer;
|
||||
int
|
||||
mouse2d;
|
||||
|
||||
//Model *mainModel;
|
||||
int modelIndex;
|
||||
float modelMinAnimSpeed;
|
||||
float modelMaxAnimSpeed;
|
||||
vector<Model *> models;
|
||||
//Model *mainModel;
|
||||
int
|
||||
modelIndex;
|
||||
float
|
||||
modelMinAnimSpeed;
|
||||
float
|
||||
modelMaxAnimSpeed;
|
||||
vector < Model * >models;
|
||||
Camera nextCamera;
|
||||
Camera camera;
|
||||
Camera lastCamera;
|
||||
const Camera *targetCamera;
|
||||
float t;
|
||||
const Camera *
|
||||
targetCamera;
|
||||
float
|
||||
t;
|
||||
RandomGen random;
|
||||
float anim;
|
||||
float fade;
|
||||
float
|
||||
anim;
|
||||
float
|
||||
fade;
|
||||
Vec3f startPosition;
|
||||
int modelShowTime;
|
||||
int
|
||||
modelShowTime;
|
||||
|
||||
//GLMmodel* test;
|
||||
//Shared::Graphics::md5::Md5Object *md5Test;
|
||||
//GLMmodel* test;
|
||||
//Shared::Graphics::md5::Md5Object *md5Test;
|
||||
|
||||
bool exitAfterIntroVideo;
|
||||
void cleanup();
|
||||
void renderModelBackground();
|
||||
void
|
||||
cleanup ();
|
||||
void
|
||||
renderModelBackground ();
|
||||
|
||||
public:
|
||||
explicit Intro(Program *program);
|
||||
virtual ~Intro();
|
||||
public:
|
||||
explicit Intro (Program * program);
|
||||
virtual ~ Intro ();
|
||||
|
||||
virtual void update();
|
||||
virtual void render();
|
||||
virtual void keyDown(SDL_KeyboardEvent key);
|
||||
virtual void mouseUpLeft(int x, int y);
|
||||
void mouseMove(int x, int y, const MouseState *ms);
|
||||
};
|
||||
virtual void
|
||||
update ();
|
||||
virtual void
|
||||
render ();
|
||||
virtual void
|
||||
keyDown (SDL_KeyboardEvent key);
|
||||
virtual void
|
||||
mouseUpLeft (int x, int y);
|
||||
void
|
||||
mouseMove (int x, int y, const MouseState * ms);
|
||||
};
|
||||
|
||||
}}//end namespace
|
||||
}} //end namespace
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -10,17 +10,20 @@
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _GLEST_GAME_MAIN_H_
|
||||
#define _GLEST_GAME_MAIN_H_
|
||||
# define _GLEST_GAME_MAIN_H_
|
||||
|
||||
#include <ctime>
|
||||
#include "program.h"
|
||||
#include "window_gl.h"
|
||||
#include "leak_dumper.h"
|
||||
# include <ctime>
|
||||
# include "program.h"
|
||||
# include "window_gl.h"
|
||||
# include "leak_dumper.h"
|
||||
|
||||
using Shared::Platform::MouseButton;
|
||||
using Shared::Platform::MouseState;
|
||||
|
||||
namespace Glest{ namespace Game{
|
||||
namespace Glest
|
||||
{
|
||||
namespace Game
|
||||
{
|
||||
|
||||
// =====================================================
|
||||
// class MainWindow
|
||||
@@ -28,49 +31,84 @@ namespace Glest{ namespace Game{
|
||||
/// Main program window
|
||||
// =====================================================
|
||||
|
||||
class MainWindow: public WindowGl {
|
||||
private:
|
||||
Program* program;
|
||||
class MainWindow:
|
||||
public WindowGl
|
||||
{
|
||||
private:
|
||||
Program * program;
|
||||
PopupMenu popupMenu;
|
||||
int cancelLanguageSelection;
|
||||
int
|
||||
cancelLanguageSelection;
|
||||
bool triggerLanguageToggle;
|
||||
string triggerLanguage;
|
||||
|
||||
void showLanguages();
|
||||
void
|
||||
showLanguages ();
|
||||
|
||||
public:
|
||||
explicit MainWindow(Program *program);
|
||||
~MainWindow();
|
||||
public:
|
||||
explicit MainWindow (Program * program);
|
||||
~MainWindow ();
|
||||
|
||||
void setProgram(Program *program);
|
||||
void
|
||||
setProgram (Program * program);
|
||||
|
||||
virtual void eventMouseDown(int x, int y, MouseButton mouseButton);
|
||||
virtual void eventMouseUp(int x, int y, MouseButton mouseButton);
|
||||
virtual void eventMouseDoubleClick(int x, int y, MouseButton mouseButton);
|
||||
virtual void eventMouseMove(int x, int y, const MouseState *mouseState);
|
||||
virtual bool eventTextInput(std::string text);
|
||||
virtual bool eventSdlKeyDown(SDL_KeyboardEvent key);
|
||||
virtual void eventKeyDown(SDL_KeyboardEvent key);
|
||||
virtual void eventMouseWheel(int x, int y, int zDelta);
|
||||
virtual void eventKeyUp(SDL_KeyboardEvent key);
|
||||
virtual void eventKeyPress(SDL_KeyboardEvent c);
|
||||
virtual void eventActivate(bool active);
|
||||
virtual void eventResize(SizeState sizeState);
|
||||
virtual void eventClose();
|
||||
virtual void eventWindowEvent(SDL_WindowEvent event);
|
||||
virtual void
|
||||
eventMouseDown (int x, int y, MouseButton mouseButton);
|
||||
virtual void
|
||||
eventMouseUp (int x, int y, MouseButton mouseButton);
|
||||
virtual void
|
||||
eventMouseDoubleClick (int x, int y, MouseButton mouseButton);
|
||||
virtual void
|
||||
eventMouseMove (int x, int y, const MouseState * mouseState);
|
||||
virtual
|
||||
bool
|
||||
eventTextInput (std::string text);
|
||||
virtual
|
||||
bool
|
||||
eventSdlKeyDown (SDL_KeyboardEvent key);
|
||||
virtual void
|
||||
eventKeyDown (SDL_KeyboardEvent key);
|
||||
virtual void
|
||||
eventMouseWheel (int x, int y, int zDelta);
|
||||
virtual void
|
||||
eventKeyUp (SDL_KeyboardEvent key);
|
||||
virtual void
|
||||
eventKeyPress (SDL_KeyboardEvent c);
|
||||
virtual void
|
||||
eventActivate (bool active);
|
||||
virtual void
|
||||
eventResize (SizeState sizeState);
|
||||
virtual void
|
||||
eventClose ();
|
||||
virtual void
|
||||
eventWindowEvent (SDL_WindowEvent event);
|
||||
|
||||
virtual void render();
|
||||
void toggleLanguage(string language);
|
||||
bool getTriggerLanguageToggle() const { return triggerLanguageToggle; }
|
||||
string getTriggerLanguage() const { return triggerLanguage; }
|
||||
virtual void
|
||||
render ();
|
||||
void
|
||||
toggleLanguage (string language);
|
||||
bool getTriggerLanguageToggle ()const
|
||||
{
|
||||
return
|
||||
triggerLanguageToggle;
|
||||
}
|
||||
string
|
||||
getTriggerLanguage () const
|
||||
{
|
||||
return
|
||||
triggerLanguage;
|
||||
}
|
||||
|
||||
virtual int getDesiredScreenWidth();
|
||||
virtual int getDesiredScreenHeight();
|
||||
virtual int
|
||||
getDesiredScreenWidth ();
|
||||
virtual int
|
||||
getDesiredScreenHeight ();
|
||||
|
||||
protected:
|
||||
virtual void eventToggleFullScreen(bool isFullscreen);
|
||||
};
|
||||
protected:
|
||||
virtual void
|
||||
eventToggleFullScreen (bool isFullscreen);
|
||||
};
|
||||
|
||||
}}//end namespace
|
||||
}} //end namespace
|
||||
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -10,26 +10,26 @@
|
||||
// ==============================================================
|
||||
|
||||
#ifndef _GLEST_GAME_PROGRAM_H_
|
||||
#define _GLEST_GAME_PROGRAM_H_
|
||||
# define _GLEST_GAME_PROGRAM_H_
|
||||
|
||||
#ifdef WIN32
|
||||
#include <winsock2.h>
|
||||
#include <winsock.h>
|
||||
#endif
|
||||
# ifdef WIN32
|
||||
# include <winsock2.h>
|
||||
# include <winsock.h>
|
||||
# endif
|
||||
|
||||
#include "context.h"
|
||||
#include "platform_util.h"
|
||||
#include "window_gl.h"
|
||||
#include "socket.h"
|
||||
#include "components.h"
|
||||
#include "window.h"
|
||||
#include "simple_threads.h"
|
||||
#include "stats.h"
|
||||
#include "leak_dumper.h"
|
||||
# include "context.h"
|
||||
# include "platform_util.h"
|
||||
# include "window_gl.h"
|
||||
# include "socket.h"
|
||||
# include "components.h"
|
||||
# include "window.h"
|
||||
# include "simple_threads.h"
|
||||
# include "stats.h"
|
||||
# include "leak_dumper.h"
|
||||
|
||||
#ifndef PRINT_DEBUG
|
||||
# ifndef PRINT_DEBUG
|
||||
# define PRINT_DEBUG printf("[DEBUG] "); printf
|
||||
#endif
|
||||
# endif
|
||||
|
||||
using Shared::Platform::MouseButton;
|
||||
using Shared::Graphics::Context;
|
||||
@@ -38,13 +38,18 @@ using Shared::Platform::SizeState;
|
||||
using Shared::Platform::MouseState;
|
||||
using Shared::PlatformCommon::PerformanceTimer;
|
||||
using Shared::Platform::Ip;
|
||||
using namespace Shared::PlatformCommon;
|
||||
using
|
||||
namespace
|
||||
Shared::PlatformCommon;
|
||||
|
||||
namespace Glest{ namespace Game{
|
||||
namespace Glest
|
||||
{
|
||||
namespace Game
|
||||
{
|
||||
|
||||
class Program;
|
||||
class MainWindow;
|
||||
class GameSettings;
|
||||
class Program;
|
||||
class MainWindow;
|
||||
class GameSettings;
|
||||
|
||||
// =====================================================
|
||||
// class ProgramState
|
||||
@@ -53,196 +58,441 @@ class GameSettings;
|
||||
/// Intro, MainMenu, Game, BattleEnd (State Design pattern)
|
||||
// =====================================================
|
||||
|
||||
class ProgramState {
|
||||
protected:
|
||||
Program *program;
|
||||
class ProgramState
|
||||
{
|
||||
protected:
|
||||
Program * program;
|
||||
|
||||
int mouseX;
|
||||
int mouseY;
|
||||
int mouse2dAnim;
|
||||
int
|
||||
mouseX;
|
||||
int
|
||||
mouseY;
|
||||
int
|
||||
mouse2dAnim;
|
||||
|
||||
int startX;
|
||||
int startY;
|
||||
int
|
||||
startX;
|
||||
int
|
||||
startY;
|
||||
bool forceMouseRender;
|
||||
|
||||
int fps;
|
||||
int lastFps;
|
||||
int
|
||||
fps;
|
||||
int
|
||||
lastFps;
|
||||
|
||||
public:
|
||||
public:
|
||||
|
||||
static const char *MAIN_PROGRAM_RENDER_KEY;
|
||||
static const char *
|
||||
MAIN_PROGRAM_RENDER_KEY;
|
||||
|
||||
explicit ProgramState(Program *program);
|
||||
virtual ~ProgramState(){};
|
||||
explicit ProgramState (Program * program);
|
||||
virtual ~ ProgramState ()
|
||||
{
|
||||
};
|
||||
|
||||
int getFps() const { return fps; }
|
||||
int getLastFps() const { return lastFps; }
|
||||
int
|
||||
getFps () const
|
||||
{
|
||||
return
|
||||
fps;
|
||||
}
|
||||
int
|
||||
getLastFps () const
|
||||
{
|
||||
return
|
||||
lastFps;
|
||||
}
|
||||
|
||||
//virtual void render()=0;
|
||||
virtual bool canRender(bool sleepIfCannotRender=true);
|
||||
virtual void render();
|
||||
virtual void update();
|
||||
virtual void updateCamera(){};
|
||||
virtual void tick();
|
||||
virtual void init(){};
|
||||
virtual void load(){};
|
||||
virtual void end(){};
|
||||
virtual void mouseDownLeft(int x, int y){};
|
||||
virtual void mouseUpLeft(int x, int y){};
|
||||
virtual void mouseUpRight(int x, int y){}
|
||||
virtual void mouseUpCenter(int x, int y){}
|
||||
virtual void mouseDownRight(int x, int y){};
|
||||
virtual void mouseDownCenter(int x, int y){}
|
||||
virtual void mouseDoubleClickLeft(int x, int y){};
|
||||
virtual void mouseDoubleClickRight(int x, int y){}
|
||||
virtual void mouseDoubleClickCenter(int x, int y){}
|
||||
virtual void eventMouseWheel(int x, int y, int zDelta){}
|
||||
virtual void mouseMove(int x, int y, const MouseState *mouseState);
|
||||
virtual bool textInput(std::string text){ return false; };
|
||||
virtual void keyDown(SDL_KeyboardEvent key){};
|
||||
virtual bool sdlKeyDown(SDL_KeyboardEvent key){ return false; };
|
||||
virtual void keyUp(SDL_KeyboardEvent key){};
|
||||
virtual void keyPress(SDL_KeyboardEvent c){};
|
||||
virtual void setStartXY(int X,int Y) { startX=X; startY=Y; }
|
||||
virtual void restoreToStartXY();
|
||||
virtual bool isInSpecialKeyCaptureEvent() { return false; }
|
||||
virtual bool quitTriggered() { return false; }
|
||||
virtual Stats quitAndToggleState() { return Stats(); };
|
||||
virtual Program * getProgram() { return program; }
|
||||
virtual const Program * getProgramConstPtr() { return program; }
|
||||
virtual void setForceMouseRender(bool value) { forceMouseRender=value;}
|
||||
virtual void consoleAddLine(string line) { };
|
||||
//virtual void render()=0;
|
||||
virtual
|
||||
bool
|
||||
canRender (bool sleepIfCannotRender = true);
|
||||
virtual void
|
||||
render ();
|
||||
virtual void
|
||||
update ();
|
||||
virtual void
|
||||
updateCamera ()
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
tick ();
|
||||
virtual void
|
||||
init ()
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
load ()
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
end ()
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
mouseDownLeft (int x, int y)
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
mouseUpLeft (int x, int y)
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
mouseUpRight (int x, int y)
|
||||
{
|
||||
}
|
||||
virtual void
|
||||
mouseUpCenter (int x, int y)
|
||||
{
|
||||
}
|
||||
virtual void
|
||||
mouseDownRight (int x, int y)
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
mouseDownCenter (int x, int y)
|
||||
{
|
||||
}
|
||||
virtual void
|
||||
mouseDoubleClickLeft (int x, int y)
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
mouseDoubleClickRight (int x, int y)
|
||||
{
|
||||
}
|
||||
virtual void
|
||||
mouseDoubleClickCenter (int x, int y)
|
||||
{
|
||||
}
|
||||
virtual void
|
||||
eventMouseWheel (int x, int y, int zDelta)
|
||||
{
|
||||
}
|
||||
virtual void
|
||||
mouseMove (int x, int y, const MouseState * mouseState);
|
||||
virtual
|
||||
bool
|
||||
textInput (std::string text)
|
||||
{
|
||||
return false;
|
||||
};
|
||||
virtual void
|
||||
keyDown (SDL_KeyboardEvent key)
|
||||
{
|
||||
};
|
||||
virtual
|
||||
bool
|
||||
sdlKeyDown (SDL_KeyboardEvent key)
|
||||
{
|
||||
return false;
|
||||
};
|
||||
virtual void
|
||||
keyUp (SDL_KeyboardEvent key)
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
keyPress (SDL_KeyboardEvent c)
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
setStartXY (int X, int Y)
|
||||
{
|
||||
startX = X;
|
||||
startY = Y;
|
||||
}
|
||||
virtual void
|
||||
restoreToStartXY ();
|
||||
virtual
|
||||
bool
|
||||
isInSpecialKeyCaptureEvent ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
virtual
|
||||
bool
|
||||
quitTriggered ()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
virtual
|
||||
Stats
|
||||
quitAndToggleState ()
|
||||
{
|
||||
return Stats ();
|
||||
};
|
||||
virtual Program *
|
||||
getProgram ()
|
||||
{
|
||||
return program;
|
||||
}
|
||||
virtual const Program *
|
||||
getProgramConstPtr ()
|
||||
{
|
||||
return program;
|
||||
}
|
||||
virtual void
|
||||
setForceMouseRender (bool value)
|
||||
{
|
||||
forceMouseRender = value;
|
||||
}
|
||||
virtual void
|
||||
consoleAddLine (string line)
|
||||
{
|
||||
};
|
||||
|
||||
virtual void reloadUI() {};
|
||||
virtual void addPerformanceCount(string key,int64 value) {};
|
||||
virtual void
|
||||
reloadUI ()
|
||||
{
|
||||
};
|
||||
virtual void
|
||||
addPerformanceCount (string key, int64 value)
|
||||
{
|
||||
};
|
||||
|
||||
protected:
|
||||
virtual void incrementFps();
|
||||
};
|
||||
protected:
|
||||
virtual void
|
||||
incrementFps ();
|
||||
};
|
||||
|
||||
// ===============================
|
||||
// class Program
|
||||
// ===============================
|
||||
|
||||
class Program {
|
||||
private:
|
||||
static const int maxTimes;
|
||||
SimpleTaskThread *soundThreadManager;
|
||||
class Program
|
||||
{
|
||||
private:
|
||||
static const int
|
||||
maxTimes;
|
||||
SimpleTaskThread *
|
||||
soundThreadManager;
|
||||
|
||||
class ShowMessageProgramState : public ProgramState {
|
||||
class ShowMessageProgramState:
|
||||
public ProgramState
|
||||
{
|
||||
GraphicMessageBox msgBox;
|
||||
int mouseX;
|
||||
int mouseY;
|
||||
int mouse2dAnim;
|
||||
int
|
||||
mouseX;
|
||||
int
|
||||
mouseY;
|
||||
int
|
||||
mouse2dAnim;
|
||||
string msg;
|
||||
bool userWantsExit;
|
||||
|
||||
public:
|
||||
ShowMessageProgramState(Program *program, const char *msg);
|
||||
ShowMessageProgramState (Program * program, const char *msg);
|
||||
|
||||
virtual void render();
|
||||
virtual void mouseDownLeft(int x, int y);
|
||||
virtual void mouseMove(int x, int y, const MouseState &mouseState);
|
||||
virtual void keyPress(SDL_KeyboardEvent c);
|
||||
virtual void update();
|
||||
virtual bool wantExit() { return userWantsExit; }
|
||||
virtual void
|
||||
render ();
|
||||
virtual void
|
||||
mouseDownLeft (int x, int y);
|
||||
virtual void
|
||||
mouseMove (int x, int y, const MouseState & mouseState);
|
||||
virtual void
|
||||
keyPress (SDL_KeyboardEvent c);
|
||||
virtual void
|
||||
update ();
|
||||
virtual
|
||||
bool
|
||||
wantExit ()
|
||||
{
|
||||
return userWantsExit;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private:
|
||||
ProgramState *programState;
|
||||
private:
|
||||
ProgramState * programState;
|
||||
|
||||
PerformanceTimer fpsTimer;
|
||||
PerformanceTimer updateTimer;
|
||||
PerformanceTimer updateCameraTimer;
|
||||
|
||||
WindowGl *window;
|
||||
static Program *singleton;
|
||||
WindowGl *
|
||||
window;
|
||||
static Program *
|
||||
singleton;
|
||||
|
||||
GraphicMessageBox msgBox;
|
||||
int skipRenderFrameCount;
|
||||
int
|
||||
skipRenderFrameCount;
|
||||
|
||||
bool messageBoxIsSystemError;
|
||||
ProgramState *programStateOldSystemError;
|
||||
ProgramState *
|
||||
programStateOldSystemError;
|
||||
|
||||
//bool masterserverMode;
|
||||
//bool masterserverMode;
|
||||
bool shutdownApplicationEnabled;
|
||||
static bool wantShutdownApplicationAfterGame;
|
||||
static
|
||||
bool
|
||||
wantShutdownApplicationAfterGame;
|
||||
|
||||
static bool tryingRendererInit;
|
||||
static bool rendererInitOk;
|
||||
static
|
||||
bool
|
||||
tryingRendererInit;
|
||||
static
|
||||
bool
|
||||
rendererInitOk;
|
||||
|
||||
public:
|
||||
Program();
|
||||
virtual ~Program();
|
||||
public:
|
||||
Program ();
|
||||
virtual ~ Program ();
|
||||
|
||||
static bool getTryingRendererInit() { return tryingRendererInit; }
|
||||
static bool getRendererInitOk() { return rendererInitOk; }
|
||||
static
|
||||
bool
|
||||
getTryingRendererInit ()
|
||||
{
|
||||
return tryingRendererInit;
|
||||
}
|
||||
static
|
||||
bool
|
||||
getRendererInitOk ()
|
||||
{
|
||||
return rendererInitOk;
|
||||
}
|
||||
|
||||
static Program *getInstance() { return singleton; }
|
||||
static Program *
|
||||
getInstance ()
|
||||
{
|
||||
return singleton;
|
||||
}
|
||||
|
||||
static void setWantShutdownApplicationAfterGame(bool value) { wantShutdownApplicationAfterGame = value; }
|
||||
static bool getWantShutdownApplicationAfterGame() { return wantShutdownApplicationAfterGame; }
|
||||
static void
|
||||
setWantShutdownApplicationAfterGame (bool value)
|
||||
{
|
||||
wantShutdownApplicationAfterGame = value;
|
||||
}
|
||||
static
|
||||
bool
|
||||
getWantShutdownApplicationAfterGame ()
|
||||
{
|
||||
return wantShutdownApplicationAfterGame;
|
||||
}
|
||||
|
||||
//bool isMasterserverMode() const;
|
||||
bool isShutdownApplicationEnabled() const { return shutdownApplicationEnabled; }
|
||||
void setShutdownApplicationEnabled(bool value) { shutdownApplicationEnabled = value; }
|
||||
//bool isMasterserverMode() const;
|
||||
bool isShutdownApplicationEnabled ()const
|
||||
{
|
||||
return
|
||||
shutdownApplicationEnabled;
|
||||
}
|
||||
void
|
||||
setShutdownApplicationEnabled (bool value)
|
||||
{
|
||||
shutdownApplicationEnabled = value;
|
||||
}
|
||||
|
||||
GraphicMessageBox * getMsgBox() { return &msgBox; }
|
||||
void initNormal(WindowGl *window);
|
||||
void initServer(WindowGl *window,bool autostart=false,bool openNetworkSlots=false,bool masterserverMode=false);
|
||||
void initServer(WindowGl *window, GameSettings *settings);
|
||||
void initSavedGame(WindowGl *window,bool masterserverMode=false,string saveGameFile="");
|
||||
void initClient(WindowGl *window, const Ip &serverIp,int portNumber=-1);
|
||||
void initClientAutoFindHost(WindowGl *window);
|
||||
void initScenario(WindowGl *window, string autoloadScenarioName);
|
||||
GraphicMessageBox *
|
||||
getMsgBox ()
|
||||
{
|
||||
return &msgBox;
|
||||
}
|
||||
void
|
||||
initNormal (WindowGl * window);
|
||||
void
|
||||
initServer (WindowGl * window, bool autostart =
|
||||
false, bool openNetworkSlots =
|
||||
false, bool masterserverMode = false);
|
||||
void
|
||||
initServer (WindowGl * window, GameSettings * settings);
|
||||
void
|
||||
initSavedGame (WindowGl * window, bool masterserverMode =
|
||||
false, string saveGameFile = "");
|
||||
void
|
||||
initClient (WindowGl * window, const Ip & serverIp, int portNumber =
|
||||
-1);
|
||||
void
|
||||
initClientAutoFindHost (WindowGl * window);
|
||||
void
|
||||
initScenario (WindowGl * window, string autoloadScenarioName);
|
||||
|
||||
//main
|
||||
bool textInput(std::string text);
|
||||
void keyDown(SDL_KeyboardEvent key);
|
||||
bool sdlKeyDown(SDL_KeyboardEvent key);
|
||||
void keyUp(SDL_KeyboardEvent key);
|
||||
void keyPress(SDL_KeyboardEvent c);
|
||||
//main
|
||||
bool textInput (std::string text);
|
||||
void
|
||||
keyDown (SDL_KeyboardEvent key);
|
||||
bool sdlKeyDown (SDL_KeyboardEvent key);
|
||||
void
|
||||
keyUp (SDL_KeyboardEvent key);
|
||||
void
|
||||
keyPress (SDL_KeyboardEvent c);
|
||||
|
||||
void loop();
|
||||
void loopWorker();
|
||||
void resize(SizeState sizeState);
|
||||
void showMessage(const char *msg);
|
||||
bool isMessageShowing();
|
||||
void
|
||||
loop ();
|
||||
void
|
||||
loopWorker ();
|
||||
void
|
||||
resize (SizeState sizeState);
|
||||
void
|
||||
showMessage (const char *msg);
|
||||
bool isMessageShowing ();
|
||||
|
||||
//misc
|
||||
void setState(ProgramState *programStateNew,bool cleanupOldState=true);
|
||||
ProgramState * getState() { return programState;}
|
||||
WindowGl * getWindow() { return window; }
|
||||
const WindowGl * getWindowConstPtr() const { return window; }
|
||||
void init(WindowGl *window, bool initSound=true, bool toggleFullScreen=false);
|
||||
void exit();
|
||||
//misc
|
||||
void
|
||||
setState (ProgramState * programStateNew, bool cleanupOldState = true);
|
||||
ProgramState *
|
||||
getState ()
|
||||
{
|
||||
return programState;
|
||||
}
|
||||
WindowGl *
|
||||
getWindow ()
|
||||
{
|
||||
return window;
|
||||
}
|
||||
const WindowGl *
|
||||
getWindowConstPtr () const
|
||||
{
|
||||
return
|
||||
window;
|
||||
}
|
||||
void
|
||||
init (WindowGl * window, bool initSound = true, bool toggleFullScreen =
|
||||
false);
|
||||
void
|
||||
exit ();
|
||||
|
||||
virtual void simpleTask(BaseThread *callingThread,void *userdata);
|
||||
virtual void
|
||||
simpleTask (BaseThread * callingThread, void *userdata);
|
||||
|
||||
void mouseDownLeft(int x, int y);
|
||||
void eventMouseMove(int x, int y, const MouseState *ms);
|
||||
void
|
||||
mouseDownLeft (int x, int y);
|
||||
void
|
||||
eventMouseMove (int x, int y, const MouseState * ms);
|
||||
|
||||
void renderProgramMsgBox();
|
||||
bool isInSpecialKeyCaptureEvent() { return programState->isInSpecialKeyCaptureEvent(); }
|
||||
void
|
||||
renderProgramMsgBox ();
|
||||
bool isInSpecialKeyCaptureEvent ()
|
||||
{
|
||||
return programState->isInSpecialKeyCaptureEvent ();
|
||||
}
|
||||
|
||||
//void reInitGl();
|
||||
//void resetSoundSystem();
|
||||
void stopSoundSystem();
|
||||
void startSoundSystem();
|
||||
//void reInitGl();
|
||||
//void resetSoundSystem();
|
||||
void
|
||||
stopSoundSystem ();
|
||||
void
|
||||
startSoundSystem ();
|
||||
|
||||
virtual void consoleAddLine(string line);
|
||||
virtual void
|
||||
consoleAddLine (string line);
|
||||
|
||||
virtual SimpleTaskThread * getSoundThreadManager(bool takeOwnership);
|
||||
virtual void reloadUI();
|
||||
virtual SimpleTaskThread *
|
||||
getSoundThreadManager (bool takeOwnership);
|
||||
virtual void
|
||||
reloadUI ();
|
||||
|
||||
private:
|
||||
private:
|
||||
|
||||
void setDisplaySettings();
|
||||
void restoreDisplaySettings();
|
||||
void restoreStateFromSystemError();
|
||||
void initResolution();
|
||||
};
|
||||
void
|
||||
setDisplaySettings ();
|
||||
void
|
||||
restoreDisplaySettings ();
|
||||
void
|
||||
restoreStateFromSystemError ();
|
||||
void
|
||||
initResolution ();
|
||||
};
|
||||
|
||||
}} //end namespace
|
||||
|
||||
|
Reference in New Issue
Block a user