From 519cc5d16e65ff501d330c03eeb35d2d095ead29 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Sun, 8 Dec 2024 19:49:41 +0100 Subject: made sdlcontext not a singleton anymore --- src/test/CMakeLists.txt | 2 +- src/test/ParticleTest.cpp | 3 ++- src/test/Profiling.cpp | 16 ++++++++++------ src/test/RenderSystemTest.cpp | 27 ++++++++++++++++----------- src/test/ResourceManagerTest.cpp | 3 ++- 5 files changed, 31 insertions(+), 20 deletions(-) (limited to 'src/test') diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 9f986a0..9d08767 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -15,7 +15,7 @@ target_sources(test_main PUBLIC ValueBrokerTest.cpp DBTest.cpp Vector2Test.cpp - InputTest.cpp + #InputTest.cpp ScriptEventTest.cpp ScriptSceneTest.cpp Profiling.cpp diff --git a/src/test/ParticleTest.cpp b/src/test/ParticleTest.cpp index 1409c4f..38f4bde 100644 --- a/src/test/ParticleTest.cpp +++ b/src/test/ParticleTest.cpp @@ -1,3 +1,4 @@ +#include "api/Asset.h" #include #include #include @@ -30,7 +31,7 @@ public: GameObject game_object = mgr.new_object("", "", vec2{0, 0}, 0, 0); Color color(0, 0, 0, 0); - auto s1 = Texture("asset/texture/img.png"); + auto s1 = Asset("asset/texture/img.png"); Sprite & test_sprite = game_object.add_component( s1, Sprite::Data{ .color = color, diff --git a/src/test/Profiling.cpp b/src/test/Profiling.cpp index c753bca..46da378 100644 --- a/src/test/Profiling.cpp +++ b/src/test/Profiling.cpp @@ -1,4 +1,6 @@ +#include "facade/SDLContext.h" #include "manager/Mediator.h" +#include "manager/ResourceManager.h" #include "system/ParticleSystem.h" #include "system/PhysicsSystem.h" #include "system/RenderSystem.h" @@ -41,7 +43,7 @@ class TestScript : public Script { } }; -class DISABLED_ProfilingTest : public Test { +class ProfilingTest : public Test { public: // Config for test // Minimum amount to let test pass @@ -61,6 +63,8 @@ public: ParticleSystem particle_sys{m}; RenderSystem render_sys{m}; ScriptSystem script_sys{m}; + SDLContext ctx{m}; + ResourceManager resource_manager{m}; // Test data std::map timings; @@ -130,7 +134,7 @@ public: } }; -TEST_F(DISABLED_ProfilingTest, Profiling_1) { +TEST_F(ProfilingTest, Profiling_1) { while (this->total_time / this->average < this->duration) { { @@ -153,7 +157,7 @@ TEST_F(DISABLED_ProfilingTest, Profiling_1) { EXPECT_GE(this->game_object_count, this->min_gameobject_count); } -TEST_F(DISABLED_ProfilingTest, Profiling_2) { +TEST_F(ProfilingTest, Profiling_2) { while (this->total_time / this->average < this->duration) { { @@ -167,7 +171,7 @@ TEST_F(DISABLED_ProfilingTest, Profiling_2) { gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Texture("asset/texture/square.png"); + auto img = Asset("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( img, Sprite::Data{ .color = {0, 0, 0, 0}, @@ -192,7 +196,7 @@ TEST_F(DISABLED_ProfilingTest, Profiling_2) { EXPECT_GE(this->game_object_count, this->min_gameobject_count); } -TEST_F(DISABLED_ProfilingTest, Profiling_3) { +TEST_F(ProfilingTest, Profiling_3) { while (this->total_time / this->average < this->duration) { { @@ -205,7 +209,7 @@ TEST_F(DISABLED_ProfilingTest, Profiling_3) { }); gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Texture("asset/texture/square.png"); + auto img = Asset("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( img, Sprite::Data{ .color = {0, 0, 0, 0}, diff --git a/src/test/RenderSystemTest.cpp b/src/test/RenderSystemTest.cpp index 205f534..1b2de7a 100644 --- a/src/test/RenderSystemTest.cpp +++ b/src/test/RenderSystemTest.cpp @@ -1,3 +1,6 @@ +#include "api/Asset.h" +#include "facade/SDLContext.h" +#include "manager/ResourceManager.h" #include "types.h" #include #include @@ -25,6 +28,8 @@ class RenderSystemTest : public Test { public: ComponentManager mgr{m}; + SDLContext ctx{m}; + ResourceManager resource_manager{m}; RenderSystem sys{m}; GameObject entity1 = this->mgr.new_object("name"); GameObject entity2 = this->mgr.new_object("name"); @@ -32,10 +37,10 @@ public: GameObject entity4 = this->mgr.new_object("name"); void SetUp() override { - auto s1 = Texture("asset/texture/img.png"); - auto s2 = Texture("asset/texture/img.png"); - auto s3 = Texture("asset/texture/img.png"); - auto s4 = Texture("asset/texture/img.png"); + auto s1 = Asset("asset/texture/img.png"); + auto s2 = Asset("asset/texture/img.png"); + auto s3 = Asset("asset/texture/img.png"); + auto s4 = Asset("asset/texture/img.png"); auto & sprite1 = entity1.add_component(s1, Sprite::Data{ .color = Color(0, 0, 0, 0), @@ -45,7 +50,7 @@ public: .size = {10, 10}, }); - ASSERT_NE(sprite1.texture.texture.get(), nullptr); + //ASSERT_NE(sprite1.texture.texture.get(), nullptr); EXPECT_EQ(sprite1.data.order_in_layer, 5); EXPECT_EQ(sprite1.data.sorting_in_layer, 5); auto & sprite2 @@ -55,7 +60,7 @@ public: .sorting_in_layer = 2, .order_in_layer = 1, }); - ASSERT_NE(sprite2.texture.texture.get(), nullptr); + //ASSERT_NE(sprite2.texture.texture.get(), nullptr); EXPECT_EQ(sprite2.data.sorting_in_layer, 2); EXPECT_EQ(sprite2.data.order_in_layer, 1); @@ -66,7 +71,7 @@ public: .sorting_in_layer = 1, .order_in_layer = 2, }); - ASSERT_NE(sprite3.texture.texture.get(), nullptr); + //ASSERT_NE(sprite3.texture.texture.get(), nullptr); EXPECT_EQ(sprite3.data.sorting_in_layer, 1); EXPECT_EQ(sprite3.data.order_in_layer, 2); @@ -77,7 +82,7 @@ public: .sorting_in_layer = 1, .order_in_layer = 1, }); - ASSERT_NE(sprite4.texture.texture.get(), nullptr); + //ASSERT_NE(sprite4.texture.texture.get(), nullptr); EXPECT_EQ(sprite4.data.sorting_in_layer, 1); EXPECT_EQ(sprite4.data.order_in_layer, 1); } @@ -87,8 +92,8 @@ TEST_F(RenderSystemTest, expected_throws) { GameObject entity1 = this->mgr.new_object("NAME"); // no texture img - EXPECT_ANY_THROW({ - auto test = Texture(""); + EXPECT_NO_THROW({ + auto test = Asset(""); auto & sprite1 = entity1.add_component( test, Sprite::Data{ .color = Color(0, 0, 0, 0), @@ -185,7 +190,7 @@ TEST_F(RenderSystemTest, Color) { Camera::Data{.bg_color = Color::WHITE, .zoom = 1.0f}); auto & sprite = this->mgr.get_components_by_id(entity1.id).front().get(); - ASSERT_NE(sprite.texture.texture.get(), nullptr); + //ASSERT_NE(sprite.texture.texture.get(), nullptr); sprite.data.color = Color::GREEN; EXPECT_EQ(sprite.data.color.r, Color::GREEN.r); diff --git a/src/test/ResourceManagerTest.cpp b/src/test/ResourceManagerTest.cpp index 44a5921..e040f54 100644 --- a/src/test/ResourceManagerTest.cpp +++ b/src/test/ResourceManagerTest.cpp @@ -1,3 +1,4 @@ +#include "manager/Mediator.h" #include #define private public @@ -30,7 +31,7 @@ public: public: const unsigned instance; - TestResource(const Asset & src) : Resource(src), instance(this->instances++) {} + TestResource(const Asset & src, Mediator & mediator) : Resource(src, mediator), instance(this->instances++) {} ~TestResource() { this->instances--; } bool operator==(const TestResource & other) const { return this->instance == other.instance; -- cgit v1.2.3 From 2bcd6ece912ab0a140f9d925718e8787879d1ed7 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 11 Dec 2024 14:36:44 +0100 Subject: adjusted aspect ratio --- src/crepe/api/Animator.cpp | 2 ++ src/crepe/api/Animator.h | 11 ++++---- src/crepe/api/Sprite.h | 9 +++++++ src/crepe/facade/SDLContext.cpp | 7 ++--- src/crepe/manager/Mediator.h | 2 -- src/crepe/system/AISystem.cpp | 3 ++- src/example/rendering_particle.cpp | 4 +-- src/example/sound.cpp | 54 ++++++++++++++++++++++++++++++++++++++ src/test/ParticleTest.cpp | 1 - src/test/RenderSystemTest.cpp | 1 - 10 files changed, 79 insertions(+), 15 deletions(-) create mode 100644 src/example/sound.cpp (limited to 'src/test') diff --git a/src/crepe/api/Animator.cpp b/src/crepe/api/Animator.cpp index 4c72cc0..123f0e7 100644 --- a/src/crepe/api/Animator.cpp +++ b/src/crepe/api/Animator.cpp @@ -19,6 +19,8 @@ Animator::Animator(game_object_id_t id, Sprite & spritesheet, const ivec2 & sing this->spritesheet.mask.h = single_frame_size.y; this->spritesheet.mask.x = 0; this->spritesheet.mask.y = 0; + + this->spritesheet.aspect_ratio = static_cast(single_frame_size.x) / single_frame_size.y; } Animator::~Animator() { dbg_trace(); } diff --git a/src/crepe/api/Animator.h b/src/crepe/api/Animator.h index 9a26bf0..09f0134 100644 --- a/src/crepe/api/Animator.h +++ b/src/crepe/api/Animator.h @@ -75,8 +75,9 @@ public: * * \param id The unique identifier for the component, typically assigned automatically. * \param spritesheet the reference to the spritesheet - * \param max_row maximum of rows inside the given spritesheet - * \param max_col maximum of columns inside the given spritesheet + * \param single_frame_size the width and height in pixels of a single frame inside the + * spritesheet + * \param max_cell_size the max rows and columns inside the given spritesheet * \param data extra animation data for more control * * This constructor sets up the Animator with the given parameters, and initializes the @@ -87,15 +88,15 @@ public: ~Animator(); // dbg_trace public: - //! The maximum number of rows and columns size - const uvec2 max_cell_size; - Animator::Data data; private: //! A reference to the Sprite sheet containing. Sprite & spritesheet; + //! The maximum number of rows and columns size + const uvec2 max_cell_size; + //! Uses the spritesheet friend AnimatorSystem; }; diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h index 7e9812d..14a873b 100644 --- a/src/crepe/api/Sprite.h +++ b/src/crepe/api/Sprite.h @@ -92,6 +92,15 @@ private: //! Reads the all the variables plus the mask friend class AnimatorSystem; + + /** + * \aspect_ratio the ratio of the sprite image + * + * - this value will only be set by the \c Animator component for the ratio of the Animation + * - if \c Animator component is not added it will not use this ratio (because 0) and will use aspect_ratio of the Asset. + */ + float aspect_ratio = 0; + struct Rect { int w = 0; int h = 0; diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp index a0d7f04..0566ecf 100644 --- a/src/crepe/facade/SDLContext.cpp +++ b/src/crepe/facade/SDLContext.cpp @@ -233,12 +233,14 @@ SDL_FRect SDLContext::get_dst_rect(const DestinationRectangleData & ctx) const { const Sprite::Data & data = ctx.sprite.data; + float aspect_ratio = (ctx.sprite.aspect_ratio == 0) ? ctx.texture.get_ratio() : ctx.sprite.aspect_ratio; + vec2 size = data.size; if (data.size.x == 0 && data.size.y != 0) { - size.x = data.size.y * ctx.texture.get_ratio(); + size.x = data.size.y * aspect_ratio; } if (data.size.y == 0 && data.size.x != 0) { - size.y = data.size.x / ctx.texture.get_ratio(); + size.y = data.size.x / aspect_ratio; } const CameraValues & cam = ctx.cam; @@ -273,7 +275,6 @@ void SDLContext::draw(const RenderContext & ctx) { .img_scale = ctx.scale, }); - cout << srcrect->w << " " << srcrect->h << " " << srcrect->x << " " << srcrect->y << endl; double angle = ctx.angle + data.angle_offset; this->set_color_texture(ctx.texture, ctx.sprite.data.color); diff --git a/src/crepe/manager/Mediator.h b/src/crepe/manager/Mediator.h index d5f7e00..628154a 100644 --- a/src/crepe/manager/Mediator.h +++ b/src/crepe/manager/Mediator.h @@ -4,8 +4,6 @@ // TODO: remove these singletons: #include "EventManager.h" -#include "SaveManager.h" -#include "api/LoopTimer.h" namespace crepe { diff --git a/src/crepe/system/AISystem.cpp b/src/crepe/system/AISystem.cpp index e2e36a5..7f04432 100644 --- a/src/crepe/system/AISystem.cpp +++ b/src/crepe/system/AISystem.cpp @@ -12,10 +12,11 @@ using namespace crepe; void AISystem::update() { const Mediator & mediator = this->mediator; ComponentManager & mgr = mediator.component_manager; + LoopTimer & timer = mediator.timer; RefVector ai_components = mgr.get_components_by_type(); //TODO: Use fixed loop dt (this is not available at master at the moment) - double dt = LoopTimer::get_instance().get_delta_time(); + double dt = timer.get_delta_time(); // Loop through all AI components for (AI & ai : ai_components) { diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp index 44bd96a..bd4ef95 100644 --- a/src/example/rendering_particle.cpp +++ b/src/example/rendering_particle.cpp @@ -63,8 +63,8 @@ public: .position_offset = {0, 0}, }); - auto & anim = game_object.add_component(test_sprite,ivec2{32, 64}, uvec2{4,1}, Animator::Data{}); - anim.set_anim(0); + //auto & anim = game_object.add_component(test_sprite,ivec2{32, 64}, uvec2{4,1}, Animator::Data{}); + //anim.set_anim(0); auto & cam = game_object.add_component(ivec2{1280, 720}, vec2{400, 400}, Camera::Data{ diff --git a/src/example/sound.cpp b/src/example/sound.cpp new file mode 100644 index 0000000..a9b0930 --- /dev/null +++ b/src/example/sound.cpp @@ -0,0 +1,54 @@ + + +#include "api/Asset.h" +#include "api/AudioSource.h" +#include "api/BehaviorScript.h" +#include "api/Camera.h" +#include "api/GameObject.h" +#include "api/LoopManager.h" +#include "api/Scene.h" +#include "api/Script.h" +#include "manager/ComponentManager.h" +#include "types.h" +#include + +using namespace crepe; + + +class ScriptTest : public Script { + void init(){ + auto & audio = this->get_component(); + audio.play(); + } + void update(){ + } +}; + + +class TestSound : public Scene { +public: + void load_scene(){ + Mediator & mediator = this->mediator; + ComponentManager & mgr = mediator.component_manager; + + GameObject obj = mgr.new_object("SOUND"); + GameObject cam = mgr.new_object("cam"); + cam.add_component(ivec2{100,100},vec2{100,100}, Camera::Data{}); + + Asset asset{"asset/audio/sample.ogg"}; + auto & test = obj.add_component(asset); + obj.add_component().set_script(); + + + } + + std::string get_name() const { return "TestScene"; }; + +}; + +int main(){ + LoopManager engine; + engine.add_scene(); + engine.start(); + return 0; +} diff --git a/src/test/ParticleTest.cpp b/src/test/ParticleTest.cpp index 38f4bde..9112a3f 100644 --- a/src/test/ParticleTest.cpp +++ b/src/test/ParticleTest.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include #include #include diff --git a/src/test/RenderSystemTest.cpp b/src/test/RenderSystemTest.cpp index 1b2de7a..eb5033b 100644 --- a/src/test/RenderSystemTest.cpp +++ b/src/test/RenderSystemTest.cpp @@ -14,7 +14,6 @@ #include #include #include -#include #include #include -- cgit v1.2.3 From 68c6e53f195677a3f91deb1526275fd38e00341d Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 11 Dec 2024 14:38:08 +0100 Subject: make format --- src/crepe/api/Animator.cpp | 3 ++- src/crepe/api/LoopManager.h | 6 ++--- src/crepe/api/LoopTimer.cpp | 4 +-- src/crepe/api/Sprite.h | 1 - src/crepe/facade/SDLContext.cpp | 3 ++- src/crepe/facade/Texture.cpp | 16 ++++-------- src/example/sound.cpp | 54 ---------------------------------------- src/test/ResourceManagerTest.cpp | 4 ++- 8 files changed, 17 insertions(+), 74 deletions(-) delete mode 100644 src/example/sound.cpp (limited to 'src/test') diff --git a/src/crepe/api/Animator.cpp b/src/crepe/api/Animator.cpp index 123f0e7..644363e 100644 --- a/src/crepe/api/Animator.cpp +++ b/src/crepe/api/Animator.cpp @@ -20,7 +20,8 @@ Animator::Animator(game_object_id_t id, Sprite & spritesheet, const ivec2 & sing this->spritesheet.mask.x = 0; this->spritesheet.mask.y = 0; - this->spritesheet.aspect_ratio = static_cast(single_frame_size.x) / single_frame_size.y; + this->spritesheet.aspect_ratio + = static_cast(single_frame_size.x) / single_frame_size.y; } Animator::~Animator() { dbg_trace(); } diff --git a/src/crepe/api/LoopManager.h b/src/crepe/api/LoopManager.h index 7389124..bf1a9f9 100644 --- a/src/crepe/api/LoopManager.h +++ b/src/crepe/api/LoopManager.h @@ -103,12 +103,12 @@ private: //! Save manager instance SaveManager save_manager{mediator}; - SDLContext sdl_context {mediator}; + SDLContext sdl_context{mediator}; - ResourceManager res_man {mediator}; + ResourceManager res_man{mediator}; //! Loop timer \todo no more singletons! - LoopTimer loop_timer {mediator}; + LoopTimer loop_timer{mediator}; private: /** diff --git a/src/crepe/api/LoopTimer.cpp b/src/crepe/api/LoopTimer.cpp index d6bf451..56e48d3 100644 --- a/src/crepe/api/LoopTimer.cpp +++ b/src/crepe/api/LoopTimer.cpp @@ -8,8 +8,8 @@ using namespace crepe; -LoopTimer::LoopTimer(Mediator & mediator) : Manager(mediator){ - dbg_trace(); +LoopTimer::LoopTimer(Mediator & mediator) : Manager(mediator) { + dbg_trace(); mediator.timer = *this; } diff --git a/src/crepe/api/Sprite.h b/src/crepe/api/Sprite.h index 14a873b..a2409c2 100644 --- a/src/crepe/api/Sprite.h +++ b/src/crepe/api/Sprite.h @@ -92,7 +92,6 @@ private: //! Reads the all the variables plus the mask friend class AnimatorSystem; - /** * \aspect_ratio the ratio of the sprite image * diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp index 0566ecf..1699b53 100644 --- a/src/crepe/facade/SDLContext.cpp +++ b/src/crepe/facade/SDLContext.cpp @@ -233,7 +233,8 @@ SDL_FRect SDLContext::get_dst_rect(const DestinationRectangleData & ctx) const { const Sprite::Data & data = ctx.sprite.data; - float aspect_ratio = (ctx.sprite.aspect_ratio == 0) ? ctx.texture.get_ratio() : ctx.sprite.aspect_ratio; + float aspect_ratio + = (ctx.sprite.aspect_ratio == 0) ? ctx.texture.get_ratio() : ctx.sprite.aspect_ratio; vec2 size = data.size; if (data.size.x == 0 && data.size.y != 0) { diff --git a/src/crepe/facade/Texture.cpp b/src/crepe/facade/Texture.cpp index 7224cb8..b63403d 100644 --- a/src/crepe/facade/Texture.cpp +++ b/src/crepe/facade/Texture.cpp @@ -1,6 +1,6 @@ #include "../util/Log.h" -#include "manager/Mediator.h" #include "facade/SDLContext.h" +#include "manager/Mediator.h" #include "Resource.h" #include "Texture.h" @@ -9,7 +9,7 @@ using namespace crepe; using namespace std; -Texture::Texture(const Asset & src, Mediator & mediator) : Resource(src, mediator){ +Texture::Texture(const Asset & src, Mediator & mediator) : Resource(src, mediator) { dbg_trace(); SDLContext & ctx = mediator.sdl_context; this->texture = ctx.texture_from_path(src.get_path()); @@ -22,13 +22,7 @@ Texture::~Texture() { this->texture.reset(); } -const ivec2 & Texture::get_size() const noexcept{ - return this->size; -} -const float & Texture::get_ratio() const noexcept{ - return this->aspect_ratio; -} +const ivec2 & Texture::get_size() const noexcept { return this->size; } +const float & Texture::get_ratio() const noexcept { return this->aspect_ratio; } -SDL_Texture * Texture::get_img() const noexcept{ - return this->texture.get(); -} +SDL_Texture * Texture::get_img() const noexcept { return this->texture.get(); } diff --git a/src/example/sound.cpp b/src/example/sound.cpp deleted file mode 100644 index a9b0930..0000000 --- a/src/example/sound.cpp +++ /dev/null @@ -1,54 +0,0 @@ - - -#include "api/Asset.h" -#include "api/AudioSource.h" -#include "api/BehaviorScript.h" -#include "api/Camera.h" -#include "api/GameObject.h" -#include "api/LoopManager.h" -#include "api/Scene.h" -#include "api/Script.h" -#include "manager/ComponentManager.h" -#include "types.h" -#include - -using namespace crepe; - - -class ScriptTest : public Script { - void init(){ - auto & audio = this->get_component(); - audio.play(); - } - void update(){ - } -}; - - -class TestSound : public Scene { -public: - void load_scene(){ - Mediator & mediator = this->mediator; - ComponentManager & mgr = mediator.component_manager; - - GameObject obj = mgr.new_object("SOUND"); - GameObject cam = mgr.new_object("cam"); - cam.add_component(ivec2{100,100},vec2{100,100}, Camera::Data{}); - - Asset asset{"asset/audio/sample.ogg"}; - auto & test = obj.add_component(asset); - obj.add_component().set_script(); - - - } - - std::string get_name() const { return "TestScene"; }; - -}; - -int main(){ - LoopManager engine; - engine.add_scene(); - engine.start(); - return 0; -} diff --git a/src/test/ResourceManagerTest.cpp b/src/test/ResourceManagerTest.cpp index e040f54..965eeab 100644 --- a/src/test/ResourceManagerTest.cpp +++ b/src/test/ResourceManagerTest.cpp @@ -31,7 +31,9 @@ public: public: const unsigned instance; - TestResource(const Asset & src, Mediator & mediator) : Resource(src, mediator), instance(this->instances++) {} + TestResource(const Asset & src, Mediator & mediator) + : Resource(src, mediator), + instance(this->instances++) {} ~TestResource() { this->instances--; } bool operator==(const TestResource & other) const { return this->instance == other.instance; -- cgit v1.2.3 From bcb2e9d7a802680598085ad04ac06926f1e448a2 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 11 Dec 2024 16:12:46 +0100 Subject: reverted to master --- src/crepe/manager/EventManager.cpp | 2 -- src/crepe/manager/SceneManager.cpp | 3 --- src/crepe/system/ScriptSystem.cpp | 2 +- src/test/CMakeLists.txt | 2 +- src/test/Profiling.cpp | 16 ++++++---------- 5 files changed, 8 insertions(+), 17 deletions(-) (limited to 'src/test') diff --git a/src/crepe/manager/EventManager.cpp b/src/crepe/manager/EventManager.cpp index 17fe528..20f0dd3 100644 --- a/src/crepe/manager/EventManager.cpp +++ b/src/crepe/manager/EventManager.cpp @@ -1,11 +1,9 @@ #include "EventManager.h" -#include "util/Log.h" using namespace crepe; using namespace std; EventManager & EventManager::get_instance() { - dbg_trace(); static EventManager instance; return instance; } diff --git a/src/crepe/manager/SceneManager.cpp b/src/crepe/manager/SceneManager.cpp index a788c51..50a9fbb 100644 --- a/src/crepe/manager/SceneManager.cpp +++ b/src/crepe/manager/SceneManager.cpp @@ -4,13 +4,10 @@ #include "ComponentManager.h" #include "SceneManager.h" -#include "util/Log.h" - using namespace crepe; using namespace std; SceneManager::SceneManager(Mediator & mediator) : Manager(mediator) { - dbg_trace(); mediator.scene_manager = *this; } diff --git a/src/crepe/system/ScriptSystem.cpp b/src/crepe/system/ScriptSystem.cpp index df358e6..d6b2ca1 100644 --- a/src/crepe/system/ScriptSystem.cpp +++ b/src/crepe/system/ScriptSystem.cpp @@ -8,7 +8,7 @@ using namespace std; using namespace crepe; void ScriptSystem::update() { - //dbg_trace(); + dbg_trace(); ComponentManager & mgr = this->mediator.component_manager; RefVector behavior_scripts = mgr.get_components_by_type(); diff --git a/src/test/CMakeLists.txt b/src/test/CMakeLists.txt index 15937af..7196404 100644 --- a/src/test/CMakeLists.txt +++ b/src/test/CMakeLists.txt @@ -15,7 +15,7 @@ target_sources(test_main PUBLIC ValueBrokerTest.cpp DBTest.cpp Vector2Test.cpp - #InputTest.cpp + InputTest.cpp ScriptEventTest.cpp ScriptSceneTest.cpp Profiling.cpp diff --git a/src/test/Profiling.cpp b/src/test/Profiling.cpp index 46da378..c753bca 100644 --- a/src/test/Profiling.cpp +++ b/src/test/Profiling.cpp @@ -1,6 +1,4 @@ -#include "facade/SDLContext.h" #include "manager/Mediator.h" -#include "manager/ResourceManager.h" #include "system/ParticleSystem.h" #include "system/PhysicsSystem.h" #include "system/RenderSystem.h" @@ -43,7 +41,7 @@ class TestScript : public Script { } }; -class ProfilingTest : public Test { +class DISABLED_ProfilingTest : public Test { public: // Config for test // Minimum amount to let test pass @@ -63,8 +61,6 @@ public: ParticleSystem particle_sys{m}; RenderSystem render_sys{m}; ScriptSystem script_sys{m}; - SDLContext ctx{m}; - ResourceManager resource_manager{m}; // Test data std::map timings; @@ -134,7 +130,7 @@ public: } }; -TEST_F(ProfilingTest, Profiling_1) { +TEST_F(DISABLED_ProfilingTest, Profiling_1) { while (this->total_time / this->average < this->duration) { { @@ -157,7 +153,7 @@ TEST_F(ProfilingTest, Profiling_1) { EXPECT_GE(this->game_object_count, this->min_gameobject_count); } -TEST_F(ProfilingTest, Profiling_2) { +TEST_F(DISABLED_ProfilingTest, Profiling_2) { while (this->total_time / this->average < this->duration) { { @@ -171,7 +167,7 @@ TEST_F(ProfilingTest, Profiling_2) { gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Asset("asset/texture/square.png"); + auto img = Texture("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( img, Sprite::Data{ .color = {0, 0, 0, 0}, @@ -196,7 +192,7 @@ TEST_F(ProfilingTest, Profiling_2) { EXPECT_GE(this->game_object_count, this->min_gameobject_count); } -TEST_F(ProfilingTest, Profiling_3) { +TEST_F(DISABLED_ProfilingTest, Profiling_3) { while (this->total_time / this->average < this->duration) { { @@ -209,7 +205,7 @@ TEST_F(ProfilingTest, Profiling_3) { }); gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Asset("asset/texture/square.png"); + auto img = Texture("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( img, Sprite::Data{ .color = {0, 0, 0, 0}, -- cgit v1.2.3 From 8388994da0ac08497fb57d7d4b29ef7eb00731f2 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 11 Dec 2024 16:15:16 +0100 Subject: implemented feedback on test --- src/test/RenderSystemTest.cpp | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'src/test') diff --git a/src/test/RenderSystemTest.cpp b/src/test/RenderSystemTest.cpp index eb5033b..b4519cb 100644 --- a/src/test/RenderSystemTest.cpp +++ b/src/test/RenderSystemTest.cpp @@ -49,7 +49,6 @@ public: .size = {10, 10}, }); - //ASSERT_NE(sprite1.texture.texture.get(), nullptr); EXPECT_EQ(sprite1.data.order_in_layer, 5); EXPECT_EQ(sprite1.data.sorting_in_layer, 5); auto & sprite2 @@ -59,7 +58,6 @@ public: .sorting_in_layer = 2, .order_in_layer = 1, }); - //ASSERT_NE(sprite2.texture.texture.get(), nullptr); EXPECT_EQ(sprite2.data.sorting_in_layer, 2); EXPECT_EQ(sprite2.data.order_in_layer, 1); @@ -70,7 +68,6 @@ public: .sorting_in_layer = 1, .order_in_layer = 2, }); - //ASSERT_NE(sprite3.texture.texture.get(), nullptr); EXPECT_EQ(sprite3.data.sorting_in_layer, 1); EXPECT_EQ(sprite3.data.order_in_layer, 2); @@ -81,27 +78,12 @@ public: .sorting_in_layer = 1, .order_in_layer = 1, }); - //ASSERT_NE(sprite4.texture.texture.get(), nullptr); EXPECT_EQ(sprite4.data.sorting_in_layer, 1); EXPECT_EQ(sprite4.data.order_in_layer, 1); } }; -TEST_F(RenderSystemTest, expected_throws) { - GameObject entity1 = this->mgr.new_object("NAME"); - - // no texture img - EXPECT_NO_THROW({ - auto test = Asset(""); - auto & sprite1 = entity1.add_component( - test, Sprite::Data{ - .color = Color(0, 0, 0, 0), - .flip = Sprite::FlipSettings{false, false}, - .sorting_in_layer = 1, - .order_in_layer = 1, - }); - }); - +TEST_F(RenderSystemTest, NoCamera) { // No camera EXPECT_ANY_THROW({ this->sys.update(); }); } -- cgit v1.2.3 From d9609abd77b3d98bb8fd87c3e31e80402f5f7dcb Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Wed, 11 Dec 2024 16:37:52 +0100 Subject: removed Texture from profiling --- src/test/Profiling.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/test') diff --git a/src/test/Profiling.cpp b/src/test/Profiling.cpp index c753bca..84272f6 100644 --- a/src/test/Profiling.cpp +++ b/src/test/Profiling.cpp @@ -1,3 +1,4 @@ +#include "api/Asset.h" #include "manager/Mediator.h" #include "system/ParticleSystem.h" #include "system/PhysicsSystem.h" @@ -167,7 +168,7 @@ TEST_F(DISABLED_ProfilingTest, Profiling_2) { gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Texture("asset/texture/square.png"); + auto img = Asset("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( img, Sprite::Data{ .color = {0, 0, 0, 0}, @@ -205,7 +206,7 @@ TEST_F(DISABLED_ProfilingTest, Profiling_3) { }); gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Texture("asset/texture/square.png"); + auto img = Asset("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( img, Sprite::Data{ .color = {0, 0, 0, 0}, -- cgit v1.2.3 From 1954d06895a82b3b963aac5ae7cb450205119637 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Wed, 11 Dec 2024 16:48:16 +0100 Subject: fix tests --- src/test/InputTest.cpp | 1 + src/test/Profiling.cpp | 19 ++++++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'src/test') diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp index 73eaab3..4c05e56 100644 --- a/src/test/InputTest.cpp +++ b/src/test/InputTest.cpp @@ -24,6 +24,7 @@ class InputTest : public ::testing::Test { public: Mediator mediator; ComponentManager mgr{mediator}; + SDLContext sdl_context{mediator}; InputSystem input_system{mediator}; diff --git a/src/test/Profiling.cpp b/src/test/Profiling.cpp index 84272f6..9767cb9 100644 --- a/src/test/Profiling.cpp +++ b/src/test/Profiling.cpp @@ -1,8 +1,9 @@ -#include "api/Asset.h" -#include "manager/Mediator.h" -#include "system/ParticleSystem.h" -#include "system/PhysicsSystem.h" -#include "system/RenderSystem.h" +#include +#include +#include +#include +#include +#include #include #include #include @@ -55,6 +56,8 @@ public: const std::chrono::microseconds duration = 16000us; Mediator m; + SDLContext sdl_context{m}; + ResourceManager resman{m}; ComponentManager mgr{m}; // Add system used for profling tests CollisionSystem collision_sys{m}; @@ -168,9 +171,8 @@ TEST_F(DISABLED_ProfilingTest, Profiling_2) { gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Asset("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( - img, Sprite::Data{ + Asset{"asset/texture/square.png"}, Sprite::Data{ .color = {0, 0, 0, 0}, .flip = {.flip_x = false, .flip_y = false}, .sorting_in_layer = 1, @@ -206,9 +208,8 @@ TEST_F(DISABLED_ProfilingTest, Profiling_3) { }); gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); - auto img = Asset("asset/texture/square.png"); Sprite & test_sprite = gameobject.add_component( - img, Sprite::Data{ + Asset{"asset/texture/square.png"}, Sprite::Data{ .color = {0, 0, 0, 0}, .flip = {.flip_x = false, .flip_y = false}, .sorting_in_layer = 1, -- cgit v1.2.3 From 30c17c98e54c1534664de08ca3838c40c859d166 Mon Sep 17 00:00:00 2001 From: Loek Le Blansch Date: Wed, 11 Dec 2024 16:48:34 +0100 Subject: `make format` --- mwe/events/include/event.h | 2 +- src/test/Profiling.cpp | 36 +++++++++++++++++++----------------- 2 files changed, 20 insertions(+), 18 deletions(-) (limited to 'src/test') diff --git a/mwe/events/include/event.h b/mwe/events/include/event.h index e1b220b..ee1bf52 100644 --- a/mwe/events/include/event.h +++ b/mwe/events/include/event.h @@ -148,7 +148,7 @@ private: }; class ShutDownEvent : public Event { public: - ShutDownEvent() : Event("ShutDownEvent"){}; + ShutDownEvent() : Event("ShutDownEvent") {}; REGISTER_EVENT_TYPE(ShutDownEvent) diff --git a/src/test/Profiling.cpp b/src/test/Profiling.cpp index 9767cb9..cc4c637 100644 --- a/src/test/Profiling.cpp +++ b/src/test/Profiling.cpp @@ -1,11 +1,11 @@ +#include +#include #include #include +#include #include #include #include -#include -#include -#include #include #define private public @@ -172,13 +172,14 @@ TEST_F(DISABLED_ProfilingTest, Profiling_2) { gameobject.add_component().set_script(); Sprite & test_sprite = gameobject.add_component( - Asset{"asset/texture/square.png"}, Sprite::Data{ - .color = {0, 0, 0, 0}, - .flip = {.flip_x = false, .flip_y = false}, - .sorting_in_layer = 1, - .order_in_layer = 1, - .size = {.y = 500}, - }); + Asset{"asset/texture/square.png"}, + Sprite::Data{ + .color = {0, 0, 0, 0}, + .flip = {.flip_x = false, .flip_y = false}, + .sorting_in_layer = 1, + .order_in_layer = 1, + .size = {.y = 500}, + }); } this->game_object_count++; @@ -209,13 +210,14 @@ TEST_F(DISABLED_ProfilingTest, Profiling_3) { gameobject.add_component(vec2{0, 0}, vec2{1, 1}); gameobject.add_component().set_script(); Sprite & test_sprite = gameobject.add_component( - Asset{"asset/texture/square.png"}, Sprite::Data{ - .color = {0, 0, 0, 0}, - .flip = {.flip_x = false, .flip_y = false}, - .sorting_in_layer = 1, - .order_in_layer = 1, - .size = {.y = 500}, - }); + Asset{"asset/texture/square.png"}, + Sprite::Data{ + .color = {0, 0, 0, 0}, + .flip = {.flip_x = false, .flip_y = false}, + .sorting_in_layer = 1, + .order_in_layer = 1, + .size = {.y = 500}, + }); auto & test = gameobject.add_component(ParticleEmitter::Data{ .max_particles = 10, .emission_rate = 100, -- cgit v1.2.3