Likely with the change to SDL's 'captured mouse' mode, mouse movements
during fullscreen became deltas *from the last movement*, not from
the last sampled position or frame. In order to correctly measure the
mouse movement, the deltas must be summed up and then reset when 'read'
at input-processing time.
Moving to summing the deltas threw many other mouse-related calibration
factors out of whack, so these factors are re-determined empirically
across a range of mice, from 400dpi 125hz to 30,000dpi 8khz. Reasonable
defaults are chosen targeting an 'average' mouse of 1000dpi, and the
mouse sensitivity precision is increased to allow finer user tuning.
Join the license header with historical comments using a separator so IDEs can correctly parse the initial header.
Also use .gitattributes to ensure all files are LF.
The vast majority of this is fixing up `char *` that should be `const char *`
but a handful of other fixes, like potential buffer overflows that GCC
noticed, etc, were applied as well.
This removes `-Wno-write-strings` from CMakeLists.txt, as it is no longer
necessary, as there is no longer a flood of compiler warning spam when
building.
This does not fix all compiler warnings; there are still a handful, and they
are legitimate, but they can be dealt with in a future commit.
The MACINTOSH define refers to MacOS Classic (not OS X) which we do not
plan to support. Rather than carry the cruft forever, let's delete it.
NOTE: legacy/ is unused but we're keeping it around, so MACINTOSH uses
there are left alone.
Process used for this commit:
```
git rm -r mac
find . \( -iname "*.c" -or -iname "*.cpp" -or -iname "*.h" \) \
-exec unifdef -UMACINTOSH -o {} {} \;
git restore legacy
git add .
```
Test Plan:
On Mac, build both Debug and Release
```
cmake --build --preset mac --config Debug
cmake --build --preset mac --config Release
```