Skyrim Mod ファイルフォーマット解説 - 3
はじめに
この記事ではSkyrimのModのファイルフォーマットについて解説しています。
SkyrimのModのファイルフォーマットについてはTes5Mod:Mod File Format - The Unofficial Elder Scrolls Pages (UESP)が詳しいですが、ここでは、これまで自分なりに解析してきた内容や、必要な部分なども踏まえて解説していきます。
また、同時にプログラミングで利用する情報なども合わせて解説したいと思いますが、プログラミングについての主な情報は別サイトで記事にいていきます。
前回はグループについて記載しましたので、今回は主にレコードについてです。
レコード
武器データのレコードを見てみることにします。武器の情報はWEAP
です。
選択部分はグループヘッダーです。
次の、範囲がレコードヘッダーです。
レコードヘッダーの情報は次のようになっています。
項目名 | 型 | byte数 | byte数合計 | 説明 |
---|---|---|---|---|
Signature | string | 4 | 4 | どのような情報を扱うかを識別する記号。 |
DataSize | uint | 4 | 8 | ヘッダーサイズを含まないレコードの全体サイズ。 |
RecordFlags | uint | 4 | 12 | あまり気にしない。詳細はUESPのRecordsのflags参照。 |
FormID | uint | 4 | 16 | mod内でデータを一意に識別するためのID。 |
VersionControlInfo1 | uint | 4 | 20 | あまり気にしない。詳細はUESPのRecordsのrevision参照。 |
FormVersion | ushot | 2 | 22 | あまり気にしない。詳細はUESPのRecordsのversion参照。 |
VersionControlInfo2 | ushot | 2 | 24 | あまり気にしない。詳細はUESPのRecordsのdata参照。 |
※項目名はSSEEditでの表示名称を使用
では、実際のデータに当てはめて見て見ます。
項目名 | 値 | バイナリ上での表示 |
---|---|---|
Signature | WEAP | |
DataSize | 422 | |
RecordFlags | 0 | |
FormID | 00017288 | |
VersionControlInfo1 | 10 2C 1E 00 | |
FormVersion | 44 | |
VersionControlInfo2 | 03 00 |
SSEEditで見ると次のようになっています。
ちなみに、最初のファイルヘッダーにあたるTES4
はグループヘッダーが無く、このレコードヘッダーの部分からはじまっています。
以降のDataSize
分のデータがフィールドのデータになります。
以上、今回はここまで。