parent
89b6da50d0
commit
9351a045c0
Binary file not shown.
|
@ -820,6 +820,7 @@ namespace BizHawk.Emulation.Common
|
|||
},
|
||||
[VSystemID.Raw.Doom] = new()
|
||||
{
|
||||
["Automap"] = "M",
|
||||
["Backward"] = 'v',
|
||||
["End Player"] = 'E',
|
||||
["Fire"] = 'F',
|
||||
|
@ -891,14 +892,14 @@ namespace BizHawk.Emulation.Common
|
|||
},
|
||||
[VSystemID.Raw.Doom] = new()
|
||||
{
|
||||
["Fly / Look"] = "L",
|
||||
["Mouse Running"] = "mR",
|
||||
["Mouse Turning"] = "mT",
|
||||
["Run Speed"] = "R",
|
||||
["Strafing Speed"] = "S",
|
||||
["Turning Speed"] = "T",
|
||||
["Weapon Select"] = "W",
|
||||
["Fly / Look"] = "L",
|
||||
["Use Artifact"] = "U",
|
||||
["Mouse Running"] = "mR",
|
||||
["Mouse Turning"] = "mT"
|
||||
["Weapon Select"] = "W",
|
||||
},
|
||||
};
|
||||
}
|
||||
|
|
|
@ -116,7 +116,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
|
|||
renderInfo._RenderAudio = renderAudio ? 1 : 0;
|
||||
renderInfo._PlayerPointOfView = _settings.DisplayPlayer - 1;
|
||||
|
||||
_core.dsda_frame_advance(
|
||||
IsLagFrame = _core.dsda_frame_advance(
|
||||
ref players[0],
|
||||
ref players[1],
|
||||
ref players[2],
|
||||
|
@ -131,6 +131,11 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
|
|||
|
||||
Frame++;
|
||||
|
||||
if (IsLagFrame)
|
||||
{
|
||||
LagCount++;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,9 +4,8 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
|
|||
{
|
||||
public partial class DSDA : IInputPollable
|
||||
{
|
||||
public int LagCount { get; set; }
|
||||
|
||||
public bool IsLagFrame { get; set; }
|
||||
public int LagCount { get; set; } = 0;
|
||||
public bool IsLagFrame { get; set; } = false;
|
||||
|
||||
public IInputCallbackSystem InputCallbacks => _inputCallbacks;
|
||||
|
||||
|
|
|
@ -18,6 +18,9 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
|
|||
_turnHeld[3] = reader.ReadInt32();
|
||||
|
||||
Frame = reader.ReadInt32();
|
||||
LagCount = reader.ReadInt32();
|
||||
IsLagFrame = reader.ReadBoolean();
|
||||
|
||||
// any managed pointers that we sent to the core need to be resent now!
|
||||
UpdateVideo();
|
||||
}
|
||||
|
@ -32,6 +35,8 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
|
|||
writer.Write(_turnHeld[3]);
|
||||
|
||||
writer.Write(Frame);
|
||||
writer.Write(LagCount);
|
||||
writer.Write(IsLagFrame);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
|
|||
public abstract bool dsda_init(ref InitSettings settings, int argc, string[] argv);
|
||||
|
||||
[BizImport(CallingConvention.Cdecl)]
|
||||
public abstract void dsda_frame_advance(
|
||||
public abstract bool dsda_frame_advance(
|
||||
ref PackedPlayerInput player1Inputs,
|
||||
ref PackedPlayerInput player2Inputs,
|
||||
ref PackedPlayerInput player3Inputs,
|
||||
|
|
|
@ -38,7 +38,7 @@ ECL_EXPORT void dsda_get_video(int *w, int *h, int *pitch, uint8_t **buffer, int
|
|||
*paletteBuffer = _convertedPaletteBuffer;
|
||||
}
|
||||
|
||||
ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, struct PackedPlayerInput *player2Inputs, struct PackedPlayerInput *player3Inputs, struct PackedPlayerInput *player4Inputs, struct PackedRenderInfo *renderInfo)
|
||||
ECL_EXPORT bool dsda_frame_advance(struct PackedPlayerInput *player1Inputs, struct PackedPlayerInput *player2Inputs, struct PackedPlayerInput *player3Inputs, struct PackedPlayerInput *player4Inputs, struct PackedRenderInfo *renderInfo)
|
||||
{
|
||||
// Setting inputs
|
||||
headlessClearTickCommand();
|
||||
|
@ -137,6 +137,9 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
|
|||
headlessUpdateVideo();
|
||||
}
|
||||
}
|
||||
|
||||
// Assume wipe is lag
|
||||
return !wipeDone;
|
||||
}
|
||||
|
||||
ECL_ENTRY void (*input_callback_cb)(void);
|
||||
|
|
Loading…
Reference in New Issue