dsda: automap command

This commit is contained in:
feos 2025-02-23 20:31:39 +03:00
parent ac529ee191
commit b0c2ef831c
7 changed files with 11 additions and 3 deletions

Binary file not shown.

View File

@ -92,6 +92,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
players[i]._Fire = actionsBitfield & 0b00001; players[i]._Fire = actionsBitfield & 0b00001;
players[i]._Action = (actionsBitfield & 0b00010) >> 1; players[i]._Action = (actionsBitfield & 0b00010) >> 1;
players[i]._AltWeapon = (actionsBitfield & 0b00100) >> 2; players[i]._AltWeapon = (actionsBitfield & 0b00100) >> 2;
players[i]._Automap = (actionsBitfield & 0b01000) >> 3;
// Raven Games // Raven Games
if (_syncSettings.InputFormat is DoomControllerTypes.Heretic or DoomControllerTypes.Hexen) if (_syncSettings.InputFormat is DoomControllerTypes.Heretic or DoomControllerTypes.Hexen)

View File

@ -58,6 +58,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
"Strafe Left", "Strafe Left",
"Strafe Right", "Strafe Right",
"Run", "Run",
"Automap",
"Weapon Select 1", "Weapon Select 1",
"Weapon Select 2", "Weapon Select 2",
"Weapon Select 3", "Weapon Select 3",
@ -74,6 +75,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
if (c.IsPressed($"P{PortNum} Fire")) { result |= 0b0001; } if (c.IsPressed($"P{PortNum} Fire")) { result |= 0b0001; }
if (c.IsPressed($"P{PortNum} Use")) { result |= 0b0010; } if (c.IsPressed($"P{PortNum} Use")) { result |= 0b0010; }
if (c.IsPressed($"P{PortNum} Alt Weapon")) { result |= 0b0100; } if (c.IsPressed($"P{PortNum} Alt Weapon")) { result |= 0b0100; }
if (c.IsPressed($"P{PortNum} Automap")) { result |= 0b1000; }
return result; return result;
} }

View File

@ -41,6 +41,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
public int _Fire; public int _Fire;
public int _Action; public int _Action;
public int _AltWeapon; public int _AltWeapon;
public int _Automap;
// Hexen + Heretic (Raven Games) // Hexen + Heretic (Raven Games)
public int _FlyLook; public int _FlyLook;

View File

@ -51,6 +51,7 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
player1Inputs->_Action, player1Inputs->_Action,
player1Inputs->_WeaponSelect, player1Inputs->_WeaponSelect,
player1Inputs->_AltWeapon, player1Inputs->_AltWeapon,
player1Inputs->_Automap,
player1Inputs->_FlyLook, player1Inputs->_FlyLook,
player1Inputs->_ArtifactUse, player1Inputs->_ArtifactUse,
player1Inputs->_Jump, player1Inputs->_Jump,
@ -68,6 +69,7 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
player2Inputs->_Action, player2Inputs->_Action,
player2Inputs->_WeaponSelect, player2Inputs->_WeaponSelect,
player2Inputs->_AltWeapon, player2Inputs->_AltWeapon,
player2Inputs->_Automap,
player2Inputs->_FlyLook, player2Inputs->_FlyLook,
player2Inputs->_ArtifactUse, player2Inputs->_ArtifactUse,
player2Inputs->_Jump, player2Inputs->_Jump,
@ -85,6 +87,7 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
player3Inputs->_Action, player3Inputs->_Action,
player3Inputs->_WeaponSelect, player3Inputs->_WeaponSelect,
player3Inputs->_AltWeapon, player3Inputs->_AltWeapon,
player3Inputs->_Automap,
player3Inputs->_FlyLook, player3Inputs->_FlyLook,
player3Inputs->_ArtifactUse, player3Inputs->_ArtifactUse,
player3Inputs->_Jump, player3Inputs->_Jump,
@ -102,6 +105,7 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
player4Inputs->_Action, player4Inputs->_Action,
player4Inputs->_WeaponSelect, player4Inputs->_WeaponSelect,
player4Inputs->_AltWeapon, player4Inputs->_AltWeapon,
player4Inputs->_Automap,
player4Inputs->_FlyLook, player4Inputs->_FlyLook,
player4Inputs->_ArtifactUse, player4Inputs->_ArtifactUse,
player4Inputs->_Jump, player4Inputs->_Jump,

View File

@ -20,7 +20,7 @@ extern "C"
void headlessRunSingleTick(); void headlessRunSingleTick();
void headlessUpdateSounds(void); void headlessUpdateSounds(void);
void headlessClearTickCommand(); void headlessClearTickCommand();
void headlessSetTickCommand(int playerId, int forwardSpeed, int strafingSpeed, int turningSpeed, int fire, int action, int weapon, int altWeapon, int lookfly, int artifact, int jump, int endPlayer); void headlessSetTickCommand(int playerId, int forwardSpeed, int strafingSpeed, int turningSpeed, int fire, int action, int weapon, int altWeapon, int automap, int lookfly, int artifact, int jump, int endPlayer);
// Video-related functions // Video-related functions
void headlessUpdateVideo(void); void headlessUpdateVideo(void);
@ -45,7 +45,6 @@ extern "C"
unsigned char * I_CaptureAudio (int* nsamples); unsigned char * I_CaptureAudio (int* nsamples);
void I_InitSound(void); void I_InitSound(void);
void I_SetSoundCap (void); void I_SetSoundCap (void);
} }
// Players information // Players information
@ -91,6 +90,7 @@ struct PackedPlayerInput
int _Fire; int _Fire;
int _Action; int _Action;
int _AltWeapon; int _AltWeapon;
int _Automap;
int _FlyLook; int _FlyLook;
int _ArtifactUse; int _ArtifactUse;
int _Jump; int _Jump;

@ -1 +1 @@
Subproject commit f34f64c861dde729e0990153715bef9b0cebc70c Subproject commit 67b2144c7605c3d69726afc418abcee0c6c8013c