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 wish QS would stop spamming the console with all the "FindFile: blahblag.pcx" messages. 
 
yeah what is that?? if it's just looking for external images, it should be putting out errors unless there IS an image in the first place. 
 
it shouldn't be 
Vsync 
I was wondering how to enable vsync.

I've been looking around, but nothing comes up ('vid_wait' or 'vid_wait_override') are commands I have seen, but they are nor clear enough for me to understand..

Any ideas?

Cheers!

Baz. 
 
in the windows version, it's in the video options menu. 
Vid_vsync 
But beware - some gfx cards on some platforms don't support app controlled vsync under OpenGL and expect you to set it via their control panel. 
Vsync 
Quakespasm is detecting vsync capability because it probably checking for that GL_swap_control extension, but needs to check for GL_ARB_sync for the Mac at least with the modern Macbook Pros

[That's kind of a fiasco and not fair to the developer. There shouldn't be several different ways to detect sync capability. On Windows even sometimes you have to check WGL extensions instead of the GL extensions. That's just wrong.] 
Vsync 
Well, whenever I run a user mod/map in QS, the Quake video options menu lists vsync as 'n/a'.

Is there away to enable it? 
No. 
Not without the developers making a change to Quakespasm. 
VSync Continued 
GL_ARB_sync is not related to vsync. Apparently that is something else (sync multiple GPUs). 
Baker 
so basically what you wrote above is all wrong, yeah? If you find out how to handle vsync on OS X, let me know and I'll add it to the mac builds.

AFAIK, OS X has a different architecture than other OSs when it comes to swapping the buffers. So whether you can use VSync also depends on how the window / gl view are created on OS X. At least, that's what I remember - might be wrong or different now. 
SDL Can Do It Since 1.2.10 
But I think the extension check is unnecessary, at least on OS X. 
@Sleeperwalker 
The Fruitz of Dojo port has had vid_vsync for ages although the cvar name is vid_wait.

void VID_SetWait (UInt32 theState)
{
const long params = theState;

// set theState to 1 to enable, to 0 to disable VBL syncing.
[gGLContext makeCurrentContext];
if(CGLSetParameter (CGLGetCurrentContext (), kCGLCPSwapInterval, �ms) == CGDisplayNoErr)
{
gGLVideoWait = vid_wait.value;
if (theState == 0)
{
Con_Printf ("video wait successfully disabled!\n");
}
else
{
Con_Printf ("video wait successfully enabled!\n");
}
}
else
{
vid_wait.value = gGLVideoWait;
Con_Printf ("Error while trying to change video wait!\n");
}
}

And the part that calls that function:

void GL_EndRendering (void)
{
// set the gamma if fullscreen:
if (gVidDisplayFullscreen == YES)
{
VID_SetGamma ();
CGLFlushDrawable ([gGLContext cglContext]);//CGLGetCurrentContext ());
}
else
{
// if minimized, render inside the Dock!
GL_RenderInsideDock ();
}

// check if video_wait changed:
if(vid_wait.value != gGLVideoWait)
{
VID_SetWait ((UInt32) vid_wait.value);
}


http://www.fruitz-of-dojo.de/php/download.php4?dlnr=2 
Of Course With SDL ... 
All the Core Graphics stuff is done by SDL, but that is how Fruitz of Dojo Quake does it ... 
Okay 
Maybe my memory is wrong or I'm mixing things up. I guess I'll have to see whether the SDL way actually works at all, in that case I'll just remove the extension check. 
@negke 
I wish QS would stop spamming the console with all the "FindFile: blahblag.pcx" messages

ok 
Chase_active 1 
It seems that qs has the chase cam bug that older engines have. With chase_active 1 set, if the camera 'hits' a wall, you can partially see through the wall. I think there was a fix for this on inside3d. 
Chase Cam Fixes 
Of the various options, if you want an essentially 100% fix as easily as possible, this one by MH is the easiest to implement:

http://forums.inside3d.com/viewtopic.php?f=12

There is a 95-99% fix by R00k that is even easier to implement, but then you'll get driven insane if you notice even a single weird situation that it fails ... particularly stepping backwards at an angle.

The MH fix does not take entities into consideration. This means doors and platforms and such. More "sophisticated" maps of the times where you turn a wall into a func_wall to make it transparent (FitzQuake .alpha support) or in the case of Remake Quake (alpha texture support, like Half-Life ... fence textures per se) the MH fix won't take func_walls into consideration because those are entities, not the "static unchanging world". 
Link Fail ... Attempt 2 
Yeah, our chase cam is broken. 
Actually 
My second post in that thread does do entities, with the exception of statics (it wouldn't be hugely difficult to add statics to it either).

It's definitely worth following the subsequent discussion in it as there's valuable info and experimentation there from quite a few others. 
Macbook Pro "Delete Key" 
On at least the current Macbook Pros, there is a delete key where the backspace key would be.

And it works like the backspace key. If you hold "FN" and press the backspace key, it works like the delete key.

But it doesn't work right in Quakespasm. If I go to customize controls and try it bind it to a key, it says "Backspace."

But in the console it doesn't do anything.

The backspace key works right in Open Arena (ioQuake3) and in my modified ProQuake which uses the Fruitz of Dojo input code.

Oddly enough, the SleepWalkr RMQ Engine build doesn't have this problem. But Quakespasm 0.85.6 OS X does.

I'm just making a note of this here so it is recorded. I might incidentally bump into the nature of this issue and post it here. 
Does Not Appear To Be SDL Issue 
Here is the bad code:

case key_console:
if ((event.key.keysym.unicode != 0) || (modstate & KMOD_SHIFT))
{
#if defined(__QNX__)
if ((sym == SDLK_BACKSPACE) || (sym == SDLK_RETURN))
break; /* S.A: fixes QNX weirdness */
#endif /* __QNX__ */
if ((event.key.keysym.unicode & 0xFF80) == 0)
sym = event.key.keysym.unicode & 0x7F; <----------- Baker
/* else: it's an international character */
}
/* printf("You pressed %s (%d) (%c)\n", SDL_GetKeyName(sym), sym, sym);*/
break;
default:
break;
}


It is turning a sym = 8 (backspace) into sym = 127 (delete)

That only occurs for case keyconsole.

If I change #if defined(__QNX__) to #if defined(__QNX__) || defined(__APPLE__) I no longer have this issue.

Am I the only Mac Quakespam user whose backspace key does not work correctly in the console with 0.85.6 ? 
I Get The Same Bug 
whether pressing the mac Delete key on its own, or Fn+Delete, both act as "forward-delete" in the quakespam 0.85.6 console� i.e. they act like the PC delete key. 
That Is On OS 10.7.2, Macbook 5,2. 
 
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.