fix #213: complete suicide and framerate presentation
Translate suicide response 0x004A as retail's successful self-kill notice. Port /framerate onto the authored SmartBox FPS element with live two-decimal FPS and DEG values, keep diagnostic window chrome independent, and synchronize command-driven settings without discarding panel drafts. Co-Authored-By: Codex <codex@openai.com>
This commit is contained in:
parent
9ea579bdd0
commit
43f7c7807c
17 changed files with 729 additions and 39 deletions
|
|
@ -17,17 +17,14 @@ public sealed class DisplaySettingsTests
|
|||
// · Resolution matches WindowOptions (1280×720 in GameWindow.Run)
|
||||
// · FieldOfView matches camera FovY (60° = π/3)
|
||||
// · VSync matches WindowOptions (false during dev)
|
||||
// · ShowFps true preserves the perf string in the title bar
|
||||
// Net effect: opening Display + Save with no edits is a visual
|
||||
// no-op (no window resize, no camera FovY change, no title
|
||||
// bar change).
|
||||
// · ShowFps false matches retail's initially-hidden SmartBox meter
|
||||
var d = DisplaySettings.Default;
|
||||
Assert.Equal("1280x720", d.Resolution);
|
||||
Assert.False(d.Fullscreen);
|
||||
Assert.False(d.VSync);
|
||||
Assert.Equal(60f, d.FieldOfView);
|
||||
Assert.Equal(1.0f, d.Gamma);
|
||||
Assert.True(d.ShowFps);
|
||||
Assert.False(d.ShowFps);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
@ -65,7 +62,7 @@ public sealed class DisplaySettingsTests
|
|||
// Other fields untouched.
|
||||
Assert.Equal("1280x720", d.Resolution);
|
||||
Assert.False(d.VSync);
|
||||
Assert.True(d.ShowFps);
|
||||
Assert.False(d.ShowFps);
|
||||
}
|
||||
|
||||
private static int ParseWidth(string res)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue