Ignore:
Timestamp:
Sep 18, 2006, 6:54:08 PM (17 years ago)
Author:
Sam Hocevar
Message:
  • Bring the tree back in sync with the new libcaca API.
Location:
ttyvaders/trunk/src
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • ttyvaders/trunk/src/aliens.c

    r544 r1057  
    2727#include "common.h"
    2828
    29 struct cucul_sprite *foo_sprite;
    30 struct cucul_sprite *bar_sprite;
    31 struct cucul_sprite *baz_sprite;
     29cucul_canvas_t *foo_sprite;
     30cucul_canvas_t *bar_sprite;
     31cucul_canvas_t *baz_sprite;
    3232
    3333void init_aliens(game *g, aliens *al)
    3434{
     35    cucul_buffer_t *b;
    3536    int i;
    3637
     
    4041    }
    4142
    42     foo_sprite = cucul_load_sprite(g->qq, "data/foofight.txt");
    43     bar_sprite = cucul_load_sprite(g->qq, "data/barfight.txt");
    44     baz_sprite = cucul_load_sprite(g->qq, "data/bazfight.txt");
     43    b = cucul_load_file("data/foofight.caca");
     44    foo_sprite = cucul_import_canvas(b, "");
     45    cucul_free_buffer(b);
     46
     47    b = cucul_load_file("data/barfight.caca");
     48    bar_sprite = cucul_import_canvas(b, "");
     49    cucul_free_buffer(b);
     50
     51    b = cucul_load_file("data/bazfight.caca");
     52    baz_sprite = cucul_import_canvas(b, "");
     53    cucul_free_buffer(b);
    4554}
    4655
     
    5463        {
    5564            case ALIEN_FOO:
    56                 cucul_draw_sprite(g->qq, al->x[i], al->y[i], foo_sprite, al->img[i] % 5);
     65                cucul_set_canvas_frame(foo_sprite, al->img[i] % 5);
     66                cucul_blit(g->cv, al->x[i], al->y[i], foo_sprite, NULL);
    5767                break;
    5868            case ALIEN_BAR:
    59                 cucul_draw_sprite(g->qq, al->x[i], al->y[i], bar_sprite, al->img[i] % 2);
     69                cucul_set_canvas_frame(bar_sprite, al->img[i] % 2);
     70                cucul_blit(g->cv, al->x[i], al->y[i], bar_sprite, NULL);
    6071                break;
    6172            case ALIEN_BAZ:
    62                 cucul_draw_sprite(g->qq, al->x[i], al->y[i], baz_sprite, al->img[i] % 4);
     73                cucul_set_canvas_frame(baz_sprite, al->img[i] % 4);
     74                cucul_blit(g->cv, al->x[i], al->y[i], baz_sprite, NULL);
    6375                break;
    6476            case ALIEN_NONE:
  • ttyvaders/trunk/src/bonus.c

    r544 r1057  
    2727#include "common.h"
    2828
    29 struct cucul_sprite *heart_sprite;
    30 struct cucul_sprite *gem_sprite;
     29cucul_canvas_t *heart_sprite;
     30cucul_canvas_t *gem_sprite;
    3131
    3232void init_bonus(game *g, bonus *bo)
    3333{
     34    cucul_buffer_t *b;
    3435    int i;
    3536
     
    3940    }
    4041
    41     heart_sprite = cucul_load_sprite(g->qq, "data/bonheart.txt");
    42     gem_sprite = cucul_load_sprite(g->qq, "data/bongem.txt");
     42    b = cucul_load_file("data/bonheart.caca");
     43    heart_sprite = cucul_import_canvas(b, "");
     44    cucul_free_buffer(b);
     45
     46    b = cucul_load_file("data/bongem.caca");
     47    gem_sprite = cucul_import_canvas(b, "");
     48    cucul_free_buffer(b);
    4349}
    4450
     
    5258        {
    5359            case BONUS_GREEN:
    54                 cucul_draw_sprite(g->qq, bo->x[i], bo->y[i], gem_sprite,
    55                                   (bo->n[i]/2 % 3) ? 0 : 1);
     60                cucul_set_canvas_frame(gem_sprite, (bo->n[i]/2 % 3) ? 0 : 1);
     61                cucul_blit(g->cv, bo->x[i], bo->y[i], gem_sprite, NULL);
    5662                break;
    5763            case BONUS_LIFE:
    58                 cucul_draw_sprite(g->qq, bo->x[i], bo->y[i], heart_sprite,
    59                                   (bo->n[i] % 3) ? 0 : 1);
     64                cucul_set_canvas_frame(heart_sprite, (bo->n[i] % 3) ? 0 : 1);
     65                cucul_blit(g->cv, bo->x[i], bo->y[i], heart_sprite, NULL);
    6066                break;
    6167            case BONUS_NONE:
  • ttyvaders/trunk/src/box.c

    r544 r1057  
    4646    int j, frame;
    4747
    48     cucul_set_color(g->qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     48    cucul_set_color(g->cv, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
    4949
    5050    /* Draw the thin horizontal line */
    5151    if(b->frame < 8)
    5252    {
    53         cucul_draw_line(g->qq, b->x - b->w * b->frame / 16, b->y,
    54                                b->x + b->w * b->frame / 16 - 1, b->y, 'X');
     53        cucul_draw_line(g->cv, b->x - b->w * b->frame / 16, b->y,
     54                               b->x + b->w * b->frame / 16 - 1, b->y, "X");
    5555        return;
    5656    }
     
    5959    frame = b->frame < 12 ? b->frame : 12;
    6060
    61     cucul_draw_line(g->qq, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8,
    62                     b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8, 'X');
    63     cucul_draw_line(g->qq, b->x - b->w / 2, b->y + b->h * (frame - 8) / 8,
    64                     b->x + b->w / 2 - 1, b->y + b->h * (frame - 8) / 8, 'X');
     61    cucul_draw_line(g->cv, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8,
     62                    b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8, "X");
     63    cucul_draw_line(g->cv, b->x - b->w / 2, b->y + b->h * (frame - 8) / 8,
     64                    b->x + b->w / 2 - 1, b->y + b->h * (frame - 8) / 8, "X");
    6565
    66     cucul_draw_line(g->qq, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8,
    67                     b->x - b->w / 2, b->y + b->h * (frame - 8) / 8 - 1, 'X');
    68     cucul_draw_line(g->qq, b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8,
    69                b->x + b->w / 2 - 1, b->y + b->h * (frame - 8) / 8 - 1, 'X');
     66    cucul_draw_line(g->cv, b->x - b->w / 2, b->y - b->h * (frame - 8) / 8,
     67                    b->x - b->w / 2, b->y + b->h * (frame - 8) / 8 - 1, "X");
     68    cucul_draw_line(g->cv, b->x + b->w / 2 - 1, b->y - b->h * (frame - 8) / 8,
     69               b->x + b->w / 2 - 1, b->y + b->h * (frame - 8) / 8 - 1, "X");
    7070
    71     cucul_set_color(g->qq, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK);
     71    cucul_set_color(g->cv, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK);
    7272
    7373    for(j = b->y - b->h * (frame - 8) / 8 + 1;
     
    7575         j++)
    7676    {
    77         cucul_draw_line(g->qq, b->x - b->w / 2 + 1, j,
    78                         b->x + b->w / 2 - 2, j, 'X');
     77        cucul_draw_line(g->cv, b->x - b->w / 2 + 1, j,
     78                        b->x + b->w / 2 - 2, j, "X");
    7979    }
    8080
     
    8585
    8686    /* Draw the text inside the frame */
    87     cucul_set_color(g->qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     87    cucul_set_color(g->cv, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
    8888
    8989    /* FIXME: use a font */
    90     cucul_putstr(g->qq, b->x - b->w / 2 + 12, b->y - b->h / 2 + 2,
     90    cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 2,
    9191                 "XXXX.  .XXXX  X   X  .XXXX  .XXXX  XXXX.");
    92     cucul_putstr(g->qq, b->x - b->w / 2 + 12, b->y - b->h / 2 + 3,
     92    cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 3,
    9393                 "X  `X  X'  X  X   X  X'     X'     X  `X");
    94     cucul_putstr(g->qq, b->x - b->w / 2 + 12, b->y - b->h / 2 + 4,
     94    cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 4,
    9595                 "XXXX'  XXXXX  X   X  `XXX   XXXX   X   X");
    96     cucul_putstr(g->qq, b->x - b->w / 2 + 12, b->y - b->h / 2 + 5,
     96    cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 5,
    9797                 "X'     X' `X  X. ,X     `X  X'     X  ,X");
    98     cucul_putstr(g->qq, b->x - b->w / 2 + 12, b->y - b->h / 2 + 6,
     98    cucul_putstr(g->cv, b->x - b->w / 2 + 12, b->y - b->h / 2 + 6,
    9999                 "X      X   X  `XXXX  XXXX'  `XXXX  XXXX'");
    100100}
  • ttyvaders/trunk/src/ceo.c

    r544 r1057  
    3434    while(!end)
    3535    {
    36         cucul_clear(g->qq);
     36        caca_event_t ev;
    3737
    38         if(caca_get_event(g->kk, CACA_EVENT_KEY_PRESS)
    39             == (CACA_EVENT_KEY_PRESS | '\t'))
     38        cucul_clear_canvas(g->cv);
     39
     40        if(caca_get_event(g->dp, CACA_EVENT_KEY_PRESS, &ev, 0)
     41            && ev.data.key.ch == '\t')
    4042        {
    4143            end = 1;
     
    4446        fprintf(stderr, "foo\n");
    4547
    46         caca_display(g->qq);
     48        caca_refresh_display(g->cv);
    4749
    4850        usleep(40000);
  • ttyvaders/trunk/src/common.h

    r544 r1057  
    4343 * Graphics primitives
    4444 */
    45 #include "caca.h"
     45#include <caca.h>
    4646
    4747/*
     
    133133    int w, h;
    134134
    135     cucul_t *qq;
    136     caca_t *kk;
     135    cucul_canvas_t *cv;
     136    caca_display_t *dp;
    137137
    138138    starfield *sf;
  • ttyvaders/trunk/src/explosions.c

    r544 r1057  
    2727#include "common.h"
    2828
    29 struct cucul_sprite *medium_sprite;
    30 struct cucul_sprite *small_sprite;
     29cucul_canvas_t *medium_sprite;
     30cucul_canvas_t *small_sprite;
    3131
    3232void init_explosions(game *g, explosions *ex)
    3333{
     34    cucul_buffer_t *b;
    3435    int i;
    3536
     
    3940    }
    4041
    41     medium_sprite = cucul_load_sprite(g->qq, "data/xplmed.txt");
    42     small_sprite = cucul_load_sprite(g->qq, "data/xplsmall.txt");
     42    b = cucul_load_file("data/xplmed.caca");
     43    medium_sprite = cucul_import_canvas(b, "");
     44    cucul_free_buffer(b);
     45
     46    b = cucul_load_file("data/xplsmall.caca");
     47    small_sprite = cucul_import_canvas(b, "");
     48    cucul_free_buffer(b);
    4349}
    4450
     
    7783    {
    7884#if 0
    79         cucul_set_fg_color(g->qq, CACA_COLOR_GREEN);
    80         cucul_goto(g->qq, ex->x[i] + 3, ex->y[i]);
     85        cucul_set_fg_color(g->cv, CACA_COLOR_GREEN);
     86        cucul_goto(g->cv, ex->x[i] + 3, ex->y[i]);
    8187        switch(cucul_rand(0,2))
    8288        {
    8389        case 0:
    84             cucul_putchar(g->qq, 'p');
    85             cucul_putchar(g->qq, 'i');
    86             cucul_putchar(g->qq, 'f');
     90            cucul_putchar(g->cv, 'p');
     91            cucul_putchar(g->cv, 'i');
     92            cucul_putchar(g->cv, 'f');
    8793            break;
    8894        case 1:
    89             cucul_putchar(g->qq, 'p');
    90             cucul_putchar(g->qq, 'a');
    91             cucul_putchar(g->qq, 'f');
     95            cucul_putchar(g->cv, 'p');
     96            cucul_putchar(g->cv, 'a');
     97            cucul_putchar(g->cv, 'f');
    9298            break;
    9399        case 2:
    94             cucul_putchar(g->qq, 'p');
    95             cucul_putchar(g->qq, 'o');
    96             cucul_putchar(g->qq, 'u');
    97             cucul_putchar(g->qq, 'f');
     100            cucul_putchar(g->cv, 'p');
     101            cucul_putchar(g->cv, 'o');
     102            cucul_putchar(g->cv, 'u');
     103            cucul_putchar(g->cv, 'f');
    98104            break;
    99105        }
    100         cucul_putchar(g->qq, '!');
     106        cucul_putchar(g->cv, '!');
    101107#endif
    102108
     
    104110        {
    105111            case EXPLOSION_MEDIUM:
    106                 cucul_draw_sprite(g->qq, ex->x[i], ex->y[i], medium_sprite,
    107                                   10 - ex->n[i]);
     112                cucul_set_canvas_frame(medium_sprite, 10 - ex->n[i]);
     113                cucul_blit(g->cv, ex->x[i], ex->y[i], medium_sprite, NULL);
    108114                break;
    109115            case EXPLOSION_SMALL:
    110                 cucul_draw_sprite(g->qq, ex->x[i], ex->y[i], small_sprite,
    111                                   6 - ex->n[i]);
     116                cucul_set_canvas_frame(small_sprite, 6 - ex->n[i]);
     117                cucul_blit(g->cv, ex->x[i], ex->y[i], small_sprite, NULL);
    112118                break;
    113119            case EXPLOSION_NONE:
  • ttyvaders/trunk/src/intro.c

    r544 r1057  
    3131void intro(game *g)
    3232{
    33     struct cucul_sprite *foo_sprite = cucul_load_sprite(g->qq, "data/foofight.txt");
    34     struct cucul_sprite *bar_sprite = cucul_load_sprite(g->qq, "data/barfight.txt");
    35     struct cucul_sprite *baz_sprite = cucul_load_sprite(g->qq, "data/bazfight.txt");
    36 
     33    caca_event_t ev;
     34    cucul_canvas_t *foo_sprite;
     35    cucul_canvas_t *bar_sprite;
     36    cucul_canvas_t *baz_sprite;
     37    cucul_buffer_t *b;
    3738    int frame = 0;
    3839
    39     while(caca_get_event(g->kk, CACA_EVENT_KEY_PRESS) == 0)
     40    b = cucul_load_file("data/foofight.caca");
     41    foo_sprite = cucul_import_canvas(b, "");
     42    cucul_free_buffer(b);
     43
     44    b = cucul_load_file("data/barfight.caca");
     45    bar_sprite = cucul_import_canvas(b, "");
     46    cucul_free_buffer(b);
     47
     48    b = cucul_load_file("data/bazfight.caca");
     49    baz_sprite = cucul_import_canvas(b, "");
     50    cucul_free_buffer(b);
     51
     52    while(caca_get_event(g->dp, CACA_EVENT_KEY_PRESS, &ev, 0) == 0)
    4053    {
    4154        int i, xo, yo, x[5], y[5];
     
    4356        frame++;
    4457
    45         cucul_clear(g->qq);
     58        cucul_clear_canvas(g->cv);
    4659
    47         xo = cucul_get_width(g->qq) / 2;
    48         yo = cucul_get_height(g->qq) / 2;
     60        xo = cucul_get_canvas_width(g->cv) / 2;
     61        yo = cucul_get_canvas_height(g->cv) / 2;
    4962
    50         cucul_set_color(g->qq, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
    51         cucul_fill_ellipse(g->qq, xo, yo, 16, 8, '#');
    52         cucul_set_color(g->qq, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
    53         cucul_draw_thin_ellipse(g->qq, xo, yo, 16, 8);
     63        cucul_set_color(g->cv, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
     64        cucul_fill_ellipse(g->cv, xo, yo, 16, 8, "#");
     65        cucul_set_color(g->cv, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
     66        cucul_draw_thin_ellipse(g->cv, xo, yo, 16, 8);
    5467
    5568        for(i = 0; i < 4; i ++)
     
    6174        y[4] = y[0];
    6275
    63         cucul_set_color(g->qq, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK);
    64         cucul_fill_triangle(g->qq, x[0], y[0], x[1], y[1], x[2], y[2], ' ');
    65         cucul_fill_triangle(g->qq, x[0], y[0], x[3], y[3], x[2], y[2], ' ');
    66         cucul_draw_line(g->qq, x[0], y[0], x[2], y[2], ' ');
    67         cucul_set_color(g->qq, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
    68         cucul_draw_thin_polyline(g->qq, x, y, 4);
     76        cucul_set_color(g->cv, CUCUL_COLOR_BLACK, CUCUL_COLOR_BLACK);
     77        cucul_fill_triangle(g->cv, x[0], y[0], x[1], y[1], x[2], y[2], " ");
     78        cucul_fill_triangle(g->cv, x[0], y[0], x[3], y[3], x[2], y[2], " ");
     79        cucul_draw_line(g->cv, x[0], y[0], x[2], y[2], " ");
     80        cucul_set_color(g->cv, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
     81        cucul_draw_thin_polyline(g->cv, x, y, 4);
    6982
    70         cucul_draw_sprite(g->qq, xo, yo, foo_sprite, frame % 5);
     83        cucul_set_canvas_frame(foo_sprite, frame % 5);
     84        cucul_blit(g->cv, xo, yo, foo_sprite, NULL);
    7185
    72         caca_display(g->kk);
     86        caca_refresh_display(g->dp);
    7387
    7488        usleep(40000);
  • ttyvaders/trunk/src/main.c

    r544 r1057  
    3434static void start_game (game *);
    3535
    36 int main (int argc, char **argv)
     36int _main (int argc, char **argv)
    3737{
    3838    game *g = malloc(sizeof(game));
     
    4242    srand(time(NULL));
    4343
    44     g->qq = cucul_init();
    45     if(!g->qq)
     44    g->cv = cucul_create_canvas(0, 0);
     45    if(!g->cv)
    4646        return 1;
    4747
    48     g->kk = caca_attach(g->qq);
    49     if(!g->kk)
     48    g->dp = caca_create_display(g->cv);
     49    if(!g->dp)
    5050        return 1;
    5151
    52     caca_set_delay(g->kk, 40000);
     52    caca_set_display_time(g->dp, 40000);
    5353
    5454    /* Initialize our program */
    55     g->w = cucul_get_width(g->qq);
    56     g->h = cucul_get_height(g->qq);
     55    g->w = cucul_get_canvas_width(g->cv);
     56    g->h = cucul_get_canvas_height(g->cv);
    5757
    5858intro(g);
     
    6262
    6363    /* Clean up */
    64     caca_detach(g->kk);
    65     cucul_end(g->qq);
     64    caca_free_display(g->dp);
     65    cucul_free_canvas(g->cv);
    6666
    6767    return 0;
     
    103103    while(!quit)
    104104    {
    105         int event, key;
    106 
    107         while((event = caca_get_event(g->kk, CACA_EVENT_KEY_PRESS)))
     105        caca_event_t ev;
     106
     107        while(caca_get_event(g->dp, CACA_EVENT_KEY_PRESS, &ev, 0))
    108108        {
    109             key = event & 0xffffff;
    110 
    111             switch(key)
     109            switch(ev.data.key.ch)
    112110            {
    113111            case 'q':
     
    139137                }
    140138
    141                 switch(key)
     139                switch(ev.data.key.ch)
    142140                {
    143141                case 'h':
     
    238236
    239237        /* Clear screen */
    240         cucul_clear(g->qq);
     238        cucul_clear_canvas(g->cv);
    241239
    242240        /* Print starfield, tunnel, aliens, player and explosions */
     
    258256
    259257        /* Refresh */
    260         caca_display(g->kk);
     258        caca_refresh_display(g->dp);
    261259
    262260        purcompteur++;
  • ttyvaders/trunk/src/overlay.c

    r544 r1057  
    3333
    3434    /* Draw life jauge */
    35     cucul_set_color(g->qq, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK);
    36     cucul_putstr(g->qq, 4, 1, dots30);
     35    cucul_set_color(g->cv, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK);
     36    cucul_putstr(g->cv, 4, 1, dots30);
    3737
    3838    if(g->p->life > MAX_LIFE * 7 / 10)
    3939    {
    40         cucul_set_color(g->qq, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
     40        cucul_set_color(g->cv, CUCUL_COLOR_GREEN, CUCUL_COLOR_BLACK);
    4141    }
    4242    else if(g->p->life > MAX_LIFE * 3 / 10)
    4343    {
    44         cucul_set_color(g->qq, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
     44        cucul_set_color(g->cv, CUCUL_COLOR_YELLOW, CUCUL_COLOR_BLACK);
    4545    }
    4646    else
    4747    {
    48         cucul_set_color(g->qq, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
     48        cucul_set_color(g->cv, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
    4949    }
    5050
    51     cucul_putstr(g->qq, 4, 1, dashes30 + (MAX_LIFE - g->p->life) * 30 / MAX_LIFE);
     51    cucul_putstr(g->cv, 4, 1, dashes30 + (MAX_LIFE - g->p->life) * 30 / MAX_LIFE);
    5252
    53     cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    54     cucul_putstr(g->qq, 1, 1, "L |");
    55     cucul_putstr(g->qq, 34, 1, "|");
     53    cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     54    cucul_putstr(g->cv, 1, 1, "L |");
     55    cucul_putstr(g->cv, 34, 1, "|");
    5656
    5757    /* Draw weapon jauge */
    58     cucul_set_color(g->qq, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK);
    59     cucul_putstr(g->qq, 42, 1, dots30 + 10);
     58    cucul_set_color(g->cv, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK);
     59    cucul_putstr(g->cv, 42, 1, dots30 + 10);
    6060
    6161    if(g->p->special > MAX_SPECIAL * 9 / 10)
    6262    {
    63         cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     63        cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    6464    }
    6565    else if(g->p->special > MAX_SPECIAL * 3 / 10)
    6666    {
    67         cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     67        cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    6868    }
    6969    else
    7070    {
    71         cucul_set_color(g->qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
     71        cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
    7272    }
    7373
    74     cucul_putstr(g->qq, 42, 1, dashes30 + 10
     74    cucul_putstr(g->cv, 42, 1, dashes30 + 10
    7575                       + (MAX_SPECIAL - g->p->special) * 20 / MAX_SPECIAL);
    7676
    77     cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    78     cucul_putstr(g->qq, 39, 1, "S |");
    79     cucul_putstr(g->qq, 62, 1, "|");
     77    cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     78    cucul_putstr(g->cv, 39, 1, "S |");
     79    cucul_putstr(g->cv, 62, 1, "|");
    8080}
    8181
  • ttyvaders/trunk/src/player.c

    r544 r1057  
    2727#include "common.h"
    2828
    29 struct cucul_sprite *ship_sprite;
     29cucul_canvas_t *ship_sprite;
    3030
    3131/* Init tunnel */
    3232player * create_player(game *g)
    3333{
     34    cucul_buffer_t *b;
     35
    3436    player *p = malloc(sizeof(player));
    3537    if(p == NULL)
     
    4547    p->dead = 0;
    4648
    47     ship_sprite = cucul_load_sprite(g->qq, "data/ship.txt");
     49    b = cucul_load_file("data/ship.caca");
     50    ship_sprite = cucul_import_canvas(b, "");
     51    cucul_free_buffer(b);
    4852
    4953    return p;
     
    6064        return;
    6165
    62     cucul_draw_sprite(g->qq, p->x, p->y, ship_sprite, 0);
     66    cucul_set_canvas_frame(ship_sprite, 0);
     67    cucul_blit(g->cv, p->x, p->y, ship_sprite, NULL);
    6368}
    6469
  • ttyvaders/trunk/src/starfield.c

    r544 r1057  
    5656        if(s[i].x >= 0)
    5757        {
    58             cucul_set_color(g->qq, s[i].c, CUCUL_COLOR_BLACK);
    59             cucul_putchar(g->qq, s[i].x, s[i].y, s[i].ch);
     58            cucul_set_color(g->cv, s[i].c, CUCUL_COLOR_BLACK);
     59            cucul_putchar(g->cv, s[i].x, s[i].y, s[i].ch);
    6060        }
    6161    }
  • ttyvaders/trunk/src/ttyvaders.c

    r990 r1057  
    131131        j = h - ground[i];
    132132        cucul_set_color(cv, CUCUL_COLOR_BLACK, CUCUL_COLOR_LIGHTBLUE);
    133         if(i >= 4 && ground[i] == ground[i - 3]
    134                   && ground[i] != ground[i - 4])
     133        if(i >= 4 && ground[i] == ground[i - 6]
     134                  && ground[i] != ground[i - 7])
    135135        {
    136             cucul_putstr(cv, i - 3, j - 2, "||\\");
    137             cucul_putstr(cv, i - 3, j - 1, "o--o");
     136            cucul_putstr(cv, i - 3, j - 2,    "Omm");
     137            cucul_putstr(cv, i - 6, j - 1, "(/)-(/)");
    138138        }
    139139        cucul_set_color(cv, CUCUL_COLOR_RED, CUCUL_COLOR_GREEN);
    140140        if(ground[i + 1] > ground[i])
    141             cucul_putchar(cv, i, j++, 0x259f);
     141            cucul_putchar(cv, i, j++, 0x2588); // UTF-8: 0x259f
    142142        else if(ground[i + 1] < ground[i])
    143143        {
    144144            j++;
    145             cucul_putchar(cv, i, j++, 0x2599);
     145            cucul_putchar(cv, i, j++, 0x2588); // UTF-8: 0x2599
    146146        }
    147147        else
  • ttyvaders/trunk/src/tunnel.c

    r544 r1057  
    7878    char c;
    7979
    80     cucul_set_color(g->qq, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
     80    cucul_set_color(g->cv, CUCUL_COLOR_RED, CUCUL_COLOR_BLACK);
    8181
    8282    /* Left border */
     
    9191            c = (i == 0 || t->left[i] > t->left[i-1]) ? '\\' : '<';
    9292
    93         cucul_putchar(g->qq, t->left[i] + 1, i, c);
     93        cucul_putchar(g->cv, t->left[i] + 1, i, c);
    9494
    9595        if(i + 1 < g->h)
    9696            for(j = 1; j < t->left[i+1] - t->left[i]; j++)
    97                 cucul_putchar(g->qq, t->left[i] + j + 1, i, '_');
     97                cucul_putchar(g->cv, t->left[i] + j + 1, i, '_');
    9898    }
    9999
     
    111111        if(i + 1 < g->h)
    112112            for(j = 1; j < t->right[i] - t->right[i+1]; j++)
    113                 cucul_putchar(g->qq, t->right[i+1] + j - 1, i, '_');
    114 
    115         cucul_putchar(g->qq, t->right[i] - 1, i, c);
    116     }
    117 
    118     cucul_set_color(g->qq, CUCUL_COLOR_LIGHTRED, CUCUL_COLOR_RED);
     113                cucul_putchar(g->cv, t->right[i+1] + j - 1, i, '_');
     114
     115        cucul_putchar(g->cv, t->right[i] - 1, i, c);
     116    }
     117
     118    cucul_set_color(g->cv, CUCUL_COLOR_LIGHTRED, CUCUL_COLOR_RED);
    119119
    120120    /* Left concrete */
    121121    for(i = 0; i < g->h ; i++)
    122122        for(j = 0 ; j <= t->left[i]; j++)
    123             cucul_putchar(g->qq, j, i, '#');
     123            cucul_putchar(g->cv, j, i, '#');
    124124
    125125    /* Right concrete */
    126126    for(i = 0; i < g->h ; i++)
    127127        for(j = t->right[i] ; j < g->w ; j++)
    128             cucul_putchar(g->qq, j, i, '#');
     128            cucul_putchar(g->cv, j, i, '#');
    129129}
    130130
  • ttyvaders/trunk/src/weapons.c

    r544 r1057  
    2424
    2525#include <stdlib.h>
     26#include <math.h>
    2627
    2728#include "common.h"
     
    3233static void draw_fragbomb(game *g, int x, int y, int frame);
    3334
    34 struct cucul_sprite *bomb_sprite;
    35 struct cucul_sprite *fragbomb_sprite;
     35cucul_canvas_t *bomb_sprite;
     36cucul_canvas_t *fragbomb_sprite;
    3637
    3738void init_weapons(game *g, weapons *wp)
    3839{
     40    cucul_buffer_t *b;
    3941    int i;
    4042
     
    4446    }
    4547
    46     bomb_sprite = cucul_load_sprite(g->qq, "data/wpnbomb.txt");
    47     fragbomb_sprite = cucul_load_sprite(g->qq, "data/wpnfrag.txt");
     48    b = cucul_load_file("data/wpnbomb.caca");
     49    bomb_sprite = cucul_import_canvas(b, "");
     50    cucul_free_buffer(b);
     51
     52    b = cucul_load_file("data/wpnfrag.caca");
     53    bomb_sprite = cucul_import_canvas(b, "");
     54    cucul_free_buffer(b);
    4855}
    4956
     
    5764        {
    5865            case WEAPON_LASER:
    59                 cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    60                 cucul_putchar(g->qq, wp->x[i] >> 4, wp->y[i] >> 4, '|');
    61                 cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    62                 cucul_putchar(g->qq, wp->x[i] >> 4, (wp->y[i] >> 4) + 1, '|');
     66                cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     67                cucul_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '|');
     68                cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     69                cucul_putchar(g->cv, wp->x[i] >> 4, (wp->y[i] >> 4) + 1, '|');
    6370                break;
    6471            case WEAPON_SEEKER:
    65                 cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    66                 cucul_putchar(g->qq, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
    67                 cucul_putchar(g->qq, wp->x2[i] >> 4, wp->y2[i] >> 4, 'o');
    68                 cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    69                 cucul_putchar(g->qq, wp->x[i] >> 4, wp->y[i] >> 4, '@');
     72                cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     73                cucul_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
     74                cucul_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, 'o');
     75                cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     76                cucul_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '@');
    7077                break;
    7178            case WEAPON_BOMB:
    72                 cucul_set_color(g->qq, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK);
    73                 cucul_putchar(g->qq, (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4, '.');
    74                 cucul_putchar(g->qq, (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4, '.');
    75                 cucul_putchar(g->qq, (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4, '.');
    76                 cucul_putchar(g->qq, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
    77                 cucul_putchar(g->qq, wp->x2[i] >> 4, wp->y2[i] >> 4, '.');
     79                cucul_set_color(g->cv, CUCUL_COLOR_DARKGRAY, CUCUL_COLOR_BLACK);
     80                cucul_putchar(g->cv, (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4, '.');
     81                cucul_putchar(g->cv, (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4, '.');
     82                cucul_putchar(g->cv, (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4, '.');
     83                cucul_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
     84                cucul_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, '.');
    7885                draw_bomb(g, wp->x[i] >> 4, wp->y[i] >> 4, wp->vx[i], wp->vy[i]);
    7986                break;
     
    171178                if(dx | dy)
    172179                {
    173                     unsigned int norm = cucul_sqrt(dx * dx + 4 * dy * dy);
     180                    unsigned int norm = (int)sqrt((double)(dx * dx + 4 * dy * dy));
    174181                    dx = dx * 32 / norm;
    175182                    dy = dy * 32 / norm;
     
    183190                if(dx | dy)
    184191                {
    185                     unsigned int norm = cucul_sqrt(dx * dx + 4 * dy * dy);
     192                    unsigned int norm = (int)sqrt((double)(dx * dx + 4 * dy * dy));
    186193                    wp->vx[i] = dx * 32 / norm;
    187194                    wp->vy[i] = dy * 32 / norm;
     
    335342    }
    336343
    337     cucul_draw_sprite(g->qq, x, y, bomb_sprite, frame);
     344    cucul_set_canvas_frame(bomb_sprite, frame);
     345    cucul_blit(g->cv, x, y, bomb_sprite, NULL);
    338346}
    339347
     
    341349{
    342350    /* Draw the head */
    343     cucul_draw_sprite(g->qq, x, y, fragbomb_sprite, frame & 1);
     351    cucul_set_canvas_frame(fragbomb_sprite, frame & 1);
     352    cucul_blit(g->cv, x, y, fragbomb_sprite, NULL);
    344353
    345354    /* Draw the tail */
    346     cucul_draw_sprite(g->qq, x, y, fragbomb_sprite, 2 + (frame % 4));
     355    cucul_set_canvas_frame(fragbomb_sprite, 2 + (frame % 4));
     356    cucul_blit(g->cv, x, y, fragbomb_sprite, NULL);
    347357}
    348358
     
    355365    {
    356366        case 24:
    357             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    358             cucul_putstr(g->qq, x, y-3, "__");
    359             cucul_putchar(g->qq, x-1, y-2, '\'');
    360             cucul_putchar(g->qq, x+2, y-2, '`');
     367            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     368            cucul_putstr(g->cv, x, y-3, "__");
     369            cucul_putchar(g->cv, x-1, y-2, '\'');
     370            cucul_putchar(g->cv, x+2, y-2, '`');
    361371            break;
    362372        case 23:
    363             cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    364             cucul_putstr(g->qq, x, y-3, "__");
    365             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    366             cucul_putstr(g->qq, x-2, y-2, "-'");
    367             cucul_putstr(g->qq, x+2, y-2, "`-");
     373            cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     374            cucul_putstr(g->cv, x, y-3, "__");
     375            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     376            cucul_putstr(g->cv, x-2, y-2, "-'");
     377            cucul_putstr(g->cv, x+2, y-2, "`-");
    368378            break;
    369379        case 22:
    370             cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    371             cucul_putstr(g->qq, x, y-3, "__");
    372             cucul_putchar(g->qq, x-1, y-2, '\'');
    373             cucul_putchar(g->qq, x+2, y-2, '`');
    374             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    375             cucul_putstr(g->qq, x-3, y-2, ",-");
    376             cucul_putstr(g->qq, x+3, y-2, "-.");
     380            cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     381            cucul_putstr(g->cv, x, y-3, "__");
     382            cucul_putchar(g->cv, x-1, y-2, '\'');
     383            cucul_putchar(g->cv, x+2, y-2, '`');
     384            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     385            cucul_putstr(g->cv, x-3, y-2, ",-");
     386            cucul_putstr(g->cv, x+3, y-2, "-.");
    377387            break;
    378388        case 21:
    379             cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    380             cucul_putstr(g->qq, x-1, y-3, "____");
    381             cucul_putchar(g->qq, x-2, y-2, '\'');
    382             cucul_putchar(g->qq, x+3, y-2, '`');
    383             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    384             cucul_putstr(g->qq, x-4, y-2, ",-");
    385             cucul_putstr(g->qq, x+4, y-2, "-.");
     389            cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     390            cucul_putstr(g->cv, x-1, y-3, "____");
     391            cucul_putchar(g->cv, x-2, y-2, '\'');
     392            cucul_putchar(g->cv, x+3, y-2, '`');
     393            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     394            cucul_putstr(g->cv, x-4, y-2, ",-");
     395            cucul_putstr(g->cv, x+4, y-2, "-.");
    386396            break;
    387397        case 20:
    388             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    389             cucul_putstr(g->qq, x, y-3, "%%");
    390             cucul_putchar(g->qq, x-4, y-2, ',');
    391             cucul_putchar(g->qq, x+5, y-2, '.');
    392             cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    393             cucul_putchar(g->qq, x-1, y-3, ':');
    394             cucul_putchar(g->qq, x+2, y-3, ':');
    395             cucul_putstr(g->qq, x-3, y-2, "-'");
    396             cucul_putstr(g->qq, x+3, y-2, "`-");
     398            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     399            cucul_putstr(g->cv, x, y-3, "%%");
     400            cucul_putchar(g->cv, x-4, y-2, ',');
     401            cucul_putchar(g->cv, x+5, y-2, '.');
     402            cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     403            cucul_putchar(g->cv, x-1, y-3, ':');
     404            cucul_putchar(g->cv, x+2, y-3, ':');
     405            cucul_putstr(g->cv, x-3, y-2, "-'");
     406            cucul_putstr(g->cv, x+3, y-2, "`-");
    397407            break;
    398408        case 19:
    399             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    400             cucul_putstr(g->qq, x, y-4, "%%");
    401             cucul_putstr(g->qq, x, y-3, "##");
    402             cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    403             cucul_putchar(g->qq, x-1, y-4, ':');
    404             cucul_putchar(g->qq, x+2, y-4, ':');
    405             cucul_putchar(g->qq, x-1, y-3, '%');
    406             cucul_putchar(g->qq, x+2, y-3, '%');
    407             cucul_putstr(g->qq, x-4, y-2, ",-'");
    408             cucul_putstr(g->qq, x+3, y-2, "`-.");
    409             cucul_set_color(g->qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
    410             cucul_putchar(g->qq, x-2, y-3, ':');
    411             cucul_putchar(g->qq, x+3, y-3, ':');
     409            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     410            cucul_putstr(g->cv, x, y-4, "%%");
     411            cucul_putstr(g->cv, x, y-3, "##");
     412            cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     413            cucul_putchar(g->cv, x-1, y-4, ':');
     414            cucul_putchar(g->cv, x+2, y-4, ':');
     415            cucul_putchar(g->cv, x-1, y-3, '%');
     416            cucul_putchar(g->cv, x+2, y-3, '%');
     417            cucul_putstr(g->cv, x-4, y-2, ",-'");
     418            cucul_putstr(g->cv, x+3, y-2, "`-.");
     419            cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
     420            cucul_putchar(g->cv, x-2, y-3, ':');
     421            cucul_putchar(g->cv, x+3, y-3, ':');
    412422            break;
    413423        case 18:
    414424        default:
    415425            r = (18 - frame) * (18 - frame);
    416             cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    417             cucul_putstr(g->qq, x-1, y-5-r, ":%%:");
    418             cucul_putstr(g->qq, x-1, y-4-r, "%##%");
    419             cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    420             cucul_putchar(g->qq, x-2, y-4-r, ':');
    421             cucul_putchar(g->qq, x+3, y-4-r, ':');
    422             cucul_putchar(g->qq, x-2, y-2, '\'');
    423             cucul_putchar(g->qq, x+3, y-2, '`');
    424             cucul_set_color(g->qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
    425             cucul_putchar(g->qq, x-3, y-2, ':');
    426             cucul_putchar(g->qq, x+4, y-2, ':');
     426            cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     427            cucul_putstr(g->cv, x-1, y-5-r, ":%%:");
     428            cucul_putstr(g->cv, x-1, y-4-r, "%##%");
     429            cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     430            cucul_putchar(g->cv, x-2, y-4-r, ':');
     431            cucul_putchar(g->cv, x+3, y-4-r, ':');
     432            cucul_putchar(g->cv, x-2, y-2, '\'');
     433            cucul_putchar(g->cv, x+3, y-2, '`');
     434            cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
     435            cucul_putchar(g->cv, x-3, y-2, ':');
     436            cucul_putchar(g->cv, x+4, y-2, ':');
    427437            for(i = 0; i <= r; i++)
    428438            {
    429                 cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
    430                 cucul_putstr(g->qq, x-1, y-3-i, ((i+frame) % 5) ? "####" : "%%%%");
    431                 cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
    432                 cucul_putchar(g->qq, x-2, y-3-i, '%');
    433                 cucul_putchar(g->qq, x+3, y-3-i, '%');
    434                 cucul_set_color(g->qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
    435                 cucul_putchar(g->qq, x-3, y-3-i, ':');
    436                 cucul_putchar(g->qq, x+4, y-3-i, ':');
     439                cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_BLACK);
     440                cucul_putstr(g->cv, x-1, y-3-i, ((i+frame) % 5) ? "####" : "%%%%");
     441                cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_BLACK);
     442                cucul_putchar(g->cv, x-2, y-3-i, '%');
     443                cucul_putchar(g->cv, x+3, y-3-i, '%');
     444                cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
     445                cucul_putchar(g->cv, x-3, y-3-i, ':');
     446                cucul_putchar(g->cv, x+4, y-3-i, ':');
    437447            }
    438448            break;
     
    445455
    446456    /* Lots of duplicate pixels, but we don't care */
    447     cucul_set_color(g->qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
    448     cucul_draw_ellipse(g->qq, x, y, r, r / 2, ':');
    449     cucul_set_color(g->qq, CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_BLUE);
    450     cucul_draw_ellipse(g->qq, x, y, r + 1, r / 2, '#');
    451     cucul_set_color(g->qq, CUCUL_COLOR_BLUE, CUCUL_COLOR_LIGHTBLUE);
    452     cucul_draw_ellipse(g->qq, x, y, r + 2, r / 2, '#');
    453     cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_LIGHTBLUE);
    454     cucul_draw_ellipse(g->qq, x, y, r + 2, r / 2 + 1, '#');
    455     cucul_set_color(g->qq, CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_CYAN);
    456     cucul_draw_ellipse(g->qq, x, y, r + 3, r / 2 + 1, '#');
    457     cucul_set_color(g->qq, CUCUL_COLOR_WHITE, CUCUL_COLOR_CYAN);
    458     cucul_draw_ellipse(g->qq, x, y, r + 3, r / 2 + 2, '#');
    459     cucul_set_color(g->qq, CUCUL_COLOR_CYAN, CUCUL_COLOR_WHITE);
    460     cucul_draw_ellipse(g->qq, x, y, r + 4, r / 2 + 2, '#');
    461     cucul_draw_ellipse(g->qq, x, y, r + 4, r / 2 + 3, ' ');
    462 }
    463 
     457    cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_BLACK);
     458    cucul_draw_ellipse(g->cv, x, y, r, r / 2, ":");
     459    cucul_set_color(g->cv, CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_BLUE);
     460    cucul_draw_ellipse(g->cv, x, y, r + 1, r / 2, "#");
     461    cucul_set_color(g->cv, CUCUL_COLOR_BLUE, CUCUL_COLOR_LIGHTBLUE);
     462    cucul_draw_ellipse(g->cv, x, y, r + 2, r / 2, "#");
     463    cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_LIGHTBLUE);
     464    cucul_draw_ellipse(g->cv, x, y, r + 2, r / 2 + 1, "#");
     465    cucul_set_color(g->cv, CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_CYAN);
     466    cucul_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 1, "#");
     467    cucul_set_color(g->cv, CUCUL_COLOR_WHITE, CUCUL_COLOR_CYAN);
     468    cucul_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 2, "#");
     469    cucul_set_color(g->cv, CUCUL_COLOR_CYAN, CUCUL_COLOR_WHITE);
     470    cucul_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 2, "#");
     471    cucul_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 3, " ");
     472}
     473
Note: See TracChangeset for help on using the changeset viewer.