Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close
JCOD: A Java port of the libTCOD Library for Roguelikes

No detailed writeup yet, just some bullet points.

IMPLEMENTED

* Console class with drawing functions for cells, text, rects, lines, and
  offscreen blit.  Limited image blit support is also available.

* LibGDX scene2d widget rendering console to screen.

* Partial port of TCOD's samples app

STILL TO DO

* TCOD APIs: BSP, FOV, Heightmap, Pathfinding

* Scrollable console viewport(s) in display widget

* Richer mapping between console and display (e.g. mouse/key event routing)

* Support for arbitrary layers in console and display

* Borders, fringes, and splatting

* Animated tiles and tile transitions

* Isometric tiles

Compatibility notes:

* Colors are 32-bit RGBA, using LibGDX's Color class, which works quite
  differently than TCODColor.  For one, color components are floats, not ints.
  They're also mutable and passed by reference.  API functions won't hold on to
  references you pass in, but getters may return refs directly.  This asymmetry is
  all about minimizing garbage, which can be a problem on platforms like Android.

* The "background flag" enums have been replaced by first-class blending function
  objects, and stock BlendMode enums that work essentially the same.  Read the
  BlendMode javadoc for more info.

* Image functions use GDX Pixmap objects, so only a couple functions are supported
 (blit and blit2x).  Key colors are not supported -- use alpha instead.  Mipmaps
 are not supported and probably never will be.  Use of LibGDX is highly
 recommended instead of JCOD image functions for most uses.

* A couple noise functions are supported via a third party implementation, but I'll
  likely either replace them with ports of the TCOD functions or remove them
  entirely (any generic noise implementation should work).

* Not in JCOD:
  + Containers - Java has perfectly good collections.
  + Compression functions - ditto.
  + Random numbers - java.util.Random is good enough.  MT can be had third-party.
  + Filesystem functions - This includes the config format parser.
  + Name generation - come on, really?

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.