Skip to content

Latest commit

 

History

History

src

This is the Doryen library source code.

libtcod.h and libtcod.hpp are the main headers, included respectively by
the C and C++ programs that use libtcod.

Each "toolkit" is in a separate file set. For each toolkit, you may have :
*  include/<toolkit>.h : the C header
*  include/<toolkit>.hpp : the C++ header
*  src/<toolkit>_c.c : the C source code that contains the actual implementation
*  src/<toolkit>.cpp : the C++ wrapper

Current toolkits :
bresenham : line drawing using the Bresenham algorithm.
bsp       : binary space partition tree module
color     : 24 bits colors operations.
console   : true color console emulator. It relies on some private functions of the sys toolkit.
fov       : field of view calculator.
heightmap : heightmap toolkit.
image     : image manipulation. It relies on some private functions of the sys toolkit.
list      : a fast and lightweight generic container (faster than STL).
mersenne  : pseudorandom number generator using the Mersenne twister algorithm.
mouse     : mouse support.
namegen   : name generator
noise     : various noise generators.
parser    : config file parser.
path      : path finding module.
sys       : system specific functions.
txtfield  : work-in-progress text input utility
zip       : compression module

Note that some of the sys toolkits rely on system dependent functions.
They have currently a single working implementation relying on SDL : sys_sdl_c.c
As it is heavily system dependent, the mouse C implementation is in sys_sdl_c.c.
As of 1.4, the image load/save functions are isolated in sys_sdl_XXX.c,
XXX being the image type (currently bmp and png).
As of 1.5.1, sys_opengl_c.c contains OpenGL and GLSL renderers. Those two
renderers are still dependent on SDL.

libtcod_int.h contains everything that is exported by the toolkits
(implemented in a toolkit and used in another one) but should not be seen
by the user of the library.

These are the private (or undocumented) modules :
lex       : a generic lexical parser.
tree      : a minimalist tree toolkit.
sys       : sys also contains an undocumented threading toolkit.