GRAF:AFS AFS: Difference between revisions
imported>Dinoguy1000 mNo edit summary |
imported>Ikskoks No edit summary |
||
| (13 intermediate revisions by 5 users not shown) | |||
| Line 2: | Line 2: | ||
== AFS == | == AFS == | ||
{{GRAFPageMisc | {{GRAFPageMisc}} | ||
=== Format Specifications === | === Format Specifications === | ||
{{GRAFPageFormat|1=char {4} - Header {{Constant|(AFS + null)}}<br> | {{GRAFPageFormat|1= | ||
uint32 {4} - Number Of Files | {{BlockDescription| // Archive Header }} | ||
: char {4} - Header {{Constant|(AFS + null)}}<br> | |||
: uint32 {4} - Number Of Files | |||
{{BlockDescription| // for each file }} | {{BlockDescription| // Table Of Contents (TOC) }} | ||
: uint32 {4} - Offset | : {{BlockDescription| // for each file }} | ||
: uint32 {4} - Length | :: uint32 {4} - Offset | ||
:: uint32 {4} - Length | |||
: uint32 {4} - Filename Directory Offset<br> | |||
: uint32 {4} - Filename Directory Length<br> | |||
byte {X} - File Data | byte {X} - File Data | ||
| Line 18: | Line 23: | ||
: {{BlockDescription| // for each file }} | : {{BlockDescription| // for each file }} | ||
:: char {32} - Filename {{Constant|(null)}} | :: char {32} - Filename {{Constant|(null)}} | ||
:: | :: uint16 {2} - Year | ||
:: uint16 {2} - { | :: uint16 {2} - Month | ||
:: uint16 {2} - | :: uint16 {2} - Day | ||
:: uint16 {2} - | :: uint16 {2} - Hour | ||
:: uint16 {2} - | :: uint16 {2} - Minute | ||
:: uint32 {4} - | :: uint16 {2} - Second | ||
:: uint32 {4} - File Length {{InlineComment|(matches this value in the TOC)}}}} | |||
=== Notes and Comments === | === Notes and Comments === | ||
| Line 53: | Line 59: | ||
=== Games === | === Games === | ||
* [[50 Cent: Bulletproof (PS2)]] [[AFS|*.afs]] | * [[50 Cent: Bulletproof (PS2)]] [[AFS|*.afs]] | ||
* [[DragonBall Z: Budokai 2 (PS2)]] [[AFS|*.afs]] | |||
* [[DragonBall Z: Budokai 3 (PS2)]] [[AFS|*.afs]] | * [[DragonBall Z: Budokai 3 (PS2)]] [[AFS|*.afs]] | ||
* [[DragonBall Z: Budokai Tenkaichi 3 (PS2)]] [[AFS|*.afs]] | |||
* [[Grandia 2]] [[AFS|*.afs]] | * [[Grandia 2]] [[AFS|*.afs]] | ||
* [[Grandia 2 (Dreamcast)]] [[AFS|*.afs]] | * [[Grandia 2 (Dreamcast)]] [[AFS|*.afs]] | ||
* [[House of the Dead 3]] [[AFS|*.afs]] | * [[House of the Dead 3]] [[AFS|*.afs]] | ||
* [[Leisure Suit Larry: | * [[Leisure Suit Larry: Magna Cum Laude]] [[AFS|*.afs]] | ||
* [[Mortal Kombat Shaolin Monks (PS2)]] [[AFS|*.afs]] | * [[Mortal Kombat Shaolin Monks (PS2)]] [[AFS|*.afs]] | ||
* [[Phantasy Star Online (XBox)]] [[AFS|*.afs]] | * [[Phantasy Star Online (XBox)]] [[AFS|*.afs]] | ||
* [[Pro Evolution Soccer 5]] [[AFS|*.afs]] | * [[Pro Evolution Soccer 5]] [[AFS|*.afs]] | ||
* [[Silent Hill 3]] [[AFS|*.afs]] | * [[Silent Hill 3]] [[AFS|*.afs]] | ||
* [[Sonic Gems Collection]] [[AFS|*.afs]] | |||
{{GRAFPageFooter}} | {{GRAFPageFooter}} | ||
| Line 74: | Line 83: | ||
[[Category:Format Common|AFS AFS]] | [[Category:Format Common|AFS AFS]] | ||
[[Category:CE None|AFS AFS]] | [[Category:CE None|AFS AFS]] | ||
[[Category:File Format]] | |||
Latest revision as of 00:40, 3 January 2021
Back to index | Edit this page
AFS
- Format type: Archive
- Endianness: Little-endian
Format Specifications
- char {4} - Header (AFS + null)
- uint32 {4} - Number Of Files
// Table Of Contents (TOC)
- // for each file
- uint32 {4} - Offset
- uint32 {4} - Length
- uint32 {4} - Filename Directory Offset
- uint32 {4} - Filename Directory Length
byte {X} - File Data
// Filename Directory
- // for each file
- char {32} - Filename (null)
- uint16 {2} - Year
- uint16 {2} - Month
- uint16 {2} - Day
- uint16 {2} - Hour
- uint16 {2} - Minute
- uint16 {2} - Second
- uint32 {4} - File Length (matches this value in the TOC)
Notes and Comments
Each file, and the directory, are padded to multiples of 2048 bytes using null bytes. So, the first file will start at offset 2048, or 4096, etc, and similarly with the next files.
Some games (for example Grandia 2) don't have a filename directory (all entries are zero); however, the rest of the format is the same.
MultiEx BMS Script
<bms ext="afs" games="'50 Cent: Bulletproof','DragonBall Z: Budokai 3','Leisure Suit Larry: Manga Cum Laude','Mortal Kombat Shaolin Monks','Phantasy Star Online','Pro Evolution Soccer 5','Silent Hill 3'" platforms="'PS2','PS2','PC','PS2','PC','PC','PC'" version="1.0" author="Mr.Mouse" verbose="no" silence="no">IDString 0 AFS ; ImpType Standard ; Get D Byte 0 ; Get FileNum Long 0 ; For T = 1 To FileNum ; SavePos FOO 0 ; Get FO Long 0 ; SavePos FSO 0 ; Get FS Long 0 ; Log "" FO FS FOO FSO ; Next T ; </bms>
Supported by Programs
Links
None
Games
- 50 Cent: Bulletproof (PS2) *.afs
- DragonBall Z: Budokai 2 (PS2) *.afs
- DragonBall Z: Budokai 3 (PS2) *.afs
- DragonBall Z: Budokai Tenkaichi 3 (PS2) *.afs
- Grandia 2 *.afs
- Grandia 2 (Dreamcast) *.afs
- House of the Dead 3 *.afs
- Leisure Suit Larry: Magna Cum Laude *.afs
- Mortal Kombat Shaolin Monks (PS2) *.afs
- Phantasy Star Online (XBox) *.afs
- Pro Evolution Soccer 5 *.afs
- Silent Hill 3 *.afs
- Sonic Gems Collection *.afs