* 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
128 lines
No EOL
3 KiB
C++
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(); |