Releases: MIAOU-TYPE/rtype
Releases · MIAOU-TYPE/rtype
v1.92.0
1.92.0 (2026-01-18)
Bug Fixes
- reorder includes and clean up comments in BossPhase.hpp (2bfba40)
Features
- add power-up events for Jungle - Level 2 (3e5a8c5)
- enhance boss phases with optional shoot types and projectile sprites (8d55cf0)
- enhance level design by adding structured walls and updating enemy configurations (dc9ef78)
- implement structured levels (#348) (00a61a0)
- implement structured levels for Jungle - Level 1 with updated enemy configurations and spawn patterns (7a60880)
- implement structured levels for Jungle - Level 3 with updated enemy types, behaviors, and spawn patterns (7358c35)
- update Jungle - Level 2 with new enemy types, configurations, and spawn patterns (e716213)
v1.91.0
1.91.0 (2026-01-18)
Features
- add cpp-httplib to vcpkg.json for enhanced HTTP support (24293ea)
- add initial CSS styles for improved admin web interface layout (c36c3f6)
- add initial HTML structure for R-Type Admin Dashboard (b06c2d8)
- implement admin web interface (#347) (a35831d)
- implement AdminWebServer for managing sessions and rooms via a web interface (38497b3)
- implement API interaction and table rendering for admin web interface (919d65e)
- integrate web-based admin dashboard into server runtime (01c69ce)
v1.90.0
1.90.0 (2026-01-18)
Bug Fixes
- bug fixes related to client-server communication, lobby and room management, and game state handling. (#345) (debb225)
Features
- add [[nodiscard]] attribute to isExpiredLocked method in SessionManager (8992906)
- add AdminConsole for server management commands (2bb9b9b)
- add error handling for banned sessions in TCPPacketRouter (be9ac38)
- add unbanroom command to AdminConsole for removing user bans from rooms (f11778c)
- add username validation and banning check in RoomManager (45fe949)
- enhance room join logic to account for game state (2ca454c)
- ensure room creation is always triggered on Enter key press (e032637)
- extend ISessionManager with IP banning and session management methods (1c0bd2f)
- host role admin controls (#339) (237c317)
- implement IP banning functionality in SessionManager (c0fdb9a)
- implement username banning functionality in Room class (02c8073)
- improve room management by adding inRoom state and refining leave logic (18a9576)
- increase lobby refresh period from 500ms to 1000ms for improved performance (5f9165e)
- integrate AdminConsole for server management in ServerRuntime (f3a14d5)
- mark getRoomData method as noexcept in Room class (98ce07d)
- prevent room updates when in game state to improve state management (7344813)
- refine interpolation logic and error handling during large lags (8d4fef1)
- reset game world on start game request to ensure clean state (706992f)
- send accept packet multiple times to improve connection reliability (a2dd812)
- simplify interpolation logic by removing unnecessary parameters and optimizing snapshot handling (ccbe9ad)
- update interpolated positions to use frame delta time for smoother rendering (080fb61)
v1.89.0
1.89.0 (2026-01-18)
Bug Fixes
- adjust spawn position range and boss damage multiplier for balance (5f51d24)
- correct formatting and include PixelCollision in relevant files (e318c4a)
- improve collision damage registration logic in World.cpp (053e351)
- remove unnecessary blank line in collision damage registration logic (af118eb)
Features
- add background wall resource with collision support for the last world (76f5a34)
- add collision-enabled wall to Level 3 with defined properties (d703eac)
- add Level 1, Level 2, and Level 3 configurations with enemy and obstacle definitions (8f763dd)
- add Level 2 and Level 3 configurations with enemy and obstacle definitions (2ab4a04)
- add level configurations for jungle levels 1, 2, and 3 with enemy and obstacle definitions (ef9e4b1)
- add PixelCollision component for pixel-perfect collision detection (13e8171)
- add wall layers with collision box parsing to LevelManager (79c3b2e)
- add wall spawning functionality with collision for the last world (32bcba2)
- implement pixel collision handling in damage events (d8aa667)
v1.88.0
1.88.0 (2026-01-18)
Bug Fixes
- improve sound handling for power-up effects in ClientWorld (0346b77)
- mark levelSelected method as noexcept (3495afe)
Features
- add audio for levels and power ups (#325) (b79c842)
- add default game music to custom world levels (e574c4e)
- add jungle, ruins, and space theme audio files (c769841)
- add jungle, ruins, and space theme audio files to resource manager (6d6729e)
- add mode navigation buttons to RoomMenu (617c988)
- add music handling in GameOverState on enter (d9b5129)
- add music path to WorldEntry structure for background audio management (016a082)
- add music tracks for custom, world1, world2, and world3 levels (c65c7a0)
- add power-up sound effects and enhance sound management (b80c08a)
- add world music configuration to GameConfig and update packet handling for room creation (9a01655)
- enhance audio management by integrating room-specific music paths and updating related classes (66fc31f)
- enhance CreateRoomRequested and related packet handling for improved audio configuration (6407326)
- enhance damage handling for player and enemy collisions (192f138)
- improve sound management for power-ups and clean up code formatting (7effa73)
- update graphics initialization to use configurable resolution (df3a19f)
- update parseWorldLevelsJson to include music path in world levels (57257e6)
- update room configuration to include world music and optimize player list handling (cc845e8)
v1.87.0
1.87.0 (2026-01-18)
Bug Fixes
- correct timestamp conversion in onPong method (f5503a2)
Features
- add chat divider text in lobby UI for better message separation (8896ec1)
- add chat functionality to Lobby with input field and message display (0ef23da)
- add chat message handling methods in Lobby class (b194f7b)
- add comment to clarify purpose of _messages in RoomManager (adc71b8)
- add createPongPacket method to generate pong packets in response to pings (28fe271)
- add delay before notifying thread termination in ClientRuntime (16b2e37)
- add events for room data updates and sending chat messages (a6c62fe)
- add handler for Message Room messages in TCPPacketRouter (408daaa)
- add handler for room operation messages in TCPPacketRouter (0c88acb)
- add hasChatSubmission method and improve chat message handling in Lobby (5a0c161)
- add makeRoomMessage method in TCPPacketFactory for creating ROOM_MESSAGE packets (c8245da)
- add makeRoomMessage method in TCPPacketFactory for creating RoomMessage packets (f1024a7)
- add makeRoomMessage methods in TCPPacketFactory for ROOM_MESSAGE and MESSAGE_ROOM packets (dd44200)
- add message handling and subscription for room messages in IMessageHandler (a72c898)
- add message subscription and handling for room messages in TCPMessageSink (1826839)
- add MESSAGE_ROOM handler in TCPPacketRouter for chat messages (edcf021)
- add methods to create and handle PONG packets in UDPPacketFactory (3f83b0c)
- add methods to set height and text size in UITextField (e8d9cc6)
- add packet types for room messaging in TCP communication (510e100)
- add signal handler to manage interrupt signals in client runtime (bcbe093)
- add StateManager class with type-checking functionality (03c058b)
- add tcp based chat system in lobby rooms (#337) (6a22a43)
- add timestamp parameter to onPing method for improved ping handling (77a65ba)
- add type-checking functionality with is() method in StateManager (7c8cb0f)
- adjust text vertical positioning in UIButton for better alignment (b23886c)
- change button helper methods in AMenu to static (864af0c)
- change onPong method to use uint64_t for timestamp (b2cd0ae)
- change PongReceived timestamp type from uint32_t to uint64_t (3bd7fc1)
- change PongReceived timestamp type from uint32_t to uint64_t (ccc8962)
- enhance LobbyState to handle chat message submissions and clear message history on enter (2a0459f)
- implement lobby message handling and refresh logic in ClientRuntime (6af5e28)
- implement message handling in RoomManager with addMessage and messages methods (01a348b)
- implement ROOM_MESSAGE handler in TCPPacketRouter for chat functionality (92c2f8b)
- implement TCP-based ping system in lobby rooms (860c8e3)
- improve layout and positioning of chat UI elements in lobby (ac13323)
- improve TCP packet handling loop in ServerRuntime (b74201c)
- prepend username to messages in TCP chat system (2aefb2c)
- refactor UDPPacketFactory for improved timestamp handling and error logging (dd5a4fc)
- remove debug output for PONG packet creation in UDPPacketFactory (99ab548)
- reorder PongData include statements in UDPPacketFactory and UDPPacketRouter (0e522d4)
- update handlePing method to process payload and validate size (6102def)
- update onPing method to include timestamp and modify packet creation in response (1f21cad)
- update onPing method to include timestamp parameter (b37b79c)
- update onPing method to include timestamp parameter (8eb7572)
- update onPing method to include timestamp parameter (166e9c3)
- update onPong method to use uint64_t for timestamp (78a9451)
- update PongData structure to use uint64_t for pongTimestamp (c624a51)
v1.86.1
v1.86.0
1.86.0 (2026-01-18)
Bug Fixes
- adjust player label row position and center buttons in RoomMenu (4d2d04c)
- correct formatting of the _spawned vector declaration in GameServer.hpp (d6fd6d0)
- correct gameConfig reference in Room constructor (289301c)
- mark levelSelected method as noexcept (4f7db84)
- remove noexcept from levelSelected method for consistency (74bb3b8)
- remove unused Controllable include from testCollisionSystem (6cbe323)
- resolve merge conflict in GameServer.hpp and clean up game configuration variable (c65455e)
- simplify copyFrom method signature in IGameWorld interface (31e270a)
- update .gitignore to include coverage and Doxygen documentation directories (319ff8b)
- update collision system to use InputComponent instead of Controllable (24d46a0)
- update player power-up check to use has_value for better clarity (fee4251)
Features
- implement configurable game mode (#323) (d842352)
- add [[nodiscard]] attribute to relevant functions in RoomMenu and make copyFrom pure virtual in IGameWorld (f0b9d41)
- add client controller to ClientRuntime for message handling (d53e73b)
- add configurable game mode buttons to RoomMenu (f0a762f)
- add configurable game mode selection to RoomMenu (6b3d1fe)
- add configurable game mode to room creation process (1cc4446)
- add current and maximum life parameters to GameState constructor (5bd0bef)
- add Doxygen configuration file for documentation generation (995fea2)
- add doxygen documentation (#332) (be19f6e)
- add game configuration parameter to GameServer constructor (5520f77)
- add game mode parameter to CreateRoomRequested and related packet factory methods (6432d78)
- add getters for current and maximum life in ClientController (17d40a2)
- add health display to HUD with current and maximum life (21ba1c3)
- add hud life (#336) (1b10694)
- add parameters for current and maximum life to GameState constructor (d91defc)
- enhance GameServer tests with configurable game modes and collision behavior (036583c)
- implement configurable friendly fire mode in collision detection (aa7963a)
- implement configurable game mode and improve code formatting (5f832fb)
- implement game configuration handling in World and IGameWorld interfaces (97a4a3d)
- implement getGameConfig method in TestWorld for game configuration access (71287cc)
- implement getters for current and maximum life in ClientController (15cf98b)
- pass game configuration to GameServer constructor in Room (0587fb2)
- refactor ClientRuntime to initialize ClientController and update game state with life information (3b59704)
- update HUD constructor to include health getters for current and maximum life (d6e56c0)
- update HUD rendering to display health correctly based on current and maximum life (5d46198)
- update onHealth method to store current and maximum life values (b61a5d7)
v1.85.0
1.85.0 (2026-01-18)
Bug Fixes
- adjust tail segment parameters for improved enemy behavior (a6330eb)
- enhance collision damage handling for projectiles and boss parts (0274696)
- enhance TailFollower behavior with wave motion and segment indexing (612714d)
- ensure vertical velocity is updated for tail followers (cb1fb78)
- improve TailFollower behavior by adding health checks and removing unused includes (bcd2845)
- pass sparse arrays by reference in refreshSpriteIfChanged method (75da139)
- remove duplicate frame entry in boss3 tail animation (0687d75)
- reorder includes to maintain consistency in GameServer.hpp (50fb571)
- update projectile component checks in collision damage handling (fa58b24)
- update spriteId for boss2 to maintain consistency across assets (b33154d)
- update spriteId for homing bullet to match new asset configuration (e90bc54)
- update spriteId for projectile event to match new asset configuration (9e6311c)
- update wave calculation in TailFollowerSystem to use delta time instead of cumulative time (dab21e3)
Features
- add boss3 tail sprite and resource registration for enhanced boss mechanics (0329b62)
- add BossPart component for boss hitbox zones and damage multipliers (1595c9a)
- add collision and damageable components to tail segments, enhance boss part functionality (3a0d0ba)
- add multi-phase boss resources and update asset loading for boss3 (72f624a)
- add multiple boss sprites and update resource registration (f43bd7b)
- add timer for special enemy movements in GameServer (67cc464)
- adjust tail segment starting positions for improved boss phase appearance (450ae9f)
- enhance boss phase handling by adding tail segments and updating parameters (70ddd98)
- implement boss damage handling in collision events (d11a626)
- implement boss phase data handling in LevelManager and LevelSystem (a220dbd)
- implement boss phase handling in LevelSystem for dynamic enemy behavior (dab5126)
- implement BossPart component for weak box and update wave spawning logic (b6b1ed8)
- implement multi-phase boss system with dynamic phase transitions and properties (18b70fb)
- implement multi-phase boss system with new boss sprites and animations (cfd7759)
- implement multi-phase system for bosses in space_level1.json (16073e5)
- implement TailFollower component and system for boss entity mechanics (2aee73f)
- integrate TailFollowerSystem update into GameServer update loop (4f4f555)
- refactor enemy population logic in LevelEditorState for improved maintainability (1178a7d)
- update boss entity configurations and implement multi-phase mechanics for bosses (1a16b27)
- update boss3 attributes for improved difficulty balance (52ec9a2)
- update boss3 sprite and adjust shooting parameters for phase 1 (7c4d2e2)
- update handleBossPhases to adjust tail segment positioning and improve readability (1ab3394)
- update spriteId for boss3 tail to enhance asset management (b588116)
v1.84.0
1.84.0 (2026-01-18)
Bug Fixes
- add getter methods for panel and inner rectangles in AMenu class (4eb7f16)
- adjust Lobby UI layout for improved element positioning and consistency (1e4b0c5)
- adjust Lobby UI layout for improved element positioning and consistency (0b43e27)
- adjust RoomMenu layout for improved UI consistency and update levelSelected method signature (1c1a2e5)
- adjust title and score line positions in GameOverMenu for improved UI consistency (a2e93a2)
- adjust title position in GameOverMenu for better UI alignment (650ac0a)
- enhance Lobby UI layout and improve button handling for consistency (107827d)
- enhance menu UI with header elements and improved layout (7b92306)
- enhance SettingsMenu UI for improved layout and accessibility (b366039)
- enhance UIButton class for improved UI scaling and state management (9f90bca)
- format getter methods for panel and inner rectangles in AMenu class (e89ed4b)
- implement panel loading and layout functions for improved menu UI (4561861)
- improve code formatting in AMenu.hpp, Lobby.hpp, and Menu.hpp for better readability (e651e05)
- improve code formatting in UIButton.hpp for better readability (9780fc8)
- refactor RoomMenu layout functions for improved UI consistency and readability (452aff4)
- update levelSelected method signature for consistency (7da825d)
- use 'const' for packet variable in input handling (d2d8642)