Example #1
0
File: main.cpp Project: EQ4/neonv2
//---------------------------------------------------------------------------//
// WinMain
//
//---------------------------------------------------------------------------//
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
  CoInitialize(NULL);
  InitFloatToStr();
  srand ((unsigned)time(NULL));

  // Load launcher
  CLauncher Launcher;
  if (Launcher.Show((unsigned)hInstance))
  {
      string lLogFile = "neonv2.log";
      GESTION_MEMORIA_INIT();
      GLOGSTART(LOGLISTBOX, (long)lLogFile.c_str());

      CLuaPlayer *pLuaPlayer = NEW CLuaPlayer();
      pLuaPlayer->Init(hInstance);

      while (pLuaPlayer->Update() && !s_End)
      {
        pLuaPlayer->Draw();
      }
      DISPOSE(pLuaPlayer);


      GLOGEND();
      GESTION_MEMORIA_END();
  }

  IAppOptions::EndInstance();

  return 0;
}
Example #2
0
int __stdcall wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd )
{
    g_hInstance = hInstance;

    CLauncher la;
    bool runUpdate = false;
    
    // parse command line args
    for ( int i=0; i<__argc; i++ ) {
        if ( 0 == wcscmp(__wargv[i], LAUNCHER_UPDATE_KEY) ) {
            logger.emit() << L"cmd key " LAUNCHER_UPDATE_KEY << std::endl;
            runUpdate = true;
        }
        else if ( 0 == wcscmp(__wargv[i], LAUNCHER_APPDIR_KEY) && (i+1)<__argc ) {
            logger.emit() << L"cmd key appdir: " << __wargv[i+1] << std::endl;
            la.setAppDir(__wargv[i+1]);
        }
    }

    // run update
    if ( runUpdate && !la.appDir().empty() ) {
        logger.emit() << L"Running update" << std::endl;
        la.update();
    }
    
    // try to update
    else if ( !runUpdate && la.tryUpdate() ) {
        logger.emit() << L"Try to run update" << std::endl;
        return 0;
    }
    
    // run application
    logger.emit() << L"Running application" << std::endl;
    int ret = la.run();

    return ret;
}
int main()
{
    //MEMORY::MemoryManager.setLogMode(MEMORY::MMLM_EXTD);

    CLauncher launcher;
    if(!launcher.run())
        return 0;

    SEngineParams params;

    params.Renderer = ERT_OPENGL;
    params.Bits = 16;
    params.WindowSize = dimension2du(640,480);
    params.FullScreen = 0;


    INovaEngine* Engine = createEngineEx(params);

    scene::ISceneCamera* cam   = Engine->getSceneManager()->createSceneCamera();
    cam->RegisterNode();
    cam->setActive();
    cam->setPosition(core::vector3df(0,0,3));
    cam->setTarget(core::vector3df(0,0,-1));
    cam->release();

    gui::IFont* font = Engine->getResourceManager()->loadFont("myfont.fnt");
    Engine->getGUIManager()->setActiveFont(font);
    //--------------------------------------------------------------------------
    u32 FPS = 60;
    std::vector<u32> FpsList;

    while(Engine->update())
    {
        if(FPS != Engine->getRenderer()->getFPS())
        {
            char buf1[256];
            sprintf(buf1,"fps:%f mpf:%f ppd:%d vpd:%d",Engine->getRenderer()->getFPS(),Engine->getRenderer()->getMPF(),Engine->getRenderer()->getPPD(),Engine->getRenderer()->getVPD());
            Engine->getWindow()->setWindowCaption(buf1);
            FPS = Engine->getRenderer()->getFPS();
            FpsList.push_back(FPS);
        }

        Engine->getRenderer()->begin_frame();
        Engine->getGUIManager()->renderGUI();
//        Engine->getGUIManager()->drawText(core::vector2ds(20,400),NULL,"Simple test (external font)  46 symbols ^_^ [@] !!");
        //Engine->getGUIManager()->drawText(core::vector2ds(20,200),NULL,"Simple multiline\ntest message\nnananananana\r\nlalalalala");
        Engine->getRenderer()->end_frame();
    }
    //r + 1d + 46 = 0.2173  ms = 4608fps (0.2170ms)

    //r + 1d * 49 = 4.381 fps (0.2282 ms) pers 0.001838 ms
    //r + 7d * 7  = 1.995 fps (0.5012 ms) pers 0.007410 ms

    //r = 0.1380  ms = 7241fps (0.1381ms)

    //46     = 0.0793  ms
    //1      = 0.00172 ms
    u32 FpsM=0;
    for(int i = 0; i < FpsList.size(); i++)
    {
        FpsM += FpsList[i];
    }
    FpsM/=FpsList.size()+1;
    printf("MFPS = %d  tested:%d seconds\n",FpsM,FpsList.size());

    font->release();
    Engine->release();


    return 0;
}