/* SDL_ngage_main.c, originally for SDL 1.2 by Hannu Viitala */ #include "../../SDL_internal.h" /* Include the SDL main definition header */ #include "SDL_main.h" #include #include #include #include #include #include #include #include #include #include "SDL_error.h" extern "C" int main(int argc, char *argv[]); TInt E32Main() { /* Get the clean-up stack */ CTrapCleanup* cleanup = CTrapCleanup::New(); /* Arrange for multi-threaded operation */ SpawnPosixServerThread(); /* Get args and environment */ int argc = 0; char** argv = 0; char** envp = 0; __crt0(argc,argv,envp); /* Start the application! */ /* Create stdlib */ _REENT; /* Set process and thread priority and name */ RThread currentThread; RProcess thisProcess; TParse exeName; exeName.Set(thisProcess.FileName(), NULL, NULL); currentThread.Rename(exeName.Name()); currentThread.SetProcessPriority(EPriorityLow); currentThread.SetPriority(EPriorityMuchLess); /* Increase heap size */ RHeap* newHeap = NULL; RHeap* oldHeap = NULL; TInt heapSize = 7500000; int ret; newHeap = User::ChunkHeap(NULL, heapSize, heapSize, KMinHeapGrowBy); if (NULL == newHeap) { ret = 3; goto cleanup; } else { oldHeap = User::SwitchHeap(newHeap); /* Call stdlib main */ SDL_SetMainReady(); ret = SDL_main(argc, argv); } cleanup: _cleanup(); CloseSTDLIB(); delete cleanup; return ret; } /* vi: set ts=4 sw=4 expandtab: */