1 Commits

Author SHA256 Message Date
bf4189bba0 fixed some small bugs and updated version to 0.1.3 2026-01-25 10:55:06 +01:00
9 changed files with 57 additions and 10 deletions

View File

@@ -5,7 +5,7 @@ namespace TSE
{ {
#define TSE_VERSION_MAJOR 0 #define TSE_VERSION_MAJOR 0
#define TSE_VERSION_MINOR 1 #define TSE_VERSION_MINOR 1
#define TSE_VERSION_BUILD 2 #define TSE_VERSION_BUILD 3
#define TSE_VERSION_STRING std::to_string(TSE_VERSION_MAJOR) + "." + std::to_string(TSE_VERSION_MINOR) + "." + std::to_string(TSE_VERSION_BUILD) #define TSE_VERSION_STRING std::to_string(TSE_VERSION_MAJOR) + "." + std::to_string(TSE_VERSION_MINOR) + "." + std::to_string(TSE_VERSION_BUILD)

View File

@@ -3,6 +3,7 @@
#include "interfaces/IRenderer.hpp" #include "interfaces/IRenderer.hpp"
TSE::Camera* TSE::Camera::mainCamera = nullptr; TSE::Camera* TSE::Camera::mainCamera = nullptr;
TSE::ICameraHelper* TSE::Camera::helper = nullptr;
float TSE::Camera::GetRenderScale() const float TSE::Camera::GetRenderScale() const
{ {
@@ -182,6 +183,7 @@ void TSE::Camera::PreDraw(IShader *shader)
viewMatrix = BuildView_Zplus_RH(worlmatrix); viewMatrix = BuildView_Zplus_RH(worlmatrix);
shader->SetUniform("camMatrix", &viewMatrix); shader->SetUniform("camMatrix", &viewMatrix);
helper->OnRenderTargetChanged(lastRtSize.x, lastRtSize.y);
} }
void TSE::Camera::PostDraw() void TSE::Camera::PostDraw()

View File

@@ -17,6 +17,12 @@ namespace TSE
Perspective = 2, Perspective = 2,
}; };
class ICameraHelper
{
public:
inline virtual void OnRenderTargetChanged(float width, float height) {};
};
class Camera : public IResizeNotifiable, public BehaviourScript class Camera : public IResizeNotifiable, public BehaviourScript
{ {
private: private:
@@ -35,6 +41,7 @@ namespace TSE
Vector2 lastRtSize = {0, 0}; Vector2 lastRtSize = {0, 0};
public: public:
static ICameraHelper* helper;
static Camera* mainCamera; static Camera* mainCamera;
// Getter // Getter

View File

@@ -15,10 +15,10 @@ namespace TSE
objectEntries[id] = this; objectEntries[id] = this;
} }
Transformable::Transformable(uuids::uuid id) Transformable::Transformable(uuids::uuid _id)
: id(id), position(0, 0, 0), scale(1, 1, 1), rotation(), name("") : id(_id), position(0, 0, 0), scale(1, 1, 1), rotation(), name("")
{ {
objectEntries[id] = this; objectEntries[_id] = this;
} }
Transformable::Transformable(const string &name) Transformable::Transformable(const string &name)
@@ -28,10 +28,10 @@ namespace TSE
objectEntries[id] = this; objectEntries[id] = this;
} }
Transformable::Transformable(const string &name, uuids::uuid id) Transformable::Transformable(const string &name, uuids::uuid _id)
: id(id), position(0, 0, 0), scale(1, 1, 1), rotation(), name(name) : id(_id), position(0, 0, 0), scale(1, 1, 1), rotation(), name(name)
{ {
objectEntries[id] = this; objectEntries[_id] = this;
} }
Transformable::~Transformable() Transformable::~Transformable()
@@ -370,10 +370,13 @@ namespace TSE
{ {
//deleting children //deleting children
if(!onlyThis) if(!onlyThis)
{
for(auto child : t->children) for(auto child : t->children)
{ {
HardDelete(child, onlyThis); HardDelete(child, onlyThis);
} }
t->children.clear();
}
//deleting atteched scripts //deleting atteched scripts
for (auto& [_, script] : t->components) for (auto& [_, script] : t->components)
@@ -449,6 +452,19 @@ namespace TSE
return objectEntries.size(); return objectEntries.size();
} }
Transformable *Transformable::GetTansformableAt(int i)
{
int x = 0;
for(auto obj : objectEntries)
{
if(i == x++)
{
return obj.second;
}
}
return nullptr;
}
Transformable *Transformable::Find(string name) Transformable *Transformable::Find(string name)
{ {
for(auto obj : objectEntries) for(auto obj : objectEntries)

View File

@@ -100,6 +100,7 @@ namespace TSE
public: public:
static int GetTansformableCount(); static int GetTansformableCount();
static Transformable* GetTansformableAt(int i);
static Transformable* Find(string name); static Transformable* Find(string name);
static Transformable* Find(uuids::uuid id); static Transformable* Find(uuids::uuid id);
}; };

View File

@@ -17,7 +17,7 @@ void TSE::EDITOR::CameraView::Define()
} }
ImGuiWindowFlags flags2 = ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar; ImGuiWindowFlags flags2 = ImGuiWindowFlags_NoScrollWithMouse | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoScrollbar;
if(ImGui::BeginChild("##SceneChild", {0,0}, ImGuiChildFlags_None, flags2)) if(ImGui::BeginChild("##CameraChild", {0,0}, ImGuiChildFlags_None, flags2))
{ {
ImGui::Image(fb->GetTextureId(), {fb->Width(), fb->Height()},{0,1}, {1,0}); ImGui::Image(fb->GetTextureId(), {fb->Width(), fb->Height()},{0,1}, {1,0});
auto vec2 = ImGui::GetWindowSize(); auto vec2 = ImGui::GetWindowSize();

View File

@@ -11,6 +11,8 @@ void TSE::EDITOR::HirearchieView::SetScene(Scene *s)
currentScene = s; currentScene = s;
} }
bool selectedFound = false;
void TSE::EDITOR::HirearchieView::Define() void TSE::EDITOR::HirearchieView::Define()
{ {
if(currentScene == nullptr) return; if(currentScene == nullptr) return;
@@ -32,6 +34,7 @@ void TSE::EDITOR::HirearchieView::Define()
if(collapseOpen) if(collapseOpen)
{ {
int layerCount = currentScene->GetLayerCount(); int layerCount = currentScene->GetLayerCount();
selectedFound = false;
for (int i = 0; i < layerCount; i++) for (int i = 0; i < layerCount; i++)
{ {
auto layer = currentScene->GetLayerAt(i); auto layer = currentScene->GetLayerAt(i);
@@ -123,7 +126,6 @@ void TSE::EDITOR::HirearchieView::MenuBar()
ImGui::EndMenuBar(); ImGui::EndMenuBar();
} }
bool selectedFound = false;
void TSE::EDITOR::HirearchieView::DisplayLayer(Layer *l) void TSE::EDITOR::HirearchieView::DisplayLayer(Layer *l)
{ {
@@ -182,7 +184,6 @@ void TSE::EDITOR::HirearchieView::DisplayLayer(Layer *l)
} }
if(collapseOpen) if(collapseOpen)
{ {
selectedFound = false;
for(int i = 0; i < l->GetAllObjects().size(); i++) for(int i = 0; i < l->GetAllObjects().size(); i++)
{ {
DisplayObj(l->GetAllObjects()[i], l); DisplayObj(l->GetAllObjects()[i], l);
@@ -290,6 +291,7 @@ void TSE::EDITOR::HirearchieView::DisplayObj(Transformable *t, Layer *l)
{ {
selected = t->id; selected = t->id;
PropertiesView::SetInspectorElement(InspectableType::Transformable, t); PropertiesView::SetInspectorElement(InspectableType::Transformable, t);
selectedFound = true;
} }
if(open) if(open)
{ {

View File

@@ -0,0 +1,17 @@
#pragma once
#include "BehaviourScripts/Camera.hpp"
#include "GL/gl3w.h"
#include "GL/gl.h"
namespace TSE::GLFW
{
class CameraHelperOpenGL : public ICameraHelper
{
public:
inline void OnRenderTargetChanged(float width, float height) override
{
glViewport(0, 0, width, height);
};
};
} // namespace TSE::GLFW

View File

@@ -13,6 +13,7 @@
#include "interfaces/IRenderer.hpp" #include "interfaces/IRenderer.hpp"
#include "BehaviourScripts/Camera.hpp" #include "BehaviourScripts/Camera.hpp"
#include "RenderTextureCreatorOpenGL.hpp" #include "RenderTextureCreatorOpenGL.hpp"
#include "CameraHelperOpenGL.hpp"
TSE::GLFW::OpenGLRenderingBackend::OpenGLRenderingBackend(Color _backgroundColor, bool _vsync) TSE::GLFW::OpenGLRenderingBackend::OpenGLRenderingBackend(Color _backgroundColor, bool _vsync)
: OpenGLRenderingBackend(_backgroundColor, _vsync, 0, false){ } : OpenGLRenderingBackend(_backgroundColor, _vsync, 0, false){ }
@@ -39,6 +40,7 @@ void TSE::GLFW::OpenGLRenderingBackend::InitPreWindow()
{ {
IRenderTexture::factory = new RenderTextureCreatorOpenGL(); IRenderTexture::factory = new RenderTextureCreatorOpenGL();
Texture::helper = new TextureHelperOpenGL(); Texture::helper = new TextureHelperOpenGL();
Camera::helper = new CameraHelperOpenGL();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, TSE_OPENGL_VERSION_MAJOR); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, TSE_OPENGL_VERSION_MAJOR);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, TSE_OPENGL_VERSION_MINOR); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, TSE_OPENGL_VERSION_MINOR);