I've been beefing up Nehahra support a little more in the upcoming version, so for this post I'm going to concentrate on that.
Firstly, whatever about the overall quality of the content, I personally view Nehahra as a failed opportunity. Here was the chance to get a good solid set of standards from which it would be possible to move forward and instead it was a bunch of cheap and nasty hacks. In fairness to it, that was probably symptomatic of the times.
Gameplay-wise and stylistically it's not to my taste; it seems to be trying too hard to one-up Half Life for it's own good. Most definitely "not Quake" IMO.
Anyway, on to the details.
It's quite obvious that Nehahra assumes that it's going to be running in an engine that doesn't support fullbrights, so - rather than try to hack around it - I'm just disabling fullbright loading if Nehahra is detected. This will get rid of all the shining pixels that appear throughout it's maps.
Nehahra uses Quake protocol 15, but has made changes to it without bumping the version number. I think this is quite an evil thing to do, but we're stuck with it now. So far I've supported Nehahra alpha, but I'm also going to support fullbright too. These protocol 15 changes will only take effect if Nehahra is running, of course.
After playing around a little I actually got Nehahra fog working (by emulating the old cvars as commands and doing some tricksy stuff with them). It's not feature-complete yet, but it's getting there. DirectQ's sky fog is based on FitzQuake's which lightly fogs the sky, but for Nehahra things need to be done differently. The old skybox drawing method assumes that sky is drawn at a more-or-less infinite distance, so for Nehahra it needs to be fully fogged out.
That's about it for now; if any more come up I'll add them to this post.
________________________
Update: oh yes, this mod sucks when it comes to nasty hacks. In a world where fog and skyboxes are loaded from worldspawn, Nehahra has to go and be a slave to the Great Gods Of QC yet again, and instead spawns them from an info_start entity. All well and nice for it, but it does mean that they are not preserved when saving/loading a game. WTF is going on?
I'll need to examine the Nehahra Engine source code, but therein lies another problem - the author (Bengt Jardrup) has this rather bad habit of not including the full source code with his releases. Compiling his stuff and running it in a debugger is never a straightforward process.
Having this mod coexist with more modern methods of doing stuff is certainly a lot of trouble; even more recent versions of DarkPlaces don't bother with it.
Oh well, onwards and upwards.
________________________
Update 2: found it. Another QC hack. Sigh...
Tuesday, February 22, 2011
DirectQ Update - 22nd February 2011 - Part 2 - Nehahra
Posted by
mhquake
at
10:16 PM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment