OpenRaider Versions Save

Open Source Tomb Raider Engine

0.1.4-20150313

9 years ago

Nearly exactly one year after releasing the last 0.1.2 OpenRaider build I bring to you: OpenRaider 0.1.4 :smile:

screen shot 2015-03-13 at 20 10 40

Changes

Everything mentioned in the To-Do list of the last release notes has been accomplished, and more!

  • All untouched code parts have now been rewritten!
  • The TombRaider.cpp level loader has been replaced by LoaderTR2.cpp and friends
  • All old OpenGL code has been removed. Now using OpenGL 3 Core Profile
  • Integrated ImGui UI Framework, now used for all UIs
  • TTF Font loader has been rewritten using stb_ttf
  • SoundSources are already working as intended (with 3D Sound!)

screen shot 2015-03-13 at 20 09 55

To-Do

Now that even the Main Menu is using ImGui to draw itself, my own Font drawing code (TTF and TRLE) is no longer needed. I hope to integrate them into ImGui in the future, or remove them all together.

screen shot 2015-03-13 at 20 11 27

The OpenGL 3 rewrite is still very much in-progress. Rooms, Static Meshes and Sprites are already displayed correctly, but Skeletal Models are still pretty messed up.

screen shot 2015-03-13 at 20 12 12

0.1.3-20140727

9 years ago

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 :smile:

0.1.2-20140313

10 years ago

Here it is, another pre-release of OpenRaider, 0.1.2-20140313 :fireworks:

Screenshot in Yvel.tr2

Changes

I've dipped my toe into cmake for the first time and redid the OpenRaider build system with it. To be honest, I am very happy with the result. Finding the external libraries and creating a (hopefully) distributable Mac App bundle was really straightforward. I was even able to implement the static analysis with cppcheck and documentation generation with doxygen.

OpenRaider is now also up-to-date in respect to SDL, as it is now using SDL2 and SDL2-TTF. The transition was pretty easy using the official SDL2 Migration Guide.

What's to come...?

This will probably be the last release before I'm starting to refactor at least a big part of the SDL and GUI related code... On the roadmap for the near future are:

  • Nicer command & config file system. There should no longer be a mode associated with commands. Config files should act like a script for console commands.
  • Quake-Style sliding down console
  • Nicer main-menu, overlaying the game screen
  • A lot of refactoring regarding at least the classes System, SDLSystem and OpenRaider.

I have also thought about implementing PCX image reading capabilities, to display eg. the original TombRaider 2 menu background or end screens.

In the future the menu could also be in the style of Tomb Raider 4 or 5, however, Cut-Scene rendering has to work for this (which there is absolutely no code for, right now).

v0.1.1-20131227

10 years ago

All the deprecated function calls to GLUT and SDL were replaced. Only the OpenAL .wav file reading is still not working on OS X, thanks to deprecated functions.

It seems as if the missing file src/hel/CollisionObject is not needes, because it doesn't look like this part of the hel library is used in OpenRaider. I'm still not sure what hel does, but it seems to be Physics & Entities, somehow. If one can believe the Requirements file, parts of hel would have been replaced in future versions anyway.

There is no longer a level file included with OpenRaider. Get one from the Internet or grab your old Tomb Raider CDs. This Screnshot is from Tomb Raider 3 in data/shore.tr2:

shore.tr2

The startup time was reduced drastically. This is very convenient for testing.

But OpenRaider still segfaults on a level change, and would segfault on exit if the OpenRaider Singleton would be deleted. The cause for this is unknown... :cry:

v0.1.1-20131214

10 years ago

Finally, OpenRaider rises from its 10 year old tomb :smile:

Screen Shot

This is pretty much the unmodified 0.1.1-20030713 build from the SourceForge CVS devel branch. I included an old custom level, Yvel.tr2 and modified the Makefile to create a distributable Mac App Bundle, running on OS X 10.9 and probably earlier versions, too. This Bundle is attached to this release.

Changes

I did some changes to the Code Base, but mostly to silence some clang/llvm warnings. Nearly everything was connected with using string literals as non-const.

It segfaulted on launch, thanks to a codepath only enabled on linux.

Also the OpenGL and OpenAL includes were changed for Mac OS X.

To-Do

It seems as if console and keyboard input are still not working. This could be because of the old libSDL, as Keyboard Handling changed with libSDL2. But maybe I just haven't figured out how to access the console :)

It also segfaults on exit.