My Project
|
This class demonstrate how to initialize, destroy and drive the game loop of ParaEngine through the C++ programming interface. More...
#include <ParaEngineApp.h>
Public Member Functions | |
CParaEngineApp (const char *lpCmdLine) | |
start the application immediately, it calls StartApp with the given command line. More... | |
CParaEngineApp () | |
One needs to manually start the application. | |
virtual int | Run (HINSTANCE hInstance) |
only call this function if one does not want to manage game loop externally. More... | |
bool | IsDebugBuild () |
whether it is debug build. More... | |
virtual HRESULT | DoWork () |
this function is called per frame, in most cases, it will render the 3d scene and frame move. More... | |
virtual void | EnablePassiveRendering (bool bEnable) |
passive rendering, it will not render the scene, but simulation and time remains the same. More... | |
virtual bool | IsPassiveRenderingEnabled () |
passive rendering, it will not render the scene, but simulation and time remains the same. More... | |
virtual void | Enable3DRendering (bool bEnable) |
disable 3D rendering, do not present the scene. More... | |
virtual bool | Is3DRenderingEnabled () |
whether 3D rendering is enabled, do not present the scene. More... | |
virtual void | SetFullScreenMode (bool bFullscreen) |
whether to use full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual bool | IsFullScreenMode () |
virtual void | BringWindowToTop () |
The BringWindowToTop current window to the top of the Z order. More... | |
virtual void | SetAllowWindowClosing (bool bAllowClosing) |
whether the user can close the window (sending WM_CLOSE message). More... | |
virtual bool | IsWindowClosingAllowed () |
virtual void | ShowMenu (bool bShow) |
turn on/off menu | |
virtual void | GetScreenResolution (Vector2 *pOut) |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual void | SetScreenResolution (const Vector2 &vSize) |
virtual void | GetResolution (float *pX, float *pY) |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual void | SetResolution (float x, float y) |
virtual int | GetMultiSampleType () |
anti-aliasing for both windowed and full screen mode. More... | |
virtual void | SetMultiSampleType (int nType) |
virtual int | GetMultiSampleQuality () |
anti-aliasing for both windowed and full screen mode. More... | |
virtual void | SetMultiSampleQuality (int nType) |
virtual bool | UpdateScreenMode () |
call this function to update changes of FullScreen Mode and Screen Resolution. More... | |
virtual bool | SetWindowedMode (bool bWindowed) |
switch to either windowed mode or full screen mode. More... | |
virtual bool | IsWindowedMode () |
return true if it is currently under windowed mode. More... | |
virtual void | SetWindowText (const char *pChar) |
set the window title when at windowed mode | |
virtual const char * | GetWindowText () |
get the window title when at windowed mode | |
virtual void | FixWindowSize (bool fixed) |
virtual void | GetStats (string &output, DWORD dwFields=0) |
get the render engine stats to output. More... | |
bool | WriteRegStr (const string &root_key, const string &sSubKey, const string &name, const string &value) |
Write a string to the registry. More... | |
const char * | ReadRegStr (const string &root_key, const string &sSubKey, const string &name) |
Read string from the registry. More... | |
bool | WriteRegDWORD (const string &root_key, const string &sSubKey, const string &name, DWORD value) |
Write a DWORD to the registry. More... | |
DWORD | ReadRegDWORD (const string &root_key, const string &sSubKey, const string &name) |
Read DWORD from the registry. More... | |
virtual void | GetCursorPosition (int *pX, int *pY, bool bInBackbuffer=true) |
get the current mouse cursor position. More... | |
virtual void | GameToClient (int &inout_x, int &inout_y, bool bInBackbuffer=true) |
translate a position from game coordination system to client window position. More... | |
virtual void | ClientToGame (int &inout_x, int &inout_y, bool bInBackbuffer=true) |
translate a position from client window position to game coordination system. More... | |
virtual void | WriteConfigFile (const char *sFileName) |
write the current setting to config file. More... | |
virtual bool | HasNewConfig () |
get whether ParaEngine is loaded from config/config.new.txt. More... | |
virtual void | SetHasNewConfig (bool bHasNewConfig) |
set whether ParaEngine is loaded from config/config.new.txt. More... | |
virtual void | SetIgnoreWindowSizeChange (bool bIgnoreSizeChange) |
switch to ignore windows size change. More... | |
virtual bool | GetIgnoreWindowSizeChange () |
return true if it is currently under windowed mode. More... | |
virtual bool | ForceRender () |
render the current frame and does not return until everything is presented to screen. More... | |
HRESULT | OnCreateWindow () |
this function should be called when the application is created. More... | |
HRESULT | ConfirmDevice (LPDIRECT3D9 pD3d, D3DCAPS9 *, DWORD, D3DFORMAT, D3DFORMAT) |
Called during device initialization, this code checks the device for some minimum set of capabilities, and rejects those that don't pass by returning false. More... | |
HRESULT | Init (HWND *pHWND) |
init application More... | |
HRESULT | OneTimeSceneInit () |
This function should be called only once when the application start, one can initialize game objects here. More... | |
virtual HRESULT | InitDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been created, which will happen during application initialization and windowed/full screen toggles. More... | |
virtual HRESULT | RestoreDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been reset, which will happen after a lost device scenario. More... | |
virtual HRESULT | Render () |
This callback function will be called at the end of every frame to perform all the rendering calls for the scene, and it will also be called if the window needs to be repainted. More... | |
void | GenerateD3DDebugString () |
Output text information to console, for debugging only. More... | |
virtual HRESULT | FrameMove () |
This callback function will be called once at the beginning of every frame. More... | |
virtual HRESULT | FrameMove (double fTime) |
Called once per frame, the call is the entry point for animating the scene. More... | |
virtual HRESULT | InvalidateDeviceObjects () |
This callback function will be called immediately after the Direct3D device has entered a lost state and before IDirect3DDevice9::Reset is called. More... | |
virtual HRESULT | DeleteDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been destroyed, which generally happens as a result of application termination or windowed/full screen toggles. More... | |
virtual HRESULT | FinalCleanup () |
This function should be called only once when the application end, one can destroy game objects here. More... | |
void | HandleUserInput () |
process game input. More... | |
virtual void | SetMainWindow (HWND hWnd, bool bIsExternalWindow=true) |
set the hWnd on to which we will render and process window messages. More... | |
virtual HWND | GetMainWindow () |
virtual HRESULT | StartApp (const char *sCommandLine=0) |
call this function to create the ParaEngine main rendering device based on the current window. More... | |
void | InitSystemModules () |
void | InitWin3DSettings () |
void | InitLogger () |
void | BootStrapAndLoadConfig () |
void | InitApp (const char *sCommandLine) |
bool | CheckClientLicense () |
void | LoadAndApplySettings () |
virtual HRESULT | StopApp () |
This is the last function that should be called. More... | |
virtual LRESULT | MsgProcWinThread (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool bCallDefProcedure=true) |
the window message processor. More... | |
virtual LRESULT | MsgProcWinThreadCustom (UINT uMsg, WPARAM wParam, LPARAM lParam) |
virtual LRESULT | SendMessageToApp (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
Send a RAW win32 message the application to be processed in the next main thread update interval. More... | |
virtual bool | PostWinThreadMessage (UINT uMsg, WPARAM wParam, LPARAM lParam) |
post a raw win32 message from any thread to the thread on which hWnd is created. More... | |
virtual bool | GetMessageFromApp (CWinRawMsg *pMsg) |
get a message from the application message queue and remove it from the queue. More... | |
virtual LRESULT | MsgProcApp (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
Before handling window messages, application should pass incoming windows messages to the application through this callback function. More... | |
virtual HRESULT | Create (HINSTANCE hInstance=0) |
create instance | |
virtual HRESULT | CreateFromD3D9Device (IDirect3DDevice9 *pD3dDevice, IDirect3DSwapChain9 *apSwapChain) |
virtual HRESULT | Render3DEnvironment (bool bForceRender=false) |
Frame move and render a frame during idle time (no messages are waiting). More... | |
virtual float | GetFPS () |
void | UpdateFrameStats (double fTime) |
virtual HINSTANCE | GetModuleHandle () |
change the cursor to indicate a movie recording state More... | |
virtual void | SetRefreshTimer (float fTimeInterval, int nFrameRateControl=0) |
Set the frame rate timer interval. More... | |
virtual float | GetRefreshTimer () |
get the refresh timer. | |
virtual void | GetWindowCreationSize (int *pWidth, int *pHeight) |
get the window creation size in default application config. More... | |
virtual PEAppState | GetAppState () |
get application state | |
virtual void | SetAppState (ParaEngine::PEAppState state) |
set application state | |
virtual void | ActivateApp (bool bActivate) |
this function is called whenever the application is disabled or enabled. More... | |
virtual bool | IsAppActive () |
whether the application is active or not. More... | |
virtual DWORD | GetCoreUsage () |
Get the current ParaEngine app usage. More... | |
virtual void | SetCoreUsage (DWORD dwUsage) |
Set the current ParaEngine app usage. More... | |
virtual void | SetMinUIResolution (int nWidth, int nHeight, bool bAutoUIScaling=true) |
set the minimum UI resolution size. More... | |
virtual void | Exit (int nReturnCode=0) |
Send the exit message, so that the game engine will prepare to exit in the next frame. More... | |
virtual bool | HasFocus (HWND hWnd=0) |
this returns true if the main window or one of its child window has key focus. More... | |
virtual bool | IsTouchInputting () |
whether the last mouse input is from touch or mouse. More... | |
virtual bool | IsSlateMode () |
virtual int32 | GetTouchPointX () |
obsoleted function: | |
virtual int32 | GetTouchPointY () |
virtual bool | IsServerMode () |
server mode has no user interface | |
void | SetAutoLowerFrameRateWhenNotFocused (bool bEnabled) |
default to false. if true, we will lower frame rate when the window is not focused. | |
bool | GetAutoLowerFrameRateWhenNotFocused () |
void | SetToggleSoundWhenNotFocused (bool bEnabled) |
if true, sound volume will be set to 0, when not focused. | |
bool | GetToggleSoundWhenNotFocused () |
bool | AppHasFocus () |
return true if app has focus. More... | |
CViewportManager * | GetViewportManager () |
managing multiple 3d views | |
CParaEngineApp (const char *lpCmdLine=NULL) | |
virtual HRESULT | StartApp (const char *sCommandLine=0) |
This is the first function that should be called when acquiring the IParaEngineApp interface. More... | |
virtual void | InitSystemModules () |
void | BootStrapAndLoadConfig () |
virtual HRESULT | StopApp () |
This is the last function that should be called. More... | |
virtual void | SetMainWindow (HWND hWnd, bool bIsExternalWindow=true) |
set the hWnd on to which we will render and process window messages. More... | |
virtual HWND | GetMainWindow () |
virtual int | Run (HINSTANCE hInstance) |
only call this function if one does not want to manage game loop externally. More... | |
virtual HRESULT | DoWork () |
this function is called per frame, in most cases, it will render the 3d scene and frame move. More... | |
virtual HRESULT | CreateFromD3D9Device (IDirect3DDevice9 *pD3dDevice, IDirect3DSwapChain9 *apSwapChain) |
create from an existing d3d device. More... | |
virtual HRESULT | InitDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been created, which will happen during application initialization and windowed/full screen toggles. More... | |
virtual HRESULT | RestoreDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been reset, which will happen after a lost device scenario. More... | |
virtual HRESULT | InvalidateDeviceObjects () |
This callback function will be called immediately after the Direct3D device has entered a lost state and before IDirect3DDevice9::Reset is called. More... | |
virtual HRESULT | DeleteDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been destroyed, which generally happens as a result of application termination or windowed/full screen toggles. More... | |
virtual HRESULT | Create (HINSTANCE hInstance=0) |
create d3d render device based on the current main window. More... | |
virtual HRESULT | Render3DEnvironment (bool bForceRender=false) |
Frame move and render a frame during idle time (no messages are waiting). More... | |
void | UpdateStats (double fTime) |
virtual LRESULT | MsgProcWinThread (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool bCallDefProcedure=true) |
the window message processor. More... | |
virtual LRESULT | MsgProcWinThreadCustom (UINT uMsg, WPARAM wParam, LPARAM lParam) |
virtual LRESULT | SendMessageToApp (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
Send a RAW win32 message the application to be processed in the next main thread update interval. More... | |
virtual bool | PostWinThreadMessage (UINT uMsg, WPARAM wParam, LPARAM lParam) |
post a raw win32 message from any thread to the thread on which hWnd is created. More... | |
virtual bool | GetMessageFromApp (CWinRawMsg *pMsg) |
get a message from the application message queue and remove it from the queue. More... | |
virtual LRESULT | MsgProcApp (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
handle a message in the main application thread. | |
virtual void | EnablePassiveRendering (bool bEnable) |
passive rendering, it will not render the scene, but simulation and time remains the same. More... | |
virtual bool | IsPassiveRenderingEnabled () |
passive rendering, it will not render the scene, but simulation and time remains the same. More... | |
virtual void | BringWindowToTop () |
The BringWindowToTop current window to the top of the Z order. More... | |
virtual void | SetAllowWindowClosing (bool bAllowClosing) |
whether the user can close the window (sending WM_CLOSE message). More... | |
virtual bool | IsWindowClosingAllowed () |
virtual void | SetFullScreenMode (bool bFullscreen) |
whether to use full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual bool | IsFullScreenMode () |
virtual void | ShowMenu (bool bShow) |
turn on/off menu | |
virtual Vector2 | GetScreenResolution () |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual void | SetScreenResolution (const Vector2 &vSize) |
virtual int | GetMultiSampleType () |
anti-aliasing for both windowed and full screen mode. More... | |
virtual void | SetMultiSampleType (int nType) |
virtual int | GetMultiSampleQuality () |
anti-aliasing for both windowed and full screen mode. More... | |
virtual void | SetMultiSampleQuality (int nType) |
virtual bool | UpdateScreenMode () |
call this function to update changes of FullScreen Mode and Screen Resolution. More... | |
virtual bool | SetWindowedMode (bool bWindowed) |
switch to either windowed mode or full screen mode. More... | |
virtual bool | IsWindowedMode () |
return true if it is currently under windowed mode. More... | |
virtual void | SetWindowText (const char *pChar) |
set the window title when at windowed mode | |
virtual const char * | GetWindowText () |
get the window title when at windowed mode | |
virtual void | WriteConfigFile (const char *sFileName) |
write the current setting to config file. More... | |
virtual bool | HasNewConfig () |
get whether ParaEngine is loaded from config/config.new.txt. More... | |
virtual void | SetHasNewConfig (bool bHasNewConfig) |
set whether ParaEngine is loaded from config/config.new.txt. More... | |
virtual void | GetWindowCreationSize (int *pWidth, int *pHeight) |
get the window creation size in default application config. More... | |
virtual bool | IsAppActive () |
whether the application is active or not. More... | |
virtual void | SetMinUIResolution (int nWidth, int nHeight, bool bAutoUIScaling=true) |
set the minimum UI resolution size. More... | |
virtual void | GetResolution (float *pX, float *pY) |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual void | SetResolution (float x, float y) |
virtual NPL::INPLRuntime * | GetNPLRuntime () |
get the NPL runtime system associate with the application. More... | |
virtual bool | IsSlateMode () |
virtual bool | IsServerMode () |
server mode has no user interface | |
virtual float | GetFPS () |
HRESULT | Init (HWND *pHWND) |
init application | |
void | InitAudioEngine () |
HRESULT | OneTimeSceneInit (HWND *pHWND) |
This function should be called only once when the application start, one can initialize game objects here. More... | |
virtual HRESULT | FrameMove (double fTime) |
This callback function will be called once at the beginning of every frame. More... | |
HRESULT | FinalCleanup () |
This function should be called only once when the application end, one can destroy game objects here. | |
void | HandleUserInput () |
process game input. More... | |
virtual void | Exit (int nReturnCode=0) |
Send the exit message, so that the game engine will prepare to exit in the next frame. More... | |
virtual ParaEngine::PEAppState | GetAppState () |
get application state | |
virtual void | SetAppState (ParaEngine::PEAppState state) |
set application state | |
CViewportManager * | GetViewportManager () |
CParaEngineApp (const char *lpCmdLine=NULL) | |
virtual HRESULT | StartApp (const char *sCommandLine=0) |
This is the first function that should be called when acquiring the IParaEngineApp interface. More... | |
virtual void | InitSystemModules () |
void | LoadAndApplySettings () |
void | BootStrapAndLoadConfig () |
virtual HRESULT | StopApp () |
This is the last function that should be called. More... | |
virtual void | SetMainWindow (HWND hWnd, bool bIsExternalWindow=true) |
set the hWnd on to which we will render and process window messages. More... | |
virtual HWND | GetMainWindow () |
virtual int | Run (HINSTANCE hInstance) |
only call this function if one does not want to manage game loop externally. More... | |
virtual HRESULT | DoWork () |
this function is called per frame, in most cases, it will render the 3d scene and frame move. More... | |
virtual HRESULT | CreateFromD3D9Device (IDirect3DDevice9 *pD3dDevice, IDirect3DSwapChain9 *apSwapChain) |
create from an existing d3d device. More... | |
virtual HRESULT | InitDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been created, which will happen during application initialization and windowed/full screen toggles. More... | |
virtual HRESULT | RestoreDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been reset, which will happen after a lost device scenario. More... | |
virtual HRESULT | InvalidateDeviceObjects () |
This callback function will be called immediately after the Direct3D device has entered a lost state and before IDirect3DDevice9::Reset is called. More... | |
virtual HRESULT | DeleteDeviceObjects () |
This callback function will be called immediately after the Direct3D device has been destroyed, which generally happens as a result of application termination or windowed/full screen toggles. More... | |
virtual HRESULT | Create (HINSTANCE hInstance=0) |
create d3d render device based on the current main window. More... | |
virtual HRESULT | Render3DEnvironment (bool bForceRender=false) |
Frame move and render a frame during idle time (no messages are waiting). More... | |
void | UpdateStats (double fTime) |
virtual LRESULT | MsgProcWinThread (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, bool bCallDefProcedure=true) |
the window message processor. More... | |
virtual LRESULT | MsgProcWinThreadCustom (UINT uMsg, WPARAM wParam, LPARAM lParam) |
virtual LRESULT | SendMessageToApp (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
Send a RAW win32 message the application to be processed in the next main thread update interval. More... | |
virtual bool | PostWinThreadMessage (UINT uMsg, WPARAM wParam, LPARAM lParam) |
post a raw win32 message from any thread to the thread on which hWnd is created. More... | |
virtual bool | GetMessageFromApp (CWinRawMsg *pMsg) |
get a message from the application message queue and remove it from the queue. More... | |
virtual LRESULT | MsgProcApp (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) |
handle a message in the main application thread. | |
virtual void | EnablePassiveRendering (bool bEnable) |
passive rendering, it will not render the scene, but simulation and time remains the same. More... | |
virtual bool | IsPassiveRenderingEnabled () |
passive rendering, it will not render the scene, but simulation and time remains the same. More... | |
virtual void | BringWindowToTop () |
The BringWindowToTop current window to the top of the Z order. More... | |
virtual void | SetAllowWindowClosing (bool bAllowClosing) |
whether the user can close the window (sending WM_CLOSE message). More... | |
virtual bool | IsWindowClosingAllowed () |
virtual void | SetFullScreenMode (bool bFullscreen) |
whether to use full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual bool | IsFullScreenMode () |
virtual void | ShowMenu (bool bShow) |
turn on/off menu | |
virtual Vector2 | GetScreenResolution () |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual void | SetScreenResolution (const Vector2 &vSize) |
virtual int | GetMultiSampleType () |
anti-aliasing for both windowed and full screen mode. More... | |
virtual void | SetMultiSampleType (int nType) |
virtual int | GetMultiSampleQuality () |
anti-aliasing for both windowed and full screen mode. More... | |
virtual void | SetMultiSampleQuality (int nType) |
virtual bool | UpdateScreenMode () |
call this function to update changes of FullScreen Mode and Screen Resolution. More... | |
virtual bool | SetWindowedMode (bool bWindowed) |
switch to either windowed mode or full screen mode. More... | |
virtual bool | IsWindowedMode () |
return true if it is currently under windowed mode. More... | |
virtual void | SetWindowText (const char *pChar) |
set the window title when at windowed mode | |
virtual const char * | GetWindowText () |
get the window title when at windowed mode | |
virtual void | FixWindowSize (bool fixed) |
virtual void | WriteConfigFile (const char *sFileName) |
write the current setting to config file. More... | |
virtual bool | HasNewConfig () |
get whether ParaEngine is loaded from config/config.new.txt. More... | |
virtual void | SetHasNewConfig (bool bHasNewConfig) |
set whether ParaEngine is loaded from config/config.new.txt. More... | |
virtual void | GetWindowCreationSize (int *pWidth, int *pHeight) |
get the window creation size in default application config. More... | |
virtual bool | IsAppActive () |
whether the application is active or not. More... | |
virtual void | SetMinUIResolution (int nWidth, int nHeight, bool bAutoUIScaling=true) |
set the minimum UI resolution size. More... | |
virtual void | GetResolution (float *pX, float *pY) |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device. More... | |
virtual void | SetResolution (float x, float y) |
virtual NPL::INPLRuntime * | GetNPLRuntime () |
get the NPL runtime system associate with the application. More... | |
virtual bool | IsSlateMode () |
virtual bool | IsServerMode () |
server mode has no user interface | |
virtual float | GetFPS () |
HRESULT | Init (HWND *pHWND) |
init application | |
void | InitAudioEngine () |
HRESULT | OneTimeSceneInit (HWND *pHWND) |
This function should be called only once when the application start, one can initialize game objects here. More... | |
virtual HRESULT | FrameMove (double fTime) |
This callback function will be called once at the beginning of every frame. More... | |
HRESULT | FinalCleanup () |
This function should be called only once when the application end, one can destroy game objects here. | |
void | HandleUserInput () |
process game input. More... | |
virtual void | Exit (int nReturnCode=0) |
Send the exit message, so that the game engine will prepare to exit in the next frame. More... | |
virtual ParaEngine::PEAppState | GetAppState () |
get application state | |
virtual void | SetAppState (ParaEngine::PEAppState state) |
set application state | |
CViewportManager * | GetViewportManager () |
bool | IsDebugBuild () |
whether it is debug build. More... | |
void | handle_mainloop_timer (const boost::system::error_code &err) |
int | CalculateRenderTime (double fIdealInterval, double *pNextInterval) |
return true if this is a render tick, otherwise false. More... | |
bool | IsKeyPressed (DWORD nKey) |
return true if the key is being pressed at the time of calling. More... | |
virtual float | GetRefreshTimer () |
get the refresh timer. | |
virtual void | SetRefreshTimer (float fTimeInterval, int nFrameRateControl=0) |
Set the frame rate timer interval. More... | |
void | InitApp (const char *sCommandLine) |
bool | WriteRegStr (const string &root_key, const string &sSubKey, const string &name, const string &value) |
Write a string to the registry. More... | |
const char * | ReadRegStr (const string &root_key, const string &sSubKey, const string &name) |
Read string from the registry. More... | |
bool | WriteRegDWORD (const string &root_key, const string &sSubKey, const string &name, DWORD value) |
Write a DWORD to the registry. More... | |
DWORD | ReadRegDWORD (const string &root_key, const string &sSubKey, const string &name) |
Read DWORD from the registry. More... | |
![]() | |
CParaEngineAppBase (const char *sCmd) | |
virtual LifetimeType | LifetimeControl () |
virtual BaseInterface * | AcquireInterface () |
virtual void | ReleaseInterface () |
virtual void | DeleteInterface () |
virtual void | OnFrameEnded () |
call this function at the end of the frame. More... | |
void | DoTestCode () |
virtual void | WriteToLog (const char *sFormat,...) |
append text to log file. More... | |
virtual void | AppLog (const char *sFormat) |
write app log to file with time and code location. More... | |
virtual bool | FindParaEngineDirectory (const char *sHint=NULL) |
set the current working directory. More... | |
void | AutoSetLocale () |
virtual void | SetTouchInputting (bool bTouchInputting) |
whether the last mouse input is from touch or mouse. More... | |
virtual void | SetReturnCode (int nReturnCode) |
Get the exit code that will be used when the standalone executable exit. More... | |
virtual int | GetReturnCode () |
virtual void | SystemMessageBox (const std::string &msg) |
show a system message box to the user. More... | |
virtual void | SetAppCommandLine (const char *pCommandLine) |
set string specifying the command line for the application, excluding the program name. More... | |
virtual const char * | GetAppCommandLine () |
get string specifying the command line for the application, excluding the program name. More... | |
virtual const char * | GetAppCommandLineByParam (const char *pParam, const char *defaultValue) |
return a specified parameter value in the command line of the application. More... | |
virtual CRefCounted * | AddToSingletonReleasePool (CRefCounted *pObject) |
we will automatically release singleton object when app stops, in the verse order when object is added to the pool. | |
virtual bool | HasClosingRequest () |
whether there is closing request in the message queue. More... | |
virtual void | SetHasClosingRequest (bool val) |
virtual bool | LoadNPLPackage (const char *sFilePath, std::string *pOutMainFile=NULL) |
load NPL package from a disk folder. More... | |
virtual bool | FindBootStrapper () |
check if there is bootstrapper file specified at command line, if not it will use NPL code wiki admin app. | |
virtual bool | InitCommandLineParams () |
parse common command line parameters | |
virtual const char * | GetModuleDir () |
get the NPL bin directory (main executable directory). More... | |
CViewportManager * | GetViewportManager () |
managing multiple 3d views | |
virtual void | VerifyCommandLine (const char *sCommandLine, std::string &strCmd) |
![]() | |
BaseInterface * | GetInterface (Interface_ID id) |
virtual Interface_ID | GetID () |
virtual BaseInterface * | CloneInterface (void *remapDir=NULL) |
![]() | |
CCommandLineParams (const char *lpCmdLine) | |
const char * | GetAppCommandLine () |
get string specifying the command line for the application, excluding the program name. More... | |
const char * | GetAppCommandLineByParam (const char *pParam, const char *defaultValue) |
return a specified parameter value in the command line of the application. More... | |
void | SetAppCommandLine (const char *pCommandLine) |
set string specifying the command line for the application, excluding the program name. More... | |
![]() | |
virtual void | Clone (IObject *obj) const |
Clone the object's contains to a pointer. More... | |
virtual IObject * | Clone () const |
Clone the object's contains and return a pointer to the newly created object. More... | |
virtual bool | Equals (const IObject *obj) const |
Compare the object with another object. More... | |
virtual const IType * | GetType () const |
virtual std::string | ToString () const |
WeakPtr_type & | GetWeakReference () |
get weak reference object. More... | |
virtual int | ProcessObjectEvent (const ObjectEvent &event) |
this function is only used to backward compatibility of ParaObject:AddEvent() function. More... | |
![]() | |
void | addref () const |
add reference count of the object. More... | |
bool | delref () const |
decrease reference count of the object. More... | |
int | GetRefCount () const |
get the reference count | |
virtual int | Release () |
CRefCounted * | AddToAutoReleasePool () |
addref and releases the ownership sometime soon automatically (usually at the end of the current frame). More... | |
![]() | |
virtual void | Pause (bool bPause) |
virtual bool | IsPaused () |
HRESULT | PresentScene () |
force present the scene. More... | |
void | EnablePassiveRendering (bool bEnable) |
bool | IsPassiveRenderingEnabled () |
void | Enable3DRendering (bool bEnable) |
disable 3D rendering, do not present the scene. More... | |
bool | Is3DRenderingEnabled () |
whether 3D rendering is enabled, do not present the scene. More... | |
void | SetRefreshTimer (float fTimeInterval, int nFrameRateControl=0) |
Set the frame rate timer interval. More... | |
float | GetRefreshTimer () const |
get the refresh timer. | |
virtual HRESULT | Create () |
ParaEngine::PEAppState | GetAppState () |
void | SetAppState (ParaEngine::PEAppState state) |
bool | IsExternalD3DDevice () |
whether the d3d device is managed externally | |
Protected Member Functions | |
ITouchInputTranslator * | LoadTouchInputPlug () |
void | UpdateMouse () |
void | UpdateKey () |
void | UpdateMouse () |
![]() | |
void | InitCommon () |
shared init called in constructor. More... | |
void | DestroySingletons () |
void | LoadPackages () |
we will load all packages that matches the following pattern in the order given by their name, such that "main_001.pkg" is always loaded before "main_002.pkg" we will skip packages *_32bits.pkg when in 64bits; and skip *_64bits.pkg in 32bits; packages without above suffix will be loaded in both version. | |
void | LoadPackagesInFolder (const std::string &sPkgFolder) |
void | RegisterObjectClass (IAttributeFields *pObject) |
register a given class. More... | |
void | RegisterObjectClasses () |
register any custom classes | |
![]() | |
HRESULT | DisplayErrorMsg (HRESULT hr, DWORD dwType) |
bool | FindBestWindowedMode (bool bRequireHAL, bool bRequireREF) |
bool | FindBestFullscreenMode (bool bRequireHAL, bool bRequireREF) |
HRESULT | LaunchReadme () |
HRESULT | ChooseInitialD3DSettings () |
HRESULT | Initialize3DEnvironment () |
HRESULT | HandlePossibleSizeChange (bool bUpdateSizeOnly=false) |
this function is called whenever the main window size changes. More... | |
HRESULT | Reset3DEnvironment () |
HRESULT | ToggleFullscreen () |
HRESULT | ForceWindowed () |
HRESULT | UserSelectNewDevice () |
void | Cleanup3DEnvironment () |
HRESULT | Render3DEnvironment (bool bForceRender=false) |
frame move and render More... | |
virtual void | BuildPresentParamsFromSettings () |
virtual HRESULT | AdjustWindowForChange () |
virtual void | UpdateStats () |
virtual HRESULT | ConfirmDevice (D3DCAPS9 *, DWORD, D3DFORMAT, D3DFORMAT) |
virtual bool | UpdateViewPort () |
update view port by backbuffer size. More... | |
Protected Attributes | |
HINSTANCE | m_hInstance |
ref_ptr< CGUIRoot > | m_pGUIRoot |
2d gui root | |
ref_ptr< CSceneObject > | m_pRootScene |
3d scene root object | |
ref_ptr< CViewportManager > | m_pViewportManager |
viewport | |
ref_ptr< CParaWorldAsset > | m_pParaWorldAsset |
asset manager | |
CDirectKeyboard * | m_pKeyboard |
float | m_fAspectRatio |
CAudioEngine * | m_pAudioEngine |
bool | m_bDrawReflection:1 |
bool | m_bDisplayText:1 |
bool | m_bDisplayHelp:1 |
bool | m_bServerMode:1 |
bool | m_bHasNewConfig:1 |
bool | m_bAllowWindowClosing:1 |
bool | m_bAutoLowerFrameRateWhenNotFocused:1 |
bool | m_bToggleSoundWhenNotFocused:1 |
int | m_nInitialGameEffectSet |
initial game effect setting to be loaded from the config file. More... | |
int | m_nWindowedDesired |
1 window mode desired, 0 full screen mode desired, -1 if unknown. More... | |
bool | m_bIsKeyEvent |
bool | m_bUpdateScreenDevice |
std::string | m_cmd |
CWinRawMsgQueue * | m_pWinRawMsgQueue |
The thread safe message queue target for receiving messages from window thread. More... | |
DWORD | m_dwWinThreadID |
the thread id of the main window thread. More... | |
DWORD | m_dwCoreUsage |
the Core usage. More... | |
bool | m_bAppHasFocus |
whether app has focus. More... | |
std::string | m_sTitleString |
for debugging display | |
HWND | m_hwndTopLevelWnd |
set foreground window | |
bool | m_isSlateMode |
int32 | m_touchPointX |
int32 | m_touchPointY |
float | m_fFPS |
ITouchInputTranslator * | m_pTouchInput |
ParaEngine::PEAppState | m_nAppState |
int | m_nScreenWidth |
int | m_nScreenHeight |
double | m_fTime |
bool | m_bIsAppActive |
std::string | m_sWindowTitle |
ref_ptr< CParaEngineGLView > | m_pGLView |
boost::asio::io_service | m_main_io_service |
the main game loop | |
boost::asio::steady_timer | m_main_timer |
the main timer that ticks 30 times a second | |
bool | m_bQuit |
bool | m_bMainLoopExited |
float | m_fRefreshTimerInterval |
HWND | m_hWnd |
bool | m_bStartFullscreen |
![]() | |
bool | m_bEnable3DRendering |
bool | m_isTouching |
bool | m_hasClosingRequest |
int | m_nReturnCode |
the application exit code or return code. More... | |
CObjectAutoReleasePool * | m_pSingletonReleasePool |
a pool of registered singleton object. More... | |
std::string | m_sPackagesDir |
packages/ directory path | |
std::string | m_sModuleDir |
bin/ module path | |
std::string | m_sInitialWorkingDir |
initial working directory | |
PEAppState | m_nAppState |
application state | |
![]() | |
WeakPtr_type | m_weak_reference |
![]() | |
int | m_refcount |
![]() | |
CD3DEnumeration | m_d3dEnumeration |
CD3DSettings | m_d3dSettings |
bool | m_bWindowed |
bool | m_bActive |
bool | m_bDeviceLost |
bool | m_bMinimized |
bool | m_bMaximized |
bool | m_bIgnoreSizeChange |
bool | m_bDeviceObjectsInited |
bool | m_bDeviceObjectsRestored |
bool | m_bFrameMoving |
bool | m_bSingleStep |
bool | m_bDisableD3D |
if this is true, the directX is not needed to run the application. More... | |
bool | m_bPassiveRendering |
passive rendering, it will not render the scene, but simulation and time remains the same. Default is false | |
bool | m_bEnable3DRendering |
whether to render 3d scene and present to screen. | |
D3DPRESENT_PARAMETERS | m_d3dpp |
HWND | m_hWnd |
HWND | m_hWndFocus |
HMENU | m_hMenu |
LPDIRECT3D9 | m_pD3D |
LPDIRECT3DDEVICE9 | m_pd3dDevice |
IDirect3DSwapChain9 * | m_pd3dSwapChain |
D3DCAPS9 | m_d3dCaps |
D3DSURFACE_DESC | m_d3dsdBackBuffer |
DWORD | m_dwCreateFlags |
DWORD | m_dwWindowStyle |
RECT | m_rcWindowBounds |
RECT | m_rcWindowClient |
int | m_nClientWidth |
int | m_nClientHeight |
double | m_fTime |
double | m_fElapsedTime |
FLOAT | m_fFPS |
TCHAR | m_strDeviceStats [90] |
TCHAR | m_strFrameStats [90] |
float | m_fRefreshTimerInterval |
int | m_nFrameRateControl |
TCHAR * | m_strWindowTitle |
DWORD | m_dwCreationWidth |
DWORD | m_dwCreationHeight |
bool | m_bShowCursorWhenFullscreen |
bool | m_bClipCursorWhenFullscreen |
bool | m_bStartFullscreen |
bool | m_bCreateMultithreadDevice |
bool | m_bAllowDialogBoxMode |
bool | m_bIsExternalWindow |
whether the main rendering window is an externally provided window or not. More... | |
bool | m_bIsExternalD3DDevice |
ParaEngine::PEAppState | m_nAppState |
application state | |
Additional Inherited Members | |
![]() | |
enum | LifetimeType { noRelease, immediateRelease, wantsRelease, serverControlled } |
![]() | |
typedef ParaEngine::weak_ptr< IObject > | WeakPtr_type |
![]() | |
static CParaEngineApp * | GetInstance () |
the singleton application. More... | |
static void | SetCurrentInstance (CParaEngineApp *pInstance) |
![]() | |
static bool | ConfirmDeviceHelper (D3DCAPS9 *pCaps, VertexProcessingType vertexProcessingType, D3DFORMAT adapterFormat, D3DFORMAT backBufferFormat) |
![]() | |
static CParaEngineApp * | g_pCurrentApp = NULL |
This class demonstrate how to initialize, destroy and drive the game loop of ParaEngine through the C++ programming interface.
Users can derive their main Windows application from this class. Note: paraengine is designed to be manipulated through the NPL scripting interface Currently,its C++ programming interface is not designed to be used from outside the core code. i.e. Users' ability to program through C++ API is restricted by the amount of source code unvailed to them.
this class can be regarded as sample code for writing your own ParaEngine games logics. This class is not engine specific, but it contains basic steps to establish a running environment of any paraEngine created games. For example: SceneObject, Environment and AI simulator are created here. Message handling, Timing and I/O are also processed partly here.
Users can derive their main Windows application from this class. Note: ParaEngine is designed to be manipulated through the NPL scripting interface Currently,its C++ programming interface is not designed to be used from outside the core code. i.e. Users' ability to program through C++ API is restricted by the amount of source code unvailed to them.
this class can be regarded as sample code for writing your own ParaEngine games logics. This class is not engine specific, but it contains basic steps to establish a running environment of any paraEngine created games. For example: SceneObject, Environment and AI simulator are created here. Message handling, Timing and I/O are also processed partly here.
ParaEngine::CParaEngineApp::CParaEngineApp | ( | const char * | lpCmdLine | ) |
start the application immediately, it calls StartApp with the given command line.
lpCmdLine | command line arguments. we support the following argument at the moment
|
ParaEngine::CParaEngineApp::CParaEngineApp | ( | const char * | lpCmdLine = NULL | ) |
lpCmdLine | command line arguments. we support the following argument at the moment
|
ParaEngine::CParaEngineApp::CParaEngineApp | ( | const char * | lpCmdLine = NULL | ) |
lpCmdLine | command line arguments. we support the following argument at the moment
|
|
virtual |
this function is called whenever the application is disabled or enabled.
usually called when receiving the WM_ACTIVATEAPP message. [main thread only]
Reimplemented from ParaEngine::CParaEngineAppBase.
bool CParaEngineApp::AppHasFocus | ( | ) |
return true if app has focus.
Usually we will lower render frame move when app has lost focus in web browser mode.
|
virtual |
The BringWindowToTop current window to the top of the Z order.
This function only works if IsFullScreenMode() is false.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
The BringWindowToTop current window to the top of the Z order.
This function only works if IsFullScreenMode() is false.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
The BringWindowToTop current window to the top of the Z order.
This function only works if IsFullScreenMode() is false.
Reimplemented from ParaEngine::CParaEngineAppBase.
int ParaEngine::CParaEngineApp::CalculateRenderTime | ( | double | fIdealInterval, |
double * | pNextInterval | ||
) |
return true if this is a render tick, otherwise false.
fIdealInterval | the ideal interval (FPS) when this function will return true at ideal FPS. |
pNextInterval | main_loop timer interval. |
tricky: run the main_loop as fast as possible at least 100FPS, so that FPS is more accurate.
define to output interval to log file to change timer implementation.
|
virtual |
translate a position from client window position to game coordination system.
inout_x | in and out |
inout_y | in and out |
bInBackbuffer | if true, it will scale the output according to the ratio of back buffer and current window size. |
Reimplemented from ParaEngine::CParaEngineAppBase.
HRESULT CParaEngineApp::ConfirmDevice | ( | LPDIRECT3D9 | pD3d, |
D3DCAPS9 * | pCaps, | ||
DWORD | dwBehavior, | ||
D3DFORMAT | adapterFormat, | ||
D3DFORMAT | backBufferFormat | ||
) |
Called during device initialization, this code checks the device for some minimum set of capabilities, and rejects those that don't pass by returning false.
Called during device initialization, this code checks the device for some minimum set of capabilities.
TODO: Just for mouse picking, however, I am going to turn this out because I have managed to sidestep using GetTransform() function. GetTransform() is needed for mouse ray picking
Need to support post-pixel processing (for alpha blending)
Billboard uses alpha textures and/or straight alpha. Make sure the device supports them
Debugging vertex shaders requires either REF or software vertex processing and debugging pixel shaders requires REF.
Need to support vs 1.1 or use software vertex processing
Need to support A8R8G8B8 textures
Need to support A8 textures, if not tell the engine to use A8R8G8B8 for A8.
|
inlinevirtual |
create d3d render device based on the current main window.
Use this function to create a new render device automatically.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
create d3d render device based on the current main window.
Use this function to create a new render device automatically.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
create from an existing d3d device.
This is an advanced function to replaced the default render device. and caller is responsible for managing device life time. The external caller must call InitDeviceObjects(), RestoreDeviceObjects(), InvalidateDeviceObjects(), DeleteDeviceObjects() at proper time
Reimplemented from CD3DApplication.
|
inlinevirtual |
create from an existing d3d device.
This is an advanced function to replaced the default render device. and caller is responsible for managing device life time. The external caller must call InitDeviceObjects(), RestoreDeviceObjects(), InvalidateDeviceObjects(), DeleteDeviceObjects() at proper time
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been destroyed, which generally happens as a result of application termination or windowed/full screen toggles.
Resources created in the OnCreateDevice callback should be released here, which generally includes all D3DPOOL_MANAGED resources.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been destroyed, which generally happens as a result of application termination or windowed/full screen toggles.
Resources created in the OnCreateDevice callback should be released here, which generally includes all D3DPOOL_MANAGED resources.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been destroyed, which generally happens as a result of application termination or windowed/full screen toggles.
Called when the app is exiting, or the device is being changed, this function deletes any device dependent objects.
Resources created in the OnCreateDevice callback should be released here, which generally includes all D3DPOOL_MANAGED resources.
ParaEngine fixed code: must call these functions as given below
Reimplemented from CD3DApplication.
|
virtual |
this function is called per frame, in most cases, it will render the 3d scene and frame move.
call this as often as one like internally it will use a timer to best fit the interval.
Reimplemented from CD3DApplication.
|
inlinevirtual |
this function is called per frame, in most cases, it will render the 3d scene and frame move.
call this as often as one like internally it will use a timer to best fit the interval.
Reimplemented from CD3DApplication.
|
inlinevirtual |
this function is called per frame, in most cases, it will render the 3d scene and frame move.
call this as often as one like internally it will use a timer to best fit the interval.
Reimplemented from CD3DApplication.
|
virtual |
disable 3D rendering, do not present the scene.
This is usually called before and after we show a standard win32 window during full screen mode, such as displaying a flash window
bEnable | true to enable. |
This is usually called before and after we show a standard win32 window during full screen mode, such as displaying a flash window
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
passive rendering, it will not render the scene, but simulation and time remains the same.
Default is false
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
passive rendering, it will not render the scene, but simulation and time remains the same.
Default is false
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
passive rendering, it will not render the scene, but simulation and time remains the same.
Default is false
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Send the exit message, so that the game engine will prepare to exit in the next frame.
this is the recommended way of exiting application. this is mainly used for writing test cases. Where a return value of 0 means success, any other value means failure.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Send the exit message, so that the game engine will prepare to exit in the next frame.
this is the recommended way of exiting application. this is mainly used for writing test cases. Where a return value of 0 means success, any other value means failure.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Send the exit message, so that the game engine will prepare to exit in the next frame.
this is the recommended way of exiting application. this is mainly used for writing test cases. Where a return value of 0 means success, any other value means failure.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This function should be called only once when the application end, one can destroy game objects here.
Called before the app exits, this function gives the app the chance to cleanup after itself.
ParaEngine fixed code: must call these functions as given below
Reimplemented from CD3DApplication.
|
virtual |
render the current frame and does not return until everything is presented to screen.
this function is usually used to draw the animated loading screen.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This callback function will be called once at the beginning of every frame.
This is the best location for your application to handle updates to the scene, but is not intended to contain actual rendering calls, which should instead be placed in the OnFrameRender callback.
fTime | Current time elapsed. |
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called once at the beginning of every frame.
This is the best location for your application to handle updates to the scene, but is not intended to contain actual rendering calls, which should instead be placed in the OnFrameRender callback.
fTime | Current time elapsed. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Called once per frame, the call is the entry point for animating the scene.
ParaEngine fixed code: must call these functions as given below TODO: I have no idea whether we should simulate before calling IO functions or vice versa. since, some IO actions will not be validated by the simulator before it is rendered. However, the camera IO need to get the biped position that is being rendered for the current frame. hence the current order is changed to SIM->SCRIPT->IO(camera and biped control)->RENDER the old order is IO(camera and biped control)->SIM->SCRIPT->RENDER
process all messages in the main game thread.
<<fElapsedEnvSimTime>> in worst case, it might be half of 60.f, that is only 1/30secs. Animate the environment, remote script and network module it must be called if IO is executed. Since IO may change the cognitive state of some characters The environment simulator will provide feedback (constraint) on those subjective state. e.g. An IO event might send a character to a moving state(mentally), however, if the character is blocked, this cognitive state must be prohibited, before rendering function is called. Such constraints are feedback by the physical environment
– Call AI script and remote scripts as well as some simulation in the form of triggering scripts. It is important for this script to come before m_pEnvironmentSim->Animate() because the latter may add objects which may be deleted to the visiting biped list. Hence, when m_pEnvironmentSim->Animate() is called, the scene can no longer drop objects.
– Animate the scene –: – Environment simulation is carried out by m_pEnvironmentSim always call Environment simulation before you frame move any other object in the scene since Environment simulation may change the object's cached actions.
<<fElapsedIOTime>> in worst case, it might be half of 60.f, that is only 1/30secs. handle mouse and key board I/O events Faster than the user input <= 1/30 sec
process all user key and mouse messages
Engine required: Camera control some object in the scene requires to update its parameters each frame currently only Camera control responses.
Render() will be called after this function with m_fElapsedTime as its time advances
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This callback function will be called once at the beginning of every frame.
This is the best location for your application to handle updates to the scene, but is not intended to contain actual rendering calls, which should instead be placed in the OnFrameRender callback.
fTime | Current time elapsed. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
translate a position from game coordination system to client window position.
inout_x | in and out |
inout_y | in and out |
bInBackbuffer | if true, it will scale the output according to the ratio of back buffer and current window size. |
Reimplemented from ParaEngine::CParaEngineAppBase.
void CParaEngineApp::GenerateD3DDebugString | ( | ) |
Output text information to console, for debugging only.
|
virtual |
Get the current ParaEngine app usage.
[main thread only]
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get the current mouse cursor position.
pX | out |
pY | out |
bInBackbuffer | if true, it will scale the output according to the ratio of back buffer and current window size. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
return true if it is currently under windowed mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
get a message from the application message queue and remove it from the queue.
This function is mostly used internally by the main thread.
pMsg | the receiving message |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get a message from the application message queue and remove it from the queue.
This function is mostly used internally by the main thread.
pMsg | the receiving message |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get a message from the application message queue and remove it from the queue.
This function is mostly used internally by the main thread.
pMsg | the receiving message |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
change the cursor to indicate a movie recording state
get the module handle, it may be exe or the dll handle, depending on how the main host app is built.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
anti-aliasing for both windowed and full screen mode.
it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
anti-aliasing for both windowed and full screen mode.
it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
anti-aliasing for both windowed and full screen mode.
it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
anti-aliasing for both windowed and full screen mode.
it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
anti-aliasing for both windowed and full screen mode.
it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
anti-aliasing for both windowed and full screen mode.
it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get the NPL runtime system associate with the application.
NPL provides communication framework across different language systems.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get the NPL runtime system associate with the application.
NPL provides communication framework across different language systems.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
|
virtual |
change the full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
|
virtual |
get the render engine stats to output.
output | the output buffer. |
dwFields | current it is 0, which just collect graphics card settings. 1 is os information. |
|
virtual |
get the window creation size in default application config.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get the window creation size in default application config.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get the window creation size in default application config.
Reimplemented from ParaEngine::CParaEngineAppBase.
void ParaEngine::CParaEngineApp::HandleUserInput | ( | ) |
process game input.
void ParaEngine::CParaEngineApp::HandleUserInput | ( | ) |
process game input.
void ParaEngine::CParaEngineApp::HandleUserInput | ( | ) |
process game input.
handle 2D GUI input: dispatch mouse and key event for gui objects.
handle the camera user input. One can also block camera input and handle everything from script.
handle 3D scene input
handle 2D GUI input: dispatch mouse and key event for gui objects.
handle the automatic camera user input.
3D scene handler
|
virtual |
this returns true if the main window or one of its child window has key focus.
hWnd | the current window handle from which we will compare. If 0, we will use GetFocus() to get it. |
|
virtual |
get whether ParaEngine is loaded from config/config.new.txt.
if this is true, we need to ask the user to save to config/config.txt. This is usually done at start up.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get whether ParaEngine is loaded from config/config.new.txt.
if this is true, we need to ask the user to save to config/config.txt. This is usually done at start up.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
get whether ParaEngine is loaded from config/config.new.txt.
if this is true, we need to ask the user to save to config/config.txt. This is usually done at start up.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
init application
fixing win vista or win 7 security filters.
set up dSound
Create a blank root scene with certain dimensions units is Meter.
create the default system font, the game should also use this sys font to save resources
set up terrain engine parameters
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This callback function will be called immediately after the Direct3D device has been created, which will happen during application initialization and windowed/full screen toggles.
This is the best location to create D3DPOOL_MANAGED resources since these resources need to be reloaded whenever the device is destroyed. Resources created here should be released in the OnDestroyDevice callback.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been created, which will happen during application initialization and windowed/full screen toggles.
This is the best location to create D3DPOOL_MANAGED resources since these resources need to be reloaded whenever the device is destroyed. Resources created here should be released in the OnDestroyDevice callback.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been created, which will happen during application initialization and windowed/full screen toggles.
Initialize scene objects.
This is the best location to create D3DPOOL_MANAGED resources since these resources need to be reloaded whenever the device is destroyed. Resources created here should be released in the OnDestroyDevice callback.
ParaEngine fixed code: must call these functions as given below
Asset must be the first to be initialized. Otherwise, the global device object will not be valid
Reimplemented from CD3DApplication.
void CParaEngineApp::InitWin3DSettings | ( | ) |
AppUsesDepthBuffer needed for Parallel world
AppUsesMixedVP needed for parallel world
enable stencil buffer
Just turn off Full screen cursor, we will use mine.
|
virtual |
This callback function will be called immediately after the Direct3D device has entered a lost state and before IDirect3DDevice9::Reset is called.
Resources created in the OnResetDevice callback should be released here, which generally includes all D3DPOOL_DEFAULT resources. See the "Lost Devices" section of the documentation for information about lost devices.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has entered a lost state and before IDirect3DDevice9::Reset is called.
Resources created in the OnResetDevice callback should be released here, which generally includes all D3DPOOL_DEFAULT resources. See the "Lost Devices" section of the documentation for information about lost devices.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has entered a lost state and before IDirect3DDevice9::Reset is called.
Called when the device-dependent objects are about to be lost.
Resources created in the OnResetDevice callback should be released here, which generally includes all D3DPOOL_DEFAULT resources. See the "Lost Devices" section of the documentation for information about lost devices.
ParaEngine fixed code: must call these functions as given below
Reimplemented from CD3DApplication.
|
virtual |
whether 3D rendering is enabled, do not present the scene.
This is usually called before and after we show a standard win32 window during full screen mode, such as displaying a flash window
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
whether the application is active or not.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
whether the application is active or not.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
whether the application is active or not.
Reimplemented from ParaEngine::CParaEngineAppBase.
bool ParaEngine::CParaEngineApp::IsDebugBuild | ( | ) |
whether it is debug build.
bool ParaEngine::CParaEngineApp::IsDebugBuild | ( | ) |
whether it is debug build.
bool ParaEngine::CParaEngineApp::IsKeyPressed | ( | DWORD | nKey | ) |
return true if the key is being pressed at the time of calling.
nKey | a direct input key, such as DIK_SPACE. |
|
virtual |
passive rendering, it will not render the scene, but simulation and time remains the same.
Default is false
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
passive rendering, it will not render the scene, but simulation and time remains the same.
Default is false
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
passive rendering, it will not render the scene, but simulation and time remains the same.
Default is false
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
whether the last mouse input is from touch or mouse.
by default it is mouse mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
return true if it is currently under windowed mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
return true if it is currently under windowed mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
return true if it is currently under windowed mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Before handling window messages, application should pass incoming windows messages to the application through this callback function.
menu command
application defined command
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
the window message processor.
One needs send all messages belonging to the main window to this function, after calling Create().
bCallDefProcedure | whether we will call the ::DefWindowProdure(). |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
the window message processor.
One needs send all messages belonging to the main window to this function, after calling Create().
bCallDefProcedure | whether we will call the ::DefWindowProdure(). |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
the window message processor.
One needs send all messages belonging to the main window to this function, after calling Create().
bCallDefProcedure | whether we will call the ::DefWindowProdure(). |
Reimplemented from ParaEngine::CParaEngineAppBase.
HRESULT CParaEngineApp::OnCreateWindow | ( | ) |
this function should be called when the application is created.
I.e. the windows HWND is valid.
|
virtual |
This function should be called only once when the application start, one can initialize game objects here.
Called during initial app startup, this function performs all the permanent initialization.
pHWND:a | pointer to the handle of the current application window. |
ParaEngine modules are setup here. ParaEngine fixed code: must call these functions as given below
Reimplemented from CD3DApplication.
HRESULT ParaEngine::CParaEngineApp::OneTimeSceneInit | ( | HWND * | pHWND | ) |
This function should be called only once when the application start, one can initialize game objects here.
pHWND:a | pointer to the handle of the current application window. |
load frame rate controller
HRESULT ParaEngine::CParaEngineApp::OneTimeSceneInit | ( | HWND * | pHWND | ) |
This function should be called only once when the application start, one can initialize game objects here.
pHWND:a | pointer to the handle of the current application window. |
|
inlinevirtual |
post a raw win32 message from any thread to the thread on which hWnd is created.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
post a raw win32 message from any thread to the thread on which hWnd is created.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
post a raw win32 message from any thread to the thread on which hWnd is created.
Reimplemented from ParaEngine::CParaEngineAppBase.
DWORD ParaEngine::CParaEngineApp::ReadRegDWORD | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name | ||
) |
Read DWORD from the registry.
Valid values for root_key are listed under WriteRegStr. NULL will be returned if the DWORD is not present or type is a string.
DWORD ParaEngine::CParaEngineApp::ReadRegDWORD | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name | ||
) |
Read DWORD from the registry.
Valid values for root_key are listed under WriteRegStr. NULL will be returned if the DWORD is not present or type is a string.
const char * ParaEngine::CParaEngineApp::ReadRegStr | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name | ||
) |
Read string from the registry.
Valid values for root_key are listed under WriteRegStr. NULL will be returned if the string is not present. If the value is present, but is of type REG_DWORD, it will be read and converted to a string.
const char* ParaEngine::CParaEngineApp::ReadRegStr | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name | ||
) |
Read string from the registry.
Valid values for root_key are listed under WriteRegStr. NULL will be returned if the string is not present. If the value is present, but is of type REG_DWORD, it will be read and converted to a string.
|
virtual |
This callback function will be called at the end of every frame to perform all the rendering calls for the scene, and it will also be called if the window needs to be repainted.
Called once per frame, the call is the entry point for 3d rendering.
After this function has returned, application should call IDirect3DDevice9::Present to display the contents of the next buffer in the swap chain
fTime | Current time elapsed. |
This function sets up render states, clears the viewport, and renders the scene. ParaEngine fixed code: must call these functions as given below
clear all render targets
force using less equal
Reimplemented from CD3DApplication.
|
virtual |
Frame move and render a frame during idle time (no messages are waiting).
Call this function during CPU idle time. internally it uses a timer to control frame rates, so it is safe to call this as often as one like.
bForceRender | if true, it will force frame move and render the scene. if not, it will internally use a frame rate controller that maintain the frame rate at 30 fps, no matter who often this function is called. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Frame move and render a frame during idle time (no messages are waiting).
Call this function during CPU idle time. internally it uses a timer to control frame rates, so it is safe to call this as often as one like.
bForceRender | if true, it will force frame move and render the scene. if not, it will internally use a frame rate controller that maintain the frame rate at 30 fps, no matter who often this function is called. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Frame move and render a frame during idle time (no messages are waiting).
Call this function during CPU idle time. internally it uses a timer to control frame rates, so it is safe to call this as often as one like.
bForceRender | if true, it will force frame move and render the scene. if not, it will internally use a frame rate controller that maintain the frame rate at 30 fps, no matter who often this function is called. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This callback function will be called immediately after the Direct3D device has been reset, which will happen after a lost device scenario.
This is the best location to create D3DPOOL_DEFAULT resources since these resources need to be reloaded whenever the device is lost. Resources created here should be released in the OnLostDevice callback.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been reset, which will happen after a lost device scenario.
This is the best location to create D3DPOOL_DEFAULT resources since these resources need to be reloaded whenever the device is lost. Resources created here should be released in the OnLostDevice callback.
Reimplemented from CD3DApplication.
|
virtual |
This callback function will be called immediately after the Direct3D device has been reset, which will happen after a lost device scenario.
Initialize scene objects.
This is the best location to create D3DPOOL_DEFAULT resources since these resources need to be reloaded whenever the device is lost. Resources created here should be released in the OnLostDevice callback.
ParaEngine fixed code: must call these functions as given below
Set up the camera's projection matrix
these render state is preferred.
these render state is just for point occlusion testing. See also CBaseObject::DrawOcclusionObject()
Reimplemented from CD3DApplication.
|
virtual |
only call this function if one does not want to manage game loop externally.
Reimplemented from CD3DApplication.
|
virtual |
only call this function if one does not want to manage game loop externally.
Reimplemented from CD3DApplication.
|
virtual |
only call this function if one does not want to manage game loop externally.
Reimplemented from CD3DApplication.
|
inlinevirtual |
Send a RAW win32 message the application to be processed in the next main thread update interval.
This function can be called from any thread. It is also used by the windows procedure thread to dispatch messages to the main processing thread.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Send a RAW win32 message the application to be processed in the next main thread update interval.
This function can be called from any thread. It is also used by the windows procedure thread to dispatch messages to the main processing thread.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Send a RAW win32 message the application to be processed in the next main thread update interval.
This function can be called from any thread. It is also used by the windows procedure thread to dispatch messages to the main processing thread.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
whether the user can close the window (sending WM_CLOSE message).
Default to true. When set to false, the scripting interface will receive WM_CLOSE message via system event. And can use ParaEngine.Exit() to quit the application after user confirmation, etc.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
whether the user can close the window (sending WM_CLOSE message).
Default to true. When set to false, the scripting interface will receive WM_CLOSE message via system event. And can use ParaEngine.Exit() to quit the application after user confirmation, etc.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
whether the user can close the window (sending WM_CLOSE message).
Default to true. When set to false, the scripting interface will receive WM_CLOSE message via system event. And can use ParaEngine.Exit() to quit the application after user confirmation, etc.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Set the current ParaEngine app usage.
[main thread only]
dwUsage | bitwise of PE_USAGE |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
whether to use full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
whether to use full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
whether to use full screen mode, it does not immediately change the device, call UpdateScreenMode() to update the device.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
set whether ParaEngine is loaded from config/config.new.txt.
if this is true, we need to ask the user to save to config/config.txt. This is usually done at start up.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
set whether ParaEngine is loaded from config/config.new.txt.
if this is true, we need to ask the user to save to config/config.txt. This is usually done at start up.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
set whether ParaEngine is loaded from config/config.new.txt.
if this is true, we need to ask the user to save to config/config.txt. This is usually done at start up.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
switch to ignore windows size change.
default to false. if false, the user is allowed to adjust window size in windowed mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
set the hWnd on to which we will render and process window messages.
this function should be called prior to Create().
hWnd | the Window on to which we will render. |
bIsExternalWindow | this is always true, unless for the default window used by ParaEngine when no window is created by the user. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
set the hWnd on to which we will render and process window messages.
this function should be called prior to Create().
hWnd | the Window on to which we will render. |
bIsExternalWindow | this is always true, unless for the default window used by ParaEngine when no window is created by the user. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
set the hWnd on to which we will render and process window messages.
this function should be called prior to Create().
hWnd | the Window on to which we will render. |
bIsExternalWindow | this is always true, unless for the default window used by ParaEngine when no window is created by the user. |
let us find the top-level window which should be the foreground window.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
set the minimum UI resolution size.
if the backbuffer is smaller than this, we will use automatically use UI scaling for example, if minimum width is 1024, and backbuffer it 800, then m_fUIScalingX will be automatically set to 1024/800. calling this function will cause OnSize() and UpdateBackbufferSize() to be called. Actually it calls SetUIScale() [main thread only]
nWidth | the new width. |
nHeight | the new height. |
bAutoUIScaling | default to true. whether we will automatically recalculate the UI scaling accordingly with regard to current backbuffer size. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
set the minimum UI resolution size.
if the backbuffer is smaller than this, we will use automatically use UI scaling for example, if minimum width is 1024, and backbuffer it 800, then m_fUIScalingX will be automatically set to 1024/800. calling this function will cause OnSize() and UpdateBackbufferSize() to be called. Actually it calls SetUIScale() [main thread only]
nWidth | the new width. |
nHeight | the new height. |
bAutoUIScaling | default to true. whether we will automatically recalculate the UI scaling accordingly with regard to current backbuffer size. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
set the minimum UI resolution size.
if the backbuffer is smaller than this, we will use automatically use UI scaling for example, if minimum width is 1024, and backbuffer it 800, then m_fUIScalingX will be automatically set to 1024/800. calling this function will cause OnSize() and UpdateBackbufferSize() to be called. Actually it calls SetUIScale() [main thread only]
nWidth | the new width. |
nHeight | the new height. |
bAutoUIScaling | default to true. whether we will automatically recalculate the UI scaling accordingly with regard to current backbuffer size. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Set the frame rate timer interval.
fTimeInterval | value in seconds. such as 0.033f or 0.01667f Passing a value <= 0 to render in idle time. |
nFrameRateControl | 0 for real time, 1 for ideal frame rate at 30 FPS no matter whatever time interval is set. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
Set the frame rate timer interval.
fTimeInterval | value in seconds. such as 0.033f or 0.01667f Passing a value <= 0 to render in idle time. |
nFrameRateControl | 0 for real time, 1 for ideal frame rate at 30 FPS no matter whatever time interval is set. |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
switch to either windowed mode or full screen mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
switch to either windowed mode or full screen mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
switch to either windowed mode or full screen mode.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This is the first function that should be called when acquiring the IParaEngineApp interface.
call this function to start the application. Rendering window and devices are not created, one need to call Create() instead.
sCommandLine | the command line parameter |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This is the first function that should be called when acquiring the IParaEngineApp interface.
call this function to start the application. Rendering window and devices are not created, one need to call Create() instead.
sCommandLine | the command line parameter |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
call this function to create the ParaEngine main rendering device based on the current window.
If no window is specified using SetMainWindow(), it will create a default window using the default config settings.
sCommandLine | the command line parameter |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This is the last function that should be called.
It is usually called just before process exit.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This is the last function that should be called.
It is usually called just before process exit.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
This is the last function that should be called.
It is usually called just before process exit.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
call this function to update changes of FullScreen Mode and Screen Resolution.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
call this function to update changes of FullScreen Mode and Screen Resolution.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
inlinevirtual |
call this function to update changes of FullScreen Mode and Screen Resolution.
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
write the current setting to config file.
Such as graphics mode and whether full screen, etc. config file at ./config.txt will be automatically loaded when the game engine starts.
sFileName | if this is "", it will be the default config file at ./config.txt |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
write the current setting to config file.
Such as graphics mode and whether full screen, etc. config file at ./config.txt will be automatically loaded when the game engine starts.
sFileName | if this is "", it will be the default config file at ./config.txt |
Reimplemented from ParaEngine::CParaEngineAppBase.
|
virtual |
write the current setting to config file.
Such as graphics mode and whether full screen, etc. config file at ./config.txt will be automatically loaded when the game engine starts.
sFileName | if this is "", it will be the default config file at ./config.txt |
Reimplemented from ParaEngine::CParaEngineAppBase.
bool ParaEngine::CParaEngineApp::WriteRegDWORD | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name, | ||
DWORD | value | ||
) |
Write a DWORD to the registry.
see WriteRegStr() for more info
bool ParaEngine::CParaEngineApp::WriteRegDWORD | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name, | ||
DWORD | value | ||
) |
Write a DWORD to the registry.
see WriteRegStr() for more info
bool ParaEngine::CParaEngineApp::WriteRegStr | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name, | ||
const string & | value | ||
) |
Write a string to the registry.
e.g. WriteRegStr("HKLM", "Software\My Company\My Software", "string Value", "string Name");
root_key | must be HKCR or HKEY_CLASSES_ROOT HKLM or HKEY_LOCAL_MACHINE HKCU or HKEY_CURRENT_USER HKU or HKEY_USERS |
bool ParaEngine::CParaEngineApp::WriteRegStr | ( | const string & | root_key, |
const string & | sSubKey, | ||
const string & | name, | ||
const string & | value | ||
) |
Write a string to the registry.
e.g. WriteRegStr("HKLM", "Software\My Company\My Software", "string Value", "string Name");
root_key | must be HKCR or HKEY_CLASSES_ROOT HKLM or HKEY_LOCAL_MACHINE HKCU or HKEY_CURRENT_USER HKU or HKEY_USERS |
|
protected |
whether app has focus.
|
protected |
the Core usage.
|
protected |
the thread id of the main window thread.
It is used when doing the PostWinThreadMessage().
|
protected |
initial game effect setting to be loaded from the config file.
default value it 0
|
protected |
1 window mode desired, 0 full screen mode desired, -1 if unknown.
|
protected |
The thread safe message queue target for receiving messages from window thread.
They are processed in the main game thread though.