News | Forum | People | FAQ | Links | Search | Register | Log in
Quakespasm Engine
This engine needs its own thread.

Feedback: I like the OS X version, but I have to start it from the terminal for it to work and can't just double-click it like a traditional OS X app. I'm sure you guys already know this, either way great engine.

http://quakespasm.sourceforge.net/
First | Previous | Next | Last
 
I always get warnings when I try to get QSS. 
You Mean 
the website? It's fine FYI.

http://triptohell.info/moodles/qss/ 
Because Spike Injected A Packet Sniffer!! 
j/k i get the same warnings, idk what windows doesn't like about qss, it is annoying. 
 
 
Yeah, getting a virus warning from that. From the zip as well. Wonder why that is exactly. I reckon it is some funky code which gets picked up by heuristics? 
I Was Wondering 
How hard would it be to get temporal dithering, similar to that of Inside, into a quake engine?

The banding that the fog generates, esp in dark areas is pretty harsh. With good temporal dithering, that is limited to the fogged areas, things would look a lot nicer. Obvs this is not important as it is not a gameplay thing at all, but it would be neat. 
 
Also, thanks Kinn for the hud linkage :) 
Cool Idea 
The main roadblock for Quakespasm is the renderer is not fully converted to shaders; mdl and lightmapped faces are, but water, sprites, sky and anything else are still using fixed-function OpenGL.

Dumping some links on dithering I found:
http://loopit.dk/banding_in_games.pdf
https://www.shadertoy.com/view/MslGR8 
 
Ah, I see.

Here's a good talk about what they did in Inside here.

https://www.youtube.com/watch?v=RdN06E6Xn9E

I also think they gave away the plugin, or whatever they wrote for Unity to do this stuff for free. Not that that would help a lot with QS. 
Isn't Fixed Opengl Faster Though? 
 
 
On any hardware from the past 15 or so years, fixed function OpenGL no longer exists: it's emulated with shaders in the driver.

Maybe "fixed function is faster" was true in the GeForce FX era, but time and technology have both seriously moved on since then. 
Classic Settings And Weapon View 
Aside from being unable to get an accurate weapon view like winquake/mark_v I think the features here are almost perfect.

r_scale, cl_sidespeed etc fix any minor gripes I've had.

Any ideas if this will be fixed outside of scr_ofsz -2 would be good. 
@Fifth 
What about r_viewmodel_quake regarding the weapon position. Setting that to 1 does the job pretty good I think.

I personally really would like the oldschool underwater effect in QS, but yeah, shaders, etc.

That and a way to actually have accurate colormap lighting rendition, because a lot of older levels do look a lot better with the harsher lighting, imo at least. 
@Fifth 
Yep r_viewmodel_quake should do the trick.

btw check out the >60Hz monitor support in QSS if you haven't http://triptohell.info/moodles/qss/ - host_maxfps 0 means unlimited, and it keeps physics running at 72fps.

btw thanks for that video ptoing, when I get back into engine coding I'd like to do more with shaders, and the temporal dithering sounds like a cool project. 
@ericw 
Cool :D Would love to see how that looks if properly implemented. I think it would be very nice :) 
 
ptoing, if Vulkan is an option for you vkQuake solves the banding issues by using 10 bit frame buffer precision. 
Bug Report / Replication 
Please note that this bug occured in my IRC fork of 0.93.0

I just got a: "TexMgr_ReloadImage: Invalid source for player_0"

Error occurred in the middle of a game whilst quickloading and quicksaving a lot, also while recording demos.

This bug caused the save file list to disappear, it also caused loading saves from disk to fail.

video of failure: https://www.twitch.tv/videos/280904822 
@Axel 
Just tried vkQuake. That indeed solves most of the banding issues. Also like that it has classic water. Thanks for this tip :) 
 
scratch that last bug report. It occurred again last night without the "TexMgr_ReloadImage: Invalid source for player_0" message. I'm inclined to believe that the bug I'm facing caused that error rather than being caused by it.

either way, with my shoddy coding it could be anything XD 
 
I have a feature request. The following binding doesn't work properly in Quakespasm while it does work in a few other source ports like Qrack:

alias +movejump "+jump;+moveup;"
alias -movejump "-jump;-moveup;"
bind space +movejump

Jump works just fine but when underwater, the player moves up as if holding the jump key rather than the move up key. It makes swimming up slower than it should be. 
 
In Qrack or Mark V, type pq_moveup 1 and you don't need any of that.

Feature originated in original ProQuake and spread to about every engine both of the Quake and Quakeworld variety including FuhQuake/ezQuake/FTE/FodQuake (in QW engines and JoeQuake the cvar is called "cl_smartjump" instead). 
 
Thanks Baker. It turns out that pq_moveup is 1 by default in Qrack, which would explain why the binding seemed to be working when it was really just the cvar. However, setting it to 1 in Mark V causes weird issues - it will stay locked swimming up when I press jump until I press the moveup key. Even pressing movedown won't cancel swimming up and staying at the surface. 
Water And Music 
Is there any way to get the classic software "wavey" water warp when underwater? I don't remember in which engine, but I seem to remember some of them did this. Maybe I am wrong though.

Another thing is, when reloading a game of the same level it restarts the music track, this is probably correct "vanilla" behavior, but is there a way around this? Maybe some CVAR that controls this behavior so there's an option not to restart music track.

And some maps have no music track info or have it set to "0" which results in no music playing. Maybe introduce a CVAR for random music track start (and/or override the map setting)?

Would be so nice

Then again simpler workaround would be having a Quake OST playlist on shuffle in some media player in the background. 
#3454 - Underwater Warp 
FTE does (r_waterwarp 1).
DirectQ does, if I remember right.
And I think vkQuake does too, but it might just be surfaces.
(don't expect them to have the same scale as the software-rendered engines - higher resolutions result in far too many repeats in the vanilla software renderer) 
Mark V 
has water warp as well. 
Quakespasm 0.93.1 Bugs And Suggestions 
bugs
-
>sometimes the player can get stuck going down/up ramps/angled brushes, touching obtuse (convex) corners. See the images for examples
https://ibb.co/mm18p8
https://ibb.co/jVdop8
>sometimes monsters teleport-in without particle effects

suggestions
-
>increase the limit of the number of particles. Sometimes, particles vanish from launched rockets during very chaotic battles 
 
sometimes monsters teleport-in without particle effects
i guess it's a 'spawn silent'/no gfx mode

increase the limit of the number of particles.
there's a command line option -particles 
 
Getting stuck on those corners is not an engine bug. It's an issue in the map, or the compilers to be precise, and occurs during the QBSP stage.

Particles can be increased manually using the commandline option like спы says. 
Sticky Corners 
Its an engine bug in SV_RecursiveHullCheck.
FTE+DP+ezQuake all have fixed(and more efficient) versions, and porting FTE's over to QSS fixes the issue for me.
However there's a potential risk for things to fall out of one of the thousands of possible maps out there. Its probably not a huge risk, but its still there, hence why I was too paranoid to make that change.
Paranoia is a really bad thing. :( 
 
Hi, I think this is my first post...

In this port, is it possible to make the ogre and the zombies take into account your height when they shoot their projectiles?.. 
Nope 
it's not the engine feature, it's QC thingy

i believe it's called z_aware monsters behavior

AD has that feature, some mods too 
 
Port/Engine - runs mods and sometimes has extra features to help with mods.
QC code - allows monsters, weapons, etc. to work properly. All engines already support angles and vectors so adding z-aware enemies for, e.g., ogres, zombies, flak ogres, etc. has been a thing for a while already. AD does the best job in my opinion because it uses a flag on the monster that allows for mappers to choose whether they want particular enemies to be z-aware or not giving mappers the most power. 
I Stand Corrected 
I was under the assumption that the sticky corners (always only 45° it seems) was some QBSP mess-up. Tbh I didn't even know it occured in the stock maps, too. Only ever came across it in custom maps... maybe because the id maps are mostly boxy. 
Textures Are Broken In 0.93.1 
I've been looking around for a while and can't seem to find any info on this. In quakespasm and quakespasm spiked as of 0.93.1 and r10 respectively I can't start a new game and if I launch a map manually the textures all look corrupted and the the lighting seems messed up as well. this only happens in 0.93.1 and r10 but not in 0.93.0. Any help would be appreciated. 
Textures Are Broken In 0.93.1 Screenshots 
https://imgur.com/a/O1ECIKz

The first two are from 0.93.0

The second two are from spiked r10. Its the same in 0.93.1 
Looks Like That Epsilon Mod 
 
@A_COC0NUT 
Weird, not sure why that would happen with 0.93.1.

Can you type "condump" at the console and then upload the id1/condump.txt that is saved?

Does adding "-noglsl" to the command line fix it? 
@ericw 
adding -noglsl to the command line does fix it but it still refuses to start a new game.

here is the condump without the -noglsl thanks for the quick help

IPv4 UDP Initialized
IPv6 UDP Initialized
WIPX_OpenSocket: Address family not
supported by protocol family
WIPX_Init: Unable to open control
socket, IPX disabled
Exe: 11:02:38 Jun 3 2018
256.0 megabyte heap
Video mode 1920x1080x24 60Hz (24-bit
z-buffer, 0x FSAA) initialized
GL_VENDOR: Intel
GL_RENDERER: Intel(R) HD Graphics 530
GL_VERSION: 4.4.0 - Build
20.19.15.4549
FOUND: ARB_vertex_buffer_object
FOUND: ARB_multitexture
GL_MAX_TEXTURE_UNITS: 8
FOUND: ARB_texture_env_combine
FOUND: ARB_texture_env_add
FOUND: SDL_GL_SetSwapInterval
FOUND: EXT_texture_filter_anisotropic
FOUND: ARB_texture_non_power_of_two
FOUND: GLSL
Intel Display Adapter detected,
enabling gl_clear

Sound Initialization
SDL audio spec : 44100 Hz, 1024 samples, 2 channels
SDL audio driver: directsound - Speakers / Headphones +SSE3 (Realtek Audio)
Audio: 16 bit, stereo, 44100 Hz
CDAudio disabled at compile time

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
execing autoexec.cfg
3 demo(s) in loop
]condump 
@ericw I Think I Fixed It 
Since -noglsl fixed it I decided to test out the uncoupled frame rate that spike offers and noticed in the condump that it was using the intel integrated graphics so I went into the nvidia control panel and forced it to use the 1070 I have and now it looks fine and launches a new game gust fine, even without -noglsl. Thanks for the help and I'll provide any additional info I can to fix the intel graphics if you want. 
Thanks For The Info! 
That helps, I'll see if I can reproduce on a system with Intel graphics 
Quakespasm 0.93.1 Bugs And Suggestions 
What is the particle limit currently set at?

For the "teleport-in without particle effects", Are you certain it's a map issue? For example, sometimes when a group of monsters tele-in, only one or two will have the particle effect, while the rest only play the tele sound

bugs
-
When going up, on an elevator, sometimes the player 'sinks into it' then 'pops out', even multiple times in longer rides. Especially if you look up while the elevator is going up 
Delete Video Modes. Zdooms Doing It 
People Seem Reaaaal Happy About That Change 
 
 
Mark V and FTE you can resize the window on the fly.

FTE has had the ability for a decade.

Note: It is NOT easy to implement at all. Especially with the FitzQuake canvas system for several different reasons.

Plus since FitzQuake never had doesn't have screen-resolution independent settings, it would look exceptionally stupidly trying to do it ... unless you code screen-resolution independent settings in. Which is also a metric ton of work.

And you have to be able to handle unusual FOV situations and unusual aspect ratios (with these, you must pad!). Mark V and FTE can do this only because of screen resizing. Yet even more fun ...

(I enjoying taking concepts that Spike does and trying to take the concept a little further than Spike did, mostly because I think it entertains Spike a little. Plus most of Spike's user interface have been refreshing in a world chalked full of the dull ..) 
 
What is the particle limit currently set at?

There shouldn't be a particle limit at all in 2018.

This made sense in 1996 when Quake had to run on an MS-DOS PC with 8mb of RAM. In 2018 I don't see any reason for it.

So if free_particles runs out engines should just Hunk_Alloc another bunch of them and eventually everything will settle down at the highest number that the map needs without any artificially imposed constraints. 
 
Id love to see screenshots take the "message" field (name) of the map to use for naming rather than spasmXXX.png. 
 
errrrr...

a more reasonable idea would be to use the file name of the currently loaded bsp, but at any rate, ditching the spasmXXX.png naming scheme sounds like a good idea to me. 
Speaking Of Names 
longshot but thought i'd just check first...is there an option to suppress the (filename) display when you press Tab whilst playing?

e.g. so player just sees

"The Mouldy Castle of Mould"

instead of

"The Mouldy Castle of Mould (qmouldy014_final_final_rev03)" 
 
Run QS with the -fitz command line. 
Cool 
What other things does -fitz change from 'spasm? 
 
ok i found i think the only place where this is documented:


#3309 posted by mh on 2018/03/23 11:33:29
Going through the source code, the exact and only differences -fitz applies are:

- Don't load the custom quakespasm.pak
- Run the normal demo loop (QS otherwise goes straight to the menus at startup).
- Pop up the Quit prompt (QS otherwise just quits immediately).
- Revert some changes to the solo scoreboard layout.


Would be cool to add this info to the QuakeSpasm documentation. 
Bah 
not sure about this because I still kinda want the first 3 things -fitz turns off, but not the 4th thing :/

first world quake problems.txt 
Hmm 
On second thought, that won't fix it. I saw the linebreak and my mind instantly thought of the difference in the bottom row of the sbar, but that was just func's doing. 
Probably Overthinking This 
but maybe it's time to deprecate -fitz, and just have commands you can throw into a config file to restore old behaviours individually, such as the Quit prompt, the original sbar info etc. 
 
The PAK file is loaded before the configs run (all PAK files are, and if you think about it that makes sense because a PAK file might contain config files). I guess the game-changing code could be tweaked to handle it. 
 
It would be nice to have a separate cvar for the quit prompt just for the classic feel but you can already get the original sbar by setting the sbar alpha to 1 I believe. Isn't there also a startdemo option for enabling the normal demo loop? 
 
What I did years ago was pop up the prompt if you quit from the menus but suppressed it if you quit from the console. That may be default Quake behaviour and I may be misremembering if it was a reversion from a prior change or not.

The intent is that if you quit from the console you almost definitely want to quit, whereas if you quit from the menu it might be a slip of the finger on the keyboard.

Another possibility might be to suppress the quit prompt if you've recently saved, otherwise pop it up. The intent here is that if you've not recently saved you may wish to before quitting.

Of course this all falls down because there will always be someone who will say that they don't want the prompt under any circumstances. 
 
In which case....cvar ftw. 
 
Other ports list the current and default values for cvars when typing them in console. Would it be possible to add this feature to Quakespasm? 
 
I've lost count how many times I accidentally quit QuakeSpasm when trying to quick load. F9 and F10 are just so close together. 
Unbind F10 
 
Poorchop 
you can already get the original sbar by setting the sbar alpha to 1 I believe

I'm talking about not showing the map filename (which is basically dev info) in game, which I don't think has anything to do with your suggestion. 
@3473 
Yeah and everyone gave the dev shit about it in that thread. Maybe not the best example to use when trying to ask for a feature request :P I didn't know about this change myself because I haven't updated my GZDoom in a while and now I am reluctant to :/ 
 
Yeah, I've long been of the opinion that in the Doom/Quake technology generation, there are only 2 resolution options that make sense: fullscreen at your desktop mode or some kind of lower res windowed mode.

To be more specific, I don't see how any other fullscreen mode makes sense. Why on earth would you want to switch to a lower res fullscreen mode that might not even be the correct aspect ratio? In Quake? And excluding a specialist 1996 retro-kick engine?

Somebody give me a reason, convince me, I'm listening and willing, but it better be a bloody good reason. 
@mh 
Edge case maybe - but I record video at 720p fullscreen for my videos. My monitor is 1080 native of course. I use a hardware recorder over HDMI and cannot do 1080p at 60p. At 720 60p the videos look pretty good.

I'm glad I have the option of doing this. 
 
I play at fullscreen 720p in Quake these days. Just like the way it looks. 
 
On CRTs it makes a lot more sense to choose different resolutions. They can actually display them properly unlike LCDs and you might get better frame rate on your video card of the era. 
Speaking Of Resolutions, 
I currently play Quake on my laptop, which native resolution is 1200*800, but the closest match available in the video options is 1280*800. Would it be within the realm of possibilities to add a 1200*800 mode in a future update? 
 
Why on earth would you want to switch to a lower res fullscreen mode

The absolute maximum res I'd play quake on is 720p.

Old games like quake often look better when played at lower resolutions.

The original id levels for example, really don't improve with resolution: after a point, all the higher-res does is look increasingly incongruous with the level art. At 720p, you are already way past that "wall" for old-skool quake maps.

720p is pretty good for AD-style modern maps.

/opinion. 
I Have A Problem... 
No matter what I do, I can't seem to get non-blurry textures in the latest QS (and QSS, for that matter). I do have gl_texturemode set to GL_NEAREST_MIPMAP_LINEAR in my config and I even duplicated the line in an autoexec to be safe, but to no avail. Thoughts? 
Try Disabling Anisotropic Filtering 
gl_texture_anisotropy 1 I think? (can't check easily, on mobile) 
Ah, Yes, 
it worked. My config was actually saved from a previous install, I suppose one that I used with hi-rez textures and linear_mipmap_linear. Anisotropy was set to 16. Thanks Eric! 
I Just Discovered Something Weird... 
When you play a demo and press tab to show the stats, the skill displayed is not the one the demo was recorded with but the one selected (or not) by the watcher. Is this normal behavior? It would make a lot more sense to show the actual skill set for the recording. 
 
Mark V is the only engine that currently can do that it (and has done it for 5 years?). When the skill level changes, it broadcasts a hint. This is stored in the demo because it is part of the network code, so it is displayed during demo playback and cooperative players status bar is updated in real time.

And it is done in a way that non-supporting clients just ignore. (A Spike trick).

Otherwise, it is impossible. A demo does not normally know what skill level is selected. That information is ordinarily lost. 
 
good bug though, the scorebar should probably display no skill at all during demo playback, if it is not known. 
 
one thing i noticed on older engines is that stuffcmd gets sent to clients when playing demos. may have been fixed in newer engines. i supressed it in mine. 
@R00k 
one thing i noticed on older engines is that stuffcmd gets sent to clients when playing demos. may have been fixed in newer engines. i supressed it in mine.

"bf" is a stuffcmd.

You sure want stuffcmds in the demos ;-)

That's just one example, but removing stuffcmd from demos isn't a fix. Yet at the same time, stuffcmd can do toxic things in demos too.

I get what you were wanting to address -- especially a demo where server is sending key binds, but removing stuffcmd from demos isn't how to resolve it. FTE has things sandboxed some. Mark V less than FTE, but views keybinds not done by the user as temporary until disconnect (and that includes demos), and stored in different field that never saves to config. 
Resolution 
Though I must admit i don't typically do this for quake, I play a lot of older games 'pillarboxed' on my widescreen monitor with a 4:3 resolution. Letting users choose things like this is important for edge cases likr that.

Maybe i should try some 4:3 Quake, actually... 
@Baker, Whoops My Bad 
"Fixed: Alias commands are not stuffed to the client when watching demos."

i dug back through my whatsnew.txt It's where i was watching some old demos and noticed i had these weird alias commands; cant remember what demo (runequake?) but kinda annoying. Stuffcmd isnt specifically blocked.
``
void Cmd_Alias_f (void)
{
cmdalias_t *a;
char cmd[1024];
int i, c;
char *s,*n;

if (cls.demoplayback)//R00k dont stuff alias commands when watching a demo.
return;
``
trivial. 
 
aye, aliases in demos is annoying.
as is the engine silently ignoring the alias commands that you're typing simply because there's a demoloop playing in the background...
ignoring aliases completely means that mods that use them to slightly reduce network traffic cause error spam.

urgh, now I have to resist the urge to make a 'trap' demo that uses aliases to prevent any attempt to stop playing that demo. 
 
Hmmm, I see your point; 'silently' confuses the end user. For example, loading up the game, demo is playing, type exec frikbot.cfg..
"Where's my frikbot aliases?!"... 
Mod Sounds Not Playing? 
Wanted to make a coop server for ad_sepulcher, got into the same issue as ericw up there: lots of "packet overflow", some sounds weren't playing, etc..
Are there plans on making the unreliable message limit something changeable on the server configuration or something? Elsewise, what could I use to host a coop server reliably? I've never hosted one before, what do you guys use? 
@newb 
Netquake is just not reliable enough for mods like AD. You should turn particles and shell ejection off (read the AD readme for how to do this). You should try playing coop with QuakeSpasm-Spiked, which has improved networking.

Ideally the Quake community should have rallied around the QuakeWorld protocol when the source was released, and backported compatability with the netquake progs. Alas we have a shedload of NQ engines which are pretty useless at multiplayer. 
 
Yeah, if you want to play AD coop then you really ought to upgrade from QS to QSS.
FTE has all the same networking improvements but I accept that its also much easier to configure wrongly...
DP also has many of the same improvements, but its insistence on float coords combined with its inability to split baselines means that its unable to run ad_sepulcher. Configuring it to use the bjp3 protocol would theoretically work if its support for bjp3 was not buggy.

The vanilla QuakeWorld protocol was quite poo and quite incompatible with NQ, yes it would have been nice to have a single protocol that everything else was compatible with, but really that's just wishful thinking. It would have broken more than it would have solved.
Do note that the FTE stuff I ported over to QSS is not like vanilla quakeworld at all - its more like dpp7. It won't cope with packetloss quite so well, but it will cope MUCH better with massive entity counts, and without requiring serverside translation of QC's writebytes (this is one of the more annoying things I had to add to FTE to get it to run NQ mods properly, and I'm very glad other engines don't need anything equivalent, and no way was I going to add that mess to QSS too). 
Misaligned Lumps? 
@spike @c0burn:
Thanks for the pointers. I've tried using QSS for the server but the following happens: https://pastebin.com/kc54XVpM. Apparently even with the dedicated flag it still tries to capture mouse? The SDL warning message is repeated constantly, every line omitted is that exact message. Trying to enter ad_sepulcher crashes the clients (both QS and QSS) at the tune of https://pastebin.com/dfK1c4s9, both of the clients outputting this, and they get stuck at the "loading" screen, so I have to kill them. dpkg -l *libsdl* outputs this: https://pastebin.com/4vnHjrNz, so I gather I have installed SDL2 correctly (?). Other maps also output warnings about misaligned lumps but they are playable.
I've found this problem on Ubuntu, if I'm not misremembering 16.04 (not "my" PC), and on a Debian 9, both fairly vanilla installations. The misaligned lumps problem seems separate from the SDL warning (apparently it's just the program trying to grab mouse and keyboard input, but since it's running in -dedicated mode it's pointless), and the former is what I gather is causing these problems, rendering the map unplayable.
I've also tried running the server from QSS (not dedicated, in-game), but a friend couldn't connect either; same misaligned lumps message was seen on his end. This was all using the version downloadable from http://fte.triptohell.info/moodles/qss/, didn't try compiling the latest in the repo nor patching QS with the change @ericw posted. Will probably try tomorrow, if I have the time (but I gather that @ericw's change is undesirable in some way, if I didn't misinterpret @spike's comment, but I can't say I internalized quake's protocol). 
 
ignore the misaligned lumps. that doesn't affect x86 at all (but is fatal for other cpus).

Sorry about the grabs spam. It seems the linux version still uses SDL1 for some reason, while the win32+SDL2 build doesn't show that there's anything stupid happening. Should just be a problem due to the spam, but yuck, sorry.

I've no idea why its locking up for you.
Obviously its not meant to do that... 
@spike 
In the end we ended up playing with ericw's patch for vanilla QS. No issues there.
All in all, that patch was a gateway drug! :P The code is easier to read than I first thought it'd be, so now I'm adding 6DOF. If I'm not mistaken this is something that can't be implemented at a qc level, right? I have but a passing familiarity with quakec, so maybe this could be less client-dependent and I'm not realizing it.
Either way, having much fun with this, keep up the good work. 
 
Any hope for incorporating some of the additions to the Arcane version of Quakespasm/QSS? Like the mod menu. 
 
So is pampa the anon mystery guy that wrote the 6DOF version of FitzQuake several years ago and then Spike added the modification to FTE? 
@Baker 
Huh, seems someone stole my idea and went back in time, right? :P
I wasn't aware such a thing had been done before, but will def. check up on it. 
 
https://www.youtube.com/watch?v=w8aUI9flEvc

https://www.youtube.com/watch?v=djb-KVxcih4

The source code was on the dead Google repo, but as I understand it there is often some way to find it using the URL and some ingenuity.

Dead source link: https://sites.google.com/site/quakeconfig/6dof-quake 
 
Trippy, but man that guy plays slowly. 
Quakespasm Crashing On New Laptop ;~; 
So I just switched my quake dev folder over to my new laptop and it has apparently decided it doesn't want to run :( I am using v0.93 on Windows 10 Home 64 bit btw. Here is some info about the error I got from event viewer


Faulting application name: quakespasm.exe, version: 0.0.0.0, time stamp: 0x5a1299a0
Faulting module name: ig9icd64.dll, version: 23.20.16.4973, time stamp: 0x5a96b1e5
Exception code: 0xc0000005
Fault offset: 0x0000000000196be5
Faulting process id: 0x2c2c

Neither the normal or SDL version work. Is there a newer version I can try? This will be somewhat of a hindrance when it comes to testing my maps in the future if I can't run them in the first place... 
And here is a stdout console dump from the SDL version, there doesn't seem to be anything wrong with it but maybe you can find something?

Found SDL version 1.2.15
Detected 2 CPUs.
Quake 1.09 (c) id Software
GLQuake 1.00 (c) id Software
FitzQuake 0.85 (c) John Fitzgibbons
FitzQuake SDL port (c) SleepwalkR, Baker
QuakeSpasm 0.93.0 (c) Ozkan Sezer, Eric Wasylishen & others
Host_Init
Playing registered version.
Console initialized.
UDP Initialized
WIPX_OpenSocket: Address family not supported by protocol family
WIPX_Init: Unable to open control socket, IPX disabled
Server using protocol 666 (FitzQuake)
Exe: 11:56:35 Nov 20 2017
256.0 megabyte heap
Video mode 640x480x32 60Hz (24-bit z-buffer, 0x FSAA) initialized
GL_VENDOR: Intel
GL_RENDERER: Intel(R) UHD Graphics 600
GL_VERSION: 4.5.0 - Build 23.20.16.4973
FOUND: ARB_vertex_buffer_object
FOUND: ARB_multitexture
GL_MAX_TEXTURE_UNITS: 8
FOUND: ARB_texture_env_combine
FOUND: ARB_texture_env_add
FOUND: SDL_GL_SWAP_CONTROL
FOUND: EXT_texture_filter_anisotropic
FOUND: ARB_texture_non_power_of_two
FOUND: GLSL
Intel Display Adapter detected, enabling gl_clear

Sound Initialization
SDL audio spec : 44100 Hz, 1024 samples, 2 channels
SDL audio driver: dsound, 65536 bytes buffer
Audio: 16 bit, stereo, 44100 Hz
SDL detected 1 CD-ROM drive
CDAudio initialized (SDL, using E:\)
CDAudio_Init: No CD in drive

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
couldn't exec autoexec.cfg
3 demo(s) in loop

FITZQUAKE 0.85 SERVER (51103 CRC)


Introduction
Using protocol 666
Couldn't find a cdrip for track 4
jl entered the game 
 
This came up in google when I searched for that dll: https://communities.intel.com/thread/125368

Try updating your intel graphics driver.

Also 0.93.0 is not the latest version of QS (it still shouldn't crash, but might as well update to 0.93.1) 
Hm, I had an Intel graphics driver update the other day and installed it, or at least it supposedly installed... maybe it is a crappy HP custom one, I'll try to find the latest generic version for the hd 600 and try again 
Still Didn't Work :( 
I just ran the update for the latest intel hd 600 update on August 9 (https://downloadcenter.intel.com/download/27894/Intel-Graphics-Driver-for-Windows-10?product=126787) and it still won't run :( I mean I know my laptop is pretty low spec but don't tell me it won't run a game from over 20 years ago... GZDoom will run but QS won't, great. I guess I'll have to use FTE or something for the time being, unless QSS is still being updated? 
Update 
So I might have discovered part of the problem on accident. I was trying to compile what I had done on my underwater jam map (which I wasn't able to complete by the deadline unfortunately) and I somehow managed to give the wrong wad path so qbsp wasn't able to texture my map and to my surprise, my untextured map loaded :O BUT when I tried to go to another map it crashed. So it is something to do with the textures, I'm not sure if the gou doesn't have enough vram (that would be my first guess though honestly I would be surprised if that's the case given how old quake is and the low res textures typically involved) or the way they are rendered or what, but it definitely has something to do with that 
@therektafire 
unless QSS is still being updated?
Yes it is. Latest version (r10) is following the changes made to QS 0.93.1. But if your laptop is too old your framerate will be loooooow: I installed both engines on a Dell Inspiron 9400 (Core2Duo T5500, 2Gb RAM, ATI Mobility Radeon X1400) and QSS is pretty much a slideshow while QS runs fine. 
That's Annoying. 
Couple more debugging ideas:
- could you check the QS console output again to confirm the GL_VERSION, just want to confirm it's the 24.20 driver that is still crashing.
- Launch with -noglsl to switch back to the GL1 rendering code. By default it will use OpenGL 2 if available.

QSS will probably behave the same because the renderer is mostly identical to Quakespasm. ( @Mugwump if QSS is slower it's probably because a mod like AD is using the hd particles. ) 
@ericw 
Yes, the framerate drop is quite drastic in AD, but I also noticed a lesser difference in non-AD maps. 
It Does Work With -noglsl 
But now the mouse pops up on the screen after a couple of seconds in fullscreen mode which is *really* annoying because it causes the window to minimize :/ I'll try QSS to see if that helps but I'm not holding out any hopes.

Also the laptop isn't old per se but rather new and cheap so it has some less than stellar specs, but the gpu does have opengl 4.5, DX12, and vulkan 1.0 support so I don't get why QS would be crashing with GLSL enabled since it should be supported? Also Mark V works without any console fiddling if that helps 
:( 
Spiked gave same result, only works with -noglsl but in -noglsl the mouse stays above the window and clicks out of it. I wish I could tell you what exactly is going wrong with the GLSL rendering that is causing the crash but I'm not sure how to get that information particularly. 
FTE And Mark V Work Though 
FTE and Mark V both work with OpenGL though, trying to use vulkan in FTE caused it to have a freaking seizure which is more or less what I expected would happen if I tried to run a game with vulkan on here LOL, it just isn't good enough for that even if it has it. I also apparently get over 400FPS in FTE with the vanilla/"spasm" graphics settings which is always good. So maybe I'll switch to FTE for the time being until QS gets its crap together with the GL renderer. 
 
until QS gets its crap together with the GL renderer

You might consider that ericw does what he does for free and that engine development is hard and involves many combinations of operating systems, graphics cards and equipment.

@ericw - I have Mark V log the command line in the log. That way if someone posts the log, you don't have to ask what command line they are using. 
 
well, ok, what I meant by that was "until ericw can find the problem and it gets fixed". Like I said if I could figure out what the problem was exactly I would give more helpful info but he is probably in a much better position to do that than I am since he is the one developing it. I guess the best advice I could give is buy a cheap crappy $300 or under laptop like the one I have with intel HD 600 or similar GPU and profile it and see what part of the renderer is causing it to get angry, the one I have in particular is this one

https://support.hp.com/us-en/document/c05987723 
#3537 
Translation:

"I'm having an issue running a 20+ year old game on my laptop! Go spend hundreds of dollars tracking down an esoteric issue I can solve by using other software."

This makes zero sense to me. It's good to ask for help, but to suggest that Eric spend hundreds of dollars to help you out is pretty wacky! 
 
As engine developer, if my engine didn't run on a popular computer running a popular operating system using a popular graphics card I'd be irritated. But "we cannot safely draw that conclusion yet".

All that is seen so far is someone appearing to have an issue exclusive in the universe to their computer (but it might not be -- re:poorchop + Mark V).

Whether or not the suggestions by individual having a problem are feasible, there is still a problem.

And so goes engine coding. Which is why engine coding is hard. Engine coding is being the frontline for unwanted situations/knowledge. And you are always better to know about them! 
Laptops 
I have a laptop with Intel graphics. Actually I have 2. They both run Mark V and QS fine. The only issue is that the 4k laptop is a bit choppy. 
@dumptruck 
I see, what model of intel hd is it? And is it "HD" or "UHD", mine is a "UHD" 600. Also maybe you should try lowering the resolution of the game to increase the FPS, playing quake in 4K doesn't really make much sense especially on a weak gpu, my max res for quake would be 1080p personally 
 
I've one with an Intel UHD 620.

It easily hits over 1000 fps in ID1 timedemos.

It plays Doom 3 at over 60 fps.

It runs QS and other engines flawlessly.

So I guess you need to give more info about what you're doing to cause QS to have a meltdown. You mentioned something about a map you're making - is your problem confined to that map only? Can you run other content? Can you share the map (or a minimal example that reproduces the problem)? Single-stepping the texture loader in a debugger seems a good place to start, based on other info you've provided. This is going to be something like a 0-sized texture causing a code path to trip over itself. 
 
It isn't occurring with the map technically. Basically what happened with my map is that I accidentally compiled it without textures and it loaded up fine. But when I compile it with the textures it crashes. BUT it doesn't just crash on MY map, it crashes on EVERY one, even vanilla id1. It also won't load the demos on the start screen either. But FTE and Mark V both work fine with all the maps I have including id1 (in opengl mode anyway, FTE doesn't have such a fun time with Vulkan let's just say that :D). So it's a Quakespasm specific problem that is effecting every map. What debugger would you recommend I use to check it? The only debugger-Like program I've ever tried to use on games is Cheat Engine and it wasn't for actually debugging things hehe. 
#3543 
I'm suggesting that the Quakespasm developers could debug it, not you, but from the extra info you've provided it does seem a larger problem with your setup for sure - crashing on vanilla ID1 maps is not a good sign. 
 
Hm I'm not sure what it could be. My drivers are up to date and it only happens in quakespasm in particular. It can handle other ports and even other games just fine, I've just started playing Eve Online recently and it is at least playable albeit with almost everything on low settings. So not sure what is going on there since everything else works as expected. What do you think it could be? 
#3545 
OpenGL vs Direct3D - most games don't use OpenGL.

A suggestion: try a totally fresh, vanilla Quake installation, with unmodified PAK0.PAK and PAK1.PAK, and nothing else.

I'm not suggesting this as a solution, it's a troubleshooting step - just trying to carve up the problem and see where the cause might be. 
 
I have a sneaky suspicion that you've managed to get a bad opengl32.dll into your Quake folder is what I'm saying. 
@therektafire 
A suggestion: try a totally fresh, vanilla Quake installation, with unmodified PAK0.PAK and PAK1.PAK, and nothing else.
This would be helpful, and if you don't mind, please post the console log again as I'd like to confirm what driver version the engine is picking up (iirc I've seen intel driver installs seem to work and then not actually end up being used.)

We did have report of corrupted textures in July with:
GL_RENDERER: Intel(R) HD Graphics 530
GL_VERSION: 4.4.0 - Build 20.19.15.4549

http://celephais.net/board/view_thread.php?id=60452&start=3466&end=3471

Unfortunately the only Intel graphics I have handy is HD4400 which runs a a different driver, and the latest drivers work fine for ne, 
Console Log 
LOG started on: 08/14/2018 15:25:00
Playing registered version.
Console initialized.
UDP Initialized
WIPX_OpenSocket: Address family not supported by protocol family
WIPX_Init: Unable to open control socket, IPX disabled
Exe: 16:04:16 Jun 6 2018
256.0 megabyte heap
Video mode 640x480x24 60Hz (24-bit z-buffer, 0x FSAA) initialized
GL_VENDOR: Intel
GL_RENDERER: Intel(R) UHD Graphics 600
GL_VERSION: 4.5.0 - Build 24.20.100.6229
FOUND: ARB_vertex_buffer_object
FOUND: ARB_multitexture
GL_MAX_TEXTURE_UNITS: 8
FOUND: ARB_texture_env_combine
FOUND: ARB_texture_env_add
FOUND: SDL_GL_SetSwapInterval
FOUND: EXT_texture_filter_anisotropic
FOUND: ARB_texture_non_power_of_two
FOUND: GLSL
Intel Display Adapter detected, enabling gl_clear

Sound Initialization
SDL audio spec : 44100 Hz, 1024 samples, 2 channels
SDL audio driver: directsound - Speaker/Headphone (Realtek High Definition Audio), 65536 bytes buffer
Audio: 16 bit, stereo, 44100 Hz
CDAudio disabled at compile time

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
couldn't exec autoexec.cfg
3 demo(s) in loop

FITZQUAKE 0.85 SERVER (51103 CRC)



Introduction
Using protocol 666
Couldn't find a cdrip for track 4
=====================================================

The same thing happens with a fresh quakespasm install and a fresh copy of the paks, it launches but the demos don't load and it crashes when I try to start a new game. And it would indeed appear the 24.20.100.6229 drivers are being used. So it isn't that unless there is something wrong with the drivers themselves in which case I don't think I can do anything about that... 
Putting -noglsl Works Though 
Running it with -noglsl does work though, so I guess all this bickering is for nothing :D But when I do -noglsl the mouse is stuck on top of the window which causes the game to lose focus and minimize itself whenever I click, this behavior was the exact same on 0.93 as it is on 0.93.1 and I actually pointed it out yesterday as well. But, why would I need to put -noglsl when the card has GLSL and other engines accept it? Ugh. 
Thanks For The Confirmation 
It does sound like a driver bug to me.
If anyone else has an Intel laptop that is compatible with this latest driver, it would be interesting to hear if you can reproduce the crash:
https://downloadcenter.intel.com/download/27894/Intel-Graphics-Driver-for-Windows-10?product=80939
(there's a long list of supported model numbers there, includes HD Graphics 500 and 600)

But when I do -noglsl the mouse is stuck on top of the window which causes the game to lose focus and minimize itself whenever I click, this behavior was the exact same on 0.93 as it is on 0.93.1 and I actually pointed it out yesterday as well.
I have no idea how switching the rendering code path could trigger this. :(

btw another engine worth trying is vkQuake:
https://github.com/Novum/vkQuake/releases 
 
The mouse going over the window instead pf being attached to it only happens in fullscreen, I'm wondering if it's part of the same driver issue. And it's also only a quakespasm problem as far as I can tell... 
 
Intel UHD 620, driver version 24.20.100.6229 (latest), Quakespasm 0.93.1, clean configs, no command-line args, Windows 10 1803 fully-patched.

Tested various windowed modes, as well as fullscreen at both 1920x1080 and 640x480; runs without crashing.

NOTE: the mouse pointer thing does not happen at 1920x1080 but does happen at 640x480. This is caused by Windows, not Quakespasm - specifically the "Optimal resolution notification" warning. To stop it, you need to set your Windows resolution to something lower than native, then click on the warning when you receive it, where you will get an option to disable it. This option is probably also buried somewhere in the Settings app.

Alternatively play at your native resolution - I seem to recall that Quakespasm has a video-scaling feature to emulate lower resolutions but I can't remember the cvars to use.

For completeness, here's the stdout:

Command line: C:\Games\QS\quakespasm-sdl12.exe
Found SDL version 1.2.15
Detected 8 CPUs.
Quake 1.09 (c) id Software
GLQuake 1.00 (c) id Software
FitzQuake 0.85 (c) John Fitzgibbons
FitzQuake SDL port (c) SleepwalkR, Baker
QuakeSpasm 0.93.1 (c) Ozkan Sezer, Eric Wasylishen & others
Host_Init
Playing registered version.
Console initialized.
UDP Initialized
WIPX_OpenSocket: Address family not supported by protocol family
WIPX_Init: Unable to open control socket, IPX disabled
Server using protocol 666 (FitzQuake)
Exe: 16:01:39 Jun 6 2018
256.0 megabyte heap
Video mode 640x480x32 60Hz (24-bit z-buffer, 0x FSAA) initialized
GL_VENDOR: Intel
GL_RENDERER: Intel(R) UHD Graphics 620
GL_VERSION: 4.5.0 - Build 24.20.100.6229
FOUND: ARB_vertex_buffer_object
FOUND: ARB_multitexture
GL_MAX_TEXTURE_UNITS: 8
FOUND: ARB_texture_env_combine
FOUND: ARB_texture_env_add
FOUND: SDL_GL_SWAP_CONTROL
FOUND: EXT_texture_filter_anisotropic
FOUND: ARB_texture_non_power_of_two
FOUND: GLSL
Intel Display Adapter detected, enabling gl_clear

Sound Initialization
SDL audio spec : 44100 Hz, 1024 samples, 2 channels
SDL audio driver: dsound, 65536 bytes buffer
Audio: 16 bit, stereo, 44100 Hz
SDL detected 0 CD-ROM drives

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
execing autoexec.cfg
3 demo(s) in loop
]playdemo demo1
Playing demo from demo1.dem.



the Necropolis
Using protocol 15
Couldn't find a cdrip for track 2
You got the shells
You got the Grenade Launcher
You receive 25 health
You get 2 rockets
You got the rockets
You got the nailgun
You got the nails
You got the nails
You receive 15 health
You receive 15 health
You got the rockets
You get 2 rockets
You got the nails
You got the nails
You receive 25 health

You need the gold key

You got the gold key
Shutting down SDL sound 
 
That was me, by the way. 
@mh 
I see, well I wanted to play on a lower resolution than native for performance reasons (never really tried playing at native res but I just wanted to be safe) though I suspect the CPU would be more of a hindrance to fps than the GPU, it's only a dual core @ 2.6ghz :( Also I'll disable the "optimal resolution" bs ASAP, I knew that it popped up every time since I would see it in the notifications after I exited but I didn't know it was causing the focus pro len :o. 
 
Yeah, it seems to be trying to steal the focus and having a good old fight with Quakespasm over it.

I'm sure that there's probably a more general solution to this.

Regarding performance, Quakespasm should be considerably less CPU-limited than other Quake engines (and certainly less so than the original FitzQuake base, which was very CPU-limited and contained a high number of pipeline stalls per frame), but for Quake content you should get decent performance at almost any resolution. 
Thanks Mh 
Good to have confirmation that the latest intel driver doesn't crash for you.
Still at a loss as to why the QS OpenGL 2.0 renderer isn't working for therektafire. Could be we're doing something unusual that triggers a driver bug with his specific hardware (UHD 600 vs your UHD 620).

also thanks for the reminder about the "optimal resolution" thing, now that you mention it, I remember seeing that as well. 
Pardon My Noobness But... 
could it be possible that another program like TB messed with something? I know TB's min. OpenGL requirement is 2.1... 
@mugwump 
Well TB runs surprisingly smoothly on it all things considered, at least with the smaller maps I've given it so far. There aren't any errors with it or Wally or any other quake related app tat I've tried so far. Also the hd 600 supports opengl 4.5 so I don't see what the requirement of opengl 2.1 would have to do with anything unless you are implying that it changed some driver setting? Does/can it do that? If so that's kind of problematic since it shouldn't exactly be doing that to begin with... 
I Was Replying To Ericw 
<Q>Still at a loss as to why the QS OpenGL 2.0 renderer isn't working for therektafire. 
Oops, Borked The Quote Tag... 
 
Antialiasing 
Antialiasing is not working for me.I try FSAA command and its not working.What am i doing wrong? 
IPv6 Support 
Little confused about something: does Quakespasm (as of 0.93.1) now have IPv6 support or not? I saw an earlier post (#3469) here of a condump that had it enabled. 
 
No. That was probably a condump from Quakespasm-Spiked which does:
http://triptohell.info/moodles/qss/ 
Feature Request 
Increase MAX_GLTEXTURES from 4096 to 8192. Or have a command line similar to -heapsize, like maybe -texsize to force the larger texture bank alloc.

It seems I found a new hard limit and can't add anything with a new texture, sprite, model, or otherwise. 
Lost Time Calculation 
I Need Some Help... 
What can I do to make Bal's beautiful Xmas map not look like a slideshow on my laptop. Thoughts? 
 
Try disabling the extra particles added by AD. 
Sure Thing. 
How to? 
Readme.txt 
 
@generic 
Besides the readme there should be a quake.rc file included in the mod. If you take a look there you can disable features that affect the framerate there as well. 
 
Hey, I'm having some pretty nasty audio stuttering issues on 0.93.1 on GNU/Linux. I've tried compiling from source with and without SDL2, as well as the amd64 builds on SF, but they all have the same problem. Game runs fine otherwise. I'm on Gentoo. Any ideas?

Command line: quakespasm
Found SDL version 2.0.8
Detected 8 CPUs.
Quake 1.09 (c) id Software
GLQuake 1.00 (c) id Software
FitzQuake 0.85 (c) John Fitzgibbons
FitzQuake SDL port (c) SleepwalkR, Baker
QuakeSpasm 0.93.1 (c) Ozkan Sezer, Eric Wasylishen & others
Host_Init
Playing registered version.
Console initialized.
UDP_Init: gethostbyname failed (Unknown host)
UDP Initialized
Server using protocol 666 (FitzQuake)
Exe: 13:41:52 Dec 14 2018
256.0 megabyte heap
Video mode 1920x1080x24 60Hz (24-bit z-buffer, 0x FSAA) initialized
GL_VENDOR: nouveau
GL_RENDERER: NV117
GL_VERSION: 3.1 Mesa 18.2.5
FOUND: ARB_vertex_buffer_object
FOUND: ARB_multitexture
GL_MAX_TEXTURE_UNITS: 8
FOUND: ARB_texture_env_combine
FOUND: ARB_texture_env_add
FOUND: SDL_GL_SetSwapInterval
FOUND: EXT_texture_filter_anisotropic
FOUND: ARB_texture_non_power_of_two
FOUND: GLSL

Sound Initialization
SDL audio spec : 44100 Hz, 1024 samples, 2 channels
SDL audio driver: alsa - HDA Intel PCH, ALC3239 Analog, 65536 bytes buffer
Audio: 16 bit, stereo, 44100 Hz
CDAudio disabled at compile time

========= Quake Initialized =========

execing quake.rc
execing default.cfg
execing config.cfg
couldn't exec autoexec.cfg
3 demo(s) in loop
Shutting down SDL sound 
First | Previous | Next | Last
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2018 John Fitzgibbons. All posts are copyright their respective authors.