Changeset 142 for ttyvaders


Ignore:
Timestamp:
Nov 10, 2003, 10:54:11 PM (16 years ago)
Author:
Sam Hocevar
Message:
  • data/weapon_bomb: + New bomb sprite.
  • src/weapons.c: + Switched the bomb drawing to use ee_draw_sprite().
Location:
ttyvaders/trunk
Files:
1 added
2 edited

Legend:

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

    r140 r142  
    88        item_gem \
    99        item_heart \
     10        weapon_bomb \
    1011        $(NULL)
  • ttyvaders/trunk/src/weapons.c

    r110 r142  
    3232static void draw_fragbomb(int x, int y, int frame);
    3333
     34struct ee_sprite *bomb_sprite;
     35
    3436void init_weapons(game *g, weapons *wp)
    3537{
     
    4042        wp->type[i] = WEAPON_NONE;
    4143    }
     44
     45    bomb_sprite = ee_load_sprite("data/weapon_bomb");
    4246}
    4347
     
    290294static void draw_bomb(int x, int y, int vx, int vy)
    291295{
     296    int frame;
     297
     298    /* We have 1x2 pixels */
    292299    vy *= 2;
    293     ee_color(EE_CYAN);
    294300
    295301    if(vx > vy)
     
    298304        {
    299305            if(vy > vx/4)
    300             {
    301                 /* -1pi/6 */
    302                 ee_goto(x-4, y-1);
    303                 ee_putstr("/`-.");
    304                 ee_goto(x-4, y);
    305                 ee_putstr("`-._\\");
    306                 ee_color(EE_WHITE);
    307                 ee_goto(x-1, y);
    308                 ee_putstr("_\\");
    309                 ee_goto(x, y+1);
    310                 ee_putchar('`');
    311             }
     306                frame = 0; /* -pi/6 */
    312307            else if(vy < -vx/4)
    313             {
    314                 /* 1pi/6 */
    315                 ee_goto(x-4, y);
    316                 ee_putstr(",-' ");
    317                 ee_goto(x-4, y+1);
    318                 ee_putstr("\\,-'");
    319                 ee_color(EE_WHITE);
    320                 ee_goto(x-1, y-1);
    321                 ee_putstr("_,");
    322                 ee_goto(x, y);
    323                 ee_putchar('/');
    324             }
     308                frame = 1; /* pi/6 */
    325309            else
    326             {
    327                 /* 0pi/6 */
    328                 ee_goto(x-4, y-1);
    329                 ee_putstr("____");
    330                 ee_goto(x-5, y);
    331                 ee_putstr("|____");
    332                 ee_color(EE_WHITE);
    333                 ee_goto(x, y);
    334                 ee_putchar('>');
    335             }
     310                frame = 2; /* 0pi/6 */
    336311        }
    337312        else /* top quarter */
    338313        {
    339314            if(vx > -vy/4)
    340             {
    341                 /* 2pi/6 */
    342                 ee_goto(x-2, y);
    343                 ee_putstr("/ ");
    344                 ee_goto(x-3, y+1);
    345                 ee_putstr("/ /");
    346                 ee_goto(x-3, y+2);
    347                 ee_putstr("`'");
    348                 ee_color(EE_WHITE);
    349                 ee_goto(x-1, y-1);
    350                 ee_putstr("_,");
    351                 ee_goto(x, y);
    352                 ee_putchar('|');
    353             }
     315                frame = 3; /* 2pi/6 */
    354316            else if(vx < vy/4)
    355             {
    356                 /* 4pi/6 */
    357                 ee_goto(x+1, y);
    358                 ee_putstr(" \\");
    359                 ee_goto(x+1, y+1);
    360                 ee_putstr("\\ \\");
    361                 ee_goto(x+2, y+2);
    362                 ee_putstr("`'");
    363                 ee_color(EE_WHITE);
    364                 ee_goto(x, y-1);
    365                 ee_putstr("._");
    366                 ee_goto(x, y);
    367                 ee_putchar('|');
    368             }
     317                frame = 4; /* 4pi/6 */
    369318            else
    370             {
    371                 /* 3pi/6 */
    372                 ee_goto(x-1, y+1);
    373                 ee_putstr("| |");
    374                 ee_goto(x-1, y+2);
    375                 ee_putstr("|_|");
    376                 ee_color(EE_WHITE);
    377                 ee_goto(x-1, y);
    378                 ee_putstr(",^.");
    379             }
     319                frame = 5; /* 3pi/6 */
    380320        }
    381321    }
     
    385325        {
    386326            if(vx > vy/4)
    387             {
    388                 /* -2pi/6 */
    389                 ee_goto(x-2, y-2);
    390                 ee_putstr(",.");
    391                 ee_goto(x-2, y-1);
    392                 ee_putstr("\\ \\");
    393                 ee_goto(x-1, y);
    394                 ee_putchar('\\');
    395                 ee_color(EE_WHITE);
    396                 ee_goto(x, y);
    397                 ee_putstr("_|");
    398             }
     327                frame = 6; /* -2pi/6 */
    399328            else if(vx < -vy/4)
    400             {
    401                 /* -4pi/6 */
    402                 ee_goto(x+1, y-2);
    403                 ee_putstr(",.");
    404                 ee_goto(x, y-1);
    405                 ee_putstr("/ /");
    406                 ee_goto(x+1, y);
    407                 ee_putchar('/');
    408                 ee_color(EE_WHITE);
    409                 ee_goto(x-1, y);
    410                 ee_putstr("|_/");
    411             }
     329                frame = 7; /* -4pi/6 */
    412330            else
    413             {
    414                 /* -3pi/6 */
    415                 ee_goto(x, y-3);
    416                 ee_putchar('_');
    417                 ee_goto(x-1, y-2);
    418                 ee_putstr("| |");
    419                 ee_goto(x-1, y-1);
    420                 ee_putstr("| |");
    421                 ee_color(EE_WHITE);
    422                 ee_goto(x-1, y);
    423                 ee_putstr("`v'");
    424             }
     331                frame = 8; /* -3pi/6 */
    425332        }
    426333        else /* left quarter */
    427334        {
    428335            if(vy > -vx/4)
    429             {
    430                 /* -5pi/6 */
    431                 ee_goto(x+1, y-1);
    432                 ee_putstr(",-'\\");
    433                 ee_goto(x+2, y);
    434                 ee_putstr(",-'");
    435                 ee_goto(x, y+1);
    436                 ee_putchar('\'');
    437                 ee_color(EE_WHITE);
    438                 ee_goto(x, y);
    439                 ee_putstr("/_");
    440             }
     336                frame = 9; /* -5pi/6 */
    441337            else if(vy < vx/4)
    442             {
    443                 /* 5pi/6 */
    444                 ee_goto(x+1, y);
    445                 ee_putstr(" `-.");
    446                 ee_goto(x+1, y+1);
    447                 ee_putstr("`-./");
    448                 ee_color(EE_WHITE);
    449                 ee_goto(x, y-1);
    450                 ee_putstr("._");
    451                 ee_goto(x, y);
    452                 ee_putchar('\\');
    453             }
     338                frame = 10; /* 5pi/6 */
    454339            else
    455             {
    456                 /* 6pi/6 */
    457                 ee_goto(x+1, y-1);
    458                 ee_putstr("____");
    459                 ee_goto(x+1, y);
    460                 ee_putstr("____|");
    461                 ee_color(EE_WHITE);
    462                 ee_goto(x, y);
    463                 ee_putchar('<');
    464             }
    465         }
    466     }
     340                frame = 11; /* 6pi/6 */
     341        }
     342    }
     343
     344    ee_set_sprite_frame(bomb_sprite, frame);
     345    ee_draw_sprite(x, y, bomb_sprite);
    467346}
    468347
Note: See TracChangeset for help on using the changeset viewer.