emoose wrote:
All the lua files in PC qars should be accounted for, but there might be some in fpk files that need a dictionary to look them up, not sure if TPP needs that though since only a few files in GZ did afaik.
There's a few MGO luas in the console qars that aren't named too, but it's doubtful anyone would want to mod MGO anyway.
The lua files in the fpks have had something done to them, they're not readable as text like the Data1 luas. Great analysis from me I know, but I have little experience with file formats. I do know they aren't renamed in the common way as if they're compiled either (standard there is to call them .luac), nor do they seem to have the usual compiled lua magic number, that's as much as I know, literally nothing else about file formats, I'm a plaintext man.
Unlike ground Zeros where most of the unreadable luas had readable versions also, these don't. And as they contain the mission scripting among other things it would be a big deal modding wise to be able to read them.
There may be complications though.
There's mention of some kind of compilation system in one of the main .lua, except no references to it in the lua (function that calls it had it's name minified so it's not called by the engine). The engine has a lot more references. Called the Quark, Quark System, FoxQuark.
I was guessing either: shader compilation, ui compilation, or of course lua compilation, which means we'd be more or less out of luck as far as using lua decompilers (we could even get it to standard compiled lua format in the first place). What is pointing it towards lua is: refererences from solider and corpse game objects - SoliderQuark, CorpseQuark.
There's also reference to the script block loading system mentioning quark, which brings me to that. Lots of reference to script block loading in lua, and also to packs in reference. However a couple of the data1/readable lua files are names AnimalBlock, DemoBlock and ReinforceBlock and have code suggested they are managed in this way.
The general term for compiled lua is actually chunks, so since they already were callink their streaming system chunks they decided to use Block to differentiate. block in lua terms just means a segment of code, the usage of scriptblocks suggests it's not that granular, but who knows.
Also the .ui* files, again making an assumption with such a data driven engine, and other examples of data driven ui systems there's a chance there's useful stuff there.
Like recently posted we're also missing what the keys in the .lang files are, can see some plain text keys of some form in the lua via the announce log which is via the ui, but past that point a bunch of those are also linked with sound files, and not quite sure where the definition is.
TLDR: There's still a lot of file format stuff that I don't think has really been discussed here that seems like it has potential -but I don't have the skills to pursue at that level.