* Minor improvements to the handling of landing gear by the SetGear and HandlePOSI functions * sendPOSI command change (double for lat/lon/h) (#111) * Updated POSI to use doubles for lat/lon/alt, as step size for floats was unacceptably large at high longitudes. * Updated Java library for MATLAB, updated Java project, and updated Windows plugin binaries * Rolled back Java version to 1.7 for MATLAB compatibility * Update MessageHandlers.cpp * Update DataManager.cpp * Added pause functionality for individual a/c Adds new cases such that: 0: Unpauses all a/c 1: Pauses all a/c 2: Switches case for all a/c 100:119: Pauses a/c 0:19 200:219: Unpauses a/c 0:19 Updates log messages. Keeps the 0,1,2 arguments as they previously were. * Finished individual pause functionality * Update DataManager.cpp * Updated flags to allow for individual pause commands * Individual pause command documentation * Updated flags to allow for individual pause commands * Adding individual pause to documentation * Updated flags to allow for individual pause commands * Requested changes, cleaning * Update CMakeLists.txt Include "-fno-stack-protector" for linking and compiling for systems that do not have this have this flag as a default. * Enabling AI after setting position (#118) Previously, the code enabled the AI before setting the position of a/c, which negated its purpose. * Updated XPlane SDK to version 2.1.3 * Resolve function ambiguity for std::abs on mac Fixes #126 * Update copyright notice * Update Windows binaries * Update Linux binaries * Update version numbers * fix osx abs ambiguity (#142) * fix indexing error (#143) * Runway camera location control (#144) * update ignore * basics working * set cam pos remotely * log cam position * keep default behaviour, if short view message is received Compatibility with existing software * all to tabs * rename variable * option to use camera direction fields * Added UDP multicast for plugin discovery (#153) * Added Timer * Added UDPSocket::GetAddr * Added MessageHandlers::SendBeacon() * PoC of starting a timer on PluginEnable * C++11 * Added Timer to xcode project * C++11 in cmake * added Timer to cmake * use function pointer in Timer * moved Timer to namespace + wait for thread to join when stopping the timer * Windows: changed uint to unisgned short * Windows: Added Timer.h/cpp to project * GetAddr static * Send xplane and plugin version with BECN * SendBeacon with params * fixed file copyrights * Include functional to fix Linux compile error * review fixes * Send plugin receive port in BECN * review fixes * Fixed tabs vs spaces indentations (#157) * Java client BECN implementation (#155) * Added MS Azure Dev Ops CI integration (#162) * Do not build for i386 on macOS Use ARCHS_STANDARD to avoid the error “The i386 architecture is deprecated. You should update your ARCHS build setting to remove the i386 architecture.” * Fixed missing include The Visual Studio solution was not compiling * Fixed isnan ambigious refernce Ambigious reference when compiling on travis https://stackoverflow.com/questions/33770374/why-is-isnan-ambiguous-and-how-to-avoid-it * Set MSVC warning level to 3 Too many warnings were generated when building a Release build making Travis job to fail because of too much output * Use default toolset for Visual Studio AppVeyor recommends to set the default toolset * #include <cstdint> * Use MSVC ToolsVersion="14.0" # Conflicts: # xpcPlugin/xpcPlugin/xpcPlugin.vcxproj * Removed binaries from repository # Conflicts: # xpcPlugin/XPlaneConnect/64/win.xpl # xpcPlugin/XPlaneConnect/win.xpl * Added ms azure ci xcode linux linux + macos linux + macos removed branch filter win tests win tests Test all platfroms artifacts tests * output all binaries to ‘XPlaneConnect’ All platforms produce a binary in xpcPlugin/XPlaneConnect/ xpcPlugin/XPlaneConnect/64/ * Added ms azure GH deploy deploy stage GH release test trigger tags * Clean up yml file - Added variables - Added job decriptions * Ignore script to ignore .exp files + fixed output path * Renamed ms azure GH connection * Update service connection for azure pipeline * Added Python3 compatible xpc client. (#156) * Update Azure Pipelines service connection
198 lines
7.9 KiB
Plaintext
Executable File
198 lines
7.9 KiB
Plaintext
Executable File
-------------------------------------------------------------------------------
|
|
THE X-PLANE PLUGIN SDK
|
|
-------------------------------------------------------------------------------
|
|
|
|
This download contains the files necessary to build plugins for X-Plane. The
|
|
X-Plane plugin website is:
|
|
|
|
http://www.xsquawkbox.net/xpsdk/
|
|
|
|
The website contains full documentation on the SDK including tech notes, sample
|
|
plugins, sample code, contact information, and links to the latest versions of
|
|
this SDK.
|
|
|
|
The X-Plane SDK authors can be reached at:
|
|
|
|
xplanesdk@xsquawkbox.net
|
|
|
|
Please do not email Austin or Laminar Research for SDK questions or support;
|
|
the SDK is a third party effort.
|
|
|
|
the X-Plane developer mailing list is an unlisted yahoo group frequented by
|
|
many X-Plane developers.
|
|
|
|
x-plane-dev@yahoogroups.com
|
|
|
|
-------------------------------------------------------------------------------
|
|
SDK FILES
|
|
-------------------------------------------------------------------------------
|
|
|
|
license.txt Copyright information for this download.
|
|
README.txt This document
|
|
CHeaders Header files for compiling C/C++ plugins
|
|
Delphi Interfaces for compiling Pascal plugins
|
|
Libraries Import libraries for linking on Windows
|
|
and frameworks for linking on Mac.
|
|
|
|
Note: there are no import/link-time libraries for Linux; on Linux, plugins
|
|
simply leave SDK symbols undefined and they are discovered at runtime. The
|
|
SDK website explains this process in more detail.
|
|
|
|
Mac CFM plugins are not supported by the SDK versions 2.0 and higher; the
|
|
2.0 SDK requires X-Plane 9.0 or newer, and X-Plane 9 will not run on
|
|
Mac OS 9. Therefore CFM plugins are not useful (and are probably
|
|
counterproductive since they cannot support x86 code). If you have a CFM
|
|
plugin, continue to use the 1.0 SDK to build it. You will have to port to
|
|
Mach-O if you want to use 2.0 features.
|
|
|
|
-------------------------------------------------------------------------------
|
|
RELEASE NOTES
|
|
-------------------------------------------------------------------------------
|
|
|
|
This section contains per-release notes for the history of the X-Plane SDK.
|
|
|
|
X-Plane SDK Release 2.1.3 11/14/13
|
|
|
|
Fixed XPC Wrappers to use int and intptr_t instead of long. This fixes
|
|
crashes for plugins on 64-bit Windows.
|
|
|
|
X-Plane SDK Release 2.1.2 RC2 1/15/13
|
|
|
|
Removed headers from frameworks, as they don't work; updated README.
|
|
|
|
X-Plane SDK Release 2.1.2 RC1 1/12/13
|
|
|
|
The 2.1.2 SDK adds frameworks for the XPLM and XPWidgets; Mac developers
|
|
can link directly against these frameworks and avoid unresolved symbols
|
|
and flat namespace problems. The frameworks produce plugins that will
|
|
work on X-Plane 8, 9, and 10 depending on the plugin CPU architecture,
|
|
minimum system SDK, and XPLM API revision number.
|
|
|
|
X-Plane SDK Release 2.1.1 RC1 10/29/12
|
|
|
|
The 2.1.1 update to the SDK provides 64-bit build materials.
|
|
|
|
X-Plane SDK Release 2.1.0 RC1 3/31/12
|
|
|
|
This is the first release of the version 2.1 X-Plane SDK. This version of the
|
|
SDK exposes new APIs.
|
|
|
|
This API also replaces all references to "long" with int or intptr_t,
|
|
depending on whether the integer needs to be wide enough to hold coerced
|
|
pointers. Most of the time, int is used; the notable exception is the widgets
|
|
library where params and properties can contain pointers to user data.
|
|
|
|
This change is not an ABI change - compiled plugins will work unmodified.
|
|
However for some compilers, you may need to replace long with int or intptr_t
|
|
in your code.
|
|
|
|
X-Plane SDK Release 2.0.1 RC1 7/21/10
|
|
|
|
This release adds symbol visibility macros for GCC 4 on Linux and corrects a few
|
|
function documentation comments.
|
|
|
|
X-Plane SDK Release 2.0 RC1 7/11/08
|
|
|
|
This release includes a corrected XPLM.lib for windows with exports for some of
|
|
the new 2.0 APIs.
|
|
|
|
X-Plane SDK Release 2.0 Beta 2 4/23/08
|
|
|
|
This release includes new APIs for reading and writing data files and drawing
|
|
hooks for the local map screen, as well as some minor tweaks:
|
|
|
|
- Sim version is 2.0 in the headers.
|
|
- unload plane msg marked as 2.0 only.
|
|
- New enumerations for additional languages.
|
|
- Function level docs improved.
|
|
|
|
X-Plane SDK Release 2.0 Beta 1 1/19/08
|
|
|
|
This is the first release of the version 2.0 X-Plane SDK. CFM support has
|
|
been removed, and the license has been simplified, reflecting that it only has
|
|
to cover the SDK include/import lib files and not the sample code or examples.
|
|
|
|
X-Plane SDK Release 1.0.2 1/5/05
|
|
|
|
The headers of the SDK are modified to support Kylix. No changes for Mac,
|
|
Windows, or C users. Headers now have SDK version numbers.
|
|
|
|
X-Plane SDK Release 1.0.1 12/29/04
|
|
|
|
The headers of this SDK are modified to support Linux complication. No changes
|
|
for Mac and Windows users.
|
|
|
|
X-Plane SDK Release Candidate 1
|
|
|
|
Only one slight change in the enums: the enum xpProperty_SubWindowHasCloseBoxes
|
|
in XPStandardWidgets.h has been changed to xpProperty_MainWindowHasCloseBoxes.
|
|
Its value has not been changed, so you will need to search-and-replace your code
|
|
when using this version of the SDK, but already-compiled plugins will experience
|
|
no different operation.
|
|
|
|
The documentation has been revised for all headers to revise changes made to the
|
|
SDK over the course of beta.
|
|
|
|
X-Plane SDK Beta 5
|
|
|
|
This version of the SDK features a number of enumeration changes to reflect the
|
|
X-Plane interface more correctly. This became crucial when X-Plane 7's new user
|
|
interface was released. With X-Plane in release candidates hopefully beta 5 of
|
|
the SDK could be the last one. Please see:
|
|
|
|
www.xsquawkbox.net/xpsdk/newui.html
|
|
|
|
For a comprehensive description of all the enumeration changes. For most
|
|
plugins (no developers reported using the deprecated enumerations), a simple
|
|
search and replace should suffice. Plugins compiled against the beta 4 SDK that
|
|
do not use now-unsupported graphics will continue to work correctly.
|
|
|
|
X-Plane SDK Beta 4
|
|
|
|
This release corrects two problems with the Pascal headers: function pointer
|
|
types are now declared cdecl (since this is how the SDK calls them), and the
|
|
import library for the widget callbacks is now XPWIDGETS.DLL as it should be.
|
|
|
|
X-Plane SDK Beta 3
|
|
|
|
This release finally features full documentation and a stable widgets API, as
|
|
well as a few other minor bug fixes.
|
|
|
|
Starting with beta 3, the DLLs necessary to run plugins ship with X-Plane 660.
|
|
The SDK will work with X-Plane 660 RC3 and later. The XPWidgets DLL now lives
|
|
in the Resources/plugins folder.
|
|
|
|
Starting with beta 3, extra plugins, documentation, sample code, and sample
|
|
projects are now featured directly on the web in the new X-Plane SDK library.
|
|
They are not included in the SDK zip file; the zip file only contains headers
|
|
and lib files for the SDK.
|
|
|
|
X-Plane SDK Beta 2
|
|
|
|
You must recompile your plugin for the beta 2 plugin SDK! Plugins compiled
|
|
against the beta 1 SDK will not work with X-Plane 660 or the new XPLM.DLL.
|
|
|
|
A huge number of data refs have been added. Unfortunately the documentation
|
|
is thin. Use the data ref tester plugin to view the data refs in real time
|
|
and find what you need.
|
|
|
|
The data ref APIs have also changed to allow for arrays of integers as well
|
|
as floats. Some sim variables are now arrays that were previously many
|
|
individual items.
|
|
|
|
A new drawing phase is available for replacing aircraft graphics. The
|
|
texturing APIs in XPLMGraphics have been revised. The most notable change is
|
|
that you cannot use the SDK to load your textures. (This functionality was
|
|
broken and never worked in beta 1.) See the x-plane-dev list for sample code
|
|
on how to load your own bitmaps.
|
|
|
|
X-Plane can reload plugins on the fly. Use the Plugin Enabler plugin to reload
|
|
your plugin. On the Mac you can throw the old DLL in the trash and put a new
|
|
one in its place to reload a new version of the plugin. On the PC, an alert
|
|
comes up; while this alert is up you can swap your plugins' DLL. This allows
|
|
you to recompile your plugin without rebooting the sim.
|
|
|
|
Delphi Pascal interfaces and sample code are in the SDK. Thanks to Billy
|
|
Verreynne for his hard work on this.
|
|
|