Introduces a macro to streamline logging, enhancing code readability and maintainability.
The new macro replaces direct Logger calls with more concise and expressive `LOG_INFO`, `LOG_ERROR` etc. calls, reducing boilerplate code and improving consistency in logging practices across the engine.
Implements a build versioning system to track and display the engine's build information.
- Adds a version header file defining version constants.
- Increments the build number automatically from a configuration file on each build in the binary folder.
- Displays the build version in the ImGui menu bar for easy identification.
- Persists version information by reading/writing to the config file
This provides better tracking and identification of specific engine builds.
Adds a Lua scripting component to the engine, allowing users to attach Lua scripts to entities.
Includes necessary Lua headers and library files.
Also integrates the Lua scripting component into the editor, allowing it to be added via ImGui.
Adds precompiled FMOD audio library binaries for various platforms (x86, x64, arm64) and build configurations (Debug, Release).
Also adds a basic audio component header file.
Adds scene saving and loading functionality, using a component factory for dynamic component creation and serialization.
This allows users to save and load the state of entities, including their components and textures.
A new component factory is introduced to register and create different component types.
Each component implements serialization and deserialization methods, which are used to store and restore the component's state.
A new .ker scene file format is introduced to serialize entity data and to load it back into memory to restore the scene.
Also adds a DemoScene_V12.9.0.ker file to showcase the engine.
Les fichiers OBJ dans `enginecustom.vcxproj` ont été modifiés pour être inclus en tant que `CopyFileToFolders` au lieu de `Object`, avec le type de fichier spécifié comme `Document`. Les filtres correspondants dans `enginecustom.vcxproj.filters` ont également été mis à jour pour refléter ce changement, en maintenant le filtre `Assets\Model\OBJ` pour chaque fichier OBJ.