* (Windows) Handles alt-tab and clicking on a different monitor while in native fullscreen modes better * Added "Ghost walk toggle" to in-game cheat menu. Allows you to walk through solid objects and screenlocks * (DinkC) Added support for Dan's load_tile() command * Some junk removed from the debug log git-svn-id: svn://rtsoft.com/rtsvn/projects/RTDink@1482 353e56fe-9613-0410-8469-b96ad8e6f29c
119 lines
No EOL
2.7 KiB
C++
119 lines
No EOL
2.7 KiB
C++
/*
|
|
* App.h
|
|
* Created by Seth Robinson on 3/6/09.
|
|
* For license info, check the license.txt file that should have come with this.
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
#include "BaseApp.h"
|
|
#include "Manager/AdManager.h"
|
|
|
|
#define RT_IS_BETA 1
|
|
|
|
#ifdef RT_SCRIPT_BUILD
|
|
|
|
//this is being build from the command line, enable special flags here
|
|
#endif
|
|
|
|
class GamepadProvider;
|
|
|
|
enum eControlStyle
|
|
{
|
|
CONTROLS_JOYPAD,
|
|
CONTROLS_DRAG_ANYWHERE,
|
|
CONTROLS_FLING
|
|
};
|
|
|
|
enum eVideoFPS
|
|
{
|
|
VIDEO_FPS_LIMIT_ON,
|
|
VIDEO_FPS_LIMIT_OFF
|
|
};
|
|
|
|
|
|
|
|
#ifndef __APPLE__
|
|
//#define RT_EXPIRING
|
|
#endif
|
|
|
|
//#define RT_CHARTBOOST_ENABLED
|
|
|
|
|
|
class App: public BaseApp
|
|
{
|
|
public:
|
|
|
|
App();
|
|
virtual ~App();
|
|
|
|
virtual bool Init();
|
|
virtual void Kill();
|
|
virtual bool OnPreInitVideo();
|
|
virtual void Draw();
|
|
virtual void OnScreenSizeChange();
|
|
virtual void Update();
|
|
virtual void OnMemoryWarning();
|
|
virtual void OnEnterBackground();
|
|
virtual void OnEnterForeground();
|
|
|
|
string GetVersionString();
|
|
float GetVersion();
|
|
int GetBuild();
|
|
void GetServerInfo(string &server, uint32 &port);
|
|
VariantDB * GetShared() {return &m_varDB;}
|
|
Variant * GetVar(const string &keyName );
|
|
Variant * GetVarWithDefault(const string &varName, const Variant &var) {return m_varDB.GetVarWithDefault(varName, var);}
|
|
int GetSpecial();
|
|
void UpdateVideoSettings();
|
|
bool GetUsingTouchScreen() {return m_bUsingTouchScreen;}
|
|
bool CanDownloadDMODS() {return m_bHasDMODSupport;}
|
|
void SetCheatsEnabled(bool bCheatsEnabled) {m_bCheatsEnabled = bCheatsEnabled;}
|
|
bool GetCheatsEnabled() {return m_bCheatsEnabled;}
|
|
void OnExitApp(VariantList *pVarList);
|
|
bool GetIconsOnLeft();
|
|
void RemoveAndAttachAllAvailableGamepads();
|
|
|
|
AdManager * GetAdManager() {return &m_adManager;}
|
|
|
|
void OnMessage( Message &m );
|
|
void OnLoadSurfaces();
|
|
void OnUnloadSurfaces();
|
|
void AddDroidKeyboardKeys();
|
|
void RemoveAndroidKeyboardKeys();
|
|
void AddIcadeProvider();
|
|
bool GetForceAspectRatio();
|
|
bool GetGhostMode() {return m_bGhostMode;}
|
|
void SetGhostMode(bool bNew) { m_bGhostMode = bNew; }
|
|
|
|
private:
|
|
|
|
AdManager m_adManager;
|
|
|
|
bool m_bDidPostInit;
|
|
VariantDB m_varDB; //holds all data we want to save/load
|
|
int m_special;
|
|
bool m_bUsingTouchScreen;
|
|
bool m_bForceAspectRatio;
|
|
bool m_bGhostMode; //lets dink walk anywhere and ignore screenlocks
|
|
|
|
void SaveAllData();
|
|
void OnPreEnterBackground(VariantList *pVList);
|
|
void OniCadeDisconnected(GamepadProvider *pProvider);
|
|
float m_version;
|
|
string m_versionString;
|
|
int m_build;
|
|
|
|
float m_desktopVersion;
|
|
string m_desktopVersionString;
|
|
int m_desktopBuild;
|
|
bool m_bHasDMODSupport;
|
|
bool m_bCheatsEnabled;
|
|
|
|
};
|
|
|
|
|
|
App * GetApp();
|
|
const char * GetAppName();
|
|
const char * GetBundleName();
|
|
const char * GetBundlePrefix(); |