[Minor Update: Because of name clashes, eos has been renamed to xoreos.]

[Major Update: xoreos needs your help!]

As promised in my last post, I will now talk about eos.

“What is eos?”, I hear you ask. Well, in short, it’s an open source project I started to portably reimplement BioWare‘s 3D engines, starting with Neverwinter Night‘s Aurora engine. Quite a daring task, and one I can’t begin to hope to finish on my own, especially since I’m not really that versed in all that 3D stuff. But working on it is fun and scratches an itch, and maybe more people will join me in that particular quest some day.

Here’s a quick rundown on the current state of eos:

General

Working:

“Engine” framework

Global configuration subsystem

Debug console with readline-like abilities

Reading classes for a shockful of BioWare file formats, including archives, images, GFF formats

Resource manager

Basic manager classes for 3D graphics and sound

Playing of Bink videos (decoder courtesy of the FFmpeg project)

XMV demuxer (which we then reworked to fit into FFmpeg)

Missing:

Animation subsystem

3D positional audio

WMV p-frames

Neverwinter Nights

Working:

Partially working main menu

Loading of modules and areas, including placeables and creatures

Moving around in areas

Interacting with doors

Talking to NPCs

Script execution

Missing:

Area lighting

Most script functions

Proper “segmented” models (each body part a separate model)

PC, walking, combat, inventory, journal

Script triggers

Knights of the Old Republic (1 + 2)

Working:

Very stubby main menu

Loading of areas, including placeables and creatures

Moving around in areas

Unswizzling Xbox textures

Missing:

Interacting with objects, dialogs

Scripts

PC, walking, combat, inventory, journal

Area lighting

Proper materials, including metallic reflections

Jade Empire

Menu loading works partially, everything else is still missing.

Neverwinter Nights 2

Model loading works partially, everything else is still missing.

The Witcher

Model loading works partially, everything else is still missing.

Dragon Age: Origins

Texture loading works, everything else is still missing.

Sonic Chronicles: The Dark Brotherhood

HERF archive reading and texture loading works, everything else is missing.

Dragon Age 2

A potential target, but made difficult due to the changed archive format which doesn’t include file names anymore, only their hashes.

As can be seen, the current focus is mostly on Neverwinter Nights and Knights of the Old Republic, but even there, a lot is still missing and the games are of course far from being actually playable. I am mostly working alone on that project, with help from clone2727; chances of eos ever becoming usable are next to none this way.

If anyone out there is interested in helping, this would increase said chances and we’d be overjoyed. I’m especially looking for someone with actual OpenGL experience who could probably completely rewrite my graphics code to be far more effective. Of course, there’s a lot of other places that need capable hands. A quick and dirty TODO I’ve written a while ago can be found here. The project itself is located on github, here.