dsda: actually fix turning for demos

This commit is contained in:
feos 2025-02-24 23:25:51 +03:00
parent 4cf20df155
commit a2daa48cf4
5 changed files with 9 additions and 10 deletions

View File

@ -46,16 +46,16 @@ namespace BizHawk.Client.Common
MonstersRespawn = input[i++] is not 0, MonstersRespawn = input[i++] is not 0,
FastMonsters = input[i++] is not 0, FastMonsters = input[i++] is not 0,
NoMonsters = 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 _ = input[i++]; // DisplayPlayer is a non-sync setting so importers can't* set it
syncSettings.Player1Present = input[i++] is not 0; syncSettings.Player1Present = input[i++] is not 0;
syncSettings.Player2Present = input[i++] is not 0; syncSettings.Player2Present = input[i++] is not 0;
syncSettings.Player3Present = input[i++] is not 0; syncSettings.Player3Present = input[i++] is not 0;
syncSettings.Player4Present = input[i++] is not 0; syncSettings.Player4Present = input[i++] is not 0;
syncSettings.TurningResolution = DSDA.TurningResolution.Shorttics;
Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings); Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings);
var doomController1 = new DoomController(1); var doomController1 = new DoomController(1, false);
var controller = new SimpleController(doomController1.Definition); var controller = new SimpleController(doomController1.Definition);
controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID); controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID);
void ParsePlayer(string playerPfx) void ParsePlayer(string playerPfx)

View File

@ -31,10 +31,11 @@ namespace BizHawk.Client.Common
Player2Present = input[i++] is not 0, Player2Present = input[i++] is not 0,
Player3Present = input[i++] is not 0, Player3Present = input[i++] is not 0,
Player4Present = input[i++] is not 0, Player4Present = input[i++] is not 0,
TurningResolution = DSDA.TurningResolution.Shorttics,
}; };
Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings); Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings);
var hereticController = new HereticController(1); var hereticController = new HereticController(1, false);
var controller = new SimpleController(hereticController.Definition); var controller = new SimpleController(hereticController.Definition);
controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID); controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID);
void ParsePlayer(string playerPfx) void ParsePlayer(string playerPfx)

View File

@ -35,6 +35,7 @@ namespace BizHawk.Client.Common
Player3Class = (DSDA.HexenClass) input[i++], Player3Class = (DSDA.HexenClass) input[i++],
Player4Present = input[i++] is not 0, Player4Present = input[i++] is not 0,
Player4Class = (DSDA.HexenClass) input[i++], Player4Class = (DSDA.HexenClass) input[i++],
TurningResolution = DSDA.TurningResolution.Shorttics,
}; };
_ = input[i++]; // player 5 isPresent _ = input[i++]; // player 5 isPresent
_ = input[i++]; // player 5 class _ = input[i++]; // player 5 class
@ -46,7 +47,7 @@ namespace BizHawk.Client.Common
_ = input[i++]; // player 8 class _ = input[i++]; // player 8 class
Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings); Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(syncSettings);
var hexenController = new HexenController(1); var hexenController = new HexenController(1, false);
var controller = new SimpleController(hexenController.Definition); var controller = new SimpleController(hexenController.Definition);
controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID); controller.Definition.BuildMnemonicsCache(Result.Movie.SystemID);
void ParsePlayer(string playerPfx) void ParsePlayer(string playerPfx)

View File

@ -87,10 +87,6 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
{ {
players[i]._TurningSpeed = (int) (players[i]._TurningSpeed / 256.0); players[i]._TurningSpeed = (int) (players[i]._TurningSpeed / 256.0);
} }
else
{
players[i]._TurningSpeed = (int) (players[i]._TurningSpeed / 10.0);
}
// bool buttons // bool buttons
var actionsBitfield = portReaders[i](controller); var actionsBitfield = portReaders[i](controller);

View File

@ -67,9 +67,9 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
public enum TurningResolution : int public enum TurningResolution : int
{ {
[Display(Name = "16-bit integer (\"longtics\")")] [Display(Name = "16 bits (longtics)")]
Longtics = 1, Longtics = 1,
[Display(Name = "8-bit integer (\"shorttics\")")] [Display(Name = "8 bits (shorttics)")]
Shorttics = 2, Shorttics = 2,
} }
@ -267,6 +267,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
[DisplayName("Turning Resolution")] [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.")] [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)] [DefaultValue(TurningResolution.Longtics)]
[TypeConverter(typeof(DescribableEnumConverter))]
public TurningResolution TurningResolution { get; set; } public TurningResolution TurningResolution { get; set; }
[DisplayName("Prevent Level Exit")] [DisplayName("Prevent Level Exit")]