> forums jeux > tyrann
100 messages     10 pages     [ Aller à la page: 1 2 3 4 5 6 7 8 9 10  ]
Symoon
posté le mercredi 10 août 2011 19h51
 
Au cas où ça pourrait aider:
1- j'ai essayé de faire un DUMP de la RAM après chargement du WAV issu de ma K7 originale. Curieusement seuls 3 plans de labyrinthes sont en mémoire une fois le menu de départ affiché.
2- j'ai comparé les labyrinthes de la disquette de Dom avec ceux de la disquette source originale de R. Gosselin. Il y a un seul octet qui diffère dans le plan des labyrinthes: "1E" chez Dominique juste avant le dessin du laby 8, alors que c'est "00" sur la disquette source. Il faut savoir qu'en RAM, on a tout le dessin du labyrinthe (26*26 octets), + 4 octets dont l'utilité m'est inconnue. C'est donc le dernier de ces 4 octets entre les laby 7 et 8 qui diffère. L'octet est à l'offset D580 du fichier DSK de Dominique (Tyrann VF).

Symoon
posté le mercredi 10 août 2011 20h09
 
Dom, le "IF A>7 THEN A=7" prend son sens si les labyrinthes ne sont chargés en mémoire que 3 par 3.
J'imagine que A contient le niveau où l'équipe commence.
S'ils sont au niveau 8 ou 9, alors en mémoire on doit charger les niveaux 7, 8 et 9. Donc limiter A (variable qui sert à transférer le plan des labyrinthes a priori) au niveau 7, sinon on pourrait charger (8,9 et... 10 qui taperait n'importe où en mémoire).

Non ?
Bon désolé, je n'ai jamais fait 3 niveaux à Tyrann, il se passe quoi en fait si on fait + de 3 niveaux d'affilée, il faut recharger le jeu ?
J'espère que je ne raconte pas n'importe quoi et que je ne vous envoie pas vers de fausses pistes.
Dom
posté le mercredi 10 août 2011 21h00
 
Symoon a écrit:
Dom, le "IF A>7 THEN A=7" prend son sens si les labyrinthes ne sont chargés en mémoire que 3 par 3.
J'imagine que A contient le niveau où l'équipe commence.
S'ils sont au niveau 8 ou 9, alors en mémoire on doit charger les niveaux 7, 8 et 9. Donc limiter A (variable qui sert à transférer le plan des labyrinthes a priori) au niveau 7, sinon on pourrait charger (8,9 et... 10 qui taperait n'importe où en mémoire).

Non ?
Bon désolé, je n'ai jamais fait 3 niveaux à Tyrann, il se passe quoi en fait si on fait + de 3 niveaux d'affilée, il faut recharger le jeu ?
J'espère que je ne raconte pas n'importe quoi et que je ne vous envoie pas vers de fausses pistes.

Merci Simon, tu as tout à fait raison. Je l'ai vu aussi mais APRES avoir lancé Maximus sur cette fausse piste
Pour ma peine, je promets de faire le maximum pour trouver le problème et le résoudre. ( je ne peux promettre d'y arriver )

Je cherche et pour l'instant je ne trouve pas  Le mur est solide mais ma tête aussi

Ta question est intéressante : Quelqu'un a-t-il passé plus de 3 niveaux en une seule cession de jeu ? De ce que j'ai pu comprendre du listing,cela me semble impossible.
LadyWasky (admin)
D'autr'questions ?
posté le jeudi 11 août 2011 09h55

255 messages
Coucou !

Déjà, je tire mon chapeau à Dom pour sa version disquette (surtout que Tyrann utilise une zone mémoire utilisée lors de l'utilisation d'un lecteur de disquette, j'eu identifié ce "truc" lorsque j'ai réalisé la version 2, et ça m'avait empéché de scotcher tout ça sur disquette... misère !!!)

Ha oui, dom il faut que je te dise, Waskol n'est plus (d'une certaine façon), puisque j'ai changé mon ancienne vie de mec pour devenir une nana.


Bon, bon, bon, je promets de regarder tout ça, surtout les vilains bugs, mais quand j'aurais le temps parce que cet été je suis hyper prise avec mon association et avec la préparation du voyage le plus important de ma vie.

Sinon, je me demandais, il serait sans doute possible de convertir le listing BASIC de Tyrann en C, puis de compiler :
- ça prendrait moins de temps à charger en version K7
- ça prendrait moins de place en mémoire sur l'oric
- ... et du coup, ça permettrait aussi de corriger plus facilement certains bugs, et de rajouter des lignes (fonctionnalités supplémentaires) sans se soucier de la numérotation des lignes.

Bizzzz...


Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
Dom
posté le jeudi 11 août 2011 19h39
 
Super ! Nous pouvons remercier Simon !

Effectivement, comme il n'y avait pas de sauvegarde du niveau 8 sur la disquette, pour éviter l'arrêt du programme sur " File not found Error" j'ai mis dans le programme du "menu" une ligne 103 if N=8 or N=9 then 100. Et à la ligne 100 on te redemande vers quel niveau tu souhaites descendre.
Cette ligne sera effectivement à supprimer, mais ce n'est pas le problème que tu rencontres.

C'est plus grave que cela  (si on peut parler de gravité... car en fait, on s'ammuse bien)
Il va falloir modifier le code principal du jeu, car c'est lui qui interdit les sauvegardes aux niveaux supérieurs à 7.

C'est assez logique:
Comme l'a fait remarquer Simon, les plans sont chargés par trois donc, sytématiquement quelle que soit la valeur du niveau (>7) dans la sauvegarde, le niveau est ramené à 7.
C'est vrai pour le chargement des 3 plans mais après on pourrait penser que le niveau réel de sauvegarde est pris en compte. 

Et bien non !

Tout simplement parce que au début du jeu la position de l'equipe est initialisée en début des données des plans... Donc pour toi maintenant au niveau 7.
En effet, on trouve ligne 16 : W=36862 soit ( #8FFE) qui est bien le début des données plan.

C'est probablement pour ça que le jeu "impose" de retourner au village pour les sauvegardes. Car au redemarrage, il est conçu pour positionner l'equipe en début de plan, ou se trouve probablement l'escalier qui descend de Golanur.


Bref, il faut modifier le jeu. Pour cela j'ai besoin que tu me renvoies la disquette avec la sauvegarde du niveau 8, afin que je puisse tester mes modifs. 

On avance on avance on avance ....


LadyWasky (admin)
D'autr'questions ?
posté le vendredi 12 août 2011 14h55

255 messages
bon, je reviens sur l'histoire  de retour au niveau 7 alors qu'on arrive du niveau 8 ou 9.


Il faut considérer en l'état les niveaux 7, 8 et 9 comme un seul et même niveau, et si on veut rendre indépendants ces niveaux les uns des autres, il s'agit de changer les quelques listings de Tyrann :

Pour le 1er programme (celui où il y a la création des persos) :
il faut changer
8095 N=INT(PEEK(#A000)*4/5)+1:IFN>7THENN=7 et écrire  8095 N=INT(PEEK(#A000)*4/5)+1

Pour le 2ème programme, qui charge le laby, il faut enlever la ligne 40 (40 IFA>7THENA=7)
d'ailleurs, remarque, chose curieuse, le niveau de laby n'est pas sélectionné de la même façon que dans le 1er programme :
30 A=INT(PEEK(#A000)*3/4)+1
il ya peut être un p'tit bug là...(4/5, c'est pas pareil que 3/4 ....)
Et sinon, il faut ajouter une ligne 51
51 IFA>7THENPOKEB+((10-A)*680-1),30



ou bien... (parce que je ne sais plus où sont mis les datas, et il me semble qu'il faille respecter un certain nombre de caractères maximum de ce programme)
40 IFA>7THENC=3ELSEC=10-A
50 B=1650+(A-1)*680:DOKE6,B:DOKE4,36835:POKEB+C*680-1,30

enfin bon, peu importe, ça devrait aller


Alors effectivement, le la jeu en l'état charge 3 niveaux (POKEB+2039,30    ceci marque la fin du 3eme labyrinthe à charger par le langage machine ====> et   (2039+1)/680=3 ce qui fait 3 labyrinthes)
Le jeu charge alors les labyrinthes du niveau déterminé par A, jusqu'au labyrinthe de niveau A+3 (en fin il me semble, je crois, d'après mes souvenirs).
(exemple :
Si A vaut 3, vous aurez accès pendant le jeu aux labyrinthes de niveau 3 à 6)

Pour le 3ème (le jeu, la sauvegarde)
Bon, ici le niveau est déterminé avec la variable DN (ainsi que la valeur W qui correspond au premier emplacement mémoire du laby).
- Au village, vous êtes au niveau "zéroé : DN=0:W=DEEK(6)
- vous descendez un escalier : DN=DN+1:W=W+680
- vous montez un escalier : DN=DN-1:W=W-680

Si vous avez chargé le jeu à partir du niveau 6, hé bien le niveau 6 sera le DN=1 !!!

Quand on lance KADEO, le niveau est calculé à partie de la valeur de W (donc indirectement grace à DN, et non pas avec la formule magique qu'il faudrait)
Du coup, le premier niveau sous le village est toujours le Niveau 1 (pour KADEO) !!, vous descendez un escalier, KADEO vous parlera du Niveau 2 (m^me si c'est le niveau 4, 5,6, 7 ou 8, etc).

C'est un peu embétant tout ça, parce que vous chargez le programme, le niveau moyen de vos perso se trouve etre entre 6 et 6,99 :
1) l'accueil du jeu vous dit que vous descendez directement au niveau 6
2) vous vous retrouvez en fait au niveau 7 !!!!
3) et KAdeo vous dit que vous etes au niveau 1 (qui correspond au 6 ou au 7 ma brave dame ????)

En fait, on pourrait remédier à ça en ajoutant une ligne :
52050 F8=INT(PEEK(#A000)*3/4)+DN
Et KADEO affichera le bon niveau



Après j'ai pas testé, mais ça devrait le faire....

bizzz


Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
LadyWasky (admin)
D'autr'questions ?
posté le vendredi 12 août 2011 17h40

255 messages
Par hasard, tu n'aurais pas recompiler tout ça avec le commentaire que j'eu mis dans le listing de la page 4 de ce fil de discussion ????
Tu sais : //Saving a .tap works, I think, better with euphoric (straight double-click...), here, the file was saved as" TYRAN.SAV" instead.


Y'a t'il d'autres oriciennes ? Je me sens seule ! ^^
Dom
posté le vendredi 12 août 2011 22h40
 
maximus a écrit:
Ainsi j'ai pu aisément visiter les niveaux 8 et 9, mais la sauvegarde a planté, voilà le message:

J'ai fait plusieurs essais au niveau 8, avec des personnages de niveaux 8, 9 ou 10

Tu as visité le niveau 8 et la sauvegarde à dû marcher, je l'ai trouvée sur la disquette que tu m'as renvoyée.

J'ai aussi lancé le DUMP que tu m'as envoyé et tenté de sauvegarder l'équipe. et et ... Ca a marché ...
Bizare ! 
Mais c'est une sauvegarde de niveau 8 aussi . Car si on fait la moyenne des niveaux des membres de l'équipe on arrive à 9,5 dont la partie entière est 9 et en appliquant la formule citée plus par LadyWasky on se retrouve bien au niveau 8 donc pour moi jusque là tout va bien.

J'ai artificiellement "gonflé" le niveau moyen de l'equipe à 10 (TYRANN.DAT:POKE#A000,10:SAVE"TYRANN.DA9,A#A000,E#A1D1)

Ensuite relancé le programme Option 3 niveau 9.... Pas de problème  , le sort KADEO ,réparé, indique bien niveau 9.

En résumé tout à l'air de marcher ici, je ne comprends pas ton plantage... Je ne le mets pas en doute, je dis juste que je n'arrive pas à le reproduire.

(pour Simon, j'ai essayé avec RamPattern 1 ET 2  )

Pour le sort  KADEO, je l'ai réparé grace à l'idée de LadyWaky. Sauf que le contnu de #A000 est changé entre le moment ou la sauvegarde est chargée en mémoire et le moment quelconque où on lance ce sort.
J'ai utilisé la variable NI, crée tout spécialement pour pouvoir accéder aux niveaux 8 et 9 malgré le fait que le le dernier plan chargeable soir le 7 ( suivi des 8 et 9)
Car en fait Wasky, le jeu charge les plans trois par 3. le dernier triplet possible étant 7,8 et 9. et à l'origine positionnait toujours l'équipe au début du premier (donc le 7 ) par W=36862 . J'ai remplacé cela par W=36862+680*(NB-7) avec NB=7 si NI<7 et NB=NI sinon.
Dom
posté le samedi 13 août 2011 00h21
 
maximus a écrit:
Hi Hi Hi

j'ai trouvé le souci que bien d'autres pourraient avoir

lorsque l'on recharge un dump, euphoric lance par défaut un atmos basique, sans lecteur de disque et la sauvegarde plante forcément !

voila pourquoi si on utilise un DUMP il ne faut pas oublier -d  donc:        euphoric -r -d


Raaaaahhh ! Alors ça fait un  partout pour les fausses pistes !

Avec Simon, nous avons débusqué un autre bug assez vicieux, qui n'apparait que sur certains Orics (en fait certains types de mémoires dont l'initialisation est diférente) 
Bref, c'est corrigé !
Kadeo aussi est corrigé, je vais donc te renvoyer notre version TYRANnv3d, pour la suite de tes tests


Symoon (admin)
Oric-wikipedia
posté le samedi 13 août 2011 08h53

118 messages
Sur le plan lui-même, j'ai comparé celui de la disquette de Dom chargé en RAM, et celui sur la disquette source de Norsoft: strictement identique.
Ca n'exclut pas un pb de décalage dans le chargement en mémoire, ou un bug d'origine (je n'ai pas épluché les valeurs du labyrinthe) mais au moins le tracé du labyrinthe est conforme à ce qu'ont fait les auteurs !
100 messages     10 pages     [ Aller à la page: 1 2 3 4 5 6 7 8 9 10  ]
> forums jeux > tyrann