Skip to content

Releases: MIAOU-TYPE/rtype

v1.92.0

18 Jan 22:54
00a61a0

Choose a tag to compare

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

18 Jan 22:17
a35831d

Choose a tag to compare

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

18 Jan 21:54
debb225

Choose a tag to compare

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

18 Jan 20:47
4f12be2

Choose a tag to compare

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

18 Jan 19:16
b79c842

Choose a tag to compare

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

18 Jan 18:35
6a22a43

Choose a tag to compare

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

18 Jan 18:06
ef171df

Choose a tag to compare

1.86.1 (2026-01-18)

Bug Fixes

  • hud UI life (#341) (ef171df)
  • initialize current and maximum life on session accept (997382b)
  • set initial values for current and maximum life in ClientController (16cdf67)
  • update health display to reflect current and maximum life values (968f277)

v1.86.0

18 Jan 16:02
1b10694

Choose a tag to compare

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

18 Jan 11:08
fda97f5

Choose a tag to compare

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

18 Jan 09:42
ba94b48

Choose a tag to compare

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)

Features