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
Yes 
Model replacement textures use the DarkPlaces external texture naming convention (so replacement textures for models go in the progs folder).

You can call them _glow or _luma (_glow is what Quake 3 uses.) 
Luma And V 
After trial and error I got _luma to work. The thing is the _luma texture need to be sized to the original model skin NOT the replacement texture. So dropping in a replacement skin pack doesn't work out. 
+1 To Future To-do List 
I can't remember all the details, but it was really hard to add external texture support for .mdl for FitzQuake while sticking by the strengths of FitzQuake.

I can't remember what texture set I used to test the feature, but I wanted to keep with FitzQuake way of doing things which in this particular case involved some contortions.

FitzQuake, unlike other engines, doesn't stretch skins to accommodate OpenGL baseline compatibility and instead pads it. This made adding external texture support for .mdl difficult while still retaining the feature (which is good and avoid stretching). As far as I know, the replacement texture and the luma/glow texture being the same size should always work, but you seem to be saying it doesn't.

I'm not sure when I'll be back to doing a revision #8 of the engine, but clearly this will be checked out , rectified and documented in the readme. 
I'd Recommend 
Checking for and using GL_ARB_texture_non_power_of_two as an optional path instead of using skin padding.

Also - and this is available in GL1.1 as well so it may appeal to you more - instead of recalculating the skin texcoords based on the padded size, just scale the texture matrix instead. You can keep the original skin texcoords and have different sized skins this way. 
The Non_power_of_two 
Extension would be extremely useful in FitzQuake, ultimately. Because the padding stuff --- and that code was ingenious --- but it really increases the overhead.

Something fun about non_power_of_two --> the texture you download is the one you uploaded ;-) so in theory, one might even be able to super-optimize the Fitz texture manager to not even need to store raw pixels source location (* I am aware of the exceptions here and there).

re: Texture matrix scaling, may I trouble you for a really simple example (which I would normally do at I3D except it is rather broken)?

I've never done anything with the texture matrix, but a simple example and I'm sure I could take it from there with ease ... 
Texture Matrix Scaling 
Something like this should work:

void GL_PadAliasSkin (aliashdr_t *hdr, gltexture_t *tex)
{
glMatrixMode (GL_TEXTURE);
glLoadIdentity ();
glScalef ((float) hdr->skinwidth / (float) tex->width, (float) hdr->skinheight / (float) tex->height, 1.0f);
glMatrixMode (GL_MODELVIEW);
}


void GL_UnpadAliasSkin (void)
{
glMatrixMode (GL_TEXTURE);
glLoadIdentity ();
glMatrixMode (GL_MODELVIEW);
Thanks ... 
MH adds Baker XP +1 for the Nth time, where N is getting to be a sizable number ... 
 
You can also translate and rotate, or even do wacky crap like load perspective onto it. Very handy stuff, and a far more elegant solution to many problems than trying to brute-force it in C code. 
Entity Lighting 
Would it be possible to have a map key to set light level on static entities? 
Static Ents 
I remember asking when working on statics in my last map
and I thought it was not possible.
So the only way out was resetting the gammalevel of their skinfiles. 
 
It should be possible but would need a protocol change as statics are sent from the server to the client during connection time. You'd also need to define how it works with coloured light and whether or not they should be affected by dynamic lights too. 
Basedir Option For Paths With Spaces 
I'm trying to use the -basedir command-line option and something is off. (This is on Windows 7.)

If the path doesn't have any spaces in it, all is fine. Let's say the folder containing id1 is named "foobar" at the root of the C drive:

fitzquake_mark_5.exe -basedir C:\foobar

That works. But if the folder name is "foo bar" I'm out of luck. This doesn't work:

fitzquake_mark_5.exe -basedir "C:\foo bar"

Using the "shortname" (barf) of the path-with-spaces does work:

fitzquake_mark_5.exe -basedir C:\FOOBAR~1


This isn't an emergency at all and I'm likely just making some stupid mistake, but FYI. (I ran across this while trying to write up some info on how to use different Quake engines.)

FWIW, QuakeSpasm does handle the path with spaces OK. 
Engine Update 
@Baker, Is there any plans for another update soon? 
Sock 
I got your private message. I'll respond in thread @ I3D. 
Is This Some Sort Of ARG? 
 
Magical Mystery Tour 
I am not sure what you mean by ARG, but this is me trying to contact Baker. I am planning to tie up loose ends on the development of my MOD and I want to modify the MarkV engine so I can distribute it in my final zip file. I tried emails, private messages and finally this place, hence the weird reply.

Baker is a very tricky person to contact! :) 
Just Meant It Seemed 
A roundabout way.

Or, possibly, if we chased up the link to I3d we'd find some hidden ITS release... :) 
Maybe ... 
 
 
This MOD by SOC is not an ARG, FYI 
 
Moody arc figs modify cargos. Crag modify so cigars my food. 
 
I have a tiny issue with mark v. My soundtrack mp3 files won't play. I'm sure I have installed the files in the right place, since this is logged:

Current music track: music/track04.mp3

But I'm not hearing it. Either there's another volume adjuster I'm not finding (I tried the CD music volume slider), or perhaps this has something to do with it:

CDAudio_Init: MCI_OPEN failed (266)

I don't have a physical CD player present on this machine, perhaps some virtual ones though. Or is this codec related? 
Ignore That 
DirectQ used to work but now it's giving the same error message. Has to be something with my system. Never mind. 
Stuff ... 
@Mandel: A sincere thanks. Makes me think the world is a better place when seeing high investigations like that.

Anyways, I told Sock I'd do an update for Mark V and once is coming shortly (24 hours or less is the estimate. Maybe with something of interest to Mandel.) 
Revision 8 
1. tool_menu command. A conceptual experiment.
2. follow/chase/race your ghost player (type "ghostdemo demo1" in console to follow John Romero around e1m3). A ghost will not pass out-of-sight and will wait for you.
3. community.lmp support (sock wanted this and is a quality solution).
4. Sound limit reverted to GLQuake/WinQuake/FitzQuake 0.85 level instead of the "DOS Quake level" per comments above.

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

Readme: Zip: http://quake-1.com/docs/utils/fitzquake_mark_5.txt

For reference: community.lmp http://www.simonoc.com/files/misc/community.lmp (This is an alternative to pop.lmp registered Quake check for a total conversion to indicate that Quake should act as if the registered version is being run). 
 
@Baker, thanks for the community file, it works a treat. :) There is one more thing I would love to add, the current -heapsize is crazy small, is there a way to make the default 64000 instead?

Would this cause problems with anyone else wanting a lower heapsize? 
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.