|
Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
|
Le bouton Full Help convertit le fichier d’aide du jeu en une page HTML autonome, puis ouvre cette page dans le navigateur par défaut. La conversion est asynchrone : le jeu continue de traiter les entrées pendant son exécution. Aucun appel à WinHelp n’est nécessaire ; aucun texte d’aide n’est inventé ni remplacé par le Quick Help.
Le programme externe winhlp est requis. La version qualifiée ici est 0.4.1, avec Python 3.14. Depuis la racine du dépôt, installer uniquement dans le dossier de build (aucun PATH global modifié) :
modern/PlayModern.cmd sélectionne cet exécutable s’il existe, sans remplacer un MONOPOLY_WINHLP déjà défini. Relancer le jeu pour transmettre cette configuration. Si l’exporteur local est absent, le lanceur affiche la dépendance à fournir ; un exporteur déjà présent dans PATH reste utilisable. L’interface attendue est :
winhlp doit être accessible dans PATH. Autrement, définir MONOPOLY_WINHLP avec le chemin de son exécutable. Cette valeur désigne un fichier exécutable, pas une commande shell : ne pas y ajouter d’arguments ou de guillemets. Le jeu transmet chaque argument séparément, y compris les chemins contenant des espaces ou des accents.
L’exporteur est une dépendance externe sous GPL-2.0 ; son code n’est pas incorporé au moteur. Selon sa version et ses dépendances d’images, certains formats intégrés peuvent demander un composant supplémentaire : vérifier le rendu des fichiers réels avant de considérer l’aide qualifiée.
Le nom demandé reste celui du jeu d’origine : monoNN.hlp, où NN est l’identifiant de la langue. Les racines de ressources et leur résolution de casse habituelle sont utilisées. Il n’y a aucun repli silencieux vers une autre langue.
Le dépôt fournit Source/monopoly/Mono01.hlp, Mono_US.hlp et Documents/WestwoodMonopoly Rules.hlp. Seul Mono01.hlp correspond directement au nom numéroté attendu ; les autres ne sont pas substitués automatiquement. Les HLP des autres langues restent à fournir dans une racine de ressources pour ouvrir leur aide.
Les exports sont écrits dans le sous-dossier full-help du répertoire de préférences SDL de Giscolab/Monopoly, jamais dans Source/ ou à côté des ressources. Chaque conversion réserve un dossier distinct, sans écraser un document déjà ouvert. Les exports réussis y restent disponibles pour le navigateur ; l’utilisateur peut vider ce cache lorsque les pages correspondantes sont fermées. Un échec ou une annulation supprime uniquement le fichier et le dossier réservés à cette conversion, sauf si la demande d’ouverture a déjà été transmise au système : le document est alors conservé pour une ouverture tardive.
openFullHelp démarre une conversion et signale immédiatement un fichier absent, une signature HLP incorrecte, un export déjà actif ou un exécutable introuvable.pollFullHelp, appelé par la boucle principale, contrôle le processus sans attendre. Sous Windows, une tâche native COM/ShellExecuteEx ouvre le document sans bloquer le jeu ; SDL_OpenURL reste utilisé sur les autres plateformes. Une erreur est retournée une seule fois, sans arrêter le jeu.cancelFullHelp annule le processus avant l’arrêt de SDL.Qualification du 1er octobre 2026 : le véritable runtime-data/Mono01.hlp a été exporté avec succès. Ses 55 sujets ont chacun une section HTML, sans erreur du parseur ni lien interne cassé. Ce fichier contient zéro ressource bitmap ; son export sans image est donc attendu. Le rapport, les versions des dépendances et le HTML restent dans modern/build/full-help-qualification/, hors des sources retail.
Cette vérification structurelle ne prouve pas la fidélité sémantique de chaque sujet. L’ouverture réelle depuis le jeu est qualifiée ci-dessous. La conversion est asynchrone et ce chemin n’ajoute aucune pause globale : le libellé retail « game will pause » ne constitue pas une preuve que le jeu moderne se met en pause lors de l’ouverture du navigateur.
Le contrat réel openFullHelp/pollFullHelp a également réussi avec l’environnement Windows complet et l’exporteur isolé. Les tests de blocage, délai, annulation et erreurs vérifient la réactivité sans ouvrir de navigateur. La qualification visuelle réelle complète ces tests ci-dessous.
Le rendu compilé du thème a été comparé au véritable export dans Edge à 1920×1080, ainsi qu’à390×844 :55 rubriques,55 liens de navigation et aucun débordement horizontal. Les94577 octets HTML d’origine restent intacts ;2147 octets CSS/métadonnées sont ajoutés. Les captures et le rapport sont dans modern/build/help-theme-pass27/. La traduction automatique visible dans Edge n’est pas une traduction produite par le jeu.
Le 1er octobre 2026 à 21:44:50 (heure locale), le bouton Full Help du jeu a réellement ouvert la page complète et thématisée dans le navigateur. Le nouvel export AppData/Roaming/Giscolab/Monopoly/full-help/export-617983628067200-1/contents.html contient 96724 octets. La page a été inspectée ; la capture modern/build/polish-continuation-20261001/pass33-full-help-real-button.png conserve cette preuve du parcours bouton → export → navigateur. Cela ne remplace pas une relecture humaine de chacun des 55 sujets.