Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
MainEntryPointHelper.h
Go to the documentation of this file.
1 
2 #include "OGRE/OgrePrerequisites.h"
3 #include <iostream>
4 
5 #if OGRE_PLATFORM != OGRE_PLATFORM_APPLE_IOS && OGRE_PLATFORM != OGRE_PLATFORM_ANDROID
6 
7 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT
8  #define WIN32_LEAN_AND_MEAN
9  #define VC_EXTRALEAN
10  #define NOMINMAX
11  #include <windows.h>
12 #endif
13 #if OGRE_PLATFORM == OGRE_PLATFORM_WINRT
14 #include <wrl.h>
15 #endif
16 
17 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
18  #define DEMO_MAIN_ENTRY_PARAMS hInst, hPrevInstance, strCmdLine, nCmdShow
19  INT WINAPI WinMainApp( HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR strCmdLine, INT nCmdShow );
20 #else
21  #define DEMO_MAIN_ENTRY_PARAMS argc, argv
22  int mainApp( int argc, const char *argv[] );
23 #endif
24 
25 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 || OGRE_PLATFORM == OGRE_PLATFORM_WINRT
26 INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE hInst2, LPSTR strCmdLine, INT intParam )
27 #else
28 int main( int argc, const char *argv[] )
29 #endif
30 {
31  int retVal = -1;
32  try
33  {
34  #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
35  retVal = WinMainApp( hInst, hInst2, strCmdLine, intParam );
36  #elif OGRE_PLATFORM == OGRE_PLATFORM_WINRT
37  if (SUCCEEDED(Windows::Foundation::Initialize(RO_INIT_MULTITHREADED)))
38  retVal = SDL_WinRTRunApp((int(*)(int,char**))mainApp, NULL);
39  #else
40  retVal = mainApp( argc, argv );
41  #endif
42  }
43  catch( Ogre::Exception& e )
44  {
45  #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
46  MessageBoxA( NULL, e.getFullDescription().c_str(), "An exception has occured!",
47  MB_OK | MB_ICONERROR | MB_TASKMODAL );
48  #else
49  std::cerr << "An exception has occured: " <<
50  e.getFullDescription().c_str() << std::endl;
51  #endif
52  }
53 
54  return retVal;
55 }
56 
57 #else
58 
59 #define DEMO_MAIN_ENTRY_PARAMS argc, argv
60 
61 #endif
hInst
HINSTANCE hInst
Application instance handle.
Definition: main.cpp:69
NULL
Add a fourth parameter to bake specific font ranges NULL
Definition: README.txt:57
ImGui::Initialize
IMGUI_API void Initialize(ImGuiContext *context)
Definition: imgui.cpp:3926
main
int main(int argc, char **argv)
Definition: binary_to_compressed_c.cpp:23