Tcod

Latest version: v17.1.0

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 29 of 45

1.22.0

Added
- Libtcod can now be built without zlib by passing the `-DLIBTCOD_ZLIB=disable` flag to CMake or by setting `CMAKE_DISABLE_FIND_PACKAGE_ZLIB=1`.
- Libtcod can now be built without PNG support by passing the `-DLIBTCOD_LODEPNG=disable` flag to CMake.
- Added context screen capture functions to take screenshots into memory instead of a file.

Changed
- The OpenGL2 renderer now defaults to the nearest filter unless `SDL_HINT_RENDER_SCALE_QUALITY` is set otherwise.
This makes the renderer consistent with the SDL2 renderer.
- Parser function parameters are more const correct.

Fixed
- SDL2 console rendering is no longer likely to stack overflow.
- Fixed regression where new keywords would prevent older config files from loading.
- Exceptions were not correctly thrown on errors when reading colors from streams.

1.21.0

Added
- Added the `tcod::Context` class to better handle contexts in C++.
- Added a CMake toggle `LIBTCOD_THREADS` to remove deprecated threading functions.
`CMAKE_DISABLE_FIND_PACKAGE_Threads=1` can also be used.
- Libtcod can now be built without SDL by passing the `-DLIBTCOD_SDL2=disable` flag in CMake or by setting
`CMAKE_DISABLE_FIND_PACKAGE_SDL2=1`.

Changed
- SDL-based accumulate functions can now handle a non-window render target.
- The SDL2 renderer has been rewritten to use `SDL_RenderGeometry` when compiled with SDL 2.0.18.
[104](https://github.com/libtcod/libtcod/issues/104)
- C++ inline functions switched to use C++17 filesystem types.
- Error messages are no longer thread-local.
- C++ objects have been moved to their `.hpp` headers:
`tcod::ColorRGB`, `tcod::ColorRGBA`, `tcod::BresenhamLine`, REXPaint functions.

Deprecated
- Older REXPaint functions using `TCOD_list_t` have been deprecated.
- C++ methods gotten through TCOD_Context have been moved to a specialized class.
Replace ``tcod.new_context(params)`` with ``tcod::Console(params)``.

Fixed
- Fixed poor attribute handing causing compile errors in GCC 12.
[116](https://github.com/libtcod/libtcod/issues/116)
- Context screenshots no longer crash when given NULL which the API implied was possible.

1.20.1

Fixed
- BDF files with blank lines no longer fail to load with an "Unknown keyword" error.

1.20.0

Added
- `TCOD_RENDERER_XTERM` was added.
[100](https://github.com/libtcod/libtcod/pull/100)

Fixed
- `const` was missing from `tcod::Tileset`'s `get_X` methods.
- Fixed segfault during cleanup when an OpenGL2 context fails to load.

Removed
- Removed deprecated overrides that existed to help transition obsolete code.
This affects `Console::clear` and the C++ printing methods which take pointers to colors such as `tcod::print`.

1.19.0

Added
- Added `TCOD_context_convert_event_coordinates` and `TCOD_Context::convert_event_coordinates` as an easier way to convert mouse pixel coordinates to tile coordinates.
- Added `tcod::print`, `tcod::print_rect`, and `tcod::get_height_rect` to replace the older C++ functions.
- Added `tcod::Tileset`, `tcod::load_tilesheet`, and `tcod::load_bdf` for working with tilesets in C++ along with the character maps `tcod::CHARMAP_CP437` and `tcod::CHARMAP_TCOD`.
- `TCOD_Context`, `TCOD_ContextParams`, `TCOD_ViewportOptions`, and `tcod::new_context` are now public.
- Added vprintf-like console printing functions: `TCOD_console_vprintf` and `TCOD_console_vprintf_rect`.
- Added the `tcod::Timer` class. A way of handing frame limiting and delta time without depending on libtcod's internals.
- Added `TCOD_sys_get_internal_context`. An easy way to get a `TCOD_Context` from the old API.
- Added `TCOD_sys_get_internal_console`. This returns a pointer to the root console used by the old API.
- Added `tcod::ColorRGB` and `tcod::ColorRGBA` to help with color type conversions.
- Added libtcod logging functions, for debugging and internal use.
- Added `tcod::draw_quartergraphics` to replace older C++ blit2x functions.
- Added `tcod::blit` to replace older C++ blit functions.
- Added `tcod::stringf` to encapsulate printf formatted strings so that other C++ functions won't have to deal with them.
A library like [fmt](https://fmt.dev/latest/index.html) is safer and faster if you have access to it.

Changed
- Initializing libtcod with the old API will now enable VSync by default.
You can set the environment variable `TCOD_VSYNC=0` to disable this or use the new API where VSync is a setting.
- `TCODConsole::get_data` now returns a non-NULL pointer to the root console.
- Fixes to Gaussian number generation will have changed the resulting numbers and any subsequent random numbers.
- `TCOD_Random` now points to a union type.
- Libtcod now uses the C++17 standard.
- The newer C++ printing functions now take `std::string_view` instead of `std::string`.
- `TCODConsole`, `TCODBsp`, `TCODPath`, `TCODDijkstra`, `TCODNoise`, `TCODImage`, and `TCODMap` can now handle move operations.
Their copy operators have been deleted. This makes them safe to use as a value instead of using `new`/`delete`.

Deprecated
- Deprecate `TCOD_chars_t` enum values because they are non-Unicode.
- Deprecated C++ color constants because of class `static const` initialization issues.
- Deprecated libtcod's older timing functions.
- Deprecated older font loading functions.
- Deprecated `TCOD_random_t` type.
- Console defaults have been deprecated.
- Root console initiation has been deprecated.

Fixed
- Gaussian number generation no longer affects the results of unrelated RNG's.
- Gaussian number generation is now reentrant and thread-safe.

Removed
- Dropped support for C++14.

1.18.1

Fixed
- Fixed potential crash in PNG image loading.

Page 29 of 45

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.