This adds the filesystem.hpp from https://github.com/gulrak/filesystem the the src/openrct2/thirdparty directory. The header is going to be used in build configurations where std::filesystem is not available.
This adds parentheses around macro arguments that are either negative or used for calculations inside the macro itself. Doing this avoids getting errors in code that may look right.