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,
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)

View File

@ -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)

View File

@ -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)

View File

@ -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);

View File

@ -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")]