Skip to content

Releases: MasterLaplace/Flakkari

Flakkari v0.5.0

29 Nov 08:04
Compare
Choose a tag to compare

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 ...
Read more

Flakkari v0.4.0

11 Nov 16:40
3e89d33
Compare
Choose a tag to compare

0.4.0 (2024-11-11)

Features

  • add API version support in Client and Game classes (9b131b5)
  • add compile-time configuration parameters file for Flakkari (5aa0585)
  • add Singleton dependency and update compiler options (276786b)
  • enhance GitHub workflows with build provenance and linter permissions; add Dependabot configuration (7026c57)
  • implement heartbeat response handling in Game class (b373a95)
  • refactor ResourceManager to implement Singleton pattern and update scene management methods (90eb2bb)

Bug Fixes

  • content length calculation in Packet class (0964b4b)
  • initialize addrinfo structure and update socket event handling for improved stability (a30e17d)
  • update Doxygen configuration for improved styling and milestone handling (ea1bb21)
  • update Doxygen documentation generation to use Doxyfile.cfg (f44970e)
  • update release workflow to use test tag version and increment minor version to 3 in config.h.in (7fb1424)

Styles

Code Refactoring

  • consolidate build checker workflows into a single file for Windows, Ubuntu, and MacOS (72016b6)
  • GameManager to implement Singleton pattern and streamline game management methods (f370cf7)
  • implement assignment operators for various component structs (6e2c1d6)
  • optimize packet handling and improve client management methods (9c88934)
  • remove unused id handling from Address class (4fef4cf)
  • replace fatal log with exceptions for error handling and simplify Client destructor (a5c911a)
  • replace PACKED macros with LPL_PACKED macros for better struct packing (c2a70c3)
  • update build checker and release workflows for clarity and efficiency (acf040d)
  • update Client and ClientManager methods for consistent reference passing and improved return types (c521655)
  • update ClientManager to use Singleton pattern and improve instance management (71ae985)
  • update creation dates in header files to 2024 (1936628)
  • update event handling to use size_t and unsigned short for better type safety (8224c8f)
  • update Socket and UDPServer constructors to improve parameter handling and enforce game directory requirement (8d0c2bd)
  • update WSA class to improve socket handling and error management (b993a1c)

What's Changed

Full Changelog: v0.3.0...v0.4.0

Flakkari v0.3.0

07 Nov 10:44
26f556b
Compare
Choose a tag to compare

0.3.0 (2024-11-07)

Features

  • Client: Add packet history and warning count to Client class (6f61517)
  • Common: Add Evolve component to ECS (5ce90dd)
  • Common: Add Id.hpp to Engine/EntityComponentSystem/Components/Common directory (8b00eeb)
  • Common: Update Id and add Template component (bcf0da4)
  • Components: Add Control component for 2D entities (c0504f7)
  • Components: Add new components: NetworkEvent, Collider, and Spawned (d045fe3)
  • ECS: Add EntityFactory class to create entities from templates (03d12ee)
  • Flakkari: Add game name to Client constructor and handle event from player (3e127c1)
  • Flakkari: Add mutexes to classes that require thread safety (0d35d93)
  • Flakkari: Update network and protocol components (a4750e8)
  • Game: Add new functions to Game class and update PacketFactory (e1e47d3)
  • Game: Add ResourceManager class for loading and storing resources (3a078e2)
  • Internals: Update network address handling and password retrieval (a9d8ef7)
  • Network: Add getId() method to Address class and use it in Client class (7e571c3)
  • Network: Add getIp() method to Address class (c9bf9d4)
  • Network: Add packed.hpp for network structs (d983ae7)
  • Network: Add PacketQueue class for storing incoming packets (1fc84c9)
  • Protocol: Add CommandId to_string function and injectComponent method (5cc41ee)
  • Protocol: Add Commands enum class for Flakkari Protocol (ccf73cf)
  • Protocol: Add Components enum class for Flakkari Protocol (b1e0373)
  • Protocol: Add Events.hpp to Flakkari/Protocol directory (9c2c0b8)
  • Protocol: Add new components and update player spawning logic (16b17c3)
  • Protocol: Add PacketFactory class for creating packets from entities (dd34779)
  • Protocol: Add Serializer class for object serialization and deserialization (6c7a003)
  • workflows: Add build checker workflows for MacOS and Ubuntu (2e5eb29)
  • add a .clang-format configuration file for C++ formatting (9b5a497)
  • add GitHub Actions workflow to bump patch version and create release (3b789be)
  • add workflow to bump minor version and create release; refactor patch release workflow (715e4cc)

Bug Fixes

  • Components: Refactor component constructors and add new component (adc8d93)
  • Components: Remove RigidBody component from Components2D.hpp (1b43dbc)
  • Flakkari: game directory setted by FLAKKARY_GAME_DIR env var (0415a41)
  • Game: Add network IP and template components to player entity (3d329a7)
  • Game: Fix loading scene in Game constructor (d264a2a)
  • Logger: Fix time handling and remove unnecessary preprocessor directives (4d5146b)
  • Logger: Refactor Logger.cpp and Packed.hpp (4aa1a60)
  • Logger: Update Logger.hpp to other platform than linux and Windows (a256940)
  • Network: Fix conditional compilation issue in Address.hpp and CommandManager.cpp (d889885)
  • Network: Fix conditional statements in Address.hpp and CommandManager.cpp (059d494)
  • Network: Fix out_of_range exception in Buffer::extractData() (bab0ddb)
  • Network: Fix socket options for different platforms (e55e4de)
  • Network: Fix typos and deprecated function in code (b2d1fc3)
  • Network: Refactor IOMultiplexer classes (2d5f32d)
  • Protocol: Update include paths in Header.hpp (f76adb3)
  • Server: Fix packet parsing and update header initialization (dcca1ed)
  • workflows: Fix branch creation for gh-pages (b6e0ed0)
  • workflows: Update build workflows and add Windows support (dce18a1)
  • add newline berfore EOF in Spawned.hpp (a360b47)
  • delete the C++ standard checker and the associated script (265ffbc)
  • fixing Windows build error and a few other bugs (3eaefbc)
  • ignore specific branches in build checker workflows (3f9ea83)
  • remove minor version bump workflow and rename patch workflow to general release workflow (3ee6ef8)
  • set the AccessModifierOffset C++ formatting parameter to 0 in .clang-format (f502730)
  • simplify entity template loading logic (cb0ce7a)
  • simplify Git setup and push steps in version bump workflows (5d6b454)
  • Update byte type in Buffer.hpp and Header.hpp (dd2dc6c)
  • update Doxygen deployment trigger and add linter workflow (91f383d)
  • update Doxygen deployment workflow to trigger on releases and streamline steps (6094b89)
  • Update notes in README.md (bcab62e)
  • update paths for project logo and output directory in Doxyfile (d24dd45)

C...

Read more

Flakkari v0.2.0

09 Jan 09:24
50b6159
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.1.0...v0.2.0