From ce094535fa2b07f0c636fc80f9050f952b38e5e6 Mon Sep 17 00:00:00 2001 From: Cyd Date: Tue, 30 Jun 2026 14:13:36 -0500 Subject: [PATCH] Add RIOJoy to the product catalog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RIOJoy (the cockpit RIO → virtual-gamepad feeder; separate net48 repo) is now an installable/launchable product in Console/RedPlanet/Apps.xml. Its dist zip is already TeslaConsole-shaped (postinstall.bat + RIOJoy\ → extracts to C:\Games, the launcher runs postinstall.bat as SYSTEM to install ViGEmBus + register auto-start), so this is the only change needed on the TeslaSuite side. - Launch entry exe C:\Games\RIOJoy\app\RioJoy.Tray.exe, autoRestart=false (the postinstall HKLM Run entry owns startup; the catalog entry is for registration + manual restart from the console). - CatalogTests: bumped the count guard to 4 products / 6 entries and added a byte-exact LaunchData check for the RIOJoy entry. 74 tests green. Co-Authored-By: Claude Opus 4.8 --- Console/RedPlanet/Apps.xml | 19 +++++++++++++++++++ .../TeslaConsole.DiffTests/CatalogTests.cs | 10 ++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Console/RedPlanet/Apps.xml b/Console/RedPlanet/Apps.xml index 8f5cd40..f48c060 100644 --- a/Console/RedPlanet/Apps.xml +++ b/Console/RedPlanet/Apps.xml @@ -76,4 +76,23 @@ autoRestart="true" hostType="None" /> + + + + + diff --git a/Console/tests/TeslaConsole.DiffTests/CatalogTests.cs b/Console/tests/TeslaConsole.DiffTests/CatalogTests.cs index fdd4ad7..54203f9 100644 --- a/Console/tests/TeslaConsole.DiffTests/CatalogTests.cs +++ b/Console/tests/TeslaConsole.DiffTests/CatalogTests.cs @@ -25,10 +25,16 @@ namespace TeslaConsole.DiffTests => _fx.Recovered.Run("CatalogEntry", new[] { _catalog, launchKey, w, h }); [Fact] - public void Catalog_Has_Three_Products_And_Five_Entries() - => Assert.Equal("products=3;entries=5", + public void Catalog_Has_Four_Products_And_Six_Entries() + => Assert.Equal("products=4;entries=6", _fx.Recovered.Run("CatalogSummary", new[] { _catalog })); + [Fact] + public void RioJoy_Matches_Expected() + => Assert.Equal( + @"RIOJoy|fe83e212-45df-48f9-848e-0b3cee0692a3|C:\Games\RIOJoy\app\RioJoy.Tray.exe||C:\Games\RIOJoy\app|False", + Entry("FE83E212-45DF-48F9-848E-0B3CEE0692A3")); + // Each expected string is "DisplayName|LaunchKey|Exe|Args|WorkingDirectory|AutoRestart" // and matches exactly what the old hardcoded PodInfo_InstallProductCompleted emitted.