Commit Graph

399 Commits

Author SHA1 Message Date
a3d80256f5 Patch - Increments build version number - V14.1.1
Updates the build version number in the header file.

This change reflects an iteration in the development process.
V14.1.1
2025-09-18 01:59:31 +02:00
29db39910c Minor - Adds build versioning to the engine - V14.1.0
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.
2025-09-18 01:58:18 +02:00
2346625afb Patch - Adds .idea/ to .gitignore - V14.0.3
Excludes the IntelliJ IDEA project directory from version control.

This prevents project-specific settings and configurations from being accidentally committed, ensuring a cleaner repository.
2025-09-17 23:23:42 +02:00
e9d906ce72 Patch - Removes IDE-specific configuration files - V14.0.2
Deletes various .idea/ configuration files.
These files are specific to the JetBrains Rider IDE
and should not be tracked in the repository.
2025-09-17 23:23:12 +02:00
aee0704fe7 Patch - Configures Git LFS for binary assets - V14.0.1
Configures Git LFS to properly track and manage binary files such as Lua libraries and DLLs.

This ensures that large binary files are stored efficiently and do not bloat the Git repository.
2025-09-17 23:21:32 +02:00
f3039f22ed Major - Adds Lua scripting component support - V14.0.0
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.
2025-09-17 23:20:50 +02:00
76fdd3c76e Patch - Adds component shutdown functionality - V13.6.1
Implements a shutdown mechanism for components and entities,
ensuring proper resource release and preventing memory leaks.

This change introduces a virtual `Shutdown` method to the
`Component` class, allowing derived components to release
specific resources when they are removed from an entity or
when the entity is destroyed. The `Entity` class now calls
the `Shutdown` method on all its components during its own
release process. The `EntityManager` now calls the
`release()` method when destroying an entity.

This enhancement ensures that resources, such as FMOD sound
objects and channels in the `AudioComponent`, are properly
released, preventing potential resource leaks and improving
the stability of the engine.
2025-09-17 16:47:01 +02:00
7fc4b08808 Minor - Improves scene loading and audio component - V13.6.0
Refactors scene loading to properly initialize models and textures from the scene file.

Adds audio component deserialization and file path handling.

Fixes model loading and texture application in scene manager.
Addresses potential issues with missing components during scene loading.
2025-09-17 00:01:13 +02:00
de05631608 Minor - Enhances ECS component functionality - V13.5.0
Adds serialization/deserialization to components,
allowing saving and loading of entity states.
Provides ImGui widgets for editing component properties,
improving editor usability.
Passes the D3D device and context to entities and
components enabling resource creation within components.
2025-09-16 18:26:33 +02:00
f875580197 Minor - Adds FMOD integration for audio support - V13.4.0
Initializes FMOD sound system within the application class and propagates it to the entity manager and entities. This allows for audio components to access and use the FMOD system for playing sounds.

Removes redundant FMOD system initialization from the audio component.
2025-09-16 16:34:08 +02:00
42b7ca04a4 Merge remote-tracking branch 'origin/main' V13.3.0 2025-09-15 23:19:38 +02:00
aa8e5d2abd Minor - Adds audio component with spatialization - V13.3.0
Adds a new audio component with support for loading, playing, pausing, stopping, and controlling audio properties such as volume, pan, pitch, and looping.

Implements spatialization using FMOD, enabling 3D audio effects based on object and camera positions. Includes file selection dialog and UI controls for audio properties.
2025-09-15 23:19:22 +02:00
5ee88ff932 Minor - Adds basic audio component functionality - V13.2.0
Adds basic audio component and loads default sound for testing

Adds default sounds to the assets folder and includes them in the project.
2025-09-15 23:18:52 +02:00
4f4151201d Adds audio component with spatialization
Adds a new audio component with support for loading, playing, pausing, stopping, and controlling audio properties such as volume, pan, pitch, and looping.

Implements spatialization using FMOD, enabling 3D audio effects based on object and camera positions. Includes file selection dialog and UI controls for audio properties.
2025-09-15 23:15:34 +02:00
9a8bfc43eb Adds basic audio component functionality
Adds basic audio component and loads default sound for testing

Adds default sounds to the assets folder and includes them in the project.
2025-09-15 16:08:46 +02:00
5bb802f0fc Track doxygen_docs with Git LFS 2025-09-10 02:12:41 +02:00
7d33e2da72 Minor - Improves scene editor and adds audio support - V13.1.0
Improves the scene editor by adding an inspector window to view and modify entity components.

Adds audio component support with basic playback controls integrated into the inspector.

Adds default audio files.
V13.1.0
2025-09-10 02:00:21 +02:00
42c44b9ff1 Major - Adds FMOD audio library - V13.0.0
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.
V13.0.0
2025-09-09 17:58:42 +02:00
defc1cb795 Minor - Implements scene saving and loading - V12.10.0
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.
2025-09-06 18:59:42 +02:00
118e635415 Merge remote-tracking branch 'origin/main' 2025-09-06 14:22:37 +02:00
55e561fd14 Minor - Implements component serialization - V12.9.0
Adds serialization and deserialization functionality to the ECS component system.

This allows components to be saved and loaded, enabling scene persistence.
The IdentityComponent is updated to support serialization/deserialization.
The scene saving logic in scene_manager is updated to serialize components instead of hardcoded values.
2025-09-06 14:21:39 +02:00
25e7d97b71 Implements component serialization
Adds serialization and deserialization functionality to the ECS component system.

This allows components to be saved and loaded, enabling scene persistence.
The IdentityComponent is updated to support serialization/deserialization.
The scene saving logic in scene_manager is updated to serialize components instead of hardcoded values.
2025-09-06 14:18:28 +02:00
ccd0d045f9 Patch - Doc Update - V12.8.1 2025-07-28 17:37:15 +02:00
9431552316 Minor - Start the Doxygen doc - V12.8.0 2025-07-28 15:26:10 +02:00
2c005592f0 Patch - TODO : Serialized / Deserialized Component DATA - V12.7.1 2025-06-26 21:44:28 +02:00
763ecff93d Minor - ECS use when loading scene - V12.7.0 V12.7.0 2025-06-24 18:58:53 +02:00
e527e85b9c Minor - ECS use in save - V12.6.0 2025-06-24 18:41:13 +02:00
9d0d2d1dfd Minor - ECS use in stats - V12.5.0 2025-06-24 17:15:58 +02:00
7755150ae8 Patch - ADD TODO comment - V12.4.1 2025-06-24 17:01:05 +02:00
ddf5ea30a6 Minor - ImGui Use ECS - V12.4.0 2025-06-24 16:44:29 +02:00
8f0e583c62 Minor - ECS implementation pt.2 - V12.3.0 2025-06-24 16:25:03 +02:00
bf1b5d78e5 Minor - ECS use in other method pt.1 - V12.2.0 2025-06-24 16:13:56 +02:00
3adfddf44f Minor - ECS use for import object - V12.1.0 2025-06-24 15:36:45 +02:00
039b034175 Major - ECS - V12.0.0 V12.0.0 2025-06-24 14:24:14 +02:00
688fe7ff1c Minor - Optimisation stats - V11.5.0 2025-06-23 22:39:58 +02:00
de16b97f8e Minor - bigcube generation + using shared model - V11.4.0 V11.4.0 2025-06-19 22:19:33 +02:00
f5331444cb Minor - Smart pointer and switch from composition to aggregation for object relation with modelclass - V11.3.0 2025-06-19 17:15:27 +02:00
ae3fc21ffc Patch - Fix release and debug config - V11.2.1 V11.2.1 2025-06-03 19:58:01 +02:00
315d259acd Minor - Stats Update - V11.2.0 V11.2.0 2025-06-03 18:35:51 +02:00
2a1b474df0 Minor - architecture rework pt.2 - V11.1.0 2025-06-03 17:01:18 +02:00
d364517633 Major - Architecture Rework - 11.0.0 2025-06-03 16:29:44 +02:00
ce51c11b31 Minor - Add Unitest environment - V10.7.0 2025-06-02 14:15:18 +02:00
0e11ead55b Patch - Deth Shader integration for shadow map - V10.6.1 2025-05-28 15:02:43 +02:00
1af71960c3 Minor - Depth shader - V10.6.0 2025-05-28 13:24:53 +02:00
f20adee22f Patch - Sun camera Depth experiment - V10.5.3 2025-05-26 16:03:51 +02:00
eb2cd17ec3 Patch - Sun Camera - V10.5.2 2025-05-26 13:52:00 +02:00
dbd27d1fe7 Revert "Minor - Start Shadow Map - V10.5.0"
This reverts commit d6b7626446.
2025-05-25 16:12:39 +02:00
d6b7626446 Minor - Start Shadow Map - V10.5.0 2025-05-22 17:28:29 +02:00
f9d4523f09 Minor - Refactor name - V10.5.0 2025-05-21 16:40:27 +02:00
24203060be Actualiser README.md 2025-05-13 21:18:50 +00:00