Fix #215: Replace mcrfpy.libtcod with mcrfpy.bresenham()

- Remove mcrfpy.libtcod submodule entirely
- Add mcrfpy.bresenham(start, end, include_start=True, include_end=True)
  - Accepts tuples or Vector objects for positions
  - Returns list of (x, y) tuples along the line
- compute_fov() was redundant with Grid.compute_fov()
- line() functionality now available as top-level bresenham()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John McCardle 2026-01-20 00:10:13 -05:00
commit 4ead2f25fe
4 changed files with 125 additions and 198 deletions

View file

@ -76,6 +76,9 @@ public:
// Developer console
static PyObject* _setDevConsole(PyObject*, PyObject*);
// #215: Bresenham line algorithm (replaces mcrfpy.libtcod.line)
static PyObject* _bresenham(PyObject*, PyObject*, PyObject*);
// Scene lifecycle management for Python Scene objects
static void triggerSceneChange(const std::string& from_scene, const std::string& to_scene);
static void updatePythonScenes(float dt);