aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormax-001 <maxsmits21@kpnmail.nl>2024-11-21 17:04:58 +0100
committermax-001 <maxsmits21@kpnmail.nl>2024-11-21 17:04:58 +0100
commitea95685b4dd2adf09a9be4e2dd9233d0cf98b1ef (patch)
tree2877243b80b0c026db7a2a618a15677156f41a56 /src
parentadbd81d3937a1363af312202c7e4b5ec0bf3458d (diff)
Minor changes due to templating of Vector2
Diffstat (limited to 'src')
-rw-r--r--src/crepe/ComponentManager.cpp2
-rw-r--r--src/crepe/ComponentManager.h2
-rw-r--r--src/crepe/Particle.cpp4
-rw-r--r--src/crepe/Particle.h10
-rw-r--r--src/crepe/api/CMakeLists.txt2
-rw-r--r--src/crepe/api/GameObject.cpp2
-rw-r--r--src/crepe/api/GameObject.h4
-rw-r--r--src/crepe/api/ParticleEmitter.h6
-rw-r--r--src/crepe/api/Rigidbody.cpp2
-rw-r--r--src/crepe/api/Rigidbody.h8
-rw-r--r--src/crepe/api/Transform.cpp3
-rw-r--r--src/crepe/api/Transform.h5
-rw-r--r--src/crepe/facade/SDLContext.cpp4
-rw-r--r--src/crepe/facade/SDLContext.h8
-rw-r--r--src/crepe/system/ParticleSystem.cpp9
-rw-r--r--src/crepe/system/PhysicsSystem.cpp2
-rw-r--r--src/doc/feature/scene.dox4
-rw-r--r--src/example/rendering_particle.cpp6
-rw-r--r--src/test/ECSTest.cpp39
-rw-r--r--src/test/ParticleTest.cpp10
-rw-r--r--src/test/PhysicsTest.cpp4
-rw-r--r--src/test/SceneManagerTest.cpp21
22 files changed, 85 insertions, 72 deletions
diff --git a/src/crepe/ComponentManager.cpp b/src/crepe/ComponentManager.cpp
index e310577..20c6dd4 100644
--- a/src/crepe/ComponentManager.cpp
+++ b/src/crepe/ComponentManager.cpp
@@ -26,7 +26,7 @@ void ComponentManager::delete_all_components() {
}
GameObject ComponentManager::new_object(const string & name, const string & tag,
- const Vector2 & position, double rotation,
+ const Vector2<double> & position, double rotation,
double scale) {
GameObject object{*this, this->next_id, name, tag, position, rotation, scale};
this->next_id++;
diff --git a/src/crepe/ComponentManager.h b/src/crepe/ComponentManager.h
index 0956d1e..906e3a7 100644
--- a/src/crepe/ComponentManager.h
+++ b/src/crepe/ComponentManager.h
@@ -45,7 +45,7 @@ public:
* \note This method automatically assigns a new entity ID
*/
GameObject new_object(const std::string & name, const std::string & tag = "",
- const Vector2 & position = {0, 0}, double rotation = 0,
+ const Vector2<double> & position = {0, 0}, double rotation = 0,
double scale = 1);
protected:
diff --git a/src/crepe/Particle.cpp b/src/crepe/Particle.cpp
index 1068cbf..4c994fa 100644
--- a/src/crepe/Particle.cpp
+++ b/src/crepe/Particle.cpp
@@ -2,8 +2,8 @@
using namespace crepe;
-void Particle::reset(uint32_t lifespan, const Vector2 & position, const Vector2 & velocity,
- double angle) {
+void Particle::reset(uint32_t lifespan, const Vector2<double> & position,
+ const Vector2<double> & velocity, double angle) {
// Initialize the particle state
this->time_in_life = 0;
this->lifespan = lifespan;
diff --git a/src/crepe/Particle.h b/src/crepe/Particle.h
index 19859fe..570c9be 100644
--- a/src/crepe/Particle.h
+++ b/src/crepe/Particle.h
@@ -18,11 +18,11 @@ class Particle {
public:
//! Position of the particle in 2D space.
- Vector2 position;
+ Vector2<double> position;
//! Velocity vector indicating the speed and direction of the particle.
- Vector2 velocity;
+ Vector2<double> velocity;
//! Accumulated force affecting the particle over time.
- Vector2 force_over_time;
+ Vector2<double> force_over_time;
//! Total lifespan of the particle in milliseconds.
uint32_t lifespan;
//! Active state of the particle; true if it is in use, false otherwise.
@@ -43,8 +43,8 @@ public:
* \param velocity The initial velocity of the particle.
* \param angle The angle of the particle's trajectory or orientation.
*/
- void reset(uint32_t lifespan, const Vector2 & position, const Vector2 & velocity,
- double angle);
+ void reset(uint32_t lifespan, const Vector2<double> & position,
+ const Vector2<double> & velocity, double angle);
/**
* \brief Updates the particle's state.
*
diff --git a/src/crepe/api/CMakeLists.txt b/src/crepe/api/CMakeLists.txt
index d6b6801..92ff328 100644
--- a/src/crepe/api/CMakeLists.txt
+++ b/src/crepe/api/CMakeLists.txt
@@ -14,7 +14,6 @@ target_sources(crepe PUBLIC
Metadata.cpp
Scene.cpp
SceneManager.cpp
- Vector2.cpp
Camera.cpp
Animator.cpp
EventManager.cpp
@@ -37,6 +36,7 @@ target_sources(crepe PUBLIC FILE_SET HEADERS FILES
Rigidbody.h
Sprite.h
Vector2.h
+ Vector2.hpp
Color.h
Texture.h
AssetManager.h
diff --git a/src/crepe/api/GameObject.cpp b/src/crepe/api/GameObject.cpp
index 4874426..49bb158 100644
--- a/src/crepe/api/GameObject.cpp
+++ b/src/crepe/api/GameObject.cpp
@@ -9,7 +9,7 @@ using namespace std;
GameObject::GameObject(ComponentManager & component_manager, game_object_id_t id,
const std::string & name, const std::string & tag,
- const Vector2 & position, double rotation, double scale)
+ const Vector2<double> & position, double rotation, double scale)
: id(id),
component_manager(component_manager) {
diff --git a/src/crepe/api/GameObject.h b/src/crepe/api/GameObject.h
index 34ef8bb..29c9fcd 100644
--- a/src/crepe/api/GameObject.h
+++ b/src/crepe/api/GameObject.h
@@ -30,8 +30,8 @@ private:
* \param scale The scale of the GameObject
*/
GameObject(ComponentManager & component_manager, game_object_id_t id,
- const std::string & name, const std::string & tag, const Vector2 & position,
- double rotation, double scale);
+ const std::string & name, const std::string & tag,
+ const Vector2<double> & position, double rotation, double scale);
//! ComponentManager instances GameObject
friend class ComponentManager;
diff --git a/src/crepe/api/ParticleEmitter.h b/src/crepe/api/ParticleEmitter.h
index 33112e1..1960d0d 100644
--- a/src/crepe/api/ParticleEmitter.h
+++ b/src/crepe/api/ParticleEmitter.h
@@ -30,7 +30,7 @@ public:
//! boundary height (midpoint is emitter location)
double height = 0.0;
//! boundary offset from particle emitter location
- Vector2 offset;
+ Vector2<double> offset;
//! reset on exit or stop velocity and set max postion
bool reset_on_exit = false;
};
@@ -43,7 +43,7 @@ public:
*/
struct Data {
//! position of the emitter
- Vector2 position;
+ Vector2<double> position;
//! maximum number of particles
const unsigned int max_particles = 0;
//! rate of particle emission per update (Lowest value = 0.001 any lower is ignored)
@@ -61,7 +61,7 @@ public:
//! end Lifespan of particle
double end_lifespan = 0.0;
//! force over time (physics)
- Vector2 force_over_time;
+ Vector2<double> force_over_time;
//! particle boundary
Boundary boundary;
//! collection of particles
diff --git a/src/crepe/api/Rigidbody.cpp b/src/crepe/api/Rigidbody.cpp
index 6b87695..384aabb 100644
--- a/src/crepe/api/Rigidbody.cpp
+++ b/src/crepe/api/Rigidbody.cpp
@@ -6,7 +6,7 @@ crepe::Rigidbody::Rigidbody(game_object_id_t id, const Data & data)
: Component(id),
data(data) {}
-void crepe::Rigidbody::add_force_linear(const Vector2 & force) {
+void crepe::Rigidbody::add_force_linear(const Vector2<double> & force) {
this->data.linear_velocity += force;
}
diff --git a/src/crepe/api/Rigidbody.h b/src/crepe/api/Rigidbody.h
index 3e5c7a3..4745d56 100644
--- a/src/crepe/api/Rigidbody.h
+++ b/src/crepe/api/Rigidbody.h
@@ -56,11 +56,11 @@ public:
//! Changes if physics apply
BodyType body_type = BodyType::DYNAMIC;
//! linear velocity of object
- Vector2 linear_velocity;
+ Vector2<double> linear_velocity;
//! maximum linear velocity of object
- Vector2 max_linear_velocity;
+ Vector2<double> max_linear_velocity;
//! linear damping of object
- Vector2 linear_damping;
+ Vector2<double> linear_damping;
//! angular velocity of object
double angular_velocity = 0.0;
//! max angular velocity of object
@@ -90,7 +90,7 @@ public:
*
* \param force Vector2 that is added to the linear force.
*/
- void add_force_linear(const Vector2 & force);
+ void add_force_linear(const Vector2<double> & force);
/**
* \brief add a angular force to the Rigidbody.
*
diff --git a/src/crepe/api/Transform.cpp b/src/crepe/api/Transform.cpp
index cd944bd..1ca5b4d 100644
--- a/src/crepe/api/Transform.cpp
+++ b/src/crepe/api/Transform.cpp
@@ -4,7 +4,8 @@
using namespace crepe;
-Transform::Transform(game_object_id_t id, const Vector2 & point, double rotation, double scale)
+Transform::Transform(game_object_id_t id, const Vector2<double> & point, double rotation,
+ double scale)
: Component(id),
position(point),
rotation(rotation),
diff --git a/src/crepe/api/Transform.h b/src/crepe/api/Transform.h
index 18aa293..b0488f5 100644
--- a/src/crepe/api/Transform.h
+++ b/src/crepe/api/Transform.h
@@ -15,7 +15,7 @@ namespace crepe {
class Transform : public Component {
public:
//! Translation (shift)
- Vector2 position = {0, 0};
+ Vector2<double> position = {0, 0};
//! Rotation, in degrees
double rotation = 0;
//! Multiplication factor
@@ -28,7 +28,8 @@ protected:
* \param rotation The rotation of the GameObject
* \param scale The scale of the GameObject
*/
- Transform(game_object_id_t id, const Vector2 & point, double rotation, double scale);
+ Transform(game_object_id_t id, const Vector2<double> & point, double rotation,
+ double scale);
/**
* There is always exactly one transform component per entity
* \return 1
diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp
index 00523a6..c808d41 100644
--- a/src/crepe/facade/SDLContext.cpp
+++ b/src/crepe/facade/SDLContext.cpp
@@ -104,7 +104,7 @@ SDL_Rect SDLContext::get_src_rect(const Sprite & sprite) const {
.h = sprite.sprite_rect.h,
};
}
-SDL_Rect SDLContext::get_dst_rect(const Sprite & sprite, const Vector2 & pos,
+SDL_Rect SDLContext::get_dst_rect(const Sprite & sprite, const Vector2<double> & pos,
const double & scale, const Camera & cam) const {
double adjusted_x = (pos.x - cam.x) * cam.zoom;
@@ -120,7 +120,7 @@ SDL_Rect SDLContext::get_dst_rect(const Sprite & sprite, const Vector2 & pos,
};
}
-void SDLContext::draw_particle(const Sprite & sprite, const Vector2 & pos,
+void SDLContext::draw_particle(const Sprite & sprite, const Vector2<double> & pos,
const double & angle, const double & scale,
const Camera & camera) {
diff --git a/src/crepe/facade/SDLContext.h b/src/crepe/facade/SDLContext.h
index 841ffc9..e4a0da5 100644
--- a/src/crepe/facade/SDLContext.h
+++ b/src/crepe/facade/SDLContext.h
@@ -120,8 +120,8 @@ private:
*/
void draw(const Sprite & sprite, const Transform & transform, const Camera & camera);
- void draw_particle(const Sprite & sprite, const Vector2 & pos, const double & angle,
- const double & scale, const Camera & camera);
+ void draw_particle(const Sprite & sprite, const Vector2<double> & pos,
+ const double & angle, const double & scale, const Camera & camera);
//! Clears the screen, preparing for a new frame.
void clear_screen();
@@ -153,8 +153,8 @@ private:
* on the camera
* \return sdl rectangle to draw a dst image to draw on the screen
*/
- SDL_Rect get_dst_rect(const Sprite & sprite, const Vector2 & pos, const double & scale,
- const Camera & cam) const;
+ SDL_Rect get_dst_rect(const Sprite & sprite, const Vector2<double> & pos,
+ const double & scale, const Camera & cam) const;
private:
//! sdl Window
diff --git a/src/crepe/system/ParticleSystem.cpp b/src/crepe/system/ParticleSystem.cpp
index fcf7522..b839f35 100644
--- a/src/crepe/system/ParticleSystem.cpp
+++ b/src/crepe/system/ParticleSystem.cpp
@@ -44,7 +44,7 @@ void ParticleSystem::update() {
void ParticleSystem::emit_particle(ParticleEmitter & emitter, const Transform & transform) {
constexpr double DEG_TO_RAD = M_PI / 180.0;
- Vector2 initial_position = emitter.data.position + transform.position;
+ Vector2<double> initial_position = emitter.data.position + transform.position;
double random_angle
= generate_random_angle(emitter.data.min_angle, emitter.data.max_angle);
@@ -52,7 +52,7 @@ void ParticleSystem::emit_particle(ParticleEmitter & emitter, const Transform &
= generate_random_speed(emitter.data.min_speed, emitter.data.max_speed);
double angle_radians = random_angle * DEG_TO_RAD;
- Vector2 velocity
+ Vector2<double> velocity
= {random_speed * std::cos(angle_radians), random_speed * std::sin(angle_radians)};
for (Particle & particle : emitter.data.particles) {
@@ -77,7 +77,8 @@ int ParticleSystem::calculate_update(int count, double emission) const {
}
void ParticleSystem::check_bounds(ParticleEmitter & emitter, const Transform & transform) {
- Vector2 offset = emitter.data.boundary.offset + transform.position + emitter.data.position;
+ Vector2<double> offset
+ = emitter.data.boundary.offset + transform.position + emitter.data.position;
double half_width = emitter.data.boundary.width / 2.0;
double half_height = emitter.data.boundary.height / 2.0;
@@ -87,7 +88,7 @@ void ParticleSystem::check_bounds(ParticleEmitter & emitter, const Transform & t
const double BOTTOM = offset.y + half_height;
for (Particle & particle : emitter.data.particles) {
- const Vector2 & position = particle.position;
+ const Vector2<double> & position = particle.position;
bool within_bounds = (position.x >= LEFT && position.x <= RIGHT && position.y >= TOP
&& position.y <= BOTTOM);
diff --git a/src/crepe/system/PhysicsSystem.cpp b/src/crepe/system/PhysicsSystem.cpp
index bcde431..e7ecd14 100644
--- a/src/crepe/system/PhysicsSystem.cpp
+++ b/src/crepe/system/PhysicsSystem.cpp
@@ -34,7 +34,7 @@ void PhysicsSystem::update() {
if (rigidbody.data.angular_damping != 0) {
rigidbody.data.angular_velocity *= rigidbody.data.angular_damping;
}
- if (rigidbody.data.linear_damping != Vector2{0, 0}) {
+ if (rigidbody.data.linear_damping != Vector2<double>{0, 0}) {
rigidbody.data.linear_velocity *= rigidbody.data.linear_damping;
}
diff --git a/src/doc/feature/scene.dox b/src/doc/feature/scene.dox
index 5f34446..5f1214e 100644
--- a/src/doc/feature/scene.dox
+++ b/src/doc/feature/scene.dox
@@ -46,8 +46,8 @@ public:
void load_scene() {
auto & mgr = this->component_manager;
- GameObject object1 = mgr.new_object("object1", "tag_my_scene", Vector2{0, 0}, 0, 1);
- GameObject object2 = mgr.new_object("object2", "tag_my_scene", Vector2{1, 0}, 0, 1);
+ GameObject object1 = mgr.new_object("object1", "tag_my_scene", Vector2<double>{0, 0}, 0, 1);
+ GameObject object2 = mgr.new_object("object2", "tag_my_scene", Vector2<double>{1, 0}, 0, 1);
}
string get_name() const { return "my_scene"; }
diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp
index 4571afb..9b4ce83 100644
--- a/src/example/rendering_particle.cpp
+++ b/src/example/rendering_particle.cpp
@@ -23,7 +23,7 @@ using namespace std;
int main(int argc, char * argv[]) {
ComponentManager mgr;
- GameObject game_object = mgr.new_object("", "", Vector2{100, 100}, 0, 0.1);
+ GameObject game_object = mgr.new_object("", "", Vector2<double>{100, 100}, 0, 0.1);
RenderSystem sys{mgr};
ParticleSystem psys{mgr};
@@ -43,11 +43,11 @@ int main(int argc, char * argv[]) {
.max_angle = 20,
.begin_lifespan = 0,
.end_lifespan = 60,
- .force_over_time = Vector2{0, 0},
+ .force_over_time = Vector2<double>{0, 0},
.boundary{
.width = 1000,
.height = 1000,
- .offset = Vector2{0, 0},
+ .offset = Vector2<double>{0, 0},
.reset_on_exit = false,
},
.sprite = test_sprite,
diff --git a/src/test/ECSTest.cpp b/src/test/ECSTest.cpp
index d5a5826..98d3a27 100644
--- a/src/test/ECSTest.cpp
+++ b/src/test/ECSTest.cpp
@@ -17,7 +17,7 @@ public:
};
TEST_F(ECSTest, createGameObject) {
- GameObject obj = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
+ GameObject obj = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
vector<reference_wrapper<Metadata>> metadata = mgr.get_components_by_type<Metadata>();
vector<reference_wrapper<Transform>> transform = mgr.get_components_by_type<Transform>();
@@ -37,8 +37,8 @@ TEST_F(ECSTest, createGameObject) {
}
TEST_F(ECSTest, deleteAllGameObjects) {
- GameObject obj0 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
- GameObject obj1 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
+ GameObject obj0 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
+ GameObject obj1 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
mgr.delete_all_components();
@@ -48,7 +48,7 @@ TEST_F(ECSTest, deleteAllGameObjects) {
EXPECT_EQ(metadata.size(), 0);
EXPECT_EQ(transform.size(), 0);
- GameObject obj2 = mgr.new_object("body2", "person2", Vector2{1, 0}, 5, 1);
+ GameObject obj2 = mgr.new_object("body2", "person2", Vector2<double>{1, 0}, 5, 1);
metadata = mgr.get_components_by_type<Metadata>();
transform = mgr.get_components_by_type<Transform>();
@@ -70,8 +70,8 @@ TEST_F(ECSTest, deleteAllGameObjects) {
}
TEST_F(ECSTest, deleteGameObject) {
- GameObject obj0 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
- GameObject obj1 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
+ GameObject obj0 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
+ GameObject obj1 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
mgr.delete_all_components_of_id(0);
@@ -96,7 +96,7 @@ TEST_F(ECSTest, deleteGameObject) {
TEST_F(ECSTest, manyGameObjects) {
for (int i = 0; i < 5000; i++) {
- GameObject obj = mgr.new_object("body", "person", Vector2{0, 0}, 0, i);
+ GameObject obj = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, i);
}
vector<reference_wrapper<Metadata>> metadata = mgr.get_components_by_type<Metadata>();
@@ -128,7 +128,7 @@ TEST_F(ECSTest, manyGameObjects) {
for (int i = 0; i < 10000 - 5000; i++) {
string tag = "person" + to_string(i);
- GameObject obj = mgr.new_object("body", tag, Vector2{0, 0}, i, 0);
+ GameObject obj = mgr.new_object("body", tag, Vector2<double>{0, 0}, i, 0);
}
metadata = mgr.get_components_by_type<Metadata>();
@@ -139,8 +139,8 @@ TEST_F(ECSTest, manyGameObjects) {
}
TEST_F(ECSTest, getComponentsByID) {
- GameObject obj0 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
- GameObject obj1 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
+ GameObject obj0 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
+ GameObject obj1 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
vector<reference_wrapper<Metadata>> metadata = mgr.get_components_by_id<Metadata>(0);
vector<reference_wrapper<Transform>> transform = mgr.get_components_by_id<Transform>(1);
@@ -163,15 +163,15 @@ TEST_F(ECSTest, getComponentsByID) {
TEST_F(ECSTest, tooMuchComponents) {
try {
- GameObject obj0 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
- obj0.add_component<Transform>(Vector2{10, 10}, 0, 1);
+ GameObject obj0 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
+ obj0.add_component<Transform>(Vector2<double>{10, 10}, 0, 1);
} catch (const exception & e) {
EXPECT_EQ(e.what(),
string("Exceeded maximum number of instances for this component type"));
}
try {
- GameObject obj1 = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
+ GameObject obj1 = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
obj1.add_component<Metadata>("body", "person");
} catch (const exception & e) {
EXPECT_EQ(e.what(),
@@ -187,11 +187,14 @@ TEST_F(ECSTest, tooMuchComponents) {
TEST_F(ECSTest, partentChild) {
{
- GameObject body = mgr.new_object("body", "person", Vector2{0, 0}, 0, 1);
- GameObject right_leg = mgr.new_object("rightLeg", "person", Vector2{1, 1}, 0, 1);
- GameObject left_leg = mgr.new_object("leftLeg", "person", Vector2{1, 1}, 0, 1);
- GameObject right_foot = mgr.new_object("rightFoot", "person", Vector2{2, 2}, 0, 1);
- GameObject left_foot = mgr.new_object("leftFoot", "person", Vector2{2, 2}, 0, 1);
+ GameObject body = mgr.new_object("body", "person", Vector2<double>{0, 0}, 0, 1);
+ GameObject right_leg
+ = mgr.new_object("rightLeg", "person", Vector2<double>{1, 1}, 0, 1);
+ GameObject left_leg = mgr.new_object("leftLeg", "person", Vector2<double>{1, 1}, 0, 1);
+ GameObject right_foot
+ = mgr.new_object("rightFoot", "person", Vector2<double>{2, 2}, 0, 1);
+ GameObject left_foot
+ = mgr.new_object("leftFoot", "person", Vector2<double>{2, 2}, 0, 1);
// Set the parent of each GameObject
right_foot.set_parent(right_leg);
diff --git a/src/test/ParticleTest.cpp b/src/test/ParticleTest.cpp
index eee022f..48e6630 100644
--- a/src/test/ParticleTest.cpp
+++ b/src/test/ParticleTest.cpp
@@ -25,7 +25,7 @@ public:
std::vector<std::reference_wrapper<Transform>> transforms
= mgr.get_components_by_id<Transform>(0);
if (transforms.empty()) {
- GameObject game_object = mgr.new_object("", "", Vector2{0, 0}, 0, 0);
+ GameObject game_object = mgr.new_object("", "", Vector2<double>{0, 0}, 0, 0);
Color color(0, 0, 0, 0);
Sprite & test_sprite = game_object.add_component<Sprite>(
@@ -42,11 +42,11 @@ public:
.max_angle = 0,
.begin_lifespan = 0,
.end_lifespan = 0,
- .force_over_time = Vector2{0, 0},
+ .force_over_time = Vector2<double>{0, 0},
.boundary{
.width = 0,
.height = 0,
- .offset = Vector2{0, 0},
+ .offset = Vector2<double>{0, 0},
.reset_on_exit = false,
},
.sprite = test_sprite,
@@ -68,8 +68,8 @@ public:
emitter.data.max_angle = 0;
emitter.data.begin_lifespan = 0;
emitter.data.end_lifespan = 0;
- emitter.data.force_over_time = Vector2{0, 0};
- emitter.data.boundary = {0, 0, Vector2{0, 0}, false};
+ emitter.data.force_over_time = Vector2<double>{0, 0};
+ emitter.data.boundary = {0, 0, Vector2<double>{0, 0}, false};
for (auto & particle : emitter.data.particles) {
particle.active = false;
}
diff --git a/src/test/PhysicsTest.cpp b/src/test/PhysicsTest.cpp
index 1e37c26..4fd9b14 100644
--- a/src/test/PhysicsTest.cpp
+++ b/src/test/PhysicsTest.cpp
@@ -20,12 +20,12 @@ public:
vector<reference_wrapper<Transform>> transforms
= mgr.get_components_by_id<Transform>(0);
if (transforms.empty()) {
- auto entity = mgr.new_object("", "", Vector2{0, 0}, 0, 0);
+ auto entity = mgr.new_object("", "", Vector2<double>{0, 0}, 0, 0);
entity.add_component<Rigidbody>(Rigidbody::Data{
.mass = 1,
.gravity_scale = 1,
.body_type = Rigidbody::BodyType::DYNAMIC,
- .max_linear_velocity = Vector2{10, 10},
+ .max_linear_velocity = Vector2<double>{10, 10},
.max_angular_velocity = 10,
.constraints = {0, 0},
.use_gravity = true,
diff --git a/src/test/SceneManagerTest.cpp b/src/test/SceneManagerTest.cpp
index 1efcfb2..f4cf4fd 100644
--- a/src/test/SceneManagerTest.cpp
+++ b/src/test/SceneManagerTest.cpp
@@ -16,9 +16,12 @@ public:
void load_scene() {
auto & mgr = this->component_manager;
- GameObject object1 = mgr.new_object("scene_1", "tag_scene_1", Vector2{0, 0}, 0, 1);
- GameObject object2 = mgr.new_object("scene_1", "tag_scene_1", Vector2{1, 0}, 0, 1);
- GameObject object3 = mgr.new_object("scene_1", "tag_scene_1", Vector2{2, 0}, 0, 1);
+ GameObject object1
+ = mgr.new_object("scene_1", "tag_scene_1", Vector2<double>{0, 0}, 0, 1);
+ GameObject object2
+ = mgr.new_object("scene_1", "tag_scene_1", Vector2<double>{1, 0}, 0, 1);
+ GameObject object3
+ = mgr.new_object("scene_1", "tag_scene_1", Vector2<double>{2, 0}, 0, 1);
}
string get_name() const { return "scene1"; }
@@ -30,10 +33,14 @@ public:
void load_scene() {
auto & mgr = this->component_manager;
- GameObject object1 = mgr.new_object("scene_2", "tag_scene_2", Vector2{0, 0}, 0, 1);
- GameObject object2 = mgr.new_object("scene_2", "tag_scene_2", Vector2{0, 1}, 0, 1);
- GameObject object3 = mgr.new_object("scene_2", "tag_scene_2", Vector2{0, 2}, 0, 1);
- GameObject object4 = mgr.new_object("scene_2", "tag_scene_2", Vector2{0, 3}, 0, 1);
+ GameObject object1
+ = mgr.new_object("scene_2", "tag_scene_2", Vector2<double>{0, 0}, 0, 1);
+ GameObject object2
+ = mgr.new_object("scene_2", "tag_scene_2", Vector2<double>{0, 1}, 0, 1);
+ GameObject object3
+ = mgr.new_object("scene_2", "tag_scene_2", Vector2<double>{0, 2}, 0, 1);
+ GameObject object4
+ = mgr.new_object("scene_2", "tag_scene_2", Vector2<double>{0, 3}, 0, 1);
}
string get_name() const { return "scene2"; }