Asura Engine ASR RSCF RSFL: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Trololp
(Added information about RSFL chunk, corrected some information.)
imported>Ikskoks
Line 94: Line 94:


* [[Game Extractor|Game Extractor]]<br />
* [[Game Extractor|Game Extractor]]<br />
* [https://forum.xentax.com/viewtopic.php?f=33&t=8902 Asura .asr\asrBE\en\enBE Tool]
* [https://github.com/Trololp/Small-utils/blob/main/RSFL_ASR/RSFL_ASR.cpp RSFL_ASR] (dont tested on asura engines after 2010)
<br /><br />
<br /><br />
[[Category:Program_Game_Extractor | Program: Game Extractor]]
[[Category:Program_Game_Extractor | Program: Game Extractor]]
* [https://github.com/Trololp/Small-utils/blob/main/RSFL_ASR/RSFL_ASR.cpp RSFL_ASR] (dont tested on asura engines after 2010)
 
== Notes ==
== Notes ==



Revision as of 09:06, 9 May 2021

Contents: GRAFs page - All - 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - Edit

Format Type: Archive
Extensions: asr
Platforms: unknown
Endian Order: Little Endian



Format Specifications

// Chunk signatures...
// 'RSCF' (Resource File)
// 'fmvs' (Subtitles)
// 'FNFO' (File info)
// 'FNTK' (Font Description
// 'FONT' (Font)
// 'HTXT' (Text Strings)
// 'LTXT' (Text Strings)
// 'PTXT' (Text Strings)
// 'TTXT' (Text Strings)
// 'RSFL' (Resource File List)
// 'RUDE' (Rude Words List)
//  many more ...

// ARCHIVE HEADER
  8 bytes (char) - not packed archive signature ("Asura   ")

// FILE DATA
  // for each file
    4 bytes (uint32) - Chunk Signature 
    4 bytes (uint32) - Chunk Length // from start of Header
    4 bytes (uint32) - Version
    4 bytes (uint32) - Subversion
  
    if (Signature == "RSCF"){
      // Resource File - a file in the archive
      4 bytes (uint32) - Resource Type 
      4 bytes (uint32) - Resource Type2
      4 bytes (uint32) - Resource Data Length
      X bytes (char) - Filename
      1 byte    - null Filename Terminator
      0-3 bytes - null Padding to a multiple of 4 bytes
      X - Resource Data

     // RSCF types for "Aliens vs. Predator 2010" in other games can mean something else.
     // Type, Type2
     //   0, 0x7 - Grass carpet
     //   0, 0x8 - Botanicals
     //   0, 0xB - Enviroment data (map geometry)
     //   0, 0xC - Material Response Texture
     //   0, 0xD - Static Decals
     //   0, 0xE - Material response pixel shaders
     //   0, 0xF - Model
     //   2, 0x0 - Image
     //   3, 0x0 - Sound

      }
    else if (Signature == "RSFL") {
      // Resource File list. list of imports?
      4 bytes (uint32) - Count of RSFL entries

      // RSFL_ENTRY
      X bytes (char) - file_name // can contain path
      1 byte    - null file_name Terminator
      0-3 bytes - null Padding to a multiple of 4 bytes
      4 bytes (uint32) - offset 
      4 bytes (uint32) - file_size
      4 bytes (uint32) - unk // always 1
      
      // Note: to obtain offset to file from start of decompressed ASR archive.
      // Use this formula: File_offset = RSFL_ENTRY[i].offset + rsfl_chunk_size
      }
    else {
      // other chunks
      }

// Padded end
  16 bytes - nulls



MultiEx BMS Script

No BMS script

Supported Programs



Notes

  • File format is used by games made on Asura Engine.



Games

  • Alien vs Predator (2010)
  • Many more...



See Also