News | Forum | People | FAQ | Links | Search | Register | Log in
Mark V - Release 1.00

* Nehahra support -- better and deeper link
* Mirror support, "mirror_" textures. video
* Quaddicted install via console (i.e. "install travail")
* Full external texture support DP naming convention
* Enhanced dev tools texturepointer video inspector video
* IPv6 support, enhanced server capabilities
* Enhance co-operative play (excels at this!)
* Software renderer version (WinQuake)
* "Find" information command (ex. type "find sky")

Thanks to the beta testers! NightFright, fifth, spy, gunter, pulsar, johnny law, dwere, qmaster, mfx, icaro, kinn, adib, onetruepurple, railmccoy

And thanks to the other developers who actively provided advice or assistance: Spike (!), mh, ericw, metlslime and the sw guys: mankrip and qbism.

/Mac version is not current yet ...; Linux will happen sometime in 2017
First | Previous | Next | Last
I personally consider D3D11 to be entry level these days, it's a ~10-year old API. GL versions do lag for some vendors, however. GL3.2 is probably a reasonable minimum.

I find it better to do lightstyle animations on the GPU, and dynamics with extra additive blending passes. I've coded it up in GL1.5 assembly shaders, GL 2..4 GLSL, D3D9 HLSL and D3D11 HLSL for Q1, Q2 and H2 so I'm quite satisfied that the approach is solid. 
The difference in lit rendering between MarkV and QuakeSpasm, DirectQ could be the LightNormalize function which does:

lit = lit * (greyscale / max(lit.r, lit.g, lit.b));

so max(lit.r, lit.g, lit.b) needs to be equal to the greyscale value, or the final rendering will be different from engines that don't do this. If the lit files from don't have that property, this will be causing the difference you're seeing. 
Mousewheel Issue 
hi there,

i've just installed Mark_V using the Steam installer and it works great!

i've had one issue where for some reason when i bind mwheelup or down to anything besides next/previous weapon (either through the console or in the options menu) it just doesn't work.

I get no errors, but when I bind it to jump, for example, nothing happens

anyone have any idea what the cause may be? 
Flagged the spam but one contained a very nice compliment which i will past here:

I feel like all your ideas are incredible! 
I Feel Like The Return Of Baker Is Much Needed. 
Music Volume 
Is there a way to increase the music volume? The cd music volume doesn't change the external mp3 file music volume.

PS: Love the engine, its the only one I have been able to find that lets me play the game like its meant to look at 320x240 with external music. 
Unfinished Business 
Since the resurrection bug returned to Ne_Ruins for some reason, I guess I will test all the addons again which I had reported in the past to see what happened to them. I know that the "view warping" bug at the end of Malice had never been fully addressed, too. 
Malice And Ne_Ruins 
Ok, my first check with latest DX9 build revealed that Malice and Altar of Storms are still not running flawlessly.

1) In "Showdown!" (d15), the FOV warping issue during the boss fight is still there and occurs when saving and loading after being pulled towards the boss at least once. It can be kinda fixed if you get hit by the same attack again afterwards, but that isn't a satisfying solution, ofc.
2) During the boss fight I had a random crash to console with the message "Host_Error: SOLID_BSP with a non bsp model", but couldn't reproduce it.
3) Statusbar remains active during cutscenes (not so severe)

1) Requires -heapsize 512000 on startup (crash when leaving start map otherwise). This shouldn't be necessary in a modern port IMHO.
2) Winged succubus resurrection crash (incorrect handling of entities with alpha=0) is definitely back, as annoying as ever.
3) "impulse12" crash when switching between Super Shotgun and Quad Super Shotgun with MWHEELDOWN is also definitely back. I see that the game uses two variables for this, sv_gameplayfix_no_impulse12_override (set to "1") and sv_gameplayfix_no_impulse12_exceptions ("ne_ruins"). If you change the first one to 0, the crash does not happen any more, but this is just a workaround and needs to be addressed.

Xmas Jam 2018
"Chapel Perilous" (xmasjam2018_sham) crashes when exiting the level since it expects (capital S) instead of This is something that can be fixed by changing the map, but maybe Mark V should be more tolerant with such things, unless there's a good reason for it being the way it is.

Later on, I will take a look at the problems I had reported for Nehahra, Rapture, RRP, Shrak and Soul of Evil again to see if any other fixed problem returned. 
WinQuake Version Crashes On Launch 
Whenever I launch the WinQuake version, it immediately crashes and the qconsole log doesn't tell me anything important. I've even removed the config files and the engine still crashes. Any idea what's going on? 
Tests Completed 
Good news: No other addon that I had previously tested for Mark V shows any of the bugs that were addressed. Thank God.

Bad news: Malice and Ne_Ruins. See above. 
Hardcoded ALT-M Mute 
Whyyyyyyyyyyyyy :C

I'd be delighted if there weren't hardcoded binds. This is currently messing up my gaming overlay/recording software binds that I have gotten very used to. 
No Music On Mark V Linux? 
I tried to load mp3 music on Fitzquake Mark V on Linux but it doesn't seem to load at all. I put them on the music folder and named the tracks appropriately. I also tried to use the external_music command on console but such a command doesn't exist at all. How can I have music on Fitzquake on Linux? Quakespasm has it, why doesn't Fitzquake Mark V? 
Yo Baker 
Should I switch FTEQW or are you coming back to Mark V eventually? 
When Baker Says He Is On A Break 
Then he is on a break. It's not his first time off. There's still unfinished business before 2.0 and I am sure he'll get back to it. 
I'm aware of his time off. I was under the impression he worked on Mark V during the winter months. Fingers crossed. 
i've tried the hd textures, they work fine but skies remains the same. how do i enable hd skies? 
Great Cornholio 
you mean skyboxes? 
no standard skies, in the hd pack linked in this thread all textures work except for skies. 
AFAIK MarkV doesn't support replacement of the standard skies. 
How is that true? Fourth line down in the original post states:

"* Full external texture support, DP naming convention"! 
ummm so yeah... I couldn't get it to load my custom sky1.tga(jpg) replacement. Odd that is. 
Skies in Quake are not regular textures. 
Big Maps Related Performance 
I'm having issues with fps on big maps like 1st and 3rd maps of "Unforgiven". FPS drops to 20 and there are delays in mouse work like i press "fire" button - it fires 2 seconds after and keeps firing when i unpressed the button. Tried to run these maps with default config and there is no change in the situation. Meantime DirectQ 1.9.2 runs these maps flawlesly (97-100 fps). Also checked different graphic setup. No result.

Windows XP Pro 32bit
Intel Core 2 Duo 1.86 GHZ
Nvidia GeForce 250 GTS 1024MB
Big Maps Related Performance #2 
Utilized Mark V v1.99 DirectX.

Even bigger problems with fps occur at Rubicon Rumbke Pack. Same mouse delays , fps down to 20-30 in some areas. 
External HD Skies 
External scrolling sky textures are usually comprised of two images, not one:

sky1_trans.tga (transparent overlay)
sky1_solid.tga (opaque underlay)

There are another two possible suffixes in some engines, but I don't remember the name. 
MarkV Direct3D is not the same as DirectQ, and you shouldn't expect the same performance.

To be specific: the reason DirectQ gets good performance is not Direct3D. It's batching, vertex buffers, multitexturing, shaders, etc, and this is all stuff that can be done in OpenGL too, if the engine author is willing to do so.

In the case of MarkV, Baker is not willing to do this. So in order to run in Direct3D, it needs to store out vertex data per frame, then try to mangle unoptimized OpenGL calls into something that works in Direct3D. You shouldn't be surprised if it doesn't always work well.

If you want an engine that has good performance in big maps by using the right kind of code, MarkV is not that engine. Use QuakeSpasm instead. 
Speaking of which, any chance QuakeSpasm will ever support Nehahra? 
Quakespasm is not in active development ATM. So there's that little issue. 
True, but FWIW folks shouldn't read that as "dead project". Updates were still landing in the codebase through the end of 2018. So nothing going at the moment, but Quakespasm development seems to come in spurts.

Dunno if those developers have ever commented on the likelihood of Nehahra support though. 
If You Keep Accusing 
Poor Baker of inefficient coding, he might never return, man. :P We need him! 
Someone said somewhere that Nehahra is too much of an oddball to support properly. Too bad for me, haven't played it yet and Mark V doesn't run well on my system. 
Water Brush Bug 
In mark_v.exe (not _winquake), if a water brush is not at least overlapped by at least one unit by a non-water brush on one face, it will not render as transparent unless you activate r_novis 1. With developer 1, it claims that the level is not vised. In mark_v_winquake.exe, it does see the vis information and properly renders the water. 
Nehahra With Mark V 
I've played through Nehahra recently with Mark V and had no personal issues at all, just specify -nehahra in the command line. The fog and pretty much all graphical features work, the cutscenes do not mess up the HUD afterwards unlike the original executable, the custom music will not play however, maybe it doesn't support xm files but the cool outro music on epilogue texts between chapters does play. 
There's some funky things Nehahra does that technically work, but that it really shouldn't do. In other words, the kind of thing that normally comes back to bite you in the ass at some later date.

Two of the big ones will be that it uses a modified protocol but doesn't change the protocol version number, and that it relies on sending stuffcmd every frame for certain things rather than the built-in messaging or reading options from worldspawn. 
If you use winquake with vid_stretch 1 or 2, water in dopa has a bunch of lines through it.

To correct this you can set r_wateralpha to 1.

Figured I'd mention this in case it hasn't already been brought up. 
Water Vis 
is normal behaviour on those maps which support it (the original game doesn't as standard) 
Ahh I see. Shouldn't winquake default this cvar to 1 automatically though since it doesn't support transparency? 
The lines you are seeing are the transparency. It's exactly the same transparency method used in old games such as Sonic 1 for the Sega Genesis.

However, I agree that it doesn't look good in MarkV. A stippled pattern would look better, as implemented in old versions of Makaqu. 
Shouldn't winquake default this cvar to 1 automatically though since it doesn't support transparency?
Stock WinQuake doesn't support translucency, but several engine mods have added it, of which MarkV is one. 
Thread Closed Due To Spam. 
Thread Re-opened So People Can Read The Spam 
This place... I was just curious as to why a particular thread was closed. 
Didn't mean to be arsey, but it has been annoyingly persistent on this thread recently. 
Bleep Bloop 
Wonder what the the target words are that the bot is using to to focus on this thread? 
I was wondering if the bots keep chasing their most recently spammed threads?? Tho, obviously the browser / mobile thread was targetted by words. 
Quake Mark V Source Port Problems 
Hi, I downloaded Mark V and it's really good in general. However unfortunately I seem to have some issues with the mouse buttons. Occasionally it doesn't detect when I've fired a bullet (i.e. clicked mouse button 1), occasionally it doesn't detect a jump (mouse button 2) and sometimes it just keeps shooting by itself even when I've stopped pressing the mouse button.

I know it's not my mouse because it doesn't happen in any other games, including when I use Quakespasm.

I'm running the .exe that is titled 'Mark V Version 1.99 Revision 5'. I downloaded it from here ('Download GOG/Steam installer for Windows' option).

If there are any solutions to this I'd be grateful, thanks! 
Continuing From #2618 
Hello, me again. So after doing some experimenting with an older Mark V build (1036), we've found that DirectInput is the culprit for causing the mouse registry issues. Build 1036 did not use DirectInput and there are no longer any mouse-click registry issues with it for me. I would stay on this older build but unfortunately it comes with some pretty bad framerate drops here and there, unlike the newest one.

If Mark V 2.0 is ever made, can there be an option to disable DirectInput and go with whatever control configuration was being used in build 1036? I would love for that to happen, as I love the performance of the latest Mark V, it's just the mouse registry stuff ruins it unfortunately.

Thanks for your work baker, hope you can help. 
Sadly, Baker disappeared some months ago. 
Continuing From #2619 
@mankrip yes, I see that from this thread lol. Oh well.

Anyway, good news. It turns out that if I run the latest version's Directx9 exe I no longer have issues with mouse registry. Runs great. This is my new favourite Quake port, even if it currently feels a bit buggier than Quakespasm. I had one crash with this. I exited E1M5 and it crashed to desktop. Hopefully that was just a one off. I really love this port and just wanna express my appreciation. The feel of the mouse is just godlike.

So yeah, cheers, please ignore post #2619 as DirectInput clearly isn't the cause of mouse reg issues, as somehow the directx9 version of the latest released does not have those issues for me. 
Winquake Hipnotic Music 
scourge of armagon music won't play unless you change the the volume slider. dissolution and vanilla work fine. 
ask otr or eddie to fix it 
Host_Error: AllocBlock: Full 
Had this issue while trying to play Artistic's map for MapJamX, while using D3D9.

Any idea on how to fix this? 
Antialiasing And Anisotropic Filtering 
I love the look of GL_NEAREST but there's horrible texture aliasing, which is improved by going to one of the mipmap_linear modes but then you lose the charming pixelated look.

Also, is it possible to add support for Antialiasing? I've tried forcing it in the Nvidia control panel seeing as this is a DX9 game, but it didn't work.
SMAA injector works, but it's only FXAA and makes the game blurry. 
Unfortunate Spam Bumps 
getting me excited for a new build but it's just bots on google bumping up the thread :( 
I Know 
it's driving me nuts... some kind soul go nudge Baker :( 
Great Port But Unfortunately It Can Crash On Me Sometimes 
The crash can happen randomly when exiting levels. Curiously it happens often when exiting E1M5 Gloom Keep for some reason. Just giving feedback, hope it can be fixed. 
Testure Filtering 
GL_NEAREST_MIPMAP_LINEAR should give the best result. 
GL_NEAREST_MIPMAP_LINEAR disables anisotropic filtering. The lack of anisotropic filtering is the main reason for the texture aliasing, since Quake's textures are low res enough to not get grainy when viewed from a perpendicular angle. 
Is that exclusive to just nearest+linear, or all nearest* modes? Asking because I'm otetty sure that with nearest+nearest, I can see a bug difference between anisotropy 1 and 16 on the far away surfaces (in Fitz/QS). 
I'm Otetty? 
Meant to say "I'm pretty" (duh). 
... I´m otetty glad you did the clarification :D 
That may be driver-dependent, but I've never seen NEAREST_MIPMAP_LINEAR getting anisotropic filtered.

The _MIPMAP_LINEAR thing, afaik, basically tells the GPU to use linear filtering when generating the mipmaps. So, it influences the quality of the data that's rendered, but not the rendering itself.

If you're noticing a difference when _MIPMAP_LINEAR is turned on, your GPU may be generating anisotropic mipmaps (ripmaps) for the textures. But I'm still skeptical about it using anisotropic filtering per se.

Anisotropic filtering is like a superset of trilinear filtering. While trilinear filtering filters across square mipmap levels (both coordinates at once), anisotropic filtering filters across each texel coordinate individually.

Now, the huge catch is, pretty much all GPUs requires bilinear filtering to be enabled if you want to use trilinear filtering (and anisotropic filtering)... But mathematically, bilinear filtering isn't required. Bilinear filtering only filters across the UV plane, regardless of mipmap level. You can still blend mipmap levels (including anisotropic ones) without blending UV coordinates.

Well, this video doesn't show it, but Retroquad can do trilinear filtering of mipmap levels without doing bilinear filtering of texel coordinates.

I also want to implement anisotropic mipmapping someday, and it won't require bilinear filtering either, but anisotropic filtering may require it. Anisotropic mipmaps can be trilinearly interpolated across mipmap levels with the same width/height aspect, but afaik, to do anisotropic interpolation on them, the blending across mipmap levels must be done in a subtexel scale. Or maybe not. I haven't got to that part yet. 
QS supports nearest+anisotropy
for some engines (Nehahra's GLQ, probably GLQ in general) anisotropy can also be forced via drivers, but not for MarkV

a good spot to see the effects of AF is the floor right at the start of WarpSpasm

I think with AF on, NEAREST and NEAREST_MIPMAP_LINEAR behave identically in QS, but I don't know what happens behind the scenes 
QS supports nearest+anisotropy

Not in my Intel HD Graphics 3000. So, that's really a driver/GPU issue.

With the amoung of "pixelated 3D" games being released nowadays, support for it may become more common. 
the anisotropy extension defines the behaviour only for when using trilinear filtering.
If you try using it anyway then you get undefined results - including glitches. Ultimately it depends on the drivers/hardware as to whether it works or not. 
Texture Filter Modes 
Texture filter modes are kinda funky in OpenGL; there's actually 3 different filters that can be applied:

- Magnification: when a texture is zoomed in.
- Minification: when a texture is zoomed out.
- Mip filter: how the driver selects between different mip levels.

GL_{NEAREST|LINEAR} defines both the magnification and minification filters. If a texture is minified more than 50% it will get aliasing, even with GL_LINEAR.

GL_NEAREST and GL_LINEAR don't use mipmaps. The texture may have miplevels specified for it, but using one of these filters will disable mipmapping and always selects from miplevel 0.

Now, and contrary to what some people believe, software Quake actually did have mipmaps. If you want to replicate the software Quake look, you better use mipmaps.

GL_{NEAREST|LINEAR}_MIPMAP_{NEAREST|LINEAR} filters do use mipmaps, and the filtering mode after the "_MIPMAP_" part specifies how miplevel selection is done. Miplevel selection is not per-vertex in GL, it's per-pixel (per-fragment in more correct GL terminology).

GL_{NEAREST|LINEAR}_MIPMAP_NEAREST just selects the nearest miplevel. This creates a visual artefact where you can quite clearly see the miplevel transition - it's one of those things that might not be immediately obvious but once you do notice it you can't stop seeing it.

GL_{NEAREST|LINEAR}_MIPMAP_LINEAR interpolates between two miplevels and does a good job of hiding miplevel transitions.

Another artefact occurs with surfaces like water and lava: software Quake didn't mipmap those, but if you do, you might notice that the texture shifts between different miplevels as it warps, even though the viewpoint might not otherwise change. The fix to that is to use a shader with the textureGrad instruction, using ddx and ddy from the original unwarped texture coords, and that gives a high quality rock-solid result.

Anisotropic filtering is performed by the hardware, not by software. If your graphics hardware doesn't support anisotropic filtering on GL_NEAREST modes, then it doesn't matter a sweet flying blue damn whether or not the engine provides it as an option: you can't do it.

An alternative is to upscale the original source textures x2 or x4, then run a GL_LINEAR filter; that preserves most of the crunchy pixel look but allows anisotropic filtering. The original textures are so low-res that it won't cause you trouble at all on any reasonably modern hardware. Of course, if you try to do this with a high-res replacement pack your GPU and/or driver might have a heart attack on you.

The other thing to note is that the original low-res textures have a certain pixel-art style that is completely ruined by linear filtering (mag or min, not mip). Look at the details on, say, one of the health pickups and compare the filter modes. The upscaling trick also works well to preserve those details. 
67 posts not shown on this page because they were spam
First | Previous | Next | Last
Post A Reply:
Website copyright © 2002-2019 John Fitzgibbons. All posts are copyright their respective authors.