Argonaut WAD: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(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