DinkSmallwoodHD/source/App.h
seth ac152e940e * Escape now brings up the classic dink escape menu, the Dink HD menu was just too intrusive. It will show a text message that you can hit Shift-Escape to bring up the HD menu as well
* Made dialog box background look better by making it 32 bit with alpha, no more "cracks" at some resolutions.  Custom dialogs may still get line cracks at non 640X480 but whatever
* Default resolution is now 1024X768 fullscreen instead of 640X480
* dmod listing is packed tighter and now sorted alphabetically by dmod name, not directory name

git-svn-id: svn://rtsoft.com/rtsvn/projects/RTDink@1509 353e56fe-9613-0410-8469-b96ad8e6f29c
2017-09-26 12:41:23 +00:00

128 lines
No EOL
3 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
enum eExtendedVirtualKeys
{
VIRTUAL_KEY_CUSTOM_QUIT = VIRTUAL_KEY_CUSTOM_START
};
#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 AddTextToLog(const char *tex, const char *filename);
void AddDroidKeyboardKeys();
void RemoveAndroidKeyboardKeys();
void AddIcadeProvider();
bool GetForceAspectRatio();
bool GetGhostMode() {return m_bGhostMode;}
void SetGhostMode(bool bNew) { m_bGhostMode = bNew; }
bool UseClassicEscapeMenu();
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);
bool DoesCommandLineParmExist(string parm);
float m_version;
string m_versionString;
int m_build;
float m_desktopVersion;
string m_desktopVersionString;
int m_desktopBuild;
bool m_bHasDMODSupport;
bool m_bCheatsEnabled;
FILE * m_logFileHandle;
};
App * GetApp();
const char * GetAppName();
const char * GetBundleName();
const char * GetBundlePrefix();