Tags: libtcod/python-tcod
Tags
19.0.0 Finished port to SDL3, this has caused several breaking changes from SDL such as lowercase key constants now being uppercase and mouse events returning `float` instead of `int`. Be sure to run [Mypy](https://mypy.readthedocs.io/en/stable/getting_started.html) on your projects to catch any issues from this update. - Updated libtcod to 2.1.1 - Updated SDL to 3.2.16 This will cause several breaking changes such as the names of keyboard constants and other SDL enums. - `tcod.sdl.video.Window.grab` has been split into `.mouse_grab` and `.keyboard_grab` attributes. - `tcod.event.KeySym` single letter symbols are now all uppercase. - Relative mouse mode is set via `tcod.sdl.video.Window.relative_mouse_mode` instead of `tcod.sdl.mouse.set_relative_mode`. - `tcod.sdl.render.new_renderer`: Removed `software` and `target_textures` parameters, `vsync` takes `int`, `driver` takes `str` instead of `int`. - SDL renderer logical - `tcod.sdl.render.Renderer`: `integer_scaling` and `logical_size` are now set with `set_logical_presentation` method. - `tcod.sdl.render.Renderer.geometry` now takes float values for `color` instead of 8-bit integers. - `tcod.event.Point` and other mouse/tile coordinate types now use `float` instead of `int`. SDL3 has decided that mouse events have subpixel precision. If you see any usual `float` types in your code then this is why. - `tcod.sdl.audio` has been affected by major changes to SDL3. - `tcod.sdl.audio.open` has new behavior due to SDL3 and should be avoided. - Callbacks which were assigned to `AudioDevice`'s must now be applied to `AudioStream`'s instead. - `AudioDevice`'s are now opened using references to existing devices. - Sound queueing methods were moved from `AudioDevice` to a new `AudioStream` class. - `BasicMixer` may require manually specifying `frequency` and `channels` to replicate old behavior. - `get_devices` and `get_capture_devices` now return `dict[str, AudioDevice]`. - `tcod.sdl.audio.open` was replaced with a newer API, get a default device with `tcod.sdl.audio.get_default_playback().open()`. - `tcod.sdl.audio.BasicMixer` should be replaced with `AudioStream`'s. - Should no longer use `tcod.sdl.audio.AudioDevice` in a context, use `contextlib.closing` for the old behavior. - Support dropped for Python 3.8 and 3.9. - Removed `Joystick.get_current_power` due to SDL3 changes. - `WindowFlags.FULLSCREEN_DESKTOP` is now just `WindowFlags.FULLSCREEN` - `tcod.sdl.render.Renderer.integer_scaling` removed. - Removed `callback`, `spec`, `queued_samples`, `queue_audio`, and `dequeue_audio` attributes from `tcod.sdl.audio.AudioDevice`. - `Joystick.get_ball` was broken.
18.0.0 - `Console.print` now accepts `height` and `width` keywords and has renamed `string` to `text`. - Text printed with `Console.print` using right-alignment has been shifted to the left by 1-tile. - In general the `fg`, `bg`, and `bg_blend` keywords are too hard to keep track of as positional arguments so they must be replaced with keyword arguments instead. - `Console.print`: deprecated `string`, `fg`, `bg`, and `bg_blend` being given as positional arguments. The `string` parameter has been renamed to `text`. - `Console.print_box` has been replaced by `Console.print`. - `Console.draw_frame`: deprecated `clear`, `fg`, `bg`, and `bg_blend` being given as positional arguments. - `Console.draw_rect`: deprecated `fg`, `bg`, and `bg_blend` being given as positional arguments. - The `EventDispatch` class is now deprecated. This class was made before Python supported protocols and structural pattern matching, now the class serves little purpose and its usage can create a minor technical burden.
17.0.0 - `EventDispatch`'s on event methods are now defined as positional parameters, so renaming the `event` parameter is now valid in subclasses. - Keyboard bitmask modifiers `tcod.event.KMOD_*` have been replaced by `tcod.event.Modifier`. - Suppressed internal `mouse.tile_motion` deprecation warning. - Fixed SDL renderer primitive drawing methods. #159
PreviousNext