Open Source Tomb Raider Engine
GPL-2.0 License
Nearly exactly one year after releasing the last 0.1.2 OpenRaider build I bring to you: OpenRaider 0.1.4 😄
Everything mentioned in the To-Do list of the last release notes has been accomplished, and more!
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.
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.
Published by xythobuz about 10 years ago
I think it's time to tag another pre-release, OpenRaider 0.1.3-8efce95.
Pretty much everything anticipated in the last release notes has been achieved!
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.
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 😄
Published by xythobuz over 10 years ago
Here it is, another pre-release of OpenRaider, 0.1.2-20140313 🎆
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.
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:
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).
Published by xythobuz almost 11 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:
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... 😢
Published by xythobuz almost 11 years ago
Finally, OpenRaider rises from its 10 year old tomb 😄
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.
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.
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.