Ignore:
Timestamp:
Apr 28, 2009, 6:55:01 PM (11 years ago)
Author:
Sam Hocevar
Message:
  • Toying around with the old ttyvaders version.
Location:
ttyvaders/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ttyvaders/trunk

    • Property svn:ignore
      •  

        old new  
        1313*-stamp
        1414INSTALL
         15*.ncb
         16*.suo
         17*.vcproj.*.user
  • ttyvaders/trunk/src/weapons.c

    r2990 r3423  
    3030void init_weapons(game *g, weapons *wp)
    3131{
    32     caca_buffer_t *b;
    3332    int i;
    3433
     
    3837    }
    3938
    40     b = caca_load_file("data/wpnbomb.caca");
    41     bomb_sprite = caca_import_canvas(b, "");
    42     caca_free_buffer(b);
    43 
    44     b = caca_load_file("data/wpnfrag.caca");
    45     bomb_sprite = caca_import_canvas(b, "");
    46     caca_free_buffer(b);
     39    bomb_sprite = caca_create_canvas(0, 0);
     40    caca_import_file(bomb_sprite, "data/wpnbomb.txt", "utf8");
     41
     42    fragbomb_sprite = caca_create_canvas(0, 0);
     43    caca_import_file(fragbomb_sprite, "data/wpnfrag.txt", "utf8");
    4744}
    4845
     
    5653        {
    5754            case WEAPON_LASER:
    58                 caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    59                 caca_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '|');
    60                 caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    61                 caca_putchar(g->cv, wp->x[i] >> 4, (wp->y[i] >> 4) + 1, '|');
     55                caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     56                caca_put_char(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '|');
     57                caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     58                caca_put_char(g->cv, wp->x[i] >> 4, (wp->y[i] >> 4) + 1, '|');
    6259                break;
    6360            case WEAPON_SEEKER:
    64                 caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    65                 caca_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
    66                 caca_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, 'o');
    67                 caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    68                 caca_putchar(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '@');
     61                caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     62                caca_put_char(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
     63                caca_put_char(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, 'o');
     64                caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     65                caca_put_char(g->cv, wp->x[i] >> 4, wp->y[i] >> 4, '@');
    6966                break;
    7067            case WEAPON_BOMB:
    71                 caca_set_color(g->cv, CACA_COLOR_DARKGRAY, CACA_COLOR_BLACK);
    72                 caca_putchar(g->cv, (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4, '.');
    73                 caca_putchar(g->cv, (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4, '.');
    74                 caca_putchar(g->cv, (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4, '.');
    75                 caca_putchar(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
    76                 caca_putchar(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, '.');
     68                caca_set_color_ansi(g->cv, CACA_DARKGRAY, CACA_BLACK);
     69                caca_put_char(g->cv, (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4, '.');
     70                caca_put_char(g->cv, (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4, '.');
     71                caca_put_char(g->cv, (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4, '.');
     72                caca_put_char(g->cv, wp->x3[i] >> 4, wp->y3[i] >> 4, '.');
     73                caca_put_char(g->cv, wp->x2[i] >> 4, wp->y2[i] >> 4, '.');
    7774                draw_bomb(g, wp->x[i] >> 4, wp->y[i] >> 4, wp->vx[i], wp->vy[i]);
    7875                break;
     
    334331    }
    335332
    336     caca_set_canvas_frame(bomb_sprite, frame);
     333    caca_set_frame(bomb_sprite, frame);
    337334    caca_blit(g->cv, x, y, bomb_sprite, NULL);
    338335}
     
    341338{
    342339    /* Draw the head */
    343     caca_set_canvas_frame(fragbomb_sprite, frame & 1);
     340    caca_set_frame(fragbomb_sprite, frame & 1);
    344341    caca_blit(g->cv, x, y, fragbomb_sprite, NULL);
    345342
    346343    /* Draw the tail */
    347     caca_set_canvas_frame(fragbomb_sprite, 2 + (frame % 4));
     344    caca_set_frame(fragbomb_sprite, 2 + (frame % 4));
    348345    caca_blit(g->cv, x, y, fragbomb_sprite, NULL);
    349346}
     
    357354    {
    358355        case 24:
    359             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    360             caca_putstr(g->cv, x, y-3, "__");
    361             caca_putchar(g->cv, x-1, y-2, '\'');
    362             caca_putchar(g->cv, x+2, y-2, '`');
     356            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     357            caca_put_str(g->cv, x, y-3, "__");
     358            caca_put_char(g->cv, x-1, y-2, '\'');
     359            caca_put_char(g->cv, x+2, y-2, '`');
    363360            break;
    364361        case 23:
    365             caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    366             caca_putstr(g->cv, x, y-3, "__");
    367             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    368             caca_putstr(g->cv, x-2, y-2, "-'");
    369             caca_putstr(g->cv, x+2, y-2, "`-");
     362            caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     363            caca_put_str(g->cv, x, y-3, "__");
     364            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     365            caca_put_str(g->cv, x-2, y-2, "-'");
     366            caca_put_str(g->cv, x+2, y-2, "`-");
    370367            break;
    371368        case 22:
    372             caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    373             caca_putstr(g->cv, x, y-3, "__");
    374             caca_putchar(g->cv, x-1, y-2, '\'');
    375             caca_putchar(g->cv, x+2, y-2, '`');
    376             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    377             caca_putstr(g->cv, x-3, y-2, ",-");
    378             caca_putstr(g->cv, x+3, y-2, "-.");
     369            caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     370            caca_put_str(g->cv, x, y-3, "__");
     371            caca_put_char(g->cv, x-1, y-2, '\'');
     372            caca_put_char(g->cv, x+2, y-2, '`');
     373            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     374            caca_put_str(g->cv, x-3, y-2, ",-");
     375            caca_put_str(g->cv, x+3, y-2, "-.");
    379376            break;
    380377        case 21:
    381             caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    382             caca_putstr(g->cv, x-1, y-3, "____");
    383             caca_putchar(g->cv, x-2, y-2, '\'');
    384             caca_putchar(g->cv, x+3, y-2, '`');
    385             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    386             caca_putstr(g->cv, x-4, y-2, ",-");
    387             caca_putstr(g->cv, x+4, y-2, "-.");
     378            caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     379            caca_put_str(g->cv, x-1, y-3, "____");
     380            caca_put_char(g->cv, x-2, y-2, '\'');
     381            caca_put_char(g->cv, x+3, y-2, '`');
     382            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     383            caca_put_str(g->cv, x-4, y-2, ",-");
     384            caca_put_str(g->cv, x+4, y-2, "-.");
    388385            break;
    389386        case 20:
    390             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    391             caca_putstr(g->cv, x, y-3, "%%");
    392             caca_putchar(g->cv, x-4, y-2, ',');
    393             caca_putchar(g->cv, x+5, y-2, '.');
    394             caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    395             caca_putchar(g->cv, x-1, y-3, ':');
    396             caca_putchar(g->cv, x+2, y-3, ':');
    397             caca_putstr(g->cv, x-3, y-2, "-'");
    398             caca_putstr(g->cv, x+3, y-2, "`-");
     387            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     388            caca_put_str(g->cv, x, y-3, "%%");
     389            caca_put_char(g->cv, x-4, y-2, ',');
     390            caca_put_char(g->cv, x+5, y-2, '.');
     391            caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     392            caca_put_char(g->cv, x-1, y-3, ':');
     393            caca_put_char(g->cv, x+2, y-3, ':');
     394            caca_put_str(g->cv, x-3, y-2, "-'");
     395            caca_put_str(g->cv, x+3, y-2, "`-");
    399396            break;
    400397        case 19:
    401             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    402             caca_putstr(g->cv, x, y-4, "%%");
    403             caca_putstr(g->cv, x, y-3, "##");
    404             caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    405             caca_putchar(g->cv, x-1, y-4, ':');
    406             caca_putchar(g->cv, x+2, y-4, ':');
    407             caca_putchar(g->cv, x-1, y-3, '%');
    408             caca_putchar(g->cv, x+2, y-3, '%');
    409             caca_putstr(g->cv, x-4, y-2, ",-'");
    410             caca_putstr(g->cv, x+3, y-2, "`-.");
    411             caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK);
    412             caca_putchar(g->cv, x-2, y-3, ':');
    413             caca_putchar(g->cv, x+3, y-3, ':');
     398            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     399            caca_put_str(g->cv, x, y-4, "%%");
     400            caca_put_str(g->cv, x, y-3, "##");
     401            caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     402            caca_put_char(g->cv, x-1, y-4, ':');
     403            caca_put_char(g->cv, x+2, y-4, ':');
     404            caca_put_char(g->cv, x-1, y-3, '%');
     405            caca_put_char(g->cv, x+2, y-3, '%');
     406            caca_put_str(g->cv, x-4, y-2, ",-'");
     407            caca_put_str(g->cv, x+3, y-2, "`-.");
     408            caca_set_color_ansi(g->cv, CACA_BLUE, CACA_BLACK);
     409            caca_put_char(g->cv, x-2, y-3, ':');
     410            caca_put_char(g->cv, x+3, y-3, ':');
    414411            break;
    415412        case 18:
    416413        default:
    417414            r = (18 - frame) * (18 - frame);
    418             caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    419             caca_putstr(g->cv, x-1, y-5-r, ":%%:");
    420             caca_putstr(g->cv, x-1, y-4-r, "%##%");
    421             caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    422             caca_putchar(g->cv, x-2, y-4-r, ':');
    423             caca_putchar(g->cv, x+3, y-4-r, ':');
    424             caca_putchar(g->cv, x-2, y-2, '\'');
    425             caca_putchar(g->cv, x+3, y-2, '`');
    426             caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK);
    427             caca_putchar(g->cv, x-3, y-2, ':');
    428             caca_putchar(g->cv, x+4, y-2, ':');
     415            caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     416            caca_put_str(g->cv, x-1, y-5-r, ":%%:");
     417            caca_put_str(g->cv, x-1, y-4-r, "%##%");
     418            caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     419            caca_put_char(g->cv, x-2, y-4-r, ':');
     420            caca_put_char(g->cv, x+3, y-4-r, ':');
     421            caca_put_char(g->cv, x-2, y-2, '\'');
     422            caca_put_char(g->cv, x+3, y-2, '`');
     423            caca_set_color_ansi(g->cv, CACA_BLUE, CACA_BLACK);
     424            caca_put_char(g->cv, x-3, y-2, ':');
     425            caca_put_char(g->cv, x+4, y-2, ':');
    429426            for(i = 0; i <= r; i++)
    430427            {
    431                 caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_BLACK);
    432                 caca_putstr(g->cv, x-1, y-3-i, ((i+frame) % 5) ? "####" : "%%%%");
    433                 caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_BLACK);
    434                 caca_putchar(g->cv, x-2, y-3-i, '%');
    435                 caca_putchar(g->cv, x+3, y-3-i, '%');
    436                 caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK);
    437                 caca_putchar(g->cv, x-3, y-3-i, ':');
    438                 caca_putchar(g->cv, x+4, y-3-i, ':');
     428                caca_set_color_ansi(g->cv, CACA_WHITE, CACA_BLACK);
     429                caca_put_str(g->cv, x-1, y-3-i, ((i+frame) % 5) ? "####" : "%%%%");
     430                caca_set_color_ansi(g->cv, CACA_CYAN, CACA_BLACK);
     431                caca_put_char(g->cv, x-2, y-3-i, '%');
     432                caca_put_char(g->cv, x+3, y-3-i, '%');
     433                caca_set_color_ansi(g->cv, CACA_BLUE, CACA_BLACK);
     434                caca_put_char(g->cv, x-3, y-3-i, ':');
     435                caca_put_char(g->cv, x+4, y-3-i, ':');
    439436            }
    440437            break;
     
    447444
    448445    /* Lots of duplicate pixels, but we don't care */
    449     caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_BLACK);
    450     caca_draw_ellipse(g->cv, x, y, r, r / 2, ":");
    451     caca_set_color(g->cv, CACA_COLOR_LIGHTBLUE, CACA_COLOR_BLUE);
    452     caca_draw_ellipse(g->cv, x, y, r + 1, r / 2, "#");
    453     caca_set_color(g->cv, CACA_COLOR_BLUE, CACA_COLOR_LIGHTBLUE);
    454     caca_draw_ellipse(g->cv, x, y, r + 2, r / 2, "#");
    455     caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_LIGHTBLUE);
    456     caca_draw_ellipse(g->cv, x, y, r + 2, r / 2 + 1, "#");
    457     caca_set_color(g->cv, CACA_COLOR_LIGHTBLUE, CACA_COLOR_CYAN);
    458     caca_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 1, "#");
    459     caca_set_color(g->cv, CACA_COLOR_WHITE, CACA_COLOR_CYAN);
    460     caca_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 2, "#");
    461     caca_set_color(g->cv, CACA_COLOR_CYAN, CACA_COLOR_WHITE);
    462     caca_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 2, "#");
    463     caca_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 3, " ");
    464 }
    465 
     446    caca_set_color_ansi(g->cv, CACA_BLUE, CACA_BLACK);
     447    caca_draw_ellipse(g->cv, x, y, r, r / 2, ':');
     448    caca_set_color_ansi(g->cv, CACA_LIGHTBLUE, CACA_BLUE);
     449    caca_draw_ellipse(g->cv, x, y, r + 1, r / 2, '#');
     450    caca_set_color_ansi(g->cv, CACA_BLUE, CACA_LIGHTBLUE);
     451    caca_draw_ellipse(g->cv, x, y, r + 2, r / 2, '#');
     452    caca_set_color_ansi(g->cv, CACA_CYAN, CACA_LIGHTBLUE);
     453    caca_draw_ellipse(g->cv, x, y, r + 2, r / 2 + 1, '#');
     454    caca_set_color_ansi(g->cv, CACA_LIGHTBLUE, CACA_CYAN);
     455    caca_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 1, '#');
     456    caca_set_color_ansi(g->cv, CACA_WHITE, CACA_CYAN);
     457    caca_draw_ellipse(g->cv, x, y, r + 3, r / 2 + 2, '#');
     458    caca_set_color_ansi(g->cv, CACA_CYAN, CACA_WHITE);
     459    caca_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 2, '#');
     460    caca_draw_ellipse(g->cv, x, y, r + 4, r / 2 + 3, ' ');
     461}
     462
Note: See TracChangeset for help on using the changeset viewer.