Press `q` to toggle pause and `z` to frame-advance within pause mode.
// ==UserScript==
// @name Choppy Orc Framestepper
// @namespace http://tampermonkey.net/
// @version 0.2
// @description Press `q` to toggle pause and `z` to frame-advance within pause mode.
// @author You
// @match *://*/*
// @grant none
// ==/UserScript==
var delayedCallback = null;
var paused = false;
var scheduler = window.requestAnimationFrame;
var fakeTime = 0;
performance.now = function() { return fakeTime; }
window.requestAnimationFrame = function(callback) {
fakeTime += 20;
if (paused) {
delayedCallback = callback;
} else {
delayedCallback = null;
scheduler(callback);
}
}
window.onkeyup = function(e) {
var key = e.keyCode ? e.keyCode : e.which;
if (key == 90 && paused && delayedCallback) { // z key
delayedCallback();
}
if (key == 81) { // q key
paused = !paused;
if (!paused) delayedCallback();
}
}