mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
Lots of stuff
This commit is contained in:
48
GpD3D/GpMain.cpp
Normal file
48
GpD3D/GpMain.cpp
Normal file
@@ -0,0 +1,48 @@
|
||||
#include "GpMain.h"
|
||||
#include "GpDisplayDriverFactory.h"
|
||||
#include "GpDisplayDriverProperties.h"
|
||||
#include "GpGlobalConfig.h"
|
||||
#include "GpAppEnvironment.h"
|
||||
#include "IGpDisplayDriver.h"
|
||||
|
||||
#include <string.h>
|
||||
|
||||
namespace
|
||||
{
|
||||
void TickAppEnvironment(void *context, GpFiber *vosFiber)
|
||||
{
|
||||
static_cast<GpAppEnvironment*>(context)->Tick(vosFiber);
|
||||
}
|
||||
}
|
||||
|
||||
int GpMain::Run()
|
||||
{
|
||||
GpAppEnvironment *appEnvironment = new GpAppEnvironment();
|
||||
|
||||
GpDisplayDriverProperties ddProps;
|
||||
memset(&ddProps, 0, sizeof(ddProps));
|
||||
|
||||
ddProps.m_FrameTimeLockNumerator = 1;
|
||||
ddProps.m_FrameTimeLockDenominator = 60;
|
||||
|
||||
// +/- 1% tolerance for frame time variance
|
||||
ddProps.m_FrameTimeLockMinNumerator = 99;
|
||||
ddProps.m_FrameTimeLockMinDenominator = 6000;
|
||||
ddProps.m_FrameTimeLockMaxNumerator = 101;
|
||||
ddProps.m_FrameTimeLockMaxDenominator = 6000;
|
||||
|
||||
ddProps.m_TickFunc = TickAppEnvironment;
|
||||
ddProps.m_TickFuncContext = appEnvironment;
|
||||
ddProps.m_Type = g_gpGlobalConfig.m_displayDriverType;
|
||||
|
||||
IGpDisplayDriver *displayDriver = GpDisplayDriverFactory::CreateDisplayDriver(ddProps);
|
||||
|
||||
appEnvironment->Init();
|
||||
|
||||
appEnvironment->SetDisplayDriver(displayDriver);
|
||||
|
||||
// Start the display loop
|
||||
displayDriver->Run();
|
||||
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user