From 57c4309cf2edc8faacb9f07984053972b9532bc8 Mon Sep 17 00:00:00 2001 From: Isuru Samarathunga Date: Tue, 7 Oct 2025 17:11:20 +0530 Subject: [PATCH] Usable Engine --- .vscode/launch.json | 2 +- Engine/CMakeLists.txt | 12 ++ .../Imp/CPP/Components/CameraComponent.cpp | 53 ++++++ .../Imp/CPP/Components/PhysicsComponent.cpp | 0 .../CPP/Components/SoundEmitterComponent.cpp | 0 .../Imp/CPP/Components/SpriteComponent.cpp | 0 .../Imp/CPP/Components/TextureComponent.cpp | 60 ++++++ .../Imp/CPP/Components/TileMapComponent.cpp | 0 Engine/Src/Imp/CPP/Engine.cpp | 20 ++ Engine/Src/Imp/CPP/InternalEngine.cpp | 3 + Engine/Src/Imp/CPP/Nodes/CameraNode.cpp | 25 +++ Engine/Src/Imp/CPP/Nodes/Node2D.cpp | 63 ++++++ Engine/Src/Imp/CPP/Nodes/TextureNode.cpp | 25 +++ Engine/Src/Imp/CPP/Renderer/DebugDraw.cpp | 4 + Engine/Src/Imp/CPP/Renderer/Renderer.cpp | 30 ++- Engine/Src/Imp/CPP/ResourceManager.cpp | 15 +- Engine/Src/Imp/CPP/Scene.cpp | 77 ++++++++ Engine/Src/Imp/CPP/WorldManager.cpp | 56 ++++-- Engine/Src/Imp/HPP/Renderer/Renderer.hpp | 7 +- Engine/Src/Imp/HPP/ResourceManager.hpp | 2 + Engine/Src/Imp/HPP/Scene.hpp | 48 +++++ Engine/Src/Imp/HPP/WorldManager.hpp | 15 +- Engine/Src/Inc/IAEngine/Base.hpp | 11 ++ .../IAEngine/Components/CameraComponent.hpp | 37 +++- .../Inc/IAEngine/Components/IComponent.hpp | 30 ++- .../IAEngine/Components/PhysicsComponent.hpp | 0 .../Components/SoundEmitterComponent.hpp | 0 .../IAEngine/Components/SpriteComponent.hpp | 0 .../IAEngine/Components/TextureComponent.hpp | 102 ++++++++++ .../IAEngine/Components/TileMapComponent.hpp | 0 Engine/Src/Inc/IAEngine/Engine.hpp | 148 +++++++------- .../Inc/IAEngine/EngineLibraryInterface.hpp | 6 - Engine/Src/Inc/IAEngine/Nodes/CameraNode.hpp | 38 ++++ Engine/Src/Inc/IAEngine/Nodes/INode.hpp | 23 ++- Engine/Src/Inc/IAEngine/Nodes/Node2D.hpp | 180 +++++++++++++++++- Engine/Src/Inc/IAEngine/Nodes/SpriteNode.hpp | 3 +- .../Inc/IAEngine/Nodes/SpriteObjectNode.hpp | 2 +- Engine/Src/Inc/IAEngine/Nodes/TextureNode.hpp | 20 +- .../Inc/IAEngine/Nodes/TextureObjectNode.hpp | 2 +- Engine/Src/Inc/IAEngine/Nodes/TileMapNode.hpp | 0 .../SpaceInvaders/Resources/Sprites/LICENCE | 1 + .../Resources/Sprites/SpaceShip.png | Bin 0 -> 21614 bytes .../Resources/Sprites/Stars-A.png | Bin 0 -> 44986 bytes .../Resources/Sprites/Stars-B.png | Bin 0 -> 20239 bytes .../SpaceInvaders/Resources/Sprites/bg.png | Bin 0 -> 87917 bytes .../Resources/Sprites/bonus_life.png | Bin 0 -> 6110 bytes .../Resources/Sprites/bonus_shield.png | Bin 0 -> 6629 bytes .../Resources/Sprites/bonus_time.png | Bin 0 -> 7969 bytes .../Resources/Sprites/bullet-1.png | Bin 0 -> 1930 bytes .../Resources/Sprites/bullet-2.png | Bin 0 -> 1896 bytes .../Resources/Sprites/bullet.png | Bin 0 -> 1815 bytes .../SpaceInvaders/Resources/Sprites/fire.png | Bin 0 -> 4891 bytes .../Resources/Sprites/insect-1.png | Bin 0 -> 12895 bytes .../Resources/Sprites/insect-2.png | Bin 0 -> 15303 bytes .../Resources/Sprites/large-A.png | Bin 0 -> 23964 bytes .../Resources/Sprites/large-B.png | Bin 0 -> 20872 bytes .../Resources/Sprites/laser-1.png | Bin 0 -> 3164 bytes .../Resources/Sprites/laser-2.png | Bin 0 -> 3108 bytes .../Resources/Sprites/laser-3.png | Bin 0 -> 3045 bytes .../Resources/Sprites/medium-A.png | Bin 0 -> 13228 bytes .../Resources/Sprites/medium-B.png | Bin 0 -> 11550 bytes .../SpaceInvaders/Resources/Sprites/plasm.png | Bin 0 -> 5056 bytes .../Resources/Sprites/rocket.png | Bin 0 -> 2274 bytes .../Resources/Sprites/shield.png | Bin 0 -> 19414 bytes .../Resources/Sprites/small-A.png | Bin 0 -> 8214 bytes .../Resources/Sprites/small-B.png | Bin 0 -> 7405 bytes .../Resources/Sprites/support.png | Bin 0 -> 5036 bytes Samples/SpaceInvaders/Src/Imp/CPP/Game.cpp | 14 +- 68 files changed, 1007 insertions(+), 127 deletions(-) create mode 100644 Engine/Src/Imp/CPP/Components/CameraComponent.cpp create mode 100644 Engine/Src/Imp/CPP/Components/PhysicsComponent.cpp create mode 100644 Engine/Src/Imp/CPP/Components/SoundEmitterComponent.cpp create mode 100644 Engine/Src/Imp/CPP/Components/SpriteComponent.cpp create mode 100644 Engine/Src/Imp/CPP/Components/TextureComponent.cpp create mode 100644 Engine/Src/Imp/CPP/Components/TileMapComponent.cpp create mode 100644 Engine/Src/Imp/CPP/Nodes/CameraNode.cpp create mode 100644 Engine/Src/Imp/CPP/Nodes/Node2D.cpp create mode 100644 Engine/Src/Imp/CPP/Nodes/TextureNode.cpp create mode 100644 Engine/Src/Imp/CPP/Scene.cpp create mode 100644 Engine/Src/Imp/HPP/Scene.hpp create mode 100644 Engine/Src/Inc/IAEngine/Components/PhysicsComponent.hpp create mode 100644 Engine/Src/Inc/IAEngine/Components/SoundEmitterComponent.hpp create mode 100644 Engine/Src/Inc/IAEngine/Components/SpriteComponent.hpp create mode 100644 Engine/Src/Inc/IAEngine/Components/TextureComponent.hpp create mode 100644 Engine/Src/Inc/IAEngine/Components/TileMapComponent.hpp create mode 100644 Engine/Src/Inc/IAEngine/Nodes/CameraNode.hpp create mode 100644 Engine/Src/Inc/IAEngine/Nodes/TileMapNode.hpp create mode 100644 Samples/SpaceInvaders/Resources/Sprites/LICENCE create mode 100644 Samples/SpaceInvaders/Resources/Sprites/SpaceShip.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/Stars-A.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/Stars-B.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bg.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bonus_life.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bonus_shield.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bonus_time.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bullet-1.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bullet-2.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/bullet.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/fire.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/insect-1.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/insect-2.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/large-A.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/large-B.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/laser-1.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/laser-2.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/laser-3.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/medium-A.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/medium-B.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/plasm.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/rocket.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/shield.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/small-A.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/small-B.png create mode 100644 Samples/SpaceInvaders/Resources/Sprites/support.png diff --git a/.vscode/launch.json b/.vscode/launch.json index c4505ce..ae1a672 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -11,7 +11,7 @@ "program": "${workspaceFolder}/build/bin/Debug/IAERuntime.exe", "args": [], "stopAtEntry": false, - "cwd": "${workspaceFolder}", + "cwd": "${workspaceFolder}/Samples/SpaceInvaders", "environment": [], "console": "externalTerminal", "preLaunchTask": "CMake: build" diff --git a/Engine/CMakeLists.txt b/Engine/CMakeLists.txt index a81e0cc..7414493 100644 --- a/Engine/CMakeLists.txt +++ b/Engine/CMakeLists.txt @@ -1,5 +1,6 @@ set(SRC_FILES "Src/Imp/CPP/Time.cpp" + "Src/Imp/CPP/Scene.cpp" "Src/Imp/CPP/Random.cpp" "Src/Imp/CPP/Engine.cpp" "Src/Imp/CPP/InternalEngine.cpp" @@ -15,6 +16,17 @@ set(SRC_FILES "Src/Imp/CPP/Renderer/Renderer.cpp" "Src/Imp/CPP/Renderer/UIRenderer.cpp" "Src/Imp/CPP/Renderer/GPUResourceManager.cpp" + + "Src/Imp/CPP/Nodes/Node2D.cpp" + "Src/Imp/CPP/Nodes/TextureNode.cpp" + "Src/Imp/CPP/Nodes/CameraNode.cpp" + + "Src/Imp/CPP/Components/CameraComponent.cpp" + "Src/Imp/CPP/Components/PhysicsComponent.cpp" + "Src/Imp/CPP/Components/SpriteComponent.cpp" + "Src/Imp/CPP/Components/TextureComponent.cpp" + "Src/Imp/CPP/Components/TileMapComponent.cpp" + "Src/Imp/CPP/Components/SoundEmitterComponent.cpp" ) add_library(IAEngine SHARED ${SRC_FILES}) diff --git a/Engine/Src/Imp/CPP/Components/CameraComponent.cpp b/Engine/Src/Imp/CPP/Components/CameraComponent.cpp new file mode 100644 index 0000000..6a24724 --- /dev/null +++ b/Engine/Src/Imp/CPP/Components/CameraComponent.cpp @@ -0,0 +1,53 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include + +#include + +namespace ia::iae +{ + CameraComponent::CameraComponent(IN Node2D *node) : IComponent(node) + { + } + + VOID CameraComponent::SetViewport(IN INT32 width, IN INT32 height) + { + m_viewport.x = 0; + m_viewport.y = 0; + m_viewport.z = width; + m_viewport.w = height; + + m_projectionMatrix = + glm::orthoLH(0.0f, (FLOAT32) width, (FLOAT32) height, 0.0f, Renderer::MIN_DEPTH, Renderer::MAX_DEPTH); + } + + VOID CameraComponent::Draw() + { + } + + VOID CameraComponent::DebugDraw() + { + } + + VOID CameraComponent::Update() + { + } + + VOID CameraComponent::FixedUpdate() + { + } +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/CPP/Components/PhysicsComponent.cpp b/Engine/Src/Imp/CPP/Components/PhysicsComponent.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Imp/CPP/Components/SoundEmitterComponent.cpp b/Engine/Src/Imp/CPP/Components/SoundEmitterComponent.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Imp/CPP/Components/SpriteComponent.cpp b/Engine/Src/Imp/CPP/Components/SpriteComponent.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Imp/CPP/Components/TextureComponent.cpp b/Engine/Src/Imp/CPP/Components/TextureComponent.cpp new file mode 100644 index 0000000..aeef5fc --- /dev/null +++ b/Engine/Src/Imp/CPP/Components/TextureComponent.cpp @@ -0,0 +1,60 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include + +namespace ia::iae +{ + TextureComponent::TextureComponent(IN Node2D *node) : IComponent(node) + { + } + + VOID TextureComponent::SetTexture(IN Handle image) + { + const auto t = Engine::GetImageExtent(image); + + m_texture = image; + m_textureExtent = {t.x, t.y}; + } + + VOID TextureComponent::Draw() + { + m_drawnSize = m_node->GetScale() * m_textureExtent * m_scaleOffset; + + Engine::SetRenderState_Texture(m_texture); + Engine::SetRenderState_FlippedH(m_isFlippedH); + Engine::SetRenderState_FlippedV(m_isFlippedV); + Engine::SetRenderState_ColorOverlay(m_colorOverlay); + Engine::SetRenderState_TextureOffset(m_textureOffset); + Engine::SetRenderState_CameraRelative(m_isCameraRelative); + Engine::SetRenderState_Transform(m_node->GetPosition() + m_positionOffset, m_drawnSize, m_node->GetRotation() + m_rotationOffset, m_node->Layer(), m_node->SortIndex()); + + Engine::DrawGeometry(Engine::GetGeometry_Quad()); + } + + VOID TextureComponent::DebugDraw() + { + } + + VOID TextureComponent::Update() + { + } + + VOID TextureComponent::FixedUpdate() + { + } +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/CPP/Components/TileMapComponent.cpp b/Engine/Src/Imp/CPP/Components/TileMapComponent.cpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Imp/CPP/Engine.cpp b/Engine/Src/Imp/CPP/Engine.cpp index 0e12cb4..9d7be5a 100644 --- a/Engine/Src/Imp/CPP/Engine.cpp +++ b/Engine/Src/Imp/CPP/Engine.cpp @@ -17,6 +17,8 @@ #include #include +#include + #include EXTERN GameFunctionTable g_gameFunctions; @@ -37,4 +39,22 @@ namespace ia::iae Renderer::OnScreenResize(newWidth, newHeight); g_gameFunctions.OnResize(newWidth, newHeight); } + + Handle Engine::CreateImageFromFile(IN CONST String &path) + { + const auto data = File::ReadToVector(path.c_str()); + return CreateImage(data.data(), data.size()); + } + + Handle Engine::CreateSoundFromFile(IN CONST String &path) + { + const auto data = File::ReadToVector(path.c_str()); + return CreateSound(data.data(), data.size()); + } + + Handle Engine::CreateSceneFromFile(IN CONST String &path) + { + const auto data = File::ReadToString(path.c_str()); + return CreateScene(data); + } } // namespace ia::iae diff --git a/Engine/Src/Imp/CPP/InternalEngine.cpp b/Engine/Src/Imp/CPP/InternalEngine.cpp index facb647..95e0c92 100644 --- a/Engine/Src/Imp/CPP/InternalEngine.cpp +++ b/Engine/Src/Imp/CPP/InternalEngine.cpp @@ -85,6 +85,9 @@ namespace ia::iae VOID __Internal_Engine::Iterate() { WorldManager::Update(); + WorldManager::FixedUpdate(); + g_gameFunctions.OnUpdate(Time::GetFrameDeltaTime()); + g_gameFunctions.OnFixedUpdate(); Renderer::BeginFrame(); WorldManager::Draw(); diff --git a/Engine/Src/Imp/CPP/Nodes/CameraNode.cpp b/Engine/Src/Imp/CPP/Nodes/CameraNode.cpp new file mode 100644 index 0000000..f32c857 --- /dev/null +++ b/Engine/Src/Imp/CPP/Nodes/CameraNode.cpp @@ -0,0 +1,25 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include + +namespace ia::iae +{ + CameraNode::CameraNode(IN CONST String &name) : Node2D(name), m_cameraComponent(AddComponent()) + { + } +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/CPP/Nodes/Node2D.cpp b/Engine/Src/Imp/CPP/Nodes/Node2D.cpp new file mode 100644 index 0000000..0cae9a7 --- /dev/null +++ b/Engine/Src/Imp/CPP/Nodes/Node2D.cpp @@ -0,0 +1,63 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include + +namespace ia::iae +{ + Node2D::Node2D(IN CONST String &name) : INode(name) + { + } + + Node2D::~Node2D() + { + for(auto& t: m_components) + delete t; + } + + VOID Node2D::Draw() + { + for(auto& t: m_components) + t->Draw(); + for(auto& t: m_children) + t->Draw(); + } + + VOID Node2D::DebugDraw() + { + for(auto& t: m_components) + t->DebugDraw(); + for(auto& t: m_children) + t->DebugDraw(); + } + + VOID Node2D::Update() + { + for(auto& t: m_components) + t->Update(); + for(auto& t: m_children) + t->Update(); + } + + VOID Node2D::FixedUpdate() + { + for(auto& t: m_components) + t->FixedUpdate(); + for(auto& t: m_children) + t->FixedUpdate(); + } +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/CPP/Nodes/TextureNode.cpp b/Engine/Src/Imp/CPP/Nodes/TextureNode.cpp new file mode 100644 index 0000000..b595c72 --- /dev/null +++ b/Engine/Src/Imp/CPP/Nodes/TextureNode.cpp @@ -0,0 +1,25 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include + +namespace ia::iae +{ + TextureNode::TextureNode(IN CONST String &name) : Node2D(name), m_textureComponent(AddComponent()) + { + } +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/CPP/Renderer/DebugDraw.cpp b/Engine/Src/Imp/CPP/Renderer/DebugDraw.cpp index a5c5ec6..0171595 100644 --- a/Engine/Src/Imp/CPP/Renderer/DebugDraw.cpp +++ b/Engine/Src/Imp/CPP/Renderer/DebugDraw.cpp @@ -23,6 +23,9 @@ #include #include +#include +EXTERN GameFunctionTable g_gameFunctions; + namespace ia::iae { EXTERN SDL_Window *g_windowHandle; @@ -67,6 +70,7 @@ namespace ia::iae ImGui::NewFrame(); WorldManager::DebugDraw(); + g_gameFunctions.OnDebugDraw(); ImGui::Render(); } diff --git a/Engine/Src/Imp/CPP/Renderer/Renderer.cpp b/Engine/Src/Imp/CPP/Renderer/Renderer.cpp index 39490e2..af1a2b8 100644 --- a/Engine/Src/Imp/CPP/Renderer/Renderer.cpp +++ b/Engine/Src/Imp/CPP/Renderer/Renderer.cpp @@ -144,10 +144,12 @@ namespace ia::iae &s_state.DepthStencilTargetInfo); SDL_BindGPUGraphicsPipeline(s_state.ActiveRenderPass, s_geometryPipeline->GetHandle()); - SDL_PushGPUVertexUniformData(s_state.ActiveCommandBuffer, 0, &s_state.ProjectionMatrix, sizeof(Mat4)); + SDL_PushGPUVertexUniformData( + s_state.ActiveCommandBuffer, 0, + s_state.ActiveCamera ? s_state.ActiveCamera->GetProjectionMatrix() : &IdentityMatrix, sizeof(Mat4)); SDL_PushGPUVertexUniformData( s_state.ActiveCommandBuffer, 1, - (s_state.ActiveCamera && !s_state.CameraRelative) ? s_state.ActiveCamera->GetMatrix() : &IdentityMatrix, + (s_state.ActiveCamera && !s_state.CameraRelative) ? s_state.ActiveCamera->GetViewMatrix() : &IdentityMatrix, sizeof(Mat4)); } @@ -210,8 +212,17 @@ namespace ia::iae SDL_GPU_TEXTUREUSAGE_COLOR_TARGET | SDL_GPU_TEXTUREUSAGE_SAMPLER, s_screenWidth, s_screenHeight, nullptr, SDL_GetGPUSwapchainTextureFormat(s_gpuDevice, g_windowHandle)); - s_state.ProjectionMatrix = - glm::orthoLH(0.0f, (FLOAT32) s_screenWidth, (FLOAT32) s_screenHeight, 0.0f, -2097152.0f, 2097152.0f); + s_state.Scissor = {0, 0, newWidth, newHeight}; + + s_state.ActiveViewport.x = 0; + s_state.ActiveViewport.y = 0; + s_state.ActiveViewport.w = newWidth; + s_state.ActiveViewport.h = newHeight; + s_state.ActiveViewport.min_depth = 0.0f; + s_state.ActiveViewport.max_depth = 1.0f; + + if (s_state.ActiveCamera) + s_state.ActiveCamera->SetViewport(newWidth, newHeight); } SDL_GPUTextureFormat Renderer::GetRenderTargetFormat() @@ -233,6 +244,8 @@ namespace ia::iae VOID Renderer::DestroyGeometry(IN Geometry *handle) { + GPUResourceManager::DestroyBuffer(handle->VertexBuffer); + GPUResourceManager::DestroyBuffer(handle->IndexBuffer); delete handle; } @@ -250,8 +263,7 @@ namespace ia::iae #pragma pack(pop) - s_fragmentUniform.ColorOverlay = Vec4(s_state.ColorOverlay.R / 255.0f, s_state.ColorOverlay.G / 255.0f, - s_state.ColorOverlay.B / 255.0f, s_state.ColorOverlay.A / 255.0f); + s_fragmentUniform.ColorOverlay = s_state.ColorOverlay.GetAsFloatVec(); s_fragmentUniform.FlippedH = s_state.FlippedH; s_fragmentUniform.FlippedV = s_state.FlippedV; s_fragmentUniform.TextureOffset = s_state.TextureOffset; @@ -261,6 +273,7 @@ namespace ia::iae SDL_PushGPUFragmentUniformData(s_state.ActiveCommandBuffer, 0, &s_fragmentUniform, sizeof(s_fragmentUniform)); SDL_SetGPUScissor(s_state.ActiveRenderPass, &s_state.Scissor); + SDL_SetGPUViewport(s_state.ActiveRenderPass, &s_state.ActiveViewport); SDL_GPUBufferBinding bufferBindings[] = {{.buffer = handle->VertexBuffer, .offset = 0}, {.buffer = handle->IndexBuffer, .offset = 0}}; @@ -272,9 +285,10 @@ namespace ia::iae namespace ia::iae { - VOID Engine::SetActiveCamera(IN ICameraComponent *cameraComponent) + VOID Engine::SetActiveCamera(IN CameraComponent *cameraComponent) { Renderer::s_state.ActiveCamera = cameraComponent; + Renderer::OnScreenResize(Renderer::s_screenWidth, Renderer::s_screenHeight); } Handle Engine::CreateGeometry(IN CONST Vector &vertices, IN CONST Vector &indices) @@ -354,6 +368,6 @@ namespace ia::iae Handle Engine::GetGeometry_Quad() { - return (Handle)Renderer::s_quadGeometry; + return (Handle) Renderer::s_quadGeometry; } } // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/CPP/ResourceManager.cpp b/Engine/Src/Imp/CPP/ResourceManager.cpp index 0cf09d0..4bfef19 100644 --- a/Engine/Src/Imp/CPP/ResourceManager.cpp +++ b/Engine/Src/Imp/CPP/ResourceManager.cpp @@ -27,6 +27,8 @@ namespace ia::iae { + Vector ResourceManager::s_images; + Vector ResourceManager::s_sounds; Map ResourceManager::s_imageExtents; VOID ResourceManager::Initialize() @@ -35,6 +37,10 @@ namespace ia::iae VOID ResourceManager::Terminate() { + for (const auto &t : s_images) + GPUResourceManager::DestroyTexture((SDL_GPUTexture *) t); + for (const auto &t : s_sounds) + AudioManager::DestoryAudio(t); } Handle ResourceManager::CreateImage(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize) @@ -51,12 +57,15 @@ namespace ia::iae const auto handle = (Handle) GPUResourceManager::CreateTexture(SDL_GPU_TEXTUREUSAGE_SAMPLER, width, height, rgbaData, SDL_GPU_TEXTUREFORMAT_R8G8B8A8_UNORM); s_imageExtents[handle] = (((UINT64) width) << 32) | height; + s_images.pushBack(handle); return handle; } Handle ResourceManager::CreateSound(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize) { - return AudioManager::CreateAudio(encodedData, encodedDataSize); + const auto handle = AudioManager::CreateAudio(encodedData, encodedDataSize); + s_sounds.pushBack(handle); + return handle; } VOID ResourceManager::DestroyImage(IN Handle image) @@ -80,7 +89,6 @@ namespace ia::iae const auto currentExtent = GetImageExtent(image); const auto pixelData = GPUResourceManager::GetTexturePixelData((SDL_GPUTexture *) image, currentExtent.x, currentExtent.y); - GPUResourceManager::DestroyTexture((SDL_GPUTexture *) image); const auto newPixelData = stbir_resize_uint8_linear(pixelData.data(), currentExtent.x, currentExtent.y, currentExtent.x * 4, nullptr, newWidth, newHeight, newWidth * 4, stbir_pixel_layout::STBIR_RGBA); @@ -92,7 +100,8 @@ namespace ia::iae Handle ResourceManager::CombineImages(IN CONST Vector &images, IN INT32 unitWidth, IN INT32 unitHeight, IN INT32 unitCountX, IN INT32 unitCountY) { - return (Handle)GPUResourceManager::CombineTextures((SDL_GPUTexture**)images.data(), unitWidth, unitHeight, unitCountX, unitCountY); + return (Handle) GPUResourceManager::CombineTextures((SDL_GPUTexture **) images.data(), unitWidth, unitHeight, + unitCountX, unitCountY); } } // namespace ia::iae diff --git a/Engine/Src/Imp/CPP/Scene.cpp b/Engine/Src/Imp/CPP/Scene.cpp new file mode 100644 index 0000000..2c410ad --- /dev/null +++ b/Engine/Src/Imp/CPP/Scene.cpp @@ -0,0 +1,77 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#include +#include + +namespace ia::iae +{ + Scene *Scene::Create() + { + return new Scene(); + } + + Scene *Scene::Create(IN CONST String &sceneXML) + { + const auto scene = new Scene(); + + return scene; + } + + VOID Scene::Destroy(IN Scene *scene) + { + delete scene; + } + + VOID Scene::Draw() + { + for (auto &t : m_nodes) + t->Value->Draw(); + } + + VOID Scene::DebugDraw() + { + for (auto &t : m_nodes) + t->Value->DebugDraw(); + } + + VOID Scene::FixedUpdate() + { + for (auto &t : m_nodes) + t->Value->FixedUpdate(); + } + + VOID Scene::Update() + { + for (auto &t : m_nodes) + t->Value->Update(); + } + + VOID Scene::AddNode(IN RefPtr node) + { + m_nodes[node->GetName()] = node; + } + + INode *Scene::GetNode(IN CONST String &name) + { + return m_nodes[name].get(); + } + + VOID Scene::RemoveNode(IN CONST String &name) + { + m_nodes[name] = nullptr; + } +} // namespace ia::iae diff --git a/Engine/Src/Imp/CPP/WorldManager.cpp b/Engine/Src/Imp/CPP/WorldManager.cpp index 9a4b5a2..bd390dd 100644 --- a/Engine/Src/Imp/CPP/WorldManager.cpp +++ b/Engine/Src/Imp/CPP/WorldManager.cpp @@ -19,74 +19,104 @@ namespace ia::iae { + Scene *WorldManager::m_activeScene{}; + VOID WorldManager::Initialize() { + m_activeScene = Scene::Create(); } VOID WorldManager::Terminate() { + if (m_activeScene) + Scene::Destroy(m_activeScene); } VOID WorldManager::Draw() { + m_activeScene->Draw(); } VOID WorldManager::DebugDraw() { + m_activeScene->DebugDraw(); } VOID WorldManager::Update() { + m_activeScene->Update(); + } + + VOID WorldManager::FixedUpdate() + { + m_activeScene->FixedUpdate(); + } + + VOID WorldManager::ChangeActiveScene(IN Scene *scene) + { + m_activeScene = scene; + } + + VOID WorldManager::AddNodeToActiveScene(IN RefPtr node) + { + m_activeScene->AddNode(node); + } + + INode *WorldManager::GetNodeFromActiveScene(IN CONST String &name) + { + return m_activeScene->GetNode(name); + } + + VOID WorldManager::RemoveNodeFromActiveScene(IN CONST String &name) + { + m_activeScene->RemoveNode(name); } } // namespace ia::iae namespace ia::iae { - Handle Engine::CreatePhysicsBody() - { - return INVALID_HANDLE; - } - - VOID Engine::DestroyPhysicsBody(IN Handle body) + Handle Engine::CreateScene(IN CONST String &sceneXML) { + return (Handle) Scene::Create(sceneXML); } Handle Engine::CreateEmptyScene() { - return INVALID_HANDLE; + return (Handle) Scene::Create(); } VOID Engine::DestroyScene(IN Handle handle) { + Scene::Destroy((Scene *) handle); } VOID Engine::ChangeActiveScene(IN Handle scene) { + WorldManager::ChangeActiveScene((Scene *) scene); } VOID Engine::AddNodeToActiveScene(IN RefPtr node) { + WorldManager::AddNodeToActiveScene(node); } INode *Engine::GetNodeFromActiveScene(IN CONST String &name) { - return nullptr; + return WorldManager::GetNodeFromActiveScene(name); } VOID Engine::RemoveNodeFromActiveScene(IN CONST String &name) { + WorldManager::RemoveNodeFromActiveScene(name); } VOID Engine::AddNodeToScene(IN Handle scene, IN RefPtr node) { + ((Scene *) scene)->AddNode(node); } VOID Engine::RemoveNodeFromScene(IN Handle scene, IN CONST String &name) { - } - - Handle Engine::CreateScene(IN CONST String& sceneXML) - { - return INVALID_HANDLE; + ((Scene *) scene)->RemoveNode(name); } } // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/HPP/Renderer/Renderer.hpp b/Engine/Src/Imp/HPP/Renderer/Renderer.hpp index 8cbf148..6f3f5b7 100644 --- a/Engine/Src/Imp/HPP/Renderer/Renderer.hpp +++ b/Engine/Src/Imp/HPP/Renderer/Renderer.hpp @@ -24,6 +24,9 @@ namespace ia::iae class Renderer { public: + STATIC CONSTEXPR FLOAT32 MIN_DEPTH = -2097152.0f; + STATIC CONSTEXPR FLOAT32 MAX_DEPTH = 2097152.0f; + struct Geometry { INT32 IndexCount{}; @@ -41,16 +44,16 @@ namespace ia::iae Vec2 TextureOffset{0.0f, 0.0f}; SDL_Rect Scissor{0, 0, 0, 0}; SDL_GPUTexture* ActiveTexture{nullptr}; + SDL_GPUViewport ActiveViewport{}; Mat4 ModelMatrix{1.0f}; - Mat4 ProjectionMatrix{1.0f}; SDL_GPURenderPass* ActiveRenderPass{}; SDL_GPUCommandBuffer* ActiveCommandBuffer{}; SDL_GPUColorTargetInfo ColorTargetInfo{}; SDL_GPUDepthStencilTargetInfo DepthStencilTargetInfo{}; - class ICameraComponent *ActiveCamera{}; + class CameraComponent *ActiveCamera{}; }; public: diff --git a/Engine/Src/Imp/HPP/ResourceManager.hpp b/Engine/Src/Imp/HPP/ResourceManager.hpp index 2a47810..3b3822e 100644 --- a/Engine/Src/Imp/HPP/ResourceManager.hpp +++ b/Engine/Src/Imp/HPP/ResourceManager.hpp @@ -46,6 +46,8 @@ namespace ia::iae IN INT32 unitCountX, IN INT32 unitCountY); private: + STATIC Vector s_images; + STATIC Vector s_sounds; STATIC Map s_imageExtents; }; } // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/HPP/Scene.hpp b/Engine/Src/Imp/HPP/Scene.hpp new file mode 100644 index 0000000..f6efd23 --- /dev/null +++ b/Engine/Src/Imp/HPP/Scene.hpp @@ -0,0 +1,48 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#pragma once + +#include + +#include + +namespace ia::iae +{ + class Scene + { + public: + STATIC Scene *Create(); + STATIC Scene *Create(IN CONST String &sceneXML); + + STATIC VOID Destroy(IN Scene *scene); + + public: + VOID Draw(); + VOID DebugDraw(); + + VOID FixedUpdate(); + VOID Update(); + + public: + VOID AddNode(IN RefPtr node); + INode *GetNode(IN CONST String &name); + VOID RemoveNode(IN CONST String &name); + + private: + Map> m_nodes; + }; +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Imp/HPP/WorldManager.hpp b/Engine/Src/Imp/HPP/WorldManager.hpp index b35e393..677c9be 100644 --- a/Engine/Src/Imp/HPP/WorldManager.hpp +++ b/Engine/Src/Imp/HPP/WorldManager.hpp @@ -17,6 +17,7 @@ #pragma once #include +#include #include @@ -24,7 +25,7 @@ namespace ia::iae { class WorldManager { - public: + public: STATIC VOID Initialize(); STATIC VOID Terminate(); @@ -32,5 +33,15 @@ namespace ia::iae STATIC VOID DebugDraw(); STATIC VOID Update(); + STATIC VOID FixedUpdate(); + + public: + STATIC VOID ChangeActiveScene(IN Scene* scene); + STATIC VOID AddNodeToActiveScene(IN RefPtr node); + STATIC INode *GetNodeFromActiveScene(IN CONST String &name); + STATIC VOID RemoveNodeFromActiveScene(IN CONST String &name); + + private: + STATIC Scene *m_activeScene; }; -} \ No newline at end of file +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Base.hpp b/Engine/Src/Inc/IAEngine/Base.hpp index 897137b..e8abb4f 100644 --- a/Engine/Src/Inc/IAEngine/Base.hpp +++ b/Engine/Src/Inc/IAEngine/Base.hpp @@ -16,6 +16,12 @@ #pragma once +#if defined(__BUILDING_IAENGINE) && (__BUILDING_IAENGINE) + #define IAE_DLL_API IA_DLL_EXPORT +#else + #define IAE_DLL_API IA_DLL_IMPORT +#endif + #include #include #include @@ -108,6 +114,11 @@ namespace ia::iae UINT8 G{0xFF}; UINT8 B{0xFF}; UINT8 A{0xFF}; + + Vec4 GetAsFloatVec() CONST + { + return {(FLOAT32)R/255.0f, (FLOAT32)G/255.0f, (FLOAT32)B/255.0f, (FLOAT32)A/255.0f}; + } }; /* Adopted from SDL3 */ diff --git a/Engine/Src/Inc/IAEngine/Components/CameraComponent.hpp b/Engine/Src/Inc/IAEngine/Components/CameraComponent.hpp index 1d4b7ec..116b865 100644 --- a/Engine/Src/Inc/IAEngine/Components/CameraComponent.hpp +++ b/Engine/Src/Inc/IAEngine/Components/CameraComponent.hpp @@ -20,8 +20,39 @@ namespace ia::iae { - struct ICameraComponent: public IComponent + class CameraComponent : public IComponent { - PURE_VIRTUAL(Mat4* GetMatrix() CONST); + public: + CameraComponent(IN Node2D *node); + + public: + VOID Draw(); + VOID DebugDraw(); + + VOID Update(); + VOID FixedUpdate(); + + public: + VOID SetViewport(IN INT32 width, IN INT32 height); + + Vec4 GetViewport() CONST + { + return m_viewport; + } + + CONST Mat4 *GetViewMatrix() CONST + { + return &m_viewMatrix; + } + + CONST Mat4 *GetProjectionMatrix() CONST + { + return &m_projectionMatrix; + } + + private: + Vec4 m_viewport{}; + Mat4 m_viewMatrix{1.0f}; + Mat4 m_projectionMatrix{1.0f}; }; -} \ No newline at end of file +} // namespace ia::iae diff --git a/Engine/Src/Inc/IAEngine/Components/IComponent.hpp b/Engine/Src/Inc/IAEngine/Components/IComponent.hpp index 5828ba4..7e4bb48 100644 --- a/Engine/Src/Inc/IAEngine/Components/IComponent.hpp +++ b/Engine/Src/Inc/IAEngine/Components/IComponent.hpp @@ -20,10 +20,32 @@ namespace ia::iae { - class INode; + class Node2D; - struct IComponent + class IComponent { - INode* Node{}; + public: + PURE_VIRTUAL(VOID Draw()); + PURE_VIRTUAL(VOID DebugDraw()); + PURE_VIRTUAL(VOID Update()); + PURE_VIRTUAL(VOID FixedUpdate()); + + public: + IComponent(IN Node2D *node) : m_node(node) + { + } + + Node2D *GetNode() + { + return m_node; + } + + CONST Node2D *GetNode() CONST + { + return m_node; + } + + protected: + Node2D *CONST m_node{}; }; -} \ No newline at end of file +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Components/PhysicsComponent.hpp b/Engine/Src/Inc/IAEngine/Components/PhysicsComponent.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Inc/IAEngine/Components/SoundEmitterComponent.hpp b/Engine/Src/Inc/IAEngine/Components/SoundEmitterComponent.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Inc/IAEngine/Components/SpriteComponent.hpp b/Engine/Src/Inc/IAEngine/Components/SpriteComponent.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Inc/IAEngine/Components/TextureComponent.hpp b/Engine/Src/Inc/IAEngine/Components/TextureComponent.hpp new file mode 100644 index 0000000..b939b8e --- /dev/null +++ b/Engine/Src/Inc/IAEngine/Components/TextureComponent.hpp @@ -0,0 +1,102 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#pragma once + +#include + +namespace ia::iae +{ + class TextureComponent : public IComponent + { + public: + IAE_DLL_API TextureComponent(IN Node2D *node); + + public: + VOID Draw(); + VOID DebugDraw(); + + VOID Update(); + VOID FixedUpdate(); + + public: + IAE_DLL_API VOID SetTexture(IN Handle image); + + Handle GetTexture() CONST + { + return m_texture; + } + + Vec2 &PositionOffset() + { + return m_positionOffset; + } + + Vec2 &ScaleOffset() + { + return m_scaleOffset; + } + + FLOAT32 &RotationOffset() + { + return m_rotationOffset; + } + + Vec2 &TextureOffset() + { + return m_textureOffset; + } + + Color &ColorOverlay() + { + return m_colorOverlay; + } + + BOOL &IsFlippedH() + { + return m_isFlippedH; + } + + BOOL &IsFlippedV() + { + return m_isFlippedV; + } + + BOOL &IsCameraRelative() + { + return m_isCameraRelative; + } + + Vec2 &DrawnSize() + { + return m_drawnSize; + } + + private: + BOOL m_isFlippedH{}; + BOOL m_isFlippedV{}; + BOOL m_isCameraRelative{true}; + Vec2 m_positionOffset{}; + Vec2 m_textureOffset{}; + Vec2 m_scaleOffset{1.0f, 1.0f}; + FLOAT32 m_rotationOffset{}; + Color m_colorOverlay{}; + Vec2 m_drawnSize{}; + + Vec2 m_textureExtent{}; + Handle m_texture{INVALID_HANDLE}; + }; +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Components/TileMapComponent.hpp b/Engine/Src/Inc/IAEngine/Components/TileMapComponent.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Engine/Src/Inc/IAEngine/Engine.hpp b/Engine/Src/Inc/IAEngine/Engine.hpp index b89444a..772cb8e 100644 --- a/Engine/Src/Inc/IAEngine/Engine.hpp +++ b/Engine/Src/Inc/IAEngine/Engine.hpp @@ -16,8 +16,13 @@ #pragma once -#include +#include +#include +#include +#include + #include +#include namespace ia::iae { @@ -25,96 +30,95 @@ namespace ia::iae { public: // Event Functions - STATIC Handle CreateEvent(IN CONST String& name); - STATIC VOID DestroyEvent(IN Handle event); - STATIC Handle GetEventByName(IN CONST String& name); - STATIC VOID AddEventListener(IN Handle event, IN std::function callback); - STATIC VOID AddEventListener(IN CONST String& eventName, IN std::function callback); - STATIC VOID BroadcastEvent(IN Handle event); - STATIC VOID BroadcastEvent(IN CONST String& eventName); - - // Physics Functions - STATIC Handle CreatePhysicsBody(); - STATIC VOID DestroyPhysicsBody(IN Handle body); + STATIC IAE_DLL_API Handle CreateEvent(IN CONST String& name); + STATIC IAE_DLL_API VOID DestroyEvent(IN Handle event); + STATIC IAE_DLL_API Handle GetEventByName(IN CONST String& name); + STATIC IAE_DLL_API VOID AddEventListener(IN Handle event, IN std::function callback); + STATIC IAE_DLL_API VOID AddEventListener(IN CONST String& eventName, IN std::function callback); + STATIC IAE_DLL_API VOID BroadcastEvent(IN Handle event); + STATIC IAE_DLL_API VOID BroadcastEvent(IN CONST String& eventName); // Renderer Functions - STATIC Handle GetGeometry_Quad(); - STATIC Handle CreateGeometry(IN CONST Vector& vertices, IN CONST Vector& indices); - STATIC VOID DestroyGeometry(IN Handle geometry); - STATIC VOID DrawGeometry(IN Handle handle); - STATIC VOID ResizeDisplay(IN INT32 newWidth, IN INT32 newHeight); + STATIC IAE_DLL_API Handle GetGeometry_Quad(); + STATIC IAE_DLL_API Handle CreateGeometry(IN CONST Vector& vertices, IN CONST Vector& indices); + STATIC IAE_DLL_API VOID DestroyGeometry(IN Handle geometry); + STATIC IAE_DLL_API VOID DrawGeometry(IN Handle handle); + STATIC IAE_DLL_API VOID ResizeDisplay(IN INT32 newWidth, IN INT32 newHeight); // Renderer State Functions - STATIC VOID SetRenderState_Scissor(IN IVec4 rect); - STATIC VOID SetRenderState_FlippedH(IN BOOL value); - STATIC VOID SetRenderState_FlippedV(IN BOOL value); - STATIC VOID SetRenderState_TextureOffset(IN Vec2 off); - STATIC VOID SetRenderState_YSortingEnabled(IN BOOL value); - STATIC VOID SetRenderState_ColorOverlay(IN Color color); - STATIC VOID SetRenderState_CameraRelative(IN BOOL value); - STATIC VOID SetRenderState_Texture(IN Handle image); - STATIC VOID SetRenderState_Transform(IN Vec2 position, IN Vec2 scale, IN FLOAT32 rotation, IN UINT8 layer, IN INT16 sortIndex); + STATIC IAE_DLL_API VOID SetRenderState_Scissor(IN IVec4 rect); + STATIC IAE_DLL_API VOID SetRenderState_FlippedH(IN BOOL value); + STATIC IAE_DLL_API VOID SetRenderState_FlippedV(IN BOOL value); + STATIC IAE_DLL_API VOID SetRenderState_TextureOffset(IN Vec2 off); + STATIC IAE_DLL_API VOID SetRenderState_YSortingEnabled(IN BOOL value); + STATIC IAE_DLL_API VOID SetRenderState_ColorOverlay(IN Color color); + STATIC IAE_DLL_API VOID SetRenderState_CameraRelative(IN BOOL value); + STATIC IAE_DLL_API VOID SetRenderState_Texture(IN Handle image); + STATIC IAE_DLL_API VOID SetRenderState_Transform(IN Vec2 position, IN Vec2 scale, IN FLOAT32 rotation, IN UINT8 layer, IN INT16 sortIndex); // Debug Draw Functions - STATIC VOID DebugDraw_SetColor(IN Color color); - STATIC VOID DebugDraw_StrokeWidth(IN FLOAT32 width); - STATIC VOID DebugDraw_Line(IN Vec2 from, IN Vec2 to); - STATIC VOID DebugDraw_FillRect(IN Vec2 position, IN Vec2 size); - STATIC VOID DebugDraw_StrokeRect(IN Vec2 position, IN Vec2 size); + STATIC IAE_DLL_API VOID DebugDraw_SetColor(IN Color color); + STATIC IAE_DLL_API VOID DebugDraw_StrokeWidth(IN FLOAT32 width); + STATIC IAE_DLL_API VOID DebugDraw_Line(IN Vec2 from, IN Vec2 to); + STATIC IAE_DLL_API VOID DebugDraw_FillRect(IN Vec2 position, IN Vec2 size); + STATIC IAE_DLL_API VOID DebugDraw_StrokeRect(IN Vec2 position, IN Vec2 size); // Resource Functions - STATIC Handle CreateImage(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize); - STATIC Handle CreateImage(IN PCUINT8 rgbaData, IN INT32 width, IN INT32 height); - STATIC Handle CreateSound(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize); - STATIC VOID DestroyImage(IN Handle image); - STATIC VOID DestroySound(IN Handle sound); - STATIC IVec2 GetImageExtent(IN Handle image); - STATIC Handle RescaleImage(IN Handle image, IN INT32 newWidth, IN INT32 newHeight); - STATIC Handle CombineImages(IN CONST Vector& images, IN INT32 unitWidth, IN INT32 unitHeight, IN INT32 unitCountX, IN INT32 unitCountY); + STATIC IAE_DLL_API Handle CreateImageFromFile(IN CONST String& path); + STATIC IAE_DLL_API Handle CreateSoundFromFile(IN CONST String& path); + STATIC IAE_DLL_API Handle CreateImage(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize); + STATIC IAE_DLL_API Handle CreateImage(IN PCUINT8 rgbaData, IN INT32 width, IN INT32 height); + STATIC IAE_DLL_API Handle CreateSound(IN PCUINT8 encodedData, IN SIZE_T encodedDataSize); + STATIC IAE_DLL_API VOID DestroyImage(IN Handle image); + STATIC IAE_DLL_API VOID DestroySound(IN Handle sound); + STATIC IAE_DLL_API IVec2 GetImageExtent(IN Handle image); + STATIC IAE_DLL_API Handle RescaleImage(IN Handle image, IN INT32 newWidth, IN INT32 newHeight); + STATIC IAE_DLL_API Handle CombineImages(IN CONST Vector& images, IN INT32 unitWidth, IN INT32 unitHeight, IN INT32 unitCountX, IN INT32 unitCountY); // Game Functions - STATIC VOID SetTimeScale(IN FLOAT32 scale); - STATIC VOID SetActiveCamera(IN ICameraComponent* cameraComponent); + STATIC IAE_DLL_API VOID SetTimeScale(IN FLOAT32 scale); + STATIC IAE_DLL_API VOID SetActiveCamera(IN CameraComponent* cameraComponent); // Scene Functions - STATIC Handle CreateScene(IN CONST String& sceneXML); - STATIC Handle CreateEmptyScene(); - STATIC VOID DestroyScene(IN Handle handle); - STATIC VOID ChangeActiveScene(IN Handle scene); - STATIC VOID AddNodeToActiveScene(IN RefPtr node); - STATIC INode* GetNodeFromActiveScene(IN CONST String& name); - STATIC VOID RemoveNodeFromActiveScene(IN CONST String& name); - STATIC VOID AddNodeToScene(IN Handle scene, IN RefPtr node); - STATIC VOID RemoveNodeFromScene(IN Handle scene, IN CONST String& name); + STATIC IAE_DLL_API Handle CreateSceneFromFile(IN CONST String& path); + STATIC IAE_DLL_API Handle CreateScene(IN CONST String& sceneXML); + STATIC IAE_DLL_API Handle CreateEmptyScene(); + STATIC IAE_DLL_API VOID DestroyScene(IN Handle handle); + STATIC IAE_DLL_API VOID ChangeActiveScene(IN Handle scene); + STATIC IAE_DLL_API VOID AddNodeToActiveScene(IN RefPtr node); + STATIC IAE_DLL_API INode* GetNodeFromActiveScene(IN CONST String& name); + STATIC IAE_DLL_API VOID RemoveNodeFromActiveScene(IN CONST String& name); + STATIC IAE_DLL_API VOID AddNodeToScene(IN Handle scene, IN RefPtr node); + STATIC IAE_DLL_API VOID RemoveNodeFromScene(IN Handle scene, IN CONST String& name); // Input Functions - STATIC Vec2 GetInputAxis(); - STATIC VOID SwitchInputModeToText(); - STATIC VOID SwitchInputModeToAction(); - STATIC Vec2 GetInputPointerPosition(); - STATIC BOOL IsInputKeyDown(IN InputKey key); - STATIC BOOL WasInputKeyPressed(IN InputKey key); - STATIC BOOL WasInputKeyReleased(IN InputKey key); - STATIC BOOL IsInputActionDown(IN Handle action); - STATIC BOOL WasInputActionPressed(IN Handle action); - STATIC BOOL WasInputActionReleased(IN Handle action); - STATIC BOOL IsInputActionDown(IN CONST String& action); - STATIC BOOL WasInputActionPressed(IN CONST String& action); - STATIC BOOL WasInputActionReleased(IN CONST String& action); - STATIC Handle BindInputAction(IN CONST String& name, IN InputKey key); - STATIC VOID BindInputAxis(IN InputKey upKey, IN InputKey downKey, IN InputKey leftKey, IN InputKey rightKey); + STATIC IAE_DLL_API Vec2 GetInputAxis(); + STATIC IAE_DLL_API VOID SwitchInputModeToText(); + STATIC IAE_DLL_API VOID SwitchInputModeToAction(); + STATIC IAE_DLL_API Vec2 GetInputPointerPosition(); + STATIC IAE_DLL_API BOOL IsInputKeyDown(IN InputKey key); + STATIC IAE_DLL_API BOOL WasInputKeyPressed(IN InputKey key); + STATIC IAE_DLL_API BOOL WasInputKeyReleased(IN InputKey key); + STATIC IAE_DLL_API BOOL IsInputActionDown(IN Handle action); + STATIC IAE_DLL_API BOOL WasInputActionPressed(IN Handle action); + STATIC IAE_DLL_API BOOL WasInputActionReleased(IN Handle action); + STATIC IAE_DLL_API BOOL IsInputActionDown(IN CONST String& action); + STATIC IAE_DLL_API BOOL WasInputActionPressed(IN CONST String& action); + STATIC IAE_DLL_API BOOL WasInputActionReleased(IN CONST String& action); + STATIC IAE_DLL_API Handle BindInputAction(IN CONST String& name, IN InputKey key); + STATIC IAE_DLL_API VOID BindInputAxis(IN InputKey upKey, IN InputKey downKey, IN InputKey leftKey, IN InputKey rightKey); // Random Functions - STATIC FLOAT32 GetRandomFloat(); - STATIC INT32 GetRandomInRange(IN INT32 min, IN INT32 max); + STATIC IAE_DLL_API FLOAT32 GetRandomFloat(); + STATIC IAE_DLL_API INT32 GetRandomInRange(IN INT32 min, IN INT32 max); // Time Functions - STATIC INT64 GetTickCount(); - STATIC INT64 GetUnixSecond(); - STATIC INT64 GetUnixMillisecond(); - STATIC FLOAT32 GetFrameDeltaTime(); + STATIC IAE_DLL_API INT64 GetTickCount(); + STATIC IAE_DLL_API INT64 GetUnixSecond(); + STATIC IAE_DLL_API INT64 GetUnixMillisecond(); + STATIC IAE_DLL_API FLOAT32 GetFrameDeltaTime(); // Engine Functions - STATIC BOOL IsDebugMode(); + STATIC IAE_DLL_API BOOL IsDebugMode(); }; } \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/EngineLibraryInterface.hpp b/Engine/Src/Inc/IAEngine/EngineLibraryInterface.hpp index 494f058..9863aa3 100644 --- a/Engine/Src/Inc/IAEngine/EngineLibraryInterface.hpp +++ b/Engine/Src/Inc/IAEngine/EngineLibraryInterface.hpp @@ -18,10 +18,4 @@ #include -#if defined(__BUILDING_IAENGINE) && (__BUILDING_IAENGINE) - #define IAE_DLL_API IA_DLL_EXPORT -#else - #define IAE_DLL_API IA_DLL_IMPORT -#endif - C_DECL(IAE_DLL_API INT32 IAEngine_Run(IN GameFunctionTable gameFunctionTable)); diff --git a/Engine/Src/Inc/IAEngine/Nodes/CameraNode.hpp b/Engine/Src/Inc/IAEngine/Nodes/CameraNode.hpp new file mode 100644 index 0000000..63d1501 --- /dev/null +++ b/Engine/Src/Inc/IAEngine/Nodes/CameraNode.hpp @@ -0,0 +1,38 @@ +// IAEngine: 2D Game Engine by IA +// Copyright (C) 2025 IASoft (PVT) LTD (oss@iasoft.dev) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +#pragma once + +#include +#include + +namespace ia::iae +{ + class CameraNode : public Node2D + { + public: + IAE_DLL_API CameraNode(IN CONST String &name); + + public: + CameraComponent *GetCameraComponent() + { + return m_cameraComponent; + } + + protected: + CameraComponent *CONST m_cameraComponent{}; + }; +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Nodes/INode.hpp b/Engine/Src/Inc/IAEngine/Nodes/INode.hpp index 94919f7..82a24a8 100644 --- a/Engine/Src/Inc/IAEngine/Nodes/INode.hpp +++ b/Engine/Src/Inc/IAEngine/Nodes/INode.hpp @@ -20,8 +20,25 @@ namespace ia::iae { - struct INode + class INode { - String Name{}; + public: + INode(IN CONST String &name) : m_name(name) + { + } + + PURE_VIRTUAL(VOID Draw()); + PURE_VIRTUAL(VOID DebugDraw()); + PURE_VIRTUAL(VOID Update()); + PURE_VIRTUAL(VOID FixedUpdate()); + + public: + CONST String &GetName() CONST + { + return m_name; + } + + protected: + CONST String m_name; }; -} \ No newline at end of file +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Nodes/Node2D.hpp b/Engine/Src/Inc/IAEngine/Nodes/Node2D.hpp index 0d4d965..13054fb 100644 --- a/Engine/Src/Inc/IAEngine/Nodes/Node2D.hpp +++ b/Engine/Src/Inc/IAEngine/Nodes/Node2D.hpp @@ -16,9 +16,185 @@ #pragma once +#include #include namespace ia::iae { - -} \ No newline at end of file + class Node2D : public INode + { + public: + IAE_DLL_API Node2D(IN CONST String &name); + IAE_DLL_API ~Node2D(); + + public: + template _component_type *AddComponent() + { + const auto t = new _component_type(this); + m_components.pushBack(t); + return t; + } + + template _component_type *GetComponent() + { + for (auto &c : m_components) + { + _component_type *comp = dynamic_cast<_component_type *>(c.get()); + if (comp) + return comp; + } + return nullptr; + } + + template Vector<_component_type *> GetComponents() + { + Vector<_component_type *> result; + for (auto &c : m_components) + { + _component_type *comp = dynamic_cast<_component_type *>(c.get()); + if (comp) + result.pushBack(comp); + } + return result; + } + + public: + VOID Translate(IN Vec2 v) + { + m_local.Position += v; + RecalculatePosition(); + } + + VOID Scale(IN FLOAT32 v) + { + m_local.Scale *= v; + RecalculateScale(); + } + + VOID Scale(IN Vec2 v) + { + m_local.Scale *= v; + RecalculateScale(); + } + + VOID Rotate(IN FLOAT32 v) + { + m_local.Rotation += v; + RecalculateRotation(); + } + + VOID SetLocalPosition(IN CONST Vec2 &v) + { + m_local.Position = v; + RecalculatePosition(); + } + + VOID SetLocalScale(IN CONST Vec2 &v) + { + m_local.Scale = v; + RecalculateScale(); + } + + VOID SetLocalRotation(IN FLOAT32 v) + { + m_local.Rotation = v; + RecalculateRotation(); + } + + public: + CONST Vec2 &GetPosition() CONST + { + return m_global.Position; + } + + CONST Vec2 &GetScale() CONST + { + return m_global.Scale; + } + + CONST FLOAT32 &GetRotation() CONST + { + return m_global.Rotation; + } + + CONST Vec2 &GetLocalPosition() CONST + { + return m_local.Position; + } + + CONST Vec2 &GetLocalScale() CONST + { + return m_local.Scale; + } + + CONST FLOAT32 &GetLocalRotation() CONST + { + return m_local.Rotation; + } + + UINT8 &Layer() + { + return m_layer; + } + + INT16 &SortIndex() + { + return m_sortIndex; + } + + CONST UINT8 &Layer() CONST + { + return m_layer; + } + + CONST INT16 &SortIndex() CONST + { + return m_sortIndex; + } + + protected: + VOID RecalculatePosition() + { + m_global.Position = (m_parent ? m_parent->GetPosition() : Vec2{}) + m_local.Position; + for (auto &c : m_children) + c->RecalculatePosition(); + } + + VOID RecalculateRotation() + { + m_global.Rotation = (m_parent ? m_parent->GetRotation() : 0) + m_local.Rotation; + for (auto &c : m_children) + c->RecalculateRotation(); + } + + VOID RecalculateScale() + { + m_global.Scale = (m_parent ? m_parent->GetScale() : Vec2{}) + m_local.Scale; + for (auto &c : m_children) + c->RecalculateScale(); + } + + protected: + RefPtr m_parent{}; + Vector m_components; + Vector> m_children{}; + + private: + struct + { + FLOAT32 Rotation{0.0f}; + Vec2 Position{0.0f, 0.0f}; + Vec2 Scale{1.0f, 1.0f}; + } m_local{}, m_global{}; + + UINT8 m_layer{}; + INT16 m_sortIndex{}; + + public: + VOID Draw(); + VOID DebugDraw(); + + VOID Update(); + VOID FixedUpdate(); + }; +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Nodes/SpriteNode.hpp b/Engine/Src/Inc/IAEngine/Nodes/SpriteNode.hpp index 0d4d965..759df24 100644 --- a/Engine/Src/Inc/IAEngine/Nodes/SpriteNode.hpp +++ b/Engine/Src/Inc/IAEngine/Nodes/SpriteNode.hpp @@ -16,7 +16,8 @@ #pragma once -#include +#include +#include namespace ia::iae { diff --git a/Engine/Src/Inc/IAEngine/Nodes/SpriteObjectNode.hpp b/Engine/Src/Inc/IAEngine/Nodes/SpriteObjectNode.hpp index 0d4d965..0d79a50 100644 --- a/Engine/Src/Inc/IAEngine/Nodes/SpriteObjectNode.hpp +++ b/Engine/Src/Inc/IAEngine/Nodes/SpriteObjectNode.hpp @@ -16,7 +16,7 @@ #pragma once -#include +#include namespace ia::iae { diff --git a/Engine/Src/Inc/IAEngine/Nodes/TextureNode.hpp b/Engine/Src/Inc/IAEngine/Nodes/TextureNode.hpp index 0d4d965..9557a07 100644 --- a/Engine/Src/Inc/IAEngine/Nodes/TextureNode.hpp +++ b/Engine/Src/Inc/IAEngine/Nodes/TextureNode.hpp @@ -16,9 +16,23 @@ #pragma once -#include +#include +#include namespace ia::iae { - -} \ No newline at end of file + class TextureNode : public Node2D + { + public: + IAE_DLL_API TextureNode(IN CONST String &name); + + public: + TextureComponent *GetTextureComponent() + { + return m_textureComponent; + } + + protected: + TextureComponent *CONST m_textureComponent{}; + }; +} // namespace ia::iae \ No newline at end of file diff --git a/Engine/Src/Inc/IAEngine/Nodes/TextureObjectNode.hpp b/Engine/Src/Inc/IAEngine/Nodes/TextureObjectNode.hpp index 0d4d965..3f91a00 100644 --- a/Engine/Src/Inc/IAEngine/Nodes/TextureObjectNode.hpp +++ b/Engine/Src/Inc/IAEngine/Nodes/TextureObjectNode.hpp @@ -16,7 +16,7 @@ #pragma once -#include +#include namespace ia::iae { diff --git a/Engine/Src/Inc/IAEngine/Nodes/TileMapNode.hpp b/Engine/Src/Inc/IAEngine/Nodes/TileMapNode.hpp new file mode 100644 index 0000000..e69de29 diff --git a/Samples/SpaceInvaders/Resources/Sprites/LICENCE b/Samples/SpaceInvaders/Resources/Sprites/LICENCE new file mode 100644 index 0000000..dbcb9e2 --- /dev/null +++ b/Samples/SpaceInvaders/Resources/Sprites/LICENCE @@ -0,0 +1 @@ +Shout out to Anim86 for this amazing sprite pack! https://anim86.itch.io/space-shoter-starter-pack diff --git a/Samples/SpaceInvaders/Resources/Sprites/SpaceShip.png b/Samples/SpaceInvaders/Resources/Sprites/SpaceShip.png new file mode 100644 index 0000000000000000000000000000000000000000..733fa8eaa1508af811b3d5efe1ea8e380d509eaa GIT binary patch literal 21614 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༏S>IHAyMfIP<}_K3 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 Iopz1=ABD@;egFUf literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/Stars-B.png b/Samples/SpaceInvaders/Resources/Sprites/Stars-B.png new file mode 100644 index 0000000000000000000000000000000000000000..447905d5195bd5926309f36801d17b9fdd4e75cd GIT binary patch literal 20239 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%0DFau&x3xk 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/bonus_life.png b/Samples/SpaceInvaders/Resources/Sprites/bonus_life.png new file mode 100644 index 0000000000000000000000000000000000000000..56c2160d0031e9ec02ee688a429f0a9a8e04850d GIT binary patch literal 6110 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/bonus_time.png b/Samples/SpaceInvaders/Resources/Sprites/bonus_time.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f6bf1187b5dfffb44a0da56f77eed42f52c510 GIT binary patch literal 7969 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/bullet-1.png b/Samples/SpaceInvaders/Resources/Sprites/bullet-1.png new file mode 100644 index 0000000000000000000000000000000000000000..75d78068a4d7af179c2d632d65aa65fa2b809569 GIT binary patch literal 1930 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 J?6@>;^FP{<@#O#j literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/bullet.png b/Samples/SpaceInvaders/Resources/Sprites/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..6b0f1678588c11fd5a48dc72667c54b4a898fef0 GIT binary patch literal 1815 zcmbVNeM}Q)7%xH`phy`;ba8k&KN_cISn@&i;NeQAdlnE07nartB)QH9jgt;q%+Y+}wcFDc(?|tw2J>O3* zKQ?BAm*-oa3 zT&d1XZ^uOphHJVmK|v{^H=!7zXDgjDY>VDVvl$FgsKuznQgI4U;X8B&G5Dyl83c4{ zF__4Y=0+RCajh;g%Y?^g#Ux-^sTiULLqhH*BlU- z7NJtb;7g|z(Xl`{VZs4Eo6o|yFa!i6Y>3Z8AZRTBbDSPcKt)N#ApM1{)~Qh# zg86EQD`X)EPsLKfJdCA;VIC`31qbs~0$8X-G_!hM$B&Q*CH!y!#Fy~|5G3OvK{84B z`d}U(h7kynM9gxd3?!vAVEC+U9c_Dt%l%I-8g9as6k$prh_u-*h}9AlL23yj5FQS! zNz@tCgqaL*R_JBGQrx85g{vb>gdUhqF{*owc`je0g4KK;O9*RlmXJ%wPrJ;c;};-s zaIjL1@Nsa4ul~QOFVZ(Up1BaVa-?vm-0{cyL|-^Tn08lMV+{HfvwL($2pb4`e^eZj>)e6D@G_eOay^bB!R5hK_r$*|x0Qfz&3&wFiB?(@U0 z(;?-w6%^J_9x7RYo+j4|$}bRSr3?3gMObllKDYV8%C`eVoj?6HZ+pOzgmrc#nZ zyoa{b404jow@wMVLavSW%O2kkX*m}O2l(E#A59-vM5+?4El&bNW2zeb=l<|4`?Iof zZb#nur*hA>^zX_8MT3JU3Jx9)8@)7A+ZXttXP;vGHb-;cYScWLNBlysS8DfU9eZ4S zyZ`3{*yw4=>SuRbiv2qMz-CiG>_%Cgqg9S-GO&#!yPnpsg{rN)Vv{F(CnlZ`2X13l zdxh?A$R5qhM2@8@^9HIar^ZTSMz>E4ZEnh69p*q}|=-VQVxe z&L6tvbx&YxEfFqNtU76TNk3n4(OBbqxjWy-*18U2oDzbS!acV)t+s00&IQ?g!_@h% zLxWDO%S2gx`Y_0J9RXJ{|bUV|Y-Hs~i9{BmE zMf8_VUSDu|nahwi{AOTF?3pF$UmWlEu>G2Gtnb6J-U&&qrKo!JcKhysY1mUq<15cI X@>a~@O<`u|504Qgi;>o?f8Y8iRs_Ex literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/fire.png b/Samples/SpaceInvaders/Resources/Sprites/fire.png new file mode 100644 index 0000000000000000000000000000000000000000..e6502c1e1ed5e9fc3bbec6df0ab4f4488bed0074 GIT binary patch literal 4891 zcmbVQc{r5o-=9GkvW;D641;3KVi+@JC&bv59Q(}Jhslh6X)KA7U1ZBH>L8RT>k*Md zNGipYviwdMRMvQP&gs1GALsi0@jln}Joop$@6YGEfB$(>tSwFWc%*m$005tvsgdpB z>i*;9<~;m<$Pd#xTqNnnj&!>qFM60qFd3jv3i2dF%qSk-WLvTaDdOTF`7{8)e$m(7 zk?u&az!QTgY92o@YT*>>AsYZVts74DAo`Q(5KpqVZ=g1G^-&iT;!Dzop4T8C2~5#Sq~XK0p?~VdAId+D5m3mV5W2rM z^e?9z3Dyw9pkOjYLrnutM50j;EKUujfx)3rst`01rH()$5ojD7g~DU7c$6mO?+1El zEtuqmw>3KRx2?mSHq?hsr{WQau&^+-Fm<({U~dEphr=O|XapJ!KSaQ35rK4%aCjh1 z{-*{bGL0DQOQrh;1wwvk^zaM{p=(1AJ^d>L3Y9?kM{ywS??fG@3=!@@MWED>2nyv# zTz{fzbX)TOy78}QntcS7jIbrsf0yip_hlJIC0T7!f_YQb?hj3?X^jUmE4&}a-C>xsrd?RWr2lW~5Qk17e)P%z z>6@QNht2py{AUUdH~-8LIq-0Jf)A%e{JZHH06;*`%t+rp{LM#~>2y_N$%D?7lIfMU zZXW5E^1b>P$klSW_#|;ca=(!|A1Yzjyu;7_mOVG;beK zj!TegeC|1G(`?_GD^nvQOp+_*VQMlbiS{X}4+m^p19w*Lg6f?Z=78C-cTZH?@j_lCOlK!U=+s{P;5h=9T{6&wM&dD7xd{z$+;Qm^kmgpNINI2^jUSwf@h(`to1|zz z9)G*~%hVA!*ShY)n4$Vu(sN)K(;lb|YRIR*h8h)#1kD zh}q$7)Zg2k2H>5QLU7hspibpOhTAz(@C)Ki1v^eeCI(RT)u_&HlMho+%8MNX*Wvy3 z?QM3RMK)R+#5)<77uU&YDyg#9791C)zvh7PuxMNK_6Xc`*k!)gC zIF;j_!V=n4D7ANEuYU*eULo= zvf1pCwHRpam+#)(EiD@2wnaB2j>`{38nZ`Q)%`IhtF4pTS!C7)&{a9wkZ~c({%Vsw ztx~>Bwf#{Jf z@O#w|$VX=#&e_#i)KvL%CYQy2?PneTn`Mf-K(z=+w)_YHx9AG3iE>liUJ{e*@f=j@ zsR1!ZZI>hYw|1N*xi+8gyHz|uP8O9{zCnUYN)IySx775{$a^WXS`IoXgiy>2zn<7l z8@AIzQji-8J#wQha=D8MBUtx_U9J1td46TmBOf-k9SrtEnVYkC);QA4)hqdEn8Jd)FzR%(|l62c);WQm9O?yIJO9j zFf517MHVn?Uw{{2$9$yP2VDMbQID%w=yJ0NsA`~Mj=#dhoqZ<5R=6xHQV-^x2&;ag z#8*Z+<`4qa;I@tG(&FP1M(aN1Wdk6NyP5)jM`K9WLZb#aLV4c8*uIT_NtGK-Lnoi2 zdc3{m`gBL(!_?@qzTPevMCzCA{_L!(8|G;imG|iZy$#YrHV8@6y6w9WgZEVI614md z_$?~2vKmXh__i<}kqYze>mQUVxbo@@A{HJ_Q8|YIr{x*{fA62ApPn=@pp} zMo;m!_5du)4K`GpBYNF$C!>kC=_@2;OmOrU>&Lx@v_(Dlu(s*@S5));08l5qv)a^A zDPj9-8SNbQ*K=Oz=N{!2`ko9EhaA)IV3UZAPty~-vdor#aHh4L2)#zFnZb-)7w0(3 zEz3Ai=es|^R-n*5X@5itTG{@1p#VSlVu^F8U>eQ5r3jp^PcUX6`SKo&=|Q7!>ruST^RI3F`~&rF<0M369)% z&!M0vIhppn5^>n0SDHIE<78sfogUxOy|B*HSaJOK^ZXU`OZ^c#^6`jaUfYJ>KDFcQ zFU`N22GOWdiqFU;)jKg4Jw>c!5LUarP?6q_8UDMlKa7>G4Im7gHeu^rR$01RT9@dp1k%)VJ)tw;mVPT9PitrwQ(7KL0L-|ge~*QCvb0<-zBO2p|9&2*4bo+jDI)tfSY^-*tQLF zSJBNoZKDF*?Q_mPSD4I-6tH1#JNv&jZZqww+quYZz$PTQr3&^m@EeR46h#GmJ>VS} zE1MAQ?~!=0dtfF*#Y^1G%*e}l_jD9{Y9TeXNpd2j7`b_|H-!H#yITk9!p>DN5fP!p zYk2u%{|f`afUxv$FPZq+r4A+NvF{F*8;sER9rwfBrAw&ybnk!i9h5#5n#g5^SyHCAM#A~2xS>B@9pI&y>mu#^(e;9m**#UD*xHnPs+E@v+8{^nDiQ-@-w16! z*ickXKj(ePQFQ|K=~8Ao&gOHMC3`++z`V+9vSJ6TBW|zCGZH9WjGibcerUJ-D2dOzh z3d@JvW@7fFK7UE8ty9A2k<5e=#T05aKQ@hCM>*XXvTgy4TDdxydSBJd-(edrGd$Op zEjCGS*W9R-2Z*>KvBO#98?R9}ubzh#b15*a?qgtV>do>a0TOr3dP;6qcxr37OgCN( zHiR-x7$FIZOXCP;$ndB%(6`DfEo0e6Ixn&44Uh&EpZbuu6}UR~`LwTJIpEg9czWq_ z%0>VZs36t1>AKhCxstCaLgw$z6MDZa|DSJ(Wk$jQILHKw{grg*+4qaUm|w*A0UN+4 zbc?)&1;dIW(QfgajBUv-pL@G0Jtimtu+uVE{<;pC=1$*d(d%atv0!Y;L?Tz2}mBM|u;&T{8F%M*w+>nJ0d1(slPVFZg?OJLo z16<2?@y6;TH}raJHqm`@^jf3hT70i`Sai&49|>qQ(s`Sel~ipv)+z5vMzl89s2?`Fv8bmL=&P;ro|Fk+)6~CF96j@7$v;hOfM-R5&y2Tzq;j?l@K$lD zYu-JOZYfdvK2O8p8!)ZEbu*^YEzqE=qA%6fqPJg}D#7&ks zSA3(_Kcl-eAT-hM>WYp|VzO>SzT~8U!uHYR>8;ETan;x)98bdP9hK>ncxghWilio! zu=-i(kB1RC_&JZ-?WLw!yDj{^d|6k+^<$TUe5@x@9zL#ltz@Lp<-Rl{=L_6z&Kf=c zOm^lH3;eL-#xVBl^PxgoVZP+~8OVWvA1$xYar2F|tljE20ne;SgSf&i){4e8w~HEBwJ}S1W|Y64F&OaHRrvFl z2ZqrkB?3GMZh9%b@{(X40q(*4X8ZCiv$goDPdtY>G(R^{gRQM_FBCrwKeo1m)#?16 z3zFf0qzDmp@3y)jTtGlV?r^_wp+| z^kWY{y8HW3+h8*(qu;2Hck9)!aO$zHkRvnx&tpz>mD@*4?Z}{Rwfky!g-*GIZ~I)q z`+-_E=O}k}PkG8JV1VuBg>_afMR?YAu(jQ>qRNiT!15vWlJhIA3dhEi&NbZOl>0Sq z_RaMNEW;7X(M&bbtp~7Q;ZRFMVN1R}yGKi++b$6YwR7Izv7e4Xdp8UG6GElB5tkWB zDL#9&f^I}E!vX3kS=w+E_zX&XUD}`kq=1{wGVa_u03iW>4R)Kgt@{c;epi_pTN>3H HxX1qw^ZkE{ literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/insect-1.png b/Samples/SpaceInvaders/Resources/Sprites/insect-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9047643657a3efbb08c5fff8fca9835749d86a3 GIT binary patch literal 12895 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 Zz#-rF*+M!j=6`@xXX^=7t|3CLhM->17 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/insect-2.png b/Samples/SpaceInvaders/Resources/Sprites/insect-2.png new file mode 100644 index 0000000000000000000000000000000000000000..be492ff40341a404d5cf81d8dcbc0e9a32c83c57 GIT binary patch literal 15303 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 a$N`%7oF*%IEUy1G0Nn9=an;VDss9C<5;gk( literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/laser-2.png b/Samples/SpaceInvaders/Resources/Sprites/laser-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c80514836557b91074d704858c13ff2d4f6d0e5a GIT binary patch literal 3108 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 XDKGaF*X=_6(to>~(?&`;DP-55rX(jW literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/laser-3.png b/Samples/SpaceInvaders/Resources/Sprites/laser-3.png new file mode 100644 index 0000000000000000000000000000000000000000..4513bbfd24669a72df4e990563887320136929c3 GIT binary patch literal 3045 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 Ow?BUj%Entm43^ac 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 z≪4P$6h@Cr2W{(zc-3%eoH>o?1Wr_&Lb1=~p`uwQB%x4jGxzFGoqriOWcdyP^X68jp{>2GazL~8b9tnpTD)r6d7mbM@#S4-Jfhyi=VLC z?lsnbkLR*~^8W#ZxCHu6>p@1z?wzFWy}La~Ewmjo(7ABdj&5SSMi0iQYyr2UcA1Y1 zd&lFU@{e8H<_(kXR|Ap(7w0q|Q6NC}y9L1d=MD`&^9thZ5)~BYn|0?pzI!mT5r`#X;N{?&P2ecd1KI1?j1PBtMn006*gps#I4n@wp? zFe@|deZ~9d2yGIi>R40FNzPPX2QLCZ!-<3^fDJqyTnJ_a2d5j?dkHE40K;`RoHf-N zYlv|qc|sk2W1xPXWEvX)P&w~Mc5u8#pn~xP7dN7+_-12^IM~feRon`Rg<;8B1XnkG ze=mZ$zY)&S|C%G(N&LJTSj7)R6W~dpI)ME=J%|*HpQ`v@axt{^?_)V}@Lv$>HC6Gy zjk3m?fVD_o1TYecggC+waIg{@3PⓈqY@{1Pm@O2ZzZa&=5Erqo9O=D}w(S;xuhu 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/rocket.png b/Samples/SpaceInvaders/Resources/Sprites/rocket.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7bfe3c056227b68b7956fd0387618282e87129 GIT binary patch literal 2274 zcmbVOc~nzZ8V`!qf?`0lD9eN>O3*AX3n5_-2?CM`Bq*ZdWO+!0LwNhGS(YJ!?VfRuZQ0E59GlE_3d8ILgVs#rNJ)Zpc+ zweuR-ph~QiDqtxj$LKW*MNl;CibXvA5Q0p><$hEwSIs2~Nf}WiR1g6Ii71ol2#rlK?AXK@{&KBIwIl}QC}zjQ#bQlNHOZ+$1Xq?ANvTDBh8~k zxSk~D+>_(E zsKi`Ua_^vM(W0clm8Ne`hd6LbUVXD_rD?(h6cC7hyUzX^uuAHa0aw)Y6!hfmXn#;} zwx)vaOi7lj$^DR1PC-tE`-`6Vp~CpF7PgeS#!%+(fJR|43$TXT151$CK#wu3S*%6t z@$ZlR4^2eQ9PYBTX1>_5>3ubrF~Yo1HMpgdO3ZG)9XC_6`1KjPE4s_?ZpP$}?mImB zJ~bWck%!kDA2oKgn;OV(&pVNDu`}yXZPhthhgVcb^$GVcPg-zyc0bIFN-ApgkKVFr z7tN}vJSf!dhH=j1HeFrRX1*~{Ox1-wcsdzdp)en~zjOKb+*jQV8KXRpXP53^-?-%V zDr{C;8&BZ~cpgVnimM>KToqcptM6Sc$zOdm(FpyxcjcMM>kHA3k1ZUE@yHxG+59Na zK}-MPdEMve$GNrs^`!@$Y;LKSqUk2#RtSqvv^ozY^}Dq!BU=A*J!$BScz;+~x}VmT zT=}=yzbE5U^W%26TuOfu`_uDA>#1(@Bh+BK;O2n!8MfU27KG-4?K}me&zpR)x@72mGWv{2!JVrvB{plTUu?8Hz{yBbOSIfbGE_38Ny`^xcoXWK*~NbdK;Tk-nDe#THbkjXvybCRy-T}`a(LzF)_g*B_Z^> z)tZ$#gSR7^ViLdSH4R%fdTUy52%EhvUzPG4YzZzCf>X`oSxV`4?pY@tCvEqJ_7yl2 z8s93g$`qF-w}=`V7O=h>t)jJnWwlp*gg9Oy->Q-Xo77e8>a?iec%W+HYKf6{0oj4vqCwZRgU|Z9}7py2w{Vo^adK=?7gKx@^X`-eL!%pVqzJI%;J- zlAp1siqvm4c6<-zpO+JcT8f+#r>8a?R(VW^@15zjyl?-4oxNi0^h}QHv;(owuyIRV z&M3d{N~Tp--nhUEW=2z%H)raYHYUs;MzspPW!!ZJjCWyIAy2rTe18C~#uH zdSB#jGi_J}^?EP(18xk${?Av|P?ufm=S=&wS_+{&FH^Qc1gYB`@ zlN_5X<<9IH+hYMH$*NnE_bhv~ZA0BzsGhA_<~2e?La2@}h^*?&T5!Yu4a7R+W^i;% zFYnh&34E4$cE8*G=9~NTjiW@qWgUJ{t~9M-Y<%aE*uPBJaiP1W#*sM5kCipmL8}X# zlV%Qsow=Nz>QnJCyK;+)pf=|x@S*iOdHnH&%{^(;DJfOsSrOU_SDicSQlGhYaKt8A zQ}j}EdZd4HaB6f$At7zz(uHj)>IXre5>#qlY1IcopEC2ui literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/shield.png b/Samples/SpaceInvaders/Resources/Sprites/shield.png new file mode 100644 index 0000000000000000000000000000000000000000..50b4f750755865bda192be437f3ac15e46350a2a GIT binary patch literal 19414 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/small-A.png b/Samples/SpaceInvaders/Resources/Sprites/small-A.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0d2a7f8f56dea4f6c358f564e5cd4c70dc74e4 GIT binary patch literal 8214 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/small-B.png b/Samples/SpaceInvaders/Resources/Sprites/small-B.png new file mode 100644 index 0000000000000000000000000000000000000000..33f700b41b1c783db6f42b8a9a20091764d92bb5 GIT binary patch literal 7405 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Resources/Sprites/support.png b/Samples/SpaceInvaders/Resources/Sprites/support.png new file mode 100644 index 0000000000000000000000000000000000000000..61dc6a233788fd9ae9488a7dacc2e40121cc7f5d GIT binary patch literal 5036 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 literal 0 HcmV?d00001 diff --git a/Samples/SpaceInvaders/Src/Imp/CPP/Game.cpp b/Samples/SpaceInvaders/Src/Imp/CPP/Game.cpp index 615f6f3..bdd6031 100644 --- a/Samples/SpaceInvaders/Src/Imp/CPP/Game.cpp +++ b/Samples/SpaceInvaders/Src/Imp/CPP/Game.cpp @@ -16,14 +16,24 @@ #include +Handle g_spriteBG; +RefPtr backgroundNode; +RefPtr mainCamera; + C_DECL(IA_DLL_EXPORT VOID Game_OnInitialize()) { - GAME_LOG_INFO("Booting Game"); + g_spriteBG = Engine::RescaleImage(Engine::CreateImageFromFile("Resources/Sprites/bg.png"), 800, 600); + + mainCamera = MakeRefPtr("MainCamera"); + Engine::SetActiveCamera(mainCamera->GetCameraComponent()); + + backgroundNode = MakeRefPtr("BG"); + backgroundNode->GetTextureComponent()->SetTexture(g_spriteBG); + Engine::AddNodeToActiveScene(backgroundNode); } C_DECL(IA_DLL_EXPORT VOID Game_OnTerminate()) { - GAME_LOG_INFO("Shutting down Game"); } C_DECL(IA_DLL_EXPORT VOID Game_OnDebugDraw())