NSA: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(20 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 13: | Line 10: | ||
| 2Bytes || Number of files || | | 2Bytes || Number of files || | ||
|- | |- | ||
| 4Bytes || | | 4Bytes || Index Size || | ||
|- | |- | ||
!colspan="15"|Index | !colspan="15"|Index | ||
Line 19: | Line 16: | ||
! Size !! Content !! Description | ! Size !! Content !! Description | ||
|- | |- | ||
| Length+ | | (Length)+1Byte || File name || Terminated with 0x00 | ||
|- | |||
| 1Bytes || Compress Switch || 00=false 01=true 02=wtf | |||
|- | |- | ||
| 4Bytes || | | 4Bytes || Offset || | ||
|- | |- | ||
| 4Bytes || | | 4Bytes || Compressed Size || | ||
|- | |- | ||
| 4Bytes || | | 4Bytes || Uncompressed Size || | ||
|} | |} | ||
Note: All numbers are big endian. | Note: All numbers are big endian. | ||
== Research == | |||
{| class="wikitable" | |||
!colspan="15"|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- |
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-