Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Bonjour,
Voilà mon problème avec le jeu "Police Quest 1 VGA" sur PC.
Quand on conduit une voiture, c'est en milles (MPH). Quand on clique sur l'accélérateur, c'est par tranche de "5" : 0, 5, 10, 15,... 60 et 65. J'aimerais écrire par tranche de "10" : 0, 10, 20, 30,... 120 et 130. Ca correspond à la vitesse en km/h (environ). Mais, je ne sais pas comment on fait et si c'est possible.
J'ai trouvé le fichier où se trouve "%d<bh:00>MPH". Je pense que "%d" sert à indiquer les chiffres, mais je n'ai pas trouvé les chiffres. Comment je peux trouver ces chiffres, s'il vous plaît ?
PS :
Quand j'ai ceci : %s
C'est une lettre ou un (des) mot. Mais, c'est plus simple à trouver. C'est un peu plus difficile pour une lettre.
Voilà mon problème avec le jeu "Police Quest 1 VGA" sur PC.
Quand on conduit une voiture, c'est en milles (MPH). Quand on clique sur l'accélérateur, c'est par tranche de "5" : 0, 5, 10, 15,... 60 et 65. J'aimerais écrire par tranche de "10" : 0, 10, 20, 30,... 120 et 130. Ca correspond à la vitesse en km/h (environ). Mais, je ne sais pas comment on fait et si c'est possible.
J'ai trouvé le fichier où se trouve "%d<bh:00>MPH". Je pense que "%d" sert à indiquer les chiffres, mais je n'ai pas trouvé les chiffres. Comment je peux trouver ces chiffres, s'il vous plaît ?
PS :
Quand j'ai ceci : %s
C'est une lettre ou un (des) mot. Mais, c'est plus simple à trouver. C'est un peu plus difficile pour une lettre.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
En C, quand on veut écrire une chaîne de caractères avec des arguments, on utilise le symbole % suivi d'une lettre. Comme tu l'as deviné, la lettre indique le type de l'argument à insérer dans la chaîne.
Ainsi:
%d --> insertion d'un nombre entier
%s --> insertion d'une chaîne de caractères (une lettre ou un mot)
Du coup, je pense qu'au moment d'afficher la vitesse, le programme (le jeu) va appeler le formatteur "%d<bh:00>MPH" avec l'argument à la bonne valeur (0, 5, 10, 15, etc).
À vue de pif, cet argument est une valeur en RAM qui est initialisée à 0 et à laquelle le programme va ajouter successivement 5 (d'où les 0, 5, 10, 15, ...).
Par conséquent, il faudrait que tu repère où dans le code, cette addition est réalisée, et remplacer le 5 qui est ajouté par 10.
Je ne sais pas si je suis très clair...
Ainsi:
%d --> insertion d'un nombre entier
%s --> insertion d'une chaîne de caractères (une lettre ou un mot)
Du coup, je pense qu'au moment d'afficher la vitesse, le programme (le jeu) va appeler le formatteur "%d<bh:00>MPH" avec l'argument à la bonne valeur (0, 5, 10, 15, etc).
À vue de pif, cet argument est une valeur en RAM qui est initialisée à 0 et à laquelle le programme va ajouter successivement 5 (d'où les 0, 5, 10, 15, ...).
Par conséquent, il faudrait que tu repère où dans le code, cette addition est réalisée, et remplacer le 5 qui est ajouté par 10.
Je ne sais pas si je suis très clair...
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Oui, c'est très classique, souvent la fonction "sprintf" qui est la plus courante est utilisée pour insérer un texte avec des arguments comme le mentionne rid, on le voit très souvent dans les jeux aussi. le %s est tout simplement remplacé par une chaîne de caractères et le %d par un nombre dans le texte. Le remplacement du %d par les nombres est défini directement dans le code, donc il faut savoir se débrouiller avec l'ASM (ici x86) et un débuggeur comme IDA Pro pour trouver, sinon c'est même pas la peine d'espérer trouver.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Bonsoir Rid,
Je te remercie pour ta réponse.
Oui, je pense que j'ai compris ce que tu m'expliques.
Mais, il y a toujours un mais (je plaisante).
En gros, il y a trois fichiers : MSG pour les textes, HEP a peu de texte et SCR a les pointeurs du fichier HEP. J'ai cherché dans les deux fichiers (HEP et SCR) que je suppose où se trouve mon problème. C'est généralement le cas (voire à 100 %). Il y avait un seul chiffre 5 dans le fichier HEP que j'ai modifié. Ca n'a rien donné. Pour le fichier SCR, il y a trop de 5 pour les tester tous. Je pensais trouver +5 écrit dans les fichiers HEP ou SCR. Je sais, c'est une réflexion simpliste, mais je ne connais rien en informatique. Comment je peux trouver dans le code le +5, merci ? Quand je dis + 5, c'est un code qui veut dire + 5 au programme et non voir dans le fichier + 5.
Je te remercie pour ta réponse.
Oui, je pense que j'ai compris ce que tu m'expliques.
Mais, il y a toujours un mais (je plaisante).
En gros, il y a trois fichiers : MSG pour les textes, HEP a peu de texte et SCR a les pointeurs du fichier HEP. J'ai cherché dans les deux fichiers (HEP et SCR) que je suppose où se trouve mon problème. C'est généralement le cas (voire à 100 %). Il y avait un seul chiffre 5 dans le fichier HEP que j'ai modifié. Ca n'a rien donné. Pour le fichier SCR, il y a trop de 5 pour les tester tous. Je pensais trouver +5 écrit dans les fichiers HEP ou SCR. Je sais, c'est une réflexion simpliste, mais je ne connais rien en informatique. Comment je peux trouver dans le code le +5, merci ? Quand je dis + 5, c'est un code qui veut dire + 5 au programme et non voir dans le fichier + 5.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Bonsoir RyleFury,
Je te remercie pour ta réponse.
J'ai essayé avec le débugueur de Dosbox, mais je ne sais pas comment ça fonctionne.
Alors, c'est impossible. Je vais laisser MPH. Mais, je vais télécharger IDA Pro pour voir.
Je te remercie pour ta réponse.
J'ai essayé avec le débugueur de Dosbox, mais je ne sais pas comment ça fonctionne.
Alors, c'est impossible. Je vais laisser MPH. Mais, je vais télécharger IDA Pro pour voir.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Je ne pense pas que tu trouves la valeur 5 dans les fichiers relatifs au texte de ton jeu.
Il s'agit véritablement de trouver dans le moteur du jeu, l'endroit où ils vont calculer la vitesse de ton bolide. Il s'agit donc de trouver une routine qui est appelée dans le passage en question, et ensuite de situer le moment où l'augmentation de la valeur de la vitesse est réalisée.
Peut-être qu'en recherchant les instructions ASM x86 d'addition directement avec un éditeur hexadecimal, tu aurais peut-être du bol.
J'ai vite fait rechercher, apparemment ça ressemblerait aux instructions: add <registre>,05h (où 05h signifie 5 en hexadécimal).
Du coup, faudrait que tu recherches dans l'hexadécimal toutes les occurences de ou .
Soit (j'ai utilisé ce site:
ou
Et tu remplaces le 05 par 0A.
Que quelqu'un me corrige si je me plante.
Il s'agit véritablement de trouver dans le moteur du jeu, l'endroit où ils vont calculer la vitesse de ton bolide. Il s'agit donc de trouver une routine qui est appelée dans le passage en question, et ensuite de situer le moment où l'augmentation de la valeur de la vitesse est réalisée.
Peut-être qu'en recherchant les instructions ASM x86 d'addition directement avec un éditeur hexadecimal, tu aurais peut-être du bol.
J'ai vite fait rechercher, apparemment ça ressemblerait aux instructions: add <registre>,05h (où 05h signifie 5 en hexadécimal).
Du coup, faudrait que tu recherches dans l'hexadécimal toutes les occurences de
Code : Tout sélectionner
add ax,05h // (addition sur 16 bits)
Code : Tout sélectionner
add eax,05h //(addition sur 32 bits).
Soit (j'ai utilisé ce site:
Code : Tout sélectionner
66 83 c0 05
Code : Tout sélectionner
83 c0 05
Que quelqu'un me corrige si je me plante.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
add ax,05h // Rien trouvé
add eax,05h // Rien trouvé
66 83 c0 05 // Rien trouvé
83 c0 05 // j'ai trouvé 4 emplacements dans le fichier "resource.000". J'ai modifié chaque emplacement et c'est toujours par 5.
Je n'ai rien trouvé dans les autres fichiers. Je pense que ce fichier "resource.000" contient tous les fichiers qu'on peut extraire pour la traduction.
J'ai télécharger "dnSpy", mais je n'arrive pas à lancer le jeu. Et asmeditor, mais il n'y a pas la fonfion "chercher".
PS :
J'ai aussi télécharger "IDA Pro", la version gratuite, mais il ne fonctionne pas. Il me dit "l'essai a expiré".
add eax,05h // Rien trouvé
66 83 c0 05 // Rien trouvé
83 c0 05 // j'ai trouvé 4 emplacements dans le fichier "resource.000". J'ai modifié chaque emplacement et c'est toujours par 5.
Je n'ai rien trouvé dans les autres fichiers. Je pense que ce fichier "resource.000" contient tous les fichiers qu'on peut extraire pour la traduction.
J'ai télécharger "dnSpy", mais je n'arrive pas à lancer le jeu. Et asmeditor, mais il n'y a pas la fonfion "chercher".
PS :
J'ai aussi télécharger "IDA Pro", la version gratuite, mais il ne fonctionne pas. Il me dit "l'essai a expiré".
Dernière modification par hrvg le 26 oct. 2018, 14:29, modifié 1 fois.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Arf, ben s'arrêtent là mes conseils alors 

Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Je te remercie Rid pour ton aide.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Ça aurait pu marcher mais bon on sait jamais vraiment comment les développeurs codent et comment les compilateurs réagissent 
Si j'ai un moment de libre je t'aiderai avec le débuggeur.

Si j'ai un moment de libre je t'aiderai avec le débuggeur.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
J'ai une question. Le 83 c0 05 que j'ai trouvé dans le jeu que je traduis. Je ne le trouve pas dans le fichier original (resource.000). C'est peut-être à cause des fichiers traduits que j'ai insérés dans le jeu. Dans ce jeu et pour les pointeurs, j'inverse les valeurs. Par exemple, si j'ai un début de texte à 3a25, le pointeur sera 253a. Est-ce pareil ici pour 83 c0 05 ? J'ai cherché 05 c0 83, mais rien.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Non car ce que je t'ai demandé de chercher, c'est une instruction, par une adresse 

Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Je vais encore poser une question idiote, désolé. J'ai vérifié l'instruction "83c005" dans tous les fichiers, même ceux que j'ai extraits (environ 350) au cas où, mais je n'ai rien trouvé. Il peut y avoir une autre instruction ? Par exemple, le contraire : Le chiffre du départ est 65 et on déduit par 5. Quand on monte dans la voiture, on démarre toujours à 5 milles, jamais à 0 sauf si on s'arrête.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Il peut y avoir plein d'instructions pour ça, c'est le problème, ça dépend de la logique employée par les développeurs. Aussi, ça m'étonnerait qu'il faille modifier qu'une seule instruction. Etant un très vieux jeu, ça m'a l'air d'être un bordel monstre à débugger sous Windows par contre
J'essaierai des trucs mais je promets rien...

Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Je te remercie RyleFury pour ton aide. Et je confirme (pour moi), ce jeu est ... Je ne dirai pas, car je n'aime critiquer les créateurs de jeux, surtout à mon niveau. Mais, c'est le premier jeu Sierra qui me pose autant de problèmes. J'aimerais que le jeu soit bien fait. Sinon, si tu ne trouves pas, car moi je ne suis pas capable de le faire. Je changerai tous les messages sur les compteurs et j'écrirai, selon le contexte ce genre de phrase : "Cette fenêtre t'indique la vitesse, mais tu n'as pas su régler le compteur. Tu as mis la vitesse en mille avec le km.". Il y en a trois et cette fenêtre. Je sais que ce n'est pas terrible. Je te remercie pour ta patience.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Bonjour,
Mon problème a été résolu. Je vous remercie pour votre aide.
Mon problème a été résolu. Je vous remercie pour votre aide.
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Ah désolé, j'ai pas eu le temps de m'y mettre. Au final t'as réussi à convertir les MPH en KMH?
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
Ce n'est pas grave et je te remercie pour ton aide.
Ce n'est pas moi, mais Kawa du forum de SCIScompanion.
Je ne sais pas comment il a fait. Il m'a envoyé les deux fichiers modifiés : "500.scr et HEP.500.
Je suis nul en informatique.
Ce n'est pas moi, mais Kawa du forum de SCIScompanion.

Je suis nul en informatique.

Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
pas compliqué de savoir : tu prends un comparateur de fichier hexa , tu prends celui sans la modif et celui avec la modif , il te colorie les octet différents dans les 2 fichiers
Re: Comment modifier les chiffres MPH en KM d'un véhicule dans "Police Quest 1 VGA".
@ smkkool,
Je viens de regarder avec UltraEdit. Il y en a plein !
Je viens de regarder avec UltraEdit. Il y en a plein !