Bläddra i källkod

Fuck the side collision. I hate collisions.

Eiyeron Fulmincendii 11 år sedan
förälder
incheckning
a9100e86ca
3 ändrade filer med 1 tillägg och 32 borttagningar
  1. 1 8
      update_states.c
  2. 0 22
      wall.c
  3. 0 2
      wall.h

+ 1 - 8
update_states.c

@@ -49,17 +49,10 @@ void update_game(Game_Data *data)
 		data->cooldown_timer = pattern.cooldown;
 	}
 
-	if(KeyDown(K_LEFT) && !isCollidingSide(data->list, data->player_angle, data->nb_lines)) {
+	if(KeyDown(K_LEFT)) {
 		data->player_angle = data->player_angle - data->level->player_rotation_speed *  (data->current_time - data->last_time)*FRAME_TIME;
-		// int newAngle = data->player_angle - data->level->player_rotation_speed *  (data->current_time - data->last_time)*FRAME_TIME;
-		//if(isCollidingSide(data->list, newAngle, data->nb_lines))
-		//	data->player_angle = ((newAngle)/data->nb_lines)*data->nb_lines + 1;
-		//else
-		//data->player_angle = newAngle;
 	}
 	if(KeyDown(K_RIGHT)) {
-//		if(isCollidingSide(data->list, data->player_angle, data->nb_lines))
-//			else
 		data->player_angle = data->player_angle + data->level->player_rotation_speed *  (data->current_time - data->last_time)*FRAME_TIME;
 	}
 

+ 0 - 22
wall.c

@@ -129,28 +129,6 @@ void drawWalls(Wall *list, Game_Data *data, int nb_lines, Line_Transition line_t
 }
 
 
-// Tests if the players hits a wall by its sides and not only by being crushed under it.
-bool isCollidingSide(Wall *list, int player_angle, int nb_lines) {
-	Wall *tmp;
-	tmp = list;
-
-	do{
-		if(tmp != NULL)
-		{
-			if(tmp-> d <= 8+tmp->h + 2)
-			{	// and is on the same line than the player
-				if(tmp->line == (int)(player_angle/ (360 / nb_lines)) && tmp->line < nb_lines)
-				{
-					return true;
-				}
-			}
-			tmp = tmp->nxt;
-		}
-	}while(tmp != NULL);
-	return false;
-
-}
-
 // tests every Wall in the list
 bool isColliding(Wall *list, int player_angle, int nb_lines)
 {

+ 0 - 2
wall.h

@@ -13,8 +13,6 @@ Wall *removeWall(Wall *list, int d); // returns a new pointer to the first eleme
 void drawWalls(Wall *list, Game_Data *data, int nb_lines, Line_Transition line_transition);
 // updates the ll "list"
 void updateWalls(Wall *list, unsigned int delta_time);
-// Tests if the players hits a wall by its sides and not only by being crushed under it.
-bool isCollidingSide(Wall *list, int player_angle, int nb_lines);
 // simple collision test. Returns true if a Wall from the list collides with the player
 bool isColliding(Wall *list, int player_angle, int nb_lines);
 #endif