/// WindowsWrapper Initiate /// Asks user to select windowed or none windowed mode. Creates the window. /// Initiates basic engine objects (ex. Renderer, Input ...) /// \param shaderDebugging Specifies whether or not shader debugging is /// required. /// \param loadingTexture Name of an image file to be displayed on the screen /// during loading. This image should be located in the default image /// directory. void WindowsWrapper::Initiate(bool shaderDebugging, const char* loadingTexture) { char directory[2048]; GetCurrentDirectory(2048, directory); gDirectoryManager.initiate(directory,"directories.xml"); createAppWindow("Ned 3D"); // Create the main application window VideoMode mode; mode.xRes = 1024; mode.yRes = 768; mode.bitsPerPixel = 24; mode.refreshHz = kRefreshRateDefault; // Set the mode bool bWindowed = true; //set true for windowed, false for full screen bWindowed = MessageBox(NULL,"Do you want to run full screen?", "Full screen or windowed",MB_ICONQUESTION|MB_YESNO)==IDNO; //set last param to true for windowed mode gRenderer.init(mode, shaderDebugging, bWindowed); // load loading texture if one is specified // then display it // then deallocate it because it is only needed once if (loadingTexture != NULL) { gDirectoryManager.setDirectory(eDirectoryTextures); gRenderer.setARGB(0XFFFFFFFF); gRenderer.beginScene(); gRenderer.clear(kClearFrameBuffer | kClearDepthBuffer); int textureID = gRenderer.cacheTextureDX(loadingTexture); gRenderer.selectTexture(textureID); gRenderer.renderTextureOverScreen(); gRenderer.endScene(); gRenderer.flipPages(); gRenderer.selectTexture(-1); gRenderer.freeTexture(textureID); } gConsole.initiate(); gInput.initiate(hInstApp, hWndApp); gDirectoryManager.setDirectory(eDirectoryXML); return; }
int WINAPI WinMain(HINSTANCE currInst, HINSTANCE prevInst, LPSTR cmdLine, int cmdShow) { MSG msg; /* * According to MSDN 0 should always be returned if the message loop hasn't * been entered yet. */ if (createAppWindow(currInst, cmdShow)) return 0; while (GetMessage(&msg, NULL, 0, 0) > 0) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; }