TT FPS Uncapper

Uncaps the default 60 FPS limit for smoother gameplay

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==UserScript==
// @name         TT FPS Uncapper
// @namespace    http://tampermonkey.net/
// @version      2.0.0
// @description  Uncaps the default 60 FPS limit for smoother gameplay
// @author       Aurelion-X9
// @match        https://tanktrouble.com/*
// @match        https://*.tanktrouble.com/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Safe FPS Uncapper - only modifies time settings, no prototype overrides

    // Patch Phaser time settings when game is ready
    const patchPhaserTime = () => {
        const check = setInterval(() => {
            const game = (typeof GameManager !== 'undefined' && GameManager.getGame) ? GameManager.getGame() : null;
            if (game && game.time) {
                clearInterval(check);

                // Enable advanced timing for accurate FPS display
                game.time.advancedTiming = true;

                // Set desired FPS higher (this affects physics interpolation)
                game.time.desiredFps = 120;

                // Don't modify slowMotion - keep it at 1.0
                if (game.time.slowMotion !== undefined) {
                    game.time.slowMotion = 1.0;
                }
            }
        }, 200);
        setTimeout(() => clearInterval(check), 5000);
    };

    // CSS for smoother rendering - minimal
    const injectCSS = () => {
        const style = document.createElement('style');
        style.id = 'tt-fps-uncapper-css';
        style.textContent = `
            /* Force GPU acceleration on canvas only */
            #game canvas, #gameCanvas {
                image-rendering: crisp-edges !important;
            }
        `;
        document.head.appendChild(style);
    };

    // Initialize
    injectCSS();

    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', patchPhaserTime);
    } else {
        patchPhaserTime();
    }

    console.log('%c[TT FPS Uncapper] 60 FPS limit removed!', 'color: #00ff88; font-weight: bold;');
})();