Add new config option to allow any address to be advertised. This then
doesn't rely on the master server retrieving the server IP address via
the HTTP request which can often be IPv6 by default.
* Add initial interface.
* Implement move operator in MemoryStream
* Add pod array serialisation traits.
* Add push_back with move semantics to CircularBuffer
* Initial implementation of GameStateSnapshots
* Add GameStateSnapshots to Context.
* Add mp_desync console command.
* Compare sprite data and fill change list.
* Minor changes.
* Proof of concept.
* Calculate offset instead of using offsetof
* Implement game state difference detection
* Update mp_desync console command.
* Fix identification of sprite remove/add.
* Fix crash when only one peep in park when using mp_desync
* Output state differences into user directory desync folder.
* Add desync debugging as an option.
* Add information to network status when a desync report was created.
* Cast to proper type for %llu.
* Update xcode project
* Add more information to the diffed data.
* Remove client-only relevant fields.
* Cleanup.
* Add better name output for misc sprites
* Add srand0 and tick information to the output
* Bump up network version
* Cleanup
* Set desync_debugging to false as default
* Apply suggestions
Some people apparently have both a disc version and a Steam version of RCT2 installed. The problem is that the former does not always include the expansions, while the latter does. The same applies to RCT1.
By checking for Steam/GOG versions first, these problems can be avoided.
Also includes some rewriting of rct_scroll code that I did while
debugging the issue with more than two rct_scrolls in one window. I
decided to leave it in.
I went over the commits ab7f22f..8726712 (bulk format commits for game actions to management inclusive) and corrected all mistakes I found. Most of them have to do with arrays missing trailing commas, making clang-format indent the entire array or not add breaks between the values.
While OpenRCT2 already had code to look up the Steam path on macOS and Linux, it didn't look in the correct directory. This meant that it wouldn't detect the presence of RCT2, even if the user had downloaded it via the Steam Console.
Clang-format sees the text behind `#pragma region` as code and formats it. Instead of stating the copyright and date there, it's now in the comment block right below it. The text "Copyright" is left in the `#pragma region` line, as clang-format sees it as a single identifier.
I took the opportunity to normalize the dates, and add the copyright notice to the source files where it was missing them (except for third-party and the generated resources.h file).
* Update includes in PlatformEnvironment.cpp
* Update includes in ParkImporter.h
* Update includes of OpenRCT2.h
* Update includes in Intro.h
* Remove unused include from Input.cpp
* Update includes of Imaging.h
* Update includes in Game.h
* Update includes in Editor.h
* Update includes of Context.cpp
* Update includes in Cheats.cpp, CmdlineSprite.cpp
* Update includes of some source files
* Update includes in some cpp files
* Update includes in some cpp files
* Update includes in TextureCache.h
* Fix tests
* Update includes in Font.cpp
* Update includes in LightFX files
* Update some includes
* Fix GCC builds
* Update some includes
* Update some includes
* Update includes in FontsFamilies.*
* Update includes of Console.h
* Improve includes in Window.h
* Improve headers in Viewport.h/Window.h
* Fix MSVC build
* Fix network-less builds
* Reduce inclusion of Map.h