private static void FrameStepping(GamePadState padState) { bool rightTrigger = padState.Triggers.Right > 0.5f; bool dpadUp = padState.DPad.Up == ButtonState.Pressed || (IsKeyDown(settings.KeyFrameAdvance) && !IsKeyDown(settings.KeyStart)); bool dpadDown = padState.DPad.Down == ButtonState.Pressed || (IsKeyDown(settings.KeyPause) && !IsKeyDown(settings.KeyStart)); if (HasFlag(state, State.Enable) && !HasFlag(state, State.Record) && !rightTrigger) { if (HasFlag(nextState, State.FrameStep)) { state |= State.FrameStep; nextState &= ~State.FrameStep; } if (!dpadUp && frameStepWasDpadUp) { if (!HasFlag(state, State.FrameStep)) { state |= State.FrameStep; nextState &= ~State.FrameStep; } else { state &= ~State.FrameStep; nextState |= State.FrameStep; controller.ReloadPlayback(); if (ExportSyncData) { ExportPlayerInfo(); } } FrameStepCooldown = 60; } else if (!dpadDown && frameStepWasDpadDown) { state &= ~State.FrameStep; nextState &= ~State.FrameStep; } else if (HasFlag(state, State.FrameStep) && (padState.ThumbSticks.Right.X > 0.1 || IsKeyDown(settings.KeyFastForward))) { float rStick = padState.ThumbSticks.Right.X; if (rStick < 0.1f) { rStick = 0.5f; } FrameStepCooldown -= (int)((rStick - 0.1) * 80f); if (FrameStepCooldown <= 0) { FrameStepCooldown = 60; state &= ~State.FrameStep; nextState |= State.FrameStep; controller.ReloadPlayback(); } } } frameStepWasDpadUp = dpadUp; frameStepWasDpadDown = dpadDown; }
private static void FrameStepping(GamePadState padState) { bool rightTrigger = padState.Triggers.Right > 0.5f; bool dpadUp = padState.DPad.Up == ButtonState.Pressed || (IsKeyDown(Keys.OemOpenBrackets) && !IsKeyDown(Keys.RightControl)); bool dpadDown = padState.DPad.Down == ButtonState.Pressed || (IsKeyDown(Keys.OemCloseBrackets) && !IsKeyDown(Keys.RightControl)); if (HasFlag(state, State.Enable) && !HasFlag(state, State.Record) && !rightTrigger) { if (HasFlag(nextState, State.FrameStep)) { state |= State.FrameStep; nextState &= ~State.FrameStep; } if (!dpadUp && frameStepWasDpadUp) { if (!HasFlag(state, State.FrameStep)) { state |= State.FrameStep; nextState &= ~State.FrameStep; } else { state &= ~State.FrameStep; nextState |= State.FrameStep; controller.ReloadPlayback(); } FrameStepCooldown = 60; } else if (!dpadDown && frameStepWasDpadDown) { state &= ~State.FrameStep; nextState &= ~State.FrameStep; } else if (HasFlag(state, State.FrameStep) && (padState.ThumbSticks.Right.X > 0.1 || (IsKeyDown(Keys.RightShift) && IsKeyDown(Keys.RightControl)))) { float rStick = padState.ThumbSticks.Right.X; if (rStick < 0.1f) { rStick = 0.5f; } FrameStepCooldown -= (int)((rStick - 0.1) * 80f); if (FrameStepCooldown <= 0) { FrameStepCooldown = 60; state &= ~State.FrameStep; nextState |= State.FrameStep; controller.ReloadPlayback(); } } } frameStepWasDpadUp = dpadUp; frameStepWasDpadDown = dpadDown; }
private static void ReloadRun() { controller.ReloadPlayback(); }
private static void FrameStepping() { bool dpadUp = padState.DPad.Up == ButtonState.Pressed || (IsKeyDown(Keys.OemCloseBrackets) && !IsKeyDown(Keys.RightControl)); bool dpadDown = padState.DPad.Down == ButtonState.Pressed || (IsKeyDown(Keys.OemOpenBrackets) && !IsKeyDown(Keys.RightControl)); bool leftStick = padState.Buttons.LeftStick == ButtonState.Pressed; if (HasFlag(state, State.Enable)) { if (HasFlag(nextState, State.FrameStep)) { state |= State.FrameStep; nextState &= ~State.FrameStep; } if (!dpadUp && frameStepWasDpadUp) { if (!HasFlag(state, State.FrameStep)) { state |= State.FrameStep; nextState &= ~State.FrameStep; } else { state &= ~State.FrameStep; nextState |= State.FrameStep; controller.ReloadPlayback(); } FrameStepCooldown = 60; } else if (!dpadDown && frameStepWasDpadDown) { StepBack(); } else if (!leftStick && frameStepWasLeftStick) { state &= ~State.FrameStep; nextState &= ~State.FrameStep; controller.ReloadPlayback(); } else if (HasFlag(state, State.FrameStep) && (padState.ThumbSticks.Right.X > 0.1 || (IsKeyDown(Keys.RightShift) && IsKeyDown(Keys.RightControl)))) { float rStick = padState.ThumbSticks.Right.X; if (rStick < 0.1f) { rStick = 0.5f; } FrameStepCooldown -= (int)((rStick - 0.1) * 80f); if (FrameStepCooldown <= 0) { FrameStepCooldown = 60; state &= ~State.FrameStep; nextState |= State.FrameStep; controller.ReloadPlayback(); } } else if (HasFlag(state, State.FrameStep) && padState.ThumbSticks.Right.X < -0.1) { float rStick = padState.ThumbSticks.Right.X; FrameStepCooldown += (int)((rStick + 0.1) * 80f); if (FrameStepCooldown <= 0) { FrameStepCooldown = 60; StepBack(); } } } frameStepWasDpadUp = dpadUp; frameStepWasDpadDown = dpadDown; frameStepWasLeftStick = leftStick; }