diff --git a/bootstrap b/bootstrap index 28491df..53ba8ab 100755 --- a/bootstrap +++ b/bootstrap @@ -1,11 +1,14 @@ #! /bin/sh +# $Id$ -# bootstrap: the ultimate bootstrap/autogen.sh script for autotools projects -# Copyright (c) 2002, 2003, 2004, 2005, 2006 Sam Hocevar +# bootstrap: generic bootstrap/autogen.sh script for autotools projects # -# This program is free software; you can redistribute it and/or -# modify it under the terms of the Do What The Fuck You Want To -# Public License, Version 2, as published by Sam Hocevar. See +# Copyright (c) 2002-2007 Sam Hocevar +# +# This program is free software. It comes without any warranty, to +# the extent permitted by applicable law. You can redistribute it +# and/or modify it under the terms of the Do What The Fuck You Want +# To Public License, Version 2, as published by Sam Hocevar. See # http://sam.zoy.org/wtfpl/COPYING for more details. # # The latest version of this script can be found at the following place: @@ -25,16 +28,20 @@ else fi # Check for needed features -auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *( *\([^ )]*\).*/\1/p' $conffile`" +auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *([[ ]*\([^] )]*\).*/\1/p' $conffile`" libtool="`grep -q '^[ \t]*A._PROG_LIBTOOL' $conffile && echo yes || echo no`" +pkgconfig="`grep -q '^[ \t]*PKG_PROG_PKG_CONFIG' $conffile && echo yes || echo no`" header="`grep -q '^[ \t]*A._CONFIG_HEADER' $conffile && echo yes || echo no`" aclocalflags="`sed -ne 's/^[ \t]*ACLOCAL_AMFLAGS[ \t]*=//p' Makefile.am`" # Check for automake amvers="no" -for v in "-1.9" "19" "-1.8" "18" "-1.7" "17" "-1.6" "16" "-1.5" "15"; do - if automake${v} --version >/dev/null 2>&1; then - amvers="${v}" +for v in 10 9 8 7 6 5; do + if automake-1.${v} --version >/dev/null 2>&1; then + amvers="-1.${v}" + break + elif automake1.${v} --version >/dev/null 2>&1; then + amvers="1.${v}" break fi done @@ -87,10 +94,23 @@ if test "$libtool" = "yes"; then fi fi +# Check for pkg-config +if test "$pkgconfig" = "yes"; then + if ! pkg-config --version >/dev/null 2>&1; then + echo "$0: you need pkg-config" + exit 1 + fi +fi + # Remove old cruft for x in aclocal.m4 configure config.guess config.log config.sub config.cache config.h.in config.h compile libtool.m4 ltoptions.m4 ltsugar.m4 ltversion.m4 ltmain.sh libtool ltconfig missing mkinstalldirs depcomp install-sh; do rm -f $x autotools/$x; if test -n "$auxdir"; then rm -f "$auxdir/$x"; fi; done rm -Rf autom4te.cache -if test -n "$auxdir" -a ! -d "$auxdir"; then mkdir "$auxdir"; fi +if test -n "$auxdir"; then + if test ! -d "$auxdir"; then + mkdir "$auxdir" + fi + aclocalflags="${aclocalflags} -I $auxdir -I ." +fi # Explain what we are doing from now set -x @@ -98,17 +118,13 @@ set -x # Bootstrap package if test "$libtool" = "yes"; then ${libtoolize} --copy --force - if test -n "$auxdir" -a -f "ltmain.sh"; then + if test -n "$auxdir" -a ! "$auxdir" = "." -a -f "ltmain.sh"; then echo "$0: working around a minor libtool issue" mv ltmain.sh "$auxdir/" fi fi -if test -n "$auxdir"; then - aclocal${amvers} -I autotools ${aclocalflags} -else - aclocal${amvers} ${aclocalflags} -fi +aclocal${amvers} ${aclocalflags} autoconf${acvers} if test "$header" = "yes"; then autoheader${acvers} diff --git a/configure.ac b/configure.ac index 1a991da..e0d198a 100644 --- a/configure.ac +++ b/configure.ac @@ -26,10 +26,10 @@ if test "$build" != "$host" -a "${PKG_CONFIG_LIBDIR}" = ""; then fi CACA="no" -PKG_CHECK_MODULES(CACA, caca >= 0.99.beta9, +PKG_CHECK_MODULES(CACA, caca >= 0.99.beta15, [CACA="yes"], [AC_MSG_RESULT(no) - AC_MSG_ERROR([you need libcaca version 0.99.beta9 or later])]) + AC_MSG_ERROR([you need libcaca version 0.99.beta15 or later])]) # Optimizations CFLAGS="${CFLAGS} -g -O2 -fno-strength-reduce -fomit-frame-pointer" diff --git a/src/aliens.c b/src/aliens.c index a1f29ad..e6954e3 100644 --- a/src/aliens.c +++ b/src/aliens.c @@ -18,13 +18,13 @@ #include "common.h" -cucul_canvas_t *foo_sprite; -cucul_canvas_t *bar_sprite; -cucul_canvas_t *baz_sprite; +caca_canvas_t *foo_sprite; +caca_canvas_t *bar_sprite; +caca_canvas_t *baz_sprite; void init_aliens(game *g, aliens *al) { - cucul_buffer_t *b; + caca_buffer_t *b; int i; for(i = 0; i < ALIENS; i++) @@ -32,17 +32,17 @@ void init_aliens(game *g, aliens *al) al->type[i] = ALIEN_NONE; } - b = cucul_load_file("data/foofight.caca"); - foo_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/foofight.caca"); + foo_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/barfight.caca"); - bar_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/barfight.caca"); + bar_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/bazfight.caca"); - baz_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/bazfight.caca"); + baz_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); } void draw_aliens(game *g, aliens *al) @@ -54,16 +54,16 @@ void draw_aliens(game *g, aliens *al) switch(al->type[i]) { case ALIEN_FOO: - cucul_set_canvas_frame(foo_sprite, al->img[i] % 5); - cucul_blit(g->cv, al->x[i], al->y[i], foo_sprite, NULL); + caca_set_canvas_frame(foo_sprite, al->img[i] % 5); + caca_blit(g->cv, al->x[i], al->y[i], foo_sprite, NULL); break; case ALIEN_BAR: - cucul_set_canvas_frame(bar_sprite, al->img[i] % 2); - cucul_blit(g->cv, al->x[i], al->y[i], bar_sprite, NULL); + caca_set_canvas_frame(bar_sprite, al->img[i] % 2); + caca_blit(g->cv, al->x[i], al->y[i], bar_sprite, NULL); break; case ALIEN_BAZ: - cucul_set_canvas_frame(baz_sprite, al->img[i] % 4); - cucul_blit(g->cv, al->x[i], al->y[i], baz_sprite, NULL); + caca_set_canvas_frame(baz_sprite, al->img[i] % 4); + caca_blit(g->cv, al->x[i], al->y[i], baz_sprite, NULL); break; case ALIEN_NONE: break; @@ -82,7 +82,7 @@ void update_aliens(game *g, aliens *al) { add_explosion(g, g->ex, al->x[i], al->y[i], 0, 0, EXPLOSION_MEDIUM); al->type[i] = ALIEN_NONE; - add_bonus(g, g->bo, al->x[i], al->y[i], cucul_rand(0,4) ? BONUS_GREEN : BONUS_LIFE); + add_bonus(g, g->bo, al->x[i], al->y[i], caca_rand(0,4) ? BONUS_GREEN : BONUS_LIFE); } /* Update coordinates */ diff --git a/src/bonus.c b/src/bonus.c index 2c6c3ed..121477b 100644 --- a/src/bonus.c +++ b/src/bonus.c @@ -18,12 +18,12 @@ #include "common.h" -cucul_canvas_t *heart_sprite; -cucul_canvas_t *gem_sprite; +caca_canvas_t *heart_sprite; +caca_canvas_t *gem_sprite; void init_bonus(game *g, bonus *bo) { - cucul_buffer_t *b; + caca_buffer_t *b; int i; for(i = 0; i < BONUS; i++) @@ -31,13 +31,13 @@ void init_bonus(game *g, bonus *bo) bo->type[i] = BONUS_NONE; } - b = cucul_load_file("data/bonheart.caca"); - heart_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/bonheart.caca"); + heart_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/bongem.caca"); - gem_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/bongem.caca"); + gem_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); } void draw_bonus(game *g, bonus *bo) @@ -49,12 +49,12 @@ void draw_bonus(game *g, bonus *bo) switch(bo->type[i]) { case BONUS_GREEN: - cucul_set_canvas_frame(gem_sprite, (bo->n[i]/2 % 3) ? 0 : 1); - cucul_blit(g->cv, bo->x[i], bo->y[i], gem_sprite, NULL); + caca_set_canvas_frame(gem_sprite, (bo->n[i]/2 % 3) ? 0 : 1); + caca_blit(g->cv, bo->x[i], bo->y[i], gem_sprite, NULL); break; case BONUS_LIFE: - cucul_set_canvas_frame(heart_sprite, (bo->n[i] % 3) ? 0 : 1); - cucul_blit(g->cv, bo->x[i], bo->y[i], heart_sprite, NULL); + caca_set_canvas_frame(heart_sprite, (bo->n[i] % 3) ? 0 : 1); + caca_blit(g->cv, bo->x[i], bo->y[i], heart_sprite, NULL); break; case BONUS_NONE: break; diff --git a/src/box.c b/src/box.c index 382a983..94607d8 100644 --- a/src/box.c +++ b/src/box.c @@ -37,12 +37,12 @@ void draw_box(game *g, box *b) { int j, frame; - cucul_set_color(g->cv, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_YELLOW, CACA_COLOR_BLACK); /* Draw the thin horizontal line */ if(b->frame < 8) { - cucul_draw_line(g->cv, b->x - b->w * b->frame / 16, b->y, + caca_draw_line(g->cv, b->x - b->w * b->frame / 16, b->y, b->x + b->w * b->frame / 16 - 1, b->y, "X"); return; } @@ -50,23 +50,23 @@ void draw_box(game *g, box *b) /* Draw the frame */ frame = b->frame < 12 ? b->frame : 12; - cucul_draw_line(g->cv, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8, + caca_draw_line(g->cv, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8, b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8, "X"); - cucul_draw_line(g->cv, b->x - b->w / 2, b->y + b->h * (frame - 8) / 8, + caca_draw_line(g->cv, b->x - b->w / 2, b->y + b->h * (frame - 8) / 8, b->x + b->w / 2 - 1, b->y + b->h * (frame - 8) / 8, "X"); - cucul_draw_line(g->cv, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8, + caca_draw_line(g->cv, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8, b->x - b->w / 2, b->y + b->h * (frame - 8) / 8 - 1, "X"); - cucul_draw_line(g->cv, b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8, + caca_draw_line(g->cv, b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8, b->x + b->w / 2 - 1, b->y + b->h * (frame - 8) / 8 - 1, "X"); - cucul_set_color(g->cv, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_BLACK, CACA_COLOR_BLACK); for(j = b->y - b->h * (frame - 8) / 8 + 1; j < b->y + b->h * (frame - 8) / 8; j++) { - cucul_draw_line(g->cv, b->x - b->w / 2 + 1, j, + caca_draw_line(g->cv, b->x - b->w / 2 + 1, j, b->x + b->w / 2 - 2, j, "X"); } @@ -76,18 +76,18 @@ void draw_box(game *g, box *b) } /* Draw the text inside the frame */ - cucul_set_color(g->cv, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_YELLOW, CACA_COLOR_BLACK); /* FIXME: use a font */ - cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 2, + caca_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 2, "XXXX. .XXXX X X .XXXX .XXXX XXXX."); - cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 3, + caca_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 3, "X `X X' X X X X' X' X `X"); - cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 4, + caca_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 4, "XXXX' XXXXX X X `XXX XXXX X X"); - cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 5, + caca_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 5, "X' X' `X X. ,X `X X' X ,X"); - cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 6, + caca_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 6, "X X X `XXXX XXXX' `XXXX XXXX'"); } diff --git a/src/ceo.c b/src/ceo.c index 731f478..bd343a9 100644 --- a/src/ceo.c +++ b/src/ceo.c @@ -27,7 +27,7 @@ void ceo_alert(game *g) { caca_event_t ev; - cucul_clear_canvas(g->cv); + caca_clear_canvas(g->cv); if(caca_get_event(g->dp, CACA_EVENT_KEY_PRESS, &ev, 0) && ev.data.key.ch == '\t') diff --git a/src/collide.c b/src/collide.c index f8534e6..4e5f952 100644 --- a/src/collide.c +++ b/src/collide.c @@ -119,12 +119,12 @@ void collide_weapons_tunnel(game *g, weapons *wp, tunnel *t, explosions *ex) if(x - 2 <= t->left[y-j]) { add_explosion(g, ex, GET_MIN(t->left[y-j], x+3), y-j, 0, 1, EXPLOSION_SMALL); - t->left[y-j] -= cucul_rand(0,2); + t->left[y-j] -= caca_rand(0,2); } else if(x + 3 >= t->right[y-j]) { add_explosion(g, ex, GET_MAX(t->right[y-j], x-2), y-j, 0, 1, EXPLOSION_SMALL); - t->right[y-j] += cucul_rand(0,2); + t->right[y-j] += caca_rand(0,2); } } break; diff --git a/src/common.h b/src/common.h index 197f631..1b49f0d 100644 --- a/src/common.h +++ b/src/common.h @@ -124,7 +124,7 @@ typedef struct { int w, h; - cucul_canvas_t *cv; + caca_canvas_t *cv; caca_display_t *dp; starfield *sf; diff --git a/src/explosions.c b/src/explosions.c index 94de5c2..94e580a 100644 --- a/src/explosions.c +++ b/src/explosions.c @@ -18,12 +18,12 @@ #include "common.h" -cucul_canvas_t *medium_sprite; -cucul_canvas_t *small_sprite; +caca_canvas_t *medium_sprite; +caca_canvas_t *small_sprite; void init_explosions(game *g, explosions *ex) { - cucul_buffer_t *b; + caca_buffer_t *b; int i; for(i = 0; i < EXPLOSIONS; i++) @@ -31,13 +31,13 @@ void init_explosions(game *g, explosions *ex) ex->type[i] = EXPLOSION_NONE; } - b = cucul_load_file("data/xplmed.caca"); - medium_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/xplmed.caca"); + medium_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/xplsmall.caca"); - small_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/xplsmall.caca"); + small_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); } void add_explosion(game *g, explosions *ex, int x, int y, int vx, int vy, int type) @@ -74,39 +74,39 @@ void draw_explosions(game *g, explosions *ex) for(i = 0; i < EXPLOSIONS; i++) { #if 0 - cucul_set_fg_color(g->cv, CACA_COLOR_GREEN); - cucul_goto(g->cv, ex->x[i] + 3, ex->y[i]); - switch(cucul_rand(0,2)) + caca_set_fg_color(g->cv, CACA_COLOR_GREEN); + caca_goto(g->cv, ex->x[i] + 3, ex->y[i]); + switch(caca_rand(0,2)) { case 0: - cucul_putchar(g->cv, 'p'); - cucul_putchar(g->cv, 'i'); - cucul_putchar(g->cv, 'f'); + caca_putchar(g->cv, 'p'); + caca_putchar(g->cv, 'i'); + caca_putchar(g->cv, 'f'); break; case 1: - cucul_putchar(g->cv, 'p'); - cucul_putchar(g->cv, 'a'); - cucul_putchar(g->cv, 'f'); + caca_putchar(g->cv, 'p'); + caca_putchar(g->cv, 'a'); + caca_putchar(g->cv, 'f'); break; case 2: - cucul_putchar(g->cv, 'p'); - cucul_putchar(g->cv, 'o'); - cucul_putchar(g->cv, 'u'); - cucul_putchar(g->cv, 'f'); + caca_putchar(g->cv, 'p'); + caca_putchar(g->cv, 'o'); + caca_putchar(g->cv, 'u'); + caca_putchar(g->cv, 'f'); break; } - cucul_putchar(g->cv, '!'); + caca_putchar(g->cv, '!'); #endif switch(ex->type[i]) { case EXPLOSION_MEDIUM: - cucul_set_canvas_frame(medium_sprite, 10 - ex->n[i]); - cucul_blit(g->cv, ex->x[i], ex->y[i], medium_sprite, NULL); + caca_set_canvas_frame(medium_sprite, 10 - ex->n[i]); + caca_blit(g->cv, ex->x[i], ex->y[i], medium_sprite, NULL); break; case EXPLOSION_SMALL: - cucul_set_canvas_frame(small_sprite, 6 - ex->n[i]); - cucul_blit(g->cv, ex->x[i], ex->y[i], small_sprite, NULL); + caca_set_canvas_frame(small_sprite, 6 - ex->n[i]); + caca_blit(g->cv, ex->x[i], ex->y[i], small_sprite, NULL); break; case EXPLOSION_NONE: break; diff --git a/src/intro.c b/src/intro.c index 12cb3bc..827c5c5 100644 --- a/src/intro.c +++ b/src/intro.c @@ -23,23 +23,23 @@ void intro(game *g) { caca_event_t ev; - cucul_canvas_t *foo_sprite; - cucul_canvas_t *bar_sprite; - cucul_canvas_t *baz_sprite; - cucul_buffer_t *b; + caca_canvas_t *foo_sprite; + caca_canvas_t *bar_sprite; + caca_canvas_t *baz_sprite; + caca_buffer_t *b; int frame = 0; - b = cucul_load_file("data/foofight.caca"); - foo_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/foofight.caca"); + foo_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/barfight.caca"); - bar_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/barfight.caca"); + bar_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/bazfight.caca"); - baz_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/bazfight.caca"); + baz_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); while(caca_get_event(g->dp, CACA_EVENT_KEY_PRESS, &ev, 0) == 0) { @@ -47,15 +47,15 @@ void intro(game *g) frame++; - cucul_clear_canvas(g->cv); + caca_clear_canvas(g->cv); - xo = cucul_get_canvas_width(g->cv) / 2; - yo = cucul_get_canvas_height(g->cv) / 2; + xo = caca_get_canvas_width(g->cv) / 2; + yo = caca_get_canvas_height(g->cv) / 2; - cucul_set_color(g->cv, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK); - cucul_fill_ellipse(g->cv, xo, yo, 16, 8, "#"); - cucul_set_color(g->cv, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK); - cucul_draw_thin_ellipse(g->cv, xo, yo, 16, 8); + caca_set_color(g->cv, CACA_COLOR_RED, CACA_COLOR_BLACK); + caca_fill_ellipse(g->cv, xo, yo, 16, 8, "#"); + caca_set_color(g->cv, CACA_COLOR_GREEN, CACA_COLOR_BLACK); + caca_draw_thin_ellipse(g->cv, xo, yo, 16, 8); for(i = 0; i < 4; i ++) { @@ -65,15 +65,15 @@ void intro(game *g) x[4] = x[0]; y[4] = y[0]; - cucul_set_color(g->cv, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK); - cucul_fill_triangle(g->cv, x[0], y[0], x[1], y[1], x[2], y[2], " "); - cucul_fill_triangle(g->cv, x[0], y[0], x[3], y[3], x[2], y[2], " "); - cucul_draw_line(g->cv, x[0], y[0], x[2], y[2], " "); - cucul_set_color(g->cv, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK); - cucul_draw_thin_polyline(g->cv, x, y, 4); + caca_set_color(g->cv, CACA_COLOR_BLACK, CACA_COLOR_BLACK); + caca_fill_triangle(g->cv, x[0], y[0], x[1], y[1], x[2], y[2], " "); + caca_fill_triangle(g->cv, x[0], y[0], x[3], y[3], x[2], y[2], " "); + caca_draw_line(g->cv, x[0], y[0], x[2], y[2], " "); + caca_set_color(g->cv, CACA_COLOR_GREEN, CACA_COLOR_BLACK); + caca_draw_thin_polyline(g->cv, x, y, 4); - cucul_set_canvas_frame(foo_sprite, frame % 5); - cucul_blit(g->cv, xo, yo, foo_sprite, NULL); + caca_set_canvas_frame(foo_sprite, frame % 5); + caca_blit(g->cv, xo, yo, foo_sprite, NULL); caca_refresh_display(g->dp); diff --git a/src/main.c b/src/main.c index ce65577..1d0cae2 100644 --- a/src/main.c +++ b/src/main.c @@ -33,7 +33,7 @@ int _main (int argc, char **argv) srand(time(NULL)); - g->cv = cucul_create_canvas(0, 0); + g->cv = caca_create_canvas(0, 0); if(!g->cv) return 1; @@ -44,8 +44,8 @@ int _main (int argc, char **argv) caca_set_display_time(g->dp, 40000); /* Initialize our program */ - g->w = cucul_get_canvas_width(g->cv); - g->h = cucul_get_canvas_height(g->cv); + g->w = caca_get_canvas_width(g->cv); + g->h = caca_get_canvas_height(g->cv); intro(g); @@ -54,7 +54,7 @@ intro(g); /* Clean up */ caca_free_display(g->dp); - cucul_free_canvas(g->cv); + caca_free_canvas(g->cv); return 0; } @@ -194,11 +194,11 @@ static void start_game (game *g) skip = 0; /* XXX: to be removed */ - if(cucul_rand(0, 9) == 0) + if(caca_rand(0, 9) == 0) { int list[3] = { ALIEN_FOO, ALIEN_BAR, ALIEN_BAZ }; - add_alien(g, g->al, 0, rand() % g->h / 2, list[cucul_rand(0,2)]); + add_alien(g, g->al, 0, rand() % g->h / 2, list[caca_rand(0,2)]); } /* Update game rules */ @@ -227,7 +227,7 @@ static void start_game (game *g) } /* Clear screen */ - cucul_clear_canvas(g->cv); + caca_clear_canvas(g->cv); /* Print starfield, tunnel, aliens, player and explosions */ draw_starfield(g, g->sf); diff --git a/src/overlay.c b/src/overlay.c index 44068d1..a8f3f1a 100644 --- a/src/overlay.c +++ b/src/overlay.c @@ -24,50 +24,50 @@ void draw_status(game *g) static char dashes30[] = "=============================="; /* Draw life jauge */ - cucul_set_color(g->cv, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, 4, 1, dots30); + caca_set_color(g->cv, CACA_COLOR_DARKGRAY, CACA_COLOR_BLACK); + caca_putstr(g->cv, 4, 1, dots30); if(g->p->life > MAX_LIFE * 7 / 10) { - cucul_set_color(g->cv, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_GREEN, CACA_COLOR_BLACK); } else if(g->p->life > MAX_LIFE * 3 / 10) { - cucul_set_color(g->cv, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_YELLOW, CACA_COLOR_BLACK); } else { - cucul_set_color(g->cv, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_RED, CACA_COLOR_BLACK); } - cucul_putstr(g->cv, 4, 1, dashes30 + (MAX_LIFE - g->p->life) * 30 / MAX_LIFE); + caca_putstr(g->cv, 4, 1, dashes30 + (MAX_LIFE - g->p->life) * 30 / MAX_LIFE); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, 1, 1, "L |"); - cucul_putstr(g->cv, 34, 1, "|"); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, 1, 1, "L |"); + caca_putstr(g->cv, 34, 1, "|"); /* Draw weapon jauge */ - cucul_set_color(g->cv, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, 42, 1, dots30 + 10); + caca_set_color(g->cv, CACA_COLOR_DARKGRAY, CACA_COLOR_BLACK); + caca_putstr(g->cv, 42, 1, dots30 + 10); if(g->p->special > MAX_SPECIAL * 9 / 10) { - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); } else if(g->p->special > MAX_SPECIAL * 3 / 10) { - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); } else { - cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK); } - cucul_putstr(g->cv, 42, 1, dashes30 + 10 + caca_putstr(g->cv, 42, 1, dashes30 + 10 + (MAX_SPECIAL - g->p->special) * 20 / MAX_SPECIAL); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, 39, 1, "S |"); - cucul_putstr(g->cv, 62, 1, "|"); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, 39, 1, "S |"); + caca_putstr(g->cv, 62, 1, "|"); } diff --git a/src/player.c b/src/player.c index ac13d31..77bbf99 100644 --- a/src/player.c +++ b/src/player.c @@ -18,12 +18,12 @@ #include "common.h" -cucul_canvas_t *ship_sprite; +caca_canvas_t *ship_sprite; /* Init tunnel */ player * create_player(game *g) { - cucul_buffer_t *b; + caca_buffer_t *b; player *p = malloc(sizeof(player)); if(p == NULL) @@ -38,9 +38,9 @@ player * create_player(game *g) p->life = MAX_LIFE; p->dead = 0; - b = cucul_load_file("data/ship.caca"); - ship_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/ship.caca"); + ship_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); return p; } @@ -55,8 +55,8 @@ void draw_player(game *g, player *p) if(p->dead) return; - cucul_set_canvas_frame(ship_sprite, 0); - cucul_blit(g->cv, p->x, p->y, ship_sprite, NULL); + caca_set_canvas_frame(ship_sprite, 0); + caca_blit(g->cv, p->x, p->y, ship_sprite, NULL); } void update_player(game *g, player *p) diff --git a/src/starfield.c b/src/starfield.c index 345ea0c..9f6c06f 100644 --- a/src/starfield.c +++ b/src/starfield.c @@ -29,11 +29,11 @@ starfield * create_starfield(game *g) for(i = 0; i < STARS; i++) { - s[i].x = cucul_rand(0, g->w - 1); - s[i].y = cucul_rand(0, g->h - 1); - s[i].z = cucul_rand(1, 3); - s[i].c = cucul_rand(0, 1) ? CUCUL_COLOR_LIGHTGRAY : CUCUL_COLOR_DARKGRAY; - s[i].ch = cucul_rand(0, 1) ? '.' : '\''; + s[i].x = caca_rand(0, g->w - 1); + s[i].y = caca_rand(0, g->h - 1); + s[i].z = caca_rand(1, 3); + s[i].c = caca_rand(0, 1) ? CACA_COLOR_LIGHTGRAY : CACA_COLOR_DARKGRAY; + s[i].ch = caca_rand(0, 1) ? '.' : '\''; } return s; @@ -47,8 +47,8 @@ void draw_starfield(game *g, starfield *s) { if(s[i].x >= 0) { - cucul_set_color(g->cv, s[i].c, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, s[i].x, s[i].y, s[i].ch); + caca_set_color(g->cv, s[i].c, CACA_COLOR_BLACK); + caca_putchar(g->cv, s[i].x, s[i].y, s[i].ch); } } } @@ -61,11 +61,11 @@ void update_starfield(game *g, starfield *s) { if(s[i].x < 0) { - s[i].x = cucul_rand(0, g->w - 1); + s[i].x = caca_rand(0, g->w - 1); s[i].y = 0; - s[i].z = cucul_rand(1, 2); - s[i].c = cucul_rand(0, 1) ? CUCUL_COLOR_LIGHTGRAY : CUCUL_COLOR_DARKGRAY; - s[i].ch = cucul_rand(0, 1) ? '.' : '\''; + s[i].z = caca_rand(1, 2); + s[i].c = caca_rand(0, 1) ? CACA_COLOR_LIGHTGRAY : CACA_COLOR_DARKGRAY; + s[i].ch = caca_rand(0, 1) ? '.' : '\''; } else if(s[i].y < g->h-1) { diff --git a/src/ttyvaders.c b/src/ttyvaders.c index f5b3431..ab1a99b 100644 --- a/src/ttyvaders.c +++ b/src/ttyvaders.c @@ -18,23 +18,21 @@ #include -cucul_canvas_t *cv; +caca_canvas_t *cv; caca_display_t *dp; -cucul_canvas_t *ship, *alien; +caca_canvas_t *ship, *alien; unsigned int shipx, shipy; unsigned int frame, w, h; -int ground[80]; +int ground[81]; static void run_game(void); int main(int argc, char **argv) { - cucul_buffer_t *b; - - cv = cucul_create_canvas(80, 24); + cv = caca_create_canvas(80, 24); if(!cv) return 1; @@ -45,23 +43,21 @@ int main(int argc, char **argv) caca_set_display_time(dp, 80000); /* Initialize our program */ - w = cucul_get_canvas_width(cv); - h = cucul_get_canvas_height(cv); + w = caca_get_canvas_width(cv); + h = caca_get_canvas_height(cv); /* Load data */ - b = cucul_load_file("data/ship.ans"); - ship = cucul_import_canvas(b, ""); - cucul_free_buffer(b); - b = cucul_load_file("data/alien.ans"); - alien = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + ship = caca_create_canvas(0, 0); + caca_import_file(ship, "data/ship.ans", ""); + alien = caca_create_canvas(0, 0); + caca_import_file(alien, "data/alien.ans", ""); /* Go ! */ run_game(); /* Clean up */ caca_free_display(dp); - cucul_free_canvas(cv); + caca_free_canvas(cv); return 0; } @@ -78,7 +74,7 @@ static void update_ground(void) if(frame % 3) return; - ground[80] += cucul_rand(-1, 2); + ground[80] += caca_rand(-1, 2); if(ground[80] < 2) ground[80] = 3; else if(ground[80] > 7) @@ -101,59 +97,59 @@ static void display_ground(void) for(i = 0; i < 80; i++) { /* Draw the sky */ - cucul_set_color_ansi(cv, CUCUL_LIGHTBLUE, CUCUL_LIGHTCYAN); + caca_set_color_ansi(cv, CACA_LIGHTBLUE, CACA_LIGHTCYAN); for(j = h - 24; j < h - 18 + ((40 - i) * (40 - i) / (40 * 40 / 10)) + (i & 1); j++) - cucul_putchar(cv, i, j, ' '); - cucul_putchar(cv, i, j++, 0x2591); - cucul_putchar(cv, i, j++, 0x2591); - cucul_putchar(cv, i, j++, 0x2591); - cucul_putchar(cv, i, j++, 0x2592); - cucul_putchar(cv, i, j++, 0x2592); - cucul_putchar(cv, i, j++, 0x2592); - cucul_putchar(cv, i, j++, 0x2593); - cucul_putchar(cv, i, j++, 0x2593); - cucul_putchar(cv, i, j++, 0x2593); - cucul_set_color_ansi(cv, CUCUL_LIGHTBLUE, CUCUL_LIGHTBLUE); + caca_put_char(cv, i, j, ' '); + caca_put_char(cv, i, j++, 0x2591); + caca_put_char(cv, i, j++, 0x2591); + caca_put_char(cv, i, j++, 0x2591); + caca_put_char(cv, i, j++, 0x2592); + caca_put_char(cv, i, j++, 0x2592); + caca_put_char(cv, i, j++, 0x2592); + caca_put_char(cv, i, j++, 0x2593); + caca_put_char(cv, i, j++, 0x2593); + caca_put_char(cv, i, j++, 0x2593); + caca_set_color_ansi(cv, CACA_LIGHTBLUE, CACA_LIGHTBLUE); for( ; j < h; j++) - cucul_putchar(cv, i, j, ' '); + caca_put_char(cv, i, j, ' '); /* TODO: Draw the mountains */ /* Draw the ground */ j = h - ground[i]; - cucul_set_color_ansi(cv, CUCUL_BLACK, CUCUL_LIGHTBLUE); - if(i >= 4 && ground[i] == ground[i - 6] + caca_set_color_ansi(cv, CACA_BLACK, CACA_LIGHTBLUE); +/* if(i >= 4 && ground[i] == ground[i - 6] && ground[i] != ground[i - 7]) { - cucul_putstr(cv, i - 3, j - 2, "Omm"); - cucul_putstr(cv, i - 6, j - 1, "(/)-(/)"); - } - cucul_set_color_ansi(cv, CUCUL_RED, CUCUL_GREEN); + caca_putstr(cv, i - 3, j - 2, "Omm"); + caca_putstr(cv, i - 6, j - 1, "(/)-(/)"); + }*/ + caca_set_color_ansi(cv, CACA_RED, CACA_GREEN); if(ground[i + 1] > ground[i]) - cucul_putchar(cv, i, j++, 0x2588); // UTF-8: 0x259f + caca_put_char(cv, i, j++, 0x2588); // UTF-8: 0x259f else if(ground[i + 1] < ground[i]) { j++; - cucul_putchar(cv, i, j++, 0x2588); // UTF-8: 0x2599 + caca_put_char(cv, i, j++, 0x2588); // UTF-8: 0x2599 } else - cucul_putchar(cv, i, j++, 0x2584); - cucul_set_color_ansi(cv, CUCUL_RED, CUCUL_BROWN); - cucul_putchar(cv, i, j++, 0x2593); - cucul_putchar(cv, i, j++, 0x2592); - cucul_putchar(cv, i, j++, 0x2591); + caca_put_char(cv, i, j++, 0x2584); + caca_set_color_ansi(cv, CACA_RED, CACA_BROWN); + caca_put_char(cv, i, j++, 0x2593); + caca_put_char(cv, i, j++, 0x2592); + caca_put_char(cv, i, j++, 0x2591); for( ; j < h; j++) - cucul_putchar(cv, i, j, ' '); + caca_put_char(cv, i, j, ' '); } } static void display_stuff(void) { - cucul_blit(cv, shipx, shipy, ship, NULL); - cucul_blit(cv, 68, h - 22, alien, NULL); - cucul_blit(cv, 52, h - 16, alien, NULL); - cucul_set_color_ansi(cv, CUCUL_WHITE, CUCUL_BLUE); - cucul_printf(cv, 2, h - 2, " %i fps ", 1000000 / (1 + caca_get_display_time(dp))); + caca_blit(cv, shipx, shipy, ship, NULL); + caca_blit(cv, 68, h - 22, alien, NULL); + caca_blit(cv, 52, h - 16, alien, NULL); + caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE); + caca_printf(cv, 2, h - 2, " %i fps ", 1000000 / (1 + caca_get_display_time(dp))); } static void run_game(void) diff --git a/src/tunnel.c b/src/tunnel.c index 51e5b13..d8303f7 100644 --- a/src/tunnel.c +++ b/src/tunnel.c @@ -69,7 +69,7 @@ void draw_tunnel(game *g, tunnel *t) int i, j; char c; - cucul_set_color(g->cv, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK); + caca_set_color(g->cv, CACA_COLOR_RED, CACA_COLOR_BLACK); /* Left border */ for(i = 0; i < g->h ; i++) @@ -82,11 +82,11 @@ void draw_tunnel(game *g, tunnel *t) else c = (i == 0 || t->left[i] > t->left[i-1]) ? '\\' : '<'; - cucul_putchar(g->cv, t->left[i] + 1, i, c); + caca_putchar(g->cv, t->left[i] + 1, i, c); if(i + 1 < g->h) for(j = 1; j < t->left[i+1] - t->left[i]; j++) - cucul_putchar(g->cv, t->left[i] + j + 1, i, '_'); + caca_putchar(g->cv, t->left[i] + j + 1, i, '_'); } /* Right border */ @@ -102,22 +102,22 @@ void draw_tunnel(game *g, tunnel *t) if(i + 1 < g->h) for(j = 1; j < t->right[i] - t->right[i+1]; j++) - cucul_putchar(g->cv, t->right[i+1] + j - 1, i, '_'); + caca_putchar(g->cv, t->right[i+1] + j - 1, i, '_'); - cucul_putchar(g->cv, t->right[i] - 1, i, c); + caca_putchar(g->cv, t->right[i] - 1, i, c); } - cucul_set_color(g->cv, CUCUL_COLOR_LIGHTRED, CUCUL_COLOR_RED); + caca_set_color(g->cv, CACA_COLOR_LIGHTRED, CACA_COLOR_RED); /* Left concrete */ for(i = 0; i < g->h ; i++) for(j = 0 ; j <= t->left[i]; j++) - cucul_putchar(g->cv, j, i, '#'); + caca_putchar(g->cv, j, i, '#'); /* Right concrete */ for(i = 0; i < g->h ; i++) for(j = t->right[i] ; j < g->w ; j++) - cucul_putchar(g->cv, j, i, '#'); + caca_putchar(g->cv, j, i, '#'); } void update_tunnel(game *g, tunnel *t) @@ -133,8 +133,8 @@ void update_tunnel(game *g, tunnel *t) } /* Generate new values */ - i = delta[cucul_rand(0,5)]; - j = delta[cucul_rand(0,5)]; + i = delta[caca_rand(0,5)]; + j = delta[caca_rand(0,5)]; /* Check in which direction we need to alter tunnel */ if(t->right[1] - t->left[1] < t->w) diff --git a/src/weapons.c b/src/weapons.c index 0456f6b..46e76ec 100644 --- a/src/weapons.c +++ b/src/weapons.c @@ -24,12 +24,12 @@ static void draw_nuke(game *g, int x, int y, int frame); static void draw_beam(game *g, int x, int y, int frame); static void draw_fragbomb(game *g, int x, int y, int frame); -cucul_canvas_t *bomb_sprite; -cucul_canvas_t *fragbomb_sprite; +caca_canvas_t *bomb_sprite; +caca_canvas_t *fragbomb_sprite; void init_weapons(game *g, weapons *wp) { - cucul_buffer_t *b; + caca_buffer_t *b; int i; for(i = 0; i < WEAPONS; i++) @@ -37,13 +37,13 @@ void init_weapons(game *g, weapons *wp) wp->type[i] = WEAPON_NONE; } - b = cucul_load_file("data/wpnbomb.caca"); - bomb_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/wpnbomb.caca"); + bomb_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); - b = cucul_load_file("data/wpnfrag.caca"); - bomb_sprite = cucul_import_canvas(b, ""); - cucul_free_buffer(b); + b = caca_load_file("data/wpnfrag.caca"); + bomb_sprite = caca_import_canvas(b, ""); + caca_free_buffer(b); } void draw_weapons(game *g, weapons *wp) @@ -55,25 +55,25 @@ void draw_weapons(game *g, weapons *wp) switch(wp->type[i]) { case WEAPON_LASER: - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '|'); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, wp->x[i] >> 4, (wp->y[i] >> 4) + 1, '|'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '|'); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putchar(g->cv, wp->x[i] >> 4, (wp->y[i] >> 4) + 1, '|'); break; case WEAPON_SEEKER: - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.'); - cucul_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, 'o'); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '@'); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.'); + caca_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, 'o'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '@'); break; case WEAPON_BOMB: - cucul_set_color(g->cv, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4, '.'); - cucul_putchar(g->cv, (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4, '.'); - cucul_putchar(g->cv, (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4, '.'); - cucul_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.'); - cucul_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, '.'); + caca_set_color(g->cv, CACA_COLOR_DARKGRAY, CACA_COLOR_BLACK); + caca_putchar(g->cv, (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4, '.'); + caca_putchar(g->cv, (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4, '.'); + caca_putchar(g->cv, (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4, '.'); + caca_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.'); + caca_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, '.'); draw_bomb(g, wp->x[i] >> 4, wp->y[i] >> 4, wp->vx[i], wp->vy[i]); break; case WEAPON_FRAGBOMB: @@ -333,19 +333,19 @@ static void draw_bomb(game *g, int x, int y, int vx, int vy) } } - cucul_set_canvas_frame(bomb_sprite, frame); - cucul_blit(g->cv, x, y, bomb_sprite, NULL); + caca_set_canvas_frame(bomb_sprite, frame); + caca_blit(g->cv, x, y, bomb_sprite, NULL); } static void draw_fragbomb(game *g, int x, int y, int frame) { /* Draw the head */ - cucul_set_canvas_frame(fragbomb_sprite, frame & 1); - cucul_blit(g->cv, x, y, fragbomb_sprite, NULL); + caca_set_canvas_frame(fragbomb_sprite, frame & 1); + caca_blit(g->cv, x, y, fragbomb_sprite, NULL); /* Draw the tail */ - cucul_set_canvas_frame(fragbomb_sprite, 2 + (frame % 4)); - cucul_blit(g->cv, x, y, fragbomb_sprite, NULL); + caca_set_canvas_frame(fragbomb_sprite, 2 + (frame % 4)); + caca_blit(g->cv, x, y, fragbomb_sprite, NULL); } static void draw_beam(game *g, int x, int y, int frame) @@ -356,86 +356,86 @@ static void draw_beam(game *g, int x, int y, int frame) switch(frame) { case 24: - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x, y-3, "__"); - cucul_putchar(g->cv, x-1, y-2, '\''); - cucul_putchar(g->cv, x+2, y-2, '`'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x, y-3, "__"); + caca_putchar(g->cv, x-1, y-2, '\''); + caca_putchar(g->cv, x+2, y-2, '`'); break; case 23: - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x, y-3, "__"); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x-2, y-2, "-'"); - cucul_putstr(g->cv, x+2, y-2, "`-"); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putstr(g->cv, x, y-3, "__"); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x-2, y-2, "-'"); + caca_putstr(g->cv, x+2, y-2, "`-"); break; case 22: - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x, y-3, "__"); - cucul_putchar(g->cv, x-1, y-2, '\''); - cucul_putchar(g->cv, x+2, y-2, '`'); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x-3, y-2, ",-"); - cucul_putstr(g->cv, x+3, y-2, "-."); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putstr(g->cv, x, y-3, "__"); + caca_putchar(g->cv, x-1, y-2, '\''); + caca_putchar(g->cv, x+2, y-2, '`'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x-3, y-2, ",-"); + caca_putstr(g->cv, x+3, y-2, "-."); break; case 21: - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x-1, y-3, "____"); - cucul_putchar(g->cv, x-2, y-2, '\''); - cucul_putchar(g->cv, x+3, y-2, '`'); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x-4, y-2, ",-"); - cucul_putstr(g->cv, x+4, y-2, "-."); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putstr(g->cv, x-1, y-3, "____"); + caca_putchar(g->cv, x-2, y-2, '\''); + caca_putchar(g->cv, x+3, y-2, '`'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x-4, y-2, ",-"); + caca_putstr(g->cv, x+4, y-2, "-."); break; case 20: - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x, y-3, "%%"); - cucul_putchar(g->cv, x-4, y-2, ','); - cucul_putchar(g->cv, x+5, y-2, '.'); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-1, y-3, ':'); - cucul_putchar(g->cv, x+2, y-3, ':'); - cucul_putstr(g->cv, x-3, y-2, "-'"); - cucul_putstr(g->cv, x+3, y-2, "`-"); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x, y-3, "%%"); + caca_putchar(g->cv, x-4, y-2, ','); + caca_putchar(g->cv, x+5, y-2, '.'); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-1, y-3, ':'); + caca_putchar(g->cv, x+2, y-3, ':'); + caca_putstr(g->cv, x-3, y-2, "-'"); + caca_putstr(g->cv, x+3, y-2, "`-"); break; case 19: - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x, y-4, "%%"); - cucul_putstr(g->cv, x, y-3, "##"); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-1, y-4, ':'); - cucul_putchar(g->cv, x+2, y-4, ':'); - cucul_putchar(g->cv, x-1, y-3, '%'); - cucul_putchar(g->cv, x+2, y-3, '%'); - cucul_putstr(g->cv, x-4, y-2, ",-'"); - cucul_putstr(g->cv, x+3, y-2, "`-."); - cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-2, y-3, ':'); - cucul_putchar(g->cv, x+3, y-3, ':'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x, y-4, "%%"); + caca_putstr(g->cv, x, y-3, "##"); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-1, y-4, ':'); + caca_putchar(g->cv, x+2, y-4, ':'); + caca_putchar(g->cv, x-1, y-3, '%'); + caca_putchar(g->cv, x+2, y-3, '%'); + caca_putstr(g->cv, x-4, y-2, ",-'"); + caca_putstr(g->cv, x+3, y-2, "`-."); + caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-2, y-3, ':'); + caca_putchar(g->cv, x+3, y-3, ':'); break; case 18: default: r = (18 - frame) * (18 - frame); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x-1, y-5-r, ":%%:"); - cucul_putstr(g->cv, x-1, y-4-r, "%##%"); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-2, y-4-r, ':'); - cucul_putchar(g->cv, x+3, y-4-r, ':'); - cucul_putchar(g->cv, x-2, y-2, '\''); - cucul_putchar(g->cv, x+3, y-2, '`'); - cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-3, y-2, ':'); - cucul_putchar(g->cv, x+4, y-2, ':'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x-1, y-5-r, ":%%:"); + caca_putstr(g->cv, x-1, y-4-r, "%##%"); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-2, y-4-r, ':'); + caca_putchar(g->cv, x+3, y-4-r, ':'); + caca_putchar(g->cv, x-2, y-2, '\''); + caca_putchar(g->cv, x+3, y-2, '`'); + caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-3, y-2, ':'); + caca_putchar(g->cv, x+4, y-2, ':'); for(i = 0; i <= r; i++) { - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK); - cucul_putstr(g->cv, x-1, y-3-i, ((i+frame) % 5) ? "####" : "%%%%"); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-2, y-3-i, '%'); - cucul_putchar(g->cv, x+3, y-3-i, '%'); - cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK); - cucul_putchar(g->cv, x-3, y-3-i, ':'); - cucul_putchar(g->cv, x+4, y-3-i, ':'); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK); + caca_putstr(g->cv, x-1, y-3-i, ((i+frame) % 5) ? "####" : "%%%%"); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-2, y-3-i, '%'); + caca_putchar(g->cv, x+3, y-3-i, '%'); + caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK); + caca_putchar(g->cv, x-3, y-3-i, ':'); + caca_putchar(g->cv, x+4, y-3-i, ':'); } break; } @@ -446,20 +446,20 @@ static void draw_nuke(game *g, int x, int y, int frame) int r = (29 - frame) * (29 - frame) / 8; /* Lots of duplicate pixels, but we don't care */ - cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK); - cucul_draw_ellipse(g->cv, x, y, r, r / 2, ":"); - cucul_set_color(g->cv, CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_BLUE); - cucul_draw_ellipse(g->cv, x, y, r + 1, r / 2, "#"); - cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_LIGHTBLUE); - cucul_draw_ellipse(g->cv, x, y, r + 2, r / 2, "#"); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_LIGHTBLUE); - cucul_draw_ellipse(g->cv, x, y, r + 2, r / 2 + 1, "#"); - cucul_set_color(g->cv, CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_CYAN); - cucul_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 1, "#"); - cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_CYAN); - cucul_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 2, "#"); - cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_WHITE); - cucul_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 2, "#"); - cucul_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 3, " "); + caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK); + caca_draw_ellipse(g->cv, x, y, r, r / 2, ":"); + caca_set_color(g->cv, CACA_COLOR_LIGHTBLUE, CACA_COLOR_BLUE); + caca_draw_ellipse(g->cv, x, y, r + 1, r / 2, "#"); + caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_LIGHTBLUE); + caca_draw_ellipse(g->cv, x, y, r + 2, r / 2, "#"); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_LIGHTBLUE); + caca_draw_ellipse(g->cv, x, y, r + 2, r / 2 + 1, "#"); + caca_set_color(g->cv, CACA_COLOR_LIGHTBLUE, CACA_COLOR_CYAN); + caca_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 1, "#"); + caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_CYAN); + caca_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 2, "#"); + caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_WHITE); + caca_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 2, "#"); + caca_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 3, " "); }