Update XPLM for ARM64
This commit is contained in:
1 parent
40067a606d
commit
174c20bd8f
59 files changed
+12475
-9196
No files matched your search
@@ -1,60 +1,52 @@
|
||||
#include "XPCProcessing.h"
|
||||
#include "XPLMUtilities.h"
|
||||
|
||||
XPCProcess::XPCProcess() : mInCallback(false), mCallbackTime(0)
|
||||
XPCProcess::XPCProcess() :
|
||||
mInCallback(false),
|
||||
mCallbackTime(0)
|
||||
{
|
||||
XPLMRegisterFlightLoopCallback(FlightLoopCB,
|
||||
0,
|
||||
reinterpret_cast<void *>(this));
|
||||
XPLMRegisterFlightLoopCallback(FlightLoopCB, 0, reinterpret_cast<void *>(this));
|
||||
}
|
||||
|
||||
XPCProcess::~XPCProcess()
|
||||
{
|
||||
XPLMUnregisterFlightLoopCallback(FlightLoopCB,
|
||||
reinterpret_cast<void *>(this));
|
||||
XPLMUnregisterFlightLoopCallback(FlightLoopCB, reinterpret_cast<void *>(this));
|
||||
}
|
||||
|
||||
void XPCProcess::StartProcessTime(float inSeconds)
|
||||
{
|
||||
mCallbackTime = inSeconds;
|
||||
if (!mInCallback)
|
||||
XPLMSetFlightLoopCallbackInterval(
|
||||
FlightLoopCB, mCallbackTime, 1/*relative to now*/, reinterpret_cast<void *>(this));
|
||||
}
|
||||
|
||||
void XPCProcess::StartProcessTime(float inSeconds)
|
||||
void XPCProcess::StartProcessCycles(int inCycles)
|
||||
{
|
||||
mCallbackTime = inSeconds;
|
||||
if (!mInCallback)
|
||||
XPLMSetFlightLoopCallbackInterval(FlightLoopCB,
|
||||
mCallbackTime,
|
||||
1 /*relative to now*/,
|
||||
reinterpret_cast<void *>(this));
|
||||
mCallbackTime = -inCycles;
|
||||
if (!mInCallback)
|
||||
XPLMSetFlightLoopCallbackInterval(
|
||||
FlightLoopCB, mCallbackTime, 1/*relative to now*/, reinterpret_cast<void *>(this));
|
||||
}
|
||||
|
||||
void XPCProcess::StartProcessCycles(int inCycles)
|
||||
void XPCProcess::StopProcess(void)
|
||||
{
|
||||
mCallbackTime = -inCycles;
|
||||
if (!mInCallback)
|
||||
XPLMSetFlightLoopCallbackInterval(FlightLoopCB,
|
||||
mCallbackTime,
|
||||
1 /*relative to now*/,
|
||||
reinterpret_cast<void *>(this));
|
||||
}
|
||||
|
||||
void XPCProcess::StopProcess(void)
|
||||
{
|
||||
mCallbackTime = 0;
|
||||
if (!mInCallback)
|
||||
XPLMSetFlightLoopCallbackInterval(FlightLoopCB,
|
||||
mCallbackTime,
|
||||
1 /*relative to now*/,
|
||||
reinterpret_cast<void *>(this));
|
||||
mCallbackTime = 0;
|
||||
if (!mInCallback)
|
||||
XPLMSetFlightLoopCallbackInterval(
|
||||
FlightLoopCB, mCallbackTime, 1/*relative to now*/, reinterpret_cast<void *>(this));
|
||||
}
|
||||
|
||||
|
||||
float XPCProcess::FlightLoopCB(float inElapsedSinceLastCall,
|
||||
float inElapsedTimeSinceLastFlightLoop,
|
||||
int inCounter,
|
||||
void *inRefcon)
|
||||
float XPCProcess::FlightLoopCB(
|
||||
float inElapsedSinceLastCall,
|
||||
float inElapsedTimeSinceLastFlightLoop,
|
||||
int inCounter,
|
||||
void * inRefcon)
|
||||
{
|
||||
XPCProcess *me = reinterpret_cast<XPCProcess *>(inRefcon);
|
||||
me->mInCallback = true;
|
||||
me->DoProcessing(inElapsedSinceLastCall,
|
||||
inElapsedTimeSinceLastFlightLoop,
|
||||
inCounter);
|
||||
me->mInCallback = false;
|
||||
return me->mCallbackTime;
|
||||
XPCProcess * me = reinterpret_cast<XPCProcess *>(inRefcon);
|
||||
me->mInCallback = true;
|
||||
me->DoProcessing(inElapsedSinceLastCall, inElapsedTimeSinceLastFlightLoop, inCounter);
|
||||
me->mInCallback = false;
|
||||
return me->mCallbackTime;
|
||||
}
|
||||
Reference in new issue
Block a user