Line 39: | Line 39: | ||
[http://datasheets.chipdb.org/IBM/PowerPC/Gekko/gekko_user_manual.pdf#page=337 Manuel du processeur Gekko] : ce manuel est utile lors du reverse engineering des fichiers exécutables (dol, etc.). On y trouvera la description des instructions assembleur. | [http://datasheets.chipdb.org/IBM/PowerPC/Gekko/gekko_user_manual.pdf#page=337 Manuel du processeur Gekko] : ce manuel est utile lors du reverse engineering des fichiers exécutables (dol, etc.). On y trouvera la description des instructions assembleur. | ||
== | == Structure et fonctionnement du DVD == | ||
La structure et le fonctionnement d'un DVD Gamecube est disponible sur la page [[DVD_Gamecube|DVD Gamecube]]. | La structure et le fonctionnement d'un DVD Gamecube est disponible sur la page [[DVD_Gamecube|DVD Gamecube]]. | ||
Revision as of 21:20, 12 December 2021
Gotcha Force est un jeu vidéo de combat/tir à la troisième personne développé et publié par Capcom pour GameCube en 2003.
Termes du jeu
Terme | Description |
---|---|
Borg | Élément 3D utilisé lors des combats. |
Stage | Terrain 3D utilisé lors des combats. |
Data Crystal | Élément 3D pouvant être visionné via l'inventaire et forme un borg une fois le nombre de Crytal différents atteints. |
NPC | Personnage servant à vous aider lors de combats, peuvent être vos ennemis. |
Gotcha Box | Boite servant à stocker des borgs. |
WareHouse | Élément du jeu servant à stocker les borgs une fois la Gotcha Box pleine. (Les borgs ne peuvent pas être utilisé). |
Outillage GameCube
La page Outillage GameCube propose différents utilitaires permettant de manipuler les fichiers de jeux GameCube.
Matériel
Spécification technique de la GameCube
Manuel du processeur Gekko : ce manuel est utile lors du reverse engineering des fichiers exécutables (dol, etc.). On y trouvera la description des instructions assembleur.
Structure et fonctionnement du DVD
La structure et le fonctionnement d'un DVD Gamecube est disponible sur la page DVD Gamecube.
Formats de fichiers du jeu
Format | Contenu |
---|---|
ADX | Fichier audio |
AFS | Dossier d'archive |
ARC | Dossier d'archive ? |
ARZ | Fichier compressé |
BIN | Inconnu |
BNR | Banner file format |
CHD | Inconnu |
DOL | Fichier exécutable SysDolphin |
DPK | Inconnu |
HDR | Inconnu |
LDR | Apploader |
MDT | Inconnu |
PTL | Inconnu |
PZZ | Dossier d'archive |
REF | Inconnu |
SFD | MPEG Sofdec |
TOC | Inconnu |
TPL | Librairie de palette de textures |
TSB | Inconnu |
TXG | Inconnu |
Une page est réservée aux méthodes de reverse de binaires et aux recherches en cours sur le sujet.
Arborescence des fichiers
Voici l'arborescence des fichier pour GotchaForceUsa (USA/NTSC, GameCode : GG4E) :
&&SystemData ├─ ISO.hdr ├─ AppLoader.ldr (Le nom de l'apploader diffère selon les applications.) ├─ Start.dol (Le nom du dol principal diffère selon les application.) └─ Game.toc afs_data.afs ├─ *.adx (2113) ├─ *.arc (1369) ├─ *.arz (184) ├─ *.bin (586) ├─ *.chd (4) ├─ *.dpk (4) ├─ *.mdt (6) ├─ ptcl00.ptl ├─ *.pzz (254) ├─ ptcl00.ref ├─ *.sfd (2) ├─ *.tpl (442) ├─ *.tsb (4) └─ ptcl00.txg opening.bnr poq_adx_usa.afs ├─ *.adx (2115) └─ *.sfd (2)
Les logiciels utilisés sont Dolphin Emulator, et AFSExplorer 3.7.
Nommage des fichiers dans afs_data.afs
Fichiers compris :
Nom | Description |
---|---|
pl####.pzz | Décrit chaque borg (Player Character) |
mnxxxx.tpl | Noms des borgs dans les Menus (206) |
st##.pzz | Comprennent en position 1,2,3 les fichiers hitsxx.bin |
firstld.pzz | Utilisation liée à la carte mémoire (First load - Image de la carte mémoire inclue dans le pzz) |
icon.bin | Identique à firstld\003C_firstldicon.bin - Icone 3D pour l'image de la carte mémoire |
facexxxx | Décrivent les NPC du jeu et les prop utilisé lors de la touche spécial |
itxxxx_mdl.arz | (90 fichiers) - Item Data Crystal -> le numéro xxxx correspond à chaque fois à un borg qui demande plusieurs Data Crystal |
setxxxx.arc | (61 fichiers) ? |
L'investigation mené par la communauté de GioGio Bizarre Adventure montre une certaine logique qui peut potentiellement être utilisée dans le nommage des fichiers interne de afs_data.afs :
d#####.pzz - Character and/or prop data for 3D Cutscenes pl##p.pzz - Character specific props pl##.hit - Character collision data st###.pzz - Stage model data
Fichiers absents :
files containing "tbl" in the filename seem to be animations ga00p - Gallery room (several textures and models in here ball.pzz - Seems to just be a sphere model with a 32x32 blank texture re00.pzz - Results screen dcomn.pzz - Speech bubbles, onomatopoeia, zoom lines and others ld###.pzz - Loading screen model and textures (they're just planes) demo.pzz - Title screen textures (can be used to decompress data) se###.pzz - Stage props lw###.pzz - Stage collisions npc###.pzz - NPC files ks##.pzz - 2D Drama cutscene data (panels are 3D models) k###.pzz - 2D cutscene data (panels are 3D models)
Observations
Pour chaque borg on a :
plxxxx.pzz plxxxxdata.bin <- position 0 du pzz (fichier pouvant être nommé data2 ou data3, parfois absent de l'afs_data) plxxxxhit.bin <- position 2 du pzz (toujours présent dans l'afs_data et le pzz) plxxxxmot.bin <- position 3 du pzz (souvent absent de l'afs_data) plxxxx_mdl.arc <- position 4 du pzz (parfois absent de l'afs_data) plxxxxb_mdl.arc <- position 5 du pzz (parfois absent de l'afs_data) plxxxxg_mdl.arc <- position 6 du pzz (parfois absent de l'afs_data) plxxxxs_mdl.arc <- position 7 du pzz (parfois absent de l'afs_data) plxxxxc_mdl.arc <- position 8 du pzz (parfois absent de l'afs_data) plxxxxk_mdl.arc <- position 9 du pzz (parfois absent de l'afs_data)
Position 000 : pour pl0604 et quelques autres borgs il s'agit de pl0604data2.bin ou plxxxxdata3.bin (seul un des trois data est présent, jamais deux, et ce fichier data2 ou data3 est identique au fichier data du pzz->000). (Version NTSC)
Position 002 : pour le borg pl0507 et pl0513, le fichier 2 et le hit diffèrent. (Version NTSC)
Position 003 : pour le borg "pl0009", le fichier 3 et le mot diffèrent. (Version NTSC) (Mot - Mouvement) - On peux observer que pour ces fichiers, on retrouve des références pouvant faire penser à de l'animation plxxxx_xx_animjoint. L'investigation mené par la communauté de Smash Bros Brawl montre une structure de fichier similaire. Il s'agit d'une autre version de HSD (Les structures de bases sont les mêmes).
Position 004 à 009 : contiennent "scene_data" en fin de section data, et sont des fichiers '"Scène" (HSDLib) qui contiennent les lumières, les caméras, les vertices, les bones à la manière d'un .blend.
pl0803 - pl080b - pl0f07 : Il reste uniquement le fichier pl0803hit.bin et pl080bhit.bin et aucun de leurs fichiers associés (notamment, pas de pzz associé), ce qui indique qu'ils sont à priori des restes de borgs non implémentés ... De même que le pzz pl0f07 n'a pas son fichier hit, ni ses 4 TPL internes (4 fichiers vides à la place) mais juste son fichier pl0f07_mdl.arc, ce qui indique que ce borg n'est pas implémenté non plus. (Version NTSC).
Exécutable principal
Le nom de l'exécutable principal dépend des applications utilisées boot.dol (dolphin Emulator) / Start.dol (GCRebuilder v1.1) etc. Les empreintes sha256 sont différentes entre dolphin Emulator et GCR !
L'exécutable principal embarque MetroTRK, un noyaux de débogage pour les systèmes embarqués.
Parmi les librairies utilisées, on retrouve notamment la librairie HSD (HAL Sysdolphin Engine). Les sources n'ont à priori pas leaké sur internet. On peut néanmoins retrouver un énorme travail réalisé par la communauté du jeux GameCube "Super Smash Bros. Melee" sur lequel on peut se baser :
-Description générale des éléments de HSD
Version Bêta
La version bêta du jeu contient des différences visibles quant aux versions finales. La map 3D était Isométrique avec des éléments en 3D sur la map et la description des borgs tenait sur tout l'écran avec deux sections. L'un pour les caractéristiques et l'autre pour l'histoire du borg.
800px|center|thumb|Map bêta isométrique. [https://www.unseen64.net/2008/04/08/gotcha-force-gc-beta-concept/ Source] 800px|center|thumb|Description bêta borg. [https://www.unseen64.net/2008/04/08/gotcha-force-gc-beta-concept/ Source]