﻿﻿{"id":1957,"date":"2026-01-01T09:53:30","date_gmt":"2026-01-01T08:53:30","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/un-bug-de-20-ans-dans-gta-san-andreas-refait-surface-avec-windows-11\/"},"modified":"2026-01-01T09:53:30","modified_gmt":"2026-01-01T08:53:30","slug":"un-bug-de-20-ans-dans-gta-san-andreas-refait-surface-avec-windows-11","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/un-bug-de-20-ans-dans-gta-san-andreas-refait-surface-avec-windows-11\/","title":{"rendered":"Un bug de 20 ans dans GTA San Andreas refait surface avec Windows 11"},"content":{"rendered":"<p>Le Skimmer dans GTA San Andreas c&#8217;est ce petit hydravion qu&#8217;on pouvait chopper pr\u00e8s de la mer pour faire du rase-mottes au-dessus de l&#8217;eau. Eh bien figurez-vous que ce truc cachait un d\u00e9faut dans son code depuis&#8230; 20 ans. Un bug dormant qui est rest\u00e9 totalement invisible jusqu&#8217;\u00e0 l&#8217;arriv\u00e9e de Windows 11 24H2 en avril 2025.<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/gta-san-andreas-bug-windows-11-24h2\/gta-san-andreas-bug-windows-11-24h2-1.jpg\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>Silent, le moddeur derri\u00e8re<br \/>\n<a href=\"https:\/\/github.com\/CookiePLMonster\/SilentPatch\">SilentPatch<\/a><br \/>\n, a publi\u00e9 une analyse technique sur ce bug zombie. En gros, quand vous essayez de spawn le Skimmer sur Windows 11 24H2, l&#8217;hydravion devient tellement gigantesque qu&#8217;il n&#8217;est m\u00eame plus rendu \u00e0 l&#8217;\u00e9cran. Et si vous forcez CJ \u00e0 monter dedans via la console, son altitude affich\u00e9e explose \u00e0 environ 1,087 quadrillion d&#8217;ann\u00e9es-lumi\u00e8re. Beaucoup plus loin que n&#8217;importe quoi dans l&#8217;univers observable&#8230;<\/p>\n<p>Le coupable c&#8217;est une ligne manquante dans le fichier <code>vehicles.ide<\/code> qui d\u00e9finit les param\u00e8tres des v\u00e9hicules. Le Skimmer a \u00e9t\u00e9 copi\u00e9-coll\u00e9 depuis Vice City o\u00f9 il \u00e9tait class\u00e9 comme bateau, donc pas besoin de d\u00e9finir les param\u00e8tres de roues. Sauf que dans San Andreas, quelqu&#8217;un l&#8217;a requalifi\u00e9 en avion&#8230; sans ajouter les 4 param\u00e8tres manquants pour les roues.<\/p>\n<p>Du coup, le code qui charge les v\u00e9hicules se retrouve avec des variables non initialis\u00e9es. Pendant 20 ans, \u00e7a passait cr\u00e8me parce que ces variables r\u00e9cup\u00e9raient par hasard les bonnes valeurs laiss\u00e9es dans la pile m\u00e9moire par le v\u00e9hicule pr\u00e9c\u00e9dent (un certain TopFun avec un wheel scale de 0.7). Le jeu \u00e9tait litt\u00e9ralement \u00e0 4 octets pr\u00e8s de planter depuis 2004.<\/p>\n<p>\n<img decoding=\"async\" src=\"https:\/\/korben.info\/cdn-cgi\/image\/width=1200,fit=scale-down,quality=90,f=avif\/gta-san-andreas-bug-windows-11-24h2\/gta-san-andreas-bug-windows-11-24h2-1.jpeg\" alt=\"\" loading=\"lazy\">\n<\/p>\n<p>Et puis Microsoft a d\u00e9cid\u00e9 de modifier la gestion interne des Critical Section Objects dans Windows 11 24H2. La fonction <code>LeaveCriticalSection<\/code> utilise maintenant plus d&#8217;espace dans la pile, ce qui \u00e9crase ces fameuses valeurs &#8220;h\u00e9rit\u00e9es&#8221; par accident. R\u00e9sultat, le wheel scale se retrouve corrompu avec une valeur de 3,73\u00d710\u00b2\u2079, les calculs de suspension partent en vrille, et hop, votre hydravion file vers Alpha du Centaure.<\/p>\n<p>Comme quoi c&#8217;est pas pour rien que les devs bassinent tout le monde avec l&#8217;initialisation des variables. Le code de San Andreas ignorait probablement les warnings du compilateur depuis le d\u00e9but, et tout le monde s&#8217;en fichait parce que &#8220;\u00e7a marche&#8221;. Jusqu&#8217;au jour o\u00f9 \u00e7a marche plus, bah ouais Morray !<\/p>\n<p>La bonne nouvelle c&#8217;est que le fix est facile \u00e0 faire. Soit vous \u00e9ditez manuellement le fichier <code>datavehicles.ide<\/code> pour ajouter les param\u00e8tres manquants au Skimmer, soit vous attendez la prochaine mise \u00e0 jour de SilentPatch qui corrigera \u00e7a automatiquement. D&#8217;ailleurs, les versions Xbox et la Definitive Edition avaient d\u00e9j\u00e0 corrig\u00e9 ce bug&#8230; sans le savoir.<\/p>\n<p>Bref, 20 ans de code qui tourne sur une douzaine de versions de Windows diff\u00e9rentes, et il aura fallu un changement apparemment anodin dans la gestion m\u00e9moire de Microsoft pour r\u00e9veiller ce vilain bug dormant&#8230;<\/p>\n<p>\n<a href=\"https:\/\/cookieplmonster.github.io\/2025\/04\/23\/gta-san-andreas-win11-24h2-bug\/\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le Skimmer dans GTA San Andreas c&#8217;est ce petit hydravion qu&#8217;on pouvait chopper pr\u00e8s de la mer pour faire du rase-mottes au-dessus de l&#8217;eau. Eh bien figurez-vous que ce truc cachait un d\u00e9faut dans son code depuis&#8230; 20 ans. Un bug dormant qui est rest\u00e9 totalement invisible jusqu&#8217;\u00e0 l&#8217;arriv\u00e9e de Windows 11 24H2 en avril 2025. Silent, le moddeur derri\u00e8re SilentPatch , a publi\u00e9 une analyse technique sur ce bug zombie. En gros, quand vous essayez de spawn le Skimmer sur Windows 11 24H2, l&#8217;hydravion devient tellement gigantesque qu&#8217;il n&#8217;est m\u00eame plus rendu \u00e0 l&#8217;\u00e9cran. Et si vous forcez CJ \u00e0 monter dedans via la console, son altitude affich\u00e9e explose \u00e0 environ 1,087 quadrillion d&#8217;ann\u00e9es-lumi\u00e8re. Beaucoup plus loin que n&#8217;importe quoi dans l&#8217;univers observable&#8230; Le coupable c&#8217;est une ligne manquante dans le fichier vehicles.ide qui d\u00e9finit les param\u00e8tres des v\u00e9hicules. Le Skimmer a \u00e9t\u00e9 copi\u00e9-coll\u00e9 depuis Vice City o\u00f9 il \u00e9tait class\u00e9 comme bateau, donc pas besoin de d\u00e9finir les param\u00e8tres de roues. Sauf que dans San Andreas, quelqu&#8217;un l&#8217;a requalifi\u00e9 en avion&#8230; sans ajouter les 4 param\u00e8tres manquants pour les roues. Du coup, le code qui charge les v\u00e9hicules se retrouve avec des variables non initialis\u00e9es. Pendant 20 ans, \u00e7a passait cr\u00e8me parce que ces variables r\u00e9cup\u00e9raient par hasard les bonnes valeurs laiss\u00e9es dans la pile m\u00e9moire par le v\u00e9hicule pr\u00e9c\u00e9dent (un certain TopFun avec un wheel scale de 0.7). Le jeu \u00e9tait litt\u00e9ralement \u00e0 4 octets pr\u00e8s de planter depuis 2004. Et puis Microsoft a d\u00e9cid\u00e9 de modifier la gestion interne des Critical Section Objects dans Windows 11 24H2. La fonction LeaveCriticalSection utilise maintenant plus d&#8217;espace dans la pile, ce qui \u00e9crase ces fameuses valeurs &#8220;h\u00e9rit\u00e9es&#8221; par accident. R\u00e9sultat, le wheel scale se retrouve corrompu avec une valeur de 3,73\u00d710\u00b2\u2079, les calculs de suspension partent en vrille, et hop, votre hydravion file vers Alpha du Centaure. Comme quoi c&#8217;est pas pour rien que les devs bassinent tout le monde avec l&#8217;initialisation des variables. Le code de San Andreas ignorait probablement les warnings du compilateur depuis le d\u00e9but, et tout le monde s&#8217;en fichait parce que &#8220;\u00e7a marche&#8221;. Jusqu&#8217;au jour o\u00f9 \u00e7a marche plus, bah ouais Morray ! La bonne nouvelle c&#8217;est que le fix est facile \u00e0 faire. Soit vous \u00e9ditez manuellement le fichier datavehicles.ide pour ajouter les param\u00e8tres manquants au Skimmer, soit vous attendez la prochaine mise \u00e0 jour de SilentPatch qui corrigera \u00e7a automatiquement. D&#8217;ailleurs, les versions Xbox et la Definitive Edition avaient d\u00e9j\u00e0 corrig\u00e9 ce bug&#8230; sans le savoir. Bref, 20 ans de code qui tourne sur une douzaine de versions de Windows diff\u00e9rentes, et il aura fallu un changement apparemment anodin dans la gestion m\u00e9moire de Microsoft pour r\u00e9veiller ce vilain bug dormant&#8230; Source<\/p>\n","protected":false},"author":1,"featured_media":1958,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-1957","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1957"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/1957\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/1958"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}