Fixes potential integer overflow and invalid input issues:
- Add GRID_MAX constant (8192) to Common.h for global use
- Validate HeightMap dimensions against GRID_MAX to prevent
integer overflow in w*h calculations (65536*65536 = 0)
- Add min > max validation for clamp() and normalize()
- Add unit tests for all new validation cases
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
directories needed:
* build - for cmake output
* deps - stuff needed to compile McRogueface (headers)
libtcod -> ../modules/libtcod/src/libtcod
sfml -> ../modules/SFML/include/SFML
python -> ../modules/cpython/Include
* lib - stuff needed to link McRogueFace (shared objects); also required at runtime
libtcod -> `../modules/libtcod/buildsys/autotools/.libs/libtcod.so.1.0.24`
sfml -> `../modules/SFML/build/lib/*`
python -> `../modules/cpython/libpython3.12.so`; standard lib at ../modules/cpython/build/lib.linux-x86_64-3.12 & ../modules/cpython/Lib
You can get dependencies by:
- Build from source (i.e. all submodules)
- Go download them from each project's website
- install packages from your distro and symlink them to deps/lib directories