G
YouTube TikTok Games
Skip to content

Releases

21.2.4

Choose a tag to compare

@github-actions github-actions released this 14 Nov 00:00
21.2.4
3aa9dfe

Changed

  • Updated libtcod to 2.3.2

Security

  • Safer handling of untrusted REXPaint files.

21.2.3

Choose a tag to compare

@github-actions github-actions released this 09 Nov 20:19
21.2.3
7179d5f

Changed

  • Updated libtcod to 2.3.0
  • Updated bundled SDL to 3.4.20

21.2.2

Choose a tag to compare

@github-actions github-actions released this 22 Oct 19:47
21.2.2
95f85f7

Changed

  • Updated bundled SDL to 3.4.18

Fixed

  • 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

21.2.1

Choose a tag to compare

@HexDecimal HexDecimal released this 04 Jun 02:51
21.2.1
f180ef4

Deployment

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

Fixed

  • 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.

21.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Apr 20:12
21.2.0
c3fde24

Added

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

Fixed

  • tcod.event.convert_coordinates_from_window was not converting all types of mouse events.

21.1.0

Choose a tag to compare

@github-actions github-actions released this 04 Apr 18:17
21.1.0
34e7c3a

Added

  • MouseButtonEvent.integer_position property.

Fixed

  • integer_position was missing from mouse button events.

21.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Mar 22:57
21.0.0
a954fa3

Added

  • 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.

Changed

  • 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.

Deprecated

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

Fixed

  • 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.

20.1.0

Choose a tag to compare

@github-actions github-actions released this 25 Feb 01:32
20.1.0
22d8055

Added

  • 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.

Deprecated

  • 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.

20.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Feb 02:51
20.0.0
bca7e5f

Added

  • 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.

Changed

  • Renderer.logical_size now returns None instead of (0, 0) when logical size is unset.

19.6.3

Choose a tag to compare

@github-actions github-actions released this 12 Jan 01:27
19.6.3
cfefe20

Fix missing deployment