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

Implementations: Difference between revisions

 
(41 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Implémentation des éléments du jeu ==
[[Gotcha Force | ← Gotcha Force]]


=== Borgs ===
<div style="text-align: center;">
==== Éléments d'interface graphique ====
<div style="color: rgb(241, 196, 15);">This section is a work in progress.</div>
==== Fichiers et fonctionnement ====
<div style="color: rgb(241, 196, 15); text-align: center;">Research is still needed and some paragraphs may be wrong.</div>
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>
</div>


Pour chaque borg on a :<br>
== 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 [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 plxxxxmot.bin  -> souvent absent
  ├─ 003 file [[Motions|plxxxxmot.bin]]   -> often not present
  ├─ 004 fichier plxxxx_mdl.arc  -> toujours présent
  ├─ 004 file [[Models|plxxxx_mdl.arc]] -> always present
  ├─ 005 fichier plxxxxb_mdl.arc -> toujours présent
  ├─ 005 file [[Models|plxxxxb_mdl.arc]] -> always present -> blue model
  ├─ 006 fichier plxxxxg_mdl.arc -> toujours présent
  ├─ 006 file [[Models|plxxxxg_mdl.arc]] -> always present
  ├─ 007 fichier plxxxxs_mdl.arc -> toujours présent
  ├─ 007 file [[Models|plxxxxs_mdl.arc]] -> always present -> silver model
  ├─ 008 fichier plxxxxc_mdl.arc -> toujours présent
  ├─ 008 file [[Models|plxxxxc_mdl.arc]] -> always present
  ├─ 009 fichier 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 [[TPL (Format de fichier)|TPL]] -> identique à mnxxxx.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, 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
  plxxxxmot.bin  -> souvent absent de l'afs_data
  [[Motions|plxxxxmot.bin]]   -> often absent from the afs_data
  plxxxx_mdl.arc  -> parfois absent de l'afs_data
  [[Models|plxxxx_mdl.arc]] -> sometimes missing from afs_data
  plxxxxb_mdl.arc -> parfois absent de l'afs_data
  [[Models|plxxxxb_mdl.arc]] -> sometimes missing from afs_data
  plxxxxg_mdl.arc -> parfois absent de l'afs_data
  [[Models|plxxxxg_mdl.arc]] -> sometimes missing from afs_data
  plxxxxs_mdl.arc -> parfois absent de l'afs_data
  [[Models|plxxxxs_mdl.arc]] -> sometimes missing from afs_data
  plxxxxc_mdl.arc -> parfois absent de l'afs_data
  [[Models|plxxxxc_mdl.arc]] -> sometimes missing from afs_data
  plxxxxk_mdl.arc -> parfois absent de l'afs_data
  [[Models|plxxxxk_mdl.arc]] -> sometimes missing from afs_data
mnxxxx.tpl


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: for borg pl0507 and pl0513, file 2 and hit differ (USA/NTSC version)


Position 002 : pour le borg pl0507 et pl0513, le fichier 2 et le hit diffèrent. (Version NTSC)
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 003 : pour le borg "pl0009", le fichier 3 et le mot diffèrent. (Version NTSC) (Mot - '''Mo'''uvemen'''t''') - 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 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 à 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 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.


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.
'''Unimplemented borgs''': pl0803 - pl080b - pl0f07<br>
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).


Position 010 à 013 : Les [[TPL (Format de fichier)|TPL]] contiennent le nom des borgs en japonais (version JAP) ou en anglais et japonais (version NTSC) en différentes tailles.
The 2 dpxxxx.pzz files are similar files to plxxxx.pzz but without the final TPL files. Their usefulness is still to be determined.


Borgs non implémentés : pl0803 - pl080b - pl0f07
Files dpxxxx.pzz (2)
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).
├─ 000 -> [[Borg - data file|plxxxxdata.bin]] from afs_data
├─ 001 -> empty file
├─ 002 -> plxxxxhit.bin from the afs_data
├─ 003 -> [[Motions|plxxxxmot.bin]] from the afs_data
├─ 004 -> [[Models|plxxxx_mdl.arc]] of the afs_data
├─ 005 -> [[Models|plxxxxb_mdl.arc]] of the afs_data
├─ 006 -> [[Models|plxxxxg_mdl.arc]] of the afs_data
├─ 007 -> [[Models|plxxxxs_mdl.arc]] of the afs_data
├─ 008 -> [[Models|plxxxxc_mdl.arc]] of the afs_data
└─ 009 -> [[Models|plxxxxk_mdl.arc]] of the afs_data


Fichiers dpxxxx.pzz (2)
==== Memory backups ====
* 000 -> plxxxxdata.bin de l'afs_data
* 001 -> fichier vide
* 002 -> plxxxxhit.bin de l'afs_data
* 003 -> plxxxxmot.bin de l'afs_data
* 004 -> plxxxx_mdl.arc
* 005 -> plxxxxb_mdl.arc
* 006 -> plxxxxg_mdl.arc
* 007 -> plxxxxs_mdl.arc
* 008 -> plxxxxc_mdl.arc
* 009 -> plxxxxk_mdl.arc


On retrouve des fichiers vides dans les 2 dpxxxx.pzz en position 001.
=== Data Crystals ===
The itxxxx_mdl.arz, once unpacked with pzztool.py are the templates for the data crystals.


==== Sauvegarde mémoires ====
==== Graphical interface elements ====


=== Data Crystals ===
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 ====
 
==== Fichiers et fonctionnement ====
==== Files and operation ====
==== Sauvegarde mémoires ====
==== Memory saves ====
 
[[Category:Implementations]]
[[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