From 47c173e249872a3df6302f2dbc6782ddd8481e26 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?No=C3=A9?= <noe.artru@polytechnique.org>
Date: Tue, 23 May 2023 10:56:52 +0200
Subject: [PATCH] Tree render distance + hitbox_reg bugfix

---
 projet-code/scenes_inf443/base/src/bat.cpp      |  2 +-
 projet-code/scenes_inf443/base/src/hitbox.cpp   |  2 +-
 projet-code/scenes_inf443/base/src/scene.cpp    | 16 ++++++++--------
 projet-code/scenes_inf443/base/src/settings.cpp |  2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/projet-code/scenes_inf443/base/src/bat.cpp b/projet-code/scenes_inf443/base/src/bat.cpp
index 81c9184..e0654c0 100644
--- a/projet-code/scenes_inf443/base/src/bat.cpp
+++ b/projet-code/scenes_inf443/base/src/bat.cpp
@@ -22,7 +22,7 @@ void bat::initialize_mvt(vec3 p, numarray<vec3> key_positions, numarray<float> k
 	timer_mvt.t = timer_mvt.t_min;
 
 	//bat hitbox
-	bat_hitbox.initialize_hitbox(1, { {0,0,0} }, { size*6 });
+	bat_hitbox.initialize_hitbox(1, { {0,0,0} }, { size });
 }
 
 void bat::update_mvt()
diff --git a/projet-code/scenes_inf443/base/src/hitbox.cpp b/projet-code/scenes_inf443/base/src/hitbox.cpp
index e7cc36c..e96797a 100644
--- a/projet-code/scenes_inf443/base/src/hitbox.cpp
+++ b/projet-code/scenes_inf443/base/src/hitbox.cpp
@@ -12,7 +12,7 @@ void hitbox::initialize_hitbox(int _N, std::vector<vec3> _center, std::vector<do
 
 bool hitbox::is_in_hitbox(vec3 pos, vec3 shift) {
 	for (int i = 0; i < N; i++) {
-		if (norm(pos - center[i]) < r[i]) return true;
+		if (norm(pos - center[i] - shift) < r[i]) return true;
 	}
 	return false;
 }
\ No newline at end of file
diff --git a/projet-code/scenes_inf443/base/src/scene.cpp b/projet-code/scenes_inf443/base/src/scene.cpp
index d53454a..f4936ce 100644
--- a/projet-code/scenes_inf443/base/src/scene.cpp
+++ b/projet-code/scenes_inf443/base/src/scene.cpp
@@ -152,16 +152,16 @@ void scene_structure::display_frame()
 	if (gui.display_wireframe)
 		draw_wireframe(terrain, environment);
 
+
+	//Draw trees if close enough
 	for (int i = 0; i < num_trees(); i++) {
-		//tree.model.translation = tree_position[i];
-		//draw(tree, environment);
-		sapin1.sapin["Trunk"].transform_local.translation = tree_position[i];
-		sapin1.sapin.update_local_to_global_coordinates();
-		draw(sapin1.sapin, environment);
+		if (norm(tree_position[i]-camera_control.camera_model.position_camera) < 75 ) {
+			sapin1.sapin["Trunk"].transform_local.translation = tree_position[i];
+			sapin1.sapin.update_local_to_global_coordinates();
+			draw(sapin1.sapin, environment);
+		}
 	}
-	//vec3 p = display_mvt();
-	//display_bird(p);
-	//display_chain(p);
+
 	display_ball();
 	display_bats();
 	display_projectiles();
diff --git a/projet-code/scenes_inf443/base/src/settings.cpp b/projet-code/scenes_inf443/base/src/settings.cpp
index dc52571..9b7c877 100644
--- a/projet-code/scenes_inf443/base/src/settings.cpp
+++ b/projet-code/scenes_inf443/base/src/settings.cpp
@@ -1,7 +1,7 @@
 #include "settings.hpp"
 
 float _terrain_length = 250;
-int _num_trees = _terrain_length / 2;
+int _num_trees = _terrain_length * 2;
 int _num_grass = _terrain_length / 2;
 
 
-- 
GitLab