This update mainly introduces some utility classes for easier handling of Latitudes/Longitudes and AI Traffic Information.
- Object-Oriented class interface better suited to .NET than the other procedural .NET SDKs.
- Data from FSUIPC is returned directly to your .NET variables. Supported types are:
- Byte, Int16, Int32, Int64, UInt16, UInt32, UInt64, Double, Single
- String (Unicode/ASCII conversion and termination handled for you)
- BitArray (Allows you to easily manage the bit field type offsets)
- Array of Bytes (Allows you to read and write raw blocks of data if you need that level of control.)
- Writes are handled just by assigning a new value to the local .NET data variable. The write to FSUIPC will be handled automatically during the next Process().
- Errors are handled by .NET exceptions, not by checking return values.
- The DLL can be use with any .NET language. Documentation and example projects for C# and Visual Basic.NET.
- The library has full internal documentation that will appear on the IntelliSense popup menus in Visual Studio.
- Just as fast as the procedural-style .NET SDKs.
- Thread safe. Can be used in multi-threaded applications, with each thread communicating with FSUIPC, without corrupting the data. (Only one thread can talk to FSUIPC at a time – other threads will block until the connection is free).
New for version 2.0:
- Slight change of Licence terms. If you want to use this DLL in a Freeware, Shareware or Commercial application, it is now required that you credit the use of this DLL and its author. See the new user guide for details.
- You can now create more than one Offset with the same address.
- Added the ability to process multiple offset groups in a single process() call.
- Added a property to get the current version of flight sim you are connected to.
- Added a feature to read AI Traffic Information from FSUIPC. AI Planes are returned to you as a strongly-typed List<> of AIPlaneInfo instances. AIPlaneInfo provides all information available from FSUIPC plus lots of extra info (e.g. Distance and Bearing from the player) in a ready-to-use .NET class.
- Added a feature to write into the internal FSUIPC AI Traffic Tables. (This does not add AI planes into flight sim.)
- Added classes for dealing with Longitudes and Latitudes. These understand the raw FS Units provided by FSUIPC (both the 8-Byte and 4-Byte types) so conversion to and from degrees is easy. Also has a very flexible ToString() method to enable output in a number of human-readable formats.
- Added classes for dealing with Longitude and Latitude Spans (distances). These classes can be used to convert Lon/Lat spans to and from metres or feet. Lon/Lat spans can be calculated between two Lon/Lats.
- Added a class to deal with a Lon/Lat point. This represents a point on the Earth but can also be used to calculate the distance and/or bearing to another point.
- Added a class representing a Quadrilateral area on the Earth. Its primary function is to test if a lon/lat point is contained within the Quadrilateral. This is useful for testing if you are on a runway. The Quadrilateral can be generated from a set of four Lat/Lon points, or from basic runway information such as that found in the output of MakeRunways.exe by Pete Dowson.
- It is now possible to connect to multiple instances of WideFS on the same machine using this DLL.
- Re-formatted and extended the User Guide.
- Completely new reference documentation produced using DoxyGen for a much-improved HTML reference manual.
- Updated the example application in C# and VB.NET. Now contains demonstrations of the new features including an AI Traffic Radar display.
The zip file contains the DLL, documentation and an example project in C# and Visual Basic.NET (Visual Studio 2008 format).
NOTE: This DLL will not work with Visual Studio 2003 or earlier as it uses 'generics' which were not invented until Visual Studio 2005.
Microsoft have free versions of Visual Studio 2010 compilers for VB, C#, C++ and J# here: