Page 1 of 4

Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 1:55 am
by Baker
What are a list of engine compatibility benchmark mods?

Mods that reveal correct behavior for compatibility?
* I know I'd curious about a list of Quakeworld mods that function as benchmarks.
* Mods that use QuakeC extensions that would be compatible with an engine supporting QuakeC extensions.

My short list goes like this:

1. X-Men because of the palette. If running X-Men, you can load DM3 and go to the pent window and there are 2 lights that should be pink instead of yellow if the palette is loaded correctly.
2. Something Wicked for BSP2 support.
3. Warpspasm. demo1.dem is protocol 10002 and useful for testing an implementation of protocol 10002, if only to play that demo. Probably can be used for testing fog support.
4. Marcher Fortress. Probably useful for correct orientation of skyboxes, but also in the QuakeC apparently writes sounds via QuakeC writebyte and such.
5. Back2Forwards. Useful for verifying .alpha support.
6. Half-Life BSP support I use this Half-Life example map.

I don't have a mod for verifying WinQuake animated skingroups support. Is there one? (And would it even be worthwhile for a GLQuake to add?)

Are there other ones that provide good "make or break" test scenarios?

Re: Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 2:30 am
by Spike
regarding quakeworld mods, I'm not sure what possible compatibility you'd be aiming for. quakeworld is a whole incompatible alternative to netquake, at least as far as mods are concerned.
try playing back overkill.qwd if you want to test vanilla qwd playback support. this demo has lots of packetloss which is what makes it fun to test against.

you might want to include In The Shadows. Its particle/sprite effects will test overflows, its books will test centerprint lengths. etc. both should be obviousish at the start.

quakerally ensures you don't mess up player physics too much.

headhunters bugs out if you trigger think functions in weird orders.

I'm not sure what else is worth mentioning, so I won't.

Re: Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 4:42 am
by r00k
There is a blur-line where mod compality come to, now-a-days for sure. Old mods, poorly written lacked extensions, look butt ugly, have 1% re-playability, or else they would have been a TC, by now.

If you are looking for a ruler that makes or breaks an engine that can run qw and nq mods, just test against RuneQuake?

Re: Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 5:56 am
by leileilol
Nehahra is also an acid test for supporting incompetently implemented vile hacks that no one elses uses BUT IT'S A LONG FILM STORY so you have to


Quake Rally can also be a role of a regression test since it does some dark magic with movetypes and setorigin to cause car physics to happen.


In XMEN, the crisped skeletons after flamethrower kills are animated with skingroups

Re: Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 7:53 am
by Spirit
https://www.quaddicted.com/files/engine ... spirit.zip for a variety of things.


It would be nice to document exactly how something should look/behave for each and every case that is mentioned here.

Re: Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 5:38 pm
by Baker
Ah, Nehahra. Forgot about that.

@R00k, it is just easier have good test cases available when working on engine code.

(The opposite is months later, someone notices something and it takes far longer to track down than if something was noticed initially.

The issue with Zendar and the cache is a good example.)

Re: Compatibility Benchmark Mods

Posted: Fri Aug 01, 2014 9:47 pm
by Baker
What uses TE_EXPLOSION2 ??

This is defined as a colormapped explosion.

Nevermind: Rogue's dragon

Re: Compatibility Benchmark Mods

Posted: Mon Aug 04, 2014 11:23 am
by Baker
I've dug through Nehahra and it sure rocks at screwing up your cvars (viewsize, crosshair, etc.)

And after studying and neutralizing those, I thought "let's look at Zerstorer".

Nehahra is, of course, better at wrecking view cvars than Zerstorer. However, Zerstorer is like an 8 headed Hydra of messing up view cvars and has more tools and methods for doing so.

Nehahra likes to screw up your cvars via QuakeC and demos. Zerstorer doesn't use demos, but raises the bar in multiple angles of attack including cheating.

Although Nehahra also likes to play with cshifts too.

Re: Compatibility Benchmark Mods

Posted: Mon Aug 04, 2014 5:05 pm
by qbism
Marcher support drove me nuts until I figured out it was writebyting sound into protocol expecting a short, near the end of the map. At least with Nehahra, the hacks are expected.

Re: Compatibility Benchmark Mods

Posted: Mon Aug 04, 2014 8:03 pm
by revelator
Marcher also had me going up the walls for a time :S but i got it fixed in my realm engine way back by using bengt jardrups VM.
Unfortunatly changing the VM to the one used by nehquakebjp caused a lot of other mods to go all screewy ergh.

Re: Compatibility Benchmark Mods

Posted: Mon Aug 04, 2014 10:58 pm
by Baker
Note: Nehahra uses fmod, but the first map that actually uses it to play music as far as I can tell is NEH1M9.

Re: Compatibility Benchmark Mods

Posted: Tue Aug 05, 2014 1:00 am
by leileilol
Using Fmod library is irrelevant, it's the nasty hack that triggers it that matters. Nehahra uses mod music and that functionality can be filled by many of the Free mod playback libraries out there - DUMB, Mikmod (EW!), XMP, Modplug...

Re: Compatibility Benchmark Mods

Posted: Tue Aug 05, 2014 1:09 am
by Baker
leileilol wrote:Using Fmod library is irrelevant, it's the nasty hack that triggers it that matters. Nehahra uses mod music and that functionality can be filled by many of the Free mod playback libraries out there - DUMB, Mikmod (EW!), XMP, Modplug...
Nehahra's music has extension .xm, can any of the above play these .xm music files?

I'd like to remove the fmod dependency I can't find any reliable documentation on what type of file .xm is :(

Re: Compatibility Benchmark Mods

Posted: Tue Aug 05, 2014 4:28 am
by revelator
Mine uses the midas library to play xm files so yeah :) midas is also open source now.

Re: Compatibility Benchmark Mods

Posted: Tue Aug 05, 2014 5:39 am
by Baker
Nehahra indicates skybox and fog in a info_start classname.

The QuakeC will also send an svc_skybox, but only honoring that is undesirable because on a map like neh2m4, it will render 5 frames with no skybox and then receive the svc and switch -- and it looks undesirable (this is what JoeQuake GL does). DPNehahra, although I haven't checked the source code, I believe must parse this info_start.

Probably back then there wasn't an agreed upon single way to indicate sky and fog in maps since this was back in 2000 or so.(*)
{
"classname" "info_start"
"fog_disable" "1"
"fog_start" "50"
"fog_end" "1500"
"fog_density" "0.6"
"fog_red" "0.8"
"fog_green" "0.8"
"fog_blue" "1.0"
"gravity" "800"
"sky" "cliffedge"
"origin" "-2400 -1792 96"
}
(*) today you'd find this in the worldspawn with key names of "sky" and a single "fog" field, in case someone who doesn't know happens to read this.

Extra note: neh2m4 has an errant invalid sky surface near some healthboxes near the start of the map to the right. DPNehahra reads it ok, it doesn't look like other engines handle it and you get a HOM effect or a gray textureless surface. I'm not curious enough about this right now to find out why, I'm sure it whatever QBSP was used to compile the map.