Use version 20 which is the current latest.
Fix bug clang-tidy found if reading the save file fails.
Format code per clang-format-20
I surpressed all new warnings in clang-tidy but we will probably want to
enable and fix some of them.
run-clang-tidy is used instead of calling clang-tidy directly in order
to automatically pull all source files.
Applied IWYU recommendations (mostly).
I deviated on libraries, it always wanted me to include the inner headers
for SDL, ffmpeg, etc. but the definitions were normally expected to be
exported by a top level header. wxWidgets was particularly problematic
since it wanted me to use the gtk specific includes instead of the
generic ones.
I do not intend to add include-what-you-use to the CI/CD pipelines at
this time but some pragmas were added to the code to make it report
somewhat cleaner.
Minor convenience for Visual Studio users.
If CorsixTH is built, set it as the startup project for the top level
sln
Set CorsixTH as the startup project for the CorsixTH.sln
Set AnimView as the startup project for the AnimView.sln
Use wxSizerFlags to layout wxWidgets
Clearer to read and doesn't violate warnings about oring mismatched
enum types.
Additionally some type conversion fixes for frmMain
* Enables bugprone- checks.
* Enables a couple more modernize checks.
Most of the changes are avoiding implicit narrowing conversions.
There was a bug caught and fixed fixed with the string comparison in iso_fs.
bugprone-suspicious-enum-usage was disabled due to a large number of
false positives with wxWidgets.
* Hand formatted changes before automatic formatting
* Break up / shorten some long lines
* Add some missing braces for clarity
* Multiline strings are merged to let clang-format split them
appropriately.
* sdl_core's frame_count changed from a C style array to std::array
which made the length checks simpler.
* Add includes and forward declairs to avoid transitive dependencies
* Remove th_gfx_font.h include from th_gfx.h - circular dependencies
* using to shorten lines in th_map.cpp
* Avoid non-portable reinterpret_cast for parcels in th_map.
* Use more constants in th_map.
* Use class initializer for th_map classes
* Add clang files to ignore list
* Add clang-format file
* Reformat all files with clang-format
Also includes some manual braces.
* Disable clang-format for backdrop.h
* Clang-format AnimView src files
* clang-format common code
* Fix anonymous struct in union warning
Anonymous structs in anonymous unions are not supported by the standard.
* Check clang-format in travis
* Bin pack parameters
* Bin pack arguments too
* Full Google style
2 space indent, no forced break on braces.
* A couple format overrides
Order of usings in config.h.in since 8 is smaller than 16.
Table layout, since 0x80 nicely fits in 8 columns.
CorsixTH/Lua specific code and AnimView specific code was extracted
into the relevant projects. rnc.h was modified into a public contract
for using rnc as a C++ library. Helper functions were added.
New common rnc code is in new $/common directory.