Friday, July 23, 2010

Making the RMQ Engine even more portable

The RMQ engine is based on QuakeSpasm, an SDL port of FitzQuake, is developed using a mixture of MSVC (for the superior debugger) and Code::Blocks/mingw, and is regularly given shakedowns on both Linux and Windows (I don't know if we have a Mac person or anyone who can cross-compile for Mac) so portability should be top-notch, right?

You'd think so, but that's not always the case. Take the example of vsync. The engine uses SDL/OpenGL for graphics and grabs the GL_EXT_swap_control extension (if present) to control vertical sync settings. The trouble here is that GL_EXT_swap_control is not always present on a lot of Windows machines, and you need to use WGL_EXT_swap_control (and it's associated wgl functions) instead!

This is a rare and interesting case of a portability concern occurring in the opposite direction to that which one would normally and reasonably expect. All in all an interesting learning experience.

_________________________________

I was intending to release the full DirectQ 1.8.666 release build today, but became detained with chasing down some bugs in RMQ and other stuff. Sorry about that; I'll try to get it out over the weekend.

_________________________________

I'm quite saddened to report that my 6 year old home-built PC finally expired today. It's had an extremely good innings, was still quite capable (I specced it well at the outset) and I was intending to see it off with full honours by bringing up a Linux build environment on it for my own RMQ testing.

I guess I'm going to be in the market for a new PC then.

2 comments:

Coranth said...

Bah, what a shame about your PC, MH! I hope you have everything on it backed up. The best thing about you working on the Remake Quake Engine is that, once you've done some work on that, you'll be able to return to DirectQ with all kinds of new ideas, tricks, and other cool stuff to build into it and make DirectQ better than ever! On RMQ, I wonder what the single-player maps will be like, if any; probably scary as all hell...

mhquake said...

Fortunately I didn't have much on it and nothing that can't be trivially recreated; most of my data is on external media these days (a computer is really just for OS, apps, an internet connection and working copies of data) and I hadn't really been using that PC for a while anyway.

I totally agree about the RMQ/DirectQ interface; there are already a lot of techniques from DirectQ gone into RMQ, and things are going to happen in the other direction too.

Yes, there are single player maps, and no, I won't say what they're like, sorry. There is a schedule and plans for unveiling more preview content, and info will come out according to that schedule. Patience - it will be worth it.