Ignore:
Timestamp:
Oct 18, 2008, 11:42:24 PM (11 years ago)
Author:
Sam Hocevar
Message:

Port ttyvaders to the unified libcaca 0.99.beta15 API.

File:
1 edited

Legend:

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

    r1460 r2990  
    1919#include <caca.h>
    2020
    21 cucul_canvas_t *cv;
     21caca_canvas_t *cv;
    2222caca_display_t *dp;
    2323
    24 cucul_canvas_t *ship, *alien;
     24caca_canvas_t *ship, *alien;
    2525
    2626unsigned int shipx, shipy;
    2727
    2828unsigned int frame, w, h;
    29 int ground[80];
     29int ground[81];
    3030
    3131static void run_game(void);
     
    3333int main(int argc, char **argv)
    3434{
    35     cucul_buffer_t *b;
    36 
    37     cv = cucul_create_canvas(80, 24);
     35    cv = caca_create_canvas(80, 24);
    3836    if(!cv)
    3937        return 1;
     
    4644
    4745    /* Initialize our program */
    48     w = cucul_get_canvas_width(cv);
    49     h = cucul_get_canvas_height(cv);
     46    w = caca_get_canvas_width(cv);
     47    h = caca_get_canvas_height(cv);
    5048
    5149    /* Load data */
    52     b = cucul_load_file("data/ship.ans");
    53     ship = cucul_import_canvas(b, "");
    54     cucul_free_buffer(b);
    55     b = cucul_load_file("data/alien.ans");
    56     alien = cucul_import_canvas(b, "");
    57     cucul_free_buffer(b);
     50    ship = caca_create_canvas(0, 0);
     51    caca_import_file(ship, "data/ship.ans", "");
     52    alien = caca_create_canvas(0, 0);
     53    caca_import_file(alien, "data/alien.ans", "");
    5854
    5955    /* Go ! */
     
    6258    /* Clean up */
    6359    caca_free_display(dp);
    64     cucul_free_canvas(cv);
     60    caca_free_canvas(cv);
    6561
    6662    return 0;
     
    7975        return;
    8076
    81     ground[80] += cucul_rand(-1, 2);
     77    ground[80] += caca_rand(-1, 2);
    8278    if(ground[80] < 2)
    8379        ground[80] = 3;
     
    10298    {
    10399        /* Draw the sky */
    104         cucul_set_color_ansi(cv, CUCUL_LIGHTBLUE, CUCUL_LIGHTCYAN);
     100        caca_set_color_ansi(cv, CACA_LIGHTBLUE, CACA_LIGHTCYAN);
    105101        for(j = h - 24; j < h - 18 + ((40 - i) * (40 - i) / (40 * 40 / 10)) + (i & 1); j++)
    106             cucul_putchar(cv, i, j, ' ');
    107         cucul_putchar(cv, i, j++, 0x2591);
    108         cucul_putchar(cv, i, j++, 0x2591);
    109         cucul_putchar(cv, i, j++, 0x2591);
    110         cucul_putchar(cv, i, j++, 0x2592);
    111         cucul_putchar(cv, i, j++, 0x2592);
    112         cucul_putchar(cv, i, j++, 0x2592);
    113         cucul_putchar(cv, i, j++, 0x2593);
    114         cucul_putchar(cv, i, j++, 0x2593);
    115         cucul_putchar(cv, i, j++, 0x2593);
    116         cucul_set_color_ansi(cv, CUCUL_LIGHTBLUE, CUCUL_LIGHTBLUE);
     102            caca_put_char(cv, i, j, ' ');
     103        caca_put_char(cv, i, j++, 0x2591);
     104        caca_put_char(cv, i, j++, 0x2591);
     105        caca_put_char(cv, i, j++, 0x2591);
     106        caca_put_char(cv, i, j++, 0x2592);
     107        caca_put_char(cv, i, j++, 0x2592);
     108        caca_put_char(cv, i, j++, 0x2592);
     109        caca_put_char(cv, i, j++, 0x2593);
     110        caca_put_char(cv, i, j++, 0x2593);
     111        caca_put_char(cv, i, j++, 0x2593);
     112        caca_set_color_ansi(cv, CACA_LIGHTBLUE, CACA_LIGHTBLUE);
    117113        for( ; j < h; j++)
    118             cucul_putchar(cv, i, j, ' ');
     114            caca_put_char(cv, i, j, ' ');
    119115
    120116        /* TODO: Draw the mountains */
     
    122118        /* Draw the ground */
    123119        j = h - ground[i];
    124         cucul_set_color_ansi(cv, CUCUL_BLACK, CUCUL_LIGHTBLUE);
    125         if(i >= 4 && ground[i] == ground[i - 6]
     120        caca_set_color_ansi(cv, CACA_BLACK, CACA_LIGHTBLUE);
     121/*        if(i >= 4 && ground[i] == ground[i - 6]
    126122                  && ground[i] != ground[i - 7])
    127123        {
    128             cucul_putstr(cv, i - 3, j - 2,    "Omm");
    129             cucul_putstr(cv, i - 6, j - 1, "(/)-(/)");
    130         }
    131         cucul_set_color_ansi(cv, CUCUL_RED, CUCUL_GREEN);
     124            caca_putstr(cv, i - 3, j - 2,    "Omm");
     125            caca_putstr(cv, i - 6, j - 1, "(/)-(/)");
     126        }*/
     127        caca_set_color_ansi(cv, CACA_RED, CACA_GREEN);
    132128        if(ground[i + 1] > ground[i])
    133             cucul_putchar(cv, i, j++, 0x2588); // UTF-8: 0x259f
     129            caca_put_char(cv, i, j++, 0x2588); // UTF-8: 0x259f
    134130        else if(ground[i + 1] < ground[i])
    135131        {
    136132            j++;
    137             cucul_putchar(cv, i, j++, 0x2588); // UTF-8: 0x2599
     133            caca_put_char(cv, i, j++, 0x2588); // UTF-8: 0x2599
    138134        }
    139135        else
    140             cucul_putchar(cv, i, j++, 0x2584);
    141         cucul_set_color_ansi(cv, CUCUL_RED, CUCUL_BROWN);
    142         cucul_putchar(cv, i, j++, 0x2593);
    143         cucul_putchar(cv, i, j++, 0x2592);
    144         cucul_putchar(cv, i, j++, 0x2591);
     136            caca_put_char(cv, i, j++, 0x2584);
     137        caca_set_color_ansi(cv, CACA_RED, CACA_BROWN);
     138        caca_put_char(cv, i, j++, 0x2593);
     139        caca_put_char(cv, i, j++, 0x2592);
     140        caca_put_char(cv, i, j++, 0x2591);
    145141        for( ; j < h; j++)
    146             cucul_putchar(cv, i, j, ' ');
     142            caca_put_char(cv, i, j, ' ');
    147143    }
    148144}
     
    150146static void display_stuff(void)
    151147{
    152     cucul_blit(cv, shipx, shipy, ship, NULL);
    153     cucul_blit(cv, 68, h - 22, alien, NULL);
    154     cucul_blit(cv, 52, h - 16, alien, NULL);
    155     cucul_set_color_ansi(cv, CUCUL_WHITE, CUCUL_BLUE);
    156     cucul_printf(cv, 2, h - 2, " %i fps ", 1000000 / (1 + caca_get_display_time(dp)));
     148    caca_blit(cv, shipx, shipy, ship, NULL);
     149    caca_blit(cv, 68, h - 22, alien, NULL);
     150    caca_blit(cv, 52, h - 16, alien, NULL);
     151    caca_set_color_ansi(cv, CACA_WHITE, CACA_BLUE);
     152    caca_printf(cv, 2, h - 2, " %i fps ", 1000000 / (1 + caca_get_display_time(dp)));
    157153}
    158154
Note: See TracChangeset for help on using the changeset viewer.