Compare commits

...

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_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)

View File

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

View File

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

View File

@@ -15,10 +15,10 @@ namespace TSE
objectEntries[id] = this;
}
Transformable::Transformable(uuids::uuid id)
: id(id), position(0, 0, 0), scale(1, 1, 1), rotation(), name("")
Transformable::Transformable(uuids::uuid _id)
: id(_id), position(0, 0, 0), scale(1, 1, 1), rotation(), name("")
{
objectEntries[id] = this;
objectEntries[_id] = this;
}
Transformable::Transformable(const string &name)
@@ -28,10 +28,10 @@ namespace TSE
objectEntries[id] = this;
}
Transformable::Transformable(const string &name, uuids::uuid id)
: id(id), position(0, 0, 0), scale(1, 1, 1), rotation(), name(name)
Transformable::Transformable(const string &name, uuids::uuid _id)
: id(_id), position(0, 0, 0), scale(1, 1, 1), rotation(), name(name)
{
objectEntries[id] = this;
objectEntries[_id] = this;
}
Transformable::~Transformable()
@@ -370,10 +370,13 @@ namespace TSE
{
//deleting children
if(!onlyThis)
{
for(auto child : t->children)
{
HardDelete(child, onlyThis);
}
t->children.clear();
}
//deleting atteched scripts
for (auto& [_, script] : t->components)
@@ -449,6 +452,19 @@ namespace TSE
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)
{
for(auto obj : objectEntries)

View File

@@ -100,6 +100,7 @@ namespace TSE
public:
static int GetTansformableCount();
static Transformable* GetTansformableAt(int i);
static Transformable* Find(string name);
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;
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});
auto vec2 = ImGui::GetWindowSize();

View File

@@ -11,6 +11,8 @@ void TSE::EDITOR::HirearchieView::SetScene(Scene *s)
currentScene = s;
}
bool selectedFound = false;
void TSE::EDITOR::HirearchieView::Define()
{
if(currentScene == nullptr) return;
@@ -32,6 +34,7 @@ void TSE::EDITOR::HirearchieView::Define()
if(collapseOpen)
{
int layerCount = currentScene->GetLayerCount();
selectedFound = false;
for (int i = 0; i < layerCount; i++)
{
auto layer = currentScene->GetLayerAt(i);
@@ -123,7 +126,6 @@ void TSE::EDITOR::HirearchieView::MenuBar()
ImGui::EndMenuBar();
}
bool selectedFound = false;
void TSE::EDITOR::HirearchieView::DisplayLayer(Layer *l)
{
@@ -182,7 +184,6 @@ void TSE::EDITOR::HirearchieView::DisplayLayer(Layer *l)
}
if(collapseOpen)
{
selectedFound = false;
for(int i = 0; i < l->GetAllObjects().size(); i++)
{
DisplayObj(l->GetAllObjects()[i], l);
@@ -290,6 +291,7 @@ void TSE::EDITOR::HirearchieView::DisplayObj(Transformable *t, Layer *l)
{
selected = t->id;
PropertiesView::SetInspectorElement(InspectableType::Transformable, t);
selectedFound = true;
}
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 "BehaviourScripts/Camera.hpp"
#include "RenderTextureCreatorOpenGL.hpp"
#include "CameraHelperOpenGL.hpp"
TSE::GLFW::OpenGLRenderingBackend::OpenGLRenderingBackend(Color _backgroundColor, bool _vsync)
: OpenGLRenderingBackend(_backgroundColor, _vsync, 0, false){ }
@@ -39,6 +40,7 @@ void TSE::GLFW::OpenGLRenderingBackend::InitPreWindow()
{
IRenderTexture::factory = new RenderTextureCreatorOpenGL();
Texture::helper = new TextureHelperOpenGL();
Camera::helper = new CameraHelperOpenGL();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, TSE_OPENGL_VERSION_MAJOR);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, TSE_OPENGL_VERSION_MINOR);