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

Implementations: Difference between revisions

 
(54 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 une fonction spécifique.
</div>


Pour chaque borg on a :<br>
== Implementation of the game elements ==
plxxxx.pzz
plxxxxdata.bin  <- position 000 du pzz (fichier pouvant être nommé data2 ou data3, parfois absent de l'afs_data)
plxxxxhit.bin  <- position 002 du pzz (toujours présent dans l'afs_data et le pzz)
plxxxxmot.bin  <- position 003 du pzz (souvent absent de l'afs_data)
plxxxx_mdl.arc  <- position 004 du pzz (parfois absent de l'afs_data)
plxxxxb_mdl.arc <- position 005 du pzz (parfois absent de l'afs_data)
plxxxxg_mdl.arc <- position 006 du pzz (parfois absent de l'afs_data)
plxxxxs_mdl.arc <- position 007 du pzz (parfois absent de l'afs_data)
plxxxxc_mdl.arc <- position 008 du pzz (parfois absent de l'afs_data)
plxxxxk_mdl.arc <- position 009 du pzz (parfois absent de l'afs_data)


=== Borg ===
==== GUI elements ====
==== Borgs GET system ====
CrystalPixel who found the values.


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)
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


Position 002 : pour le borg pl0507 et pl0513, le fichier 2 et le hit diffèrent. (Version NTSC)
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.


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).
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.


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.
1 borg has a GET value of -1:
* Galactic Emperor


pl0803 - pl080b - pl0f07 :
The rest has no GET value:
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).
* 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
├─ 000 file [[Borg - data file|plxxxxdata.bin]]  -> always present
├─ 001?                    -> often not present
├─ 002 file plxxxxhit.bin  -> always present
├─ 003 file [[Motions|plxxxxmot.bin]]  -> often not present
├─ 004 file [[Models|plxxxx_mdl.arc]]  -> always present
├─ 005 file [[Models|plxxxxb_mdl.arc]] -> always present -> blue model
├─ 006 file [[Models|plxxxxg_mdl.arc]] -> always present
├─ 007 file [[Models|plxxxxs_mdl.arc]] -> always present -> silver model
├─ 008 file [[Models|plxxxxc_mdl.arc]] -> always present
├─ 009 file [[Models|plxxxxk_mdl.arc]] -> always present -> black model
├─ 010 [[TPL (File format)|TPL]] -> name of the borg in Japanese
├─ 011 [[TPL (File format)|TPL]] -> name of the borg in Japanese (small format)
├─ 012 [[TPL (File format)|TPL]] -> borg name in the language of the game
└─ 013 file mnxxxx.tpl -> [[TPL (File format)|TPL]] -> name of the borg in the game language (small format)
[[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  -> always present in the afs_data and pzz
[[Motions|plxxxxmot.bin]]  -> often absent from the afs_data
[[Models|plxxxx_mdl.arc]]  -> sometimes missing from afs_data
[[Models|plxxxxb_mdl.arc]] -> sometimes missing from afs_data
[[Models|plxxxxg_mdl.arc]] -> sometimes missing from afs_data
[[Models|plxxxxs_mdl.arc]] -> sometimes missing from afs_data
[[Models|plxxxxc_mdl.arc]] -> sometimes missing from afs_data
[[Models|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 [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 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.


On retrouve des fichiers vides dans les plxxxx.pzz en position 001 et 003 et dans les 2 dpxxxx.pzz en position 001.
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.


==== Fichiers plxxxx.pzz (209) ====
'''Unimplemented borgs''': pl0803 - pl080b - pl0f07<br>
On sait désormais que les PZZ avec le nom plxxxx.pzz correspondent chacun à un borg. Ils contiennent des fichiers spécialisés à chacune des positions dans le pzz. Il arrive que le fichier à une position donnée soit présent dans certains pzz et absent dans d'autres :
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).


* 000 fichier data.bin  -> parfois absent, identique à plxxxxdata.bin (ou data2, data3) dans l'afs_data
The 2 dpxxxx.pzz files are similar files to plxxxx.pzz but without the final TPL files. Their usefulness is still to be determined.
* 001 ?
* 002 fichier hit.bin  -> toujours présent, et identique à plxxxxhit.bin dans l'afs_data
* 003 fichier mot.bin  -> souvent absent, identique à plxxxxmot.bin dans l'afs_data
* 004 fichier _mdl.arc  -> parfois absent, identique à plxxxx_mdl.arc dans l'afs_data
* 005 fichier b_mdl.arc -> parfois absent, identique à plxxxxb_mdl.arc dans l'afs_data
* 006 fichier g_mdl.arc -> parfois absent, identique à plxxxxg_mdl.arc dans l'afs_data
* 007 fichier s_mdl.arc -> parfois absent, identique à plxxxxs_mdl.arc dans l'afs_data
* 008 fichier c_mdl.arc -> parfois absent, identique à plxxxxc_mdl.arc dans l'afs_data
* 009 fichier k_mdl.arc -> parfois absent, identique à plxxxxk_mdl.arc dans l'afs_data
* 010 [[TPL (Format de fichier)|TPL]] -> nom du borg en japonais
* 011 [[TPL (Format de fichier)|TPL]] -> nom du borg en japonais (petit format)
* 012 [[TPL (Format de fichier)|TPL]] -> nom du borg dans la langue du jeu
* 013 [[TPL (Format de fichier)|TPL]] -> identique à mnxxxx.tpl, nom du borg dans la langue du jeu (petit format)


Les [[TPL (Format de fichier)|TPL]] contiennent le nom des borgs en japonais (version JAP) ou en anglais et japonais (version NTSC). En position 4 à 8, on retrouve des fichiers avec des valeurs correspondantes à de la 3D. On peut notamment citer "'''pl0300.pzz'''" ou les position 4 à 8 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>
Files dpxxxx.pzz (2)
├─ 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


"'''pl0f07.pzz'''" correspond à un borg non implémenté
==== Memory backups ====


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


Les logiciels utilisé pour lire les fichiers en position 4 à 9 dans les plxxxx.pzz sont 3D Model Researcher et HSDRawLibrary.
==== 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 ====


=== Fichiers dpxxxx.pzz (2) ===
[[Category:Implementations]]
* 000 -> plxxxxdata.bin de l'afs_data
[[Category:Gotcha Force]]
* 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
 
==== Sauvegarde mémoires ====
 
 
=== Data Crystals ===
==== Éléments d'interface graphique ====
==== Fichiers et fonctionnement ====
==== Sauvegarde mémoires ====

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