Files
XPlaneConnectCSP/xpcPlugin/SDK
Jason Watkins a3be4cb1b6 Version 1.3-rc.1 (#138)
* 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
2019-07-20 08:43:51 -07:00
..
2019-07-20 08:43:51 -07:00
2014-10-22 15:52:38 -07:00
2014-10-22 15:52:38 -07:00
2014-10-22 15:52:38 -07:00
2019-07-20 08:43:51 -07:00

-------------------------------------------------------------------------------
                              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.