+ 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().
+ Initialise the char buffers in the X11 driver.
* src/io.c:
+ caca_get_event() and caca_wait_event() immediately return zero if
event_mask is zero.
+ Added support for the Home, End, PgUp and PgDown keys.
+ In the S-Lang driver, added a call to SLang_getkey() before the call to
SLkp_getkey(), otherwise a single Escape call will not be interpreted.
* test/event.c:
+ The "quit" sequence now quits the program, instead of "q" alone.
+ Added a status bar below.
+ 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.
+ Use SLkp_getkey instead of SLang_getkey so that escape sequences are
directly interpreted.
+ Major rehandling of the event code. All output drivers are now
correctly separated.
* src/graphics.c:
+ Fixed a compilation warning.
* test/event.c:
+ More human-readable event printing.
+ 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}.
+ Updated the package descriptions to include cacaball.
* doc/cacademo.1 doc/Makefile.am:
+ Use the cacademo manpage as the cacaball manpage.
* src/:
+ Added #ifdef _DOXYGEN_SKIP_ME here and there to prvent Doxygen from
documenting bizarre stuff.
+ Minor optimisation in caca_set_color().
+ Added an X11 error handler to avoid BadFont aborts in the X11 driver.
+ Optimised the X11 caca_refresh() routine by handling strings of the
same colour as one text chunk.
* src/caca.c:
+ Bugfix in caca_init when conio is the only compiled-in driver.
* README:
+ Minor documentation updates.
+ 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.
+ Support for CACA_WIDTH, CACA_HEIGHT and CACA_FONT in the x11 driver.
+ Use an intermediary X pixmap for rendering.
+ Slightly changed the variable naming scheme.
+ Internally cache screen width and height.
* src/bitmap.c:
+ Added alpha support to caca_draw_bitmap(). For now, we only treat 0%
alpha as fully transparent, and any other value as fully opaque.
+ Slightly tuned colour weights in the renderer.
+ caca_set_bitmap_palette() takes unsigned ints.
* examples/demo.c:
+ Added a crap render demo.
* examples/aafire.c:
+ Set a 20ms delay.
+ Added alpha values to the palette.
* examples/view.c:
+ Draw a gray checkered grid below the image so that transparent images
look a lot nicer.
+ 'f' toggles "fullscreen" mode.
+ 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 setab/setaf quotes from the XTerm terminfo.
+ Proposed a workaround for bright colours on any terminal.
* src/caca.c:
+ 16 colour support for ncurses and conio.
* src/graphics.c:
+ Ported to 16 colour support.
+ Added a missing <stdio.h> for BUFSIZ.
+ Disabled vsnprintf under DOS (only vsprintf exists).
* examples/:
+ Don't abort if the caca.txt sprite was not found.
+ Ported to 16 colour support.
+ Replaced ee_color_names[] with ee_get_color_name().
+ Don't oversleep in ee_refresh().
* libee/graphics.c:
+ Implemented ee_printf().
* test/demo.c:
+ If new keypresses are detected, don't wait for the next screen refresh.
+ Added an fps counter on demos.
+ Added controls for outlines and drawing boundaries.
+ Correct clipping in ee_putstr() for long strings.
* libee/ee.c:
+ New ee_get_rendertime() call to provide framerate information.
* libee/ee.h:
+ Added const keywords where it was meaningful, despite Slang's blatant
omission of such keywords in its prototypes.
+ Added ee_color_names[] containing our 16 color names.
* libee/ee.c:
+ Extended our color set to the full 16 instead of 10.
+ Precalculate ncurses attributes.
* libee/graphics.c:
+ Clip color value in ee_set_color().
+ Clip characters in ee_putchar().
+ Partially clip characters in ee_putstr(), overflows aren't checked yet.
* libee/ee_internals.h:
+ New file to share extern variables within libee.
* test/demo.c:
+ Added a simple demo_color() to output all colors.
+ Replaced four ee_draw_line() with ee_draw_thin_box().
+ Replaced x1, y1, x2 etc. with xa, ya, xb etc. because <math.h> already
defines y1.
+ Randomized colours from 0 to 15 instead of 1 to 10.
* src/Makefiles.am:
+ Added -lm to the ttyvaders linking flags because of the intro.
* README BUGS TODO:
+ Updated.
+ 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().
+ Renamed ee_color() to ee_set_color(), wrote ee_get_color().
* libee/line.c:
+ Implemented draw_polyline() and draw_thin_polyline().
* libee/sprite.c:
+ Removed the f member of struct ee_sprite.
+ Implemented ee_get_sprite_{width|height|dx|dy}().
+ Restore the color fater ee_draw_sprite() is called.
* libee/box.c:
+ Fixed a bug causing improper box clipping at the right and the bottom.
* data/foo_fighter:
+ Fixed bugs in the sprite.
* src/intro.c:
+ Test effects for the future game's intro.
* test/spritedit.c:
+ Added stuff to the sprite editor. We can now navigate through frames.
+ Moved ee_putstr() and ee_putchar() in here.
* libee/ee.h:
+ Got rid of ee_goto().
+ Moved <slang.h> or <curses.h> into libee.
* Replaced ee_goto()/ee_putstr() pairs with ee_putstr().
* Ditto for ee_putchar().