Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Implementations: Difference between revisions

 
(33 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Gotcha Force | ← Gotcha Force]]
<div style="text-align: center;">
<div style="text-align: center;">
<h2 style="color: rgb(241, 196, 15);">Cette section est en cours de rédaction.<h2>
<div style="color: rgb(241, 196, 15);">This section is a work in progress.</div>
<h4 style="color: rgb(241, 196, 15); text-align: center;">Des recherches sont encore nécessaires et certains paragraphes peuvent être faux.<h4>
<div style="color: rgb(241, 196, 15); text-align: center;">Research is still needed and some paragraphs may be wrong.</div>
</div>
</div>


__TOC__
== Implementation of the game elements ==


== Implémentation des éléments du jeu ==
=== Borg ===
==== GUI elements ====
==== Borgs GET system ====
CrystalPixel who found the values.


=== Borgs ===
During a fight in Story Mode, when fighting an enemy borg for a given colour you have two values:
==== Éléments d'interface graphique ====
* The GET value
==== Fichiers et fonctionnement ====
* The GET counter
Les borgs sont implémentés avec un ensemble de fichiers ayant chacun une fonction spécifique. Ces fichiers sont en double dans le pzz du borg et dans l'afs_data. <span style="color: rgb(241, 196, 15);">Une théorie serait qu'une partie des fichiers en double serviraient à charger les ennemis et l'autre partie les alliés.</span>


Pour chaque borg on a :<br>
When you eliminate the enemy borg of a given colour, you have its GET counter which increments by a random value between 1 and 16. When the GET counter is greater than or equal to the GET value, we get the borg / Data Crystal at the end of the battle. Then the GET counter of this borg / colour combination is reset to 0. If one leaves or loses the battle, all GET counters are reset to the value they had before the battle started.
 
For a large number of borgs it is then impossible to get them without having fought a certain amount. For example, Gold Death Borg Alpha has a GET value of 40. In two battles, for example, you can only get 36 in the best case.
 
1 borg has a GET value of -1:
* Galactic Emperor
 
The rest has no GET value:
* Cyber Death Dragon (Fusion Borg)
* Machine Dragon
* Cyber Machine Seiryu (Fusion Borg)
* Cyber Machine Suzaku (Fusion Borg)
* Cyber Machine Byakko (Fusion Borg)
* Cyber Machine Genbu (Fusion Borg)
* G Red (One of the borg we have)
* Neo G Red (One of the borgs we have)
* G Black (It is obtained in a special event)
 
By changing the GET value to a positive value, you can get the borgs in the scenario: Galactic Emperor for example.
 
The list of GET values for the EU version is available on [https://github.com/Virtual-World-RE/NeoGF/blob/main/data/eu_borgs_GET_values.csv github].
 
==== Files and operation ====
Borgs are implemented with a set of files, each with a specific function. These files are duplicated in the pzz of the borg and in the afs_data. The different _mdl define the different colours of the Borg. It seems that they are used with additional values in other files (the displays are not always correct when exchanging positions in the iso). The main _mdl is loaded from the pzz (collection or story menu). <span style="color: rgb(241, 196, 15);">One theory would be that part of the duplicate files would be used to load enemies and the other part allies.</span>
 
For each borg we have:<br>
  plxxxx.pzz
  plxxxx.pzz
  ├─ 000 fichier [[Borg - fichier data|plxxxxdata.bin]]  -> toujours présent
  ├─ 000 file [[Borg - data file|plxxxxdata.bin]]  -> always present
  ├─ 001 ?                       -> souvent absent
  ├─ 001?                     -> often not present
  ├─ 002 fichier plxxxxhit.bin  -> toujours présent
  ├─ 002 file plxxxxhit.bin  -> always present
  ├─ 003 fichier [[Animations|plxxxxmot.bin]]  -> souvent absent
  ├─ 003 file [[Motions|plxxxxmot.bin]]  -> often not present
  ├─ 004 fichier [[Modèles|plxxxx_mdl.arc]]  -> toujours présent
  ├─ 004 file [[Models|plxxxx_mdl.arc]]  -> always present
  ├─ 005 fichier [[Modèles|plxxxxb_mdl.arc]] -> toujours présent
  ├─ 005 file [[Models|plxxxxb_mdl.arc]] -> always present -> blue model
  ├─ 006 fichier [[Modèles|plxxxxg_mdl.arc]] -> toujours présent
  ├─ 006 file [[Models|plxxxxg_mdl.arc]] -> always present
  ├─ 007 fichier [[Modèles|plxxxxs_mdl.arc]] -> toujours présent
  ├─ 007 file [[Models|plxxxxs_mdl.arc]] -> always present -> silver model
  ├─ 008 fichier [[Modèles|plxxxxc_mdl.arc]] -> toujours présent
  ├─ 008 file [[Models|plxxxxc_mdl.arc]] -> always present
  ├─ 009 fichier [[Modèles|plxxxxk_mdl.arc]] -> toujours présent
  ├─ 009 file [[Models|plxxxxk_mdl.arc]] -> always present -> black model
  ├─ 010 [[TPL (Format de fichier)|TPL]] -> nom du borg en japonais
  ├─ 010 [[TPL (File format)|TPL]] -> name of the borg in Japanese
  ├─ 011 [[TPL (Format de fichier)|TPL]] -> nom du borg en japonais (petit format)
  ├─ 011 [[TPL (File format)|TPL]] -> name of the borg in Japanese (small format)
  ├─ 012 [[TPL (Format de fichier)|TPL]] -> nom du borg dans la langue du jeu
  ├─ 012 [[TPL (File format)|TPL]] -> borg name in the language of the game
  └─ 013 fichier mnxxxx.tpl     -> [[TPL (Format de fichier)|TPL]] -> nom du borg dans la langue du jeu (petit format)
  └─ 013 file mnxxxx.tpl -> [[TPL (File format)|TPL]] -> name of the borg in the game language (small format)
  [[Borg - fichier data|plxxxxdata.bin]] -> fichier pouvant être nommé data2 ou data3 (seul un des trois est présent), parfois absent de l'afs_data
  [[Borg - data file|plxxxxdata.bin]] -> file can be named data2 or data3 (only one of the three is present), sometimes missing from the afs_data
  plxxxxhit.bin  -> toujours présent dans l'afs_data et le pzz
  plxxxxhit.bin  -> always present in the afs_data and pzz
  [[Animations|plxxxxmot.bin]]  -> souvent absent de l'afs_data
  [[Motions|plxxxxmot.bin]]  -> often absent from the afs_data
  [[Modèles|plxxxx_mdl.arc]]  -> parfois absent de l'afs_data
  [[Models|plxxxx_mdl.arc]]  -> sometimes missing from afs_data
  [[Modèles|plxxxxb_mdl.arc]] -> parfois absent de l'afs_data
  [[Models|plxxxxb_mdl.arc]] -> sometimes missing from afs_data
  [[Modèles|plxxxxg_mdl.arc]] -> parfois absent de l'afs_data
  [[Models|plxxxxg_mdl.arc]] -> sometimes missing from afs_data
  [[Modèles|plxxxxs_mdl.arc]] -> parfois absent de l'afs_data
  [[Models|plxxxxs_mdl.arc]] -> sometimes missing from afs_data
  [[Modèles|plxxxxc_mdl.arc]] -> parfois absent de l'afs_data
  [[Models|plxxxxc_mdl.arc]] -> sometimes missing from afs_data
  [[Modèles|plxxxxk_mdl.arc]] -> parfois absent de l'afs_data
  [[Models|plxxxxk_mdl.arc]] -> sometimes missing from afs_data
  mnxxxx.tpl
  mnxxxx.tpl


Position 002 : pour le borg pl0507 et pl0513, le fichier 2 et le hit diffèrent. (Version NTSC)
Position 002: for borg pl0507 and pl0513, file 2 and hit differ (USA/NTSC version)


Position 003 : pour le borg pl0009, le fichier 3 et le mot diffèrent. (Version NTSC) (MOT - '''Mot'''ion) - 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 [https://smashboards.com/threads/melee-dat-format.292603/ 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 003: for the borg pl0009, file 3 and the word differ (USA/NTSC version) (MOT - ''Mot'''ion) - It can be observed that for these files, there are references that could make one think of ''plxxxx_xx_animjoint''.  The investigation conducted by the [https://smashboards.com/threads/melee-dat-format.292603/ Smash Bros Brawl] community shows a similar file structure. This is another version of HSD (the basic structures are the same).


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.
Position 004 to 009: contain '''scene_data''' at the end of the data section, and are ''''"Scene"'' files (HSDLib) which contain lights, cameras, vertices, bones in the manner of a .blend.


Position 004 à 008 : fichiers avec des valeurs correspondantes à de la 3D. On peut notamment citer "'''pl0300.pzz'''" où ils ont un header <span style="color: rgb(241, 196, 15);">avec des flags</span> ainsi qu'un padding ajustable si besoin est d'avoir plus d’éléments '''Par exemple pour ''pl0629.pzz'' la quantité <span style="color: rgb(241, 196, 15);">de flags</span> dans le headers est plus conséquente.''' L'origine <span style="color: rgb(241, 196, 15);">des flags</span> et des valeurs dans le header est pour l'instant inconnue mais ces champs du header <span style="color: rgb(241, 196, 15);">pourraient constituer une liste de mesh disponibles dans le fichier.</span> Les logiciels utilisé pour lire les fichiers en position 004 à 009 dans les plxxxx.pzz sont 3D Model Researcher et HSDRawLibrary.
Position 004 to 008: files with values corresponding to 3D. In particular, we can cite '''pl0300.pzz''' where they have a header <span style="color: rgb(241, 196, 15);">with flags</span> as well as an adjustable padding if need be to have more elements '''For example for '''pl0629.pzz''' the amount <span style="color: rgb(241, 196, 15);">of flags</span> in the headers is more consistent.'' The origin <span style="color: rgb(241, 196, 15);">of the flags</span> and values in the header is currently unknown but these header fields <span style="color: rgb(241, 196, 15);">might constitute a list of available meshes in the file.</span> The software used to read the files in position 004 to 009 in plxxxx.pzz are 3D Model Researcher and HSDRawLibrary.


'''Borgs non implémentés''' : pl0803 - pl080b - pl0f07<br>
'''Unimplemented borgs''': pl0803 - pl080b - pl0f07<br>
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 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 (mais 4 fichiers vides à la place) et juste son fichier pl0f07_mdl.arc, ce qui indique que ce borg n'est pas implémenté non plus. (Version NTSC).
Only the pl0803hit.bin and pl080bhit.bin files remain, and none of their associated files (notably, no associated pzz), which indicates that they are remnants of unimplemented borgs... Also the pzz pl0f07 has no hit file, no 4 internal TPLs (but 4 empty files instead) and just its pl0f07_mdl.arc file, which indicates that this borg is not implemented either (USA/NTSC version).


Les 2 fichiers dpxxxx.pzz sont des fichiers similaires aux plxxxx.pzz mais sans les fichiers TPLs finaux. Leur utilité reste encore à déterminer.
The 2 dpxxxx.pzz files are similar files to plxxxx.pzz but without the final TPL files. Their usefulness is still to be determined.


Fichiers dpxxxx.pzz (2)
Files dpxxxx.pzz (2)
  ├─ 000 -> [[Borg - fichier data|plxxxxdata.bin]] de l'afs_data
  ├─ 000 -> [[Borg - data file|plxxxxdata.bin]] from afs_data
  ├─ 001 -> fichier vide
  ├─ 001 -> empty file
  ├─ 002 -> plxxxxhit.bin de l'afs_data
  ├─ 002 -> plxxxxhit.bin from the afs_data
  ├─ 003 -> [[Animations|plxxxxmot.bin]] de l'afs_data
  ├─ 003 -> [[Motions|plxxxxmot.bin]] from the afs_data
  ├─ 004 -> [[Modèles|plxxxx_mdl.arc]] de l'afs_data
  ├─ 004 -> [[Models|plxxxx_mdl.arc]] of the afs_data
  ├─ 005 -> [[Modèles|plxxxxb_mdl.arc]] de l'afs_data
  ├─ 005 -> [[Models|plxxxxb_mdl.arc]] of the afs_data
  ├─ 006 -> [[Modèles|plxxxxg_mdl.arc]] de l'afs_data
  ├─ 006 -> [[Models|plxxxxg_mdl.arc]] of the afs_data
  ├─ 007 -> [[Modèles|plxxxxs_mdl.arc]] de l'afs_data
  ├─ 007 -> [[Models|plxxxxs_mdl.arc]] of the afs_data
  ├─ 008 -> [[Modèles|plxxxxc_mdl.arc]] de l'afs_data
  ├─ 008 -> [[Models|plxxxxc_mdl.arc]] of the afs_data
  └─ 009 -> [[Modèles|plxxxxk_mdl.arc]] de l'afs_data
  └─ 009 -> [[Models|plxxxxk_mdl.arc]] of the afs_data


==== Sauvegardes mémoire ====
==== Memory backups ====


=== Data Crystals ===
=== Data Crystals ===
Les itxxxx_mdl.arz, une fois décompressés avec pzztool.py sont les modèles des data crytal.
The itxxxx_mdl.arz, once unpacked with pzztool.py are the templates for the data crystals.
 
==== Graphical interface elements ====


[[Fichier:Unknown(1).png|frameless|center|500px]] [[Fichier:Unknowns(1).png|vignette|center|Data Crystal. [https://gotchaforce.fandom.com/wiki/Data_Crystals Source]]]
unitall_mdl.arc contains all the borg thumbnails used in the force creation/modification menu as well as in the post-combat scene showing which team/borgs VS team/borgs, and in the data crystals.


==== Éléments d'interface graphique ====
==== Files and operation ====
==== Fichiers et fonctionnement ====
==== Memory saves ====
==== Sauvegardes mémoire ====


[[Catégorie:Format de fichier]]
[[Category:Implementations]]
[[Catégorie:Gotcha Force]]
[[Category:Gotcha Force]]

Latest revision as of 14:13, 7 October 2023

← Gotcha Force

This section is a work in progress.
Research is still needed and some paragraphs may be wrong.

Implementation of the game elements

Borg

GUI elements

Borgs GET system

CrystalPixel who found the values.

During a fight in Story Mode, when fighting an enemy borg for a given colour you have two values:

  • The GET value
  • The GET counter

When you eliminate the enemy borg of a given colour, you have its GET counter which increments by a random value between 1 and 16. When the GET counter is greater than or equal to the GET value, we get the borg / Data Crystal at the end of the battle. Then the GET counter of this borg / colour combination is reset to 0. If one leaves or loses the battle, all GET counters are reset to the value they had before the battle started.

For a large number of borgs it is then impossible to get them without having fought a certain amount. For example, Gold Death Borg Alpha has a GET value of 40. In two battles, for example, you can only get 36 in the best case.

1 borg has a GET value of -1:

  • Galactic Emperor

The rest has no GET value:

  • Cyber Death Dragon (Fusion Borg)
  • Machine Dragon
  • Cyber Machine Seiryu (Fusion Borg)
  • Cyber Machine Suzaku (Fusion Borg)
  • Cyber Machine Byakko (Fusion Borg)
  • Cyber Machine Genbu (Fusion Borg)
  • G Red (One of the borg we have)
  • Neo G Red (One of the borgs we have)
  • G Black (It is obtained in a special event)

By changing the GET value to a positive value, you can get the borgs in the scenario: Galactic Emperor for example.

The list of GET values for the EU version is available on github.

Files and operation

Borgs are implemented with a set of files, each with a specific function. These files are duplicated in the pzz of the borg and in the afs_data. The different _mdl define the different colours of the Borg. It seems that they are used with additional values in other files (the displays are not always correct when exchanging positions in the iso). The main _mdl is loaded from the pzz (collection or story menu). One theory would be that part of the duplicate files would be used to load enemies and the other part allies.

For each borg we have:

plxxxx.pzz
├─ 000 file plxxxxdata.bin  -> always present
├─ 001?                     -> often not present
├─ 002 file plxxxxhit.bin   -> always present
├─ 003 file plxxxxmot.bin   -> often not present
├─ 004 file plxxxx_mdl.arc  -> always present
├─ 005 file plxxxxb_mdl.arc -> always present -> blue model
├─ 006 file plxxxxg_mdl.arc -> always present
├─ 007 file plxxxxs_mdl.arc -> always present -> silver model
├─ 008 file plxxxxc_mdl.arc -> always present
├─ 009 file plxxxxk_mdl.arc -> always present -> black model
├─ 010 TPL -> name of the borg in Japanese
├─ 011 TPL -> name of the borg in Japanese (small format)
├─ 012 TPL -> borg name in the language of the game
└─ 013 file mnxxxx.tpl -> TPL -> name of the borg in the game language (small format)
plxxxxdata.bin -> file can be named data2 or data3 (only one of the three is present), sometimes missing from the afs_data
plxxxxhit.bin   -> always present in the afs_data and pzz
plxxxxmot.bin   -> often absent from the afs_data
plxxxx_mdl.arc  -> sometimes missing from afs_data
plxxxxb_mdl.arc -> sometimes missing from afs_data
plxxxxg_mdl.arc -> sometimes missing from afs_data
plxxxxs_mdl.arc -> sometimes missing from afs_data
plxxxxc_mdl.arc -> sometimes missing from afs_data
plxxxxk_mdl.arc -> sometimes missing from afs_data
mnxxxx.tpl

Position 002: for borg pl0507 and pl0513, file 2 and hit differ (USA/NTSC version)

Position 003: for the borg pl0009, file 3 and the word differ (USA/NTSC version) (MOT - Mot'ion) - It can be observed that for these files, there are references that could make one think of plxxxx_xx_animjoint. The investigation conducted by the Smash Bros Brawl community shows a similar file structure. This is another version of HSD (the basic structures are the same).

Position 004 to 009: contain scene_data at the end of the data section, and are ''"Scene" files (HSDLib) which contain lights, cameras, vertices, bones in the manner of a .blend.

Position 004 to 008: files with values corresponding to 3D. In particular, we can cite pl0300.pzz' where they have a header with flags as well as an adjustable padding if need be to have more elements For example for pl0629.pzz the amount of flags in the headers is more consistent. The origin of the flags and values in the header is currently unknown but these header fields might constitute a list of available meshes in the file. The software used to read the files in position 004 to 009 in plxxxx.pzz are 3D Model Researcher and HSDRawLibrary.

Unimplemented borgs: pl0803 - pl080b - pl0f07
Only the pl0803hit.bin and pl080bhit.bin files remain, and none of their associated files (notably, no associated pzz), which indicates that they are remnants of unimplemented borgs... Also the pzz pl0f07 has no hit file, no 4 internal TPLs (but 4 empty files instead) and just its pl0f07_mdl.arc file, which indicates that this borg is not implemented either (USA/NTSC version).

The 2 dpxxxx.pzz files are similar files to plxxxx.pzz but without the final TPL files. Their usefulness is still to be determined.

Files dpxxxx.pzz (2)

├─ 000 -> plxxxxdata.bin from afs_data
├─ 001 -> empty file
├─ 002 -> plxxxxhit.bin from the afs_data
├─ 003 -> plxxxxmot.bin from the afs_data
├─ 004 -> plxxxx_mdl.arc of the afs_data
├─ 005 -> plxxxxb_mdl.arc of the afs_data
├─ 006 -> plxxxxg_mdl.arc of the afs_data
├─ 007 -> plxxxxs_mdl.arc of the afs_data
├─ 008 -> plxxxxc_mdl.arc of the afs_data
└─ 009 -> plxxxxk_mdl.arc of the afs_data

Memory backups

Data Crystals

The itxxxx_mdl.arz, once unpacked with pzztool.py are the templates for the data crystals.

Graphical interface elements

unitall_mdl.arc contains all the borg thumbnails used in the force creation/modification menu as well as in the post-combat scene showing which team/borgs VS team/borgs, and in the data crystals.

Files and operation

Memory saves