xoreos is a FLOSS project aiming to reimplement BioWare's Aurora engine (and derivatives), covering their games starting with Neverwinter Nights and potentially up to Dragon Age II. This post gives a short update on the current progress.
Note: This is a cross-post of a news item on the xoreos website.
A new year, a new release: we are proud to announce the release of version 0.0.4, nicknamed "Chodo", of xoreos and xoreos-tools.
In this release, Neverwinter Nights now shows speech bubbles for conversation one-liners, as used for cutscenes, bark strings and short NPC dialogues. Additionally, the premium modules BioWare sold for Neverwinter Nights, including the three that come with the Diamond Edition, can now be properly loaded and started.
An oversight in the handling of the texture fonts used in Neverwinter Nights and the two Knights of the Old Republic games has been fixed. This oversight broke rendering of certain characters, most prominently of those used in eastern European languages and the "smart" single quotation mark that's used instead of an apostrophe in some strings found in the French versions.
For xoreos-tools, there's two new tools: fixpremiumgff and ncsdis.
The first tool, fixpremiumgff, can restore the deliberately broken GFF files found in the BioWare premium modules for Neverwinter Nights. The resulting GFF files can then be edited as normal.
The second tool, ncsdis, is a disassembler for the stack-based bytecode of BioWare's NWScript scripting language. It supports the scripts of all games targeted by xoreos and can disassemble them into a full assembly listing. It can also produce a control flow graph in the DOT description language, which can then be plotted into an image by using the dot tools from the GraphViz suite.
Moreover, this release includes a lot of user-invisible code documentation and quality fixes, in both xoreos and xoreos-tools.
Binaries for Windows, GNU/Linux and Mac OS X are attached to the GitHub release, here for xoreos and here for xoreos-tools. Additionally, packages for various GNU/Linux distributions can be found on the OpenSuSE Build Service (here for xoreos, here for xoreos-tools) and in Arch Linux's AUR (here for xoreos, here for xoreos-tools).
Alternatively, the repository and the source tarballs contain PKGBUILD files in dists/arch/ and a debian build directory in dists/debian/, which can be used to build Arch Linux and Debian/Ubuntu packages, respectively.
And as always, we're looking for more developers to join us in our efforts to reimplement those 3D BioWare RPGs. If you would like to help, please feel free to contact us. :)
The progress described, not to mention the tools for easing the continuation of progress, sound very positive, but I can't tell what that means for the general prospects.
This, rather.
What currently works is this: xoreos can detect and start all games. All games show basic ingame areas, with objects and (often) NPCs. Scripts (on area enter, on object click) are evaluated and run, but many of the functionality kicked off by the scripts is not implemented yet. Sound, music and videos work for most games. NWN and KotOR/KotOR2 also have GUIs (NWN more extensive), and NWN also has NPC conversations implemented.
There's no "proper" gameplay as such implemented yet.
For some screenshots, see the screenshots page here: https://xoreos.org/screenshots/index.html
For a video of Neverwinter Nights running in xoreos, see this video: https://www.youtube.com/watch?v=_EZRvDIB7wI
For a big rambly, non-exhaustive list of things left to do, see this wiki page: https://wiki.xoreos.org/index.php?title=TODO
It's progress. Slow progress, and there's still a lot to do, but progress nonetheless.
Well, the prospects are these: it's a massive undertaking. With the current level of contributors, who are there (and I'm super grateful for them <3) and me still doing most of the work, this is never going to be finished.
I.e. I need more contributors. Anybody interested, please contact me. Anybody who knows people potentially interested, tell them about xoreos. Get the word out. Thanks! :)
If anybody has any questions about this project or the process or anything, feel free to ask.
Last edited by DrMcCoy on 2 February 2016 at 12:29 am UTC
Yes, or rather, I mean 0x92 from the Windows Codepage 1252, and 0x27.
The former is also used as a single closing quotation mark. The Unicode description is RIGHT SINGLE QUOTATION MARK, with a comment "this is the preferred character to use for apostrophe". Just to distinguish it from 0x27, I called it a "smart" single quotation mark. :)
The strings in the French version Neverwinter Nights use both, interchangeably. In the texture that defines the font, both characters look the same. So some of them were broken, some displayed correctly. This has been fixed now.
The issue, in case anybody's interested was that xoreos didn't take the font encoding into account. It basically acted as if the order of the letters and their indices were the same as in Unicode (or as UTF-32 codepoints). This works for all characters in Latin1 (ISO-8859-1), because those map 1:1 onto Unicode. And because CP-1252, the encoding used in western European versions of Neverwinter Nights (and KotOR/KotOR2), is mostly identical to Latin1, this also worked.
Except for the quote/apostrophe, which is 0x92 in CP-1252, but maps to UTF-32 codepoint 0x2019. And, of course, the extended Latin-based characters eastern European languages (which use CP-1250) don't map either, let alone Cyrillic characters (CP-1251). [1]
This has been fixed, and now both apostrophes show correctly in French Neverwinter Nights versions. Likewise, eastern European versions should also work better now (but I personally haven't tested them).
[1] Neither would any of the Asian languages work, but xoreos doesn't support them at all yet, unfortunately.
View video on youtube.com
Last edited by throgh on 2 February 2016 at 10:39 pm UTC