News | Forum | People | FAQ | Links | Search | Register | Log in
Fitzquake 0.85 Released At Last!
New in this version: increased map and protocol limits (can load all known limit-breaking maps,) model interpolation, per-entity alpha support, new network protocol, more external texture support, hardware compatability improvements, many bug fixes, and a cleaner source release to make it easier to install and compile.

Go! http://www.celephais.net/fitzquake

(Thanks to the beta-testers: Baker, JPL, negke, Preach, and Vondur.)
First | Previous | Next | Last
 
I'd double-check what you're setting for refresh rate and bpp too, as it definitely seems like you're trying to select a mode that hardware acceleration isn't available in but that is nonetheless being reported by the engine (perhaps one of the low res modes?) 
A Request Re: External Textures 
is it possible to scan the 'wad' key in the worldspawn to get the texture wads used, and then, when loading external textures, also look in folders named the same as the wad files?

map is mymap.bsp
so my worldspawn has:
'wad' 'gfx/common.wad;gfx/quake.wad;gfx/hipnotic.wad'

so fitzquake would look in:
/textures
/textures/mymap
/textures/common
/textures/quake
/textures/hipnotic

this would make keeping external textures folders organized a simpler task, especially if you have a map pack with more than one map referencing the same texture without having to resort to mixing all the packs together into /textures. 
 
crap...
'wad' 'gfx/common.wad; gfx/quake.wad; gfx/hipnotic.wad'
but all together, without spaces (like normal). 
 
I personally think it's a more elegant approach than using the map name, but it has the disadvantage that when multiple wads are used it must attempt an extra file search for each extra wad. Depending on how many textures you have, how many of those are already cached, and how many image formats you support, it could measurably slow down map loading.

There's also the fact that using the mapname is standardized in so many texture packs.

I suppose you could do both and cache a qboolean for whether or not the search path exists after the first attempt. 
 
Depending on how many textures you have, how many of those are already cached, and how many image formats you support, it could measurably slow down map loading.

From, say, 0.5 seconds to a full 1.0? :) 
Willem 
You always say that like optimization wouldn't matter and was pointless if it doesn't have an highly noticable effect. But look at DP, for example. It gradually went up from a couple of extra 0.5s to 'let's compute everything from scratch', and now loading even a simple map takes 30 seconds. 
 
Oh, I agree. and I'm really sort of half trolling here.

But if an engine takes 30 seconds to load a Quake level, there's something fundamentally wrong with that engine ... IMO. If I can get a Gears of War level into my editor faster than that, the Quake engine is doing something REALLY wrong. :) 
 
I mean, what you're describing is the sort of "death by a thousand cuts" syndrome that makes things very hard to optimize into a better state because there aren't any large wins. There are tons of wins in there but they're all small and taken on their own aren't significant ... so, yeah, maybe improving this one little thing would be useful. I dunno! 
Optimizations 
All it takes is a handful of millisecond or sub-millisecond optimizations to get a Quake engine running (or loading) twice as fast (or skimp on them and you're running twice as slow).

That's not a big deal for id1 content - 600 vs 1200 fps? Getouttahere.

For non-id1 content it's critical. It means bigger maps, more enemies, more game logic, more visual effects (particles, lights) and still being able to maintain good performance.

In the specific case of texture loading, a useful cutoff point seems to be something like: "if it takes longer to establish that an external texture doesn't exist than it takes to just load the native texture, then it's worth doing". 
2 Movement Interpolation Gems ... 
http://forums.inside3d.com/viewtopic.php?f=2&t=4716

This thread has 2 interesting thoughts and semi-obscure thoughts on weaknesses in movement interpolation in Fitz 666 protocol (which is far better than old QER tutorial).

One by MH on lerp movement (and I bet lerp anim!) should reset if entity is frustum culled, and one that I inadvertently came up with thinking about a chase camera improvement that ultimately coughed up an oversight or potential obvious movement interpolation improvement.

Storing this here with the rest of the FitzQuake buried future ideas/unearthings. 
Make That 3 ??? 
If view weapon goes off screen ??? 
 
thanks for the tip, Baker. I did know about the enemies riding lifts problem, but hadn't noticed the frustum culling problem.

Btw, a clarification: fitzquake model interpolation is completely independent thing from the fitzquake protocol -- you can have either one without the other. The one small overlap is the protocol contains a timing hint for lerping, but that hint could be used by other interpolation systems, plus the fitzquake system still works if you set "sv_protocol" to 15. 
Riding Lifts Problem 
I've been doing some more investigation of this one and have traced the cause - it's hinted at by the header comment of SV_Physics_Step:

"Monsters freefall when they don't have a ground entity, otherwise all movement is done with discrete steps."

Some tests confirm it (basically just not sending an entity that meets the freefall conditions in SV_Physics_Step) - a monster on a lift isn't MOVETYPE_STEPping, it's in freefall. 
 
sorry to interrupt but: groundentity is exposed in qc, does it do anything there? ie: will it report a lift that the player/monster is standing on? 
 
Whatever you do, just don't break the suspended monsters trick like DP does. 
Negke: 
don't worry, this would be a cosmetic change only (purely client-side.)

BTW, darkplaces has a lot of cvars that control features that break compatibility, you might be able to un-break that trick too if you know the right cvar (i think they are all named sv_gameplay_fix_*) 
Qconsole.log 
why does fitzquake (and quakespasm) put the qconsole.log file in /quake/qconsole.log instead of /quake/mod/qconsole.log?

is this the original functionality? just seems a little odd (and had me searching around for it!) 
Windowed 
Is there anyway to force fitz to start in a windows mode via the command line? I tried with config files and it just keeps going full screen and then back to windowed mode. 
 
-width 1680 -height 1050 -bpp 32 -window 
Re: Qconsole.log 
Because it is the engine's log. Besides, the mod directory can be changed when the game is still alive, so there is no point in putting it under /quake/gamedir/ 
@spirit 
I tried the -window command line and it worked perfectly but the +mlook no longer works, even if I do a vid_restart console command.

For some reasons if I start the engine normally and tell (via config file) the engine to go windowed the +mlook still works. (it also grabs the mouse pointer permanently, I have to close the engine down to use the mouse with other window apps. 
 
sock: try pulling down the console before tabbing? that works in quakespasm anyway. i agree though, it would be nice if mouse control was release as soon as focus was lost. 
MP3 (or Ogg) Support 
Ok, maybe I'm an idiot (well, ok, maybe might be understating it a bit) but how do I get FQ 0.85 to play the ripped tracks (I've tried both formats)?

I've tried placing the files (named track02.xxx through track11.xxx where xxx is the two different format extensions) in:

QUAKE\id1\sound\cdtracks
QUAKE\id1\sound\music
QUAKE\id1\cdtracks
QUAKE\id1\music
QUAKE\cdtracks
QUAKE\music

I know that the music works (ogg plays fine in DarkPlaces and the mp3's work in a few different media players) and when I put in the game CD it plays just fine. I'd just rather not risk damaging the original CD if I don't have to.

Is this not supported in this engine or am I missing something obvious? 
I'm Not Sure 
i know baker made a version where he added it in himself, so i don't think the stock fq085 does. 
 
Yeah, I saw that but the link to the binary is dead and I don't really want to mess with compiling a new exe. I'd probably just screw it up.

Oh well, maybe in the next version... 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.