Changeset 45 for libcaca/trunk/src/weapons.c
- Timestamp:
- Dec 23, 2002, 12:01:35 AM (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/src/weapons.c
r43 r45 4 4 * All Rights Reserved 5 5 * 6 * $Id: weapons.c,v 1. 9 2002/12/22 22:36:42sam Exp $6 * $Id: weapons.c,v 1.10 2002/12/22 23:01:35 sam Exp $ 7 7 * 8 8 * This program is free software; you can redistribute it and/or modify … … 171 171 172 172 /* Normalize and update speed */ 173 wp->vx[i] = (7 * wp->vx[i] 174 + (dx * 48) / r00t(dx*dx+dy*dy) ) / 8; 175 wp->vy[i] = (7 * wp->vy[i] 176 + (dy * 24) / r00t(dx*dx+dy*dy) ) / 8; 177 178 break; 173 if( dx | dy ) 174 { 175 int norm = r00t( dx * dx + dy * dy ); 176 177 wp->vx[i] = (7 * wp->vx[i] + (dx * 48) / norm ) / 8; 178 wp->vy[i] = (7 * wp->vy[i] + (dy * 24) / norm ) / 8; 179 } 180 break; 181 179 182 case WEAPON_FRAGBOMB: 180 /* If n was set to -1, the fragbomb exploded */183 /* If n was set to -1, the fragbomb just exploded */ 181 184 if( wp->n[i] == -1 ) 182 185 { 183 add_weapon( g, g->wp, wp->x[i] + 24, wp->y[i], 24, 0, WEAPON_SEEKER );184 add_weapon( g, g->wp, wp->x[i] - 24, wp->y[i], -24, 0, WEAPON_SEEKER );185 add_weapon( g, g->wp, wp->x[i], wp->y[i] + 24, 0, 24, WEAPON_SEEKER );186 add_weapon( g, g->wp, wp->x[i], wp->y[i] - 24, 0, -24, WEAPON_SEEKER );187 add_weapon( g, g->wp, wp->x[i] + 24, wp->y[i] + 8, 24, 8, WEAPON_SEEKER );188 add_weapon( g, g->wp, wp->x[i] - 24, wp->y[i] + 8, -24, 8, WEAPON_SEEKER );189 add_weapon( g, g->wp, wp->x[i] + 24, wp->y[i] - 8, 24, -8, WEAPON_SEEKER ); 190 add_weapon( g, g->wp, wp->x[i] - 24, wp->y[i] - 8, -24, -8, WEAPON_SEEKER );191 add_weapon( g, g->wp, wp->x[i] + 16, wp->y[i] + 16, 16, 16, WEAPON_SEEKER );192 add_weapon( g, g->wp, wp->x[i] - 16, wp->y[i] + 16, -16, 16, WEAPON_SEEKER );193 add_weapon( g, g->wp, wp->x[i] + 16, wp->y[i] - 16, 16, -16, WEAPON_SEEKER );194 add_weapon( g, g->wp, wp->x[i] - 16, wp->y[i] - 16, -16, -16, WEAPON_SEEKER ); 186 int coords[] = 187 { 188 24, 0, -24, 0, 0, 24, 0, -24, 189 24, 8, -24, 8, 24, -8, -24, -8, 190 16, 16, -16, 16, 16, -16, -16, -16 191 }; 192 193 for( j = 0; j < 12; j++ ) 194 { 195 add_weapon( g, g->wp, wp->x[i] + coords[2*j], wp->y[i] + coords[2*j+1], coords[2*j], coords[2*j+1], WEAPON_SEEKER ); 196 } 197 195 198 wp->type[i] = WEAPON_NONE; 196 199 } … … 204 207 } 205 208 break; 209 206 210 case WEAPON_BEAM: 207 211 wp->x[i] = (g->p->x + 2) << 4;
Note: See TracChangeset
for help on using the changeset viewer.