Look n Feel n Architecture
Pre-releaseI think it's time to tag another pre-release, OpenRaider 0.1.3-8efce95.
Changes
Pretty much everything anticipated in the last release notes has been achieved!
- Big parts of the SDL and GUI related code have been completely refactored
- Config Files now simply act as scripts for console commands
- Theres a Quake-style sliding down console, with an endless history and scrollable buffer
- The main menu level selection is now also scrollable
- I've written a PCX image reader that currently displays the TR2 menu background image
Theres now also continuous integration using Travis CI, with multi-plattform builds on Mac and Linux!
The foundation has been laid to make SDL optional in the future and use other windowing libraries.
OpenRaider has also been successfully compiled under Windows, using both Visual Studio and MinGW. However, both attempts had problems running correctly.
I have also implemented a TRLE font file reader that can be used instead of SDL-TTF. More information can be found on my blog.
To Do
The biggest, as of yet completely untouched piece of code is TombRaider.cpp, the level file loader. That's the obvious next piece to be rewritten. However, I'm not sure how that should be done.
Another source of trouble is the archaic OpenGL 1.x API used by OpenRaider. But I'm not even sure which version should be used instead. GLES to be compatible with mobile platforms? OpenGL 3.x? 4.x? And then I have absolutely no idea how to use any of these APIs, so there's still a lot to learn for me.
There are still some places of duplicated functionality in the code, namely the way Meshes are stored, differing for Rooms and Static Meshes, and even the class Mesh having two different internal ways to store its information.
And there's the mysterious issue #4... I have seen the problem myself when I tried compiling OpenRaider in a Windows 7 VM. I hope that can be fixed by using std::strings instead of char *.
So, still a long way to go on the way to a playable OpenRaider release 😄


