* Renamed caca_refresh() into caca_display() which makes more sense.
* Optimised gl_bgpal by directly storing floats instead of doing the
conversion at runtime.
* Handle resizing in cucul_set_size() and try to keep as much information
as possible from the previous canvas.
* Moved most global variables into cucul_t or caca_t contexts.
* Moved time.c into libcaca.
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.
+ 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.
+ 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.
+ 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.
+ Wrote ee_draw_triangle() and ee_draw_thin_triangle().
* libee/box.c:
+ Wrote ee_draw_box(), ee_draw_thin_box() and ee_fill_box().
* libee/conic.c:
+ Wrote ee_fill_ellipse().
+ First attempt at ee_draw_thin_ellipse(), to be reworked.
* test/demo.c:
+ Merged demo_lines() and demo_thin_lines().
+ Merged demo_triangles() and demo_outlined_triangles().
+ Wrote demo_box().
+ Use ee_fill_ellipse() in demo_all().
+ 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().
+ First file in libee, from src/graphics.c.
+ Disable cursor upon initialisation.
+ Added delay code for constant framerate.
* src/common.h:
+ Minor compilation fix for latest ncurses.