From f0765a3a720e82281ab3ae37c752782d8c29cf8e Mon Sep 17 00:00:00 2001 From: feos Date: Sun, 16 Mar 2025 23:03:15 +0300 Subject: [PATCH] fix build remove underscore from non-private fields expose wipe screen setting --- .../Base Implementations/Bk2MnemonicLookup.cs | 2 +- .../Computers/Doom/DSDA.IEmulator.cs | 48 +++++++++---------- .../Computers/Doom/DSDA.ISettable.cs | 25 ++++++---- .../Computers/Doom/DSDA.cs | 10 ++-- .../Computers/Doom/LibDSDA.cs | 48 +++++++++---------- 5 files changed, 69 insertions(+), 64 deletions(-) diff --git a/src/BizHawk.Emulation.Common/Base Implementations/Bk2MnemonicLookup.cs b/src/BizHawk.Emulation.Common/Base Implementations/Bk2MnemonicLookup.cs index 81dc4cac79..8ece7c8b7d 100644 --- a/src/BizHawk.Emulation.Common/Base Implementations/Bk2MnemonicLookup.cs +++ b/src/BizHawk.Emulation.Common/Base Implementations/Bk2MnemonicLookup.cs @@ -820,7 +820,7 @@ namespace BizHawk.Emulation.Common }, [VSystemID.Raw.Doom] = new() { - ["Automap"] = "M", + ["Automap"] = 'M', ["Backward"] = 'v', ["End Player"] = 'E', ["Fire"] = 'F', diff --git a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs index 7557089df8..1b2343d271 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs @@ -64,57 +64,57 @@ namespace BizHawk.Emulation.Cores.Computers.Doom } // initial axis read - players[i]._RunSpeed = potReaders[i](controller, 0); - players[i]._StrafingSpeed = potReaders[i](controller, 1); - players[i]._TurningSpeed = potReaders[i](controller, 2); - players[i]._WeaponSelect = potReaders[i](controller, 3); + players[i].RunSpeed = potReaders[i](controller, 0); + players[i].StrafingSpeed = potReaders[i](controller, 1); + players[i].TurningSpeed = potReaders[i](controller, 2); + players[i].WeaponSelect = potReaders[i](controller, 3); // override axis based on movement buttons (turning is reversed upstream) - if (controller.IsPressed($"P{i+1} Forward")) players[i]._RunSpeed = _runSpeeds[speedIndex]; - if (controller.IsPressed($"P{i+1} Backward")) players[i]._RunSpeed = -_runSpeeds[speedIndex]; - if (controller.IsPressed($"P{i+1} Strafe Right")) players[i]._StrafingSpeed = _strafeSpeeds[speedIndex]; - if (controller.IsPressed($"P{i+1} Strafe Left")) players[i]._StrafingSpeed = -_strafeSpeeds[speedIndex]; - if (controller.IsPressed($"P{i + 1} Turn Right")) players[i]._TurningSpeed = -turnSpeed; - if (controller.IsPressed($"P{i + 1} Turn Left")) players[i]._TurningSpeed = turnSpeed; + if (controller.IsPressed($"P{i + 1} Forward")) players[i].RunSpeed = _runSpeeds[speedIndex]; + if (controller.IsPressed($"P{i + 1} Backward")) players[i].RunSpeed = -_runSpeeds[speedIndex]; + if (controller.IsPressed($"P{i + 1} Strafe Right")) players[i].StrafingSpeed = _strafeSpeeds[speedIndex]; + if (controller.IsPressed($"P{i + 1} Strafe Left")) players[i].StrafingSpeed = -_strafeSpeeds[speedIndex]; + if (controller.IsPressed($"P{i + 1} Turn Right")) players[i].TurningSpeed = -turnSpeed; + if (controller.IsPressed($"P{i + 1} Turn Left")) players[i].TurningSpeed = turnSpeed; // mouse-driven running // divider matches the core - players[i]._RunSpeed -= (int)(potReaders[i](controller, 4) * _syncSettings.MouseRunSensitivity / 8.0); - players[i]._RunSpeed = players[i]._RunSpeed.Clamp(-_runSpeeds[1], _runSpeeds[1]); + players[i].RunSpeed -= (int)(potReaders[i](controller, 4) * _syncSettings.MouseRunSensitivity / 8.0); + players[i].RunSpeed = players[i].RunSpeed.Clamp(-_runSpeeds[1], _runSpeeds[1]); // mouse-driven turning // divider recalibrates minimal mouse movement to be 1 (requires global setting) - players[i]._TurningSpeed -= (int)(potReaders[i](controller, 5) * _syncSettings.MouseTurnSensitivity / 272.0); + players[i].TurningSpeed -= (int)(potReaders[i](controller, 5) * _syncSettings.MouseTurnSensitivity / 272.0); if (_syncSettings.TurningResolution == TurningResolution.Shorttics) { // calc matches the core - players[i]._TurningSpeed = ((players[i]._TurningSpeed << 8) + 128) >> 8; + players[i].TurningSpeed = ((players[i].TurningSpeed << 8) + 128) >> 8; } // bool buttons var actionsBitfield = portReaders[i](controller); - players[i]._Fire = actionsBitfield & 0b00001; - players[i]._Action = (actionsBitfield & 0b00010) >> 1; - players[i]._Automap = (actionsBitfield & 0b00100) >> 2; + players[i].Fire = actionsBitfield & 0b00001; + players[i].Action = (actionsBitfield & 0b00010) >> 1; + players[i].Automap = (actionsBitfield & 0b00100) >> 2; // Raven Games if (_syncSettings.InputFormat is DoomControllerTypes.Heretic or DoomControllerTypes.Hexen) { - players[i]._FlyLook = potReaders[i](controller, 6); - players[i]._ArtifactUse = potReaders[i](controller, 7); + players[i].FlyLook = potReaders[i](controller, 6); + players[i].ArtifactUse = potReaders[i](controller, 7); if (_syncSettings.InputFormat is DoomControllerTypes.Hexen) { - players[i]._Jump = (actionsBitfield & 0b01000) >> 3; - players[i]._EndPlayer = (actionsBitfield & 0b10000) >> 4; + players[i].Jump = (actionsBitfield & 0b01000) >> 3; + players[i].EndPlayer = (actionsBitfield & 0b10000) >> 4; } } } } PackedRenderInfo renderInfo = new PackedRenderInfo(); - renderInfo._RenderVideo = renderVideo ? 1 : 0; - renderInfo._RenderAudio = renderAudio ? 1 : 0; - renderInfo._PlayerPointOfView = _settings.DisplayPlayer - 1; + renderInfo.RenderVideo = renderVideo ? 1 : 0; + renderInfo.RenderAudio = renderAudio ? 1 : 0; + renderInfo.PlayerPointOfView = _settings.DisplayPlayer - 1; IsLagFrame = _core.dsda_frame_advance( ref players[0], diff --git a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs index f8571f4f0c..52ef14ee3c 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs @@ -259,6 +259,11 @@ namespace BizHawk.Emulation.Cores.Computers.Doom [DefaultValue(true)] public bool AlwaysRun { get; set; } + [DisplayName("Render Wipescreen")] + [Description("Enables screen melt - an effect seen when Doom changes scene, for example, when starting or exiting a level.")] + [DefaultValue(true)] + public bool RenderWipescreen { get; set; } + [DisplayName("Turning Resolution")] [Description("\"Shorttics\" refers to decreased turning resolution used for demos. \"Longtics\" refers to the regular turning resolution outside of a demo-recording environment.")] [DefaultValue(TurningResolution.Longtics)] @@ -313,16 +318,16 @@ namespace BizHawk.Emulation.Cores.Computers.Doom { return new CInterface.InitSettings { - _Player1Present = Player1Present ? 1 : 0, - _Player2Present = Player2Present ? 1 : 0, - _Player3Present = Player3Present ? 1 : 0, - _Player4Present = Player4Present ? 1 : 0, - _Player1Class = (int) Player1Class, - _Player2Class = (int) Player2Class, - _Player3Class = (int) Player3Class, - _Player4Class = (int) Player4Class, - _PreventLevelExit = PreventLevelExit ? 1 : 0, - _PreventGameEnd = PreventGameEnd ? 1 : 0 + Player1Present = Player1Present ? 1 : 0, + Player2Present = Player2Present ? 1 : 0, + Player3Present = Player3Present ? 1 : 0, + Player4Present = Player4Present ? 1 : 0, + Player1Class = (int) Player1Class, + Player2Class = (int) Player2Class, + Player3Class = (int) Player3Class, + Player4Class = (int) Player4Class, + PreventLevelExit = PreventLevelExit ? 1 : 0, + PreventGameEnd = PreventGameEnd ? 1 : 0 // MouseRunSensitivity is handled at Bizhawk level // MouseTurnSensitivity is handled at Bizhawk level }; diff --git a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs index 8e07fceeb2..df80d61450 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs @@ -77,16 +77,16 @@ namespace BizHawk.Emulation.Cores.Computers.Doom _nativeResolution.X * _settings.ScaleFactor}x{ _nativeResolution.Y * _settings.ScaleFactor}\"\n" + $"usegamma {_settings.Gamma}\n" - + "dsda_exhud 0\n" - + "dsda_pistol_start 0\n" - + "uncapped_framerate 0\n" + + $"render_wipescreen {(_syncSettings.RenderWipescreen ? 1 : 0)}\n" + "render_aspect 3\n" // 4:3, controls FOV on higher resolutions (see SetRatio()) + "render_stretch_hud 0\n" + "render_stretchsky 0\n" + "render_doom_lightmaps 1\n" - + "render_wipescreen 1\n" + + "dsda_exhud 0\n" + + "uncapped_framerate 0\n" + "map_coordinates 0\n" + "map_totals 0\n" + + "map_time 0\n" ); _elf = new WaterboxHost(new WaterboxOptions @@ -178,7 +178,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom ConditionalArg(_syncSettings.MultiplayerMode == MultiplayerMode.Deathmatch, "-deathmatch"); ConditionalArg(_syncSettings.MultiplayerMode == MultiplayerMode.Altdeath, "-altdeath"); ConditionalArg(_syncSettings.Turbo > 0, $"-turbo {_syncSettings.Turbo}"); - ConditionalArg((initSettings._Player1Present + initSettings._Player2Present + initSettings._Player3Present + initSettings._Player4Present) > 1, "-solo-net"); + ConditionalArg((initSettings.Player1Present + initSettings.Player2Present + initSettings.Player3Present + initSettings.Player4Present) > 1, "-solo-net"); } private void ConditionalArg(bool condition, string setting) diff --git a/src/BizHawk.Emulation.Cores/Computers/Doom/LibDSDA.cs b/src/BizHawk.Emulation.Cores/Computers/Doom/LibDSDA.cs index 86f2153fef..5c64d9cb50 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Doom/LibDSDA.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Doom/LibDSDA.cs @@ -29,44 +29,44 @@ namespace BizHawk.Emulation.Cores.Computers.Doom [StructLayout(LayoutKind.Sequential)] public struct InitSettings { - public int _Player1Present; - public int _Player2Present; - public int _Player3Present; - public int _Player4Present; - public int _Player1Class; - public int _Player2Class; - public int _Player3Class; - public int _Player4Class; - public int _PreventLevelExit; - public int _PreventGameEnd; + public int Player1Present; + public int Player2Present; + public int Player3Present; + public int Player4Present; + public int Player1Class; + public int Player2Class; + public int Player3Class; + public int Player4Class; + public int PreventLevelExit; + public int PreventGameEnd; } [StructLayout(LayoutKind.Sequential)] public struct PackedPlayerInput { - public int _RunSpeed; - public int _StrafingSpeed; - public int _TurningSpeed; - public int _WeaponSelect; - public int _Fire; - public int _Action; - public int _Automap; + public int RunSpeed; + public int StrafingSpeed; + public int TurningSpeed; + public int WeaponSelect; + public int Fire; + public int Action; + public int Automap; // Hexen + Heretic (Raven Games) - public int _FlyLook; - public int _ArtifactUse; + public int FlyLook; + public int ArtifactUse; // Hexen only - public int _Jump; - public int _EndPlayer; + public int Jump; + public int EndPlayer; } [StructLayout(LayoutKind.Sequential)] public struct PackedRenderInfo { - public int _RenderVideo; - public int _RenderAudio; - public int _PlayerPointOfView; + public int RenderVideo; + public int RenderAudio; + public int PlayerPointOfView; } [BizImport(CallingConvention.Cdecl)]