You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Libtcod's size makes it difficult to port, maintain, and document. It has too many things at once and some of my tools can't handle that very well.
Move all field-of-view and line-of-sight functions to libtcod-fov, this is a good module which should be made independent, I think more projects would use it if it wasn't attached to libtcod.
Move rendering, console, and tileset features to libtcod-terminal, this will also move the dependencies on SDL and utf8proc outside of libtcod.
libtcod-pathfinding, Redesign the pathfinder as a new library. The current functions are not great but it's hard to refactor them in this state. The new pathfinders should be more generic.
libtcod-noise, Refactor noise generation into a library which does not use floating point math. This would make it useful compared to alternative noise generators.
Open issues related to the new libraries will be moved to those other libraries.
New libraries should have a simple CMake script, and should be simple to port to Vcpkg and Conan. Especially if they don't have dependencies anymore. Tools like cmake-init might help.
Libtcod itself should be kept for backwards compatibility but splitting it up should take priority over stability. These changes will break the ABI.
Other options considered:
RNG tools are better outside of libtcod. The ones in libtcod only need to stay for compatibility.
I'm not really sure what to do with the BSP, heightmap, and GUI tools yet. Anything I'm not sure of will be kept in libtcod.
The text was updated successfully, but these errors were encountered:
Libtcod's size makes it difficult to port, maintain, and document. It has too many things at once and some of my tools can't handle that very well.
libtcod-fov
, this is a good module which should be made independent, I think more projects would use it if it wasn't attached to libtcod.libtcod-terminal
, this will also move the dependencies on SDL and utf8proc outside of libtcod.libtcod-pathfinding
, Redesign the pathfinder as a new library. The current functions are not great but it's hard to refactor them in this state. The new pathfinders should be more generic.libtcod-noise
, Refactor noise generation into a library which does not use floating point math. This would make it useful compared to alternative noise generators.Open issues related to the new libraries will be moved to those other libraries.
New libraries should have a simple CMake script, and should be simple to port to Vcpkg and Conan. Especially if they don't have dependencies anymore. Tools like cmake-init might help.
Libtcod itself should be kept for backwards compatibility but splitting it up should take priority over stability. These changes will break the ABI.
Other options considered:
The text was updated successfully, but these errors were encountered: