NSA

From Game Research Wiki
Jump to navigation Jump to search

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-