- added version check for Windows 8. I also would have liked to add 8.1 but due to some incredibly stupid changes in the version API it's no longer possible to reliably retrieve the correct Windows version for later builds.
Use POSIX-compliant opendir() / readdir() functions instead fts_open() / fts_read()
Unlike Linux version, on OS X fts_read() inserts extra slash character between source directory and traversed entry paths
- This warning is about using zero-sized arrays in structs (aka flexible
member arrays). It's standard-enough for our purposes, so don't warn
about it, since neither GCC nor Clang do.
- Since Clang++, G++, and VC++ all support this extension (even though it's
technically officially only part of C99), use it. It lets Clang's array-
bounds checker know that these are meant to be accessed out of their so-called
"bounds".
- 'notranslate != NULL' is completely useless, because 'notranslate' is an array, hence removed.
- I interpreted 'SbarInfoScript != NULL' as a typo, since 1)in the next expression inside the condition there's a dereference to 'SBarInfoScript[SCRIPT_CUSTOM]' and 2)'SBarInfoScript[SCRIPT_CUSTOM]' is checked against 'NULL', in line 352, and then dereferenced when introducing 'cstype'.
- Fixed: If a part of a multipatch texture is replaced by a HIRESTEX
version, the original patch must not be deleted, since the multipatch
texture still needs it for compositing.
- This function just assumed that every xy angle passed to it was within
the range [0,360). This is obviously bad, since anything outside that
range can result in accessing data outside the range of the finecosine
and finesine tables.
- For maps like xtheateriii that expect non-blocking push lines to
activate when you are standing on them and run into a completely different
line, there is now this compatiblity.txt-only flag.
- Fixed: Loading players from savegames set the skin before their current
class was retrieved, so they could not validate their skins with the
correct class.
- There exist files where the first word of the version number for DRO v1
files is not 0 but something else completely. (Maybe it's not actually a
version number?) Assume they are valid v1 files as long as the second
word is a 1.