Ikura GDL (archive)
This is a Ikura GDL format.
Common file names:
- DATA
- GGD
- ISF
- MIDI
- SE
- VOICE, 1, 2
- WMSC
Uncommon file names:
(Trabulance Titles)
- TRGRP
- TRMSC
- TRSE
- TRSNR
(Kana -Little Sister-)
- DRSDAT
- DRSGRP
- DRSEF
Structure
Format #1 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header | ||||||||||||||
Size | Content | Description | ||||||||||||
2Bytes | Index Size | |||||||||||||
Index Entry | ||||||||||||||
Size | Content | Description | ||||||||||||
12Bytes | File Name | Unused space is filled with 0x00 | ||||||||||||
4Bytes | Offset | |||||||||||||
Last Index Entry | ||||||||||||||
size | Content | Description | ||||||||||||
12bytes | Padding | (0x00) | ||||||||||||
4bytes | Total Archive Size |
Format #2 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header | ||||||||||||||
Size | Content | Description | ||||||||||||
8Bytes | Magic/ID | 'SM2MPX10' | ||||||||||||
4Bytes | File Count | |||||||||||||
4Bytes | Index Size | |||||||||||||
12Bytes | Archive Name | Unused space is filled with 0x00 | ||||||||||||
4Bytes | Unknown/Static? | hex:20 00 00 00 | ||||||||||||
Index Entry | ||||||||||||||
Size | Content | Description | ||||||||||||
12Bytes | File Name | Unused space is filled with 0x00 | ||||||||||||
4Bytes | Offset | |||||||||||||
4Bytes | File Size |
Based on the fact that format #1 seems more common with older games suggest this is the earlier version of the format thus labeled as format #1. The second format appears more often in newer releases thus is labeled as format #2. There are some games that even use both at the same time. Further testing could be done to see if any games can or cannot read either of these known formats. This could help gauge what era the licensed engine game from. Possibly to help predict what formats are expected or how the engine handles it's data.
As of this revision, in format #2 the last 4 bytes in the header are still unknown but so far, appear static in most, if not all format 2 archives. This could be some sort of version or support check but testing would need to be done if this value means anything, if changing does anything, or if it is even read and stored in memory.