Fixed:
- Removed trailing whitespace.
- Removed out of date TODO's.
- Added #include<algorithm> to DataManager.cpp
- Reordered includes to include C system headers before C++ system headers.
- Added username to TODO's
- Renamed include guards to use full project name as prefix.
- Made methods and parameters const where possible.
- Made UDPSocket constructor explicit.
Won't Fix:
- snprintf is introduced in C++11.
- Trailing comments at the end of namespace & header guards
- Did not re-inlude headers already included by the matching XPC header.
- localtime is fine since X-Plane is not multithreaded at all on the plugin side.
- Linter confuses #elif with parens as a function call.
- namespace indentation
- The plugin now keeps the log file open for the duration of its lifetime.
- This greatly improves the performace of the logging component, which was previously a significant bottleneck even at low logging verbosity.
- The log now prints timestamps to the millisecond.
- Removed dependency on C client.
- The plugin now responds to client requests on the same port used to establish the connection.
Removed C client dependency from plugin.
- Improved formatting in XPCPlugin.cpp to be consistent throughout the file.
- Formatted copyright and license notices to be consistent with the rest of the codebase.
- Replaced out of date documentation with a link to the GitHub wiki
- Moved the writing of the log header to the Log class and expanded it to include useful information.
- Updated Windows binaries
- Re-enabled CONF messages sent in response to CONN commands.
- There was a bug in the construction of the CONF message.
- Resolvesnasa/XPlaneConnect#31
- Replaces the XPCMessage struct.
- Messages are now read from a UDPSocket by the Message class.
- Printing messages to the log is now handled by the Message class.
- In the future, may extend this class with command-specific subclasses that encapsulate additional message parsing functionality.
- The plugin now supports drawing a series of waypoints in the world.
- The plugin supports add, remove, and clear operations
- Add and remove take a list of waypoints
- Clear removes all waypoints
- Either a single string will be drawn to screen, or nothing will be drawn.
- Intelligently registers and unregisters drawing callback to minimize overhead when no message is being displayed.
- Currently does not support newline characters (\r or \n). Newlines will cause text to be drawn overlapped.
- Defined a new struct that contains the information sent by the CTRL command
- Added some additional validation to parseCTRL.
- Changed the return type of parseCTRL and removed now redundant pointer parameters.
- Propagated return type change throughout the plugin code base.
- Temporarily disabled the sending of a CONF message from the plugin in response to setCONN. The CONF message causes crashes on Windows 8 when setCONN is called multiple times.
- Removed code that attempted to free result slots in parseRequest before overwritting them with new allocations. The CTests suite currently calls parseRequest with a multidimensional array allocated on the stack, resulting in an attempt to free stack memory. A better solution may be to simply check whether the existing result slots are long enough.
- As of this commit, all tests in the CTests suite are passing on Windows 8 for X-Plane 9, X-Plane 10 23bit and X-Plane 10 64bit.