Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 2.67 KB

File metadata and controls

63 lines (48 loc) · 2.67 KB

Glossary

.. glossary::

    console defaults
        The default values implied by any Console print or put functions which
        don't explicitly ask for them as parameters.

        These have been deprecated since version `8.5`.

    libtcod-cffi
        This is the `cffi` implementation of libtcodpy, the original was
        made using `ctypes` which was more difficult to maintain.

        `libtcod-cffi` has since been part of :term:`python-tcod` providing
        all of the :term:`libtcodpy` API until the newer features could be
        implemented.

    python-tcod
        `python-tcod` is a superset of the :term:`libtcodpy` API.  The major
        additions include class functionality in returned objects, no manual
        memory management, pickle-able objects, and `numpy` array attributes
        in most objects.

        The `numpy` functions in particular can be used to dramatically speed
        up the performance of a program compared to using :term:`libtcodpy`.

    python-tdl
        `tdl` is a high-level wrapper over :term:`libtcodpy` although it now
        uses :term:`python-tcod`, it doesn't do anything that you couldn't do
        yourself with just :term:`libtcodpy` and Python.

        It included a lot of core functions written in Python that most
        definitely shouldn't have been.  `tdl` was very to use, but the cost
        was severe performance issues throughout the entire module.
        This left it impractical for any real use as a roguelike library.

        Currently no new features are planned for `tdl`, instead new features
        are added to `libtcod` itself and then ported to :term:`python-tcod`.

        :term:`python-tdl` and :term:`libtcodpy` are included in installations
        of `python-tcod`.

    libtcodpy
        `libtcodpy` is more or less a direct port of `libtcod`'s C API to
        Python.
        This caused a handful of issues including instances needing to be
        freed manually or else a memory leak would occur, and many functions
        performing badly in Python due to the need to call them frequently.

        These issues are fixed in :term:`python-tcod` which implements the full
        `libtcodpy` API.  If :term:`python-tcod` is installed then imports
        of `libtcodpy` are aliased to the `tcod` module.
        So if you come across a project using the original `libtcodpy` you can
        delete the `libtcodpy/` folder and then :term:`python-tcod` will load
        instead.

    color control
    color controls
        Libtcod's old system which assigns colors to specific codepoints.
        See :any:`tcod.COLCTRL_STOP`, :any:`tcod.COLCTRL_FORE_RGB`, and :any:`tcod.COLCTRL_BACK_RGB` for examples.