Just wondered if it's possible to import any resources from NWN into DAO? Conversation files in particular would be of huge interest to me, as if it is possible, I'd seriously consider duplicating my Relbonian Chronicle project in the DAO toolset.
Is importing from NWN possible?
Débuté par
Quillmaster
, janv. 17 2010 07:29
#1
Posté 17 janvier 2010 - 07:29
#2
Posté 17 janvier 2010 - 09:31
The GFF (generic file format) has changed between NWN and DA, so your conversation DLG files couldn't be imported as is, even if they still had the same fields - which they for sure don't. I doubt you could directly import anything else either, really.
Although, I recall hearing how some of DA was prototyped in the earlier engine, so who knows if there's some rudimentary converter to get some of it in.
Although, I recall hearing how some of DA was prototyped in the earlier engine, so who knows if there's some rudimentary converter to get some of it in.
Modifié par FollowTheGourd, 17 janvier 2010 - 09:40 .
#3
Posté 17 janvier 2010 - 10:18
Hmmm...pity, I don't fancy copying and pasting all the individual lines...although I guess it would be faster than retyping them all again
#4
Posté 17 janvier 2010 - 10:40
You could always bug the toolset guys (like Bryan Derksen) to see if a converter tool does exist and if they would be willing to make it available to us.
#5
Posté 17 janvier 2010 - 10:51
You can open nwn gff files in the toolset but strings don't display properly - presumably because the string format has changed a lot between versions.
#6
Posté 18 janvier 2010 - 04:43
Hm, if I had to guess about the strings not displaying right but the toolset can open the earlier format, then it might just be an encoding issue. IIRC, the strings in NWN used the locale's encoding, so ISO-8859-1 for English. I think NWN2 started with UTF-8 encoding, and DA:O probably uses UTF-16 from what I've seen so far.
But even then, the toolset might not understand the older DLG format even if it can read the older GFF structure it's in.
Another thing... weren't there some dialogue exporters for NWN1 somewhere on the Vault? If you can get the dialogue out, then somebody might be able to more easily convert it to something that you can import into the DA toolset. Somebody enterprising enough could probably write one anyway - it's not *too* hard... I had something unfinished that could read in the DLG files from NWN2 and those were a lot more complicated than NWN1's. I don't know about importing, but I thought it was mentioned somewhere that it should be possible using some XML files in a B2B package or somesuch - there are some recent threads on it somewhere.
But even then, the toolset might not understand the older DLG format even if it can read the older GFF structure it's in.
Another thing... weren't there some dialogue exporters for NWN1 somewhere on the Vault? If you can get the dialogue out, then somebody might be able to more easily convert it to something that you can import into the DA toolset. Somebody enterprising enough could probably write one anyway - it's not *too* hard... I had something unfinished that could read in the DLG files from NWN2 and those were a lot more complicated than NWN1's. I don't know about importing, but I thought it was mentioned somewhere that it should be possible using some XML files in a B2B package or somesuch - there are some recent threads on it somewhere.
Modifié par FollowTheGourd, 18 janvier 2010 - 04:52 .
#7
Posté 18 janvier 2010 - 07:59
There are ways to get the text out - tkedit means you can read it without the toolset and allows text copy/paste. Modpacker will generate an xml file from the dialogue file. However, neither method will convert it to a DA dialogue file. The strings are stored in the new gff format as an offset and then the actual strings are all at the end of the file (or maybe that's just how the gda format stores strings). Not just that NWN strings were ascii and DA ones are utf16.
#8
Posté 18 janvier 2010 - 02:30
I was just thinking that getting the actual text out of the NWN1 DLG file would be the first step towards importing it into DA, and it would be a ton easier to create whatever XML lets you import it back into DA than mess around with GFFs after that... or maybe not, but it's something to try.
Anyway, while I don't think it'll have practical uses, I just thought it odd if the toolset can read the older GFFs but not display strings properly. If it can read older GFFs, why couldn't it read CExoLocStrings in the old format... The two GFF versions are so different that I don't see how a GFF reader for the new version could even get any data out of the old one, never mind how strings are referenced in the new version.
Anyway, while I don't think it'll have practical uses, I just thought it odd if the toolset can read the older GFFs but not display strings properly. If it can read older GFFs, why couldn't it read CExoLocStrings in the old format... The two GFF versions are so different that I don't see how a GFF reader for the new version could even get any data out of the old one, never mind how strings are referenced in the new version.
#9
Posté 18 janvier 2010 - 06:44
It looks like string support was just never implemented in the toolset. It knows it's a CLocString but doesnt display its value. It is fine with normal strings though (so tags and comments show up).
#10
Posté 18 janvier 2010 - 10:43
From my conversation about this with Scott Meadows at the Builders Event the fake B2B is the way to go. Unfortunately my memory of the details is poor but supposedly if you use -1 for IDs etc an new one is automatically generated on import.
Ideally you want to extract the text, conditional script resref and action script resref from the conversation from an NWN1 conversation.
NWN2's ability to daisy chain scripts makes that a bit harder but you could generate a new script resref (an identifier based of the conversation name plus an enumerator would do) and build a look up table in a plain text or a fake spreadsheet (tab delimited with a .xls extension is peachy if you have Excel). That way the user would have the option to simply create a wrapper script with that name to call all the original scripts (after converting them to dascript). If you wanted to get super fancy you could autogenerate that wrapper script and include it in the B2B as well.
Ideally you want to extract the text, conditional script resref and action script resref from the conversation from an NWN1 conversation.
NWN2's ability to daisy chain scripts makes that a bit harder but you could generate a new script resref (an identifier based of the conversation name plus an enumerator would do) and build a look up table in a plain text or a fake spreadsheet (tab delimited with a .xls extension is peachy if you have Excel). That way the user would have the option to simply create a wrapper script with that name to call all the original scripts (after converting them to dascript). If you wanted to get super fancy you could autogenerate that wrapper script and include it in the B2B as well.
Modifié par Sunjammer, 18 janvier 2010 - 10:44 .
#11
Posté 19 janvier 2010 - 07:43
Er... most of this has gone over my head, but thanks for the responses.





Retour en haut






