Commit Graph

31 Commits

Author SHA1 Message Date
OusmBlueNinja
626e8b2b71 Modernizes root object removal
Uses `std::ranges::find_if` for searching in `removeRootObject`, modernizing the code.

Removes an unnecessary comment in CMakeLists.txt.

Simplifies a comment in the Scene.h header file.
2025-06-02 13:00:36 -05:00
OusmBlueNinja
656f1c070f Adds basic scene management
Implements a basic scene management system with GameObject and Component structure.

Adds initial support for TagComponent serialization.

Includes Scene class in Core and an AssetManager profiling scope.
2025-05-27 13:32:20 -05:00
OusmBlueNinja
19388ba003 Starts asset scanning on application start
Ensures that the asset scanner begins automatically when the application starts, so that the asset database is populated from the beginning.
2025-05-22 20:48:17 -05:00
OusmBlueNinja
9641de9b2c Improves asset loading and scene management
Adds scene management system with GameObjects and Components.

Improves asset loading by scanning assets in a background thread and queuing textures for upload. Also displays a progress bar in the file browser for texture loading.

Adds basic component system with TagComponent to identify GameObjects
by a user defined name.
2025-05-22 11:51:28 -05:00
OusmBlueNinja
3ecfa15e4a Uses smart pointers for editor windows
Replaces raw pointers with smart pointers for managing editor windows.

This change improves memory management by ensuring proper deallocation of the Viewport and FileBrowser objects when the Editor shuts down, preventing potential memory leaks.
2025-05-22 10:14:46 -05:00
OusmBlueNinja
60d0154182 Updates editor version to 0.2.6
Reflects the latest release number for the editor.
2025-05-22 09:28:22 -05:00
OusmBlueNinja
d107be98d4 Improves asset loading and shader management
Improves asset management by adding a shutdown procedure that safely terminates the asset scanning thread. This prevents crashes and ensures a clean exit.

Enhances shader management by introducing shader naming and improved error logging. This makes debugging easier. Also renames the sprite shader.

Fixes a minor bug related to sprite drawing position.

Adds Git mappings for submodules.
2025-05-22 09:25:29 -05:00
OusmBlueNinja
f7e0882597 Improves renderer and adds shader support
Adds shader class to core and modifies the renderer to use it,
while also adding profiling macros and fixing resize issues.
The changes ensure the render target is resized only when the
requested size is different from the current size and also clears
the screen to a dark gray color.
2025-05-21 22:05:10 -05:00
OusmBlueNinja
4194764d7a Started On Renderer 2025-05-21 21:55:54 -05:00
OusmBlueNinja
375af6829c Fixed Crash By Adding Lock 2025-05-21 21:31:47 -05:00
OusmBlueNinja
1a928159e5 Chore: Bump Editor Version 2025-05-21 16:40:01 -05:00
OusmBlueNinja
c177c8b9ea Improves asset loading and file browsing
Adds background asset scanning and loading to improve editor responsiveness.

Updates the file browser with grid and list views, filtering, and callbacks for file selection.

Fixes an issue where the asset manager would block the main thread during asset loading.
2025-05-21 16:38:18 -05:00
OusmBlueNinja
7cee708801 Refactors asset loading for textures
Removes Assimp dependency.

Changes the asset loading process to use a queue system for texture uploads to OpenGL, which improves performance by offloading the texture loading to the main thread.

The asset manager now directly loads texture data using stb_image and uploads it to the GPU in the main thread, eliminating the need for Assimp.
2025-05-21 13:59:27 -05:00
OusmBlueNinja
86c90cbf8d Chore: Bumped Versions 2025-05-21 12:34:23 -05:00
OusmBlueNinja
91f8eff00d Started in File Broswe Window 2025-05-21 11:49:17 -05:00
OusmBlueNinja
4e2f6b8cfd "Functonal" asset manager 2025-05-21 11:46:17 -05:00
OusmBlueNinja
6225c07dbd Started On Asset Manager 2025-05-21 11:34:23 -05:00
OusmBlueNinja
f298c48564 Fixed Spacing of Editor 2025-05-21 11:07:23 -05:00
OusmBlueNinja
5758f841ed Added viewport 2025-05-21 10:16:46 -05:00
OusmBlueNinja
6074fdc492 Added Demmy Layer for testing 2025-05-21 09:25:43 -05:00
OusmBlueNinja
f6e80b5ad0 Added Layer Based Dynamic Window Titles 2025-05-21 09:21:50 -05:00
OusmBlueNinja
623aa4694b Updated Color Scemes 2025-05-20 21:45:27 -05:00
OusmBlueNinja
36b821eb64 Fixed Logger and Brought back Verbose 2025-05-20 21:42:18 -05:00
OusmBlueNinja
5ad82a1368 updated versioning 2025-05-19 11:25:41 -05:00
OusmBlueNinja
67f7d45db9 Update main.cpp 2025-05-18 13:33:24 -05:00
OusmBlueNinja
4f5a969893 Update README.md 2025-05-18 13:33:05 -05:00
OusmBlueNinja
9c5102624c Update README.md 2025-05-18 13:32:39 -05:00
OusmBlueNinja
16a70b888d Set Up Base 2025-05-18 13:29:55 -05:00
OusmBlueNinja
5278c9fb43 Used Template 2025-05-18 12:42:48 -05:00
OusmBlueNinja
9598aded5b Added Logos 2025-05-18 12:26:46 -05:00
e8de05e3c4 Initial commit 2025-05-18 17:24:00 +00:00