website logo
Auteur
avatar
thellier

Forum » » Création-Développement » » projet: "player" Amiga pour les jeux conçus avec Game Maker


Posté : 06-08-2015 10:59 icone du post

Ben là j'ai glané pas mal de doc sur leurs formats de fichiers,leur format de données et leur bytecode
Donc ça devrait suffire
Là je fusionne mon moteur de jeu d' AbbayeDesMorts avec mon lecteur de fichier GameMaker pour avoir une fondation pour afficher les données du jeu

Le seul vrai problème c'est sur le bytecode (cad les scripts) = ce que j'obtiens une fois décompilé est pas cohérent pour les instructions pop et push
Cad ou leur doc est fausse ou je me trompe en l'implémentant

Par exemple voici la décompilation de 4 scripts de l'Abbaye des Morts (la version originale gamemaker)
C'est des création de salle (room) apparemment le premier push lit le titre de la salle
On s'attendrait à ce qu'il le stocke toujours (avec un pop) dans la meme variable "titre de la salle" or il le stocke dans la var98 ou la var60 ou la var36 ou la var169
= incohérent
Donc visiblement faux

Alain

(CODE_239)-----------------------------------------
G->Code[x].Name=gml_RoomCC_ingame_239_Create>
CODE(348396,push ,read,STRING,string234,'Hangman tree')
CODE(348404,pop ,set,Self,STRING,var98,'var?',typ-24576)
CODE(348412,push ,read,WORD,22)
CODE(348416,pop ,set,Self,LONG,var100,'var?',typ-24576)
CODE(348424,push ,read,WORD,0)
CODE(348428,pop ,set,Self,LONG,var103,'var?',typ-24576)

(CODE_240)-----------------------------------------
G->Code[x].Name=gml_RoomCC_ingame_240_Create>
CODE(348444,push ,read,STRING,string235,'your doom will come#not by my hand,#but by human hands')
CODE(348452,pop ,set,Self,STRING,var60,'visible',typ-24576)
CODE(348460,push ,read,WORD,2)
CODE(348464,pop ,set,Self,LONG,var113,'var?',typ-24576)
CODE(348472,push ,read,WORD,0)
CODE(348476,pop ,set,Self,LONG,var141,'var?',typ-24576)
CODE(348484,push ,read,WORD,5)
CODE(348488,pop ,set,Self,LONG,var36,'application_surface',typ-24576)

(CODE_241)-----------------------------------------
G->Code[x].Name=gml_RoomCC_ingame_241_Create>
CODE(348504,push ,read,STRING,string236,'Four brothers#changed their faith')
CODE(348512,pop ,set,Self,STRING,var36,'application_surface',typ-24576)
CODE(348520,push ,read,WORD,4)
CODE(348524,pop ,set,Self,LONG,var36,'application_surface',typ-24576)

(CODE_242)-----------------------------------------
G->Code[x].Name=gml_RoomCC_ingame_242_Create>
CODE(348540,push ,read,STRING,string237,'An invisible path#over a wood bridge')
CODE(348548,pop ,set,Self,STRING,var169,'var?',typ-24576)
CODE(348556,push ,read,WORD,4)
CODE(348560,pop ,set,Self,LONG,var170,'var?',typ-24576)
Sam440 - Sam460 - X5000 - PowerBookG4 - WinUAE - MiniMig

Message édité par : thellier / 06-08-2015 11:00

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=2131&forum=14