News | Forum | People | FAQ | Links | Search | Register | Log in
Fitzquake Mark V
I wasn't planning on doing this mini-project, it started as an effort to address some Fitzquake issues, fix them the right way up to Fitzquake standards (i.e. do it right, once and properly versus continual releases) and donate it back.

FitzQuake Mark V Download:

http://quake-1.com/docs/utils/fitzquake_mark_v.zip

Short version: Eliminated most issues in FitzQuake thread, most issues I can even remember hearing of ever and marked every single one clearly with a very minimal implementation.

It may be the case that only metlslime and Quakespasm and engine coders may find this engine upgrade of interest.

Features: 5 button mouse support, single pass video mode, external mdl textures, alpha textures (like RMQ), record demo at any time, rotation support, video capture (bind "capturevideo toggle"), console to clipboard, screenshot to clipboard, entities to clipboard, tool_texturepointer, tool_inspector (change weapons to see different info), clock fix, contrast support, fov does not affect gun, gun displays onscreen, Quakespasm wrong content protection, external ent support, session-to-session history and .. (see readme).
First | Previous | Next | Last
 
Ah yeh, looks like the ne_ruins glitch was identified just before I posted.

With WinQuake, it's not like it's slow in terms of fps, as i said 1080p holds steady at 72 fps just fine, it just feels choppy. But yeh, not like I really expect wonders from a near 20 year old software renderer, it's frankly just nice to have a modern working one at all. =P

Regarding gamma/contrast, I was really just drawing attention to the somewhat narrow range of contrast values available, rather than anything gamma related. For example, DirectQuake allows you to go from a value of 0 (exceptionally low contrast) to a value of (I think) 7 (exceptionally high contrast), whereas Mark V seems to go from 1 (low-medium contrast) to 2 (medium-high contrast).

NightFright - thanks for the link. Installed it and had a look, and I do quite like some of the fixes in it, though some weapons seem to show up even more blue pixels than the id originals. =) 
Gamma 
DirectQ applied gamma by running a pixel shader over the entire screen as a post-process effect, so it wasn't bound by the range of standard hardware gamma, but of course it wasn't a free effect either. 
 
Tonight, I will take a closer look at some more recent addons and see how Mk V is doing there.

@THERAILMCCOY:
I have updated the OriOn model pack once more. Now all weapon skins have their blue background colors replaced by black. Maybe that will fix the issue for you once and for all. 
 
@saindd - there isn't a Linux port of Mark V. Quakeforge and ezQuake may have software renderers available for Linux. 
 
Beta 14 - Windows OpenGL | WinQuake

ne_ruins fix (entities with alpha = 0). Other minor things (fixed a demo pause oddity, clear undo buffer when exiting console, zzzzz ...) and changed compiler options slightly to improve speed slightly. 
 
runes weapon stripping stuff

Ironically, giving yourself a rune doesn't do anything except cause the item to show in inventory.

In QuakeC, this isn't how runes work. So whether or not it shows in the status bar is all psychological. If you use that give yourself runes and changelevel to the start map, nothing special happens because the game logic keeps track of things differently.

So I'll give removing the "give yourself a rune" command.

It does nothing of substance :( 
Give Runes 
Actually if you impulse 11 4 times then changelevel start the entrance to Shub Niggurath's pit will be open, and the episode gates closed. A single rune does nothing. 
 
a single rune should block the entrance to the specific episode where that rune lives. 
 
That is somewhat inconvenient in this sense.

You can't actually type "impulse 11" in the console 4 times in single player.

You have to type "impulse 11", close the console so that game isn't paused and the server will take a command.

Then open the console and repeat 3 more times.

Even typing "wait" between won't help because frames still happen when the console is open so waiting for the next frame doesn't mean anything.

Who wants to open and shut the console 4 times.

Then after all of that, do a changelevel.

However, the circumstances are rare enough I'll just add a little extra text in typing the give command without parameters. Or something. 
 
Is that bug where runes disappear fixed in fmv? Otherwise people do need that workaround. 
Runes Bug 
Personally I find it more useful to changelevel to the last map in the episode for which a rune is missing, then do a quick god/notarget/noclip ride to the rune area, then changelevel back to start.

It seems like more effort but it works if you're playing the episodes out of order. 
Ne_ruins Fixed! 
I confirm that the succubus resurrection crash in ne_ruins is gone for good. I went to the problematic scene in the level again and had the succubus resurrect mobs for more than one minute without any issues. Before that, Mk V would crash after 1-3 resurrects at the very latest. Excellent job, Baker! (I'll still play the whole addon from beginning to the end to make sure it's 100% completable.)

I have already tested "Honey" last night and it's flawless. Never had any issues with it though, so didn't expect it to be any different now.

Next on my list are packs like RRP, The Horde of Zendar and some high-end maps for Quoth (e.g. Conference of the Shamblers) or Drake. Definitely on my list is a test for Shrak/Malice compatibility still. Shrak especially since its hub system caused trouble with some ports for me in the past, plus some random crashes when using rocket launcher (or facing a certain emeny, not sure what was the real problem). Latest update possibly fixed this, so we'll see. ^^ 
@mh 
For runes, after some poking around I can just directly add them because the progs.dat serverflags is available in the engine

// sigil is 1, 2, 4 8 (1 = Rune 1, 2 = Rune 2, ..)
SV_ClientPrintf ("may require 'changelevel start' or equivalent for intended effect.n");
pr_global_struct->serverflags = (int)pr_global_struct->serverflags ^ sigil;

So the give rune1, give rune2, .. instead of being removed will actually give the rune (as opposed to simply make it show in the inventory). 
@Baker 
I haven't tested this myself yet, nor even given it much thought, but I'm going to have a go at making a PR_ExecuteProgram call to handle this and see how I get on. 
Ne_ruins Again... 
Found a new interesting reproducable bug in ne_ruins:

If you have the new double-barrelled shotgun equipped (not the regular one) and you use "previous weapon" (impulse 12), game freezes and eventually crashes to desktop. I have impulse 12 bound to MWHEELDOWN. "Next weapon" (impulse 10) doesn't do that (bound to MWHEELUP for me). 
 
Do: sv_fix_no_impulse12 0

That's the feature from Requiem that tries to add "impulse 12" to mods that are missing it.

Apparently, it detects ne_ruins doesn't have "impulse 12" and tries to improvise and causes a crash. 
Impulse 12 
While we are at it: There are addons which use impulse 12 already for other stuff. I am currently testing Malice, and there it is used for weapon reload. That means you cannot use previous weapon function in such mods. 
 
I think we'll find Requiem's "impulse 12" helper works well with nearly all Func_Msgboard style single player releases and the kind of stuff available at Quaddicted.

And may be often be an interference with heavier stuff like Malice or like most of the stuff listed here http://www.quaketerminus.com/addon.shtml or QuakeC modder progs and such. 
Shrak And Malice 
Continuing my testing with latest Mk V build, I have checked out some more exotic addons: Shrak and Malice.

Shrak:
It seems some fixes applied during the last year (possibly the latest for ne_ruins) have solved my issue with crashes when using rocket launcher or killing certain enemies. Hub also works fine, you can complete the whole addon without any showstopper.
The only thing that's left is a skin issue with some gibs. I think several models are affected, but one that's always screwed is the head of the brown shotgun mob, called "Zed". In Shrak's pak0.pak, the mdl is called h_zed.mdl or something, I believe. My guess is either the model or the skin has something Mk V doesn't like. It may be worth investigating as I have also encountered this in some other addons, e.g. Soul of Evil (which I will also check out later still). Here is a Shrak autodemo (437 KB) if you want to see the problem in action.

Malice:
I still need to finish the last two levels, but I think I can already name the most imminent issue(s):
- Small crates cannot be pushed
- Statusbar is visible during cutscenes
- Crash in "Stayin' Alive" when killing Vasquez sisters more than once

The first two issues may be tolerable (even though not being able to push those small brown crates can prevent you from reaching certain areas in some levels), but the third one kinda sucks.
In that level, you basically encounter three chicks which respawn endlessly whenever you kill them, trying to prevent you from reaching the exit. The thing seems to be: You can kill each of them exactly once. Any additional kill will make Mk V crash to desktop inevitably. This bug is not totally critical as you don't necessarily have to kill the sisters to complete the level. Still may be worth investigating.

Malice autodemo and savegames (238 KB)
(Quicksave should get you directly to the encounter)

In case you don't have Shrak or Malice, you can get them from Quaddicted archives. (For Shrak, use Shrak2.7z.) 
 
Beta 15 - Windows OpenGL | WinQuake

* Extra room for finale text exceeding FitzQuake menu canvas (320x200) so Nehahra and other longer finale text will display.
* Timerefresh works.
* Dzip demos play with no external dependencies and won't leave potential 'extras' in your Quake folder like JoeQuake and variants (like readmes that were in the .dz). Making dzip be internal to the engine also made in the inside of the engine supporting .dz demos way cleaner.

.dz demos: Speed Demos Archive | Example .dz

* A few other minor touchups: autocompletion got a bit confused by quotes, ability to load a DarkPlaces save game file, don't draw the clock if viewsize is 120, draw intermission plaque + center print + finale text even when console is up or game is paused.

* Give rune1 to rune4 is fully and correctly functional. Tells user they may need to 'changelevel start' or equivalent to get desired effect. 
 
@nightfright ...

Malice - Small crates cannot be pushed
Malice - Crash in "Stayin' Alive" when killing Vasquez sisters more than once

Does this work right in, say, FitzQuake 0.85 or JoeQuake or some other traditional and very original Quake-like engine?

The Shrak skin thing with the gibs might be because of how GLQuake or even FitzQuake handles skins slightly differently than WinQuake (I think there was a discussion about that in the Quakespasm thread) but next week I'll look at these issues (the ones potentially involving QuakeC like the Malice crates --- if it doesn't work with any open source Quake engine I'm not sure it is actionable.) 
Malice On Other Ports 
FitzQuake 0.85:
- Small crates can be moved
- Vasquez crash (map d13) still happens

JoeQuake 0.15 build 3798:
- Small crates can be moved
- Vasquez crash (map d13) not occurring

In JoeQuake, moving small crates is a bit more difficult as it depends more on viewing angle etc., but it's still possible.

The Vasquez crash seems to be inherited from original FitzQuake, it seems. 
 
Hm, the malice map d13 crash (happens when you kill one of the enemies in the first group) is from an out-of-range skin number. I saw values of 50, 53, 54, and in the server in SV_WriteEntitiesToClient the skin number is actually a fraction (53.41...).

At first glance I think Fitz is just missing something like the following in the mdl rendering code, this is in Winquake:

if ((skinnum >= pmdl->numskins) || (skinnum < 0))
{
Con_DPrintf ("R_AliasSetupSkin: no such skin # %dn", skinnum);
skinnum = 0;
}
 
 
fitzquake is supposed to display a blue checker texture for missing skins, which is why it doesn't set the skin to 0. However it appears some mods rely on that behavior?

I can't explain the crash, though. 
Ah I See 
I didn't know about the checkerboard feature.
The crash was coming from these lines in r_alias.c:

tx = paliashdr->gltextures[e->skinnum][anim];
fb = paliashdr->fbtextures[e->skinnum][anim];

The size of the first index of the gltextures and fbtextures arrays is MAX_SKINS (32), so if e->skinnum is < 0 or >= 32, it'll probably crash.

This does the trick:

if ((e->skinnum >= paliashdr->numskins) || (e->skinnum < 0))
{
Con_DPrintf ("R_DrawAliasModel: no such skin # %dn", e->skinnum);
tx = NULL; // NULL will give the checkerboard texture
fb = NULL;
}
else
{
tx = paliashdr->gltextures[e->skinnum][anim];
fb = paliashdr->fbtextures[e->skinnum][anim];
}
 
First | Previous | Next | Last
This thread has been closed by a moderator.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.