Skip to content

Look n Feel n Architecture

Pre-release
Pre-release
Compare
Choose a tag to compare
@xythobuz xythobuz released this 27 Jul 20:51
· 232 commits to master since this release

I think it's time to tag another pre-release, OpenRaider 0.1.3-8efce95.

screen shot 2014-07-27 at 22 23 47

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

screen shot 2014-07-27 at 22 23 06

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.

screen shot 2014-07-27 at 22 23 55

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 😄