[JIF] Problèmes et... solutions (on essaiera)

Pour discuter des langages que nous utilisons pour réaliser nos jeux : problèmes, solutions, suggestions...

Modérateurs: Stormi, Otto Grimwald

[JIF] Problèmes et... solutions (on essaiera)

Messagepar Adrien le Ven Jan 07, 2005 1:44 pm

*** A propos de l'installation de JIF ***
Sur le site de l'auteur:
http://www.slade.altervista.org/JIF/?F. ... on_Windows

En gros:
- installer les librairies Java ( http://java.sun.com/j2se/1.4.2/download.html )
- installer JIF
- placer le compilateur Inform dans le dossier "compiler"
- placer l'interpreteur WinFrotz dans le dossier "interpreter"
- placer les bibliothèques (livrées avec le compilateur) dans le dossier "lib"

Pour le pack compilateur/librairies en français, se référer au site de Jean-Luc Pontico: http://jlpo.free.fr
Avatar de l’utilisateur
Adrien
Très Ancien
 
Messages: 1093
Inscription: Mar Aoû 24, 2004 9:23 am
Localisation: Montpellier, France

Messagepar Otto Grimwald le Jeu Jan 13, 2005 12:27 am

pour ceux qui ont un pb pour lancer JIF, il peut être judicieux d'ouvrir une fenêtre de "terminal" dos (menu démarrer, et taper : "command" ou "cmd" sous xp), puis à l'invite :

java -jar c:/chemindurepertoiredejif/scriptdejif.bat

et nous poster le message d'erreur.

Pour avoir rapidement le chemin de jif, il est peut être possible de faire un copier / coller depuis l'explorateur de documents, voire même de glisser l'adresse du fichier.
Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm

Jif sur Mac OSX

Messagepar Otto Grimwald le Sam Avr 16, 2005 2:45 pm

j'indique ceci pour les 0,0001 % des développeurs Inform utilisateurs de mac qui codent avec Jif :

Apparemment Jif a un problème pour lire correctement le stupide encodage mac ce qui se traduit par un code qui s'ouvre sur ce genre de chose :

! Constantes gÈnÈrales
!--------------------------------------------

Constant Story "Exemple inform en FranÁais";
Constant Headline "^pour tester avec Jif^
Copyright (c) 2004 par .^";

/.../

Object Piece1 "PiËce de dÈpart"

etc.

Si ce n'était qu'un problème de convertisseur... pour que le code généré soit correct en zmachine, il faut que cela soit cet encodage qui soit compilé. Donc ce n'est pas très pratique pour lire du code issu d'une autre machine, et encore plus difficile d'écrire correctement dans jif. (Les accents se transforment en ?? une fois le code compilé)

Il existe une fonction unix qui convertisse un encodage dans un autre, mais dans le cas de codage mixte, cela ne va pas.
J'ai essayé également des scripts shell, mais les caractères de remplacement n'étaient pas lisibles (obligation de mélanger deux encodages, donc d'avoir un script en unicode, ce qui ne le rend pas exécutable).

Heureusement il est possible d'utiliser conjointement à jif le logiciel (lui aussi java) jedit (http://www.jedit.org/) qui permet de créer des macros de remplacement de caractères.
Voici la teneur de la macro, pour du texte français (codage mac -> codage unix / windows etc.) :

Code: Tout sélectionner

SearchAndReplace.setSearchString("Ë");
SearchAndReplace.setReplaceString("è");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("È");
SearchAndReplace.setReplaceString("é");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("‡");
SearchAndReplace.setReplaceString("à");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("û");
SearchAndReplace.setReplaceString("?");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);



SearchAndReplace.setSearchString("?");
SearchAndReplace.setReplaceString("ù");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);



SearchAndReplace.setSearchString("Ù");
SearchAndReplace.setReplaceString("ô");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("Ó");
SearchAndReplace.setReplaceString("î");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);

SearchAndReplace.setSearchString("Ô");
SearchAndReplace.setReplaceString("ï");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);

SearchAndReplace.setSearchString("Î");
SearchAndReplace.setReplaceString("ë");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("Í");
SearchAndReplace.setReplaceString("ê");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("Á");
SearchAndReplace.setReplaceString("ç");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);



et voici celle qui code dans l'autre sens (à utiliser avant de compiler son jeu) :

Code: Tout sélectionner
SearchAndReplace.setSearchString("è");
SearchAndReplace.setReplaceString("Ë");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("é");
SearchAndReplace.setReplaceString("È");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("à");
SearchAndReplace.setReplaceString("‡");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("û");
SearchAndReplace.setReplaceString("?");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);



SearchAndReplace.setSearchString("ù");
SearchAndReplace.setReplaceString("?");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);



SearchAndReplace.setSearchString("ô");
SearchAndReplace.setReplaceString("Ù");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("î");
SearchAndReplace.setReplaceString("Ó");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);

SearchAndReplace.setSearchString("ï");
SearchAndReplace.setReplaceString("Ô");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);

SearchAndReplace.setSearchString("ë");
SearchAndReplace.setReplaceString("Î");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("ê");
SearchAndReplace.setReplaceString("Í");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);


SearchAndReplace.setSearchString("ç");
SearchAndReplace.setReplaceString("Á");
SearchAndReplace.setBeanShellReplace(false);
SearchAndReplace.setIgnoreCase(false);
SearchAndReplace.setRegexp(false);
SearchAndReplace.setSearchFileSet(new CurrentBufferSet());
SearchAndReplace.replaceAll(view);



à noter qu'il reste un petit problème avec le caractère â qui semble être converti en "," (à vérifier). Il faudra peut-être le changer manuellement.
Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3028
Inscription: Mar Aoû 24, 2004 12:02 pm


Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron