xoreos / xoreos-tools

Tools to help the development of xoreos
https://xoreos.org/
GNU General Public License v3.0
66 stars 28 forks source link

xml2gff not included in xoreos-tools-0.0.5 release? #53

Closed lachjames closed 4 years ago

lachjames commented 4 years ago

Hi :)

Thanks for creating such an awesome set of tools!

I was just wondering whether it's intentional that xml2gff.exe is not included with xoreos-tools-0.0.5 on xoreos.org - the tool would be very useful for a project I'm working on so I'm hoping to get a copy of it.

Thanks :)

Lachlan

DrMcCoy commented 4 years ago

Yes, the 0.0.5 release predates the xml2gff tool. See also #51. It will be included in the next release, 0.0.6 (which will release together with xoreos proper and Phaethon).

Unfortunately, RL kinda shredded my plans to do a new release that month (March). The only thing I can say is "soon"; I'm working on it.

From the code side, a new release is mostly ready to go:

Things left to do:

Writing the news blog post is the only big task left. I've got some bullet points, but I didn't yet have the time to actually write something coherent. I also might still try to capture some KotOR footage for xoreos.

I don't want to really put a deadline on it (considering I've already blown a few of them), but hopefully, I can pull this off next month.

lachjames commented 4 years ago

Thanks for the quick update, it's very much appreciated. Someone was kind enough to send me a copy of it they have, and (in case it helps - you might be well past that by now) I'm having an issue with it that can be reproduced as follows: 1) Run gff2xml on the file "tar02_carth022.dlg" from KOTOR 1. It creates an XML file, but I can't say whether the XML is correct or not 2) Run xml2gff on the output from that file - it creates an empty file.

I've zipped and uploaded the generated XML file ("tmp.xml") and the subsequently generated GFF file ("out.dlg"), in case it helps. On that note, I'd be happy to write some unit tests for you that would e.g. cycle through gff2xml and then xml2gff again, and ensure the outputs are consistent with the original input (I could write them in Python - I know you use C++ here but I'm an AI researcher so Python's my hammer and the world's my nail :p).

Thanks,

Lachlan

out.zip

(Edit: apologies for not seeing the prior issue; also, thanks again for all the hard work you put into Xoreos and Xoreos-tools - it's a great project).

DrMcCoy commented 4 years ago

Thanks, I'll take a look. Or maybe @Nostritius, if you have time?

We already have a few tests for our GFF3 reader and writer classes (though I've apparently forgotten to up the gff3writer test into xoreos-tools as well), but maybe they're missing some edge cases. And yes, they're written in C++, using the Google Test framework. You can find them here: https://github.com/xoreos/xoreos-tools/tree/master/tests

DrMcCoy commented 4 years ago

But yeah, we also have no unit tests that call the tools, only the underlying classes. We don't really want to have to call any binaries there, that just breaks cross-compilation.

But maybe we should add another optional level of unit tests for that? Those could also run during CI, that could be useful. Need to think about how to do this. Probably something for after the new release.

DrMcCoy commented 4 years ago

Got that error of yours fixed in the current main branch.

Also did a testrun over some files and fixed a few other bugs. There's still at least one bug prevelant in some NWN files; I need to have a better look at that later.

lachjames commented 4 years ago

Thanks for the (super quick!) fix :)

DrMcCoy commented 4 years ago

I've fixed a few more bugs with the tool, and opened two more issues that are still open: #54 and #55.

54 is only relevant to you if you're creating GFF files with LocStrings that have strings in them (instead of just a strref) and those strings have characters outside the ASCII plane.

55 is only relevant to you if you've got LocStrings with strings that contain color codes.