Questions diverses sous GLULX et inform

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

Modérateurs: Stormi, Otto Grimwald

Messagepar Otto Grimwald le Ven Aoû 31, 2007 11:07 am

je pense que le fichier dans le "kit" devrait compiler directement. Essaye plutôt de recopier le fichier tel quel, et d'inclure ton code dans celui-ci.

Mais sinon pour ton erreur, c'est typiquement lorsqu'il manque une virgule ou un point virgule dans le code.

si tu veux m'envoyer ta source je peux essayer de regarder...

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Yoruk le Ven Aoû 31, 2007 11:17 am

Je vais réessayer avec ton kit et si je n'y arrive pas je t'envoie ma source... merci :P
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Yoruk le Sam Sep 01, 2007 10:11 am

J'ai réussi ! :D

Par contre comment régler la largeur de la fenêtre graphique de façon à ce qu'elle ressemble à l'interface de lieux communs ?
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Otto Grimwald le Sam Sep 01, 2007 1:01 pm

dans la partie :

Code: Tout sélectionner
(winmethod_Left+winmethod_Fixed),100,
         wintype_Graphics, GG_MAPWIN_ROCK);


augmente le 100 avec la valeur que tu souhaites

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Yoruk le Ven Sep 07, 2007 8:03 pm

Merci !

Je profite d'un accès internet pour poser mes petites questions:

1- Sous glulx : mes images sont en jpg mais pour la transparence, faut-il que je convertisse certaines de mes images en GIF ? A ma connaissance le jpg ne gère pas la transparence... a moins qu'il n'y ai une astuce


2- Comment gère-t-on les variables ? quand j'en spécifie une le compilateur m'indique que ma variable n'est pas déclarée...
Quelqu'un peut-il m'indiquer une source (courte) où les variables sont gérées ? merci


3-Et tant que j'y suis, comment faire en sorte que du code soit exécuté à chaque tour ? (actuellement j'ajoute dans mes lieux un before avec le code mais ça ne marche que dans le lieu concerné) Vous voyez ce que je veux dire ? :)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar JB le Ven Sep 07, 2007 8:59 pm

Hello

1 - pour la transparence, utiliser les png

2 - deux méthodes,

a) l'une dite "du novice" ou "du gros naze" que j'ai utilisée dans Filaments : tu utilises une variable globale. C'est bof, car le nb de variables est ainsi limité. Je ne donnerai pas d'exemple car c'est à oublier.

b) la méthode normale consiste à mettre une variable dans un objet.

Par exemple tu veux que tel évènement se déclenche quand une variable nommée "cool" est égale à 1.

Tu prends n'importe quel object de ton code, si possible un object lié à l'énigme qui requiert la variable, mais ca peut être n'importe quoi, même le player.

Donc tu ajoutes ta variable comme ca :

Object sac "sac"
with name 'sac' 'cartable' 'malette' 'sacoche',
description "La sacoche de Charles Edouard, le must en terme
de sac postaux en toile de jute. ^",
before [;Take : print "Impossible, Charles Edouard le tient
bien en main.^";return 2;
],
cool 0,
has container open;

quand tu veux changer cool dans ton code tu fais un truc genre

sac.cool=1;

ou

sac.cool++;

3) Là encore tu as deux solutions, tu peux utiliser un daemon mais c'est un peu chaud à ton niveau, mais le plus simple est de rajouter un each_turn dans un objet dont le found_in est location.

Tu as des exemples pas mal dans le code source de La Mort Pour Seul Destin si je me souviens bien, la météo et le passage du jour et de la nuit et les monstres errants étant gérés par des Dieux invisibles qui suivaient le joueur.

JB
Avatar de l’utilisateur
JB
Grand Ancien
 
Messages: 510
Inscription: Mar Aoû 24, 2004 11:00 am
Localisation: Paris

Messagepar Yoruk le Ven Oct 05, 2007 6:47 am

J'ai une source inf avec du glulxe dedans. Il y a un moyen de la compiler en Z5 sans devoir modifier la source à la main ? (genre enlever avec un ! les lignes avec du code glulx...)
Dernière édition par Yoruk le Mar Oct 16, 2007 2:00 pm, édité 2 fois.
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Otto Grimwald le Ven Oct 05, 2007 7:55 am

le plus simple est de faire cela :

Code: Tout sélectionner
#ifdef TARGET_ZCODE;
code spécifique zcode ou rien ;
#ifnot; ! TARGET_GLULX; (=cela sous entend que c'est pour glulx)
code spécifique glulx ;
#endif; ! fin de la condition


si tu veux voir des exemples de cela :
http://anamnese.online.fr/site2/if/templefeu.inf

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Yoruk le Ven Oct 05, 2007 10:03 am

Donc par exemple au sein d'un objet je peux:

Code: Tout sélectionner
description [;

      print "Description de l'objet";

      #ifnot; ! TARGET_GLULX;
      Affiche(5);
      Joue(3);
      #endif;
],
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Otto Grimwald le Ven Oct 05, 2007 12:08 pm

non, plutôt :

Code: Tout sélectionner
description [;
print "Description de l'objet";

#ifdef TARGET_ZCODE;
#ifnot; ! TARGET_GLULX;
      Affiche(5);
      Joue(3); 
 #endif;
],



il faut bien préciser le ifdef

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Yoruk le Sam Oct 06, 2007 8:12 am

Ok merci.

Je paufine (ça s'écrit comme ça ?) une nouvelle version de lavoir...
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Yoruk le Sam Oct 20, 2007 9:57 am

ça a pas trop de rapport avec glulx mais comment fait-on pour obtenir un exécutable DOS à partir d'un fichier Zcode ? En effet sur ifarchive on trouve de nombreux jeux sous ce format. Il doit exister un utilitaire mais je ne l'ai pas trouvé... :(
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Otto Grimwald le Sam Oct 20, 2007 11:17 am

il doit y avoir des logiciels pour faire des "bundles", mais je ne le conseille pas trop car cela veut dire que le jeu ne sera jouable que sous dos...
À la rigueur on peut plutôt conseiller de faire un lanceur automatique comme on avait fait pour lieux communs.

Je viens de mettre à jour le "kit débutant", ce qui inclue des exécutables avec icônes qui lancent directement gargoyle et le jeu z5 ou blb, quel que soit le nom du jeu (je ne sais pas si cela fonctionne avec des espaces dans le nom)

http://ifiction.free.fr/index.php?id=kit
Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Yoruk le Jeu Oct 25, 2007 11:46 am

OK. mais pour un usage strictement personnel tu as un lien à me fournir ? C'est pour une histoire de compilation DOS....


EDIT : J'ai trouvé ce que je cherchais : http://ifarchive.wurb.com/if-archive/ut ... monkey.zip
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Yoruk le Sam Déc 08, 2007 3:44 pm

Pour lavoir j'ai un splash screen pour l'introduction qui laisse ensuite sa place au système de double fenêtre. Pour le mode splash et pour le mode double fenêtre je dispose de 2 subs Affichage() différentes à utiliser.

Ce que j'aimerai faire c'est au sein du jeu afficher une nouvelle image comme le splash screen qui occuperait toute la surface de l'écran. Mais si je rapelle directement mon image, elle s'affiche dans la partie droite de l'écran... y a t'il moyen de désactiver temporairement le système double fenêtre ?
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Messagepar Otto Grimwald le Sam Déc 08, 2007 7:32 pm

d'après ce que je peux voir dans ekphrasis,
http://ginko968.free.fr/jeux/ekphrasis.inf

ce genre de routine permet de détruire le fenetrage, affiche une image pleine page, et refait le fenetrage :
Code: Tout sélectionner
Attend();
Joue(218);
glk_window_clear(gg_mainwin);
glk_window_close(gg_mapwin,0);
glk_image_draw(gg_mainwin,25,0,0);
attend();
glk_window_clear(gg_mainwin);
   gg_mapwin = glk_window_open(gg_mainwin,
      (winmethod_Left+winmethod_Fixed),500,
      wintype_Graphics, GG_MAPWIN_ROCK);




Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Messagepar Yoruk le Mar Déc 11, 2007 1:14 pm

Merci,ça marche super bien. Par contre, une fois la sub quittée, je me retrouve avec 2 fenêtres complètement vierges : ya t'il moyen de réafficher la description et l'image du lieu en cours ? Je peux mettre un truc du genre <regarder ici> a la suite du code ?
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX

Messagepar Otto Grimwald le Ven Déc 14, 2007 11:03 pm

tiens, désolé je n'avais pas vu que tu avais répondu depuis...

tu peux peut-être essayer de mettre <<look>> ou <look> après l'appel de la fonction, peut-être que cela va permettre d'afficher les images et le texte du lieu ? Ou alors de redemander un glk_image_draw() ou un affiche() ?

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Questions diverses sous GLULX

Messagepar Yoruk le Sam Déc 15, 2007 9:53 am

Otto Grimwald a écrit:Ou alors de redemander un glk_image_draw() ou un affiche() ?


(Whaa les images mettent du temps à s'afficher !)

Oui tout simplement. :)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX

Messagepar Otto Grimwald le Sam Déc 15, 2007 10:13 am

les images dans le jeu ou sur le forum ? ;)

Au niveau de la connexion à free, hier c'était pas génial, les transferts bloquaient parfois quand je faisais la mise à jour, c'est peut-être encore des restes ? Car avec phpBB3 normalement il y a des systèmes de cache qui devraient accélérer l'accès aux pages et la navigation de façon générale.

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

PrécédenteSuivante

Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot] et 1 invité

cron