{"id":4402,"date":"2026-05-18T09:37:05","date_gmt":"2026-05-18T07:37:05","guid":{"rendered":"https:\/\/myrdil.com\/?p=4402"},"modified":"2026-05-19T23:42:59","modified_gmt":"2026-05-19T21:42:59","slug":"le-bug-impossible","status":"publish","type":"post","link":"https:\/\/myrdil.com\/?p=4402","title":{"rendered":"Le bug impossible"},"content":{"rendered":"<p>Tout fonctionnait impeccablement aux inventaires du joueur et de la banque, et ce matin : patatras ! la banque reste d\u00e9sesp\u00e9r\u00e9ment vide !<\/p>\n<p>Ai-je modifi\u00e9 quoi que ce soit au code ? Je ne pense pas !<\/p>\n<p>Il m&#8217;aura fallu une journ\u00e9e pour d\u00e9plomber \u00e7a : la table des slots existait une fois dans la d\u00e9finition de la classe d&#8217;inventaire au C++ (ce qui n&#8217;aurait jamais d\u00fb arriver, la classe qui contient les donn\u00e9es ne peut pas contenir un \u00e9l\u00e9ment d&#8217;affichage) et une fois dans la classe m\u00e8re des widgets d&#8217;affichage. Pour les inventaires joueurs, \u00e7a marchait parce que cette table des slots affich\u00e9s \u00e9tait cr\u00e9\u00e9e \u00e0 la fois dans le C++ et dans le widget, ce qu&#8217;il ne faut jamais faire. Et pour la banque, j&#8217;initialisais la table C++ et affichait la table blueprints qui elle n&#8217;\u00e9tait pas initialis\u00e9e, donc \u00e7a ne pouvait pas marcher, jamais !<\/p>\n<p>Or \u00e7a fonctionnait tr\u00e8s bien jusque ce matin, c&#8217;est le genre de truc qui restera inexpliqu\u00e9 probablement jusqu&#8217;\u00e0 la fin des temps.<\/p>\n<p>Une journ\u00e9e pour tout v\u00e9rifier en partant du backend et en remontant progressivement par l&#8217;API puis le C++ puis les blueprints, \u00e9videmment \u00e9clat\u00e9s comme des grenade ananas.<\/p>\n<p>Et deux minutes pour r\u00e9gler le probl\u00e8me une fois que j&#8217;ai vu l&#8217;h\u00e9r\u00e9sie du code. J&#8217;ai simplement vir\u00e9 le code C++ qui n&#8217;aurait jamais d\u00fb exister et rebranch\u00e9 dans les blueprints ce qui \u00e9tait orphelin. Deux minutes chrono !<\/p>\n<p>Maintenant tout fonctionne, demain j&#8217;attaque la cr\u00e9ation des sacs de loot, soit ce que les monstres ou les joueurs laissent tomber au sol.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tout fonctionnait impeccablement aux inventaires du joueur et de la banque, et ce matin : patatras ! la banque reste d\u00e9sesp\u00e9r\u00e9ment vide ! Ai-je modifi\u00e9 quoi que ce soit au code ? Je ne pense pas ! Il m&#8217;aura fallu &hellip; <a href=\"https:\/\/myrdil.com\/?p=4402\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-4402","post","type-post","status-publish","format-standard","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/4402","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4402"}],"version-history":[{"count":2,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/4402\/revisions"}],"predecessor-version":[{"id":4406,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/posts\/4402\/revisions\/4406"}],"wp:attachment":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4402"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4402"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4402"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}