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 Thought Maybe QS... 
may have been forked from Fitz or something. :-/ 
@Baker 
Please try the svn version: we might be releasing a 0.85.9 soon(ish). Source snapshot and pre-built binaries are temporarily at: http://quakespasm.sourceforge.net/devel/ 
I'll Do That 
I have to say, after reviewing your code changes in detail super-detailed review of Quakespasm changes, I think Quakespasm with all things considered is the best Quake engine ever top to bottom measured by platform interoperability, project structure, debugging and convenience. 
@szo ... 
I just looked over the changes between 8 and 9 and something MH would say goes like this:

You have IN_Activate and IN_Deactivate referenced everywhere, but really you should just check that in one place in the source once per frame.

Not that I've actually conquered this myself ... yet. Spike would recommend a Q3-like message queue (don't handle SDL messages immediately, queue them --- then handle once per frame --- so you have a single point of evaluation per frame and one place it happens).

In Mark V, this is a major goal to be in the late summer release. The way Quake handles input activation/deactivation is not good, case in point often in many engines if I ALT-TAB out and then back in, the brightness corrects and then it for some reason goes back to system normal (not what the Quake brightness option is set to).

If I can get a proper handle on this in the coming months --- after the feature is in a released Mark V for long enough to be considered road-tested -- I see if I can rework Quakespasm to use it. 
OMG Man. 
cheers for the patches Baker. 
@Baker 
Personally, I'm not very happy with our IN_Activate() & co being called from everywhere, either. It was done at some point during development of whichever version I can't remember, and it gradually got messier. It was partially adopted from uhexen2 but with more messiness. Needs addressing in newer versions, yes.

As for new version wrt your fov changes: I think they would not be needed anymore after the fov_adapt (Hor+) stuff, yes?

As for the demo changes: I know the idea is appealing, but I believe it needs a little more maturing? (esp. after reading the fog, etc. concerns in the code?) 
Well ... 
Both fog and skybox are hacks. They are read from worldspawn client-side [not via server svc] which violates client-server ideology.

Arguing against demo record in that context is like arguing against save games.

The issue is uncorrectable because to do it right, you would need the QuakeC source code to every map that uses a skybox to fix it. Except there are several dozens of closed source single player mods.

But Quakeworld has had demo record since 1996, ProQuake since 1999 and JoeQuake since 2003.

Do you tell people that want demo record --- and keep it mind that no demo record is recording that info, nor save games for that matter --- that because of design-flawed after-the-market implementations of fog/skybox [id Software's Quake didn't provide these, the after-the-market modification community did = all of us] that as a result you want to make it hard to record a demo?

Not that demos that record today in Quakespasm record skybox or fog -- because they don't.

I get your point and agree with it. Except we have to work with the world we've got, not the one we want.

How are the demos recorded in Quakespasm with say the "Necros savegame/loadgame trick alias" superior to the record at any time feature? They aren't.

So then the question just becomes user convenience.

But have you noticed an explosion of demo recordings lately? They are using Mark V.

I'm not trying to win an argument -- I view this with the same disappointed angle as you if you remember a discussion about mod cvars aren't recorded in Quake saves --- there isn't an absolute proper "win" to be had here.

Quake save games and demos are never going to record the entire server state. 
 
... has had demo record since ...
This sounds more like no other thing supports demo record, where you possibly mean ability to record after connect :)

I see your points, though. If Steve has no objections I can include the demo stuff in 0.85.9. 
 
OK then, applied the demo stuff at r847:
http://sourceforge.net/p/quakespasm/code/847/

So, v0.85.9 will support demo recording after connecting to server.
Will upload a source snapshot and prepare test binaries later today. 
Demo With Reloads And Non-system, Gamma?? 
Is it possible to continue recording a demo after level change or a reload (and demo would actually play back after reload point)? I know DP allows that, any other (hw accelerated win32) engine?

And any (again hw accelerated win32) engine that has internal not system gamma controls (again besides DP)

Posting in a top engine thread, but its about any engine. 
 
Anything that uses stuffcmds cannot be saved into saved games, and will need special care for clients that record mid-game.
Saying that the fog is part of the map is just about the least hacky way to do it, and will work in all saved games or demos, so long as there's no stuffcmds.

Its for this reason that csqc was designed to avoid random writebyte etc use, depending upon entities and stats. Stats can be trivially regenerated by the server (because they're dependant upon some global or field, and mapped correctly in the worldspawn function). Ents are regenerated automatically via the same mechanism that covers pvs, which must be present anyway. The fact that 515 added tempentity hacks to dp which got popularized by xonotic is a disapointment that breaks saved games all too easily.

Yes, saved games and demos will never record the entire state, but the key thing is that they don't have to - so long as the mod abstains from stuffcmd (and similar extensions). The rest can be reproduced from the state that is preserved.
Which is how mvds and qtv work. Note that mvds allow you to switch perspective from one player to another on the fly, while qtv is capable of adding new spectators mid game, all without access to the original game state.

TLDR version: stuffcmd is evil and cannot be supported properly. Stats rock. 
More Stuff! 
stuffcmd is evil and cannot be supported properly.
What do you suggest that MOD creators use instead of stuffcmd? I know several MODs that use stuffcmd to change fog parameters for example, how else can the MOD issue console commands without the echo to the console? 
@slapmap 
<quote>Is it possible to continue recording a demo after level change or a reload (and demo would actually play back after reload point)?</quote>

IIRC, QuakeSpasm has support for that since v0.85.7. 
Test Builds For New Version 
at: http://quakespasm.sourceforge.net/devel/

If nothing goes wrong, I guess I'll release this as v0.85.9. 
Random Btw Comment 
I don't know about others, but in my view the console and status bar alpha values that QS defaults to are way too transparent. I'd prefer 0.8 and 0.9 respectively - currently it's sometimes unnecessarily harder to read on bright or busy backgrounds. I also wonder why this is forced on by the engine while other things like the slow console speed remain unchanged. 
Test Build 
Works fine, didn't test much just tried insta/reload demo recording. 
 
I also wonder why this is forced on by the engine while other things like the slow console speed remain unchanged.

Should honestly just get rid of the console sliding imo... 
 
(should have been in quote tags) 
FSAA In OS X Version ? 
Is there an option to turn ON the FSAA, on the OS X version ? This is a must have ! 
And Command-H On OS X ? 
I forgot to ask about the command-H feature, on OS X. Can we put Quakespasm to background ? Another must have. 
V0.85.9 
Version 0.85.9 of QuakeSpasm is released:

* fixes for several undefined behaviors in C code (gcc-4.8 support.)
* implemented Hor+ style field of view (FOV) scaling, useful for
widescreen resolutions. configured by new cvar fov_adapt: set it to 1
and your fov will be scaled automatically according to the resolution.
enabled by default.
* adjusted string buffers for PR_ValueString and friends to fix crashes
with excessively long global strings seen in some rude mods.
* toned down warning messages from PF_VarString() a bit.
* fixed fitzquake's map existence check in changelevel (used to leak
file handles which would end up in a Sys_Error() due to consuming all
free handles if many maps reside not in pak files.)
* fixes/cleanups in chat mode handling. client no longer gets stuck in
chat mode upon disconnect.
* mouse grab/key_dest fixes and key cleanups.
* the "speedkey" now acts as "slowkey" when "always run" is on.
* support for demo recording after connection to server. (thanks to
Baker for a patch)
* corner case fixes in COM_Parse() for quoted strings and support for
C-style /*..*/ comments.
* changed lightmaps to GL_RGBA instead of GL_RGB.
* better parse for opengl extensions list (from quakeforge.)
* vsync saving/loading fixes.
* fixed pointfile loading.
* multiple cleanups in gl_vidsdl.c.
* Opus music decoding support (as an optional patch only.)
* several other minor fixes/cleanups. 
What About The OS X Vcersion ? 
So if I understand, there's still no FSAA and command-H features for the OS X version ? 
@Barnak 
No, not yet, unfortunately. 
Grrr! 
Then this update is useless to me...

AAARGH ! I'M GONNA KILL ONE THOUSAND OF FIENDS AND PEEL-OFF A SHAMBLER ! 
Barnak 
You can send QS to the background by switching to windowed mode (Alt+Enter) - it's a bit clumsy, but it works. To release the mouse, hit Esc to go to the menu.

Regarding FSAA, If you have a high resolution screen, you can just run QS at its native resolution and everything will be pretty much as smooth as if you were running with FSAA. I run QS at the native res of my 27" iMac and I don't miss FSAA at all. 
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.