From a2daa48cf4ed63a8275f2138258920e9520a3244 Mon Sep 17 00:00:00 2001 From: feos Date: Mon, 24 Feb 2025 23:25:51 +0300 Subject: [PATCH] dsda: actually fix turning for demos --- src/BizHawk.Client.Common/movie/import/DoomLmpImport.cs | 4 ++-- src/BizHawk.Client.Common/movie/import/HereticLmpImport.cs | 3 ++- src/BizHawk.Client.Common/movie/import/HexenLmpImport.cs | 3 ++- src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs | 4 ---- src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs | 5 +++-- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/BizHawk.Client.Common/movie/import/DoomLmpImport.cs b/src/BizHawk.Client.Common/movie/import/DoomLmpImport.cs index e290373968..12b2f71f63 100644 --- a/src/BizHawk.Client.Common/movie/import/DoomLmpImport.cs +++ b/src/BizHawk.Client.Common/movie/import/DoomLmpImport.cs @@ -46,16 +46,16 @@ namespace BizHawk.Client.Common MonstersRespawn = input[i++] is not 0, FastMonsters = input[i++] is not 0, NoMonsters = input[i++] is not 0, + TurningResolution = DSDA.TurningResolution.Shorttics, }; _ = input[i++]; // DisplayPlayer is a non-sync setting so importers can't* set it syncSettings.Player1Present = input[i++] is not 0; syncSettings.Player2Present = input[i++] is not 0; syncSettings.Player3Present = input[i++] is not 0; syncSettings.Player4Present = input[i++] is not 0; - syncSettings.TurningResolution = DSDA.TurningResolution.Shorttics; Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings); - var doomController1 = new DoomController(1); + var doomController1 = new DoomController(1, false); var controller = new SimpleController(doomController1.Definition); controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID); void ParsePlayer(string playerPfx) diff --git a/src/BizHawk.Client.Common/movie/import/HereticLmpImport.cs b/src/BizHawk.Client.Common/movie/import/HereticLmpImport.cs index aab11f881b..5cdb201bd7 100644 --- a/src/BizHawk.Client.Common/movie/import/HereticLmpImport.cs +++ b/src/BizHawk.Client.Common/movie/import/HereticLmpImport.cs @@ -31,10 +31,11 @@ namespace BizHawk.Client.Common Player2Present = input[i++] is not 0, Player3Present = input[i++] is not 0, Player4Present = input[i++] is not 0, + TurningResolution = DSDA.TurningResolution.Shorttics, }; Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings); - var hereticController = new HereticController(1); + var hereticController = new HereticController(1, false); var controller = new SimpleController(hereticController.Definition); controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID); void ParsePlayer(string playerPfx) diff --git a/src/BizHawk.Client.Common/movie/import/HexenLmpImport.cs b/src/BizHawk.Client.Common/movie/import/HexenLmpImport.cs index 38b691ff28..5341c1d66e 100644 --- a/src/BizHawk.Client.Common/movie/import/HexenLmpImport.cs +++ b/src/BizHawk.Client.Common/movie/import/HexenLmpImport.cs @@ -35,6 +35,7 @@ namespace BizHawk.Client.Common Player3Class = (DSDA.HexenClass) input[i++], Player4Present = input[i++] is not 0, Player4Class = (DSDA.HexenClass) input[i++], + TurningResolution = DSDA.TurningResolution.Shorttics, }; _ = input[i++]; // player 5 isPresent _ = input[i++]; // player 5 class @@ -46,7 +47,7 @@ namespace BizHawk.Client.Common _ = input[i++]; // player 8 class Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings); - var hexenController = new HexenController(1); + var hexenController = new HexenController(1, false); var controller = new SimpleController(hexenController.Definition); controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID); void ParsePlayer(string playerPfx) diff --git a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs index d50d6df20f..e278ac1104 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.IEmulator.cs @@ -87,10 +87,6 @@ namespace BizHawk.Emulation.Cores.Computers.Doom { players[i]._TurningSpeed = (int) (players[i]._TurningSpeed / 256.0); } - else - { - players[i]._TurningSpeed = (int) (players[i]._TurningSpeed / 10.0); - } // bool buttons var actionsBitfield = portReaders[i](controller); diff --git a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs index 84bd1c2847..5dc08f72f4 100644 --- a/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs +++ b/src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.ISettable.cs @@ -67,9 +67,9 @@ namespace BizHawk.Emulation.Cores.Computers.Doom public enum TurningResolution : int { - [Display(Name = "16-bit integer (\"longtics\")")] + [Display(Name = "16 bits (longtics)")] Longtics = 1, - [Display(Name = "8-bit integer (\"shorttics\")")] + [Display(Name = "8 bits (shorttics)")] Shorttics = 2, } @@ -267,6 +267,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom [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)] + [TypeConverter(typeof(DescribableEnumConverter))] public TurningResolution TurningResolution { get; set; } [DisplayName("Prevent Level Exit")]