diff --git a/src/aliens.c b/src/aliens.c index 23dbfd3..8f88976 100644 --- a/src/aliens.c +++ b/src/aliens.c @@ -24,36 +24,36 @@ #include "common.h" -static void draw_alien_foo( game *g, int x, int y, int frame ); -static void draw_alien_bar( game *g, int x, int y, int frame ); -static void draw_alien_baz( game *g, int x, int y, int frame ); +static void draw_alien_foo(game *, int, int, int); +static void draw_alien_bar(game *, int, int, int); +static void draw_alien_baz(game *, int, int, int); -void init_aliens( game *g, aliens *al ) +void init_aliens(game *g, aliens *al) { int i; - for( i = 0; i < ALIENS; i++ ) + for(i = 0; i < ALIENS; i++) { al->type[i] = ALIEN_NONE; } } -void draw_aliens( game *g, aliens *al ) +void draw_aliens(game *g, aliens *al) { int i; - for( i = 0; i < ALIENS; i++ ) + for(i = 0; i < ALIENS; i++) { - switch( al->type[i] ) + switch(al->type[i]) { case ALIEN_FOO: - draw_alien_foo( g, al->x[i], al->y[i], al->img[i] % 8 ); + draw_alien_foo(g, al->x[i], al->y[i], al->img[i] % 8); break; case ALIEN_BAR: - draw_alien_bar( g, al->x[i], al->y[i], al->img[i] % 2 ); + draw_alien_bar(g, al->x[i], al->y[i], al->img[i] % 2); break; case ALIEN_BAZ: - draw_alien_baz( g, al->x[i], al->y[i], al->img[i] % 6 ); + draw_alien_baz(g, al->x[i], al->y[i], al->img[i] % 6); break; case ALIEN_NONE: break; @@ -61,22 +61,22 @@ void draw_aliens( game *g, aliens *al ) } } -void update_aliens( game *g, aliens *al ) +void update_aliens(game *g, aliens *al) { int i; - for( i = 0; i < ALIENS; i++ ) + for(i = 0; i < ALIENS; i++) { /* If alien died, make it explode */ - if( al->type[i] != ALIEN_NONE && al->life[i] < 0 ) + if(al->type[i] != ALIEN_NONE && al->life[i] < 0) { - add_explosion( g, g->ex, al->x[i], al->y[i], 0, 0, EXPLOSION_MEDIUM ); + add_explosion(g, g->ex, al->x[i], al->y[i], 0, 0, EXPLOSION_MEDIUM); al->type[i] = ALIEN_NONE; - add_bonus( g, g->bo, al->x[i], al->y[i], GET_RAND(0,5) ? BONUS_GREEN : BONUS_LIFE ); + add_bonus(g, g->bo, al->x[i], al->y[i], GET_RAND(0,5) ? BONUS_GREEN : BONUS_LIFE); } /* Update coordinates */ - switch( al->type[i] ) + switch(al->type[i]) { case ALIEN_FOO: case ALIEN_BAR: @@ -86,8 +86,8 @@ void update_aliens( game *g, aliens *al ) al->img[i] = al->img[i] + 1; /* Check bounds */ - if( al->y[i] < 0 ) al->y[i] = 0; - if( al->y[i] > g->w - 1 ) al->y[i] = g->w - 1; + if(al->y[i] < 0 ) al->y[i] = 0; + if(al->y[i] > g->w - 1 ) al->y[i] = g->w - 1; break; case ALIEN_NONE: break; @@ -95,20 +95,20 @@ void update_aliens( game *g, aliens *al ) } } -void add_alien( game *g, aliens *al, int x, int y, int type ) +void add_alien(game *g, aliens *al, int x, int y, int type) { int i; - for( i = 0; i < ALIENS; i++ ) + for(i = 0; i < ALIENS; i++) { - if( al->type[i] == ALIEN_NONE ) + if(al->type[i] == ALIEN_NONE) { al->type[i] = type; al->x[i] = x; al->y[i] = y; al->img[i] = 0; - switch( al->type[i] ) + switch(al->type[i]) { case ALIEN_FOO: al->life[i] = 3; @@ -128,132 +128,132 @@ void add_alien( game *g, aliens *al, int x, int y, int type ) } } -static void draw_alien_bar( game *g, int x, int y, int frame ) +static void draw_alien_bar(game *g, int x, int y, int frame) { - switch( frame ) + switch(frame) { case 0: - ee_color( EE_MAGENTA ); - ee_goto( x, y ); - ee_putstr( ",---." ); - ee_goto( x, y+1 ); - ee_putchar( '\\' ); - ee_color( EE_WHITE ); - ee_putstr( "o O" ); - ee_color( EE_MAGENTA ); - ee_putchar( '/' ); - ee_goto( x, y+2 ); - ee_putstr( "^^^^^" ); + ee_color(EE_MAGENTA); + ee_goto(x, y); + ee_putstr(",---."); + ee_goto(x, y+1); + ee_putchar('\\'); + ee_color(EE_WHITE); + ee_putstr("o O"); + ee_color(EE_MAGENTA); + ee_putchar('/'); + ee_goto(x, y+2); + ee_putstr("^^^^^"); break; case 1: - ee_color( EE_MAGENTA ); - ee_goto( x, y ); - ee_putstr( ",---." ); - ee_goto( x, y+1 ); - ee_putchar( '\\' ); - ee_color( EE_WHITE ); - ee_putstr( "O o" ); - ee_color( EE_MAGENTA ); - ee_putchar( '/' ); - ee_goto( x, y+2 ); - ee_putstr( "^^^^^" ); + ee_color(EE_MAGENTA); + ee_goto(x, y); + ee_putstr(",---."); + ee_goto(x, y+1); + ee_putchar('\\'); + ee_color(EE_WHITE); + ee_putstr("O o"); + ee_color(EE_MAGENTA); + ee_putchar('/'); + ee_goto(x, y+2); + ee_putstr("^^^^^"); break; } } -static void draw_alien_baz( game *g, int x, int y, int frame ) +static void draw_alien_baz(game *g, int x, int y, int frame) { - ee_color( EE_GREEN ); - ee_goto( x, y-1 ); - ee_putstr( "__" ); + ee_color(EE_GREEN); + ee_goto(x, y-1); + ee_putstr("__"); - ee_goto( x-1, y ); - ee_putchar( '/' ); - ee_goto( x+2, y ); - ee_putchar( '\\' ); + ee_goto(x-1, y); + ee_putchar('/'); + ee_goto(x+2, y); + ee_putchar('\\'); - switch( frame ) + switch(frame) { case 3: - ee_goto( x-2, y+1 ); - ee_putstr( "//'`\\\\" ); + ee_goto(x-2, y+1); + ee_putstr("//'`\\\\"); break; case 4: case 2: - ee_goto( x-2, y+1 ); - ee_putstr( "/(~~)\\" ); + ee_goto(x-2, y+1); + ee_putstr("/(~~)\\"); break; case 5: case 1: - ee_goto( x-2, y+1 ); - ee_putstr( "((^^))" ); + ee_goto(x-2, y+1); + ee_putstr("((^^))"); break; case 0: - ee_goto( x-1, y+1 ); - ee_putstr( "\\\\//" ); + ee_goto(x-1, y+1); + ee_putstr("\\\\//"); break; } - ee_color( EE_WHITE ); - ee_goto( x, y ); - ee_putstr( "oo" ); + ee_color(EE_WHITE); + ee_goto(x, y); + ee_putstr("oo"); } -static void draw_alien_foo( game *g, int x, int y, int frame ) +static void draw_alien_foo(game *g, int x, int y, int frame) { - ee_color( EE_YELLOW ); + ee_color(EE_YELLOW); - switch( frame ) + switch(frame) { case 0: - ee_goto( x, y ); - ee_putchar( '.' ); - ee_goto( x+6, y ); - ee_putchar( ',' ); - ee_goto( x+1, y+1 ); - ee_putstr( "\\ X /" ); + ee_goto(x, y); + ee_putchar('.'); + ee_goto(x+6, y); + ee_putchar(','); + ee_goto(x+1, y+1); + ee_putstr("\\ X /"); break; case 7: case 1: - ee_goto( x-1, y ); - ee_putchar( '.' ); - ee_goto( x+7, y ); - ee_putchar( ',' ); - ee_goto( x, y+1 ); - ee_putstr( "`- X -'" ); + ee_goto(x-1, y); + ee_putchar('.'); + ee_goto(x+7, y); + ee_putchar(','); + ee_goto(x, y+1); + ee_putstr("`- X -'"); break; case 6: case 2: - ee_goto( x-1, y+1 ); - ee_putstr( "`-- X --'" ); + ee_goto(x-1, y+1); + ee_putstr("`-- X --'"); break; case 5: case 3: - ee_goto( x, y+1 ); - ee_putstr( ",- X -." ); - ee_goto( x-1, y+2 ); - ee_putchar( '\'' ); - ee_goto( x+7, y+2 ); - ee_putchar( '`' ); + ee_goto(x, y+1); + ee_putstr(",- X -."); + ee_goto(x-1, y+2); + ee_putchar('\''); + ee_goto(x+7, y+2); + ee_putchar('`'); break; case 4: - ee_goto( x+1, y+1 ); - ee_putstr( ", X ." ); - ee_goto( x, y+2 ); - ee_putchar( '/' ); - ee_goto( x+6, y+2 ); - ee_putchar( '\\' ); + ee_goto(x+1, y+1); + ee_putstr(", X ."); + ee_goto(x, y+2); + ee_putchar('/'); + ee_goto(x+6, y+2); + ee_putchar('\\'); break; } - ee_goto( x+2, y+2 ); - ee_putstr( "`V'" ); + ee_goto(x+2, y+2); + ee_putstr("`V'"); - ee_color( EE_WHITE ); - ee_goto( x+2, y+1 ); - ee_putchar( 'o' ); - ee_goto( x+4, y+1 ); - ee_putchar( 'o' ); + ee_color(EE_WHITE); + ee_goto(x+2, y+1); + ee_putchar('o'); + ee_goto(x+4, y+1); + ee_putchar('o'); } diff --git a/src/bonus.c b/src/bonus.c index 3c6de2f..92035c9 100644 --- a/src/bonus.c +++ b/src/bonus.c @@ -24,49 +24,49 @@ #include "common.h" -void init_bonus( game *g, bonus *bo ) +void init_bonus(game *g, bonus *bo) { int i; - for( i = 0; i < BONUS; i++ ) + for(i = 0; i < BONUS; i++) { bo->type[i] = BONUS_NONE; } } -void draw_bonus( game *g, bonus *bo ) +void draw_bonus(game *g, bonus *bo) { int i; - for( i = 0; i < BONUS; i++ ) + for(i = 0; i < BONUS; i++) { - switch( bo->type[i] ) + switch(bo->type[i]) { case BONUS_GREEN: - ee_color( (bo->n[i]/2 % 3) ? EE_GREEN : EE_WHITE ); - ee_goto( bo->x[i]+1, bo->y[i]-1 ); - ee_putchar( '_' ); - ee_goto( bo->x[i], bo->y[i] ); - ee_putstr( "/ \\" ); - ee_goto( bo->x[i], bo->y[i]+1 ); - ee_putstr( "\\_/" ); - ee_color( EE_WHITE ); - ee_goto( bo->x[i]+1, bo->y[i] ); - ee_putchar( 'g' ); + ee_color((bo->n[i]/2 % 3) ? EE_GREEN : EE_WHITE); + ee_goto(bo->x[i]+1, bo->y[i]-1); + ee_putchar('_'); + ee_goto(bo->x[i], bo->y[i]); + ee_putstr("/ \\"); + ee_goto(bo->x[i], bo->y[i]+1); + ee_putstr("\\_/"); + ee_color(EE_WHITE); + ee_goto(bo->x[i]+1, bo->y[i]); + ee_putchar('g'); break; case BONUS_LIFE: - ee_color( (bo->n[i] % 3) ? EE_RED : EE_WHITE ); - ee_goto( bo->x[i]+1, bo->y[i]-1 ); - ee_putchar( '_' ); - ee_goto( bo->x[i]+3, bo->y[i]-1 ); - ee_putchar( '_' ); - ee_goto( bo->x[i], bo->y[i] ); - ee_putstr( "( ' )" ); - ee_goto( bo->x[i]+1, bo->y[i]+1 ); - ee_putstr( "`v'" ); - ee_color( EE_WHITE ); - ee_goto( bo->x[i]+3, bo->y[i] ); - ee_putchar( '^' ); + ee_color((bo->n[i] % 3) ? EE_RED : EE_WHITE); + ee_goto(bo->x[i]+1, bo->y[i]-1); + ee_putchar('_'); + ee_goto(bo->x[i]+3, bo->y[i]-1); + ee_putchar('_'); + ee_goto(bo->x[i], bo->y[i]); + ee_putstr("( ' )"); + ee_goto(bo->x[i]+1, bo->y[i]+1); + ee_putstr("`v'"); + ee_color(EE_WHITE); + ee_goto(bo->x[i]+3, bo->y[i]); + ee_putchar('^'); break; case BONUS_NONE: break; @@ -74,18 +74,18 @@ void draw_bonus( game *g, bonus *bo ) } } -void update_bonus( game *g, bonus *bo ) +void update_bonus(game *g, bonus *bo) { int i; - for( i = 0; i < BONUS; i++ ) + for(i = 0; i < BONUS; i++) { - switch( bo->type[i] ) + switch(bo->type[i]) { case BONUS_GREEN: bo->n[i]++; bo->y[i]++; - if( bo->y[i] > g->h ) + if(bo->y[i] > g->h) { bo->type[i] = BONUS_NONE; } @@ -93,7 +93,7 @@ void update_bonus( game *g, bonus *bo ) case BONUS_LIFE: bo->n[i]++; bo->y[i]++; - if( bo->y[i] > g->h ) + if(bo->y[i] > g->h) { bo->type[i] = BONUS_NONE; } @@ -104,13 +104,13 @@ void update_bonus( game *g, bonus *bo ) } } -void add_bonus( game *g, bonus *bo, int x, int y, int type ) +void add_bonus(game *g, bonus *bo, int x, int y, int type) { int i; - for( i = 0; i < BONUS; i++ ) + for(i = 0; i < BONUS; i++) { - if( bo->type[i] == BONUS_NONE ) + if(bo->type[i] == BONUS_NONE) { bo->type[i] = type; bo->x[i] = x; diff --git a/src/box.c b/src/box.c index 9d045e2..041d3d7 100644 --- a/src/box.c +++ b/src/box.c @@ -24,9 +24,9 @@ #include "common.h" -box * create_box( game *g, int x, int y, int w, int h ) +box * create_box(game *g, int x, int y, int w, int h) { - box *b = malloc( sizeof( box ) ); + box *b = malloc(sizeof( box )); b->x = x; b->y = y; @@ -37,21 +37,21 @@ box * create_box( game *g, int x, int y, int w, int h ) return b; } -void draw_box( game *g, box *b ) +void draw_box(game *g, box *b) { int i, j, frame; - ee_color( EE_YELLOW ); + ee_color(EE_YELLOW); /* Draw the thin horizontal line */ - if( b->frame < 8 ) + if(b->frame < 8) { - for( i = b->x - b->w * b->frame / 16 ; + for(i = b->x - b->w * b->frame / 16 ; i < b->x + b->w * b->frame / 16 ; - i++ ) + i++) { - ee_goto( i, b->y ); - ee_putchar( 'X' ); + ee_goto(i, b->y); + ee_putchar('X'); } return; @@ -60,64 +60,64 @@ void draw_box( game *g, box *b ) /* Draw the frame */ frame = b->frame < 12 ? b->frame : 12; - for( i = b->x - b->w / 2 ; + for(i = b->x - b->w / 2 ; i < b->x + b->w / 2 ; - i++ ) + i++) { - ee_goto( i, b->y - b->h * (frame - 8) / 8 ); - ee_putchar( 'X' ); - ee_goto( i, b->y + b->h * (frame - 8) / 8 ); - ee_putchar( 'X' ); + ee_goto(i, b->y - b->h * (frame - 8) / 8); + ee_putchar('X'); + ee_goto(i, b->y + b->h * (frame - 8) / 8); + ee_putchar('X'); } - for( j = b->y - b->h * (frame - 8) / 8 ; + for(j = b->y - b->h * (frame - 8) / 8 ; j < b->y + b->h * (frame - 8) / 8 ; - j++ ) + j++) { - ee_goto( b->x - b->w / 2, j ); - ee_putchar( 'X' ); - ee_goto( b->x + b->w / 2 - 1, j ); - ee_putchar( 'X' ); + ee_goto(b->x - b->w / 2, j); + ee_putchar('X'); + ee_goto(b->x + b->w / 2 - 1, j); + ee_putchar('X'); } - ee_color( EE_BLACK ); + ee_color(EE_BLACK); - for( j = b->y - b->h * (frame - 8) / 8 + 1 ; + for(j = b->y - b->h * (frame - 8) / 8 + 1 ; j < b->y + b->h * (frame - 8) / 8 ; - j++ ) + j++) { - for( i = b->x - b->w / 2 + 1 ; + for(i = b->x - b->w / 2 + 1 ; i < b->x + b->w / 2 - 1 ; - i++ ) + i++) { - ee_goto( i, j ); - ee_putchar( 'X' ); + ee_goto(i, j); + ee_putchar('X'); } } - if( b->frame < 12 ) + if(b->frame < 12) { return; } /* Draw the text inside the frame */ - ee_color( EE_YELLOW ); + ee_color(EE_YELLOW); /* FIXME: use a font */ - ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 2 ); - ee_putstr( "XXXX. .XXXX X X .XXXX .XXXX XXXX." ); - ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 3 ); - ee_putstr( "X `X X' X X X X' X' X `X" ); - ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 4 ); - ee_putstr( "XXXX' XXXXX X X `XXX XXXX X X" ); - ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 5 ); - ee_putstr( "X' X' `X X. ,X `X X' X ,X" ); - ee_goto( b->x - b->w / 2 + 12, b->y - b->h / 2 + 6 ); - ee_putstr( "X X X `XXXX XXXX' `XXXX XXXX'" ); + ee_goto(b->x - b->w / 2 + 12, b->y - b->h / 2 + 2); + ee_putstr("XXXX. .XXXX X X .XXXX .XXXX XXXX."); + ee_goto(b->x - b->w / 2 + 12, b->y - b->h / 2 + 3); + ee_putstr("X `X X' X X X X' X' X `X"); + ee_goto(b->x - b->w / 2 + 12, b->y - b->h / 2 + 4); + ee_putstr("XXXX' XXXXX X X `XXX XXXX X X"); + ee_goto(b->x - b->w / 2 + 12, b->y - b->h / 2 + 5); + ee_putstr("X' X' `X X. ,X `X X' X ,X"); + ee_goto(b->x - b->w / 2 + 12, b->y - b->h / 2 + 6); + ee_putstr("X X X `XXXX XXXX' `XXXX XXXX'"); } -void free_box( box *b ) +void free_box(box *b) { - free( b ); + free(b); } diff --git a/src/ceo.c b/src/ceo.c index 9b2528a..19b9e19 100644 --- a/src/ceo.c +++ b/src/ceo.c @@ -27,23 +27,23 @@ #include "common.h" -void ceo_alert( game *g ) +void ceo_alert(game *g) { int end = 0; - while( !end ) + while(!end) { ee_clear(); - if( ee_get_key() == '\t' ) + if(ee_get_key() == '\t') { end = 1; } - fprintf( stderr, "foo\n" ); + fprintf(stderr, "foo\n"); ee_refresh(); - usleep( 40000 ); + usleep(40000); } } diff --git a/src/collide.c b/src/collide.c index 4b0a238..d539d2d 100644 --- a/src/collide.c +++ b/src/collide.c @@ -3,7 +3,7 @@ * Copyright (c) 2002 Sam Hocevar * All Rights Reserved * - * $Id: collide.c,v 1.11 2003/01/06 12:22:58 sam Exp $ + * $Id$ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,16 +24,16 @@ #include "common.h" -void collide_weapons_tunnel( game *g, weapons *wp, tunnel *t, explosions *ex ) +void collide_weapons_tunnel(game *g, weapons *wp, tunnel *t, explosions *ex) { int i, j, x, y; - for( i = 0; i < WEAPONS; i++ ) + for(i = 0; i < WEAPONS; i++) { x = wp->x[i] >> 4; y = wp->y[i] >> 4; - switch( wp->type[i] ) + switch(wp->type[i]) { case WEAPON_LIGHTNING: case WEAPON_NONE: @@ -41,36 +41,36 @@ void collide_weapons_tunnel( game *g, weapons *wp, tunnel *t, explosions *ex ) case WEAPON_SEEKER: case WEAPON_BOMB: case WEAPON_FRAGBOMB: - if( y < 0 || y >= g->h ) + if(y < 0 || y >= g->h) { break; } - if( x <= t->left[y] - || x >= t->right[y] ) + if(x <= t->left[y] + || x >= t->right[y]) { int damage = wp->type[i] == WEAPON_SEEKER ? 1 : 2; - add_explosion( g, ex, x, y, 0, 1, wp->type[i] == WEAPON_SEEKER ? EXPLOSION_SMALL : EXPLOSION_MEDIUM ); + add_explosion(g, ex, x, y, 0, 1, wp->type[i] == WEAPON_SEEKER ? EXPLOSION_SMALL : EXPLOSION_MEDIUM); - if( x <= t->left[y] ) + if(x <= t->left[y]) { - if( y-2 >= 0 ) t->left[y-2] -= damage - 1; - if( y-1 >= 0 ) t->left[y-1] -= damage; + if(y-2 >= 0) t->left[y-2] -= damage - 1; + if(y-1 >= 0) t->left[y-1] -= damage; t->left[y] -= damage + 1; - if( y+1 < g->h ) t->left[y+1] -= damage; - if( y+2 < g->h ) t->left[y+2] -= damage - 1; + if(y+1 < g->h) t->left[y+1] -= damage; + if(y+2 < g->h) t->left[y+2] -= damage - 1; } else { - if( y-2 >= 0 ) t->right[y-2] += damage - 1; - if( y-1 >= 0 ) t->right[y-1] += damage; + if(y-2 >= 0) t->right[y-2] += damage - 1; + if(y-1 >= 0) t->right[y-1] += damage; t->right[y] += damage + 1; - if( y+1 < g->h ) t->right[y+1] += damage; - if( y+2 < g->h ) t->right[y+2] += damage - 1; + if(y+1 < g->h) t->right[y+1] += damage; + if(y+2 < g->h) t->right[y+2] += damage - 1; } - if( wp->type[i] == WEAPON_FRAGBOMB ) + if(wp->type[i] == WEAPON_FRAGBOMB) { wp->n[i] = -1; } @@ -81,55 +81,55 @@ void collide_weapons_tunnel( game *g, weapons *wp, tunnel *t, explosions *ex ) } break; case WEAPON_LASER: - for( j = GET_MIN( 0, wp->vy[i] >> 4 ) ; - j < GET_MAX( 0, wp->vy[i] >> 4 ) ; - j++ ) + for(j = GET_MIN(0, wp->vy[i] >> 4); + j < GET_MAX(0, wp->vy[i] >> 4); + j++) { - if( y+j >= g->h || y+j < 0 ) + if(y+j >= g->h || y+j < 0) { continue; } - if( x <= t->left[y+j] || x >= t->right[y+j] ) + if(x <= t->left[y+j] || x >= t->right[y+j]) { - add_explosion( g, ex, x, y+j, 0, 1, EXPLOSION_SMALL ); + add_explosion(g, ex, x, y+j, 0, 1, EXPLOSION_SMALL); wp->type[i] = WEAPON_NONE; - if( x <= t->left[y+j] ) + if(x <= t->left[y+j]) { - if( y+j-1 >= 0 ) t->left[y+j-1]--; + if(y+j-1 >= 0) t->left[y+j-1]--; t->left[y+j] -= 2; - if( y+j+1 < g->h ) t->left[y+j+1]--; + if(y+j+1 < g->h) t->left[y+j+1]--; } else { - if( y+j-1 >= 0 ) t->right[y+j-1]++; + if(y+j-1 >= 0) t->right[y+j-1]++; t->right[y+j] += 2; - if( y+j+1 < g->h ) t->right[y+j+1]++; + if(y+j+1 < g->h) t->right[y+j+1]++; } break; } } break; case WEAPON_BEAM: - if( wp->n[i] > 19 ) + if(wp->n[i] > 19) { break; } j = (29 - wp->n[i]) * (29 - wp->n[i]) / 8; - j = GET_MIN( y, j ); + j = GET_MIN(y, j); - for( ; j > 0 ; j-- ) + for(; j > 0; j--) { - if( x - 2 <= t->left[y-j] ) + if(x - 2 <= t->left[y-j]) { - add_explosion( g, ex, GET_MIN(t->left[y-j], x+3), y-j, 0, 1, EXPLOSION_SMALL ); + add_explosion(g, ex, GET_MIN(t->left[y-j], x+3), y-j, 0, 1, EXPLOSION_SMALL); t->left[y-j] -= GET_RAND(0,3); } - else if( x + 3 >= t->right[y-j] ) + else if(x + 3 >= t->right[y-j]) { - add_explosion( g, ex, GET_MAX(t->right[y-j], x-2), y-j, 0, 1, EXPLOSION_SMALL ); + add_explosion(g, ex, GET_MAX(t->right[y-j], x-2), y-j, 0, 1, EXPLOSION_SMALL); t->right[y-j] += GET_RAND(0,3); } } @@ -142,11 +142,11 @@ void collide_weapons_tunnel( game *g, weapons *wp, tunnel *t, explosions *ex ) } } -void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) +void collide_weapons_aliens(game *g, weapons *wp, aliens *al, explosions *ex) { int i, j, k, x, y; - for( i = 0; i < WEAPONS; i++ ) + for(i = 0; i < WEAPONS; i++) { int ok = 0; int r; @@ -154,7 +154,7 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) x = wp->x[i] >> 4; y = wp->y[i] >> 4; - switch( wp->type[i] ) + switch(wp->type[i]) { case WEAPON_LIGHTNING: case WEAPON_NONE: @@ -163,17 +163,17 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) /* Big nuke */ r = (29 - wp->n[i]) * (29 - wp->n[i]) / 8; - for( j = 0; j < ALIENS; j++ ) + for(j = 0; j < ALIENS; j++) { - if( al->type[j] == ALIEN_NONE || al->life[j] < 0 ) + if(al->type[j] == ALIEN_NONE || al->life[j] < 0) { continue; } - if( wp->n[i] == 0 /* Nuke destroys _everything_ */ || + if(wp->n[i] == 0 /* Nuke destroys _everything_ */ || (al->x[j] - x) * (al->x[j] - x) + 4 * (al->y[j] - y) * (al->y[j] - y) - <= r * r ) + <= r * r) { /* Kill alien, not nuke */ al->life[j] -= 10; @@ -182,22 +182,22 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) break; case WEAPON_BEAM: - if( wp->n[i] > 19 ) + if(wp->n[i] > 19) { break; } r = (29 - wp->n[i]) * (29 - wp->n[i]) / 8; - for( j = 0; j < ALIENS; j++ ) + for(j = 0; j < ALIENS; j++) { - if( al->type[j] == ALIEN_NONE || al->life[j] < 0 ) + if(al->type[j] == ALIEN_NONE || al->life[j] < 0) { continue; } - if( x >= al->x[j] && x <= al->x[j] + 4 - && y >= al->y[j] + 2 && y-5-r <= al->y[j] ) + if(x >= al->x[j] && x <= al->x[j] + 4 + && y >= al->y[j] + 2 && y-5-r <= al->y[j]) { al->life[j] -= 4; } @@ -205,19 +205,19 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) break; case WEAPON_LASER: - for( j = 0; j < ALIENS; j++ ) + for(j = 0; j < ALIENS; j++) { - if( al->type[j] == ALIEN_NONE || al->life[j] < 0 ) + if(al->type[j] == ALIEN_NONE || al->life[j] < 0) { continue; } - for( k = GET_MIN( 0, wp->vy[i] >> 4 ) ; - k < GET_MAX( 0, wp->vy[i] >> 4 ) ; - k++ ) + for(k = GET_MIN(0, wp->vy[i] >> 4); + k < GET_MAX(0, wp->vy[i] >> 4); + k++) { - if( x >= al->x[j] && x <= al->x[j] + 4 - && y+k >= al->y[j] && y+k <= al->y[j] + 2 ) + if(x >= al->x[j] && x <= al->x[j] + 4 + && y+k >= al->y[j] && y+k <= al->y[j] + 2) { al->life[j]--; ok = 1; @@ -226,9 +226,9 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) } } - if( ok ) + if(ok) { - add_explosion( g, ex, x, y+1, 0, 0, EXPLOSION_SMALL ); + add_explosion(g, ex, x, y+1, 0, 0, EXPLOSION_SMALL); wp->type[i] = WEAPON_NONE; } break; @@ -236,26 +236,26 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) case WEAPON_SEEKER: case WEAPON_BOMB: case WEAPON_FRAGBOMB: - for( j = 0; j < ALIENS; j++ ) + for(j = 0; j < ALIENS; j++) { - if( al->type[j] == ALIEN_NONE || al->life[j] < 0 ) + if(al->type[j] == ALIEN_NONE || al->life[j] < 0) { continue; } - if( x >= al->x[j] && x <= al->x[j] + 4 - && y >= al->y[j] && y <= al->y[j] + 2 ) + if(x >= al->x[j] && x <= al->x[j] + 4 + && y >= al->y[j] && y <= al->y[j] + 2) { al->life[j] -= wp->type[i] == WEAPON_SEEKER ? 1 : 5; ok = 1; } } - if( ok ) + if(ok) { - add_explosion( g, ex, x, y+1, 0, 0, wp->type[i] == WEAPON_SEEKER ? EXPLOSION_SMALL : EXPLOSION_MEDIUM ); + add_explosion(g, ex, x, y+1, 0, 0, wp->type[i] == WEAPON_SEEKER ? EXPLOSION_SMALL : EXPLOSION_MEDIUM); - if( wp->type[i] == WEAPON_FRAGBOMB ) + if(wp->type[i] == WEAPON_FRAGBOMB) { wp->n[i] = -1; } @@ -269,25 +269,25 @@ void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ) } } -void collide_player_tunnel( game *g, player *p, tunnel *t, explosions *ex ) +void collide_player_tunnel(game *g, player *p, tunnel *t, explosions *ex) { - if( p->dead ) + if(p->dead) { return; } - if( p->x <= t->left[p->y] ) + if(p->x <= t->left[p->y]) { p->x += 3; p->vx = 2; - add_explosion( g, ex, p->x+1, p->y-1, 0, 0, EXPLOSION_SMALL ); + add_explosion(g, ex, p->x+1, p->y-1, 0, 0, EXPLOSION_SMALL); p->life -= 180; } - else if( p->x + 5 >= t->right[p->y] ) + else if(p->x + 5 >= t->right[p->y]) { p->x -= 3; p->vx = -2; - add_explosion( g, ex, p->x+4, p->y-1, 0, 0, EXPLOSION_SMALL ); + add_explosion(g, ex, p->x+4, p->y-1, 0, 0, EXPLOSION_SMALL); p->life -= 180; } } diff --git a/src/common.h b/src/common.h index 943db69..bca55c0 100644 --- a/src/common.h +++ b/src/common.h @@ -146,85 +146,85 @@ typedef struct /* * From aliens.c */ -void init_aliens( game *g, aliens *al ); -void draw_aliens( game *g, aliens *al ); -void update_aliens( game *g, aliens *al ); -void add_alien( game *g, aliens *al, int x, int y, int type ); +void init_aliens(game *, aliens *); +void draw_aliens(game *, aliens *); +void update_aliens(game *, aliens *); +void add_alien(game *, aliens *, int, int, int); /* * From bonus.c */ -void init_bonus( game *g, bonus *bo ); -void draw_bonus( game *g, bonus *bo ); -void update_bonus( game *g, bonus *bo ); -void add_bonus( game *g, bonus *bo, int x, int y, int type ); +void init_bonus(game *, bonus *); +void draw_bonus(game *, bonus *); +void update_bonus(game *, bonus *); +void add_bonus(game *, bonus *, int, int, int); /* * From box.c */ -box * create_box( game *g, int x, int y, int w, int h ); -void draw_box( game *g, box *b ); -void free_box( box *b ); +box * create_box(game *, int, int, int, int); +void draw_box(game *, box *); +void free_box(box *); /* * From ceo.c */ -void ceo_alert( game *g ); +void ceo_alert(game *); /* * From collide.c */ -void collide_weapons_tunnel( game *g, weapons *wp, tunnel *t, explosions *ex ); -void collide_weapons_aliens( game *g, weapons *wp, aliens *al, explosions *ex ); -void collide_player_tunnel( game *g, player *p, tunnel *t, explosions *ex ); +void collide_weapons_tunnel(game *, weapons *, tunnel *, explosions *); +void collide_weapons_aliens(game *, weapons *, aliens *, explosions *); +void collide_player_tunnel(game *, player *, tunnel *, explosions *); /* * From explosions.c */ -void init_explosions( game *g, explosions *ex ); -void add_explosion( game *g, explosions *ex, int x, int y, int vx, int vy, int type ); -void draw_explosions( game *g, explosions *ex ); -void update_explosions( game *g, explosions *ex ); +void init_explosions(game *, explosions *); +void add_explosion(game *, explosions *, int, int, int, int, int); +void draw_explosions(game *, explosions *); +void update_explosions(game *, explosions *); /* * From math.c */ -int r00t( int a ); +int r00t(int); /* * From overlay.c */ -void draw_status( game *g ); +void draw_status(game *); /* * From player.c */ -player * create_player( game *g ); -void free_player( player *p ); -void draw_player( game *g, player *p ); -void update_player( game *g, player *p ); +player * create_player(game *); +void free_player(player *); +void draw_player(game *, player *); +void update_player(game *, player *); /* * From starfield.c */ -starfield * create_starfield( game *g ); -void draw_starfield( game *g, starfield *s ); -void update_starfield( game *g, starfield *s ); -void free_starfield( game *g, starfield *s ); +starfield * create_starfield(game *); +void draw_starfield(game *, starfield *); +void update_starfield(game *, starfield *); +void free_starfield(game *, starfield *); /* * From tunnel.c */ -tunnel * create_tunnel( game *g, int w, int h ); -void free_tunnel( tunnel *t ); -void draw_tunnel( game *g, tunnel *t ); -void update_tunnel( game *g, tunnel *t ); +tunnel * create_tunnel(game *, int, int); +void free_tunnel(tunnel *); +void draw_tunnel(game *, tunnel *); +void update_tunnel(game *, tunnel *); /* * From weapons.c */ -void init_weapons( game *g, weapons *wp ); -void draw_weapons( game *g, weapons *wp ); -void update_weapons( game *g, weapons *wp ); -void add_weapon( game *g, weapons *wp, int x, int y, int vx, int vy, int type ); +void init_weapons(game *, weapons *); +void draw_weapons(game *, weapons *); +void update_weapons(game *, weapons *); +void add_weapon(game *, weapons *, int, int, int, int, int); diff --git a/src/explosions.c b/src/explosions.c index 09e7c8f..09ef5f3 100644 --- a/src/explosions.c +++ b/src/explosions.c @@ -24,33 +24,33 @@ #include "common.h" -static void draw_small_explosion( int x, int y, int frame ); -static void draw_medium_explosion( int x, int y, int frame ); +static void draw_small_explosion(int x, int y, int frame); +static void draw_medium_explosion(int x, int y, int frame); -void init_explosions( game *g, explosions *ex ) +void init_explosions(game *g, explosions *ex) { int i; - for( i = 0; i < EXPLOSIONS; i++ ) + for(i = 0; i < EXPLOSIONS; i++) { ex->type[i] = EXPLOSION_NONE; } } -void add_explosion( game *g, explosions *ex, int x, int y, int vx, int vy, int type ) +void add_explosion(game *g, explosions *ex, int x, int y, int vx, int vy, int type) { int i; - for( i = 0; i < EXPLOSIONS; i++ ) + for(i = 0; i < EXPLOSIONS; i++) { - if( ex->type[i] == EXPLOSION_NONE ) + if(ex->type[i] == EXPLOSION_NONE) { ex->type[i] = type; ex->x[i] = x; ex->y[i] = y; ex->vx[i] = vx; ex->vy[i] = vy; - switch( type ) + switch(type) { case EXPLOSION_MEDIUM: ex->n[i] = 11; @@ -64,44 +64,44 @@ void add_explosion( game *g, explosions *ex, int x, int y, int vx, int vy, int t } } -void draw_explosions( game *g, explosions *ex ) +void draw_explosions(game *g, explosions *ex) { int i; - for( i = 0; i < EXPLOSIONS; i++ ) + for(i = 0; i < EXPLOSIONS; i++) { #if 0 - ee_color( GREEN ); - ee_goto( ex->x[i] + 3, ex->y[i] ); - switch( GET_RAND(0,3) ) + ee_color(GREEN); + ee_goto(ex->x[i] + 3, ex->y[i]); + switch(GET_RAND(0,3)) { case 0: - ee_putchar( 'p' ); - ee_putchar( 'i' ); - ee_putchar( 'f' ); + ee_putchar('p'); + ee_putchar('i'); + ee_putchar('f'); break; case 1: - ee_putchar( 'p' ); - ee_putchar( 'a' ); - ee_putchar( 'f' ); + ee_putchar('p'); + ee_putchar('a'); + ee_putchar('f'); break; case 2: - ee_putchar( 'p' ); - ee_putchar( 'o' ); - ee_putchar( 'u' ); - ee_putchar( 'f' ); + ee_putchar('p'); + ee_putchar('o'); + ee_putchar('u'); + ee_putchar('f'); break; } - ee_putchar( '!' ); + ee_putchar('!'); #endif - switch( ex->type[i] ) + switch(ex->type[i]) { case EXPLOSION_MEDIUM: - draw_medium_explosion( ex->x[i], ex->y[i], ex->n[i] ); + draw_medium_explosion(ex->x[i], ex->y[i], ex->n[i]); break; case EXPLOSION_SMALL: - draw_small_explosion( ex->x[i], ex->y[i], ex->n[i] ); + draw_small_explosion(ex->x[i], ex->y[i], ex->n[i]); break; case EXPLOSION_NONE: break; @@ -109,20 +109,20 @@ void draw_explosions( game *g, explosions *ex ) } } -void update_explosions( game *g, explosions *ex ) +void update_explosions(game *g, explosions *ex) { int i; - for( i = 0; i < EXPLOSIONS; i++ ) + for(i = 0; i < EXPLOSIONS; i++) { - switch( ex->type[i] ) + switch(ex->type[i]) { case EXPLOSION_MEDIUM: case EXPLOSION_SMALL: ex->x[i] += ex->vx[i]; ex->y[i] += ex->vy[i]; ex->n[i]--; - if( ex->n[i] < 0 ) + if(ex->n[i] < 0) { ex->type[i] = EXPLOSION_NONE; } @@ -133,121 +133,121 @@ void update_explosions( game *g, explosions *ex ) } } -static void draw_small_explosion( int x, int y, int frame ) +static void draw_small_explosion(int x, int y, int frame) { - switch( frame ) + switch(frame) { case 6: - ee_color( EE_YELLOW ); - ee_goto( x, y ); - ee_putchar( '+' ); + ee_color(EE_YELLOW); + ee_goto(x, y); + ee_putchar('+'); break; case 5: - ee_color( EE_YELLOW ); - ee_goto( x, y ); - ee_putchar( 'o' ); + ee_color(EE_YELLOW); + ee_goto(x, y); + ee_putchar('o'); break; case 4: - ee_color( EE_YELLOW ); - ee_goto( x, y-1 ); - ee_putchar( '_' ); - ee_goto( x-1, y ); - ee_putstr( ")_(" ); + ee_color(EE_YELLOW); + ee_goto(x, y-1); + ee_putchar('_'); + ee_goto(x-1, y); + ee_putstr(")_("); break; case 3: - ee_color( EE_YELLOW ); - ee_goto( x-1, y-1 ); - ee_putstr( "._," ); - ee_goto( x-1, y ); - ee_putstr( ")_(" ); - ee_goto( x-1, y+1 ); - ee_putstr( "\' `" ); + ee_color(EE_YELLOW); + ee_goto(x-1, y-1); + ee_putstr("._,"); + ee_goto(x-1, y); + ee_putstr(")_("); + ee_goto(x-1, y+1); + ee_putstr("\' `"); break; case 2: - ee_color( EE_YELLOW ); - ee_goto( x-1, y-1 ); - ee_putstr( ".v," ); - ee_goto( x-1, y ); - ee_putstr( "> <" ); - ee_goto( x-1, y+1 ); - ee_putstr( "\'^`" ); + ee_color(EE_YELLOW); + ee_goto(x-1, y-1); + ee_putstr(".v,"); + ee_goto(x-1, y); + ee_putstr("> <"); + ee_goto(x-1, y+1); + ee_putstr("\'^`"); break; case 1: - ee_color( EE_WHITE ); - ee_goto( x-1, y-1 ); - ee_putstr( ". ," ); - ee_goto( x-1, y ); - ee_putstr( " " ); - ee_goto( x-1, y+1 ); - ee_putstr( "\' `" ); + ee_color(EE_WHITE); + ee_goto(x-1, y-1); + ee_putstr(". ,"); + ee_goto(x-1, y); + ee_putstr(" "); + ee_goto(x-1, y+1); + ee_putstr("\' `"); break; } } -static void draw_medium_explosion( int x, int y, int frame ) +static void draw_medium_explosion(int x, int y, int frame) { - ee_color( EE_YELLOW ); + ee_color(EE_YELLOW); - switch( frame ) + switch(frame) { case 10: - ee_goto( x, y ); - ee_putchar( '+' ); + ee_goto(x, y); + ee_putchar('+'); break; case 9: - ee_goto( x, y ); - ee_putchar( 'o' ); + ee_goto(x, y); + ee_putchar('o'); break; case 8: - ee_goto( x, y-1 ); - ee_putchar( '_' ); - ee_goto( x-1, y ); - ee_putstr( ")_(" ); + ee_goto(x, y-1); + ee_putchar('_'); + ee_goto(x-1, y); + ee_putstr(")_("); break; case 7: - ee_goto( x-1, y-1 ); - ee_putstr( "._," ); - ee_goto( x-1, y ); - ee_putstr( ")_(" ); - ee_goto( x-1, y+1 ); - ee_putstr( "\' `" ); + ee_goto(x-1, y-1); + ee_putstr("._,"); + ee_goto(x-1, y); + ee_putstr(")_("); + ee_goto(x-1, y+1); + ee_putstr("\' `"); break; case 6: - ee_goto( x-1, y-1 ); - ee_putstr( ".v," ); - ee_goto( x-1, y ); - ee_putstr( "> <" ); - ee_goto( x-1, y+1 ); - ee_putstr( "\'^`" ); + ee_goto(x-1, y-1); + ee_putstr(".v,"); + ee_goto(x-1, y); + ee_putstr("> <"); + ee_goto(x-1, y+1); + ee_putstr("\'^`"); break; case 5: - ee_color( EE_RED ); + ee_color(EE_RED); case 4: - ee_goto( x-2, y-1 ); - ee_putstr( "_\\~/_" ); - ee_goto( x-2, y ); - ee_putstr( "> <" ); - ee_goto( x-2, y+1 ); - ee_putstr( "~/_\\~" ); + ee_goto(x-2, y-1); + ee_putstr("_\\~/_"); + ee_goto(x-2, y); + ee_putstr("> <"); + ee_goto(x-2, y+1); + ee_putstr("~/_\\~"); break; case 3: - ee_color( EE_RED ); + ee_color(EE_RED); case 2: - ee_goto( x-2, y-1 ); - ee_putstr( "_\\ /_" ); - ee_goto( x-2, y ); - ee_putstr( "_ _" ); - ee_goto( x-2, y+1 ); - ee_putstr( " / \\ " ); + ee_goto(x-2, y-1); + ee_putstr("_\\ /_"); + ee_goto(x-2, y); + ee_putstr("_ _"); + ee_goto(x-2, y+1); + ee_putstr(" / \\ "); break; case 1: - ee_color( EE_WHITE ); - ee_goto( x-2, y-1 ); - ee_putstr( ". \' ," ); - ee_goto( x-2, y ); - ee_putstr( " " ); - ee_goto( x-2, y+1 ); - ee_putstr( "\' . `" ); + ee_color(EE_WHITE); + ee_goto(x-2, y-1); + ee_putstr(". \' ,"); + ee_goto(x-2, y); + ee_putstr(" "); + ee_goto(x-2, y+1); + ee_putstr("\' . `"); break; } } diff --git a/src/main.c b/src/main.c index eda0f1c..ec73fb5 100644 --- a/src/main.c +++ b/src/main.c @@ -37,7 +37,7 @@ int main (int argc, char **argv) srand(time(NULL)); - if( ee_init() ) + if(ee_init()) { return 1; } @@ -64,174 +64,174 @@ static void start_game (game *g) box *pausebox = NULL; - g->sf = create_starfield( g ); + g->sf = create_starfield(g); g->wp = malloc(sizeof(weapons)); g->ex = malloc(sizeof(explosions)); g->bo = malloc(sizeof(bonus)); - g->t = create_tunnel( g, g->w, g->h ); - g->p = create_player( g ); + g->t = create_tunnel(g, g->w, g->h); + g->p = create_player(g); g->al = malloc(sizeof(aliens)); - init_bonus( g, g->bo ); - init_weapons( g, g->wp ); - init_explosions( g, g->ex ); - init_aliens( g, g->al ); + init_bonus(g, g->bo); + init_weapons(g, g->wp); + init_explosions(g, g->ex); + init_aliens(g, g->al); /* Temporary stuff */ g->t->w = 25; - while( !quit ) + while(!quit) { char key; - while( ( key = ee_get_key() ) ) + while((key = ee_get_key())) { - switch( key ) + switch(key) { case 'q': quit = 1; break; case 'p': poz = !poz; - if( poz ) + if(poz) { - pausebox = create_box( g, g->w / 2, g->h / 2, - g->w - 16, 8 ); + pausebox = create_box(g, g->w / 2, g->h / 2, + g->w - 16, 8); } else { - free_box( pausebox ); + free_box(pausebox); } break; case '\t': - ceo_alert( g ); + ceo_alert(g); poz = 1; break; case 's': skip = 1; break; default: - if( g->p->dead ) + if(g->p->dead) { break; } - switch( key ) + switch(key) { case 'h': g->p->vx = -2; break; case 'j': - if( g->p->y < g->h - 2 ) g->p->y += 1; + if(g->p->y < g->h - 2) g->p->y += 1; break; case 'k': - if( g->p->y > 1 ) g->p->y -= 1; + if(g->p->y > 1) g->p->y -= 1; break; case 'l': g->p->vx = 2; break; case 'n': - if( g->p->special >= COST_NUKE ) + if(g->p->special >= COST_NUKE) { g->p->special -= COST_NUKE; - add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_NUKE ); + add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_NUKE); } break; case 'f': - if( g->p->special >= COST_FRAGBOMB ) + if(g->p->special >= COST_FRAGBOMB) { g->p->special -= COST_FRAGBOMB; - add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_FRAGBOMB ); + add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_FRAGBOMB); } break; case 'b': - if( g->p->special >= COST_BEAM ) + if(g->p->special >= COST_BEAM) { g->p->special -= COST_BEAM; - add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_BEAM ); + add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, 0, WEAPON_BEAM); } break; case ' ': - if( g->p->weapon == 0 ) + if(g->p->weapon == 0) { g->p->weapon = 4; - add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, 0, -32, WEAPON_LASER ); - add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 0, -32, WEAPON_LASER ); + add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, 0, -32, WEAPON_LASER); + add_weapon(g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 0, -32, WEAPON_LASER); /* Extra schtuph */ - add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, -24, -16, WEAPON_SEEKER ); - add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 24, -16, WEAPON_SEEKER ); + add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, -24, -16, WEAPON_SEEKER); + add_weapon(g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 24, -16, WEAPON_SEEKER); /* More schtuph */ - add_weapon( g, g->wp, (g->p->x + 1) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER ); - add_weapon( g, g->wp, (g->p->x + 4) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER ); + add_weapon(g, g->wp, (g->p->x + 1) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER); + add_weapon(g, g->wp, (g->p->x + 4) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER); /* Even more schtuph */ - add_weapon( g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER ); - add_weapon( g, g->wp, (g->p->x + 3) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER ); + add_weapon(g, g->wp, (g->p->x + 2) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER); + add_weapon(g, g->wp, (g->p->x + 3) << 4, (g->p->y - 1) << 4, 0, -32, WEAPON_LASER); /* Extra schtuph */ - add_weapon( g, g->wp, g->p->x << 4, g->p->y << 4, -32, 0, WEAPON_SEEKER ); - add_weapon( g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 32, 0, WEAPON_SEEKER ); + add_weapon(g, g->wp, g->p->x << 4, g->p->y << 4, -32, 0, WEAPON_SEEKER); + add_weapon(g, g->wp, (g->p->x + 5) << 4, g->p->y << 4, 32, 0, WEAPON_SEEKER); /* MORE SCHTUPH! */ - add_weapon( g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_BOMB ); + add_weapon(g, g->wp, (g->p->x + 2) << 4, g->p->y << 4, 0, -16, WEAPON_BOMB); } break; } } } - if( !poz || skip ) + if(!poz || skip) { skip = 0; /* XXX: to be removed */ - if( GET_RAND(0,10) == 0 ) + if(GET_RAND(0,10) == 0) { int list[3] = { ALIEN_FOO, ALIEN_BAR, ALIEN_BAZ }; - add_alien( g, g->al, 0, rand() % g->h / 2, list[GET_RAND(0,3)] ); + add_alien(g, g->al, 0, rand() % g->h / 2, list[GET_RAND(0,3)]); } /* Update game rules */ - if( g->t->right[1] - g->t->left[1] == g->t->w ) + if(g->t->right[1] - g->t->left[1] == g->t->w) { g->t->w = 85 - g->t->w; } /* Scroll and update positions */ - collide_player_tunnel( g, g->p, g->t, g->ex ); - update_player( g, g->p ); - collide_player_tunnel( g, g->p, g->t, g->ex ); - - update_starfield( g, g->sf ); - update_bonus( g, g->bo ); - update_aliens( g, g->al ); - - collide_weapons_tunnel( g, g->wp, g->t, g->ex ); - collide_weapons_aliens( g, g->wp, g->al, g->ex ); - update_weapons( g, g->wp ); - collide_weapons_tunnel( g, g->wp, g->t, g->ex ); - collide_weapons_aliens( g, g->wp, g->al, g->ex ); - - update_explosions( g, g->ex ); - update_tunnel( g, g->t ); + collide_player_tunnel(g, g->p, g->t, g->ex); + update_player(g, g->p); + collide_player_tunnel(g, g->p, g->t, g->ex); + + update_starfield(g, g->sf); + update_bonus(g, g->bo); + update_aliens(g, g->al); + + collide_weapons_tunnel(g, g->wp, g->t, g->ex); + collide_weapons_aliens(g, g->wp, g->al, g->ex); + update_weapons(g, g->wp); + collide_weapons_tunnel(g, g->wp, g->t, g->ex); + collide_weapons_aliens(g, g->wp, g->al, g->ex); + + update_explosions(g, g->ex); + update_tunnel(g, g->t); } /* Clear screen */ ee_clear(); /* Print starfield, tunnel, aliens, player and explosions */ - draw_starfield( g, g->sf ); - draw_aliens( g, g->al ); - draw_tunnel( g, g->t ); - draw_bonus( g, g->bo ); - draw_explosions( g, g->ex ); - draw_weapons( g, g->wp ); - draw_player( g, g->p ); - draw_status( g ); + draw_starfield(g, g->sf); + draw_aliens(g, g->al); + draw_tunnel(g, g->t); + draw_bonus(g, g->bo); + draw_explosions(g, g->ex); + draw_weapons(g, g->wp); + draw_player(g, g->p); + draw_status(g); /* Print pause box if needed */ - if( poz ) + if(poz) { pausebox->frame++; - draw_box( g, pausebox ); + draw_box(g, pausebox); } /* Refresh */ @@ -240,13 +240,13 @@ static void start_game (game *g) purcompteur++; } - if( pausebox ) + if(pausebox) { - free_box( pausebox ); + free_box(pausebox); } - free_starfield( g, g->sf ); - free_tunnel( g->t ); - free_player( g->p ); + free_starfield(g, g->sf); + free_tunnel(g->t); + free_player(g->p); } diff --git a/src/math.c b/src/math.c index f2ae9ad..a2f9a2e 100644 --- a/src/math.c +++ b/src/math.c @@ -3,7 +3,7 @@ * Copyright (c) 2002 Sam Hocevar * All Rights Reserved * - * $Id: math.c,v 1.2 2002/12/22 23:01:35 sam Exp $ + * $Id$ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,11 +22,11 @@ #include "common.h" -int r00t( int a ) +int r00t(int a) { int x = a > 100000 ? 1000 : a > 1000 ? 100 : a > 10 ? 10 : 1; - if( a <= 0 ) + if(a <= 0) { return 0; } diff --git a/src/overlay.c b/src/overlay.c index 885a0cd..637f1ed 100644 --- a/src/overlay.c +++ b/src/overlay.c @@ -24,63 +24,63 @@ #include "common.h" -void draw_status( game *g ) +void draw_status(game *g) { static char dots30[] = "------------------------------"; static char dashes30[] = "=============================="; /* Draw life jauge */ - ee_color( EE_GRAY ); - ee_goto( 4, 1 ); - ee_putstr( dots30 ); + ee_color(EE_GRAY); + ee_goto(4, 1); + ee_putstr(dots30); - if( g->p->life > MAX_LIFE * 7 / 10 ) + if(g->p->life > MAX_LIFE * 7 / 10) { - ee_color( EE_GREEN ); + ee_color(EE_GREEN); } - else if( g->p->life > MAX_LIFE * 3 / 10 ) + else if(g->p->life > MAX_LIFE * 3 / 10) { - ee_color( EE_YELLOW ); + ee_color(EE_YELLOW); } else { - ee_color( EE_RED ); + ee_color(EE_RED); } - ee_goto( 4, 1 ); - ee_putstr( dashes30 + ( MAX_LIFE - g->p->life ) * 30 / MAX_LIFE ); + ee_goto(4, 1); + ee_putstr(dashes30 + (MAX_LIFE - g->p->life) * 30 / MAX_LIFE); - ee_color( EE_WHITE ); - ee_goto( 1, 1 ); - ee_putstr( "L |" ); - ee_goto( 34, 1 ); - ee_putstr( "|" ); + ee_color(EE_WHITE); + ee_goto(1, 1); + ee_putstr("L |"); + ee_goto(34, 1); + ee_putstr("|"); /* Draw weapon jauge */ - ee_color( EE_GRAY ); - ee_goto( 42, 1 ); - ee_putstr( dots30 + 10 ); + ee_color(EE_GRAY); + ee_goto(42, 1); + ee_putstr(dots30 + 10); - if( g->p->special > MAX_SPECIAL * 9 / 10 ) + if(g->p->special > MAX_SPECIAL * 9 / 10) { - ee_color( EE_WHITE ); + ee_color(EE_WHITE); } - else if( g->p->special > MAX_SPECIAL * 3 / 10 ) + else if(g->p->special > MAX_SPECIAL * 3 / 10) { - ee_color( EE_CYAN ); + ee_color(EE_CYAN); } else { - ee_color( EE_BLUE ); + ee_color(EE_BLUE); } - ee_goto( 42, 1 ); - ee_putstr( dashes30 + 10 + ( MAX_SPECIAL - g->p->special ) * 20 / MAX_SPECIAL ); + ee_goto(42, 1); + ee_putstr(dashes30 + 10 + (MAX_SPECIAL - g->p->special) * 20 / MAX_SPECIAL); - ee_color( EE_WHITE ); - ee_goto( 39, 1 ); - ee_putstr( "S |" ); - ee_goto( 62, 1 ); - ee_putstr( "|" ); + ee_color(EE_WHITE); + ee_goto(39, 1); + ee_putstr("S |"); + ee_goto(62, 1); + ee_putstr("|"); } diff --git a/src/player.c b/src/player.c index a005698..ee57b12 100644 --- a/src/player.c +++ b/src/player.c @@ -25,7 +25,7 @@ #include "common.h" /* Init tunnel */ -player * create_player( game *g ) +player * create_player(game *g) { player *p = malloc(sizeof(player)); @@ -41,59 +41,59 @@ player * create_player( game *g ) return p; } -void free_player( player *p ) +void free_player(player *p) { - free( p ); + free(p); } -void draw_player( game *g, player *p ) +void draw_player(game *g, player *p) { - if( p->dead ) + if(p->dead) { return; } - ee_goto( p->x + 2, p->y - 2 ); - ee_color( EE_GREEN ); - ee_putstr( "/\\" ); - ee_goto( p->x + 1, p->y - 1 ); - ee_putchar( '(' ); - ee_color( EE_YELLOW ); - ee_putstr( "()" ); - ee_color( EE_GREEN ); - ee_putchar( ')' ); - ee_goto( p->x, p->y ); - ee_color( EE_GREEN ); - ee_putstr( "I<__>I" ); + ee_goto(p->x + 2, p->y - 2); + ee_color(EE_GREEN); + ee_putstr("/\\"); + ee_goto(p->x + 1, p->y - 1); + ee_putchar('('); + ee_color(EE_YELLOW); + ee_putstr("()"); + ee_color(EE_GREEN); + ee_putchar(')'); + ee_goto(p->x, p->y); + ee_color(EE_GREEN); + ee_putstr("I<__>I"); } -void update_player( game *g, player *p ) +void update_player(game *g, player *p) { - if( p->dead ) + if(p->dead) { return; } - if( p->life <= 0 ) + if(p->life <= 0) { - add_explosion( g, g->ex, p->x, p->y, 0, 0, EXPLOSION_SMALL ); + add_explosion(g, g->ex, p->x, p->y, 0, 0, EXPLOSION_SMALL); p->dead = 1; return; } /* Update weapon stats */ - if( p->weapon ) + if(p->weapon) { p->weapon--; } - if( p->special < MAX_SPECIAL ) + if(p->special < MAX_SPECIAL) { p->special++; } /* Update life */ - if( p->life < MAX_LIFE ) + if(p->life < MAX_LIFE) { p->life++; } @@ -101,20 +101,20 @@ void update_player( game *g, player *p ) /* Update coords */ p->x += p->vx; - if( p->vx < 0 ) + if(p->vx < 0) { p->vx++; } - else if( p->vx > 0 ) + else if(p->vx > 0) { p->vx--; } - if( p->x < 1 ) + if(p->x < 1) { p->x = 1; } - else if( p->x > g->w - 7 ) + else if(p->x > g->w - 7) { p->x = g->w - 7; } diff --git a/src/starfield.c b/src/starfield.c index e4640a8..44342ec 100644 --- a/src/starfield.c +++ b/src/starfield.c @@ -24,55 +24,55 @@ #include "common.h" -starfield * create_starfield( game *g ) +starfield * create_starfield(game *g) { int i; starfield *s; - s = malloc( STARS * sizeof(starfield) ); + s = malloc(STARS * sizeof(starfield)); - for( i = 0; i < STARS; i++ ) + for(i = 0; i < STARS; i++) { - s[i].x = GET_RAND( 0, g->w ); - s[i].y = GET_RAND( 0, g->h ); - s[i].z = GET_RAND( 1, 4 ); - s[i].c = GET_RAND( 6, 8 ); - s[i].ch = GET_RAND( 0, 2 ) ? '.' : '\''; + s[i].x = GET_RAND(0, g->w); + s[i].y = GET_RAND(0, g->h); + s[i].z = GET_RAND(1, 4); + s[i].c = GET_RAND(6, 8); + s[i].ch = GET_RAND(0, 2) ? '.' : '\''; } return s; } -void draw_starfield( game *g, starfield *s ) +void draw_starfield(game *g, starfield *s) { int i; - for( i = 0; i < STARS; i++ ) + for(i = 0; i < STARS; i++) { - if( s[i].x >= 0 ) + if(s[i].x >= 0) { - ee_color( s[i].c ); - ee_goto( s[i].x, s[i].y ); - ee_putchar( s[i].ch ); + ee_color(s[i].c); + ee_goto(s[i].x, s[i].y); + ee_putchar(s[i].ch); } } } -void update_starfield( game *g, starfield *s ) +void update_starfield(game *g, starfield *s) { int i; - for( i = 0; i < STARS; i++ ) + for(i = 0; i < STARS; i++) { - if( s[i].x < 0 ) + if(s[i].x < 0) { - s[i].x = GET_RAND( 0, g->w ); + s[i].x = GET_RAND(0, g->w); s[i].y = 0; - s[i].z = GET_RAND( 1, 3 ); - s[i].c = GET_RAND( 6, 8 ); - s[i].ch = GET_RAND( 0, 2 ) ? '.' : '\''; + s[i].z = GET_RAND(1, 3); + s[i].c = GET_RAND(6, 8); + s[i].ch = GET_RAND(0, 2) ? '.' : '\''; } - else if( s[i].y < g->h-1 ) + else if(s[i].y < g->h-1) { s[i].y += s[i].z; } @@ -83,8 +83,8 @@ void update_starfield( game *g, starfield *s ) } } -void free_starfield( game *g, starfield *s ) +void free_starfield(game *g, starfield *s) { - free( s ); + free(s); } diff --git a/src/tunnel.c b/src/tunnel.c index 664e9b2..64e9425 100644 --- a/src/tunnel.c +++ b/src/tunnel.c @@ -27,7 +27,7 @@ #include "common.h" /* Init tunnel */ -tunnel * create_tunnel( game *g, int w, int h ) +tunnel * create_tunnel(game *g, int w, int h) { int i; tunnel *t = malloc(sizeof(tunnel)); @@ -37,9 +37,9 @@ tunnel * create_tunnel( game *g, int w, int h ) t->w = w; t->h = h; - if( t->w >= g->w ) + if(t->w >= g->w) { - for( i = 0; i < g->h; i++ ) + for(i = 0; i < g->h; i++) { t->left[i] = -10; t->right[i] = g->w + 10; @@ -50,119 +50,119 @@ tunnel * create_tunnel( game *g, int w, int h ) t->left[0] = (g->w - w) / 2; t->right[0] = (g->w + w) / 2; /* Yeah, sub-efficient, but less code to do :-) */ - for( i = 0; i < g->h; i++ ) + for(i = 0; i < g->h; i++) { - update_tunnel( g, t ); + update_tunnel(g, t); } } return t; } -void free_tunnel( tunnel *t ) +void free_tunnel(tunnel *t) { - free( t->left ); - free( t->right ); - free( t ); + free(t->left); + free(t->right); + free(t); } -void draw_tunnel( game *g, tunnel *t ) +void draw_tunnel(game *g, tunnel *t) { int i, j; char c; - ee_color( EE_GREEN ); + ee_color(EE_GREEN); /* Left border */ - for( i = 0; i < g->h ; i++ ) + for(i = 0; i < g->h ; i++) { - if( t->left[i] <= -10 ) + if(t->left[i] <= -10) { continue; } - if( i + 1 == g->h || t->left[i] > t->left[i+1] ) + if(i + 1 == g->h || t->left[i] > t->left[i+1]) { - c = ( i == 0 || t->left[i] > t->left[i-1] ) ? '>' : '/'; + c = (i == 0 || t->left[i] > t->left[i-1]) ? '>' : '/'; } else { - c = ( i == 0 || t->left[i] > t->left[i-1] ) ? '\\' : '<'; + c = (i == 0 || t->left[i] > t->left[i-1]) ? '\\' : '<'; } - ee_goto( t->left[i] + 1, i ); - ee_putchar( c ); + ee_goto(t->left[i] + 1, i); + ee_putchar(c); - if( i + 1 < g->h ) + if(i + 1 < g->h) { - for( j = 1; j < t->left[i+1] - t->left[i]; j++ ) + for(j = 1; j < t->left[i+1] - t->left[i]; j++) { - ee_goto( t->left[i] + j + 1, i ); - ee_putchar( '_' ); + ee_goto(t->left[i] + j + 1, i); + ee_putchar('_'); } } } /* Right border */ - for( i = 0; i < g->h ; i++ ) + for(i = 0; i < g->h ; i++) { - if( t->right[i] >= g->w + 10 ) + if(t->right[i] >= g->w + 10) { continue; } - if( i + 1 == g->h || t->right[i] > t->right[i+1] ) + if(i + 1 == g->h || t->right[i] > t->right[i+1]) { - c = ( i == 0 || t->right[i] > t->right[i-1] ) ? '>' : '/'; + c = (i == 0 || t->right[i] > t->right[i-1]) ? '>' : '/'; } else { - c = ( i == 0 || t->right[i] > t->right[i-1] ) ? '\\' : '<'; + c = (i == 0 || t->right[i] > t->right[i-1]) ? '\\' : '<'; } - if( i + 1 < g->h ) + if(i + 1 < g->h) { - for( j = 1; j < t->right[i] - t->right[i+1]; j++ ) + for(j = 1; j < t->right[i] - t->right[i+1]; j++) { - ee_goto( t->right[i+1] + j - 1, i ); - ee_putchar( '_' ); + ee_goto(t->right[i+1] + j - 1, i); + ee_putchar('_'); } } - ee_goto( t->right[i] - 1, i ); - ee_putchar( c ); + ee_goto(t->right[i] - 1, i); + ee_putchar(c); } - ee_color( EE_RED ); + ee_color(EE_RED); /* Left concrete */ - for( i = 0; i < g->h ; i++ ) + for(i = 0; i < g->h ; i++) { - for( j = 0 ; j <= t->left[i]; j++ ) + for(j = 0 ; j <= t->left[i]; j++) { - ee_goto( j, i ); - ee_putchar( '#' ); + ee_goto(j, i); + ee_putchar('#'); } } /* Right concrete */ - for( i = 0; i < g->h ; i++ ) + for(i = 0; i < g->h ; i++) { - for( j = t->right[i] ; j < g->w ; j++ ) + for(j = t->right[i] ; j < g->w ; j++) { - ee_goto( j, i ); - ee_putchar( '#' ); + ee_goto(j, i); + ee_putchar('#'); } } } -void update_tunnel( game *g, tunnel *t ) +void update_tunnel(game *g, tunnel *t) { static int const delta[] = { -3, -2, -1, 1, 2, 3 }; int i,j,k; /* Slide tunnel one block vertically */ - for( i = t->h - 1; i--; ) + for(i = t->h - 1; i--;) { t->left[i+1] = t->left[i]; t->right[i+1] = t->right[i]; @@ -173,18 +173,18 @@ void update_tunnel( game *g, tunnel *t ) j = delta[GET_RAND(0,6)]; /* Check in which direction we need to alter tunnel */ - if( t->right[1] - t->left[1] < t->w ) + if(t->right[1] - t->left[1] < t->w) { /* Not wide enough, make sure i <= j */ - if( i > j ) + if(i > j) { k = j; j = i; i = k; } } - else if( t->right[1] - t->left[1] - 2 > t->w ) + else if(t->right[1] - t->left[1] - 2 > t->w) { /* Too wide, make sure i >= j */ - if( i < j ) + if(i < j) { k = j; j = i; i = k; } @@ -195,7 +195,7 @@ void update_tunnel( game *g, tunnel *t ) } /* If width doesn't exceed game size, update coords */ - if( t->w <= g->w || t->right[1] - t->left[1] < t->w ) + if(t->w <= g->w || t->right[1] - t->left[1] < t->w) { t->left[0] = t->left[1] + i; t->right[0] = t->right[1] + j; @@ -206,26 +206,26 @@ void update_tunnel( game *g, tunnel *t ) t->right[0] = g->w + 10; } - if( t->w > g->w ) + if(t->w > g->w) { - if( t->left[0] < 0 && t->right[0] < g->w - 2 ) + if(t->left[0] < 0 && t->right[0] < g->w - 2) { t->left[0] = t->left[1] + 1; } - if( t->left[0] > 1 && t->right[0] > g->w - 1 ) + if(t->left[0] > 1 && t->right[0] > g->w - 1) { t->right[0] = t->right[1] - 1; } } else { - if( t->left[0] < 0 ) + if(t->left[0] < 0) { t->left[0] = t->left[1] + 1; } - if( t->right[0] > g->w - 1 ) + if(t->right[0] > g->w - 1) { t->right[0] = t->right[1] - 1; } diff --git a/src/weapons.c b/src/weapons.c index fe7f73e..71e2ecd 100644 --- a/src/weapons.c +++ b/src/weapons.c @@ -24,70 +24,70 @@ #include "common.h" -static void draw_bomb( int x, int y, int vx, int vy ); -static void draw_nuke( int x, int y, int frame ); -static void draw_beam( int x, int y, int frame ); -static void draw_circle( int x, int y, int r, char c ); -static void draw_fragbomb( int x, int y, int frame ); +static void draw_bomb(int x, int y, int vx, int vy); +static void draw_nuke(int x, int y, int frame); +static void draw_beam(int x, int y, int frame); +static void draw_circle(int x, int y, int r, char c); +static void draw_fragbomb(int x, int y, int frame); -void init_weapons( game *g, weapons *wp ) +void init_weapons(game *g, weapons *wp) { int i; - for( i = 0; i < WEAPONS; i++ ) + for(i = 0; i < WEAPONS; i++) { wp->type[i] = WEAPON_NONE; } } -void draw_weapons( game *g, weapons *wp ) +void draw_weapons(game *g, weapons *wp) { int i; - for( i = 0; i < WEAPONS; i++ ) + for(i = 0; i < WEAPONS; i++) { - switch( wp->type[i] ) + switch(wp->type[i]) { case WEAPON_LASER: - ee_color( EE_WHITE ); - ee_goto( wp->x[i] >> 4, wp->y[i] >> 4 ); - ee_putchar( '|' ); - ee_color( EE_CYAN ); - ee_goto( wp->x[i] >> 4, (wp->y[i] >> 4) + 1 ); - ee_putchar( '|' ); + ee_color(EE_WHITE); + ee_goto(wp->x[i] >> 4, wp->y[i] >> 4); + ee_putchar('|'); + ee_color(EE_CYAN); + ee_goto(wp->x[i] >> 4, (wp->y[i] >> 4) + 1); + ee_putchar('|'); break; case WEAPON_SEEKER: - ee_color( EE_CYAN ); - ee_goto( wp->x3[i] >> 4, wp->y3[i] >> 4 ); - ee_putchar( '.' ); - ee_goto( wp->x2[i] >> 4, wp->y2[i] >> 4 ); - ee_putchar( 'o' ); - ee_color( EE_WHITE ); - ee_goto( wp->x[i] >> 4, wp->y[i] >> 4 ); - ee_putchar( '@' ); + ee_color(EE_CYAN); + ee_goto(wp->x3[i] >> 4, wp->y3[i] >> 4); + ee_putchar('.'); + ee_goto(wp->x2[i] >> 4, wp->y2[i] >> 4); + ee_putchar('o'); + ee_color(EE_WHITE); + ee_goto(wp->x[i] >> 4, wp->y[i] >> 4); + ee_putchar('@'); break; case WEAPON_BOMB: - ee_color( EE_GRAY ); - ee_goto( (wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4 ); - ee_putchar( '.' ); - ee_goto( (wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4 ); - ee_putchar( '.' ); - ee_goto( (wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4 ); - ee_putchar( '.' ); - ee_goto( wp->x3[i] >> 4, wp->y3[i] >> 4 ); - ee_putchar( '.' ); - ee_goto( wp->x2[i] >> 4, wp->y2[i] >> 4 ); - ee_putchar( '.' ); - draw_bomb( wp->x[i] >> 4, wp->y[i] >> 4, wp->vx[i], wp->vy[i] ); + ee_color(EE_GRAY); + ee_goto((wp->x[i] - wp->vx[i]) >> 4, (wp->y[i] - wp->vy[i]) >> 4); + ee_putchar('.'); + ee_goto((wp->x3[i] - wp->vx[i]) >> 4, (wp->y3[i] - wp->vy[i]) >> 4); + ee_putchar('.'); + ee_goto((wp->x2[i] - wp->vx[i]) >> 4, (wp->y2[i] - wp->vy[i]) >> 4); + ee_putchar('.'); + ee_goto(wp->x3[i] >> 4, wp->y3[i] >> 4); + ee_putchar('.'); + ee_goto(wp->x2[i] >> 4, wp->y2[i] >> 4); + ee_putchar('.'); + draw_bomb(wp->x[i] >> 4, wp->y[i] >> 4, wp->vx[i], wp->vy[i]); break; case WEAPON_FRAGBOMB: - draw_fragbomb( wp->x[i] >> 4, wp->y[i] >> 4, wp->n[i] ); + draw_fragbomb(wp->x[i] >> 4, wp->y[i] >> 4, wp->n[i]); break; case WEAPON_BEAM: - draw_beam( wp->x[i] >> 4, wp->y[i] >> 4, wp->n[i] ); + draw_beam(wp->x[i] >> 4, wp->y[i] >> 4, wp->n[i]); break; case WEAPON_NUKE: - draw_nuke( wp->x[i] >> 4, wp->y[i] >> 4, wp->n[i] ); + draw_nuke(wp->x[i] >> 4, wp->y[i] >> 4, wp->n[i]); break; case WEAPON_LIGHTNING: case WEAPON_NONE: @@ -96,18 +96,18 @@ void draw_weapons( game *g, weapons *wp ) } } -void update_weapons( game *g, weapons *wp ) +void update_weapons(game *g, weapons *wp) { int i, j, dist, xmin, ymin, dx, dy, xnew, ynew; - for( i = 0; i < WEAPONS; i++ ) + for(i = 0; i < WEAPONS; i++) { - switch( wp->type[i] ) + switch(wp->type[i]) { case WEAPON_LASER: wp->x[i] += wp->vx[i]; wp->y[i] += wp->vy[i]; - if( wp->y[i] < 0 ) + if(wp->y[i] < 0) { wp->type[i] = WEAPON_NONE; } @@ -124,13 +124,13 @@ void update_weapons( game *g, weapons *wp ) wp->x[i] += wp->vx[i]; wp->y[i] += wp->vy[i]; - if( wp->y[i] < 0 ) + if(wp->y[i] < 0) { wp->type[i] = WEAPON_NONE; break; } - if( wp->n[i] < 0 ) + if(wp->n[i] < 0) { /* Stop updating direction */ break; @@ -148,15 +148,15 @@ void update_weapons( game *g, weapons *wp ) + 4 * (ynew - ymin) * (ynew - ymin); /* Find the nearest alien */ - for( j = 0; j < ALIENS; j++ ) + for(j = 0; j < ALIENS; j++) { - if( g->al->type[j] != ALIEN_NONE ) + if(g->al->type[j] != ALIEN_NONE) { int alx = g->al->x[j] << 4; int aly = g->al->y[j] << 4; int new = (xnew - alx) * (xnew - alx) + 4 * (ynew - aly) * (ynew - aly); - if( new <= dist ) + if(new <= dist) { dist = new; xmin = alx; @@ -170,9 +170,9 @@ void update_weapons( game *g, weapons *wp ) dy = ymin - wp->y[i]; /* Normalize direction */ - if( dx | dy ) + if(dx | dy) { - int norm = r00t( dx * dx + 4 * dy * dy ); + int norm = r00t(dx * dx + 4 * dy * dy); dx = dx * 32 / norm; dy = dy * 32 / norm; } @@ -182,9 +182,9 @@ void update_weapons( game *g, weapons *wp ) dy = (dy + 3 * wp->vy[i]) / 4; /* Normalize speed */ - if( dx | dy ) + if(dx | dy) { - int norm = r00t( dx * dx + 4 * dy * dy ); + int norm = r00t(dx * dx + 4 * dy * dy); wp->vx[i] = dx * 32 / norm; wp->vy[i] = dy * 32 / norm; } @@ -193,7 +193,7 @@ void update_weapons( game *g, weapons *wp ) case WEAPON_FRAGBOMB: /* If n was set to -1, the fragbomb just exploded */ - if( wp->n[i] == -1 ) + if(wp->n[i] == -1) { int coords[] = { @@ -203,10 +203,10 @@ void update_weapons( game *g, weapons *wp ) 16, 14, -16, 14, 16, -14, -16, -14 }; - for( j = 0 ; j < sizeof(coords) / sizeof(int) ; j += 2 ) + for(j = 0 ; j < sizeof(coords) / sizeof(int) ; j += 2) { - add_weapon( g, g->wp, wp->x[i] + coords[j], wp->y[i] + coords[j+1] / 2, coords[j], coords[j+1], WEAPON_SEEKER ); - add_weapon( g, g->wp, wp->x[i] + coords[j] / 2, wp->y[i] + coords[j+1], coords[j], coords[j+1], WEAPON_SEEKER ); + add_weapon(g, g->wp, wp->x[i] + coords[j], wp->y[i] + coords[j+1] / 2, coords[j], coords[j+1], WEAPON_SEEKER); + add_weapon(g, g->wp, wp->x[i] + coords[j] / 2, wp->y[i] + coords[j+1], coords[j], coords[j+1], WEAPON_SEEKER); } wp->type[i] = WEAPON_NONE; @@ -215,7 +215,7 @@ void update_weapons( game *g, weapons *wp ) wp->x[i] += wp->vx[i]; wp->y[i] += wp->vy[i]; wp->n[i]++; - if( wp->y[i] < 0 ) + if(wp->y[i] < 0) { wp->type[i] = WEAPON_NONE; } @@ -225,14 +225,14 @@ void update_weapons( game *g, weapons *wp ) wp->x[i] = (g->p->x + 2) << 4; wp->y[i] = g->p->y << 4; wp->n[i]--; - if( wp->n[i] < 0 ) + if(wp->n[i] < 0) { wp->type[i] = WEAPON_NONE; } break; case WEAPON_NUKE: wp->n[i]--; - if( wp->n[i] < 0 ) + if(wp->n[i] < 0) { wp->type[i] = WEAPON_NONE; } @@ -244,13 +244,13 @@ void update_weapons( game *g, weapons *wp ) } } -void add_weapon( game *g, weapons *wp, int x, int y, int vx, int vy, int type ) +void add_weapon(game *g, weapons *wp, int x, int y, int vx, int vy, int type) { int i; - for( i = 0; i < WEAPONS; i++ ) + for(i = 0; i < WEAPONS; i++) { - if( wp->type[i] == WEAPON_NONE ) + if(wp->type[i] == WEAPON_NONE) { wp->x[i] = x; wp->y[i] = y; @@ -258,7 +258,7 @@ void add_weapon( game *g, weapons *wp, int x, int y, int vx, int vy, int type ) wp->vy[i] = vy; wp->type[i] = type; wp->n[i] = 0; - switch( type ) + switch(type) { case WEAPON_LASER: break; @@ -286,447 +286,447 @@ void add_weapon( game *g, weapons *wp, int x, int y, int vx, int vy, int type ) } } -static void draw_bomb( int x, int y, int vx, int vy ) +static void draw_bomb(int x, int y, int vx, int vy) { vy *= 2; - ee_color( EE_CYAN ); + ee_color(EE_CYAN); - if( vx > vy ) + if(vx > vy) { - if( vx > -vy ) /* right quarter */ + if(vx > -vy) /* right quarter */ { - if( vy > vx/4 ) + if(vy > vx/4) { /* -1pi/6 */ - ee_goto( x-4, y-1 ); - ee_putstr( "/`-." ); - ee_goto( x-4, y ); - ee_putstr( "`-._\\" ); - ee_color( EE_WHITE ); - ee_goto( x-1, y ); - ee_putstr( "_\\" ); - ee_goto( x, y+1 ); - ee_putchar( '`' ); + ee_goto(x-4, y-1); + ee_putstr("/`-."); + ee_goto(x-4, y); + ee_putstr("`-._\\"); + ee_color(EE_WHITE); + ee_goto(x-1, y); + ee_putstr("_\\"); + ee_goto(x, y+1); + ee_putchar('`'); } - else if( vy < -vx/4 ) + else if(vy < -vx/4) { /* 1pi/6 */ - ee_goto( x-4, y ); - ee_putstr( ",-' " ); - ee_goto( x-4, y+1 ); - ee_putstr( "\\,-'" ); - ee_color( EE_WHITE ); - ee_goto( x-1, y-1 ); - ee_putstr( "_," ); - ee_goto( x, y ); - ee_putchar( '/' ); + ee_goto(x-4, y); + ee_putstr(",-' "); + ee_goto(x-4, y+1); + ee_putstr("\\,-'"); + ee_color(EE_WHITE); + ee_goto(x-1, y-1); + ee_putstr("_,"); + ee_goto(x, y); + ee_putchar('/'); } else { /* 0pi/6 */ - ee_goto( x-4, y-1 ); - ee_putstr( "____" ); - ee_goto( x-5, y ); - ee_putstr( "|____" ); - ee_color( EE_WHITE ); - ee_goto( x, y ); - ee_putchar( '>' ); + ee_goto(x-4, y-1); + ee_putstr("____"); + ee_goto(x-5, y); + ee_putstr("|____"); + ee_color(EE_WHITE); + ee_goto(x, y); + ee_putchar('>'); } } else /* top quarter */ { - if( vx > -vy/4 ) + if(vx > -vy/4) { /* 2pi/6 */ - ee_goto( x-2, y ); - ee_putstr( "/ " ); - ee_goto( x-3, y+1 ); - ee_putstr( "/ /" ); - ee_goto( x-3, y+2 ); - ee_putstr( "`'" ); - ee_color( EE_WHITE ); - ee_goto( x-1, y-1 ); - ee_putstr( "_," ); - ee_goto( x, y ); - ee_putchar( '|' ); + ee_goto(x-2, y); + ee_putstr("/ "); + ee_goto(x-3, y+1); + ee_putstr("/ /"); + ee_goto(x-3, y+2); + ee_putstr("`'"); + ee_color(EE_WHITE); + ee_goto(x-1, y-1); + ee_putstr("_,"); + ee_goto(x, y); + ee_putchar('|'); } - else if( vx < vy/4 ) + else if(vx < vy/4) { /* 4pi/6 */ - ee_goto( x+1, y ); - ee_putstr( " \\" ); - ee_goto( x+1, y+1 ); - ee_putstr( "\\ \\" ); - ee_goto( x+2, y+2 ); - ee_putstr( "`'" ); - ee_color( EE_WHITE ); - ee_goto( x, y-1 ); - ee_putstr( "._" ); - ee_goto( x, y ); - ee_putchar( '|' ); + ee_goto(x+1, y); + ee_putstr(" \\"); + ee_goto(x+1, y+1); + ee_putstr("\\ \\"); + ee_goto(x+2, y+2); + ee_putstr("`'"); + ee_color(EE_WHITE); + ee_goto(x, y-1); + ee_putstr("._"); + ee_goto(x, y); + ee_putchar('|'); } else { /* 3pi/6 */ - ee_goto( x-1, y+1 ); - ee_putstr( "| |" ); - ee_goto( x-1, y+2 ); - ee_putstr( "|_|" ); - ee_color( EE_WHITE ); - ee_goto( x-1, y ); - ee_putstr( ",^." ); + ee_goto(x-1, y+1); + ee_putstr("| |"); + ee_goto(x-1, y+2); + ee_putstr("|_|"); + ee_color(EE_WHITE); + ee_goto(x-1, y); + ee_putstr(",^."); } } } else { - if( vx > -vy ) /* bottom quarter */ + if(vx > -vy) /* bottom quarter */ { - if( vx > vy/4 ) + if(vx > vy/4) { /* -2pi/6 */ - ee_goto( x-2, y-2 ); - ee_putstr( ",." ); - ee_goto( x-2, y-1 ); - ee_putstr( "\\ \\" ); - ee_goto( x-1, y ); - ee_putchar( '\\' ); - ee_color( EE_WHITE ); - ee_goto( x, y ); - ee_putstr( "_|" ); + ee_goto(x-2, y-2); + ee_putstr(",."); + ee_goto(x-2, y-1); + ee_putstr("\\ \\"); + ee_goto(x-1, y); + ee_putchar('\\'); + ee_color(EE_WHITE); + ee_goto(x, y); + ee_putstr("_|"); } - else if( vx < -vy/4 ) + else if(vx < -vy/4) { /* -4pi/6 */ - ee_goto( x+1, y-2 ); - ee_putstr( ",." ); - ee_goto( x, y-1 ); - ee_putstr( "/ /" ); - ee_goto( x+1, y ); - ee_putchar( '/' ); - ee_color( EE_WHITE ); - ee_goto( x-1, y ); - ee_putstr( "|_/" ); + ee_goto(x+1, y-2); + ee_putstr(",."); + ee_goto(x, y-1); + ee_putstr("/ /"); + ee_goto(x+1, y); + ee_putchar('/'); + ee_color(EE_WHITE); + ee_goto(x-1, y); + ee_putstr("|_/"); } else { /* -3pi/6 */ - ee_goto( x, y-3 ); - ee_putchar( '_' ); - ee_goto( x-1, y-2 ); - ee_putstr( "| |" ); - ee_goto( x-1, y-1 ); - ee_putstr( "| |" ); - ee_color( EE_WHITE ); - ee_goto( x-1, y ); - ee_putstr( "`v'" ); + ee_goto(x, y-3); + ee_putchar('_'); + ee_goto(x-1, y-2); + ee_putstr("| |"); + ee_goto(x-1, y-1); + ee_putstr("| |"); + ee_color(EE_WHITE); + ee_goto(x-1, y); + ee_putstr("`v'"); } } else /* left quarter */ { - if( vy > -vx/4 ) + if(vy > -vx/4) { /* -5pi/6 */ - ee_goto( x+1, y-1 ); - ee_putstr( ",-'\\" ); - ee_goto( x+2, y ); - ee_putstr( ",-'" ); - ee_goto( x, y+1 ); - ee_putchar( '\'' ); - ee_color( EE_WHITE ); - ee_goto( x, y ); - ee_putstr( "/_" ); + ee_goto(x+1, y-1); + ee_putstr(",-'\\"); + ee_goto(x+2, y); + ee_putstr(",-'"); + ee_goto(x, y+1); + ee_putchar('\''); + ee_color(EE_WHITE); + ee_goto(x, y); + ee_putstr("/_"); } - else if( vy < vx/4 ) + else if(vy < vx/4) { /* 5pi/6 */ - ee_goto( x+1, y ); - ee_putstr( " `-." ); - ee_goto( x+1, y+1 ); - ee_putstr( "`-./" ); - ee_color( EE_WHITE ); - ee_goto( x, y-1 ); - ee_putstr( "._" ); - ee_goto( x, y ); - ee_putchar( '\\' ); + ee_goto(x+1, y); + ee_putstr(" `-."); + ee_goto(x+1, y+1); + ee_putstr("`-./"); + ee_color(EE_WHITE); + ee_goto(x, y-1); + ee_putstr("._"); + ee_goto(x, y); + ee_putchar('\\'); } else { /* 6pi/6 */ - ee_goto( x+1, y-1 ); - ee_putstr( "____" ); - ee_goto( x+1, y ); - ee_putstr( "____|" ); - ee_color( EE_WHITE ); - ee_goto( x, y ); - ee_putchar( '<' ); + ee_goto(x+1, y-1); + ee_putstr("____"); + ee_goto(x+1, y); + ee_putstr("____|"); + ee_color(EE_WHITE); + ee_goto(x, y); + ee_putchar('<'); } } } } -static void draw_fragbomb( int x, int y, int frame ) +static void draw_fragbomb(int x, int y, int frame) { - ee_color( EE_WHITE ); + ee_color(EE_WHITE); - ee_color( frame & 1 ? EE_CYAN : EE_WHITE ); - ee_goto( x-2, y ); - ee_putstr( "( )" ); - ee_goto( x-1, y+1 ); - ee_putstr( "`--'" ); + ee_color(frame & 1 ? EE_CYAN : EE_WHITE); + ee_goto(x-2, y); + ee_putstr("( )"); + ee_goto(x-1, y+1); + ee_putstr("`--'"); - ee_color( frame & 1 ? EE_WHITE : EE_CYAN ); - ee_goto( x-1, y-1 ); - ee_putstr( ",--." ); - ee_goto( x, y ); - ee_putstr( "'," ); + ee_color(frame & 1 ? EE_WHITE : EE_CYAN); + ee_goto(x-1, y-1); + ee_putstr(",--."); + ee_goto(x, y); + ee_putstr("',"); - switch( frame % 4 ) + switch(frame % 4) { case 0: - ee_color( EE_CYAN ); - ee_goto( x, y + 2 ); - ee_putchar( 'O' ); - ee_goto( x + 2, y + 2 ); - ee_putchar( 'o' ); - ee_goto( x + 1, y + 3 ); - ee_putchar( 'o' ); - ee_color( EE_GRAY ); - ee_goto( x - 1, y + 3 ); - ee_putchar( ':' ); - ee_goto( x + 2, y + 4 ); - ee_putchar( ':' ); - ee_goto( x, y + 4 ); - ee_putchar( '.' ); - ee_goto( x + 1, y + 5 ); - ee_putchar( '.' ); + ee_color(EE_CYAN); + ee_goto(x, y + 2); + ee_putchar('O'); + ee_goto(x + 2, y + 2); + ee_putchar('o'); + ee_goto(x + 1, y + 3); + ee_putchar('o'); + ee_color(EE_GRAY); + ee_goto(x - 1, y + 3); + ee_putchar(':'); + ee_goto(x + 2, y + 4); + ee_putchar(':'); + ee_goto(x, y + 4); + ee_putchar('.'); + ee_goto(x + 1, y + 5); + ee_putchar('.'); break; case 1: - ee_color( EE_CYAN ); - //ee_goto( x, y + 1 ); - //ee_putchar( 'O' ); - ee_goto( x + 1, y + 2 ); - ee_putchar( 'O' ); - ee_goto( x, y + 3 ); - ee_putchar( 'o' ); - ee_color( EE_GRAY ); - ee_goto( x + 2, y + 3 ); - ee_putchar( ':' ); - ee_goto( x + 1, y + 4 ); - ee_putchar( ':' ); - ee_goto( x - 1, y + 4 ); - ee_putchar( '.' ); - ee_goto( x + 2, y + 5 ); - ee_putchar( '.' ); + ee_color(EE_CYAN); + //ee_goto(x, y + 1); + //ee_putchar('O'); + ee_goto(x + 1, y + 2); + ee_putchar('O'); + ee_goto(x, y + 3); + ee_putchar('o'); + ee_color(EE_GRAY); + ee_goto(x + 2, y + 3); + ee_putchar(':'); + ee_goto(x + 1, y + 4); + ee_putchar(':'); + ee_goto(x - 1, y + 4); + ee_putchar('.'); + ee_goto(x + 2, y + 5); + ee_putchar('.'); break; case 2: - ee_color( EE_CYAN ); - //ee_goto( x - 1, y + 1 ); - //ee_putchar( 'O' ); - ee_goto( x + 2, y + 2 ); - ee_putchar( 'O' ); - ee_goto( x, y + 2 ); - ee_putchar( 'o' ); - ee_goto( x + 1, y + 3 ); - ee_putchar( 'o' ); - ee_color( EE_GRAY ); - ee_goto( x, y + 4 ); - ee_putchar( ':' ); - ee_goto( x + 2, y + 4 ); - ee_putchar( '.' ); - ee_goto( x + 1, y + 5 ); - ee_putchar( '.' ); + ee_color(EE_CYAN); + //ee_goto(x - 1, y + 1); + //ee_putchar('O'); + ee_goto(x + 2, y + 2); + ee_putchar('O'); + ee_goto(x, y + 2); + ee_putchar('o'); + ee_goto(x + 1, y + 3); + ee_putchar('o'); + ee_color(EE_GRAY); + ee_goto(x, y + 4); + ee_putchar(':'); + ee_goto(x + 2, y + 4); + ee_putchar('.'); + ee_goto(x + 1, y + 5); + ee_putchar('.'); break; case 3: - ee_color( EE_CYAN ); - //ee_goto( x + 2, y + 1 ); - //ee_putchar( 'O' ); - ee_goto( x + 1, y + 2 ); - ee_putchar( 'O' ); - ee_goto( x - 1, y + 2 ); - ee_putchar( 'o' ); - ee_goto( x + 2, y + 3 ); - ee_putchar( 'o' ); - ee_color( EE_GRAY ); - ee_goto( x, y + 3 ); - ee_putchar( ':' ); - ee_goto( x + 1, y + 4 ); - ee_putchar( ':' ); - ee_goto( x, y + 5 ); - ee_putchar( '.' ); + ee_color(EE_CYAN); + //ee_goto(x + 2, y + 1); + //ee_putchar('O'); + ee_goto(x + 1, y + 2); + ee_putchar('O'); + ee_goto(x - 1, y + 2); + ee_putchar('o'); + ee_goto(x + 2, y + 3); + ee_putchar('o'); + ee_color(EE_GRAY); + ee_goto(x, y + 3); + ee_putchar(':'); + ee_goto(x + 1, y + 4); + ee_putchar(':'); + ee_goto(x, y + 5); + ee_putchar('.'); break; } } -static void draw_beam( int x, int y, int frame ) +static void draw_beam(int x, int y, int frame) { int r = (29 - frame) * (29 - frame) / 8; int i; - switch( frame ) + switch(frame) { case 24: - ee_color( EE_WHITE ); - ee_goto( x, y-3 ); - ee_putstr( "__" ); - ee_goto( x-1, y-2 ); - ee_putchar( '\'' ); - ee_goto( x+2, y-2 ); - ee_putchar( '`' ); + ee_color(EE_WHITE); + ee_goto(x, y-3); + ee_putstr("__"); + ee_goto(x-1, y-2); + ee_putchar('\''); + ee_goto(x+2, y-2); + ee_putchar('`'); break; case 23: - ee_color( EE_CYAN ); - ee_goto( x, y-3 ); - ee_putstr( "__" ); - ee_color( EE_WHITE ); - ee_goto( x-2, y-2 ); - ee_putstr( "-'" ); - ee_goto( x+2, y-2 ); - ee_putstr( "`-" ); + ee_color(EE_CYAN); + ee_goto(x, y-3); + ee_putstr("__"); + ee_color(EE_WHITE); + ee_goto(x-2, y-2); + ee_putstr("-'"); + ee_goto(x+2, y-2); + ee_putstr("`-"); break; case 22: - ee_color( EE_CYAN ); - ee_goto( x, y-3 ); - ee_putstr( "__" ); - ee_goto( x-1, y-2 ); - ee_putchar( '\'' ); - ee_goto( x+2, y-2 ); - ee_putchar( '`' ); - ee_color( EE_WHITE ); - ee_goto( x-3, y-2 ); - ee_putstr( ",-" ); - ee_goto( x+3, y-2 ); - ee_putstr( "-." ); + ee_color(EE_CYAN); + ee_goto(x, y-3); + ee_putstr("__"); + ee_goto(x-1, y-2); + ee_putchar('\''); + ee_goto(x+2, y-2); + ee_putchar('`'); + ee_color(EE_WHITE); + ee_goto(x-3, y-2); + ee_putstr(",-"); + ee_goto(x+3, y-2); + ee_putstr("-."); break; case 21: - ee_color( EE_CYAN ); - ee_goto( x-1, y-3 ); - ee_putstr( "____" ); - ee_goto( x-2, y-2 ); - ee_putchar( '\'' ); - ee_goto( x+3, y-2 ); - ee_putchar( '`' ); - ee_color( EE_WHITE ); - ee_goto( x-4, y-2 ); - ee_putstr( ",-" ); - ee_goto( x+4, y-2 ); - ee_putstr( "-." ); + ee_color(EE_CYAN); + ee_goto(x-1, y-3); + ee_putstr("____"); + ee_goto(x-2, y-2); + ee_putchar('\''); + ee_goto(x+3, y-2); + ee_putchar('`'); + ee_color(EE_WHITE); + ee_goto(x-4, y-2); + ee_putstr(",-"); + ee_goto(x+4, y-2); + ee_putstr("-."); break; case 20: - ee_color( EE_WHITE ); - ee_goto( x, y-3 ); - ee_putstr( "%%" ); - ee_goto( x-4, y-2 ); - ee_putchar( ',' ); - ee_goto( x+5, y-2 ); - ee_putchar( '.' ); - ee_color( EE_CYAN ); - ee_goto( x-1, y-3 ); - ee_putchar( ':' ); - ee_goto( x+2, y-3 ); - ee_putchar( ':' ); - ee_goto( x-3, y-2 ); - ee_putstr( "-'" ); - ee_goto( x+3, y-2 ); - ee_putstr( "`-" ); + ee_color(EE_WHITE); + ee_goto(x, y-3); + ee_putstr("%%"); + ee_goto(x-4, y-2); + ee_putchar(','); + ee_goto(x+5, y-2); + ee_putchar('.'); + ee_color(EE_CYAN); + ee_goto(x-1, y-3); + ee_putchar(':'); + ee_goto(x+2, y-3); + ee_putchar(':'); + ee_goto(x-3, y-2); + ee_putstr("-'"); + ee_goto(x+3, y-2); + ee_putstr("`-"); break; case 19: - ee_color( EE_WHITE ); - ee_goto( x, y-4 ); - ee_putstr( "%%" ); - ee_goto( x, y-3 ); - ee_putstr( "##" ); - ee_color( EE_CYAN ); - ee_goto( x-1, y-4 ); - ee_putchar( ':' ); - ee_goto( x+2, y-4 ); - ee_putchar( ':' ); - ee_goto( x-1, y-3 ); - ee_putchar( '%' ); - ee_goto( x+2, y-3 ); - ee_putchar( '%' ); - ee_goto( x-4, y-2 ); - ee_putstr( ",-'" ); - ee_goto( x+3, y-2 ); - ee_putstr( "`-." ); - ee_color( EE_BLUE ); - ee_goto( x-2, y-3 ); - ee_putchar( ':' ); - ee_goto( x+3, y-3 ); - ee_putchar( ':' ); + ee_color(EE_WHITE); + ee_goto(x, y-4); + ee_putstr("%%"); + ee_goto(x, y-3); + ee_putstr("##"); + ee_color(EE_CYAN); + ee_goto(x-1, y-4); + ee_putchar(':'); + ee_goto(x+2, y-4); + ee_putchar(':'); + ee_goto(x-1, y-3); + ee_putchar('%'); + ee_goto(x+2, y-3); + ee_putchar('%'); + ee_goto(x-4, y-2); + ee_putstr(",-'"); + ee_goto(x+3, y-2); + ee_putstr("`-."); + ee_color(EE_BLUE); + ee_goto(x-2, y-3); + ee_putchar(':'); + ee_goto(x+3, y-3); + ee_putchar(':'); break; case 18: default: r = (18 - frame) * (18 - frame); - ee_color( EE_WHITE ); - ee_goto( x-1, y-5-r ); - ee_putstr( ":%%:" ); - ee_goto( x-1, y-4-r ); - ee_putstr( "%##%" ); - ee_color( EE_CYAN ); - ee_goto( x-2, y-4-r ); - ee_putchar( ':' ); - ee_goto( x+3, y-4-r ); - ee_putchar( ':' ); - ee_goto( x-2, y-2 ); - ee_putchar( '\'' ); - ee_goto( x+3, y-2 ); - ee_putchar( '`' ); - ee_color( EE_BLUE ); - ee_goto( x-3, y-2 ); - ee_putchar( ':' ); - ee_goto( x+4, y-2 ); - ee_putchar( ':' ); - for( i = 0; i <= r; i++ ) + ee_color(EE_WHITE); + ee_goto(x-1, y-5-r); + ee_putstr(":%%:"); + ee_goto(x-1, y-4-r); + ee_putstr("%##%"); + ee_color(EE_CYAN); + ee_goto(x-2, y-4-r); + ee_putchar(':'); + ee_goto(x+3, y-4-r); + ee_putchar(':'); + ee_goto(x-2, y-2); + ee_putchar('\''); + ee_goto(x+3, y-2); + ee_putchar('`'); + ee_color(EE_BLUE); + ee_goto(x-3, y-2); + ee_putchar(':'); + ee_goto(x+4, y-2); + ee_putchar(':'); + for(i = 0; i <= r; i++) { - ee_color( EE_WHITE ); - ee_goto( x-1, y-3-i ); - ee_putstr( (i+frame) % 5 ? "####" : "%%%%" ); - ee_color( EE_CYAN ); - ee_goto( x-2, y-3-i ); - ee_putchar( '%' ); - ee_goto( x+3, y-3-i ); - ee_putchar( '%' ); - ee_color( EE_BLUE ); - ee_goto( x-3, y-3-i ); - ee_putchar( ':' ); - ee_goto( x+4, y-3-i ); - ee_putchar( ':' ); + ee_color(EE_WHITE); + ee_goto(x-1, y-3-i); + ee_putstr((i+frame) % 5 ? "####" : "%%%%"); + ee_color(EE_CYAN); + ee_goto(x-2, y-3-i); + ee_putchar('%'); + ee_goto(x+3, y-3-i); + ee_putchar('%'); + ee_color(EE_BLUE); + ee_goto(x-3, y-3-i); + ee_putchar(':'); + ee_goto(x+4, y-3-i); + ee_putchar(':'); } break; } } -static void draw_nuke( int x, int y, int frame ) +static void draw_nuke(int x, int y, int frame) { int r = (29 - frame) * (29 - frame) / 8; /* Lots of duplicate pixels, but we don't care */ - ee_color( EE_BLUE ); - draw_circle( x, y, r++, ':' ); - ee_color( EE_CYAN ); - draw_circle( x, y, r++, '%' ); - ee_color( EE_WHITE ); - draw_circle( x, y, r++, '#' ); - draw_circle( x, y, r++, '#' ); + ee_color(EE_BLUE); + draw_circle(x, y, r++, ':'); + ee_color(EE_CYAN); + draw_circle(x, y, r++, '%'); + ee_color(EE_WHITE); + draw_circle(x, y, r++, '#'); + draw_circle(x, y, r++, '#'); } -static void draw_circle( int x, int y, int r, char c ) +static void draw_circle(int x, int y, int r, char c) { int test, dx, dy; /* Optimized Bresenham. Kick ass. */ - for( test = 0, dx = 0, dy = r ; dx <= dy ; dx++ ) + for(test = 0, dx = 0, dy = r ; dx <= dy ; dx++) { - ee_putcharTO( x + dx, y + dy / 2, c ); - ee_putcharTO( x - dx, y + dy / 2, c ); - ee_putcharTO( x + dx, y - dy / 2, c ); - ee_putcharTO( x - dx, y - dy / 2, c ); - - ee_putcharTO( x + dy, y + dx / 2, c ); - ee_putcharTO( x - dy, y + dx / 2, c ); - ee_putcharTO( x + dy, y - dx / 2, c ); - ee_putcharTO( x - dy, y - dx / 2, c ); + ee_putcharTO(x + dx, y + dy / 2, c); + ee_putcharTO(x - dx, y + dy / 2, c); + ee_putcharTO(x + dx, y - dy / 2, c); + ee_putcharTO(x - dx, y - dy / 2, c); + + ee_putcharTO(x + dy, y + dx / 2, c); + ee_putcharTO(x - dy, y + dx / 2, c); + ee_putcharTO(x + dy, y - dx / 2, c); + ee_putcharTO(x - dy, y - dx / 2, c); test += test > 0 ? dx - dy-- : dx; }