diff options
author | max-001 <maxsmits21@kpnmail.nl> | 2024-11-07 19:24:24 +0100 |
---|---|---|
committer | max-001 <maxsmits21@kpnmail.nl> | 2024-11-07 19:24:24 +0100 |
commit | f49c93a5dfc0aeb5c0087cc9adfeb68526a2b0a7 (patch) | |
tree | d9bdec5dfad314c42569297e74612588daf99653 /src/crepe | |
parent | 7131a94fcfab041cb2dbaccefadb12d1db022d73 (diff) |
Make format
Diffstat (limited to 'src/crepe')
-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 |
8 files changed, 155 insertions, 151 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; } } } |