0.5.0 (2024-11-29)
Features
- add 3D components (BoxCollider, Control, Movable, RigidBody, SphereCollider, Transform) for 3D entities (461fad0)
- add 3D components to manage collisions and movements (f5963cf)
- add 3D components to the EntityFactory and loadComponents (da2bfc7)
- add application icon support for Windows, macOS, and Unix (4043ba5)
- add apply_movable function to update positions of 3D entities based on velocity (9e4995c)
- add binary file types for icon management (a7a53f7)
- add collision handling static functions for bullets and entities, including box and sphere collision detection (7362910)
- add collision management between entities with velocity reflection (986bd67)
- add commands management to version 1 of the protocol (7f02e7c)
- add common components for entity management in Flakkari4Unity (013ab35)
- add conditional version bumping based on pull request labels and remove Flakkari in submodule (732ede8)
- add content property to Template struct and update constructors and assignment operator (44b3410)
- add event management for version 1 of the protocol (8885243)
- add Factory class for entity creation from templates (74d6b22)
- add header management for protocol version 1 (e4c2561)
- add installation of game directory and improve CPack configuration; refactor Vector rotation constant to be const (d052842)
- add method to include 3D components of an entity in a packet (b4eb1a1)
- add minimum and maximum speed properties to Movable and RigidBody components, and adjust the Weapon structure to manage minimum and maximum damage (d23dc05)
- add NetworkClient class for UDP communication and entity management (3e8f7e7)
- add random position spawning for enemies in the ECS (b7d5413)
- add README.md for Flakkari4Unity package with usage examples and documentation (7da7db0)
- add spawn_random_within_skybox function to spawn entities randomly within the skybox (603193f)
- add system execution in game update loop for improved scene management (109be24)
- add the clear() method to reset the entity and component registry (e001351)
- add the client API for the Flakkari v1 protocol (b593f10)
- add the Components3D.hpp header file to the project (5a9280b)
- add the Entity class to manage the creation and updating of common and 3D components (ec49f6e)
- add the sendAllEntitiesToPlayer method to send all entities to a player (c2a7766)
- add the Synchronizer class to manage the addition, deletion and retrieval of entities (fb2a93c)
- add Timer component for ECS entities and update includes (6f0bf1b)
- add version 1 component IDs and string conversion method (67349e3)
- add workflow to update logo based on seasonal events and trigger Doxygen page deployment (078f749)
- delete the BoxCollider and SphereCollider classes; clean up the code and remove deserialization (7378944)
- handle empty packets in UDPServer to prevent processing errors (aecd893)
- implement collision handling for entities, including player, enemy, and bullet interactions (7a49da9)
- implement equality operator and hash function for Entity, update type definitions and header structure for improved clarity and consistency (c90df9f)
- implement Flakkari Protocol v1 for Unity (61d176f)
- refactor addCommonsToPacketByEntity to include additional components and improve packet serialization (094f5b4)
- refactor deserialization to use uint instead of ulong for length; improve data handling in multiple components (c28fee1)
- refactor event handling logic to improve movement and look controls, separating move event processing into a dedicated function (7cf56e7)
- refactor game loader methods for improved clarity and consistency in parameter naming and functionality (34e4754)
- refactor game management logic, update includes, and add isClientWaiting method for improved client handling (56cafd7)
- refactor Player class for improved network handling; update input methods and streamline event processing (5ec4e6a)
- refactor RES_CONNECT and REQ_DISCONNECT message handling; improve collider component initialization and update event IDs (d6a2189)
- remove master and main branch references from workflow configuration files (87bed8c)
- rename API.cs to Runtime and remove ReqDisconnect method; add package.json for project metadata (086cfca)
- rename packet queue methods for clarity and add separate send queue handling in Client class (525f6f9)
- reorganise component and event identifiers for greater clarity and consistency (498a279)
- simplify client management logic and improve packet handling for player connections and removals (7461a56)
- temporary shutdown the workflows (448368b)
- update build configuration for Release mode and enhance README with correct download links; add Dockerfile for containerization (0873f45)
- update CMake configuration and README for package naming conventions on Windows, macOS, and Linux (c4c2a95)
- update create_release workflow for building and uploading package artifacts (3f0939c)
- update protocol versioning and event handling for version 0 (b79b89f)
- update system header to include new entity spawning and collision handling functions with improved parameters (2e3b8b1)
- update versioning and packaging configuration for Flakkari (eabb867)
Bug Fixes
- improve client connection checks and packet handling, update event system for better axis control (98aac25)
- update copyright year and improve README documentation for clarity (207a854)
- update icon.ico and rename icon.xpm (4db6ccf)
- update velocity references in control system to use the correct member variable (ad748be)
Styles
- apply linter (c9e6c15)
- apply linter (dd35da2)
- apply linter (0af1c4a)
- apply linter (93ec0df)
- apply linter (f7d8292)
- apply linter (c16f3fa)
- apply linter (fe4a38b)
Code Refactoring
- refactor 2D components and systems to use a unified namespace and improve clarity (ed878d5)
- remove unnecessary 'this' pointer in lambda functions for system registration (6914f28)
- simplify user update commands and improve packet sending in ClientManager (ae1a138)
Documentation
- correct actual date the file was created (ce444ac)
- create SECURITY.md (c6cefe0)
- update README.md to enhance project description and clarify server capabilities (c215f0f)
What's Changed
- Implement 3d components by @MasterLaplace in #49
- Build package and handle event by @MasterLaplace in #50
- Implement flakkari protocol v1 by @MasterLaplace in #52
- Implement unity library by @MasterLaplace in #54
- Finalize engine implementation by @MasterLaplace in #56
- Finalize engine implementation by @MasterLaplace in #58
Full Changelog: v0.4.0...v0.5.0