I've hit a few brick walls with the usual means of getting detailed information about the game - poking around in the toolset, querying the toolset database via SQL, running around in the game and measuring stuff with or without the help of special scripts.
The first two methods give only incomplete answers about an outdated snapshot of the game excluding all DLC and mods, the third is extremely time-consuming and still rather limited. None is really viable for things like automatic validation of ability/spell/item tables against the actual game data, or finding out which mod b0rkens what.
That's why I'm looking at the possibility of analysing the actual game data files, with or without the expedient of dumping parts of it into an SQL database like the one that comes with the toolset. I'm also looking at ways of peeking into NCS files as well.
It seems likely that at least some of that work will carry over to DA:I, allowing us to hit the ground running when the new game comes out. Does anyone know specifics already?
If DA:I uses BioWare's standard resource file formats and some evolution of NWScript then it would be worth it to invest some time into making solid tools rather than the throwaway duct tape & chicken wire affairs one tends to use in spelunking. It would also make it worthwhile to get DA2, to have an extra set of raw data that is closer to DA:I than DA:O is.
I haven't been able to locate a copy of nwnnsscomp that works with DA:O's files; the ones I found were all for NWN or KotOR and choked on a script.ldf renamed to nwscript.nss despite having been released as recent as 2012. The source code then turned out to be exactly the same as a version timestamped 2004-06-16.
The most recent bytecode documentation still seems to be Torlack's from way back when, although nynaeve has been doing some interesting work as recently as 2010 (an MSIL backend for NCS pcode to add jitting to the NWScript VM) and the site may harbour a lot more interesting info.
The newest version of DeNCS I found is from 2006.
The Open Knights effort seems to have fizzled out in 2006 or so.
Xoreos seems to be active still and their specs directory is a veritable treasure trove.
Be that as it may, it should be possible to get nwnnsscomp into working shape or at least to produce a functioning two-way assembler/disassembler. I've got some experience with disassemblers (mostly x86), and I wrote a fully functioning decompiler for FoxPro/VFP in VFP itself when I was new to it and had to get proficient in a hurry. The thing started as an attempt to clarify some fuzzy information in the documentation and sort of grew from there (recompilable decompilation being nice for the automatic verification of stuff). So that's something I could tackle if it is confirmed that DA:I uses NSS/NCS as well.
I guess with Mephales' pyGFF (BSN project, topic) we have GFFs pretty much sewn up, so we'll be covered on that front... The linked version is 0.5.5b, dated 2011-04-27.
One thing that is a bit of an open question is the referential structure - i.e. where the game goes looking to find what resource and when, which override directories have precedence when, which bits of code are called by the engine when, and so on. That information seems to be scattered high and wide over the toolset wiki.
It's something that mod manager programs should be aware of in order to be able to warn about possible conflicts and for merging/optimising mod installations, but I couldn't find much in that direction.





Retour en haut






