of unicode letters) is now separated from the higher level rendering and I/O
(that is, libcaca). This commit totally breaks the API, but once everything
is polished I will think about source-level backward compatibility. Most
drivers are broken, but X11 still sorta works.
The new design is much more object-oriented and allows having several
active renderers at the same time, changing renderers on the fly, and more
important, having no renderer at all (useful for converters, or when you
want to do your own renderer).
And in case you are still wondering, the libcucul acronym has "Unicode"
because I want to support at least a subset of Unicode. There are awesome
glyphs in it, including the ones inherited from Codepage 437 such as
"gray 25%" that are used in DOS and Win32 ANSI art.
+ Check for sys/times.h and unistd.h.
+ Added calls to AC_C_CONST and AC_C_INLINE.
* src/time.c src/graphics.c:
+ Fixes for MSVC compilation warnings.
+ Additional sanity checks in the Win32 driver.
* src/caca.c:
+ Use raw()/noraw() in the curses driver instead of cbreak().
* msvc/libcaca.sln:
+ Added an MSVC solution.
* examples/aafire.c:
+ Slightly reduced the maximum cacafire framerate.
+ Check for gettimeofday().
* src/time.c:
+ Created _caca_time().
+ Ported _caca_getticks() to the Win32 API.
* src/caca.c:
+ Properly builds on Win32.
* test/event.c:
+ Added <stdlib.h> because we use malloc().
+ Do not refresh after each event, but only when there is no event
pending.
+ If the pressed key is a printable character, display it.
* src/time.c:
+ Moved _caca_getticks() to this file.
* src/caca.c:
+ Set the escape delay to a very low value in the ncurses driver,
because I don't want escape sequences to be entered manually.
* src/io.c:
+ Autorepeat emulation in the ncurses and slang drivers: do not
immediately send the key release event.
* configure.ac:
+ Check for usleep.
+ Improvements in the win32 platform detection.
+ Small event lister, similar to X11's xev.
* src/graphics.c:
+ If possible, disable autorepeat in the X11 driver.
* src/io.c:
+ Implemented CACA_EVENT_MOUSE_RELEASE in all drivers.
+ Button number support in CACA_EVENT_MOUSE_{PRESS,RELEASE}.
+ Prepared the 0.6 release.
* libcaca.spec:
+ Split the RPM into libcaca-devel and caca-utils.
+ More detailed descriptions.
+ Packages are now rpmlint clean.
* doc/Makefile.am:
+ Symlink cacafire.1 to cacademo.1 upon manpage installation.
+ Added caca_wait_event(), a blocking caca_get_event().
* src/ examples/:
+ More documentation.
* doc/doxygen.cfg.in:
+ doc/doxygen.cfg is now generated by configure, so that we can use
@top_srcdir@ and we no longer need to hardcode PROJECT_NUMBER.
+ Create manpages.
+ Support for simultaneously compiled-in drivers.
+ Honour the CACA_DRIVER environment variable.
* configure.ac:
+ Drivers are no longer mutually exclusive.
+ Set the executable bit of caca-config when regenerating that file.
* caca-config.in:
+ No longer use USE_SLANG_TRUE and USE_NCURSES_TRUE since we now
have @CACA_LIBS@.
+ Removed unused USE_* variables.
+ Export -lslang and -lncurses as @CACA_LIBS@.
* examples/aafire.c:
+ Imported aafire.c from the AAlib tree and ported it to libcaca.
+ Fixed an endianness issue in the byte reader.
+ Decreased precision in RGB and HSV values to avoid overflows.
+ New dithering method: 2x2 ordered.
+ New renderer, with background colour awareness.
* configure.ac:
+ Check for <endian.h>.
* examples/demo.c examples/view.c:
+ Fixed an endianness issue in cacaview.
+ Adapted code to the additional dithering method.
+ Default to ncurses, not slang, because slang only has 128 colour pairs.
* src/caca.c:
+ Disable scrolling to avoid hashmap scrolling optimization code.
* src/graphics.c:
+ Swap fg and bg in the colour pair indexing, so that bg is always
right.
+ Disable alt charset support to exploit my patched slang.
+ Moved graphics stuff from caca.c to graphics.c.
+ Added a few kludges: if gnome-terminal or konsole are detected, switch
to TERM=xterm-16color to benefit from extended colour palette.
+ Added a check for imlib2-config.
+ Build cacaview conditionally.
* examples/demo.c:
+ Removed all gdkpixbuf code.
* examples/view.c:
+ Default to ordered dithering.
+ Make sure the arrows always work even if delta is too small.
+ Added these mandatory files.
* doc/:
+ Wrote a Doxygen configuration file.
+ Added a manpage for caca-config(1), borrowed from sdl-config.
* configure.ac:
+ Use new style AC_INIT.
+ Error out if no library was found.
+ Added *djgpp* to the list of non-PIC platforms.
+ Added checks for doxygen and latex.
+ Changed section to libs/libdevel instead of games/games.
+ Changed package name to libcaca-dev.
* debian/rules:
+ Use debian/compat instead of DH_COMPAT.
+ Install README, BUGS and TODO into /usr/share/doc.
* caca-config.in:
+ First version of the config script.
* configure.ac src/Makefile.am:
+ Build a static PIC library as well.
* README TODO:
+ Various updates.
+ Added a note about dos cross-compilation.
* configure.ac:
+ Added a check for ScreenUpdate in <pc.h>.
* libee/graphics.c libee/ee.c:
+ Improved the conio port thanks to ScreenUpdate().