Changeset 80 for ttyvaders


Ignore:
Timestamp:
Nov 9, 2003, 1:40:53 PM (16 years ago)
Author:
Sam Hocevar
Message:
  • libee is now standalone.
Location:
ttyvaders/trunk
Files:
1 added
15 edited

Legend:

Unmodified
Added
Removed
  • ttyvaders/trunk/libee/Makefile.am

    r78 r80  
    77
    88lib_LIBRARIES = libee.a
    9 libee_a_SOURCES = ee.c
    10 libee_a_CPPFLAGS = -I../src $(CPPFLAGS_slang) $(CPPFLAGS_ncurses)
     9libee_a_SOURCES = ee.c ee.h
     10libee_a_CPPFLAGS = $(CPPFLAGS_slang) $(CPPFLAGS_ncurses)
    1111
  • ttyvaders/trunk/libee/ee.c

    r76 r80  
    11/*
    2  *   ttyvaders     Textmode shoot'em up
    3  *   Copyright (c) 2002 Sam Hocevar <sam@zoy.org>
     2 *   libee         ASCII-Art library
     3 *   Copyright (c) 2002, 2003 Sam Hocevar <sam@zoy.org>
    44 *                 All Rights Reserved
    55 *
     
    2828#include <time.h>
    2929
    30 #include "common.h"
    31 
    32 int init_graphics( void )
    33 {
    34 #ifdef USE_SLANG
     30#include "ee.h"
     31
     32int ee_init(void)
     33{
     34#ifdef USE_SLANG
     35    static char * colors[] = { "black", "green", "yellow", "white",
     36        "red", "gray", "lightgray", "blue", "cyan", "magenta", NULL };
     37    int i;
     38
    3539    /* Initialize slang library */
    3640    SLsig_block_signals();
    3741    SLtt_get_terminfo();
    3842
    39     if( SLkp_init() == -1 )
     43    if(SLkp_init() == -1)
    4044    {
    4145        SLsig_unblock_signals();
    42         return 1;
    43     }
    44 
    45     SLang_init_tty (-1, 0, 1);
    46 
    47     if( SLsmg_init_smg() == -1 )
     46        return -1;
     47    }
     48
     49    SLang_init_tty(-1, 0, 1);
     50
     51    if(SLsmg_init_smg() == -1)
    4852    {
    4953        SLsig_unblock_signals();
    50         return 1;
     54        return -1;
    5155    }
    5256
     
    5458
    5559    SLsmg_cls();
    56     SLtt_set_cursor_visibility( 0 );
     60    SLtt_set_cursor_visibility(0);
    5761    SLsmg_refresh();
     62
     63    for(i = 0; colors[i]; i++)
     64    {
     65        SLtt_set_color(i + 1, NULL, colors[i], "black");
     66    }
     67
    5868#elif USE_NCURSES
    5969    /* Initialize ncurses library */
     
    6474    noecho();
    6575    nodelay(stdscr, TRUE);
    66     curs_set( 0 );
     76    curs_set(0);
     77
     78    start_color();
     79
     80    init_pair(EE_BLACK, COLOR_BLACK, COLOR_BLACK);
     81    init_pair(EE_GREEN, COLOR_GREEN, COLOR_BLACK);
     82    init_pair(EE_YELLOW, COLOR_YELLOW, COLOR_BLACK);
     83    init_pair(EE_WHITE, COLOR_WHITE, COLOR_BLACK);
     84    init_pair(EE_RED, COLOR_RED, COLOR_BLACK);
     85    init_pair(EE_GRAY, COLOR_WHITE, COLOR_BLACK); // XXX
     86    init_pair(EE_LIGHTGRAY, COLOR_WHITE, COLOR_BLACK); // XXX
     87    init_pair(EE_BLUE, COLOR_BLUE, COLOR_BLACK);
     88    init_pair(EE_CYAN, COLOR_CYAN, COLOR_BLACK);
     89    init_pair(EE_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
     90
    6791#else
    6892    /* Dummy driver */
     93
    6994#endif
    7095
     
    7297}
    7398
    74 void init_game( game *g )
    75 {
    76 #ifdef USE_SLANG
    77     static char * const colors[] =
    78     {
    79         "black", "green", "yellow", "white",
    80         "red", "gray", "lightgray", "blue", "cyan", "magenta", NULL
    81     };
    82 
    83     int i;
    84 
    85     for( i = 0; colors[i] ; i++ )
    86     {
    87         SLtt_set_color( i+1, NULL, colors[i], "black" );
    88     }
    89 
    90     g->w = SLtt_Screen_Cols;
    91     g->h = SLtt_Screen_Rows;
    92 #elif USE_NCURSES
    93     start_color();
    94 
    95     init_pair( BLACK, COLOR_BLACK, COLOR_BLACK );
    96     init_pair( GREEN, COLOR_GREEN, COLOR_BLACK );
    97     init_pair( YELLOW, COLOR_YELLOW, COLOR_BLACK );
    98     init_pair( WHITE, COLOR_WHITE, COLOR_BLACK );
    99     init_pair( RED, COLOR_RED, COLOR_BLACK );
    100     init_pair( GRAY, COLOR_WHITE, COLOR_BLACK ); // XXX
    101     init_pair( LIGHTGRAY, COLOR_WHITE, COLOR_BLACK ); // XXX
    102     init_pair( BLUE, COLOR_BLUE, COLOR_BLACK );
    103     init_pair( CYAN, COLOR_CYAN, COLOR_BLACK );
    104     init_pair( MAGENTA, COLOR_MAGENTA, COLOR_BLACK );
    105 
    106     g->w = COLS;
    107     g->h = LINES;
    108 #else
    109     /* Use dummy driver */
    110     g->w = 80;
    111     g->h = 25;
    112 #endif
    113 }
    114 
    115 char get_key( void )
    116 {
    117 #ifdef USE_SLANG
    118     if( SLang_input_pending (0) )
    119     {
    120         return SLang_getkey();
    121     }
    122 #elif USE_NCURSES
    123     char key;
    124 
    125     if( ( key = getch() ) != ERR )
    126     {
    127         return key;
    128     }
    129 #else
    130     /* Use dummy driver */
    131     char key = GET_RAND(0,256);
    132 
    133     if( key != 'q' && key != 'p' && key != '\t' )
    134     {
    135         return key;
    136     }
    137 #endif
    138 
    139     return 0;
    140 }
    141 
    142 void clear_graphics( game *g )
     99int ee_get_width(void)
     100{
     101#ifdef USE_SLANG
     102    return SLtt_Screen_Cols;
     103#elif USE_NCURSES
     104    return COLS;
     105#else
     106    return 80;
     107#endif
     108}
     109
     110int ee_get_height(void)
     111{
     112#ifdef USE_SLANG
     113    return SLtt_Screen_Rows;
     114#elif USE_NCURSES
     115    return LINES;
     116#else
     117    return 25;
     118#endif
     119}
     120
     121void ee_clear(void)
    143122{
    144123#ifdef USE_SLANG
    145124    //SLsmg_cls();
    146125    int y;
    147     for( y = 0; y < g->h; y++ )
    148     {
    149         gfx_goto( 0, y );
    150         gfx_putstr( "                                                                                " );
     126    for(y = 0; y < ee_get_height(); y++)
     127    {
     128        ee_goto(0, y);
     129        ee_putstr("                                                                                ");
    151130    }
    152131#elif USE_NCURSES
    153132    //clear();
    154133    int y;
    155     for( y = 0; y < g->h; y++ )
    156     {
    157         gfx_goto( 0, y );
    158         gfx_putstr( "                                                                                " );
     134    for(y = 0; y < ee_get_height(); y++)
     135    {
     136        ee_goto(0, y);
     137        ee_putstr("                                                                                ");
    159138    }
    160139#else
     
    176155
    177156#define DELAY 40000
    178 
    179 void refresh_graphics( void )
     157void ee_refresh(void)
    180158{
    181159    static int64_t local_clock = 0;
    182160    int64_t now;
    183161
    184     gfx_goto( 0, 0 );
    185 
    186     if( !local_clock )
     162    ee_goto(0, 0);
     163
     164    if(!local_clock)
    187165    {
    188166        /* Initialize local_clock */
     
    190168    }
    191169
    192     if( local_time() > local_clock + 10000 )
     170    if(local_time() > local_clock + 10000)
    193171    {
    194172        /* If we are late, we shouldn't display anything */
     
    205183    now = local_time();
    206184
    207     if( now < local_clock + DELAY - 10000 )
    208     {
    209         usleep( local_clock + DELAY - 10000 - now );
     185    if(now < local_clock + DELAY - 10000)
     186    {
     187        usleep(local_clock + DELAY - 10000 - now);
    210188    }
    211189
     
    213191}
    214192
    215 void end_graphics( void )
    216 {
    217 #ifdef USE_SLANG
    218     SLtt_set_cursor_visibility( 1 );
     193void ee_end(void)
     194{
     195#ifdef USE_SLANG
     196    SLtt_set_cursor_visibility(1);
    219197    SLang_reset_tty();
    220198    SLsmg_reset_smg();
    221199#elif USE_NCURSES
    222     curs_set( 1 );
     200    curs_set(1);
    223201    endwin();
    224202#else
     
    227205}
    228206
     207char ee_get_key(void)
     208{
     209#ifdef USE_SLANG
     210    if(SLang_input_pending(0))
     211    {
     212        return SLang_getkey();
     213    }
     214#elif USE_NCURSES
     215    char key = getch();
     216
     217    if(key != ERR)
     218    {
     219        return key;
     220    }
     221#else
     222    return 0;
     223
     224#endif
     225
     226    return 0;
     227}
     228
  • ttyvaders/trunk/src/Makefile.am

    r78 r80  
    3636        $(NULL)
    3737
    38 ttyvaders_CPPFLAGS = $(CPPFLAGS_slang) $(CPPFLAGS_ncurses)
     38ttyvaders_CPPFLAGS = -I../libee $(CPPFLAGS_slang) $(CPPFLAGS_ncurses)
    3939ttyvaders_LDADD = ../libee/libee.a $(LDFLAGS_slang) $(LDFLAGS_ncurses)
    4040
  • ttyvaders/trunk/src/aliens.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: aliens.c,v 1.8 2002/12/23 13:46:27 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    134134    {
    135135    case 0:
    136         gfx_color( MAGENTA );
    137         gfx_goto( x, y );
    138         gfx_putstr( ",---." );
    139         gfx_goto( x, y+1 );
    140         gfx_putchar( '\\' );
    141         gfx_color( WHITE );
    142         gfx_putstr( "o O" );
    143         gfx_color( MAGENTA );
    144         gfx_putchar( '/' );
    145         gfx_goto( x, y+2 );
    146         gfx_putstr( "^^^^^" );
     136        ee_color( EE_MAGENTA );
     137        ee_goto( x, y );
     138        ee_putstr( ",---." );
     139        ee_goto( x, y+1 );
     140        ee_putchar( '\\' );
     141        ee_color( EE_WHITE );
     142        ee_putstr( "o O" );
     143        ee_color( EE_MAGENTA );
     144        ee_putchar( '/' );
     145        ee_goto( x, y+2 );
     146        ee_putstr( "^^^^^" );
    147147        break;
    148148    case 1:
    149         gfx_color( MAGENTA );
    150         gfx_goto( x, y );
    151         gfx_putstr( ",---." );
    152         gfx_goto( x, y+1 );
    153         gfx_putchar( '\\' );
    154         gfx_color( WHITE );
    155         gfx_putstr( "O o" );
    156         gfx_color( MAGENTA );
    157         gfx_putchar( '/' );
    158         gfx_goto( x, y+2 );
    159         gfx_putstr( "^^^^^" );
     149        ee_color( EE_MAGENTA );
     150        ee_goto( x, y );
     151        ee_putstr( ",---." );
     152        ee_goto( x, y+1 );
     153        ee_putchar( '\\' );
     154        ee_color( EE_WHITE );
     155        ee_putstr( "O o" );
     156        ee_color( EE_MAGENTA );
     157        ee_putchar( '/' );
     158        ee_goto( x, y+2 );
     159        ee_putstr( "^^^^^" );
    160160        break;
    161161    }
     
    164164static void draw_alien_baz( game *g, int x, int y, int frame )
    165165{
    166     gfx_color( GREEN );
    167     gfx_goto( x, y-1 );
    168     gfx_putstr( "__" );
    169 
    170     gfx_goto( x-1, y );
    171     gfx_putchar( '/' );
    172     gfx_goto( x+2, y );
    173     gfx_putchar( '\\' );
     166    ee_color( EE_GREEN );
     167    ee_goto( x, y-1 );
     168    ee_putstr( "__" );
     169
     170    ee_goto( x-1, y );
     171    ee_putchar( '/' );
     172    ee_goto( x+2, y );
     173    ee_putchar( '\\' );
    174174
    175175    switch( frame )
    176176    {
    177177    case 3:
    178         gfx_goto( x-2, y+1 );
    179         gfx_putstr( "//'`\\\\" );
     178        ee_goto( x-2, y+1 );
     179        ee_putstr( "//'`\\\\" );
    180180        break;
    181181    case 4:
    182182    case 2:
    183         gfx_goto( x-2, y+1 );
    184         gfx_putstr( "/(~~)\\" );
     183        ee_goto( x-2, y+1 );
     184        ee_putstr( "/(~~)\\" );
    185185        break;
    186186    case 5:
    187187    case 1:
    188         gfx_goto( x-2, y+1 );
    189         gfx_putstr( "((^^))" );
     188        ee_goto( x-2, y+1 );
     189        ee_putstr( "((^^))" );
    190190        break;
    191191    case 0:
    192         gfx_goto( x-1, y+1 );
    193         gfx_putstr( "\\\\//" );
    194         break;
    195     }
    196 
    197     gfx_color( WHITE );
    198     gfx_goto( x, y );
    199     gfx_putstr( "oo" );
     192        ee_goto( x-1, y+1 );
     193        ee_putstr( "\\\\//" );
     194        break;
     195    }
     196
     197    ee_color( EE_WHITE );
     198    ee_goto( x, y );
     199    ee_putstr( "oo" );
    200200}
    201201
    202202static void draw_alien_foo( game *g, int x, int y, int frame )
    203203{
    204     gfx_color( YELLOW );
     204    ee_color( EE_YELLOW );
    205205
    206206    switch( frame )
    207207    {
    208208    case 0:
    209         gfx_goto( x, y );
    210         gfx_putchar( '.' );
    211         gfx_goto( x+6, y );
    212         gfx_putchar( ',' );
    213         gfx_goto( x+1, y+1 );
    214         gfx_putstr( "\\ X /" );
     209        ee_goto( x, y );
     210        ee_putchar( '.' );
     211        ee_goto( x+6, y );
     212        ee_putchar( ',' );
     213        ee_goto( x+1, y+1 );
     214        ee_putstr( "\\ X /" );
    215215        break;
    216216    case 7:
    217217    case 1:
    218         gfx_goto( x-1, y );
    219         gfx_putchar( '.' );
    220         gfx_goto( x+7, y );
    221         gfx_putchar( ',' );
    222         gfx_goto( x, y+1 );
    223         gfx_putstr( "`- X -'" );
     218        ee_goto( x-1, y );
     219        ee_putchar( '.' );
     220        ee_goto( x+7, y );
     221        ee_putchar( ',' );
     222        ee_goto( x, y+1 );
     223        ee_putstr( "`- X -'" );
    224224        break;
    225225    case 6:
    226226    case 2:
    227         gfx_goto( x-1, y+1 );
    228         gfx_putstr( "`-- X --'" );
     227        ee_goto( x-1, y+1 );
     228        ee_putstr( "`-- X --'" );
    229229        break;
    230230    case 5:
    231231    case 3:
    232         gfx_goto( x, y+1 );
    233         gfx_putstr( ",- X -." );
    234         gfx_goto( x-1, y+2 );
    235         gfx_putchar( '\'' );
    236         gfx_goto( x+7, y+2 );
    237         gfx_putchar( '`' );
     232        ee_goto( x, y+1 );
     233        ee_putstr( ",- X -." );
     234        ee_goto( x-1, y+2 );
     235        ee_putchar( '\'' );
     236        ee_goto( x+7, y+2 );
     237        ee_putchar( '`' );
    238238        break;
    239239    case 4:
    240         gfx_goto( x+1, y+1 );
    241         gfx_putstr( ", X ." );
    242         gfx_goto( x, y+2 );
    243         gfx_putchar( '/' );
    244         gfx_goto( x+6, y+2 );
    245         gfx_putchar( '\\' );
    246         break;
    247     }
    248 
    249     gfx_goto( x+2, y+2 );
    250     gfx_putstr( "`V'" );
    251 
    252     gfx_color( WHITE );
    253     gfx_goto( x+2, y+1 );
    254     gfx_putchar( 'o' );
    255     gfx_goto( x+4, y+1 );
    256     gfx_putchar( 'o' );
    257 }
    258 
    259 
     240        ee_goto( x+1, y+1 );
     241        ee_putstr( ", X ." );
     242        ee_goto( x, y+2 );
     243        ee_putchar( '/' );
     244        ee_goto( x+6, y+2 );
     245        ee_putchar( '\\' );
     246        break;
     247    }
     248
     249    ee_goto( x+2, y+2 );
     250    ee_putstr( "`V'" );
     251
     252    ee_color( EE_WHITE );
     253    ee_goto( x+2, y+1 );
     254    ee_putchar( 'o' );
     255    ee_goto( x+4, y+1 );
     256    ee_putchar( 'o' );
     257}
     258
     259
  • ttyvaders/trunk/src/bonus.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: bonus.c,v 1.3 2002/12/22 18:44:12 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    4444        {
    4545            case BONUS_GREEN:
    46                 gfx_color( (bo->n[i]/2 % 3) ? GREEN : WHITE );
    47                 gfx_goto( bo->x[i]+1, bo->y[i]-1 );
    48                 gfx_putchar( '_' );
    49                 gfx_goto( bo->x[i], bo->y[i] );
    50                 gfx_putstr( "/ \\" );
    51                 gfx_goto( bo->x[i], bo->y[i]+1 );
    52                 gfx_putstr( "\\_/" );
    53                 gfx_color( WHITE );
    54                 gfx_goto( bo->x[i]+1, bo->y[i] );
    55                 gfx_putchar( 'g' );
     46                ee_color( (bo->n[i]/2 % 3) ? EE_GREEN : EE_WHITE );
     47                ee_goto( bo->x[i]+1, bo->y[i]-1 );
     48                ee_putchar( '_' );
     49                ee_goto( bo->x[i], bo->y[i] );
     50                ee_putstr( "/ \\" );
     51                ee_goto( bo->x[i], bo->y[i]+1 );
     52                ee_putstr( "\\_/" );
     53                ee_color( EE_WHITE );
     54                ee_goto( bo->x[i]+1, bo->y[i] );
     55                ee_putchar( 'g' );
    5656                break;
    5757            case BONUS_LIFE:
    58                 gfx_color( (bo->n[i] % 3) ? RED : WHITE );
    59                 gfx_goto( bo->x[i]+1, bo->y[i]-1 );
    60                 gfx_putchar( '_' );
    61                 gfx_goto( bo->x[i]+3, bo->y[i]-1 );
    62                 gfx_putchar( '_' );
    63                 gfx_goto( bo->x[i], bo->y[i] );
    64                 gfx_putstr( "( ' )" );
    65                 gfx_goto( bo->x[i]+1, bo->y[i]+1 );
    66                 gfx_putstr( "`v'" );
    67                 gfx_color( WHITE );
    68                 gfx_goto( bo->x[i]+3, bo->y[i] );
    69                 gfx_putchar( '^' );
     58                ee_color( (bo->n[i] % 3) ? EE_RED : EE_WHITE );
     59                ee_goto( bo->x[i]+1, bo->y[i]-1 );
     60                ee_putchar( '_' );
     61                ee_goto( bo->x[i]+3, bo->y[i]-1 );
     62                ee_putchar( '_' );
     63                ee_goto( bo->x[i], bo->y[i] );
     64                ee_putstr( "( ' )" );
     65                ee_goto( bo->x[i]+1, bo->y[i]+1 );
     66                ee_putstr( "`v'" );
     67                ee_color( EE_WHITE );
     68                ee_goto( bo->x[i]+3, bo->y[i] );
     69                ee_putchar( '^' );
    7070                break;
    7171            case BONUS_NONE:
  • ttyvaders/trunk/src/box.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: box.c,v 1.1 2003/02/09 11:17:40 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    4242    int i, j, frame;
    4343
    44     gfx_color( YELLOW );
     44    ee_color( EE_YELLOW );
    4545
    4646    /* Draw the thin horizontal line */
     
    5151             i++ )
    5252        {
    53             gfx_goto( i, b->y );
    54             gfx_putchar( 'X' );
     53            ee_goto( i, b->y );
     54            ee_putchar( 'X' );
    5555        }
    5656
     
    6565         i++ )
    6666    {
    67         gfx_goto( i, b->y - b->h * (frame - 8) / 8 );
    68         gfx_putchar( 'X' );
    69         gfx_goto( i, b->y + b->h * (frame - 8) / 8 );
    70         gfx_putchar( 'X' );
     67        ee_goto( i, b->y - b->h * (frame - 8) / 8 );
     68        ee_putchar( 'X' );
     69        ee_goto( i, b->y + b->h * (frame - 8) / 8 );
     70        ee_putchar( 'X' );
    7171    }
    7272
     
    7575         j++ )
    7676    {
    77         gfx_goto( b->x - b->w / 2, j );
    78         gfx_putchar( 'X' );
    79         gfx_goto( b->x + b->w / 2 - 1, j );
    80         gfx_putchar( 'X' );
     77        ee_goto( b->x - b->w / 2, j );
     78        ee_putchar( 'X' );
     79        ee_goto( b->x + b->w / 2 - 1, j );
     80        ee_putchar( 'X' );
    8181    }
    8282
    83     gfx_color( BLACK );
     83    ee_color( EE_BLACK );
    8484
    8585    for( j = b->y - b->h * (frame - 8) / 8 + 1 ;
     
    9191             i++ )
    9292        {
    93             gfx_goto( i, j );
    94             gfx_putchar( 'X' );
     93            ee_goto( i, j );
     94            ee_putchar( 'X' );
    9595        }
    9696    }
     
    102102
    103103    /* Draw the text inside the frame */
    104     gfx_color( YELLOW );
     104    ee_color( EE_YELLOW );
    105105
    106106    /* FIXME: use a font */
    107     gfx_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 2 );
    108     gfx_putstr( "XXXX.  .XXXX  X   X  .XXXX  .XXXX  XXXX." );
    109     gfx_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 3 );
    110     gfx_putstr( "X  `X  X'  X  X   X  X'     X'     X  `X" );
    111     gfx_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 4 );
    112     gfx_putstr( "XXXX'  XXXXX  X   X  `XXX   XXXX   X   X" );
    113     gfx_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 5 );
    114     gfx_putstr( "X'     X' `X  X. ,X     `X  X'     X  ,X" );
    115     gfx_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 6 );
    116     gfx_putstr( "X      X   X  `XXXX  XXXX'  `XXXX  XXXX'" );
     107    ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 2 );
     108    ee_putstr( "XXXX.  .XXXX  X   X  .XXXX  .XXXX  XXXX." );
     109    ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 3 );
     110    ee_putstr( "X  `X  X'  X  X   X  X'     X'     X  `X" );
     111    ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 4 );
     112    ee_putstr( "XXXX'  XXXXX  X   X  `XXX   XXXX   X   X" );
     113    ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 5 );
     114    ee_putstr( "X'     X' `X  X. ,X     `X  X'     X  ,X" );
     115    ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 6 );
     116    ee_putstr( "X      X   X  `XXXX  XXXX'  `XXXX  XXXX'" );
    117117}
    118118
  • ttyvaders/trunk/src/ceo.c

    r76 r80  
    3434    while( !end )
    3535    {
    36         clear_graphics( g );
     36        ee_clear();
    3737
    38         if( get_key() == '\t' )
     38        if( ee_get_key() == '\t' )
    3939        {
    4040            end = 1;
     
    4343        fprintf( stderr, "foo\n" );
    4444
    45         refresh_graphics();
     45        ee_refresh();
    4646
    4747        usleep( 40000 );
  • ttyvaders/trunk/src/common.h

    r76 r80  
    4343 * Graphics primitives
    4444 */
    45 #ifdef USE_SLANG
    46 #   include <slang.h>
    47 #   define gfx_color(x) SLsmg_set_color(x)
    48 #   define gfx_goto(x,y) SLsmg_gotorc(y,x)
    49 #   define gfx_putchar(x) SLsmg_write_char(x)
    50 #   define gfx_putstr(x) SLsmg_write_string(x)
    51 #elif USE_NCURSES
    52 #define box box_other
    53 #   include <curses.h>
    54 #undef box
    55 #   define gfx_color(x) attrset(COLOR_PAIR(x))
    56 #   define gfx_goto(x,y) move(y,x)
    57 #   define gfx_putchar(x) addch(x)
    58 #   define gfx_putstr(x) addstr(x)
    59 #else
    60 #   define gfx_color(x) (void)(x)
    61 #   define gfx_goto(x,y) do{ (void)(x); (void)(y); } while(0)
    62 #   define gfx_putchar(x) (void)(x)
    63 #   define gfx_putstr(x) (void)(x)
    64 #endif
    65 
    66 #define gfx_putcharTO(x,y,c) do{ gfx_goto(x,y); gfx_putchar(c); }while(0)
     45#include "ee.h"
    6746
    6847/*
     
    165144} game;
    166145
    167 #define BLACK 1
    168 #define GREEN 2
    169 #define YELLOW 3
    170 #define WHITE 4
    171 #define RED 5
    172 #define GRAY 6
    173 #define LIGHTGRAY 7
    174 #define BLUE 8
    175 #define CYAN 9
    176 #define MAGENTA 10
    177 
    178146/*
    179147 * From aliens.c
     
    220188
    221189/*
    222  * From graphics.c
    223  */
    224 int init_graphics( void );
    225 void init_game( game *g );
    226 char get_key( void );
    227 void clear_graphics( game *g );
    228 void refresh_graphics( void );
    229 void end_graphics( void );
    230 
    231 /*
    232190 * From math.c
    233191 */
  • ttyvaders/trunk/src/explosions.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: explosions.c,v 1.4 2002/12/22 18:44:12 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    7272    {
    7373#if 0
    74         gfx_color( GREEN );
    75         gfx_goto( ex->x[i] + 3, ex->y[i] );
     74        ee_color( GREEN );
     75        ee_goto( ex->x[i] + 3, ex->y[i] );
    7676        switch( GET_RAND(0,3) )
    7777        {
    7878        case 0:
    79             gfx_putchar( 'p' );
    80             gfx_putchar( 'i' );
    81             gfx_putchar( 'f' );
     79            ee_putchar( 'p' );
     80            ee_putchar( 'i' );
     81            ee_putchar( 'f' );
    8282            break;
    8383        case 1:
    84             gfx_putchar( 'p' );
    85             gfx_putchar( 'a' );
    86             gfx_putchar( 'f' );
     84            ee_putchar( 'p' );
     85            ee_putchar( 'a' );
     86            ee_putchar( 'f' );
    8787            break;
    8888        case 2:
    89             gfx_putchar( 'p' );
    90             gfx_putchar( 'o' );
    91             gfx_putchar( 'u' );
    92             gfx_putchar( 'f' );
    93             break;
    94         }
    95         gfx_putchar( '!' );
     89            ee_putchar( 'p' );
     90            ee_putchar( 'o' );
     91            ee_putchar( 'u' );
     92            ee_putchar( 'f' );
     93            break;
     94        }
     95        ee_putchar( '!' );
    9696#endif
    9797
     
    139139    {
    140140    case 6:
    141         gfx_color( YELLOW );
    142         gfx_goto( x, y );
    143         gfx_putchar( '+' );
     141        ee_color( EE_YELLOW );
     142        ee_goto( x, y );
     143        ee_putchar( '+' );
    144144        break;
    145145    case 5:
    146         gfx_color( YELLOW );
    147         gfx_goto( x, y );
    148         gfx_putchar( 'o' );
     146        ee_color( EE_YELLOW );
     147        ee_goto( x, y );
     148        ee_putchar( 'o' );
    149149        break;
    150150    case 4:
    151         gfx_color( YELLOW );
    152         gfx_goto( x, y-1 );
    153         gfx_putchar( '_' );
    154         gfx_goto( x-1, y );
    155         gfx_putstr( ")_(" );
     151        ee_color( EE_YELLOW );
     152        ee_goto( x, y-1 );
     153        ee_putchar( '_' );
     154        ee_goto( x-1, y );
     155        ee_putstr( ")_(" );
    156156        break;
    157157    case 3:
    158         gfx_color( YELLOW );
    159         gfx_goto( x-1, y-1 );
    160         gfx_putstr( "._," );
    161         gfx_goto( x-1, y );
    162         gfx_putstr( ")_(" );
    163         gfx_goto( x-1, y+1 );
    164         gfx_putstr( "\' `" );
     158        ee_color( EE_YELLOW );
     159        ee_goto( x-1, y-1 );
     160        ee_putstr( "._," );
     161        ee_goto( x-1, y );
     162        ee_putstr( ")_(" );
     163        ee_goto( x-1, y+1 );
     164        ee_putstr( "\' `" );
    165165        break;
    166166    case 2:
    167         gfx_color( YELLOW );
    168         gfx_goto( x-1, y-1 );
    169         gfx_putstr( ".v," );
    170         gfx_goto( x-1, y );
    171         gfx_putstr( "> <" );
    172         gfx_goto( x-1, y+1 );
    173         gfx_putstr( "\'^`" );
     167        ee_color( EE_YELLOW );
     168        ee_goto( x-1, y-1 );
     169        ee_putstr( ".v," );
     170        ee_goto( x-1, y );
     171        ee_putstr( "> <" );
     172        ee_goto( x-1, y+1 );
     173        ee_putstr( "\'^`" );
    174174        break;
    175175    case 1:
    176         gfx_color( WHITE );
    177         gfx_goto( x-1, y-1 );
    178         gfx_putstr( ". ," );
    179         gfx_goto( x-1, y );
    180         gfx_putstr( "   " );
    181         gfx_goto( x-1, y+1 );
    182         gfx_putstr( "\' `" );
     176        ee_color( EE_WHITE );
     177        ee_goto( x-1, y-1 );
     178        ee_putstr( ". ," );
     179        ee_goto( x-1, y );
     180        ee_putstr( "   " );
     181        ee_goto( x-1, y+1 );
     182        ee_putstr( "\' `" );
    183183        break;
    184184    }
     
    187187static void draw_medium_explosion( int x, int y, int frame )
    188188{
    189     gfx_color( YELLOW );
     189    ee_color( EE_YELLOW );
    190190
    191191    switch( frame )
    192192    {
    193193    case 10:
    194         gfx_goto( x, y );
    195         gfx_putchar( '+' );
     194        ee_goto( x, y );
     195        ee_putchar( '+' );
    196196        break;
    197197    case 9:
    198         gfx_goto( x, y );
    199         gfx_putchar( 'o' );
     198        ee_goto( x, y );
     199        ee_putchar( 'o' );
    200200        break;
    201201    case 8:
    202         gfx_goto( x, y-1 );
    203         gfx_putchar( '_' );
    204         gfx_goto( x-1, y );
    205         gfx_putstr( ")_(" );
     202        ee_goto( x, y-1 );
     203        ee_putchar( '_' );
     204        ee_goto( x-1, y );
     205        ee_putstr( ")_(" );
    206206        break;
    207207    case 7:
    208         gfx_goto( x-1, y-1 );
    209         gfx_putstr( "._," );
    210         gfx_goto( x-1, y );
    211         gfx_putstr( ")_(" );
    212         gfx_goto( x-1, y+1 );
    213         gfx_putstr( "\' `" );
     208        ee_goto( x-1, y-1 );
     209        ee_putstr( "._," );
     210        ee_goto( x-1, y );
     211        ee_putstr( ")_(" );
     212        ee_goto( x-1, y+1 );
     213        ee_putstr( "\' `" );
    214214        break;
    215215    case 6:
    216         gfx_goto( x-1, y-1 );
    217         gfx_putstr( ".v," );
    218         gfx_goto( x-1, y );
    219         gfx_putstr( "> <" );
    220         gfx_goto( x-1, y+1 );
    221         gfx_putstr( "\'^`" );
     216        ee_goto( x-1, y-1 );
     217        ee_putstr( ".v," );
     218        ee_goto( x-1, y );
     219        ee_putstr( "> <" );
     220        ee_goto( x-1, y+1 );
     221        ee_putstr( "\'^`" );
    222222        break;
    223223    case 5:
    224         gfx_color( RED );
     224        ee_color( EE_RED );
    225225    case 4:
    226         gfx_goto( x-2, y-1 );
    227         gfx_putstr( "_\\~/_" );
    228         gfx_goto( x-2, y );
    229         gfx_putstr( ">   <" );
    230         gfx_goto( x-2, y+1 );
    231         gfx_putstr( "~/_\\~" );
     226        ee_goto( x-2, y-1 );
     227        ee_putstr( "_\\~/_" );
     228        ee_goto( x-2, y );
     229        ee_putstr( ">   <" );
     230        ee_goto( x-2, y+1 );
     231        ee_putstr( "~/_\\~" );
    232232        break;
    233233    case 3:
    234         gfx_color( RED );
     234        ee_color( EE_RED );
    235235    case 2:
    236         gfx_goto( x-2, y-1 );
    237         gfx_putstr( "_\\ /_" );
    238         gfx_goto( x-2, y );
    239         gfx_putstr( "_   _" );
    240         gfx_goto( x-2, y+1 );
    241         gfx_putstr( " / \\ " );
     236        ee_goto( x-2, y-1 );
     237        ee_putstr( "_\\ /_" );
     238        ee_goto( x-2, y );
     239        ee_putstr( "_   _" );
     240        ee_goto( x-2, y+1 );
     241        ee_putstr( " / \\ " );
    242242        break;
    243243    case 1:
    244         gfx_color( WHITE );
    245         gfx_goto( x-2, y-1 );
    246         gfx_putstr( ". \' ," );
    247         gfx_goto( x-2, y );
    248         gfx_putstr( "     " );
    249         gfx_goto( x-2, y+1 );
    250         gfx_putstr( "\' . `" );
    251         break;
    252     }
    253 }
    254 
     244        ee_color( EE_WHITE );
     245        ee_goto( x-2, y-1 );
     246        ee_putstr( ". \' ," );
     247        ee_goto( x-2, y );
     248        ee_putstr( "     " );
     249        ee_goto( x-2, y+1 );
     250        ee_putstr( "\' . `" );
     251        break;
     252    }
     253}
     254
  • ttyvaders/trunk/src/main.c

    r76 r80  
    3838    srand(time(NULL));
    3939
    40     if( init_graphics() )
     40    if( ee_init() )
    4141    {
    4242        return 1;
     
    4444
    4545    /* Initialize our program */
    46     init_game(g);
     46    g->w = ee_get_width();
     47    g->h = ee_get_height();
    4748
    4849    /* Go ! */
     
    5051
    5152    /* Clean up */
    52     end_graphics();
     53    ee_end();
    5354
    5455    return 0;
     
    8485        char key;
    8586
    86         while( ( key = get_key() ) )
     87        while( ( key = ee_get_key() ) )
    8788        {
    8889            switch( key )
     
    215216
    216217        /* Clear screen */
    217         clear_graphics( g );
     218        ee_clear();
    218219
    219220        /* Print starfield, tunnel, aliens, player and explosions */
     
    235236
    236237        /* Refresh */
    237         refresh_graphics();
     238        ee_refresh();
    238239
    239240        purcompteur++;
  • ttyvaders/trunk/src/overlay.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: overlay.c,v 1.3 2003/02/09 11:17:40 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    3131
    3232    /* Draw life jauge */
    33     gfx_color( GRAY );
    34     gfx_goto( 4, 1 );
    35     gfx_putstr( dots30 );
     33    ee_color( EE_GRAY );
     34    ee_goto( 4, 1 );
     35    ee_putstr( dots30 );
    3636
    3737    if( g->p->life > MAX_LIFE * 7 / 10 )
    3838    {
    39         gfx_color( GREEN );
     39        ee_color( EE_GREEN );
    4040    }
    4141    else if( g->p->life > MAX_LIFE * 3 / 10 )
    4242    {
    43         gfx_color( YELLOW );
     43        ee_color( EE_YELLOW );
    4444    }
    4545    else
    4646    {
    47         gfx_color( RED );
     47        ee_color( EE_RED );
    4848    }
    4949
    50     gfx_goto( 4, 1 );
    51     gfx_putstr( dashes30 + ( MAX_LIFE - g->p->life ) * 30 / MAX_LIFE );
     50    ee_goto( 4, 1 );
     51    ee_putstr( dashes30 + ( MAX_LIFE - g->p->life ) * 30 / MAX_LIFE );
    5252
    53     gfx_color( WHITE );
    54     gfx_goto( 1, 1 );
    55     gfx_putstr( "L |" );
    56     gfx_goto( 34, 1 );
    57     gfx_putstr( "|" );
     53    ee_color( EE_WHITE );
     54    ee_goto( 1, 1 );
     55    ee_putstr( "L |" );
     56    ee_goto( 34, 1 );
     57    ee_putstr( "|" );
    5858
    5959    /* Draw weapon jauge */
    60     gfx_color( GRAY );
    61     gfx_goto( 42, 1 );
    62     gfx_putstr( dots30 + 10 );
     60    ee_color( EE_GRAY );
     61    ee_goto( 42, 1 );
     62    ee_putstr( dots30 + 10 );
    6363
    6464    if( g->p->special > MAX_SPECIAL * 9 / 10 )
    6565    {
    66         gfx_color( WHITE );
     66        ee_color( EE_WHITE );
    6767    }
    6868    else if( g->p->special > MAX_SPECIAL * 3 / 10 )
    6969    {
    70         gfx_color( CYAN );
     70        ee_color( EE_CYAN );
    7171    }
    7272    else
    7373    {
    74         gfx_color( BLUE );
     74        ee_color( EE_BLUE );
    7575    }
    7676
    77     gfx_goto( 42, 1 );
    78     gfx_putstr( dashes30 + 10 + ( MAX_SPECIAL - g->p->special ) * 20 / MAX_SPECIAL );
     77    ee_goto( 42, 1 );
     78    ee_putstr( dashes30 + 10 + ( MAX_SPECIAL - g->p->special ) * 20 / MAX_SPECIAL );
    7979
    80     gfx_color( WHITE );
    81     gfx_goto( 39, 1 );
    82     gfx_putstr( "S |" );
    83     gfx_goto( 62, 1 );
    84     gfx_putstr( "|" );
     80    ee_color( EE_WHITE );
     81    ee_goto( 39, 1 );
     82    ee_putstr( "S |" );
     83    ee_goto( 62, 1 );
     84    ee_putstr( "|" );
    8585}
    8686
  • ttyvaders/trunk/src/player.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: player.c,v 1.8 2002/12/23 16:21:38 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    5454    }
    5555
    56     gfx_goto( p->x + 2, p->y - 2 );
    57     gfx_color( GREEN );
    58     gfx_putstr( "/\\" );
    59     gfx_goto( p->x + 1, p->y - 1 );
    60     gfx_putchar( '(' );
    61     gfx_color( YELLOW );
    62     gfx_putstr( "()" );
    63     gfx_color( GREEN );
    64     gfx_putchar( ')' );
    65     gfx_goto( p->x, p->y );
    66     gfx_color( GREEN );
    67     gfx_putstr( "I<__>I" );
     56    ee_goto( p->x + 2, p->y - 2 );
     57    ee_color( EE_GREEN );
     58    ee_putstr( "/\\" );
     59    ee_goto( p->x + 1, p->y - 1 );
     60    ee_putchar( '(' );
     61    ee_color( EE_YELLOW );
     62    ee_putstr( "()" );
     63    ee_color( EE_GREEN );
     64    ee_putchar( ')' );
     65    ee_goto( p->x, p->y );
     66    ee_color( EE_GREEN );
     67    ee_putstr( "I<__>I" );
    6868}
    6969
  • ttyvaders/trunk/src/starfield.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: starfield.c,v 1.5 2002/12/23 09:28:37 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    5252        if( s[i].x >= 0 )
    5353        {
    54             gfx_color( s[i].c );
    55             gfx_goto( s[i].x, s[i].y );
    56             gfx_putchar( s[i].ch );
     54            ee_color( s[i].c );
     55            ee_goto( s[i].x, s[i].y );
     56            ee_putchar( s[i].ch );
    5757        }
    5858    }
  • ttyvaders/trunk/src/tunnel.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: tunnel.c,v 1.8 2002/12/23 12:47:36 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    7272    char c;
    7373
    74     gfx_color( GREEN );
     74    ee_color( EE_GREEN );
    7575
    7676    /* Left border */
     
    9191        }
    9292
    93         gfx_goto( t->left[i] + 1, i );
    94         gfx_putchar( c );
     93        ee_goto( t->left[i] + 1, i );
     94        ee_putchar( c );
    9595
    9696        if( i + 1 < g->h )
     
    9898            for( j = 1; j < t->left[i+1] - t->left[i]; j++ )
    9999            {
    100                 gfx_goto( t->left[i] + j + 1, i );
    101                 gfx_putchar( '_' );
     100                ee_goto( t->left[i] + j + 1, i );
     101                ee_putchar( '_' );
    102102            }
    103103        }
     
    125125            for( j = 1; j < t->right[i] - t->right[i+1]; j++ )
    126126            {
    127                 gfx_goto( t->right[i+1] + j - 1, i );
    128                 gfx_putchar( '_' );
     127                ee_goto( t->right[i+1] + j - 1, i );
     128                ee_putchar( '_' );
    129129            }
    130130        }
    131131
    132         gfx_goto( t->right[i] - 1, i );
    133         gfx_putchar( c );
    134     }
    135 
    136     gfx_color( RED );
     132        ee_goto( t->right[i] - 1, i );
     133        ee_putchar( c );
     134    }
     135
     136    ee_color( EE_RED );
    137137
    138138    /* Left concrete */
     
    141141        for( j = 0 ; j <= t->left[i]; j++ )
    142142        {
    143             gfx_goto( j, i );
    144             gfx_putchar( '#' );
     143            ee_goto( j, i );
     144            ee_putchar( '#' );
    145145        }
    146146    }
     
    151151        for( j = t->right[i] ; j < g->w ; j++ )
    152152        {
    153             gfx_goto( j, i );
    154             gfx_putchar( '#' );
     153            ee_goto( j, i );
     154            ee_putchar( '#' );
    155155        }
    156156    }
  • ttyvaders/trunk/src/weapons.c

    r72 r80  
    44 *                 All Rights Reserved
    55 *
    6  *   $Id: weapons.c,v 1.13 2002/12/23 16:44:28 sam Exp $
     6 *   $Id$
    77 *
    88 *   This program is free software; you can redistribute it and/or modify
     
    5050        {
    5151            case WEAPON_LASER:
    52                 gfx_color( WHITE );
    53                 gfx_goto( wp->x[i] >> 4, wp->y[i] >> 4 );
    54                 gfx_putchar( '|' );
    55                 gfx_color( CYAN );
    56                 gfx_goto( wp->x[i] >> 4, (wp->y[i] >> 4) + 1 );
    57                 gfx_putchar( '|' );
     52                ee_color( EE_WHITE );
     53                ee_goto( wp->x[i] >> 4, wp->y[i] >> 4 );
     54                ee_putchar( '|' );
     55                ee_color( EE_CYAN );
     56                ee_goto( wp->x[i] >> 4, (wp->y[i] >> 4) + 1 );
     57                ee_putchar( '|' );
    5858                break;
    5959            case WEAPON_SEEKER:
    60                 gfx_color( CYAN );
    61                 gfx_goto( wp->x3[i] >> 4, wp->y3[i] >> 4 );
    62                 gfx_putchar( '.' );
    63                 gfx_goto( wp->x2[i] >> 4, wp->y2[i] >> 4 );
    64                 gfx_putchar( 'o' );
    65                 gfx_color( WHITE );
    66                 gfx_goto( wp->x[i] >> 4, wp->y[i] >> 4 );
    67                 gfx_putchar( '@' );
     60                ee_color( EE_CYAN );
     61                ee_goto( wp->x3[i] >> 4, wp->y3[i] >> 4 );
     62                ee_putchar( '.' );
     63                ee_goto( wp->x2[i] >> 4, wp->y2[i] >> 4 );
     64                ee_putchar( 'o' );
     65                ee_color( EE_WHITE );
     66                ee_goto( wp->x[i] >> 4, wp->y[i] >> 4 );
     67                ee_putchar( '@' );
    6868                break;
    6969            case WEAPON_BOMB:
    70                 gfx_color( GRAY );
    71                 gfx_goto( (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4 );
    72                 gfx_putchar( '.' );
    73                 gfx_goto( (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4 );
    74                 gfx_putchar( '.' );
    75                 gfx_goto( (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4 );
    76                 gfx_putchar( '.' );
    77                 gfx_goto( wp->x3[i] >> 4, wp->y3[i] >> 4 );
    78                 gfx_putchar( '.' );
    79                 gfx_goto( wp->x2[i] >> 4, wp->y2[i] >> 4 );
    80                 gfx_putchar( '.' );
     70                ee_color( EE_GRAY );
     71                ee_goto( (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4 );
     72                ee_putchar( '.' );
     73                ee_goto( (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4 );
     74                ee_putchar( '.' );
     75                ee_goto( (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4 );
     76                ee_putchar( '.' );
     77                ee_goto( wp->x3[i] >> 4, wp->y3[i] >> 4 );
     78                ee_putchar( '.' );
     79                ee_goto( wp->x2[i] >> 4, wp->y2[i] >> 4 );
     80                ee_putchar( '.' );
    8181                draw_bomb( wp->x[i] >> 4, wp->y[i] >> 4, wp->vx[i], wp->vy[i] );
    8282                break;
     
    290290{
    291291    vy *= 2;
    292     gfx_color( CYAN );
     292    ee_color( EE_CYAN );
    293293
    294294    if( vx > vy )
     
    299299            {
    300300                /* -1pi/6 */
    301                 gfx_goto( x-4, y-1 );
    302                 gfx_putstr( "/`-." );
    303                 gfx_goto( x-4, y );
    304                 gfx_putstr( "`-._\\" );
    305                 gfx_color( WHITE );
    306                 gfx_goto( x-1, y );
    307                 gfx_putstr( "_\\" );
    308                 gfx_goto( x, y+1 );
    309                 gfx_putchar( '`' );
     301                ee_goto( x-4, y-1 );
     302                ee_putstr( "/`-." );
     303                ee_goto( x-4, y );
     304                ee_putstr( "`-._\\" );
     305                ee_color( EE_WHITE );
     306                ee_goto( x-1, y );
     307                ee_putstr( "_\\" );
     308                ee_goto( x, y+1 );
     309                ee_putchar( '`' );
    310310            }
    311311            else if( vy < -vx/4 )
    312312            {
    313313                /* 1pi/6 */
    314                 gfx_goto( x-4, y );
    315                 gfx_putstr( ",-' " );
    316                 gfx_goto( x-4, y+1 );
    317                 gfx_putstr( "\\,-'" );
    318                 gfx_color( WHITE );
    319                 gfx_goto( x-1, y-1 );
    320                 gfx_putstr( "_," );
    321                 gfx_goto( x, y );
    322                 gfx_putchar( '/' );
     314                ee_goto( x-4, y );
     315                ee_putstr( ",-' " );
     316                ee_goto( x-4, y+1 );
     317                ee_putstr( "\\,-'" );
     318                ee_color( EE_WHITE );
     319                ee_goto( x-1, y-1 );
     320                ee_putstr( "_," );
     321                ee_goto( x, y );
     322                ee_putchar( '/' );
    323323            }
    324324            else
    325325            {
    326326                /* 0pi/6 */
    327                 gfx_goto( x-4, y-1 );
    328                 gfx_putstr( "____" );
    329                 gfx_goto( x-5, y );
    330                 gfx_putstr( "|____" );
    331                 gfx_color( WHITE );
    332                 gfx_goto( x, y );
    333                 gfx_putchar( '>' );
     327                ee_goto( x-4, y-1 );
     328                ee_putstr( "____" );
     329                ee_goto( x-5, y );
     330                ee_putstr( "|____" );
     331                ee_color( EE_WHITE );
     332                ee_goto( x, y );
     333                ee_putchar( '>' );
    334334            }
    335335        }
     
    339339            {
    340340                /* 2pi/6 */
    341                 gfx_goto( x-2, y );
    342                 gfx_putstr( "/ " );
    343                 gfx_goto( x-3, y+1 );
    344                 gfx_putstr( "/ /" );
    345                 gfx_goto( x-3, y+2 );
    346                 gfx_putstr( "`'" );
    347                 gfx_color( WHITE );
    348                 gfx_goto( x-1, y-1 );
    349                 gfx_putstr( "_," );
    350                 gfx_goto( x, y );
    351                 gfx_putchar( '|' );
     341                ee_goto( x-2, y );
     342                ee_putstr( "/ " );
     343                ee_goto( x-3, y+1 );
     344                ee_putstr( "/ /" );
     345                ee_goto( x-3, y+2 );
     346                ee_putstr( "`'" );
     347                ee_color( EE_WHITE );
     348                ee_goto( x-1, y-1 );
     349                ee_putstr( "_," );
     350                ee_goto( x, y );
     351                ee_putchar( '|' );
    352352            }
    353353            else if( vx < vy/4 )
    354354            {
    355355                /* 4pi/6 */
    356                 gfx_goto( x+1, y );
    357                 gfx_putstr( " \\" );
    358                 gfx_goto( x+1, y+1 );
    359                 gfx_putstr( "\\ \\" );
    360                 gfx_goto( x+2, y+2 );
    361                 gfx_putstr( "`'" );
    362                 gfx_color( WHITE );
    363                 gfx_goto( x, y-1 );
    364                 gfx_putstr( "._" );
    365                 gfx_goto( x, y );
    366                 gfx_putchar( '|' );
     356                ee_goto( x+1, y );
     357                ee_putstr( " \\" );
     358                ee_goto( x+1, y+1 );
     359                ee_putstr( "\\ \\" );
     360                ee_goto( x+2, y+2 );
     361                ee_putstr( "`'" );
     362                ee_color( EE_WHITE );
     363                ee_goto( x, y-1 );
     364                ee_putstr( "._" );
     365                ee_goto( x, y );
     366                ee_putchar( '|' );
    367367            }
    368368            else
    369369            {
    370370                /* 3pi/6 */
    371                 gfx_goto( x-1, y+1 );
    372                 gfx_putstr( "| |" );
    373                 gfx_goto( x-1, y+2 );
    374                 gfx_putstr( "|_|" );
    375                 gfx_color( WHITE );
    376                 gfx_goto( x-1, y );
    377                 gfx_putstr( ",^." );
     371                ee_goto( x-1, y+1 );
     372                ee_putstr( "| |" );
     373                ee_goto( x-1, y+2 );
     374                ee_putstr( "|_|" );
     375                ee_color( EE_WHITE );
     376                ee_goto( x-1, y );
     377                ee_putstr( ",^." );
    378378            }
    379379        }
     
    386386            {
    387387                /* -2pi/6 */
    388                 gfx_goto( x-2, y-2 );
    389                 gfx_putstr( ",." );
    390                 gfx_goto( x-2, y-1 );
    391                 gfx_putstr( "\\ \\" );
    392                 gfx_goto( x-1, y );
    393                 gfx_putchar( '\\' );
    394                 gfx_color( WHITE );
    395                 gfx_goto( x, y );
    396                 gfx_putstr( "_|" );
     388                ee_goto( x-2, y-2 );
     389                ee_putstr( ",." );
     390                ee_goto( x-2, y-1 );
     391                ee_putstr( "\\ \\" );
     392                ee_goto( x-1, y );
     393                ee_putchar( '\\' );
     394                ee_color( EE_WHITE );
     395                ee_goto( x, y );
     396                ee_putstr( "_|" );
    397397            }
    398398            else if( vx < -vy/4 )
    399399            {
    400400                /* -4pi/6 */
    401                 gfx_goto( x+1, y-2 );
    402                 gfx_putstr( ",." );
    403                 gfx_goto( x, y-1 );
    404                 gfx_putstr( "/ /" );
    405                 gfx_goto( x+1, y );
    406                 gfx_putchar( '/' );
    407                 gfx_color( WHITE );
    408                 gfx_goto( x-1, y );
    409                 gfx_putstr( "|_/" );
     401                ee_goto( x+1, y-2 );
     402                ee_putstr( ",." );
     403                ee_goto( x, y-1 );
     404                ee_putstr( "/ /" );
     405                ee_goto( x+1, y );
     406                ee_putchar( '/' );
     407                ee_color( EE_WHITE );
     408                ee_goto( x-1, y );
     409                ee_putstr( "|_/" );
    410410            }
    411411            else
    412412            {
    413413                /* -3pi/6 */
    414                 gfx_goto( x, y-3 );
    415                 gfx_putchar( '_' );
    416                 gfx_goto( x-1, y-2 );
    417                 gfx_putstr( "| |" );
    418                 gfx_goto( x-1, y-1 );
    419                 gfx_putstr( "| |" );
    420                 gfx_color( WHITE );
    421                 gfx_goto( x-1, y );
    422                 gfx_putstr( "`v'" );
     414                ee_goto( x, y-3 );
     415                ee_putchar( '_' );
     416                ee_goto( x-1, y-2 );
     417                ee_putstr( "| |" );
     418                ee_goto( x-1, y-1 );
     419                ee_putstr( "| |" );
     420                ee_color( EE_WHITE );
     421                ee_goto( x-1, y );
     422                ee_putstr( "`v'" );
    423423            }
    424424        }
     
    428428            {
    429429                /* -5pi/6 */
    430                 gfx_goto( x+1, y-1 );
    431                 gfx_putstr( ",-'\\" );
    432                 gfx_goto( x+2, y );
    433                 gfx_putstr( ",-'" );
    434                 gfx_goto( x, y+1 );
    435                 gfx_putchar( '\'' );
    436                 gfx_color( WHITE );
    437                 gfx_goto( x, y );
    438                 gfx_putstr( "/_" );
     430                ee_goto( x+1, y-1 );
     431                ee_putstr( ",-'\\" );
     432                ee_goto( x+2, y );
     433                ee_putstr( ",-'" );
     434                ee_goto( x, y+1 );
     435                ee_putchar( '\'' );
     436                ee_color( EE_WHITE );
     437                ee_goto( x, y );
     438                ee_putstr( "/_" );
    439439            }
    440440            else if( vy < vx/4 )
    441441            {
    442442                /* 5pi/6 */
    443                 gfx_goto( x+1, y );
    444                 gfx_putstr( " `-." );
    445                 gfx_goto( x+1, y+1 );
    446                 gfx_putstr( "`-./" );
    447                 gfx_color( WHITE );
    448                 gfx_goto( x, y-1 );
    449                 gfx_putstr( "._" );
    450                 gfx_goto( x, y );
    451                 gfx_putchar( '\\' );
     443                ee_goto( x+1, y );
     444                ee_putstr( " `-." );
     445                ee_goto( x+1, y+1 );
     446                ee_putstr( "`-./" );
     447                ee_color( EE_WHITE );
     448                ee_goto( x, y-1 );
     449                ee_putstr( "._" );
     450                ee_goto( x, y );
     451                ee_putchar( '\\' );
    452452            }
    453453            else
    454454            {
    455455                /* 6pi/6 */
    456                 gfx_goto( x+1, y-1 );
    457                 gfx_putstr( "____" );
    458                 gfx_goto( x+1, y );
    459                 gfx_putstr( "____|" );
    460                 gfx_color( WHITE );
    461                 gfx_goto( x, y );
    462                 gfx_putchar( '<' );
     456                ee_goto( x+1, y-1 );
     457                ee_putstr( "____" );
     458                ee_goto( x+1, y );
     459                ee_putstr( "____|" );
     460                ee_color( EE_WHITE );
     461                ee_goto( x, y );
     462                ee_putchar( '<' );
    463463            }
    464464        }
     
    468468static void draw_fragbomb( int x, int y, int frame )
    469469{
    470     gfx_color( WHITE );
    471 
    472     gfx_color( frame & 1 ? CYAN : WHITE );
    473     gfx_goto( x-2, y );
    474     gfx_putstr( "(    )" );
    475     gfx_goto( x-1, y+1 );
    476     gfx_putstr( "`--'" );
    477 
    478     gfx_color( frame & 1 ? WHITE : CYAN );
    479     gfx_goto( x-1, y-1 );
    480     gfx_putstr( ",--." );
    481     gfx_goto( x, y );
    482     gfx_putstr( "'," );
     470    ee_color( EE_WHITE );
     471
     472    ee_color( frame & 1 ? EE_CYAN : EE_WHITE );
     473    ee_goto( x-2, y );
     474    ee_putstr( "(    )" );
     475    ee_goto( x-1, y+1 );
     476    ee_putstr( "`--'" );
     477
     478    ee_color( frame & 1 ? EE_WHITE : EE_CYAN );
     479    ee_goto( x-1, y-1 );
     480    ee_putstr( ",--." );
     481    ee_goto( x, y );
     482    ee_putstr( "'," );
    483483
    484484    switch( frame % 4 )
    485485    {
    486486    case 0:
    487         gfx_color( CYAN );
    488         gfx_goto( x, y + 2 );
    489         gfx_putchar( 'O' );
    490         gfx_goto( x + 2, y + 2 );
    491         gfx_putchar( 'o' );
    492         gfx_goto( x + 1, y + 3 );
    493         gfx_putchar( 'o' );
    494         gfx_color( GRAY );
    495         gfx_goto( x - 1, y + 3 );
    496         gfx_putchar( ':' );
    497         gfx_goto( x + 2, y + 4 );
    498         gfx_putchar( ':' );
    499         gfx_goto( x, y + 4 );
    500         gfx_putchar( '.' );
    501         gfx_goto( x + 1, y + 5 );
    502         gfx_putchar( '.' );
     487        ee_color( EE_CYAN );
     488        ee_goto( x, y + 2 );
     489        ee_putchar( 'O' );
     490        ee_goto( x + 2, y + 2 );
     491        ee_putchar( 'o' );
     492        ee_goto( x + 1, y + 3 );
     493        ee_putchar( 'o' );
     494        ee_color( EE_GRAY );
     495        ee_goto( x - 1, y + 3 );
     496        ee_putchar( ':' );
     497        ee_goto( x + 2, y + 4 );
     498        ee_putchar( ':' );
     499        ee_goto( x, y + 4 );
     500        ee_putchar( '.' );
     501        ee_goto( x + 1, y + 5 );
     502        ee_putchar( '.' );
    503503        break;
    504504    case 1:
    505         gfx_color( CYAN );
    506         //gfx_goto( x, y + 1 );
    507         //gfx_putchar( 'O' );
    508         gfx_goto( x + 1, y + 2 );
    509         gfx_putchar( 'O' );
    510         gfx_goto( x, y + 3 );
    511         gfx_putchar( 'o' );
    512         gfx_color( GRAY );
    513         gfx_goto( x + 2, y + 3 );
    514         gfx_putchar( ':' );
    515         gfx_goto( x + 1, y + 4 );
    516         gfx_putchar( ':' );
    517         gfx_goto( x - 1, y + 4 );
    518         gfx_putchar( '.' );
    519         gfx_goto( x + 2, y + 5 );
    520         gfx_putchar( '.' );
     505        ee_color( EE_CYAN );
     506        //ee_goto( x, y + 1 );
     507        //ee_putchar( 'O' );
     508        ee_goto( x + 1, y + 2 );
     509        ee_putchar( 'O' );
     510        ee_goto( x, y + 3 );
     511        ee_putchar( 'o' );
     512        ee_color( EE_GRAY );
     513        ee_goto( x + 2, y + 3 );
     514        ee_putchar( ':' );
     515        ee_goto( x + 1, y + 4 );
     516        ee_putchar( ':' );
     517        ee_goto( x - 1, y + 4 );
     518        ee_putchar( '.' );
     519        ee_goto( x + 2, y + 5 );
     520        ee_putchar( '.' );
    521521        break;
    522522    case 2:
    523         gfx_color( CYAN );
    524         //gfx_goto( x - 1, y + 1 );
    525         //gfx_putchar( 'O' );
    526         gfx_goto( x + 2, y + 2 );
    527         gfx_putchar( 'O' );
    528         gfx_goto( x, y + 2 );
    529         gfx_putchar( 'o' );
    530         gfx_goto( x + 1, y + 3 );
    531         gfx_putchar( 'o' );
    532         gfx_color( GRAY );
    533         gfx_goto( x, y + 4 );
    534         gfx_putchar( ':' );
    535         gfx_goto( x + 2, y + 4 );
    536         gfx_putchar( '.' );
    537         gfx_goto( x + 1, y + 5 );
    538         gfx_putchar( '.' );
     523        ee_color( EE_CYAN );
     524        //ee_goto( x - 1, y + 1 );
     525        //ee_putchar( 'O' );
     526        ee_goto( x + 2, y + 2 );
     527        ee_putchar( 'O' );
     528        ee_goto( x, y + 2 );
     529        ee_putchar( 'o' );
     530        ee_goto( x + 1, y + 3 );
     531        ee_putchar( 'o' );
     532        ee_color( EE_GRAY );
     533        ee_goto( x, y + 4 );
     534        ee_putchar( ':' );
     535        ee_goto( x + 2, y + 4 );
     536        ee_putchar( '.' );
     537        ee_goto( x + 1, y + 5 );
     538        ee_putchar( '.' );
    539539        break;
    540540    case 3:
    541         gfx_color( CYAN );
    542         //gfx_goto( x + 2, y + 1 );
    543         //gfx_putchar( 'O' );
    544         gfx_goto( x + 1, y + 2 );
    545         gfx_putchar( 'O' );
    546         gfx_goto( x - 1, y + 2 );
    547         gfx_putchar( 'o' );
    548         gfx_goto( x + 2, y + 3 );
    549         gfx_putchar( 'o' );
    550         gfx_color( GRAY );
    551         gfx_goto( x, y + 3 );
    552         gfx_putchar( ':' );
    553         gfx_goto( x + 1, y + 4 );
    554         gfx_putchar( ':' );
    555         gfx_goto( x, y + 5 );
    556         gfx_putchar( '.' );
     541        ee_color( EE_CYAN );
     542        //ee_goto( x + 2, y + 1 );
     543        //ee_putchar( 'O' );
     544        ee_goto( x + 1, y + 2 );
     545        ee_putchar( 'O' );
     546        ee_goto( x - 1, y + 2 );
     547        ee_putchar( 'o' );
     548        ee_goto( x + 2, y + 3 );
     549        ee_putchar( 'o' );
     550        ee_color( EE_GRAY );
     551        ee_goto( x, y + 3 );
     552        ee_putchar( ':' );
     553        ee_goto( x + 1, y + 4 );
     554        ee_putchar( ':' );
     555        ee_goto( x, y + 5 );
     556        ee_putchar( '.' );
    557557        break;
    558558    }
     
    567567    {
    568568        case 24:
    569             gfx_color( WHITE );
    570             gfx_goto( x, y-3 );
    571             gfx_putstr( "__" );
    572             gfx_goto( x-1, y-2 );
    573             gfx_putchar( '\'' );
    574             gfx_goto( x+2, y-2 );
    575             gfx_putchar( '`' );
     569            ee_color( EE_WHITE );
     570            ee_goto( x, y-3 );
     571            ee_putstr( "__" );
     572            ee_goto( x-1, y-2 );
     573            ee_putchar( '\'' );
     574            ee_goto( x+2, y-2 );
     575            ee_putchar( '`' );
    576576            break;
    577577        case 23:
    578             gfx_color( CYAN );
    579             gfx_goto( x, y-3 );
    580             gfx_putstr( "__" );
    581             gfx_color( WHITE );
    582             gfx_goto( x-2, y-2 );
    583             gfx_putstr( "-'" );
    584             gfx_goto( x+2, y-2 );
    585             gfx_putstr( "`-" );
     578            ee_color( EE_CYAN );
     579            ee_goto( x, y-3 );
     580            ee_putstr( "__" );
     581            ee_color( EE_WHITE );
     582            ee_goto( x-2, y-2 );
     583            ee_putstr( "-'" );
     584            ee_goto( x+2, y-2 );
     585            ee_putstr( "`-" );
    586586            break;
    587587        case 22:
    588             gfx_color( CYAN );
    589             gfx_goto( x, y-3 );
    590             gfx_putstr( "__" );
    591             gfx_goto( x-1, y-2 );
    592             gfx_putchar( '\'' );
    593             gfx_goto( x+2, y-2 );
    594             gfx_putchar( '`' );
    595             gfx_color( WHITE );
    596             gfx_goto( x-3, y-2 );
    597             gfx_putstr( ",-" );
    598             gfx_goto( x+3, y-2 );
    599             gfx_putstr( "-." );
     588            ee_color( EE_CYAN );
     589            ee_goto( x, y-3 );
     590            ee_putstr( "__" );
     591            ee_goto( x-1, y-2 );
     592            ee_putchar( '\'' );
     593            ee_goto( x+2, y-2 );
     594            ee_putchar( '`' );
     595            ee_color( EE_WHITE );
     596            ee_goto( x-3, y-2 );
     597            ee_putstr( ",-" );
     598            ee_goto( x+3, y-2 );
     599            ee_putstr( "-." );
    600600            break;
    601601        case 21:
    602             gfx_color( CYAN );
    603             gfx_goto( x-1, y-3 );
    604             gfx_putstr( "____" );
    605             gfx_goto( x-2, y-2 );
    606             gfx_putchar( '\'' );
    607             gfx_goto( x+3, y-2 );
    608             gfx_putchar( '`' );
    609             gfx_color( WHITE );
    610             gfx_goto( x-4, y-2 );
    611             gfx_putstr( ",-" );
    612             gfx_goto( x+4, y-2 );
    613             gfx_putstr( "-." );
     602            ee_color( EE_CYAN );
     603            ee_goto( x-1, y-3 );
     604            ee_putstr( "____" );
     605            ee_goto( x-2, y-2 );
     606            ee_putchar( '\'' );
     607            ee_goto( x+3, y-2 );
     608            ee_putchar( '`' );
     609            ee_color( EE_WHITE );
     610            ee_goto( x-4, y-2 );
     611            ee_putstr( ",-" );
     612            ee_goto( x+4, y-2 );
     613            ee_putstr( "-." );
    614614            break;
    615615        case 20:
    616             gfx_color( WHITE );
    617             gfx_goto( x, y-3 );
    618             gfx_putstr( "%%" );
    619             gfx_goto( x-4, y-2 );
    620             gfx_putchar( ',' );
    621             gfx_goto( x+5, y-2 );
    622             gfx_putchar( '.' );
    623             gfx_color( CYAN );
    624             gfx_goto( x-1, y-3 );
    625             gfx_putchar( ':' );
    626             gfx_goto( x+2, y-3 );
    627             gfx_putchar( ':' );
    628             gfx_goto( x-3, y-2 );
    629             gfx_putstr( "-'" );
    630             gfx_goto( x+3, y-2 );
    631             gfx_putstr( "`-" );
     616            ee_color( EE_WHITE );
     617            ee_goto( x, y-3 );
     618            ee_putstr( "%%" );
     619            ee_goto( x-4, y-2 );
     620            ee_putchar( ',' );
     621            ee_goto( x+5, y-2 );
     622            ee_putchar( '.' );
     623            ee_color( EE_CYAN );
     624            ee_goto( x-1, y-3 );
     625            ee_putchar( ':' );
     626            ee_goto( x+2, y-3 );
     627            ee_putchar( ':' );
     628            ee_goto( x-3, y-2 );
     629            ee_putstr( "-'" );
     630            ee_goto( x+3, y-2 );
     631            ee_putstr( "`-" );
    632632            break;
    633633        case 19:
    634             gfx_color( WHITE );
    635             gfx_goto( x, y-4 );
    636             gfx_putstr( "%%" );
    637             gfx_goto( x, y-3 );
    638             gfx_putstr( "##" );
    639             gfx_color( CYAN );
    640             gfx_goto( x-1, y-4 );
    641             gfx_putchar( ':' );
    642             gfx_goto( x+2, y-4 );
    643             gfx_putchar( ':' );
    644             gfx_goto( x-1, y-3 );
    645             gfx_putchar( '%' );
    646             gfx_goto( x+2, y-3 );
    647             gfx_putchar( '%' );
    648             gfx_goto( x-4, y-2 );
    649             gfx_putstr( ",-'" );
    650             gfx_goto( x+3, y-2 );
    651             gfx_putstr( "`-." );
    652             gfx_color( BLUE );
    653             gfx_goto( x-2, y-3 );
    654             gfx_putchar( ':' );
    655             gfx_goto( x+3, y-3 );
    656             gfx_putchar( ':' );
     634            ee_color( EE_WHITE );
     635            ee_goto( x, y-4 );
     636            ee_putstr( "%%" );
     637            ee_goto( x, y-3 );
     638            ee_putstr( "##" );
     639            ee_color( EE_CYAN );
     640            ee_goto( x-1, y-4 );
     641            ee_putchar( ':' );
     642            ee_goto( x+2, y-4 );
     643            ee_putchar( ':' );
     644            ee_goto( x-1, y-3 );
     645            ee_putchar( '%' );
     646            ee_goto( x+2, y-3 );
     647            ee_putchar( '%' );
     648            ee_goto( x-4, y-2 );
     649            ee_putstr( ",-'" );
     650            ee_goto( x+3, y-2 );
     651            ee_putstr( "`-." );
     652            ee_color( EE_BLUE );
     653            ee_goto( x-2, y-3 );
     654            ee_putchar( ':' );
     655            ee_goto( x+3, y-3 );
     656            ee_putchar( ':' );
    657657            break;
    658658        case 18:
    659659        default:
    660660            r = (18 - frame) * (18 - frame);
    661             gfx_color( WHITE );
    662             gfx_goto( x-1, y-5-r );
    663             gfx_putstr( ":%%:" );
    664             gfx_goto( x-1, y-4-r );
    665             gfx_putstr( "%##%" );
    666             gfx_color( CYAN );
    667             gfx_goto( x-2, y-4-r );
    668             gfx_putchar( ':' );
    669             gfx_goto( x+3, y-4-r );
    670             gfx_putchar( ':' );
    671             gfx_goto( x-2, y-2 );
    672             gfx_putchar( '\'' );
    673             gfx_goto( x+3, y-2 );
    674             gfx_putchar( '`' );
    675             gfx_color( BLUE );
    676             gfx_goto( x-3, y-2 );
    677             gfx_putchar( ':' );
    678             gfx_goto( x+4, y-2 );
    679             gfx_putchar( ':' );
     661            ee_color( EE_WHITE );
     662            ee_goto( x-1, y-5-r );
     663            ee_putstr( ":%%:" );
     664            ee_goto( x-1, y-4-r );
     665            ee_putstr( "%##%" );
     666            ee_color( EE_CYAN );
     667            ee_goto( x-2, y-4-r );
     668            ee_putchar( ':' );
     669            ee_goto( x+3, y-4-r );
     670            ee_putchar( ':' );
     671            ee_goto( x-2, y-2 );
     672            ee_putchar( '\'' );
     673            ee_goto( x+3, y-2 );
     674            ee_putchar( '`' );
     675            ee_color( EE_BLUE );
     676            ee_goto( x-3, y-2 );
     677            ee_putchar( ':' );
     678            ee_goto( x+4, y-2 );
     679            ee_putchar( ':' );
    680680            for( i = 0; i <= r; i++ )
    681681            {
    682                 gfx_color( WHITE );
    683                 gfx_goto( x-1, y-3-i );
    684                 gfx_putstr( (i+frame) % 5 ? "####" : "%%%%" );
    685                 gfx_color( CYAN );
    686                 gfx_goto( x-2, y-3-i );
    687                 gfx_putchar( '%' );
    688                 gfx_goto( x+3, y-3-i );
    689                 gfx_putchar( '%' );
    690                 gfx_color( BLUE );
    691                 gfx_goto( x-3, y-3-i );
    692                 gfx_putchar( ':' );
    693                 gfx_goto( x+4, y-3-i );
    694                 gfx_putchar( ':' );
     682                ee_color( EE_WHITE );
     683                ee_goto( x-1, y-3-i );
     684                ee_putstr( (i+frame) % 5 ? "####" : "%%%%" );
     685                ee_color( EE_CYAN );
     686                ee_goto( x-2, y-3-i );
     687                ee_putchar( '%' );
     688                ee_goto( x+3, y-3-i );
     689                ee_putchar( '%' );
     690                ee_color( EE_BLUE );
     691                ee_goto( x-3, y-3-i );
     692                ee_putchar( ':' );
     693                ee_goto( x+4, y-3-i );
     694                ee_putchar( ':' );
    695695            }
    696696            break;
     
    703703
    704704    /* Lots of duplicate pixels, but we don't care */
    705     gfx_color( BLUE );
     705    ee_color( EE_BLUE );
    706706    draw_circle( x, y, r++, ':' );
    707     gfx_color( CYAN );
     707    ee_color( EE_CYAN );
    708708    draw_circle( x, y, r++, '%' );
    709     gfx_color( WHITE );
     709    ee_color( EE_WHITE );
    710710    draw_circle( x, y, r++, '#' );
    711711    draw_circle( x, y, r++, '#' );
     
    719719    for( test = 0, dx = 0, dy = r ; dx <= dy ; dx++ )
    720720    {
    721         gfx_putcharTO( x + dx, y + dy / 2, c );
    722         gfx_putcharTO( x - dx, y + dy / 2, c );
    723         gfx_putcharTO( x + dx, y - dy / 2, c );
    724         gfx_putcharTO( x - dx, y - dy / 2, c );
    725 
    726         gfx_putcharTO( x + dy, y + dx / 2, c );
    727         gfx_putcharTO( x - dy, y + dx / 2, c );
    728         gfx_putcharTO( x + dy, y - dx / 2, c );
    729         gfx_putcharTO( x - dy, y - dx / 2, c );
     721        ee_putcharTO( x + dx, y + dy / 2, c );
     722        ee_putcharTO( x - dx, y + dy / 2, c );
     723        ee_putcharTO( x + dx, y - dy / 2, c );
     724        ee_putcharTO( x - dx, y - dy / 2, c );
     725
     726        ee_putcharTO( x + dy, y + dx / 2, c );
     727        ee_putcharTO( x - dy, y + dx / 2, c );
     728        ee_putcharTO( x + dy, y - dx / 2, c );
     729        ee_putcharTO( x - dy, y - dx / 2, c );
    730730
    731731        test += test > 0 ? dx - dy-- : dx;
Note: See TracChangeset for help on using the changeset viewer.