From 48bfba2677292e4502b25f718d252ca009efce5e Mon Sep 17 00:00:00 2001 From: savask Date: Fri, 13 Aug 2010 19:09:24 +0800 Subject: [PATCH] Fixed bug with checking for dangerous particle near foot. Collide code a liitle more logical now. --- powder.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/powder.c b/powder.c index 5a34b56f4..0d4a8f5ad 100755 --- a/powder.c +++ b/powder.c @@ -2196,9 +2196,9 @@ void update_particles_i(pixel *vid, int start, int inc){ } //Collision checks - for(ny = 0; ny<=2+(int)parts[i].vy; ny++) + for(ny = -2-(int)parts[i].vy; ny<=0; ny++) { - r = pmap[(int)(player[8]-ny)][(int)(player[7]+0.5)]; //This is to make coding more pleasant :-) + r = pmap[(int)(player[8]+ny)][(int)(player[7]+0.5)]; //This is to make coding more pleasant :-) //For left leg if (r && (r&0xFF)!=PT_STKM) @@ -2214,13 +2214,13 @@ void update_particles_i(pixel *vid, int start, int inc){ } else { - player[8] -= ny+1; + player[8] += ny-1; parts[i].vy -= 0.5*parts[i].vy; } player[9] = player[7]; } - r = pmap[(int)(player[16]-ny)][(int)(player[15]+0.5)]; + r = pmap[(int)(player[16]+ny)][(int)(player[15]+0.5)]; //For right leg if (r && (r&0xFF)!=PT_STKM) @@ -2236,7 +2236,7 @@ void update_particles_i(pixel *vid, int start, int inc){ } else { - player[16] -= ny+1; + player[16] += ny-1; parts[i].vy -= 0.5*parts[i].vy; } player[17] = player[15]; @@ -2265,7 +2265,7 @@ void update_particles_i(pixel *vid, int start, int inc){ } //If legs touch something - r = pmap[(int)(player[8]+1.5)][(int)(player[7]+0.5)]; + r = pmap[(int)(player[8]+0.5)][(int)(player[7]+0.5)]; if((r&0xFF)==PT_SPRK && r && (r>>8)>8)