Argonaut WAD: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks (→Games) |
||
| (22 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
* ''' Format Type ''': Archive <br> | * ''' Format Type ''': Archive <br> | ||
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> | * ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian / Big Endian<br> | ||
| Line 12: | Line 12: | ||
// WAD file format | // WAD file format | ||
4 bytes (uint32) - offset to the end of WAD archive // in newer games 2048 needs to be added | 4 bytes (uint32) - offset to the end of WAD archive // in newer games 2048 | ||
// needs to be added | |||
num_of_sections * | num_of_sections * | ||
| Line 31: | Line 32: | ||
* '''DPSX / XSPD''': 3D models, animations, actors and level | * '''DPSX / XSPD''': 3D models, animations, actors and level | ||
* '''PORT / TROP''': Rendering groups / zones and more | * '''PORT / TROP''': Rendering groups / zones and more | ||
* ''''END ' / ' DNE'''': Marks the end of the file. May contain some data. | * ''''END ' / ' DNE'''': Marks the end of the file. May contain some data like background music and sound effects. | ||
=== TPSX (XSPT) section === | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
4 bytes (char) - signature // "XSPT" | |||
4 bytes (uint32) - section size | |||
x bytes - texture header | |||
x bytes - texture data | |||
</pre> | |||
</div> | |||
=== SPSX (XSPS) section === | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
4 bytes (char) - signature // "XSPS" | |||
4 bytes (uint32) - section size | |||
x bytes - SPSX flags | |||
x bytes - common sound effects count | |||
</pre> | |||
</div> | |||
=== UNIF (FINU) section === | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
//HEADER | |||
4 bytes (uint32) - signature "FINU" | |||
4 bytes (uint32) - chunk size | |||
2 bytes - unknown // char table size * 2 (?) | |||
2 bytes (uint16) - number of supported languages? | |||
4 bytes (uint32) - number of entries in char table | |||
4 bytes - unknwon | |||
2 bytes - unknown // size of some rel_offsets data block? (look below) | |||
//CHARACTER TABLE | |||
num_of_entries * | |||
{ | |||
2 bytes - unknown // always "\x00\x00" | |||
2 bytes - unknown // height? | |||
2 bytes - character | |||
2 bytes - some relative offset | |||
} | |||
</pre> | |||
</div> | |||
=== LPSX (XSPL) section === | |||
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;"> | |||
<pre> | |||
//HEADER | |||
4 bytes (char) - signature "XSPL" | |||
4 bytes (uint32) - chunk size | |||
4 bytes (uint32) - number of supported languages in chunk | |||
4 bytes (uint32) - number of strings / 4 // 4 = 3 languages + 1 null string | |||
4 bytes - unknown | |||
// OFFSET TABLE | |||
num_of_entries * | |||
{ | |||
4 bytes (uint32) - string relative offset | |||
} | |||
//STRING TABLE | |||
//Note: lower characters "a-z" are encrypted, | |||
//moved in ASCII table 1 character left | |||
//Note2: special characters are encrypted | |||
//in different way, check .py script for details | |||
num_of_entries * | |||
{ | |||
12 bytes - identifier // #0#$01 etc. | |||
x bytes - string | |||
2 bytes - null terminator // "\x00\x00" | |||
} | |||
</pre> | |||
</div> | |||
=== MultiEx BMS Script === | === MultiEx BMS Script === | ||
| Line 43: | Line 125: | ||
=== Games === | === Games === | ||
List of games using this file format: | List of games using this file format: | ||
* Aladdin in Nasira's Revenge | |||
* Alien Resurrection | |||
* Croc 2 (PS1) (*.WAD) | * Croc 2 (PS1) (*.WAD) | ||
* Harry Potter and the Sorcerer's Stone / Harry Potter and the Philosopher's Stone (PS1) (*.WAD) | * Harry Potter and the Sorcerer's Stone / Harry Potter and the Philosopher's Stone (PS1) (*.WAD) | ||
* Harry Potter and the Chamber of Secrets (PS1) (*.WAD) | * Harry Potter and the Chamber of Secrets (PS1) (*.WAD) | ||
* The Emperor's New Groove | |||
=== Compatible Programs === | === Compatible Programs === | ||
* [https://github.com/OverSurge/PS1-Argonaut-Reverse PS1-Argonaut-Reverse Tools] | * [https://github.com/OverSurge/PS1-Argonaut-Reverse PS1-Argonaut-Reverse Tools] | ||
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/Harry%20Potter%20and%20the%20Sorcerer's%20Stone%20(PS1)/Harry_Potter_SS_PS1_TEXT_Tool.py Harry Potter SS PS1 TEXT Tool] (support for XSPL chunk only) | |||
<br/><br> | <br/><br> | ||
Latest revision as of 11:44, 24 July 2021
Back to index | Edit this page
WAD
- Format Type : Archive
- Endian Order : Little Endian / Big Endian
Format Specifications
// WAD file format
4 bytes (uint32) - offset to the end of WAD archive // in newer games 2048
// needs to be added
num_of_sections *
{
x bytes - section data
}
Sections
WAD archive can store one or more sections from the list below:
- TPSX / XSPT: Textures
- SPSX / XSPS: Sound effects and ambient tracks
- UNIF / FINU: Fonts and text management
- LPSX / XSPL: Localization, translated strings
- DPSX / XSPD: 3D models, animations, actors and level
- PORT / TROP: Rendering groups / zones and more
- 'END ' / ' DNE': Marks the end of the file. May contain some data like background music and sound effects.
TPSX (XSPT) section
4 bytes (char) - signature // "XSPT" 4 bytes (uint32) - section size x bytes - texture header x bytes - texture data
SPSX (XSPS) section
4 bytes (char) - signature // "XSPS" 4 bytes (uint32) - section size x bytes - SPSX flags x bytes - common sound effects count
UNIF (FINU) section
//HEADER
4 bytes (uint32) - signature "FINU"
4 bytes (uint32) - chunk size
2 bytes - unknown // char table size * 2 (?)
2 bytes (uint16) - number of supported languages?
4 bytes (uint32) - number of entries in char table
4 bytes - unknwon
2 bytes - unknown // size of some rel_offsets data block? (look below)
//CHARACTER TABLE
num_of_entries *
{
2 bytes - unknown // always "\x00\x00"
2 bytes - unknown // height?
2 bytes - character
2 bytes - some relative offset
}
LPSX (XSPL) section
//HEADER
4 bytes (char) - signature "XSPL"
4 bytes (uint32) - chunk size
4 bytes (uint32) - number of supported languages in chunk
4 bytes (uint32) - number of strings / 4 // 4 = 3 languages + 1 null string
4 bytes - unknown
// OFFSET TABLE
num_of_entries *
{
4 bytes (uint32) - string relative offset
}
//STRING TABLE
//Note: lower characters "a-z" are encrypted,
//moved in ASCII table 1 character left
//Note2: special characters are encrypted
//in different way, check .py script for details
num_of_entries *
{
12 bytes - identifier // #0#$01 etc.
x bytes - string
2 bytes - null terminator // "\x00\x00"
}
MultiEx BMS Script
Not written yet.
Notes and Comments
- This file format occurs in games made by Argonaut.
Games
List of games using this file format:
- Aladdin in Nasira's Revenge
- Alien Resurrection
- Croc 2 (PS1) (*.WAD)
- Harry Potter and the Sorcerer's Stone / Harry Potter and the Philosopher's Stone (PS1) (*.WAD)
- Harry Potter and the Chamber of Secrets (PS1) (*.WAD)
- The Emperor's New Groove
Compatible Programs
- PS1-Argonaut-Reverse Tools
- Harry Potter SS PS1 TEXT Tool (support for XSPL chunk only)