GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Tags · libtcod/python-tcod

Tags

21.2.3

Toggle 21.2.3's commit message
21.2.3

- Updated libtcod to 2.3.0
- Updated bundled SDL to 3.4.20
  • Nov 9, 2026
  • 7179d5f
  • zip
  • tar.gz
  • Notes

21.2.2

Toggle 21.2.2's commit message
21.2.2

- Updated bundled SDL to 3.4.18

- `tcod.path.SimpleGraph` caps its automatic diagonal heuristic at two cardinal steps when those are cheaper. #198
- Many-to-many `tcod.path.path2d` queries retain weighted predecessors when reconstructing their route. #197
- Copying or pickling Perlin and Simplex noise no longer advances a shared random generator while preparing an unused wavelet tile. #195
- `tcod.image.Image.rotate90` updates the width and height of rectangular images, keeping NumPy array conversions consistent with the rotated pixels. #194
- Adding a root to an already resolved `tcod.path.Pathfinder` resets its predecessor only when its value improves the current distance. This prevents cyclic paths while preserving routes to cheaper roots. #191
- Lazy pathfinder queries reconsider previously visited goals after adding a root or lowering a root's distance. #192
  • Oct 22, 2026
  • 95f85f7
  • zip
  • tar.gz
  • Notes

21.2.1

Toggle 21.2.1's commit message
21.2.1

- PyPy wheels switched from PyPy 3.10 to PyPy 3.11.
- Experimental Pyodide wheels are now uploaded to PyPI.

- `tcod.sdl.joystick.get_joysticks`, `get_controllers`, and related enumeration passed device indices to SDL3 functions expecting instance IDs, so enumeration could fail or open the wrong device after a joystick was reconnected.
  • Jun 4, 2026
  • f180ef4
  • zip
  • tar.gz
  • Notes

21.2.0

Toggle 21.2.0's commit message
21.2.0

- `tcod.event.MouseWheel` now has `which`, `window_id`, `position` and `integer_position` attributes.

- `tcod.event.convert_coordinates_from_window` was not converting all types of mouse events.
  • Apr 4, 2026
  • c3fde24
  • zip
  • tar.gz
  • Notes

21.1.0

Toggle 21.1.0's commit message
21.1.0

- `MouseButtonEvent.integer_position` property.

- `integer_position` was missing from mouse button events.
  • Apr 4, 2026
  • 34e7c3a
  • zip
  • tar.gz
  • Notes

21.0.0

Toggle 21.0.0's commit message
21.0.0

- `tcod.sdl.video.Window` now accepts an SDL WindowID.
- `tcod.event`:
  - `MouseState.integer_position` and `MouseMotion.integer_motion` to handle cases where integer values are preferred.
  - `ClipboardUpdate` event.
  - `Drop` event.
  - `KeyboardEvent.pressed`, `KeyboardEvent.which`, `KeyboardEvent.window_id` attributes.
  - `WindowEvent.data` and `WindowEvent.window_id` attributes and added missing SDL3 window events.
  - `which` and `window_id` attributes for mouse events.
  - Events now have `Event.timestamp` and `Event.timestamp_ns` which use SDL's timer at `tcod.event.time` and `tcod.event.time_ns`.

- Event classes are now more strict with attribute types
- Event class initializers are keyword-only and no longer take a type parameter, with exceptions.
  Generally event class initialization is an internal process.
- `MouseButtonEvent` no longer a subclass of `MouseState`.
- `tcod.event.Point` is now a generic type containing `int` or `float` values depending on the context.
- When converting mouse events to tiles:
  `MouseState.position` and `MouseMotion.motion` refers to sub-tile coordinates.
  `MouseState.integer_position` and `MouseMotion.integer_motion` refers to integer tile coordinates.

- `Event.type` is deprecated except for special cases such as `ControllerDevice`, `WindowEvent`, etc.
- `MouseButtonEvent.state` is deprecated, replaced by the existing `.button` attribute.

- Fixed incorrect C FFI types inside `tcod.event.get_mouse_state`.
- Fixed regression in mouse event tile coordinates being `float` instead of `int`.
  `convert_coordinates_from_window` can be used if sub-tile coordinates were desired.
- Fixed regression in `libtcodpy.bsp_split_recursive` not accepting `0`.
  • Mar 13, 2026
  • a954fa3
  • zip
  • tar.gz
  • Notes

20.1.0

Toggle 20.1.0's commit message
20.1.0

- `Tileset` now supports `MutableMapping` semantics.
  Can get, set, or iterate over tiles as if it were a dictionary containing tile glyph arrays.
  Also supports `+`, `|`, `+=`, and `|=` with other tilesets or mappings to merge them into a single Tileset.
- `tcod.tileset.procedural_block_elements` can take a tile shape and return a tileset.

- `Tileset.set_tile(codepoint, tile)` was replaced with `tileset[codepoint] = tile` syntax.
- `Tileset.get_tile(codepoint)` was soft replaced with `tileset[codepoint]` syntax.
- `tcod.tileset.procedural_block_elements` should be used with dictionary semantics instead of passing in a tileset.
  • Feb 25, 2026
  • 22d8055
  • zip
  • tar.gz
  • Notes

20.0.0

Toggle 20.0.0's commit message
20.0.0

- Now supports free-threaded Python, deploys with `cp314t` wheels.
- Added methods: `Renderer.coordinates_from_window` and `Renderer.coordinates_to_window`
- Added `tcod.event.convert_coordinates_from_window`.

- `Renderer.logical_size` now returns `None` instead of `(0, 0)` when logical size is unset.
  • Feb 6, 2026
  • bca7e5f
  • zip
  • tar.gz
  • Notes

19.6.3

Toggle 19.6.3's commit message
19.6.3

Fix missing deployment
  • Jan 12, 2026
  • cfefe20
  • zip
  • tar.gz
  • Notes

19.6.2

Toggle 19.6.2's commit message
19.6.2

- Update to libtcod 2.2.2

- Mouse coordinate to tile conversions now support SDL renderer logical size and scaling.
  • Jan 12, 2026
  • 440b7b5
  • zip
  • tar.gz
  • Notes
PreviousNext
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.