37 lines
1.4 KiB
C
37 lines
1.4 KiB
C
#pragma once
|
|
|
|
#ifndef __INTELLISENSE__
|
|
# define MODULE_EXPORT __attribute__( ( visibility( "default" ) ) )
|
|
# define MODULE_WASM_MODNAME(mod) __attribute__((import_module(mod)))
|
|
#else
|
|
# define MODULE_EXPORT
|
|
# define MODULE_WASM_MODNAME(mod)
|
|
# define __attribute__(x)
|
|
# define __restrict__
|
|
#endif
|
|
|
|
#include <MSFS/MSFS_WindowsTypes.h>
|
|
|
|
#include <math.h>
|
|
|
|
#include <algorithm>
|
|
|
|
#include <SimConnect.h>
|
|
|
|
#include "types.h"
|
|
|
|
// ZFW Entry
|
|
void distribute(fPayloadData_t* const targetPayload, const FuelData_t* const fuel, const double ZFWTarget, const bool isImperial, const bool isER);
|
|
// SimBrief Entry
|
|
void distribute(fPayloadData_t* const targetPayload, const FuelData_t* const fuel, unsigned int cargo, const bool isImperial, const bool isER);
|
|
// Updates pax stations with their respective weights
|
|
// Used internally and used for Station Entry (pax only, cargo is ste directly)
|
|
// STATION WEIGHTS ARE NOT NORMALISED TO POUNDS
|
|
void generatePayload(fPayloadData_t* const targetPayload, const bool isImperial);
|
|
// Normalise to Pounds
|
|
// For Station Entry: CALL AFTER `generatePayload`
|
|
void normalisePayload(fPayloadData_t* const targetPayload, const bool isImperial);
|
|
void calculateCGs(const fPayloadData_t* const targetPayload, const FuelData_t* const fuel, double* const ZFWCG, double* const TOCG, const bool isImperial);
|
|
void load(const fPayloadData_t* const targetPayload, const HANDLE simConnect, const bool isImperial);
|
|
void unloadF(const HANDLE simConnect, const bool isER);
|