diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/crepe/api/GameObject.h | 6 | ||||
| -rw-r--r-- | src/crepe/api/ParticleEmitter.cpp | 17 | ||||
| -rw-r--r-- | src/crepe/api/Rigidbody.cpp | 6 | ||||
| -rw-r--r-- | src/crepe/api/Rigidbody.h | 13 | ||||
| -rw-r--r-- | src/crepe/api/Transform.h | 3 | ||||
| -rw-r--r-- | src/crepe/api/Vector2.cpp | 104 | ||||
| -rw-r--r-- | src/crepe/api/Vector2.h | 61 | ||||
| -rw-r--r-- | src/crepe/system/PhysicsSystem.cpp | 96 | ||||
| -rw-r--r-- | src/example/physics.cpp | 8 | ||||
| -rw-r--r-- | src/example/rendering.cpp | 2 | ||||
| -rw-r--r-- | src/example/scene_manager.cpp | 2 | ||||
| -rw-r--r-- | src/test/PhysicsTest.cpp | 94 | 
12 files changed, 210 insertions, 202 deletions
| diff --git a/src/crepe/api/GameObject.h b/src/crepe/api/GameObject.h index 8dc102c..d703730 100644 --- a/src/crepe/api/GameObject.h +++ b/src/crepe/api/GameObject.h @@ -1,6 +1,5 @@  #pragma once -#include <cstdint>  #include <string>  #include "types.h" @@ -29,8 +28,9 @@ public:  	 * \param rotation The rotation of the GameObject  	 * \param scale The scale of the GameObject  	 */ -	GameObject(game_object_id_t id, const std::string & name, const std::string & tag, -			   const Vector2 & position, double rotation, double scale); +	GameObject(game_object_id_t id, const std::string & name, +			   const std::string & tag, const Vector2 & position, +			   double rotation, double scale);  	/**  	 * \brief Set the parent of this GameObject  	 *  diff --git a/src/crepe/api/ParticleEmitter.cpp b/src/crepe/api/ParticleEmitter.cpp index 6094732..3b2e2f2 100644 --- a/src/crepe/api/ParticleEmitter.cpp +++ b/src/crepe/api/ParticleEmitter.cpp @@ -6,15 +6,14 @@  using namespace crepe; -ParticleEmitter::ParticleEmitter(game_object_id_t id, -								 uint32_t max_particles, uint32_t emission_rate, -								 uint32_t speed, uint32_t speed_offset, -								 uint32_t angle, uint32_t angleOffset, -								 float begin_lifespan, float end_lifespan) -	: Component(id), max_particles(max_particles), -	  emission_rate(emission_rate), speed(speed), speed_offset(speed_offset), -	  position{0, 0}, begin_lifespan(begin_lifespan), -	  end_lifespan(end_lifespan) { +ParticleEmitter::ParticleEmitter(game_object_id_t id, uint32_t max_particles, +								 uint32_t emission_rate, uint32_t speed, +								 uint32_t speed_offset, uint32_t angle, +								 uint32_t angleOffset, float begin_lifespan, +								 float end_lifespan) +	: Component(id), max_particles(max_particles), emission_rate(emission_rate), +	  speed(speed), speed_offset(speed_offset), position{0, 0}, +	  begin_lifespan(begin_lifespan), end_lifespan(end_lifespan) {  	std::srand(  		static_cast<uint32_t>(std::time(nullptr))); // initialize random seed  	std::cout << "Create emitter" << std::endl; diff --git a/src/crepe/api/Rigidbody.cpp b/src/crepe/api/Rigidbody.cpp index cf07b0e..0de9846 100644 --- a/src/crepe/api/Rigidbody.cpp +++ b/src/crepe/api/Rigidbody.cpp @@ -2,9 +2,8 @@  using namespace crepe; -crepe::Rigidbody::Rigidbody(uint32_t game_object_id, -							const RigidbodyData & data) : -	Component(game_object_id), data(data){} +crepe::Rigidbody::Rigidbody(uint32_t game_object_id, const RigidbodyData & data) +	: Component(game_object_id), data(data) {}  void crepe::Rigidbody::add_force_linear(const Vector2 & force) {  	this->data.linear_velocity += force; @@ -13,4 +12,3 @@ void crepe::Rigidbody::add_force_linear(const Vector2 & force) {  void crepe::Rigidbody::add_force_angular(double force) {  	this->data.angular_velocity += force;  } - diff --git a/src/crepe/api/Rigidbody.h b/src/crepe/api/Rigidbody.h index 0c069d8..e1abd46 100644 --- a/src/crepe/api/Rigidbody.h +++ b/src/crepe/api/Rigidbody.h @@ -37,17 +37,18 @@ public:  	 */  	struct PhysicsConstraints {  		//! X constraint -		bool x = 0;  +		bool x = 0;  		//! Y constraint -		bool y = 0;  +		bool y = 0;  		//! rotation constraint -		bool rotation = 0;  +		bool rotation = 0;  	}; +  public:  	/**   	 * This struct holds the data for the Rigidbody.  	 */ -	struct RigidbodyData{ +	struct RigidbodyData {  		//! objects mass  		double mass = 0.0;  		//! gravtiy scale @@ -73,14 +74,16 @@ public:  		//! if object bounces  		bool bounce = false;  	}; +  public:  	/**   	 * \param game_object_id id of the gameobject the rigibody is added to.  	 * \param data struct to configure the rigidbody.  	 */ -	Rigidbody(uint32_t game_object_id,const RigidbodyData& data); +	Rigidbody(uint32_t game_object_id, const RigidbodyData & data);  	//! struct to hold data of rigidbody  	RigidbodyData data; +  public:  	/**   	 * \brief add a linear force to the Rigidbody. diff --git a/src/crepe/api/Transform.h b/src/crepe/api/Transform.h index 33e70f9..805553e 100644 --- a/src/crepe/api/Transform.h +++ b/src/crepe/api/Transform.h @@ -20,7 +20,8 @@ public:  	 * \param rot The rotation of the GameObject  	 * \param scale The scale of the GameObject  	 */ -	Transform(game_object_id_t id, const Vector2 & point, double rot, double scale); +	Transform(game_object_id_t id, const Vector2 & point, double rot, +			  double scale);  	/**  	 * \brief Get the maximum number of instances for this component  	 * diff --git a/src/crepe/api/Vector2.cpp b/src/crepe/api/Vector2.cpp index 8cbd9ad..09bb59b 100644 --- a/src/crepe/api/Vector2.cpp +++ b/src/crepe/api/Vector2.cpp @@ -2,58 +2,56 @@  namespace crepe { -    // Constructor with initial values -    Vector2::Vector2(float x, float y) : x(x), y(y) {} - -    // Subtracts another vector from this vector and returns the result. -    Vector2 Vector2::operator-(const Vector2& other) const { -        return {x - other.x, y - other.y}; -    } - -    // Adds another vector to this vector and returns the result. -    Vector2 Vector2::operator+(const Vector2& other) const { -        return {x + other.x, y + other.y}; -    } - -    // Multiplies this vector by a scalar and returns the result. -    Vector2 Vector2::operator*(float scalar) const { -        return {x * scalar, y * scalar}; -    } - -    // Multiplies this vector by another vector element-wise and updates this vector. -    Vector2& Vector2::operator*=(const Vector2& other) { -        x *= other.x; -        y *= other.y; -        return *this; -    } - -    // Adds another vector to this vector and updates this vector. -    Vector2& Vector2::operator+=(const Vector2& other) { -        x += other.x; -        y += other.y; -        return *this; -    } - -    // Adds a scalar value to both components of this vector and updates this vector. -    Vector2& Vector2::operator+=(float other) { -        x += other; -        y += other; -        return *this; -    } - -    // Returns the negation of this vector. -    Vector2 Vector2::operator-() const { -        return {-x, -y}; -    } - -    // Checks if this vector is equal to another vector. -    bool Vector2::operator==(const Vector2& other) const { -        return x == other.x && y == other.y; -    } - -    // Checks if this vector is not equal to another vector. -    bool Vector2::operator!=(const Vector2& other) const { -        return !(*this == other); -    } +// Constructor with initial values +Vector2::Vector2(float x, float y) : x(x), y(y) {} + +// Subtracts another vector from this vector and returns the result. +Vector2 Vector2::operator-(const Vector2 & other) const { +	return {x - other.x, y - other.y}; +} + +// Adds another vector to this vector and returns the result. +Vector2 Vector2::operator+(const Vector2 & other) const { +	return {x + other.x, y + other.y}; +} + +// Multiplies this vector by a scalar and returns the result. +Vector2 Vector2::operator*(float scalar) const { +	return {x * scalar, y * scalar}; +} + +// Multiplies this vector by another vector element-wise and updates this vector. +Vector2 & Vector2::operator*=(const Vector2 & other) { +	x *= other.x; +	y *= other.y; +	return *this; +} + +// Adds another vector to this vector and updates this vector. +Vector2 & Vector2::operator+=(const Vector2 & other) { +	x += other.x; +	y += other.y; +	return *this; +} + +// Adds a scalar value to both components of this vector and updates this vector. +Vector2 & Vector2::operator+=(float other) { +	x += other; +	y += other; +	return *this; +} + +// Returns the negation of this vector. +Vector2 Vector2::operator-() const { return {-x, -y}; } + +// Checks if this vector is equal to another vector. +bool Vector2::operator==(const Vector2 & other) const { +	return x == other.x && y == other.y; +} + +// Checks if this vector is not equal to another vector. +bool Vector2::operator!=(const Vector2 & other) const { +	return !(*this == other); +}  } // namespace crepe diff --git a/src/crepe/api/Vector2.h b/src/crepe/api/Vector2.h index d571209..741951b 100644 --- a/src/crepe/api/Vector2.h +++ b/src/crepe/api/Vector2.h @@ -2,47 +2,46 @@  namespace crepe { -    //! Vector2 class -    class Vector2 { -    public: -        //! X component of the vector -        float x; -        //! Y component of the vector -				float y; +//! Vector2 class +class Vector2 { +public: +	//! X component of the vector +	float x; +	//! Y component of the vector +	float y; -        //! Default constructor -        Vector2() = default; +	//! Default constructor +	Vector2() = default; -        //! Constructor with initial values -        Vector2(float x, float y); +	//! Constructor with initial values +	Vector2(float x, float y); -        //! Subtracts another vector from this vector and returns the result. -        Vector2 operator-(const Vector2& other) const; +	//! Subtracts another vector from this vector and returns the result. +	Vector2 operator-(const Vector2 & other) const; -        //! Adds another vector to this vector and returns the result. -        Vector2 operator+(const Vector2& other) const; +	//! Adds another vector to this vector and returns the result. +	Vector2 operator+(const Vector2 & other) const; -        //! Multiplies this vector by a scalar and returns the result. -        Vector2 operator*(float scalar) const; +	//! Multiplies this vector by a scalar and returns the result. +	Vector2 operator*(float scalar) const; -        //! Multiplies this vector by another vector element-wise and updates this vector. -        Vector2& operator*=(const Vector2& other); +	//! Multiplies this vector by another vector element-wise and updates this vector. +	Vector2 & operator*=(const Vector2 & other); -        //! Adds another vector to this vector and updates this vector. -        Vector2& operator+=(const Vector2& other); +	//! Adds another vector to this vector and updates this vector. +	Vector2 & operator+=(const Vector2 & other); -        //! Adds a scalar value to both components of this vector and updates this vector. -        Vector2& operator+=(float other); +	//! Adds a scalar value to both components of this vector and updates this vector. +	Vector2 & operator+=(float other); -        //! Returns the negation of this vector. -        Vector2 operator-() const; +	//! Returns the negation of this vector. +	Vector2 operator-() const; -        //! Checks if this vector is equal to another vector. -        bool operator==(const Vector2& other) const; +	//! Checks if this vector is equal to another vector. +	bool operator==(const Vector2 & other) const; -        //! Checks if this vector is not equal to another vector. -        bool operator!=(const Vector2& other) const; - -    }; +	//! Checks if this vector is not equal to another vector. +	bool operator!=(const Vector2 & other) const; +};  } // namespace crepe diff --git a/src/crepe/system/PhysicsSystem.cpp b/src/crepe/system/PhysicsSystem.cpp index 1a323ee..1bd2171 100644 --- a/src/crepe/system/PhysicsSystem.cpp +++ b/src/crepe/system/PhysicsSystem.cpp @@ -1,10 +1,10 @@  #include <cmath>  #include "../ComponentManager.h" +#include "../api/Config.h"  #include "../api/Rigidbody.h"  #include "../api/Transform.h"  #include "../api/Vector2.h" -#include "../api/Config.h"  #include "PhysicsSystem.h" @@ -19,71 +19,77 @@ void PhysicsSystem::update() {  	double gravity = Config::get_instance().physics.gravity;  	for (Rigidbody & rigidbody : rigidbodies) { -		if(!rigidbody.active){continue;} +		if (!rigidbody.active) continue; +		  		switch (rigidbody.data.body_type) {  			case Rigidbody::BodyType::DYNAMIC:  				for (Transform & transform : transforms) {  					if (transform.game_object_id == rigidbody.game_object_id) { -						 -						// Add gravity  -						if(rigidbody.data.use_gravity) -						{ -							rigidbody.data.linear_velocity.y += (rigidbody.data.mass * rigidbody.data.gravity_scale * gravity); + +						// Add gravity +						if (rigidbody.data.use_gravity) { +							rigidbody.data.linear_velocity.y +								+= (rigidbody.data.mass +									* rigidbody.data.gravity_scale * gravity);  						}  						// Add damping -						if(rigidbody.data.angular_damping != 0) -						{ -							rigidbody.data.angular_velocity *= rigidbody.data.angular_damping; +						if (rigidbody.data.angular_damping != 0) { +							rigidbody.data.angular_velocity +								*= rigidbody.data.angular_damping;  						} -						if(rigidbody.data.linear_damping != Vector2{0,0}) -						{ -							rigidbody.data.linear_velocity *= rigidbody.data.linear_damping; +						if (rigidbody.data.linear_damping != Vector2{0, 0}) { +							rigidbody.data.linear_velocity +								*= rigidbody.data.linear_damping;  						}  						// Max velocity check -						if(rigidbody.data.angular_velocity > rigidbody.data.max_angular_velocity) -						{ -							rigidbody.data.angular_velocity = rigidbody.data.max_angular_velocity; -						} -						else if (rigidbody.data.angular_velocity < -rigidbody.data.max_angular_velocity) -						{ -							rigidbody.data.angular_velocity = -rigidbody.data.max_angular_velocity; +						if (rigidbody.data.angular_velocity +							> rigidbody.data.max_angular_velocity) { +							rigidbody.data.angular_velocity +								= rigidbody.data.max_angular_velocity; +						} else if (rigidbody.data.angular_velocity +								   < -rigidbody.data.max_angular_velocity) { +							rigidbody.data.angular_velocity +								= -rigidbody.data.max_angular_velocity;  						} -						if(rigidbody.data.linear_velocity.x > rigidbody.data.max_linear_velocity.x) -						{ -							rigidbody.data.linear_velocity.x = rigidbody.data.max_linear_velocity.x; -						} -						else if(rigidbody.data.linear_velocity.x < -rigidbody.data.max_linear_velocity.x) -						{ -							rigidbody.data.linear_velocity.x = -rigidbody.data.max_linear_velocity.x; +						if (rigidbody.data.linear_velocity.x +							> rigidbody.data.max_linear_velocity.x) { +							rigidbody.data.linear_velocity.x +								= rigidbody.data.max_linear_velocity.x; +						} else if (rigidbody.data.linear_velocity.x +								   < -rigidbody.data.max_linear_velocity.x) { +							rigidbody.data.linear_velocity.x +								= -rigidbody.data.max_linear_velocity.x;  						} -						if(rigidbody.data.linear_velocity.y > rigidbody.data.max_linear_velocity.y) -						{ -							rigidbody.data.linear_velocity.y = rigidbody.data.max_linear_velocity.y; -						} -						else if(rigidbody.data.linear_velocity.y < -rigidbody.data.max_linear_velocity.y) -						{ -							rigidbody.data.linear_velocity.y = -rigidbody.data.max_linear_velocity.y; +						if (rigidbody.data.linear_velocity.y +							> rigidbody.data.max_linear_velocity.y) { +							rigidbody.data.linear_velocity.y +								= rigidbody.data.max_linear_velocity.y; +						} else if (rigidbody.data.linear_velocity.y +								   < -rigidbody.data.max_linear_velocity.y) { +							rigidbody.data.linear_velocity.y +								= -rigidbody.data.max_linear_velocity.y;  						} -						// Move object  -						if(!rigidbody.data.constraints.rotation) -						{ -							transform.rotation += rigidbody.data.angular_velocity; -							transform.rotation = std::fmod(transform.rotation, 360.0); +						// Move object +						if (!rigidbody.data.constraints.rotation) { +							transform.rotation +								+= rigidbody.data.angular_velocity; +							transform.rotation +								= std::fmod(transform.rotation, 360.0);  							if (transform.rotation < 0) {  								transform.rotation += 360.0;  							}  						} -						if(!rigidbody.data.constraints.x) -						{ -							transform.position.x += rigidbody.data.linear_velocity.x; +						if (!rigidbody.data.constraints.x) { +							transform.position.x +								+= rigidbody.data.linear_velocity.x;  						} -						if(!rigidbody.data.constraints.y) -						{ -							transform.position.y += rigidbody.data.linear_velocity.y; +						if (!rigidbody.data.constraints.y) { +							transform.position.y +								+= rigidbody.data.linear_velocity.y;  						}  					}  				} diff --git a/src/example/physics.cpp b/src/example/physics.cpp index 9a5e5f9..a7e94f6 100644 --- a/src/example/physics.cpp +++ b/src/example/physics.cpp @@ -9,16 +9,16 @@ using namespace crepe;  using namespace std;  int main(int argc, char * argv[]) { -	GameObject *game_object; -	game_object = new GameObject(0, "Name", "Tag", Vector2{0,0},0,0); +	GameObject * game_object; +	game_object = new GameObject(0, "Name", "Tag", Vector2{0, 0}, 0, 0);  	game_object->add_component<Rigidbody>(Rigidbody::RigidbodyData{  		.mass = 1,  		.gravity_scale = 1,  		.body_type = Rigidbody::BodyType::DYNAMIC, -		.constraints = {0,0,0}, +		.constraints = {0, 0, 0},  		.use_gravity = true,  		.bounce = false, -		}); +	});  	delete game_object;  	return 0;  } diff --git a/src/example/rendering.cpp b/src/example/rendering.cpp index e1ff9da..d554a8a 100644 --- a/src/example/rendering.cpp +++ b/src/example/rendering.cpp @@ -5,10 +5,10 @@  #include <crepe/api/AssetManager.h>  #include <crepe/api/Color.h> -#include <crepe/api/Vector2.h>  #include <crepe/api/Sprite.h>  #include <crepe/api/Texture.h>  #include <crepe/api/Transform.h> +#include <crepe/api/Vector2.h>  #include <chrono>  #include <memory> diff --git a/src/example/scene_manager.cpp b/src/example/scene_manager.cpp index 1780c81..f46dc36 100644 --- a/src/example/scene_manager.cpp +++ b/src/example/scene_manager.cpp @@ -3,9 +3,9 @@  #include <crepe/ComponentManager.h>  #include <crepe/api/GameObject.h>  #include <crepe/api/Metadata.h> -#include <crepe/api/Vector2.h>  #include <crepe/api/Scene.h>  #include <crepe/api/SceneManager.h> +#include <crepe/api/Vector2.h>  using namespace crepe;  using namespace std; diff --git a/src/test/PhysicsTest.cpp b/src/test/PhysicsTest.cpp index 5ad5d01..6b8c4d8 100644 --- a/src/test/PhysicsTest.cpp +++ b/src/test/PhysicsTest.cpp @@ -1,10 +1,10 @@ -#include <gtest/gtest.h>  #include <crepe/ComponentManager.h> +#include <crepe/api/Config.h>  #include <crepe/api/GameObject.h>  #include <crepe/api/Rigidbody.h>  #include <crepe/api/Transform.h>  #include <crepe/system/PhysicsSystem.h> -#include <crepe/api/Config.h> +#include <gtest/gtest.h>  using namespace std;  using namespace std::chrono_literals; @@ -12,42 +12,44 @@ using namespace crepe;  class PhysicsTest : public ::testing::Test {  protected: -    GameObject* game_object; -    PhysicsSystem physics_system; -		void SetUp() override { -			ComponentManager & mgr = ComponentManager::get_instance(); -			std::vector<std::reference_wrapper<Transform>> transforms = mgr.get_components_by_id<Transform>(0); -			if (transforms.empty()) { -				game_object = new GameObject(0,"","",Vector2{0,0},0,0); -				game_object->add_component<Rigidbody>(Rigidbody::RigidbodyData{ -						.mass = 1, -						.gravity_scale = 1, -						.body_type = Rigidbody::BodyType::DYNAMIC, -						.max_linear_velocity = Vector2{10,10}, -						.max_angular_velocity = 10, -						.constraints = {0, 0}, -						.use_gravity = true, -						.bounce = false -				}); -			} -			transforms = mgr.get_components_by_id<Transform>(0); -			Transform& transform = transforms.front().get(); -			transform.position.x = 0.0; -			transform.position.y = 0.0; -			transform.rotation = 0.0; -			std::vector<std::reference_wrapper<Rigidbody>> rigidbodies = mgr.get_components_by_id<Rigidbody>(0); -			Rigidbody& rigidbody = rigidbodies.front().get(); -			rigidbody.data.angular_velocity = 0; -			rigidbody.data.linear_velocity.x = 0; -			rigidbody.data.linear_velocity.y = 0; -    } +	GameObject * game_object; +	PhysicsSystem physics_system; +	void SetUp() override { +		ComponentManager & mgr = ComponentManager::get_instance(); +		std::vector<std::reference_wrapper<Transform>> transforms +			= mgr.get_components_by_id<Transform>(0); +		if (transforms.empty()) { +			game_object = new GameObject(0, "", "", Vector2{0, 0}, 0, 0); +			game_object->add_component<Rigidbody>(Rigidbody::RigidbodyData{ +				.mass = 1, +				.gravity_scale = 1, +				.body_type = Rigidbody::BodyType::DYNAMIC, +				.max_linear_velocity = Vector2{10, 10}, +				.max_angular_velocity = 10, +				.constraints = {0, 0}, +				.use_gravity = true, +				.bounce = false}); +		} +		transforms = mgr.get_components_by_id<Transform>(0); +		Transform & transform = transforms.front().get(); +		transform.position.x = 0.0; +		transform.position.y = 0.0; +		transform.rotation = 0.0; +		std::vector<std::reference_wrapper<Rigidbody>> rigidbodies +			= mgr.get_components_by_id<Rigidbody>(0); +		Rigidbody & rigidbody = rigidbodies.front().get(); +		rigidbody.data.angular_velocity = 0; +		rigidbody.data.linear_velocity.x = 0; +		rigidbody.data.linear_velocity.y = 0; +	}  };  TEST_F(PhysicsTest, gravity) {  	Config::get_instance().physics.gravity = 1;  	ComponentManager & mgr = ComponentManager::get_instance(); -	std::vector<std::reference_wrapper<Transform>> transforms = mgr.get_components_by_id<Transform>(0); -	const Transform& transform = transforms.front().get(); +	std::vector<std::reference_wrapper<Transform>> transforms +		= mgr.get_components_by_id<Transform>(0); +	const Transform & transform = transforms.front().get();  	ASSERT_FALSE(transforms.empty());  	EXPECT_EQ(transform.position.y, 0);  	physics_system.update(); @@ -58,17 +60,18 @@ TEST_F(PhysicsTest, gravity) {  TEST_F(PhysicsTest, max_velocity) {  	ComponentManager & mgr = ComponentManager::get_instance(); -	std::vector<std::reference_wrapper<Rigidbody>> rigidbodies = mgr.get_components_by_id<Rigidbody>(0); -	Rigidbody& rigidbody = rigidbodies.front().get(); +	std::vector<std::reference_wrapper<Rigidbody>> rigidbodies +		= mgr.get_components_by_id<Rigidbody>(0); +	Rigidbody & rigidbody = rigidbodies.front().get();  	ASSERT_FALSE(rigidbodies.empty());  	EXPECT_EQ(rigidbody.data.linear_velocity.y, 0); -	rigidbody.add_force_linear({100,100}); +	rigidbody.add_force_linear({100, 100});  	rigidbody.add_force_angular(100);  	physics_system.update();  	EXPECT_EQ(rigidbody.data.linear_velocity.y, 10);  	EXPECT_EQ(rigidbody.data.linear_velocity.x, 10);  	EXPECT_EQ(rigidbody.data.angular_velocity, 10); -	rigidbody.add_force_linear({-100,-100}); +	rigidbody.add_force_linear({-100, -100});  	rigidbody.add_force_angular(-100);  	physics_system.update();  	EXPECT_EQ(rigidbody.data.linear_velocity.y, -10); @@ -79,19 +82,21 @@ TEST_F(PhysicsTest, max_velocity) {  TEST_F(PhysicsTest, movement) {  	Config::get_instance().physics.gravity = 0;  	ComponentManager & mgr = ComponentManager::get_instance(); -	std::vector<std::reference_wrapper<Rigidbody>> rigidbodies = mgr.get_components_by_id<Rigidbody>(0); -	Rigidbody& rigidbody = rigidbodies.front().get(); -	std::vector<std::reference_wrapper<Transform>> transforms = mgr.get_components_by_id<Transform>(0); -	const Transform& transform = transforms.front().get(); +	std::vector<std::reference_wrapper<Rigidbody>> rigidbodies +		= mgr.get_components_by_id<Rigidbody>(0); +	Rigidbody & rigidbody = rigidbodies.front().get(); +	std::vector<std::reference_wrapper<Transform>> transforms +		= mgr.get_components_by_id<Transform>(0); +	const Transform & transform = transforms.front().get();  	ASSERT_FALSE(rigidbodies.empty());  	ASSERT_FALSE(transforms.empty()); -	rigidbody.add_force_linear({1,1}); +	rigidbody.add_force_linear({1, 1});  	rigidbody.add_force_angular(1);  	physics_system.update();  	EXPECT_EQ(transform.position.x, 1);  	EXPECT_EQ(transform.position.y, 1);  	EXPECT_EQ(transform.rotation, 1); -	rigidbody.data.constraints = {1,1,1}; +	rigidbody.data.constraints = {1, 1, 1};  	EXPECT_EQ(transform.position.x, 1);  	EXPECT_EQ(transform.position.y, 1);  	EXPECT_EQ(transform.rotation, 1); @@ -102,7 +107,7 @@ TEST_F(PhysicsTest, movement) {  	EXPECT_EQ(rigidbody.data.linear_velocity.x, 0.5);  	EXPECT_EQ(rigidbody.data.linear_velocity.y, 0.5);  	EXPECT_EQ(rigidbody.data.angular_velocity, 0.5); -	rigidbody.data.constraints = {1,1,0}; +	rigidbody.data.constraints = {1, 1, 0};  	rigidbody.data.angular_damping = 0;  	rigidbody.data.max_angular_velocity = 1000;  	rigidbody.data.angular_velocity = 360; @@ -112,4 +117,3 @@ TEST_F(PhysicsTest, movement) {  	physics_system.update();  	EXPECT_EQ(transform.rotation, 1);  } - |