Un bug de 20 ans dans GTA San Andreas refait surface avec Windows 11 | Le site de Korben

Une mise à jour récente de Windows 11, précisément la version 24H2 sortie en avril 2025, a révélé un bug ancien dans le jeu emblématique GTA San Andreas, qui dormait depuis plus de deux décennies. Ce bug, jusque-là invisible, est soudainement devenu visible à cause des changements apportés par Microsoft dans la gestion mémoire du système d’exploitation, provoquant des dysfonctionnements spectaculaires dans le comportement du jeu.

Ce qui a été découvert est que le problème provient d’une ligne manquante dans le fichier véhicules.ide, qui définit les caractéristiques des véhicules dans le jeu. À l’origine, le Skimmer, un hydravion accessible en bord de mer, était simplement une copie de Vice City, où il était classé comme bateau. Cependant, lors de la réaffectation dans San Andreas, le véhicule a été requalifié en avion sans que les paramètres concernant ses roues ne soient initialisés, ce qui a laissé des variables dans une zone indéfinie. Pendant toutes ces années, ces variables sémantiquement correctes, mais non initialisées, récupéraient accidentellement les valeurs du dernier véhicule utilisé, permettant au jeu de fonctionner sans erreur apparente.

La modification interne de la gestion des Critical Section Objects dans Windows 11 24H2 a empêché ces valeurs accidentelles d’être conservées, ce qui a réactivé le bug dormant, provoquant des dysfonctionnements extrêmes dans le comportement du Skimmer.

Concrètement, lorsque l’on tente de faire apparaître le Skimmer en jeu sous Windows 11 24H2, celui-ci devient si gigantesque qu’il disparaît quasiment à l’écran, ou en modifiant directement la jeu avec la console, le personnage monte dans un véhicule avec une altitude astronomique, atteignant environ 1,087 quadrillions d’années-lumière, un chiffre qui dépasse l’entendement ! Le problème réside dans la manière dont le jeu avait été programmé originellement : le code ne vérifiait pas l’initialisation correcte de toutes les variables, comptant sur des valeurs récupérées par hasard. La récente mise à jour de Microsoft a simplement brisé cette lâche assurance, mettant en évidence l’importance cruciale de l’initialisation des variables en programmation.

La bonne nouvelle dans cette histoire est que la correction est relativement simple. Les joueurs ou moddeurs peuvent soit éditer manuellement le fichier vehicles.ide pour ajouter les paramètres manquants au Skimmer, soit attendre la mise à jour officielle de SilentPatch, qui incorporera cette correction automatiquement. Il est intéressant de noter que des versions antérieures de plateformes telles que la Xbox ou la Definitive Edition avaient déjà appliqué cette correction sans en avoir conscience, évitant ainsi ces bugs depuis plusieurs années.

Après 20 ans de fonctionnement sur différentes versions de Windows, c’est finalement un changement apparemment mineur dans la gestion mémoire de Microsoft qui a permis de révéler ce bug vieux de deux décennies, rappelant ainsi l’importance de l’initialisation rigoureuse des variables en développement.

En somme, cette découverte illustre à la fois la manière dont des bugs de longue date peuvent résister aux évolutions techniques, mais aussi comment une simple modification du système peut tout faire basculer, même pour des codes vieux de 20 ans. Ce cas souligne également le rôle précieux des moddeurs, dont le travail bénévole permet de préserver et d’améliorer l’expérience de jeu face aux négligences des studios AAA, souvent plus préoccupés par le marketing que par la stabilité technique de leur produit.

Partagez cet article
article précédent

Zed – L’éditeur de code des créateurs d’Atom qui mise tout sur la collaboration | Le site de Korben

article suivant

&udm=14 – Le Konami Code pour retrouver un Google sans IA | Le site de Korben

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire plus d'articles