Skip to content

0.2.0

Choose a tag to compare

@XuruDragon XuruDragon released this 10 Jun 12:19
· 65 commits to main since this release

๐Ÿš€ Version 0.2.0 โ€” The Immersion & Performance Update

We are excited to release v0.2.0! This release marks a significant milestone in the project's evolution, transforming the core audio architecture, introducing premium gameplay features (tactical radar, acoustics, and radio DSP), adding Discord integration, and hardening client/server reliability.

Below is the detailed list of changes and new features introduced since v0.1.0.


๐ŸŒŸ Major Highlights (Diff from v0.1.0)

๐Ÿ“ก 1. High-Performance UDP Audio Transport

  • WebSocket to UDP Transition: Shipped a major rewrite of the voice stream transport. Audio now travels over UDP rather than WebSockets, resulting in significantly lower latency, no head-of-line blocking, and resilience against packet jitter.
  • Auto-Reconnect Mechanism: Implemented an asynchronous connection manager that automatically reconnects the UDP stream and WebSocket control channel upon unexpected dropouts.

๐ŸŽง 2. Dynamic Radio DSP & Acoustics

  • Radio Signal Degradation: Integrated distance-based low-fidelity audio degradation. Real-time bandpass filtering and white-noise mixing are applied to mimic distance-based radio signals.
  • Synthesized PTT Mic Chimes: Added satisfying key-down/up radio chirps to simulate tactile radio transceivers.
  • Acoustics & Deck Occlusion: Introduced dynamic audio occlusion. Voice streams are now dynamically muffled/occluded based on ship deck layouts and bulkheads.
  • Voice Presets & Speech-To-Text (STT): Implemented client-side voice presets and initial support for Speech-To-Text processing.

๐Ÿ–ฅ๏ธ 3. Vulkan/DirectX HUD Overlay & Tactical Mini-Radar

  • Transparent HUD Overlay: Developed a click-through WPF overlay window using Win32 styles that remains fully compatible with Vulkan/DirectX in borderless windowed mode. Shows real-time server information, user connectivity, and active speakers.
  • Tactical Mini-Radar: Renders active localized VOIP sources on a HUD-based mini-radar.
  • Position Source Toggle: Added an optional client toggle between OCR (Optical Character Recognition) screen scanning and Game.log parsing (GRTPR) to conserve CPU cycles while tracking coordinates.

๐ŸŽฎ 4. Discord Rich Presence (RPC)

  • Added a settings toggle to enable/disable Discord RPC.
  • Displays current status, ship, and coordinate overlay cards directly on your Discord profile.

๐Ÿ› ๏ธ Under-the-Hood Enhancements & Stability

๐Ÿ’ป Client Enhancements

  • Startup & Dynamic Log Rotation: Cap logs at 100MB using a rotation system to prevent local storage bloat.
  • Native DLL Resolution: Resolved issues resolving native DLL dependencies when running as a single-file publish, adding fallback path matching.
  • Settings Crash & Compiler Fixes: Fixed a crash in the settings panel and resolved settings window constructor compiler warnings.

๐Ÿ—„๏ธ Server Reorganization

  • Modular Go Architecture: Reorganized the entire Go server codebase into clean, modular packages (audio, websockets, config, logging) and fixed CI/CD delivery pipelines.
  • Administrative Radar Map: Extended the server admin panel with an HTML5 canvas real-time radar map displaying synchronized player locations.

๐Ÿงช Testing & Validation Diff

  • C# Unit Tests: Added tests for:
    • GameDetectionService coordinate parsing and helmet attachment monitoring.
    • AudioPlaybackService synthesized PTT chime generation.
    • RadioDspFilter processing at different degradation levels.
  • Go Integration Tests: Added tests for position-server admin authentication, asynchronous goroutine-based message receiving, and real-time player coordinate broadcasting to admin clients.

๐Ÿ“ Documented Features

  • Updated all localized documentation versions (English, Portuguese, German, French) in the doc/ directory to cover:
    • OCR vs GRTPR coordinate selection.
    • Radio DSP effects.
    • Transparent Vulkan-compatible HUD overlay.
    • Portable ZIP file extraction unblocking steps.

๐Ÿ“‹ Complete Commit Changelog (0.1.0 โ†’ 0.2.0)

  • c99e6aa - fix(client): resolve settings window constructor compiler warnings
  • b572fb9 - docs: update portable zip unblocking steps across all readmes
  • b3377b3 - docs: document voice changer, hud radar, deck occlusion, and stt in readmes
  • c84f2d2 - feat(client): implement tactical mini-radar, voice presets, deck occlusion, stt, and fix settings crash
  • e56c90e - feat(client): implement auto-reconnect loop on unexpected socket disconnects
  • 5e9fbc9 - fix(client): cap log file size at 100MB using counter-based rotation
  • 3774779 - fix(audio): handle socket disposal gracefully and limit join logging
  • 191f7b2 - feat(net): transition audio transport from WebSockets to UDP
  • d7c9868 - docs: update client and server architecture sections in readmes
  • 351bf6c - feat: implement startup log rotation, fix single-file native DLL resolution, and enhance Discord RPC
  • 0dd3b85 - feat(client): add Discord RPC settings toggle and overlay info card
  • ee92bf2 - feat: implement acoustics, discord rpc, and radar visuals
  • 05a7857 - refactor(server): reorganize Go codebase into modular packages and fix pipelines
  • c45c782 - docs,tests: document position source toggle, radio dsp effects, overlay, and radar map
  • 57f9cb4 - feat(client server): implement client positional toggle, radio dsp, hud overlay; and server radar map