Shit Fliez Index du Forum Shit Fliez
Bienvenue sur le forum officiel des Shit Fliez !
 
 AccueilAccueil  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Avancement du projet
Aller ŕ la page Précédente  1, 2, 3, 4  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Shit Fliez Index du Forum -> Edition de Final Fantasy VII
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Fremen^SF
GDB des Shit Fliez


Inscrit le: 21 Mar 2003
Messages: 849
Localisation: Versailles

MessagePosté le: 19 Oct 2003 14:42    Sujet du message: Répondre en citant

Jopfleger :

Pour les tailles des fichiers scene.bin, j'ai v?rifi? et tout correspond. Sur ce point c'est parfait Clin d'oeil

? partir du moment o? on a parfaitement d?crypt? un scene.bin original (ex scene.bin fr, PS1 ou PC), on pourrait l'adresser directement en g?n?rant une table de pointeurs
ex Ennemi1,
Id=adr hexa xxxxx,
Nom=adr hexa yyyyy,
Level=adr hexa zzzzz,
H?las cela ne tient plus ? partir du moment o? l'user a modifi? certaines caract?ristiques, car les adresses hexa pourraient avoir chang?.


A vrai dire, la seule partie dont la taille peut varier dans un "file" c'est la partie tout ? la fin (? partir de l'octet 0xE80) qui contient les scripts. Chaque valeur (autre que dans les scripts) a une taille fix?e, m?me les noms des monstres font tous 32 octets (=une cha?ne de caract?res compl?t?e par des 0xFF).

Donc pour mon prog VB, j'utilise le fichier scenestats.txt avec les champs, c'est pour moi la meilleure exploitation possible. Mais je ne voulais pas vous obliger ? utiliser ce m?me format. Mais comme j'ai les sources en C, je peux maintenir cet utilitaire si vous partez sur un autre format. Je ne vous demande pas de maintenir deux versions du programme de d?cryptage. De plus l'utilitaire (que je n'ai pas test?) doit parfaitement fonctionner.

Les sources en C que tu as sont-ils encore ? jour ? Car a priori la version qui g?n?re un fichier scenestats.txt avec des champs n'est pas encore capable de r?cup?rer ce scenestats.txt pour faire un fichier scene.bin.
A moins que tu aies d?j? avanc? de ton c?t?, je te propose une id?e pour le fonctionnement de ton programme (c'est une proposition, ?videmment apr?s tu fais comme tu le souhaites) :

1) Ton programme appelle scene_extract qui va d?composer "SCENE.BIN" en fichiers "file*.gz"
2) Ton programme appelle gunzip pour d?compresser chaque "file*.gz" en "file*"

3) Ton programme peut alors lire et ?crire dans chaque "file" en mode binaire. Pour cela tu cr?es une structure :

[ccod:1:468357f151]
// Structures definitions
// Total size : 7808 bytes / 0x1E80 bytes
// Each battle scene structure has got the same length
// Each monster structure has got the same length

typedef struct _battle_scene {
unsigned char battleUnknown[4][20];
unsigned char battleUnknown2[4][4][12]; // seems to include coordinates
} battle_scene_t;

typedef struct _battle_scene_spec {
unsigned short int monsterID; // monster's ID number (see beginning of filetype)
short int axisX; // monster's X coordinates
short int axisY; // monster's Y coordinates
short int axisZ; // monster's Z coordinates
unsigned short int line; // "line" where the monster is. (First or second)
unsigned short int line2; // SEEMS to have something to do with line
unsigned int undefined; // usually 0xFFFFFFFF
// with 0xFFFFFFFE, monster will be vanished
} battle_scene_spec_t;

typedef struct _monster_main_carac {
unsigned char level; // monster's level
unsigned char speed; // monster's speed
unsigned char luck; // luck
unsigned char physic_esq; // percent of physical dodge
unsigned char strength; // strength
unsigned char physic_def; // physical defense
unsigned char magi; // magic power
unsigned char magic_def; // magic defense
} monster_main_carac_t;

typedef struct _monster_carac {
unsigned char name[32]; // monster's name
monster_main_carac_t main_carac; // see struct above
unsigned char elements[8]; // list of elements
unsigned char links[8]; // "links" between elements and monster (absorb, resist...)
unsigned char actionID[16]; // ID of special attacks of the monster
unsigned short int actionTextID[16];// ID of special attacks' names
unsigned char unknown1[2*16 + 4]; // unknown data
unsigned short int object; // object you can obtain when battle's finished
unsigned short int steal_object; // object you can steal to monster
unsigned char unknown5[12]; // unknown data
unsigned short int MP; // MP
unsigned short int AP; // AP when battle's over
unsigned short int trans_object; // object obtained with Trans. materia
unsigned char unknown2[2]; // usually 2 numbers + 10 FF
unsigned int HP; // HP
unsigned int EXP; // Exp when battle's over
unsigned int gils; // gils when battle's over
unsigned char unknown3[4]; // 4 "random" numbers
unsigned char unknown4[4]; // usually FF FF FF FF
} monster_carac_t;

typedef struct _unknown_struct {
unsigned char unknown[32][28]; // SEEMS to be 4*7 bytes blocks
} unknown_struct_t;

typedef struct _attacks_names {
unsigned short int nameID[32]; // ID of special attacks' names (see. monster_carac)
unsigned char attackName[32][32]; // Text which corresponds to special attack
unsigned char unknown[512]; // Has it anything to do with attacks names ?
} attacks_names_t;

typedef struct _block {
unsigned short int subPointer[16]; // Points to each sub-block
unsigned char *subBlock[16]; // Up to 16 sub-block
unsigned short int subBlockSize[16];// Size of subBlock
} block_t;

typedef struct _scripts {
unsigned short int pointer[3]; // Up to 3 script blocks
block_t block[3]; // Contains script blocks
} scripts_t;

typedef struct _file_type {
unsigned short int monsterID[4]; // 0x000 IDs of the monsters
battle_scene_t battle; // 0x008 Has something to do with battle rendering
battle_scene_spec_t battle_spec[4][6];// 0x118 Battle scenes specifications
monster_carac_t monsterSpec[3]; // 0x298 Description of the 1, 2 or 3 monsters
unknown_struct_t uk_struct; // 0x4C0 SEEMS to be 4*7 bytes blocks
attacks_names_t attacks; // 0x840 Attacks names
// scripts_t scripts; // 0xE80 Scripts (variable length) EN COMMENTAIRES (inutiles ici)
} file_type_t;

[/ccod:1:468357f151]

Bien s?r en VB une structure se d?clare avec "Type", les "int" deviennent des "long", les tableaux de char deviennent des "dim tableau as string * taille", je ne pense pas que ?a te soit utile de le rappeler.

Une fois ta structure cr??e, tu n'as plus qu'? faire un :

Code:

open "file20" for binary as #1
get #1,,mastructure
close #1


Et "mastructure" contiendra toutes les informations dont tu as besoin sur le "file20". Par exemple mastructure.monsterSpec[1].HP te donnera les HP du monstre 2, mastructure.monsterSpec[0].Gils te donnera des informations sur les Gils obtenus en battant le monstre 1.

L'avantage est que tu n'auras qu'? modifier ta structure si FWS, Speedy et moi trouvons le sens de certains "unknown". Le second (gros) avantage est que l'enregistrement se fait de la m?me fa?on, quelles que soient les modifications apport?es.

Code:

open "file20" for binary as #1
put #1,,mastructure
close #1


4) Ensuite tu appelles gzip pour recompresser chaque "file" en "file.gz"
5) Tu appelles scene_create pour recr?er un nouveau fichier scene.bin

Note que scene_extract et scene_create sont en version "finale", c'est-?-dire qu'ils doivent parfaitement fonctionner pour tous les cas de figure.

Donc si cette m?thode t'int?resse, si n?cessaire je peux te fournir plus de renseignements pour convertir la structure au format VB, et ?videmment je te compilerai la derni?re version Windows scene_extract et scene_create en te joignant les sources avec.


Sinon concernant tes "probl?mes" d'optimisation, m?me en tant que puriste du C je trouve ?a tr?s acceptable. Honn?tement je ne pensais pas qu'il serait d?j? possible d'atteindre une telle vitesse. Je trouve m?me tes r?sultats tr?s concluants, c'est l? qu'on sent ton exp?rience dans le domaine ! Clin d'oeil


Alors comme ?a tu es supporter de Strasbourg ? Tu as vu la taule que vous avez mise ? Marseille ? ^^
Sinon bon courage pour ton "stage payant", c'est s?r que c'est toujours mieux qu'une poursuite judiciaire, mais toi qui n'a d?j? pas beaucoup de temps ?a ne doit pas t'arranger. Neutre
_________________
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 20 Oct 2003 14:52    Sujet du message: Répondre en citant

Merci de toutes vos infos.

FWS: d?sol? que tes time-challenges n'aient pas suscit? davantage d'?cho.
Tout de m?me, battre Emerald en nomateria en moins de 7', c'est impressionant. Tes tactiques sont imparables.
Ainsi tu as entrepris un low-level challenge? Mais dans ce cas, Clad lvl14 au Temple des Anciens, tu dois fuire les combats et sans arr?t alterner les persos, ou bien tu ne fais grimper qu'Aeris que tu fais combattre seule, Clad et les autres morts?
Pourrais-tu m'expliquer en quoi ce challenge t'oblige ? trouver d'autres subtilit?s ou ? r?fl?chir ? des strat?gies diff?rentes? J'ai d?j? un peu mon id?e, mais je suis impatient de conna?tre tes explications.
Pour la table FileId + SubFileId + Location, je pensais ?tablir la correspondance entre:
- 6,3,31 (Adamantaimai, File6, Subfile3) --> 32 "Autre Continents" & "?" & "32. Wutai."
- 8,2,13 (Sweeper personnalis?, File8, Subfile2) --> 13 "Premier Continent" & "?" & "13. Kalm"

En plur clair, associer ? chaque monstre (donc identifi? de mani?re univoque par le FileId + SubFileID, un Id de location. Je pensais proposer comme location les 52 locations recens?es dans la solution ffworld.
ex:
1. A l'assaut du r?acteur Mako Num?ro 1
...
52. La Confrontation finale
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 20 Oct 2003 15:04    Sujet du message: Répondre en citant

Correction:
Pour la table FileId + SubFileId + Location, je pensais ?tablir la correspondance entre:
- 6,3,32 (Adamantaimai, File6, Subfile3) --> 32 "Autre Continents" & "?" & "32. Wutai."
- 8,2,13 (Sweeper personnalis?, File8, Subfile2) --> 13 "Premier Continent" & "?" & "13. Kalm"

Le fichier des ennemis pourrait ressember ? ceci:
file005,2 Grand trouffion
file005,3 Grand trouffion
file006,3 Adamantaimai
file007,1 Chasseur
file008,1 Balade de d?mon
file008,2 Sweeper personnalis?
file008,3 Canine de Kalm
file009,1 Sweeper personnalis?
file009,2 Canine de Kalm
file009,3 R?deur
file010,1 Balade de d?mon
file010,2 Canine de Kalm
file010,3 R?deur
file011,1 Canine de Kalm
file011,2 R?deur
file012,1 Mu
file013,1 Elfadunk
file013,2 Mandragore
file013,3 L?vrikon
file014,1 Mandragore
file014,2 L?vrikon
file014,3 Chocobo
file015,1 Elfadunk
file015,2 L?vrikon
file015,3 Chocobo
...
file245,1 Arme de diamant
file245,2 Arme de rubis
file245,3 Ruby's Tentacle
file246,1 Arme d'?meraude
file246,2 Jambe
file246,3 Oeil
file247,2 Derni?re arme
file248,1 Jungleur flotteur
file248,2 Bagnadrana
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
Fremen^SF
GDB des Shit Fliez


Inscrit le: 21 Mar 2003
Messages: 849
Localisation: Versailles

MessagePosté le: 20 Oct 2003 15:44    Sujet du message: Répondre en citant

*Fremen se marre tout seul*

Jopfleger dans ton post pr?c?dent en lisant :
Ex: FileId + SubFileId and Location
j'avais compris "FieLd" et "SubFieLd", et non pas "FileID" et "SubFileID". Evidemment tout devient plus clair Sourire

Je crois que FWS avait lui aussi compris ?a de la m?me fa?on.
FWS a écrit:
(je ne comprends pas trop le subfield)


Sinon concernant ma proposition pour ton programme, est-ce qu'elle ne te convient pas ou n'as-tu tout simplement pas eu le temps d'y jeter un oeil pour le moment ?
Dans tous les cas tu peux rester sur l'id?e de travailler sur le fichier avec des champs, c'est juste que cette autre m?thode me para?t plus pratique.
_________________
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 20 Oct 2003 15:55    Sujet du message: Répondre en citant

Fremen: si j'ai bien compris, tu sugg?res d'utiliser directement le scene.bin apr?s avoir d?compress? les blocs individuellement?
En fait, dans ma phase initiale, je lis le scenestats.txt, cf:

champ01:file=file5,2?champ02:name=Grand trouffion ?champ03:level=12?champ04:speed=40... ?champ25:unknown4=255;255;255;255?"

champ01:file=file5,3?champ02:name=Grand trouffion ?champ03:level=12?champ04:speed=55 ... ?champ25:unknown4=255;255;255;255?"

champ01:file=file6,1?champ02:name=??0(??)?champ03:level=3?champ04:speed=200 ... ?champ25:unknown4=255;255;255;255?

champ01:file=file6,3?champ02:name=Adamantaimai ?champ03:level=30?champ04:speed=62 ... ?champ25:unknown4=255;255;255;255?

Ainsi, j'alimente tr?s rapidement en m?moire l'int?gralit? des caract?ristiques de chaque ennemi (1000 lignes de 28 champs), ? une lecture du scenestats.txt correspondant un ennemi.

Par contre, je serais int?ress? par le code source de ce prog si tu l'as gard? dans cette version, car je n'ai pas encore test? cet utilitaire.
Au besoin si tu l'as perdu, je lirai le scene.bin en binaire comme tu m'en as fait une d?monstration convainquante (humour).

Je serai super int?ress? par des tools extr?mement performants pour par ex:
- trier une table en m?moire sur un niveau quelconque d'une table multi dimensionnelle (j'ai fait le tool moi-m?me, mais je pense qu'on peut faire mieux).

Si vous voulez visualiser le source: aSort ?tant un Arrray

Function fnSort(aSort, intAsc)
'call the function second argument:
' * ascending sorted = 1
' * descending sorting = any other character

Dim intTempStore
Dim I, j
For I = 0 To UBound(aSort) - 1
For j = I To UBound(aSort)
'Sort Ascending
If intAsc = 1 Then
If aSort(I) > aSort(j) Then
intTempStore = aSort(I)
aSort(I) = aSort(j)
aSort(j) = intTempStore
End If 'i > j
'Sort Descending
Else
If aSort(I) < aSort(j) Then
intTempStore = aSort(I)
aSort(I) = aSort(j)
aSort(j) = intTempStore
End If 'i < j
End If 'intAsc = 1
Next 'j
Next 'i
fnSort = aSort
End Function 'fnSort


- rechercher un ?l?ment particulier dans une table sans d?crire une boucle, du stype SearchArray (MyArray, Position, MonTexte) mais tr?s performant en ex?cution
C'est ? cause du cas SearchArray que je me suis livr? ? des ?lucubrations.
Et j'ai peur de ne pas m'?tre fait comprendre.
Je vais essayer de mieux m'expliquer.
L'utilisateur s?lectionne un ennemi au hasard dans la treeview.
Je lui affiche les sliders de l'ennemi s?lectionn? et il "bouge" les carac.
Comment retrouver DIRECTEMENT cet ennemi dans ma grande table en m?moire, sachant que l'utilisateur a cliqu? sur un treeview ?
En fait, ce que je connais, par rapport ? son click, c'est l'Id de l'ennemi ainsi que son SubfileId (ex Adamantai est 6,3) mais je ne peux pas utiliser 6,3 soit 63 comme indice de la table (un des derniers est 248,2 Bagnadrana), cela me ferait une table de 2482 lignes ? 28 ?l?ments.
J'ai "astuci?" le prob en cr?ant une minitable:
En plus compr?hensible, ? l'adresse 52 se trouve l'indice 0 (1er indice, "Grand trouffion"),
A l'adresse 53 on trouve 1 (2?me indice, "Grand trouffion")
A l'adresse 63 on trouve 2 (3?me indice, "Adamantai")
A l'adresse 2482 on trouve xxx (xxx?me indice, "Bagnadrana")

De mani?re g?n?rale, si vous avez des proc?dures de tri/recherche d'array multiniveaux tr?s performantes (ex dichotomiques), je suis preneur.
C'?tait simplement un appel ? l'aide ? des supertechniciens. (ils ont d'autres caract?ristiques heureusement ces chers supertechniciens, celle-l? ?tant une des plus ?videntes).
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 21 Oct 2003 8:03    Sujet du message: Répondre en citant

Fremen:
J'avais lu attentivement tes derniers posts, hier malheureusement j'avais peu de temps.
- Ainsi vous avez remarqu? comme moi que le Racing Strasbourg se porte bien? Je suis s?r que si j'?tais "pass?" en jugement APRES le match contre Marseille, je n'aurais m?me pas eu de stage ? faire.
- Ta mani?re d'utiliser directement le scene.bin en alimantant des datastructures, je l'avais envisag? pr?alablement. Puis je l'avais ?cart? en pensant "b?tement" que les changements introduits par l'user pourraient provoquer des d?calages. Je me rends compte qu'il n'en est rien, puisque co tu me l'as expliqu? (et c'?tait d?j? dit avant, comme quoi il faut tout lire), m?me les noms des ennemis occupent tjrs le m?me nombre d'octets dans l'espace.
- Ceci est un avantage consid?rable et je vais entreprendre une version ter qui acc?dera directement aux files du scenen.bin d?compress?s. Je vais adopter ton id?e et voir ce que cela donne ? l'ex?cution. Il ne faut pas oublier que dans ma phase pr?paratoire, j'alimente imm?diatement tous les eneemis avec leurs carac, les objets associ?s...
- Si vous avez des tools tr?s performants,
--- ex1: Trier sur le ni?me ?l?ment d'une table ? n ?l?ments (tri rapide, dichotomique)
--- ex2: Comment rechercher une cha?ne de caract?re dans le ni?me ?l?ment d'une table ? n ?l?ments, mais sans passer par une boucle. Il semble qu'en VB6 on puisse faire appel ? une fonction Filter, mais elle e ma para?t pas ultra performante.

F?licitations ? FWS qui continue d'investiguer les unknown!
Les qualit?s ?videntes de FWS en tactique se marient merveilleusement ? son esprit analytique, les constats sont admirables.
Pour ta gouverne, j'ai r?ussi ? battre Emerald en nomateria avec le seul Clad, Clad ?tant en Fureur d'entr?e. Au mois d'ao?t, je m'?tais "cass? les dents" sur Emerald ? cause de cette configuration. Timer restant: 3'. Il faut un peu de chance pour que les Omnislash "cassent" les yeux et que l'Omnislash suivant ne frappe que le corps.

Malheureusement, ? un niveau aussi subtil de d?cryptage, FWS, les manipulations peuvent induire des ?l?ments trop perturbateurs si on permet des modifications aussi fines directement ? nos chers users. Si on permute des attaques, si on change la mani?re dont un ennemi r?agit par rapport aux ?l?ments, ceci pour un ennemi ou un groupe ou une r?gion, j'ai peur que cela ne nous entra?ne trop loin et que nous aurons du mal ? r?pondre ? des questions du style: Je n'arive pas ? battre les MallDancers qui arrivent par 5, ils sont insensibles aux attaques physiques ainsi qu'aux ?l?ments. De plus je ne peux pas faire "Sentir" sur eux et je ne peux donc d?terminer leur HP qui ? mon avis est tr?s ?l?v?!
Pour ma part, je vais limiter les possibilit?s de "manipulation" aux caract?ristiques de base (LVL, HP, MP, EXP, Gils, les 6 stats), ainsi qu'aux objets re?us ou vol?s ou transform?s. Le but c'est aussi de "d?boucher" avec une maquette que je puisse vous pr?senter un de ces jours.
Ceci dit, si tes investigations te permettent de d?livrer des infos fiables, rien ne nous emp?che de constrire un programme donnant un contr?le vraiment complet sur les manipulations. A toi apr?s de le valider, car cela aussi prendra du temps.
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
FWS



Inscrit le: 05 Oct 2003
Messages: 25
Localisation: Pr?s de St Malo

MessagePosté le: 25 Oct 2003 18:59    Sujet du message: Répondre en citant

Fremen : Effectivement, ? partir 18H ?a rame, mais le probl?me ne vient pas de l? puisque ? d'autre heures je peux aller sur le forum et voir les topics, mais c'est quand je clique sur le topic pour voir les messages que rien ne s'affiche, ou alors juste 1 ou 2 boutons ic?ne (profil par exemple).
J'ai toujours le probl?me d'invalid session mais j'arrive ? poster en essayant plusieurs fois
Pour l'emulateur, c'est au moment de la lecture du CD qu'il y a une erreur avec ePSXe, et avec PSEmuPro c'est apr?s avoir parl? ? Barret que le jeu bloque, c'est a dire avant que Clad ne l?ve la t?te pour regarder le R?acteur.

J'avais moi aussi compris Field au lieu de FileID (et m?me en relisant je voyais encore field ^^)

jopfleger : Pour le low-level, il faut toujours fuir. Il n'y a que contre les boss que je fais le combat avec les 3 persos vivants puis je tue les 2 persos qui ont le niveau le plus elev? pour terminer le combat (j'utilisait sentir). Comme on fuie tout le temps, on a pas beaucoup de gils pour s'acheter des objets ou equipements ni de materia. J'ai juste fait quelques combats pour avoir les TalentE 'Grande garde' 'vent blanc' 'Beta'
De plus avec des niveau aussi bas, Beta avec Aeris Nv17 ne depasse pas les 800H, je me sers egalement des invocations qui sont puissantes car les materias ne gagnent pas d'AP et reste au niveau 1 donc tres faibles. En fait, c'est un peu comme si les boss ?taient plus forts puisque nos coups ne sont pas tres puissants et on est moins r?sistant
Contre le scorpion gardien, heureusement que je l'avait empoisonn?, car ? la fin, je n'avais qu'un perso de vivant (sans le faire expr?s) et j'?tais oblig? de me soigner apr?s chacune de ses attaques, heureusement il avait peu de HP ? ce moment l? et est mort peu de temps apr?s.
Mais c'est contre Palmer (qui l'eu cru...) que je suis mort plusieurs fois, en effet, Cald avec sont Nv13 mourrait en un coup, j'ai du le mettre en triste pour qu'il soit plus r?sistant. Maintenant je dois aller au temple des anciens. En fait attendre que le boss attaque avant de faire une action, un peu contre les Armes.
Pour l'instant, je garde Aeris car je sais qu'elle s'en ira. Mais youfie et cid sont d?j? Nv17 quand je les prends.
En low-level, nos persos sont trop faibles pour attaquer, c'est surtout la magie qui compte et elle n'est pas non plus tr?s puissante.

Pour les locations est ce que ce sera le plus pr?cis possible ? par exemple :
LieuxFF7(17) = "Premier Continent" & "?" & "18. Junon"
? junon, il y a les for?ts, la plage, la terre, la prairie donc 4 sous-lieux.
Mais certains monstres ne se trouvent qu'? un endroit tr?s pr?cis, comme le Piqueur qui se trouve au niveau des toiles d'araign?e dans la grotte Gi. Et m?me dans des lieux ferm?s (exemple : Mine mythril), ? des ?crns differents on ne trouvent pas les m?mes monstres, on ne trouve le dragon vout? que dans l'?cran de la materia Longue port?e.

F?licitation pour ta victoire avec Clad Seul, Je suppose que tu as du t'?quiper d'un anneau r?sistant de mani?re ? pouvoir subir 2 'Tir d'?meraude' ? Pour les yeux, la technique est de se soigner avant qu'il ne fasse 'tir d'emeraude' se qui rempli la jauge de limite comme cela on peux tout de suite l'utilsier avant que tous ses yeux aient attaqu? ce qui en d?truit 2 environ (mais j'ai r?ussi une fois ? d?truire les 4 en un coup) puis n'attaquer que les yeux avec une attaque tant que la limite n'est pas pleine.

Pour le d?cryptage, c'est pour en savoir le plus possible m?me si on ne permettra pas ses modifications.
Mais cela peut servir si l'on modifie nous-m?me ces caracteristiques, en proposant un scene.bin sp?cial qui aurait subi des manipulations que les users ne pourraient faire avec leur programme.
Une chose qui me plairait bien c'est qu'il soit possible de mettre Emerald et Ruby dans un m?me combat. Sauf qu'il faudrait supprimer l'attaque 'temp?te de sable' de Ruby pour pouvoir rester ? 3 contre les 2 Armes.
En tout cas pour les objets vol?s,re?us... il te faudra modifier le programme, car comme je l'ai mis dans le topic de d?cryptage, les objets semblent en relation avec un octet indiquant la fa?on de les obtenir et peut-?tre la probabilit? de les avoir.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Adresse AIM
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 29 Oct 2003 12:40    Sujet du message: Répondre en citant

Salut FWS.
J'ai lu avec bcp d'attention toutes tes r?flexions.
Je vois que le low-level peut ?tre assez int?ressant et oblige le gamer ? faire des efforts tactiques alors qu'on n'y pense m?me pas en parcours normal.
J'ai bien rigol? quand tu parlais de Palmer, en effet qui l'eut cru?
Mais comme il faut se soigner tr?s souvent, comment tu fais? Tu ach?tes des potions/super potions (as-tu des gils?) ou tu te sers de la magie ou encore tu utilises TalentE? Cela para?t vraiment int?ressant, et le challenge est peut-?tre plus dur qu'en nomateria o? les persos grandissent normalement et o? on utilise plut?t les limites contre les boss. En low-level, la tactique est-elle d?terminante et quasi-permanente, ce qui ne devrait pas te d?plaire?
Tes remarques sur comment battre Emerald avec le seul Clad sont une fois de plus pertinentes car c'est bien comme cela que je l'ai battu.
Je te cite:
Pour les yeux, la technique est de se soigner avant qu'il ne fasse 'tir d'emeraude' se qui rempli la jauge de limite comme cela on peux tout de suite l'utilsier avant que tous ses yeux aient attaqu? ce qui en d?truit 2 environ (mais j'ai r?ussi une fois ? d?truire les 4 en un coup) puis n'attaquer que les yeux avec une attaque tant que la limite n'est pas pleine.

Mes Omnislash ne cassent pas les 4 yeux d'un coup, c'est rarement le cas. Le meilleur timer que j'ai eu est temps restant de 3', mais il m'arrive de perdre ce challenge-l? (time-out).

Pour le d?cryptage, sache que je lis avec une ?norme attention toutes vos recherches, mais pour ma part je veux finir l'interface. Tu ne peux donc compter que sur toi pour affiner les recherches sur le scenebin.
Avec tes capacit?s d'analyse, tu as trouv? l? un challenge ? ta mesure.

Si apr?s les infos trouv?s sont suffisamment fiables, je peux int?grer plus de finesses dans une autre version, mais il serait bon d?j? d'avoir une version b?ta du programme de base.
J'ai bien vu qu'on ne peut pas modifier les objets ? voler ou re?us ou Trans n'importe comment. J'ai envie de proposer de changer les objets mais uniquement pour remplacer l'objet "standard" (ex Blugu qui donne "Epine paralysie") par des objets communs (ex Potion), mais pas l'inverse.

Ton id?e d'int?grer Rubis et Emerald dans un m?me combat est g?niale (en creusant un peu on pourrait cr?er une version de Rubis qui serait inclue dans le fichier contenant Emerald), reste ? ?liminer Temp?te de Sable ? moins que tu ne nous "sortes" une tactique contre les deux avec un seul perso!
Il n'y a que toi qui serait capable d'?laborer une strat?gie capable de les vaincre dans un seul et m?me combat.

Le low-level a-t-il r?ussi ? soulever le m?me enthousiasme que le nomat?ria sur le forum FF7 de jv?

Si jamais tu finis le low-level, tu peux faire une combinaison:
- low-level
- original equipment
- nomateria

Mon challenge c'est d'aboutir ? un programme intuitif, stable et rapide.
Et apr?s les essais.
Au fait, pour les essais tu fais comment?
Tu as pris ePSXe et tu te sers d'une image des CD PSX originaux?
Quels plugins utilises-tu et c'est stable?
Je n'ai rien encore test? de ce c?t?_l?, la r?alisation du prog me prend le peu de temps que j'ai actuellement; mais j'aimerais que tu me dises commment tu vas tester.
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
Fremen^SF
GDB des Shit Fliez


Inscrit le: 21 Mar 2003
Messages: 849
Localisation: Versailles

MessagePosté le: 31 Oct 2003 15:53    Sujet du message: Répondre en citant

D?sol? pour le long temps de r?ponse. J'ai eu besoin de me changer un peu les id?es, car mon cerveau commen?ait ? souffrir ? la vue du boulot qu'il reste ? faire Mort de rire J'ai profit? de ces quelques journ?es pour faire un petit programme de statistiques pour JV (cf. cette page). Cela aura eu le m?rite de me changer les id?es !

D?j?, premi?re constatation, le forum fonctionne toujours aussi mal, c'est vraiment la gal?re pour pouvoir venir r?diger ne serait-ce qu'un post. A croire qu'avant je tombais toujours au moment o? ?a marchait Sourire

Je laisse la parenth?se du d?cryptage de scene.bin ouverte pour le moment, l? je vais me mettre sur ce que Jop tu me demandes depuis plus d'une semaine. ^^
Quand m?me, pour information, j'arrive ? faire passer ePSXe (mon ?mulateur PSX pr?f?r?) sous Linux, donc ?a m'arrangera beaucoup pour faire les nombreux tests que tu proposes FWS.


JopFleger : je vais entreprendre une version ter qui acc?dera directement aux files du scenen.bin d?compress?s.
Honn?tement j'en suis ravis, pour moi cela signifie que je n'aurais pas ? faire une nouvelle version du programme en mode console. Sourire
Je r?capitule, et je te demanderai de me dire s'il te manque quelque chose :

1) Je te compile la derni?re version des programmes "scene_extract" et "scene_create" qui servent respectivement ? extraire les "file" du fichier scene.bin et ? r??crire les "file" dans le fichier scene.bin. (Note : seule la derni?re version, que tu n'as pas encore, est cens?e enti?rement g?rer le format de "scene.bin").
2) Tu as la "structure" qui correspond ? un "file" dans ce post que tu as d?j? lu.

Est-ce que cela te suffira pour avancer de ton c?t? ?

Concernant des tools tr?s performants pour le tri, j'ai regard? attentivement ton algo et il se trouve justement qu'il y en a deux (? ma connaissance) qui sont plus efficaces.
- Le premier est le QuickSort de Microsoft, d'ailleurs je suppose que tu dois avoir une fonction int?gr?e ? VB (qsort() peut-?tre ?) qui te permettra de faire des tris plus rapides. A priori c'est la meilleure solution vu qu'il est int?gr? ? VB (et donc optimis?).
- Le suivant s'appelle le tri Shell, qui est ? peu pr?s ?quivalent au niveau efficacit?, mais je ne crois pas qu'il soit int?gr? dans VB.

En guise de comparaison, avec un camarade on a fait un travail l?-dessus dans le cadre de nos ?tudes, et il se trouve que pour des tableaux volumieux, le QuickSort va environ 100 fois plus vite que la m?thode de tri que tu d?tailles plus haut. Donc ?a m?rite d'?tre test? Sourire

Par contre, pour la recherche de chaine de caract?re, je ne connais que instr() qui est tr?s efficace pour chercher une cha?ne de caract?re dans une autre. Mais pour des recherches dans des tables, honn?tement je n'en sais pas plus que toi.

FWS : Pour l'?mulateur, tu peux ?viter les probl?mes d'ePSXe en cr?ant une image du CD 1 de FF7 sur ton disque dur (avec CloneCD ou CDRWin par exemple). ePSXe peut lire des images disque, au moins tu n'as pas de probl?me d'acc?s au CD. Clin d'oeil Sinon PSEmuPro est tr?s vieux, donc ?a ne me surprend pas tant que ?a qu'il plante ? un moment du jeu.
En esp?rant que tu arriveras ? r?soudre le probl?me, ce serait quand m?me bien pratique. Sourire
_________________
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
Fremen^SF
GDB des Shit Fliez


Inscrit le: 21 Mar 2003
Messages: 849
Localisation: Versailles

MessagePosté le: 31 Oct 2003 19:53    Sujet du message: Répondre en citant

Jopfleger : Je viens de finir la version du programme en mode console qui te sera utile. Je l'ai test?e et je n'ai pas eu de probl?mes chez moi.

Br?vement, elle contient :
1) "scene_extract <nom_du_fichier_bin>" qui va lire le fichier bin que tu auras demand?, et qui va g?n?rer des fichiers "file*" d?compress?s.

2) "scene_create <nom_du_fichier_bin>" qui va cr?er le fichier bin dont tu auras fourni le nom, en relisant chaque fichier "file" d?compress?.

3) J'ai ?galement joint les programmes "gzip.exe" et "gunzip.exe" dont mon programme se sert, les 3 fichiers "scene.bin" dont nous disposons (PC fran?ais/anglais et PSX fran?ais) et les sources en cas de besoin.

Derni?re version de scene_extract et scene_create [TGZ]

Si tu as besoin de quelque chose d'autre, ou en cas de probl?me, surtout n'h?site pas ? me pr?venir.


En attendant quelques nouvelles de Speedy, je vais maintenant m'occuper de v?rifier toutes les trouvailles de FWS Sourire
_________________
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
FWS



Inscrit le: 05 Oct 2003
Messages: 25
Localisation: Pr?s de St Malo

MessagePosté le: 01 Nov 2003 10:06    Sujet du message: Répondre en citant

jopfleger : Pour le low-level, je me soigne en dormant dans les auberges (ce que je ne faisais pratiquement jamais avant). Et j'achete des potion/super potions avec les gils gagn?s en battant les boss. Je me sers de gueri, ou de certains talentE (donc j'ai fait des combats en plus). En lox-level, j'ai l'impression de me battre contre une Arme ? chaque boss, pour l'insant je suis bloqu? ? la porte des d?mons : je n'ai plus de queue de phoenix, plus d'ether, 12 potions et la porte des d?mons tue un perso en un coup si je ne met pas 'grande garde' et les persos en triste.
Sinon, on ne peut pas dire que beaucoup de forumeurs s'y interressent, mais il y en a quand m?me ? avoir post?, mais comme le topic de no-materia (qui sert aussi pour le low-level) est coul?, des joueurs doivent continuer ? y jouer m?me s'il ne postent pas.
Pour Emerald, je me suis tromp?, ce n'est pas 'tir d'emeraude' mais 'rayon d'emeraude'

letesteur : J'ai suivi tes conseils, et j'arrive ? jouer ? FF7, les images ?taient sombres, mais il m'a suffit de r?gler le contraste du moniteur. Et la vitesse du jeu est respect?e (avant le temps passait trop vite). J'ai cre? une image avec CloneCD, mais on a droit qu'a 21 jours d'essais, donc je prendrai CDRWin plus tard.
(je vois qu'il n'y pas eu que moi ? avoir des difficult?s ? poster)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Adresse AIM
Fremen^SF
GDB des Shit Fliez


Inscrit le: 21 Mar 2003
Messages: 849
Localisation: Versailles

MessagePosté le: 02 Nov 2003 17:19    Sujet du message: Répondre en citant

FWS : C'est parfait si l'?mulateur fonctionne ! C'est vrai que chez moi aussi j'ai une image assez sombre, donc ?a doit ?tre normal. Au passage, pense ? jeter un coup d'oeil aux docs d'ePSXe et du plugin graphique, il y a pas mal de raccourcis tr?s pratiques si tu en as besoin (par exemple les sauvegardes d'?tat avec F1/F2/F3 et les r?glages graphiques avec Suppr).
Sinon, au cas o? tu n'aurais pas vu, j'ai v?rifi? tes recherches sur le fichier SCENE.BIN (dans ce topic) et tu avais tout bon. Sourire Voil? c'?tait juste pour pr?venir, avec ce forum qui marche mal, je pr?f?re le rappeler ^^
_________________
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur
FWS



Inscrit le: 05 Oct 2003
Messages: 25
Localisation: Pr?s de St Malo

MessagePosté le: 02 Nov 2003 19:18    Sujet du message: Répondre en citant

Fremen : Oui, j'avais vu que tu avais post? dans l'autre topic, mais c'est parce que je n'arrivais pas ? poster.
Sinon, j'ai jou? ? Zolda ^^ j'ai r?ussi ? gagner, cela m'a fait penser quand on est dans le secteur 5 et que l'on doit recuperer plein d'objets pour avancer. Par contre je n'vais pas lu le 'lisez moi' et donc je ne savais pas que l'on pouvais enlever la musique qui est effectivement tr?s enervante (surtout quand on se perd et que l'on ne sait plus ce qu'il faut chercher on a l'impression de tourner en rond lol)
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail Visiter le site web de l'utilisateur Adresse AIM
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 03 Nov 2003 11:27    Sujet du message: Répondre en citant

Un grand merci ? Fremen pour toutes ses publications ainsi qu'? FWS dont l'esprit analytique trouve enfin un champ d'application int?ressant.
Fremen, merci.
- J'ai t?l?charg? et test? ce que tu as mis en ligne (newsceneedit.tar) et cela marche parfaitement. L'outil g?n?re bien les 256 fichiers individuels de 7808 octets.
- En lisant le code source, j'ai vu qu'? d?faut de param?tre, tu lis non pas scene.bin mais scenepcfr.bin, y a-t-il une raison particuli?re ? cela?
- Je vais r?am?nager mon prog pour qu'il lise ces 256 fichiers individuels ? la place d'un ?norme scenestats.txt, je vous dirai si les temps d'ex?cution se sont am?lior?s, normalement non, puisque j'ai 256 acc?s disque, m?me si effectivement il n'y a qu'une lecture par fichier puisque je les lirai directement en binaire comme tu me l'avais si bien expliqu?.
- Merci pour l'info sur Quicksort, mais je n'ai pas trouv? la fonction directement au coeur de VB, j'avoue que je n'ai pas eu le temps de chercher longtemps, donc je creuserai et vous le dirai rapidement.
- Je cherche un tool qui extrait TRES rapidement une info (une cha?ne de car par ex) dans une table multiniveau, en cherchant dans n'importe quel niveau et en ne faisant pas de boucle do ... instr ... loop. J'ai trouv? une fonction native dans VB ("Filter"), mais cela ne para?t pas ultra rapide.
- Merci pour les utilitaire "qzip.exe" et "gunzip.exe"; sont-ce des variantes LZW ou les tools publics?
- Peux-tu me donner quelques infos concernant ePSXe (v. 1.6), car je suis un newbie en ?mulation
--- C'est quoi le "bios" dans les conventions d'appellation ?mulation? Est-ce l'image d'un CD original ou est-ce le syst?me d'exploitation?
--- Hormis l'?mulateur, la config Vid?o + son qui ne sont pas toujours triviales, puis-je d?j? tester ePSXe avec les 3 CD originaux de FF7?
--- Je peux d?j? vous certifier que mon prog marche avec le scenestat.txt et qu'il g?n?re un nouveau scenestat conforme,
--- A partir du moment o? je voudrais tester (je pourrais certainement tr?s vite am?nager mon prog pour qu'il g?n?re de nouveaux files tout ? fait conforme aux standards tels qu'ils ont ?t? expos?s, et donc "refabriquer" un scene.bin d?riv?, comment devrais-je faire?
--- Utiliser un tool qui me copie l'image des CD sur mon disque, mais comment remplacer le scene.bin original? Par un simple drag and drop?
- As-tu envisag? de travailler directement sur le scene.bin sans m?me g?n?rer les 256 files? Simplement en d?compressant ? la vol?e chaque partie correspondant ? chaque fichier? Cela rendrait le prog d'interface ultra-rapide, on n'aurait qu'un acc?s fichier et une seule lecture disque, le reste se passerait en m?moire vive. Les tools tels qzip ou qnzip sont-ils adapt?s ou adaptables?

Enfin, pourrait-on avoir des nouvelles de Speedy, car il ne poste plus?

FWS, je regrette de devoir te laisser continuer ce d?cryptage tout seul, en s'y mettant ? plusieurs on pourrait ?changer des id?es et certainement gagner du temps, mais le temps est ce qui me manque le plus.
Mais d?s que Fremen (ou toi) m'aurez renseign? sur l'?mutation j'essayerai de reprendre les tests de mani?re ? ce que tu puisses compter sur un tiers car si j'ai bien compris, le d?cryptage c'est toi qui explore et c'est Fremen qui teste?
Si tu veux tester par toi-m?me, je suppose que tu disposes d'outils pour intervenir directement en binaire dans les fichiers? Sinon, demande-nous.
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
jopfleger



Inscrit le: 07 Oct 2003
Messages: 48
Localisation: Strasbourg

MessagePosté le: 03 Nov 2003 11:58    Sujet du message: Répondre en citant

Fremen, mes recherches sur Quicksort:
- il y a des variantes
- apparemment cette fonction est adapt?e ? de larges arrays, ce qui est le cas pour mon prog
- prob:
--- le tri est ascending seul (je l'ai entretemps r?am?nag? et test?, mais le code est plus long et il y a de la redondance dans le code, il faut compter sur l'optimisation du compilateur pour que le code reste r?duit)
--- surtout, cela ne marche pas avec des arrays muti-niveaux
--- il y a une variante, bubblesort, mais adapt? aux small arrays, mais avec les m?mes limitations (1 niveau, ascending order)

Pour tenter de faire plaisir ? FWS, j'ai voulu rapidement "bricoler" un nouveau scene.bin en essayant d'associer Rubis et Emerald.
Oh r?ge, oh d?sespoir (j'exclus la viellesse ennemie),
cela ne marche pas.
- Primo, les coordonn?es ?videmment ne sont pas les m?mes, il faudrait (gr?ce aux gars de qhimm.com) trouver les coordonn?es des scnenes de combats pour les assembler sur une seule. Je crois que tu avais d?j? r?ussi ? le faire, non?
- Deuxio, chaque file contient un maximum de 3 infos, que ce soit trois ennemis diff?rents, ou en l'occurence Rubis est d?crit pour lui-m?me, file 245,2 ainsi que ses tentacules, file 245,3.
Quant ? Emerald, il faut 3 infos pour le d?crire (Emerald, file 246,1; Jambe, file 246,2; Oeil, file 246.3). Il ne me semble pas possible d'empaqueter plus de trois infos dans un seul file, en tous cas il n'y en a jamais plus de trois.

Des nouvelles du Racing Club de Strasbourg:
1 - 1 ? Rennes, 7?me au Classement G?n?ral

Des nouvelles de Nantes (FWS):
Ecrabouill? par Montpellier chez lui, 4 - 1, mais reste devant Strasbourg (5?me)

Des nouvelles de Reims (Fremen):
1 - 1 ? Romorantin (Nostalgie)

Juste au cas o? vous n'auriez pas eu le temps d'en prendre connaissance.
_________________
Aimant s'instruire, partager le go?t des voyages et l'acquisition de connaissances, se sentant responsable ("spectateur engag?", Raymond Aron). Ma caract?ristique c'est l'?merveillement devant la diversification de toutes les formes de vie.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Envoyer un e-mail
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Shit Fliez Index du Forum -> Edition de Final Fantasy VII Toutes les heures sont au format GMT + 1 Heure
Aller ŕ la page Précédente  1, 2, 3, 4  Suivante
Page 2 sur 4

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001 phpBB Group
trevorj :: theme by ~// TreVoR \\~
Traduction par : phpBB-fr.com