Windows 11 24H2 fa emergere un bug vecchio di 20 anni in GTA: San Andreas. Sparisce l'idrovolante Skimmer

Windows 11 24H2 fa emergere un bug vecchio di 20 anni in GTA: San Andreas. Sparisce l'idrovolante Skimmer

Un aggiornamento di Windows 11 ha fatto emergere un bug in GTA: San Andreas, presente da 20 anni ma silente. I giocatori se ne sono accorti perché, improvvisamente, era sparito l'idrovolante Skimmer. Fortunatamente c'è una soluzione temporanea piuttosto semplice.

di pubblicata il , alle 08:01 nel canale Videogames
Grand Theft AutoRockstar GamesMicrosoftWindows 11
 

L'aggiornamento 24H2 di Windows 11 ha fatto emergere un bug latente in Grand Theft Auto: San Andreas, uno dei titoli più iconici nella storia dei videogiochi, rivelando quanto fragile possa essere l'equilibrio tra vecchi software e nuovi sistemi operativi. Al centro del problema, segnalato da diversi giocatori nelle ultime settimane, c'è lo Skimmer, l'idrovolante del gioco, che risulta completamente assente (almeno apparentemente) dopo l'aggiornamento del sistema operativo.

Il primo a individuare e analizzare il problema è stato Silent, sviluppatore della nota SilentPatch, una patch non ufficiale che corregge numerosi bug nei titoli della serie GTA per migliorarne la compatibilità con i PC odierni. Dopo le prime segnalazioni, Silent ha ricreato il problema installando una versione pulita di San Andreas su Windows 11 24H2, confermando che l'idrovolante non si genera più nel punto abituale.

Un comportamento anomalo si verifica anche tentando di forzare la comparsa dello Skimmer tramite comandi interni al gioco: il personaggio controllato dal giocatore viene lanciato a distanze siderali nel cielo virtuale, suggerendo che qualcosa, a livello numerico, va "a ramengo".

Skimmer

Questo comportamento ha indotto Silent ad approfondire l'accaduto. Il modder e appassionato ha individuato la radice del problema nel file di configurazione vehicles.ide, che definisce i parametri fisici dei veicoli all'interno del gioco. Nel caso dello Skimmer, risultavano mancanti gli ultimi quattro parametri richiesti per i velivoli, inclusi i valori relativi alla dimensione delle ruote anteriori e posteriori.

Questo errore è presente fin dal lancio di GTA: San Andreas nel 2004, ma è rimasto nascosto grazie al modo in cui le versioni precedenti di Windows gestiscono la memoria. Per una fortuita coincidenza, nelle versioni precedenti di Windows, la porzione di memoria nello stack utilizzata per memorizzare le dimensioni delle ruote del furgone Topfun non viene sovrascritta da altre operazioni prima che il gioco legga la configurazione dello Skimmer.

Di conseguenza, quando il codice tenta di accedere ai parametri mancanti dello Skimmer - non inizializzati e assenti nel file - si ritrova a utilizzare inconsapevolmente i valori residui rimasti in memoria dalla voce precedente. I calcoli procedono quindi con questi dati "ereditati", dando vita a una configurazione dello Skimmer sorprendentemente funzionante, anche se tecnicamente errata.

Con l'introduzione di Windows 11 24H2, però, una piccola modifica interna al sistema operativo porta a sovrascrivere quei valori con dati arbitrari. Il risultato è che il gioco, tentando di caricare lo Skimmer, usa parametri del tutto errati, generando dimensioni fuori scala per le ruote dell'idrovolante.

Lo Skimmer non è più nella posizione in cui si dovrebbe trovare

Silent ha identificato con precisione il punto nel codice dove si manifesta il bug: la funzione CFileLoader::LoadVehicleObject, responsabile della lettura delle righe del file vehicles.ide attraverso sscanf. Il problema critico risiede nel fatto che le variabili locali destinate a contenere i parametri delle ruote non vengono inizializzate e nessun controllo verifica se sscanf abbia effettivamente letto i valori previsti.

La soluzione temporanea consiste nell'aprire il file vehicles.ide con un editor di testo e correggere manualmente la riga relativa allo Skimmer, aggiungendo i quattro parametri mancanti alla fine. Bisogna trovare la riga che inizia con "460, skimmer" e modificarla così:

460, skimmer, skimmer, plane, SEAPLANE, SKIMMER, null, ignore, 5, 0, 0, -1, 0.7, 0.7, -1

Una volta salvato il file, l'idrovolante ricompare nel gioco. Silent ha dichiarato che una correzione ufficiale sarà integrata nella prossima versione di SilentPatch, che includerà anche altre ottimizzazioni per San Andreas. Non è la prima volta che un aggiornamento di Windows interferisce con vecchi titoli: un precedente simile si era verificato con Bully: Scholarship Edition, anch'esso afflitto da comportamenti anomali legati alla gestione della memoria su Windows 10.

Secondo Silent, la colpa non è da imputare a Windows 11: il modo in cui le funzioni interne del sistema operativo usano la memoria dello stack non è qualcosa su cui i programmi dovrebbero basarsi, in quanto sono dettagli che possono cambiare ogni volta che Microsoft fa aggiornamenti. Insomma, è un bug di GTA passato inosservato per oltre 20 anni per un puro caso. Ora non resta che sperare in una piccola ma fondamentale patch da parte di Rockstar.

0 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^