PDA

View Full Version : Nscripter history


Mihara
2006-08-21, 04:44
I'm messing around with OnScripter (why - is a long story, and now's not the time to tell it yet anyway) and there are a few technical puzzles I can't quite figure out, both because I don't really know Japanese to any significant degree and because their answers are not present in the source, at least, not at my current stage of understanding of this source. This might not be the best place to ask those questions, but if there is a better one, I couldn't find it, so please excuse me.
Onscripter refers to 'ns2' and 'ns3' archive formats, which only seem to differ from 'nsa' by one and two padding bytes in the beginning, respectively. What are those? Which games used them? Am I correct in thinking that's the only different thing between them? Whyfor? How is 'sar' format different, and what's it for?
The LZSS compression and filenames in index seem to be encryptable with a permutation table based on the game file executable contents. OnScripter defaults to not using it. Did any games actually use that feature? Which ones were those?
I'm no expert on coding compression from scratch, (I'd much rather use bz2 or zlib) so I can't quite tell - is the LZSS compression Nscripter uses based on anything standard, (as much as there's a standard for LZSS) or it's a unique flavor?
Does the 'spb' bitmap compression (which appears to me to be a RLE flavor, correct me if I'm wrong) predate the introduction of NBZ or not?
Color me stupid, but I don't understand why no compression == 0, SPB compression = 1, LZSS compression == 2 but NBZ compression == 4. Does this mean there are archives out there which have several compression types on the same file? Or is it just the original author's quirk? Or is there some unkonwn compression type 3 in the original Nscripter?

ChocoEd
2006-08-21, 06:08
I'm no expert on coding compression from scratch, (I'd much rather use bz2 or zlib) so I can't quite tell - is the LZSS compression Nscripter uses based on anything standard, (as much as there's a standard for LZSS) or it's a unique flavor?
There's a lot of LZSS variants out there, and I've run across quite a few in other games, but the one in NScripter is new to me: it's pretty unusual as LZSS implementations go, so far as I know.

Color me stupid, but I don't understand why no compression == 0, SPB compression = 1, LZSS compression == 2 but NBZ compression == 4. Does this mean there are archives out there which have several compression types on the same file? Or is it just the original author's quirk? Or is there some unkonwn compression type 3 in the original Nscripter?
ONScripter doesn't seem to handle the case of multiple compression types on the same file, so I'm guessing that doesn't occur much if at all in practice (since the order might be ambiguous, too).