X-Plane SDK

PLUGIN_API int XPluginStart(char *outName, char *outSig, char *outDesc) {
 
	strcpy(outName, "LCDxpl");
	strcpy(outSig, "bari2.eu");
	strcpy(outDesc, "A plugin for X-Plane LCD.");
 
	return 1;  
}
 
PLUGIN_API void	XPluginStop(void) {
}
 
PLUGIN_API void XPluginDisable(void) {
}
 
PLUGIN_API int XPluginEnable(void) 
	return 1;
}
 
PLUGIN_API void XPluginReceiveMessage(XPLMPluginID inFromWho, int inMessage, void *inParam) {
}
static float callback_rate = -1.0; // -X.0 call every 1 frame
 
float FlightLoopCallback(float inElapsedSinceLastCall, float inElapsedTimeSinceLastFlightLoop, int inCounter, void* inRefcon);
 
PLUGIN_API int XPluginStart(char *outName, char *outSig, char *outDesc) {
	..
	XPLMRegisterFlightLoopCallback(FlightLoopCallback,callback_rate,NULL);
	..
}
 
PLUGIN_API void	XPluginStop(void) {
	..
	XPLMUnregisterFlightLoopCallback(FlightLoopCallback, NULL);
	..
}
 
float FlightLoopCallback(float inElapsedSinceLastCall, float inElapsedTimeSinceLastFlightLoop, int inCounter, void* inRefcon) {
	..
	return callback_rate;
}