Skip to content

Add Kayak VR: Mirage GameLink plugin#1

Open
Copilot wants to merge 3 commits intomainfrom
copilot/add-gamelink-plugin-kayak-vr-mirage
Open

Add Kayak VR: Mirage GameLink plugin#1
Copilot wants to merge 3 commits intomainfrom
copilot/add-gamelink-plugin-kayak-vr-mirage

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 27, 2026

  • Create KayakVRMiragePlugin directory and files
    • Config.cs (UDP port 33001 default)
    • SRSPacket.cs (pure data struct) + SRSPacketConverter (IByteConverter reading last 32 bytes)
    • KayakVRMiragePlugin.cs (UdpTelemetry + SRSPacketConverter)
    • KayakVRMiragePlugin.csproj
    • Resources (logo.png, recent.png, wide.png, description.html, Default.yawglprofile)
  • Add project to Plugins.sln
  • Build succeeded (0 errors)
  • CodeQL: 0 alerts

🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Copy link
Copy Markdown
Owner

@drowhunter drowhunter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is packet dump

0000   02 00 00 00 45 00 01 08 76 9e 00 00 80 11 c5 44
0010   7f 00 00 01 7f 00 00 01 f4 fb 80 e9 00 f4 3b 45
0020   61 70 69 00 66 00 00 00 4b 61 79 61 6b 20 56 52
0030   3a 20 4d 69 72 61 67 65 00 00 00 00 00 00 00 00
0040   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0050   00 00 00 00 00 00 00 00 00 00 4b 61 79 61 6b 00
0060   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0070   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0080   00 00 00 00 00 00 00 00 00 00 00 00 4c 65 76 65
0090   6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00a0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00c0   c5 32 e0 3e 00 00 00 00 00 00 00 00 00 00 00 00
00d0   02 66 7d bf 5a 73 97 40 29 46 97 c2 00 00 00 00
00e0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00f0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0100   00 00 00 00 00 00 00 00 00 00 00 00

It is SRS
It has metadata before the floats
The motion block is always the last 32 bytes
Port is 33001
Parses the 8 floats
Exposes them in your GameLink telemetry model

Copy link
Copy Markdown
Author

Copilot AI commented Mar 27, 2026

Here is packet dump

0000   02 00 00 00 45 00 01 08 76 9e 00 00 80 11 c5 44...

Updated in c8718c9. The plugin now skips the metadata header (game name, category, level strings) and reads the last 32 bytes of the UDP payload as 8 floats: Heave, Sway, Surge, Yaw, Pitch, Roll, Extra1, Extra2. Also added a guard so packets shorter than 32 bytes are silently ignored.

Copilot AI requested a review from drowhunter March 27, 2026 01:54
Copy link
Copy Markdown
Owner

@drowhunter drowhunter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the UdpTelemetry helper class instead of UdpClient

Copy link
Copy Markdown
Author

Copilot AI commented Mar 27, 2026

Use the UdpTelemetry helper class instead of UdpClient

Done in 06a81fd. Introduced SRSPacketConverter : IByteConverter<SRSPacket> which extracts the last 32 bytes of the raw payload as 8 floats, and restored UdpTelemetry<SRSPacket> with that converter.

Copilot AI requested a review from drowhunter March 27, 2026 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants