Beispiel #1
0
/// 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;
}
Beispiel #2
0
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;
}