Princess Waltz ARC: Difference between revisions
imported>Zardas (Format added) |
imported>Ikskoks No edit summary |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
== ARC == | == ARC == | ||
{{GRAFPageMisc | {{GRAFPageMisc}} | ||
=== Format Specifications === | === Format Specifications === | ||
| Line 64: | Line 63: | ||
{{GRAFPageFooter}} | {{GRAFPageFooter}} | ||
[[Category:File Format]] | |||
Latest revision as of 13:08, 17 January 2021
Back to index | Edit this page
ARC
- Format type: Archive
- Endianness: Little-endian
Format Specifications
// For each extension
- char {4} - Extension name (null padded)
- uint32 {4} - Number of files using this extension
- byte {4} - Padding
// For each file
- char {8} - File name (null padded, without extension)
- byte {1} - null Padding
- uint32 {4} - File size in bytes
- uint32 {4} - File offset in bytes
Notes and Comments
File names are stored without extensions. The header specifies how many files are using each extension. For example, if there are 2 OGGs and 3 WAVs specified in the header, the filelist will be FILE1.OGG FILE2.OGG FILE3.WAV FILE4.WAV FILE5.WAV.
MultiEx BMS Script
<bms games="'Princess Waltz'" platforms="'PC'" ext="arc"> Set DOT String "." ; GoTo 0 0 ; Get FILETYPES Long 0 ; Set FILELIST Long 12 ; Math FILELIST *= FILETYPES ; Math FILELIST += 4 ; Set FILENUM Long 0 ; For X = 1 TO FILETYPES ; Set FILEPTR Long X ; Math FILEPTR *= 12 ; Math FILEPTR -= 8 ; Goto FILEPTR 0 ; GetDString FILEEXT 4 0 ; Get FILEEXTNUM Long 0 ; For Y = 1 TO FILEEXTNUM ; Set FILEPTR Long 17 ; Math FILEPTR *= FILENUM ; Math FILEPTR += FILELIST ; Goto FILEPTR 0 ; GetDString FILENAME 9 0 ; String FILENAME += DOT ; String FILENAME += FILEEXT ; Get FILESIZE Long 0 ; Get FILEOFFSET Long 0 ; Log FILENAME FILEOFFSET FILESIZE 0 0 ; Math FILENUM += 1 ; Next Y ; Next X ; </bms>
Supported by Programs
Unknown
Links
None