From e19c2c96e7370d93f19c8b0741a5649c4bbe21ee Mon Sep 17 00:00:00 2001 From: Jason Woofenden Date: Mon, 21 Feb 2005 18:43:57 +0000 Subject: [PATCH] reworked ship explosion: 1) bigger 2) ship is gone for longer (much more noticeable) 3) no rocks are left floating ie hardly moving --- config.h | 3 ++- main.c | 23 +++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/config.h b/config.h index 0c04fde..8e50c7a 100644 --- a/config.h +++ b/config.h @@ -24,7 +24,8 @@ #define MAXSPACEDOTS 2000 #define W 100 #define M 255 -#define BLAST_RADIUS 200 // radius^2 (pixels) which will be cleared of rocks when you die +#define BLAST_RADIUS 300 // radius^2 (pixels) which will be cleared of rocks when you die +#define DEAD_PAUSE_LENGTH 40.0 #define MAX_PATH_LEN 1024 diff --git a/main.c b/main.c index 9b59308..0e0188a 100644 --- a/main.c +++ b/main.c @@ -832,13 +832,32 @@ gameloop() { } } else { if(state == DEAD_PAUSE) { - float blast_radius = BLAST_RADIUS * state_timeout / 20.0; + float blast_radius; + int fixonly; + + if(state_timeout < DEAD_PAUSE_LENGTH - 20.0) { + blast_radius = BLAST_RADIUS * 1.3; + fixonly = 1; + } else { + blast_radius = BLAST_RADIUS * (DEAD_PAUSE_LENGTH - state_timeout) / 20.0; + fixonly = 0; + } + if(shipx < 60) shipx = 60; for(i = 0; i 3)) { + continue; + } + dx = rock[i].x - shipx; dy = rock[i].y - shipy; + n = sqrt(dx*dx + dy*dy); if(n < blast_radius) { n *= 20; @@ -944,7 +963,7 @@ gameloop() { } else { state = DEAD_PAUSE; - state_timeout = 20.0; + state_timeout = DEAD_PAUSE_LENGTH; shipdx = 0; shipdy = 0; } -- 1.7.10.4