Sunday, August 30, 2009

Nehahra Support

I've just added fairly rudimentary Nehahra support to DirectQ. Right now it doesn't actually do a lot of the extra stuff in Nehahra, but it does blindly parse them and therefore can run without crashing.

It turned out that most of what I needed was already present in the engine in some shape or form, and only a few extra server messages were required (along with SPR32 support, which was fairly trivial to add).

I'm not going to invest too much effort into completing this properly for 1.7, but will work some more on it for 1.8 - the important thing for now is that it runs.


Edit: done some more work, and I'm starting to realise that Nehahra could be a collection of vile hacks to rival even Hipnotic! A great gameplay experience, perhaps, but just look at what crawls out from under the rocks when you turn them over.
Edit 2: Remove "could be" from that last comment and replace with "is definitely". I don't know why modders do this, but stomping all over user cvars and then not restoring them properly is either clumsy or evil - take your pick. I'm taking notes for my upcoming "things I wish modders and mappers wouldn't do" post, and Nehahra on it's own is providing me with enough ammo for the entire post.

In this case I'm going to vote for "evil"; there are enough stuffcmd calls in there which just blindly stomp all over cvars without so much as a by your leave. I haven't even been able to determine how they're disabling the crosshair; it's not coming from one of the standard QC interfaces for sure, so I guess they're bypassing the interfaces here and actually sending svc_ messages directly from QC. Anyway, I have client-side code to detect this and stop it from happening now.

Repeat after me, nice and slow: The crosshair cvar belongs to the PLAYER, not to your poxy mod.

OK, you may have reason to disable it for cutscenes, but when you're done, for crying out loud PUT IT BACK THE WAY YOU FOUND IT.

Sheesh, did your mother never teach you anything?

0 comments: