NSA: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Archives]] | [[Category:Archives]] | ||
This is a [[NScripter]] archive format. | |||
== Structure == | == Structure == | ||
Line 21: | Line 18: | ||
| (Length)+1Byte || File name || Terminated with 0x00 | | (Length)+1Byte || File name || Terminated with 0x00 | ||
|- | |- | ||
| 1Bytes || Compress Switch || 00=false 01=true | | 1Bytes || Compress Switch || 00=false 01=true 02=wtf | ||
|- | |- | ||
| 4Bytes || Offset || | | 4Bytes || Offset || | ||
Line 48: | Line 45: | ||
|} | |} | ||
Two file sizes suggest the archive supports compression. However in this case, it does not appear to be used due to same size for both filesize values. Compression method is unknown. | Two file sizes suggest the archive supports compression. However in this case, it does not appear to be used due to same size for both filesize values. Compression method is unknown, if actually supported. Due to how the format is structured, the full index must be processed from start to end since each index entry is not a fixed size. Full index size is known, however, so can be done with single read into buffer. Then processed, however it means the full index is always loaded in memory. PC game so that doesn't really matter. | ||
== Tools == | |||
-n/a- |
Latest revision as of 18:08, 4 August 2024
This is a NScripter archive format.
Structure
Header | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Size | Content | Description | ||||||||||||
2Bytes | Number of files | |||||||||||||
4Bytes | Index Size | |||||||||||||
Index | ||||||||||||||
Size | Content | Description | ||||||||||||
(Length)+1Byte | File name | Terminated with 0x00 | ||||||||||||
1Bytes | Compress Switch | 00=false 01=true 02=wtf | ||||||||||||
4Bytes | Offset | |||||||||||||
4Bytes | Compressed Size | |||||||||||||
4Bytes | Uncompressed Size |
Note: All numbers are big endian.
Research
First 5 Index Entries for 'arc.nsa' of みずいろ | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Index Size | Filename | Offset | Filesize1 | Filesize2 | ||||||||||
22bytes | b\00.jpg | 0 | 155636 | 155636 | ||||||||||
23bytes | b\001.jpg | 155636 | 140467 | 140467 | ||||||||||
22bytes | b\01.jpg | 296103 | 169994 | 169994 | ||||||||||
22bytes | b\01.jpg | 466097 | 136249 | 136249 | ||||||||||
22bytes | b\05.jpg | 602346 | 150570 | 150570 |
Two file sizes suggest the archive supports compression. However in this case, it does not appear to be used due to same size for both filesize values. Compression method is unknown, if actually supported. Due to how the format is structured, the full index must be processed from start to end since each index entry is not a fixed size. Full index size is known, however, so can be done with single read into buffer. Then processed, however it means the full index is always loaded in memory. PC game so that doesn't really matter.
Tools
-n/a-