Register Descent 3 in the product catalog
Single GameClient entry (no {res}: D3 takes -width/-height, resolution
pinned to the pod main screen; no supervisor: single process). Args boot
straight into the campaign first level for phase-0 free flight; they
change to -venue once the D3_VENUE Munga build ships. LC/MR keys
...971/...972 reserved. Catalog diff tests updated (21 passing).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -121,6 +121,27 @@
|
||||
hostType="None" />
|
||||
</Product>
|
||||
|
||||
<!-- Descent 3 (open-source engine + site-owned GOG assets; C:\VWE\Descent3
|
||||
repo, venue\pack-dist.ps1 builds the package). Pod input arrives through
|
||||
the RIOJoy "Descent 3" profile (RioGamepad HID), merged by the package's
|
||||
postinstall. No {res} token: D3 takes -width/-height, not " -res W H" -
|
||||
resolution is pinned to the pod main screen. Single process, no
|
||||
supervisor; kill = terminate Descent3.exe. The args boot straight into
|
||||
the campaign's first level (phase-0 free flight); when the D3_VENUE
|
||||
Munga build lands, args change to "-venue -nointro{res} -framecap 60"
|
||||
and LC/MR role entries get added (keys ...971/...972 reserved). -->
|
||||
<Product id="B7E6D3A0-52C4-4F19-9A8E-6D40C1F2A970"
|
||||
name="Descent 3"
|
||||
menuText="Descent 3..."
|
||||
hostTypeDialog="false">
|
||||
<Launch key="B7E6D3A0-52C4-4F19-9A8E-6D40C1F2A970"
|
||||
displayName="Descent 3"
|
||||
exe="C:\Games\Descent3\Descent3.exe"
|
||||
args="-pilot pod -nointro -nooutragelogo -fullscreen -width 800 -height 600 -framecap 60 -mission d3 -loadlevel 1"
|
||||
autoRestart="true"
|
||||
hostType="None" />
|
||||
</Product>
|
||||
|
||||
<!-- TeslaRel410 - the DOSBox-X preservation pods (C:\VWE\TeslaRel410 repo).
|
||||
The package (emulator\dist\TeslaPod410.zip, built by deploy\package.ps1)
|
||||
extracts to C:\Games (postinstall.bat + TeslaPod410\); pod-launch.exe is
|
||||
|
||||
@@ -25,8 +25,8 @@ namespace TeslaConsole.DiffTests
|
||||
=> _fx.Recovered.Run("CatalogEntry", new[] { _catalog, launchKey, w, h });
|
||||
|
||||
[Fact]
|
||||
public void Catalog_Has_Five_Products_And_Fourteen_Entries()
|
||||
=> Assert.Equal("products=5;entries=14",
|
||||
public void Catalog_Has_Six_Products_And_Fifteen_Entries()
|
||||
=> Assert.Equal("products=6;entries=15",
|
||||
_fx.Recovered.Run("CatalogSummary", new[] { _catalog }));
|
||||
|
||||
[Fact]
|
||||
@@ -101,6 +101,22 @@ namespace TeslaConsole.DiffTests
|
||||
@"BattleTech 4.11 MR|f4c957fd-72f7-4c5f-8971-28095007e8d1|C:\Games\BT411\btl4.exe|-net 1501 -mr|C:\Games\BT411|True",
|
||||
Entry("F4C957FD-72F7-4C5F-8971-28095007E8D1"));
|
||||
|
||||
// Descent 3 — open-source engine + site GOG assets (C:\VWE\Descent3 repo,
|
||||
// venue\pack-dist.ps1 package). Single GameClient entry, resolution pinned
|
||||
// in args ({res} absent — D3 takes -width/-height, not " -res W H").
|
||||
|
||||
[Fact]
|
||||
public void Descent3_Matches_Expected()
|
||||
=> Assert.Equal(
|
||||
@"Descent 3|b7e6d3a0-52c4-4f19-9a8e-6d40c1f2a970|C:\Games\Descent3\Descent3.exe|-pilot pod -nointro -nooutragelogo -fullscreen -width 800 -height 600 -framecap 60 -mission d3 -loadlevel 1|C:\Games\Descent3|True",
|
||||
Entry("B7E6D3A0-52C4-4F19-9A8E-6D40C1F2A970"));
|
||||
|
||||
[Fact]
|
||||
public void Descent3_Resolution_Choice_Has_No_Effect()
|
||||
=> Assert.Equal(
|
||||
@"Descent 3|b7e6d3a0-52c4-4f19-9a8e-6d40c1f2a970|C:\Games\Descent3\Descent3.exe|-pilot pod -nointro -nooutragelogo -fullscreen -width 800 -height 600 -framecap 60 -mission d3 -loadlevel 1|C:\Games\Descent3|True",
|
||||
Entry("B7E6D3A0-52C4-4F19-9A8E-6D40C1F2A970", "1024", "768"));
|
||||
|
||||
// TeslaRel410 — the DOSBox-X preservation pods. All six entries launch
|
||||
// pod-launch.exe; the mode arg ("bt"/"rp") selects the game, LC/MR boot
|
||||
// identically (the console assigns the role via the egg hostType), and
|
||||
|
||||
Reference in New Issue
Block a user