-
アーカイブファイル ( *.arc ) のフォーマットリファレンスです。
Version 1.0.0.0
- 最初のフォーマット
ファイルヘッダ |
情報ヘッダ |
ファイルアロケーション |
ファイルデータ |
文字データ |
ファイルヘッダ
-
ファイルヘッダはアーカイブファイルを識別するためのものです。
- ARC_FILE_HEADER
ファイルヘッダ ( ARC_FILE_HEADER 構造体 ) |
名前 | 型 | 説明 | 値 |
---|---|---|---|
magic | UInt32 | マジック値 | 0x5F46414D |
version | UInt32 | バージョン | 0x01000000 |
情報ヘッダ
-
情報ヘッダはアーカイブファイル全般の情報を記述します。
- ARC_INFO_HEADER
情報ヘッダ ( ARC_INFO_HEADER 構造体 ) |
名前 | 型 | 説明 |
---|---|---|
alignment | UInt32 | アラインメント。 |
numFile | UInt32 | ファイル数。 |
szDataSize | UInt32 | 文字データのサイズ ( バイト単位 )。 |
reserve | UInt32 | 予約領域。 |
faTablePos | UInt64 | ファイルアロケーションテーブルの位置。 この値はアーカイブファイルの先頭からのオフセット ( バイト単位 ) になります。 |
szDataPos | UInt64 | 文字データの位置。 この値はアーカイブファイルの先頭からのオフセット ( バイト単位 ) になります。 |
ファイルアロケーション
-
ファイルアロケーションは、ARC_INFO_HEADER::numFile の値の数だけ存在します。
- ARC_FILE_ALLOC
ファイルアロケーション ( ARC_FILE_ALLOC 構造体 ) |
・ |
・ |
・ |
名前 | 型 | 説明 |
---|---|---|
namePos | UInt32 | 名前の位置。 この値は文字列テーブルの先頭からのオフセット( バイト単位 ) になります。 |
dataPos | UInt32 | データの位置。 この値はファイルデータの先頭からのオフセット ( アライメント単位 ) になります。 また、バイト単位の位置は データの位置 * データヘッダ::アラインメント で求められます。 |
dataSize | UInt32 | データのサイズ ( バイト単位 )。 |
reserve | UInt32 | 予約領域。 |
ファイルデータ
-
全てのファイルのデータが書き込まれています。
文字データ
-
全ての文字 ( ファイルパス ) の文字列が書き込まれています。