Radcore Cement Library RCF: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
m (Ikskoks moved page Dark Angel RCF to Radcore Cement Library RCF)
imported>Ikskoks
No edit summary
Line 1: Line 1:
* [[GRAFs|Return to the list of games]]
{{GRAFPageHeader}}
 
Choose archive extension:
 
== RCF ==  
== RCF ==  


* ''' 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 <br>
* ''' Signature ''':    RADCORE CEMENT LIBRARY <br>  




=== Format Specifications ===  
=== Format Specifications ===  


<tt><b>
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<font color="blue"> ''' // ARCHIVE HEADER ''' </font> <br>
<pre>
: char {32}&nbsp;&nbsp;&nbsp; - Header <font color="purple">("RADCORE CEMENT LIBRARY" + nulls to fill)</font> <br>
// header
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
32 bytes (char) - signature // "RADCORE CEMENT LIBRARY"
: uint32 {4}&nbsp;&nbsp; - Directory Offset <font color="purple">(2048)</font> <br>
1 byte (unsigned char) - major version  // e.g. 1
: uint32 {4}&nbsp;&nbsp; - null <br>
1 byte (unsigned char) - minor version  // e.g. 2
: uint32 {4}&nbsp;&nbsp; - Directory Length <font color="purple">(including null padding after the entries)</font> <br>
1 byte (unsigned char) - endianess flag  // 0 - little endian
: byte {2000}&nbsp; - null <br>
                                        // 1 - big endian
<br>
1 byte (unsigned char) - is_library_valid flag  // 0 - not valid
<font color="blue"> ''' // DIRECTORY ''' </font> <br>
                                                // 1 - valid
: uint32 {4}&nbsp;&nbsp; - Number Of Files <br>
4 bytes (uint32) - alignment value
: uint32 {4}&nbsp;&nbsp; - Filename Directory Offset <br>
4 bytes (uint32) - padding net size
: uint32 {4}&nbsp;&nbsp; - Filename Directory Length <font color="purple">(including null padding after the entries)</font> <br>
4 bytes (uint32) - directory start offset
: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
x bytes - padding
<br>
 
: <font color="blue"> ''' // for each file ''' </font> <br>
 
:: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Hash? '' </font> <br>
// directory
:: uint32 {4}&nbsp;&nbsp; - File Offset <br>
4 bytes (uint32) - total number of files
:: uint32 {4}&nbsp;&nbsp; - File Length <br>
4 bytes (uint32) - filename directory offset  // e.g. 4096
<br>
4 bytes (uint32) - first file start position// e.g. 4096
: byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - null Padding to a multiple of 2048 bytes <br>
num_of_files *
<br>
{
<font color="blue"> ''' // FILENAME DIRECTORY ''' </font> <br>
    4 bytes (uint32) - file name hash
: uint32 {4}&nbsp;&nbsp; - Number Of Files <br>
4 bytes (uint32) - file offset
: uint32 {4}&nbsp;&nbsp; - null <br>
4 bytes (uint32) - file size
<br>
: <font color="blue"> ''' // for each file ''' </font> <br>
x bytes - padding
:: uint32 {4}&nbsp;&nbsp; - Filename Length <font color="purple">(including null terminator)</font> <br>
 
:: char {X}&nbsp;&nbsp;&nbsp;&nbsp; - Filename <br>
 
:: byte {1}&nbsp;&nbsp;&nbsp;&nbsp; - null Filename Terminator <br>
// filename directory
:: uint32 {4}&nbsp;&nbsp; - <font color="red"> '' Unknown '' </font> <br>
4 bytes (uint32) - total number of files
<br>
4 bytes - nulls
: byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - null Padding to a multiple of 2048 bytes <br>  
num_of_files *
<br>
{
<font color="blue"> ''' // FILE DATA ''' </font> <br>
  4 bytes (uint32) - filename length
: <font color="blue"> ''' // for each file ''' </font> <br>
  x bytes (char) - filename  // e.g. "sound\scripts\ambul.spt"
:: byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - File Data <br>
  1 byte - null  
:: byte {X}&nbsp;&nbsp;&nbsp;&nbsp; - null Padding to a multiple of 2048 bytes <br>
  4 bytes (time_t) - file's last modification time
</b></tt>
}  
x bytes - padding
 
 
// data
num_of_files *
{
  x bytes - file data
  x bytes - padding
}
</pre>
</div>
 
=== MultiEx BMS Script ===
 
Not written yet.
 
=== Notes and Comments ===  
 
* This file format occurs in games made using '''Radcore Cement Library''' from '''Radical Entertainment'''.


=== MultiEx BMS ===  
=== Games ===  
List of games using this file format:
* Dark Angel (*.RCF)
* The Simpsons Hit & Run (*.RCF v1.2)


Not written yet<br><br>
=== Compatible Programs ===


=== Supported Programs ===
* FileCementer
* Game Extractor
* RCF Explorer
* WinCementer


* [[Game Extractor|Game Extractor]]<br>
=== See Also ===
* [[ATG Core Cement Library RCF]]
<br/><br>




[[Category:Complete Complete|Radcore Cement Library RCF]]
[[Category:Platform PC|Radcore Cement Library RCF]]
[[Category:Platform PS2|Radcore Cement Library RCF]]
[[Category:CE None|Radcore Cement Library RCF]]
[[Category:Format_Archive | Type: Archive]]
[[Category:Extension_rcf | Extension: rcf]]
[[Category:BMS_None | BMS: None]]
[[Category:File Format]]
[[Category:File Format]]

Revision as of 14:51, 23 August 2021

Back to index | Edit this page

RCF

  • Format Type : Archive
  • Endian Order : Little Endian
  • Signature : RADCORE CEMENT LIBRARY


Format Specifications

// header
32 bytes (char) - signature // "RADCORE CEMENT LIBRARY"
1 byte (unsigned char) - major version  // e.g. 1
1 byte (unsigned char) - minor version  // e.g. 2
1 byte (unsigned char) - endianess flag  // 0 - little endian
                                         // 1 - big endian 
1 byte (unsigned char) - is_library_valid flag   // 0 - not valid 
                                                 // 1 - valid 
4 bytes (uint32) - alignment value	
4 bytes (uint32) - padding net size	
4 bytes (uint32) - directory start offset 	
x bytes - padding 


// directory	
4 bytes (uint32) - 	total number of files 	
4 bytes (uint32) - 	filename directory offset  // e.g. 4096
4 bytes (uint32) - 	first file start position// e.g. 4096	
num_of_files *
{
    4 bytes (uint32) - file name hash
	4 bytes (uint32) - file offset 
	4 bytes (uint32) - file size 
}  
x bytes - padding 


// filename directory 
4 bytes (uint32) - 	total number of files 
4 bytes - nulls
num_of_files *
{
   4 bytes (uint32) - filename length 
   x bytes (char) - filename  // e.g. "sound\scripts\ambul.spt"
   1 byte - null 
   4 bytes (time_t) - file's last modification time
} 
x bytes - padding 


// data
num_of_files *
{
   x bytes - file data 
   x bytes - padding
}

MultiEx BMS Script

Not written yet.

Notes and Comments

  • This file format occurs in games made using Radcore Cement Library from Radical Entertainment.

Games

List of games using this file format:

  • Dark Angel (*.RCF)
  • The Simpsons Hit & Run (*.RCF v1.2)

Compatible Programs

  • FileCementer
  • Game Extractor
  • RCF Explorer
  • WinCementer

See Also