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.
First | Previous | Next | Last
Slightly off-topic, if you are interested I would like to chat with you and see if you are interested in assisting me (or joining me) in some engine coding.

You and I have always had the same goals and I always admired your Mac OS mojo. And we could test each other's work.

Let me know. 
Baker that would be a privilege; it's nice to hear from you. I spent the last year or so (trying) to learn how to program with the QSS-M project. When I came back to Quake a few months into the pandemic I dove into all the projects and found so many of your amazing contributions and borrowed from many. 
Excellent! For the lack of a better plan, I'll send you my email address in a private message at in an hour or so. 
I tried with my old mouse (with a cable). It's the same issue. I suspect it's related to the Apple Studio display I use (it's a 5K display). The mouse is way too slow, even when I set its speed to max in QS-M. When I quit the game, my mouse is then reverted to a crawling speed. I need to set it back to my usual speed in the MacOS settings pane. So QS-M is unusable to me.

I also suspect some kind of interaction with the preferences of the regular QS (latest version available for Mac OS). It appears that when I change my prefs settings in QS-M, it may interfere with my settings in regular QS, but I'm not sure. 
VkQuake (Woods) 
I tried vkQuake, which is native on Silicon Macs (it's an universal binary). It works, except that ... sounds totally sucks and apparently there's no option to setup the sound system. Playing vkQuake give me the impression to have a strong hearing problem. WTF is that mono sound system?

Also, vkQuake doesn't give a command line window at the game launch, which sucks! QuakeSpasm is much better (and there's no sound problem with QS!).

The mouse feel is different in vkQuake. It's not as "sensible" as the mouse sensitivity in QS, but it's okay. I can set it to a relatively good feel. But strangely, it affects the mouse sensitivity in QS after I quit vkQuake and I have to set it back in QS! WTF!?

On a side note: vkQuake has a cool control feature that I would like to see in QS: a zoom view using the keyboard. I'm unaware if there's something similar in QS. 
VkQuake (Woods) 
With Windows, you can change the sound settings as for QuakeSpasm in vkQuake by adding :
vkquake.exe -sndspeed 44100

Else, sound sampling is 11025 Hz as for original Quake.

Maybe this works on Mac too? 
Macs applications can't do command line parameters.

Like how the Apple mouse that comes with your Mac has 1 button, so you put the Apple mouse in a drawer and plug in a real mouse with 5 mouse buttons and a scroll wheel. 
The regular QS on Mac has a command line option at start. vkQuake doesn't.

The Apple Magic mouse is a track pad on a curved surface. It has two buttons and a "scroll wheel". In Quake, I don't need to use these options. I use the mouse exactly like my old one-button mouse (with a cable) and it's enough for me in Quake1 (and even in Quake3). I do all the rest with my left hand on the keyboard. 
Gonna Ask It Here 
Does anybody know whether Ironwail supports checksum-based loading of ent files? IIRC, QSS had that feature and it was quite useful. 
@metlslime :

Fitzquake had bumped MAXALIASVERTS and MAXALIASTRIS practically to twice
their original values (literally in MAXALIASTRIS case) but corresponding
arrays in gl_mesh.c remained the same -- namely the globals commands[],
stripverts[], striptris[], used[] and vertexorder[], and also the locals
besttris[] and bestverts[] in BuildTris().

Is that an oversight?

With current array sizes we get a segmentation fault in mj4m4 and mj4m5
maps of the mjolnir mod but not if we double sizes of those arrays (the
commands[] array in particular.) 
I guess it was an oversight. I did a search and found this message:

Which indicates my motivation to bump MAXALIASVERTS to match software quake's max (which was higher than glquake.) 
Quakespasm 0.96.0 Released 
Version 0.96.0 of QuakeSpasm is released.


Changes since the previous version:

- Adjustments to joystick defaults and behaviour. (See the
"Controller support / Cvars" section in the README.)
- Fix for a mouse grabbing issue on macOS.
- Add missing support for -ip command line option on unix / macOS.
- Backport angled sprites code from FTEQW (spriteframetype: 2, must
have 8 frames per group.)
- Bump the progs execution runaway loop limit to 16M.
- Add signon buffer fragmentation to fix SZ_GetSpace errors on
certain maps when using protocol 999.
- Increased MAX_DATAGRAM to 64000 to overcome packet overflows.
- Bump the MAXALIASFRAMES limit to 1024.
- Fix arrays to have proper sizes in gl mesh code, reflecting
- Increased default value of gl_farclip to 65536.
- Increase chase cam target trace distance to allow for chasecam to
function in large open maps (useful e.g. for the func_vehicle mod.)
- Raised default maximum number of particles to 16384 (can be set
up to 32768 with -particles on the command line.)
- Fix on-screen keyboard showing up suddenly on Steam Deck when
starting a map.
- Fix viewmodel interpolation with >10Hz animations.
- Fix a memory leak when exiting game in SDL2 builds.
- Fix a possible crash when handling clipboard data on macOS.
- Fix a potential crash after loading of saved game.
- Fix possible out-of-bound reads when handling progs type sizes.
- Fix Dutch angle VP_PARALLEL_UPRIGHT sprites.
- Fix an issue with lights blending by using 10 bit color depth for
lightmaps. (For GLSL mode only.) Disable with "-nopackedpixels",
if necessary.
- No relative motions when the window is not focused.
- Status bar and intermission screen tweaks.
- Properly display monster counts > 3 digits.
- Fix console animation with scr_conspeed <= 0.
- Fix mouselook not working upon game quickload during a demo play.
- Haiku operating system support.
- Fix console when server is run noninteractively with stdin
redirected from /dev/null.
- Updated Visual Studio project files.
- Minor code cleanups. Updated third party code, e.g. SDL, music
codecs, etc.
- Thanks to Andrei Drexler, Alexey Lysiuk, Andrey Budko, Boris I.
Bendovsky, Chris Cowan, Maciej Olędzki, Simon McVittie, OscarL,
Eric Wasylishen, Jaycie Ewald and Spike for patches. 
Still Mac Intel? No Silicon Version Yet? 
While the app works great in emulation mode with Rosetta 2, I'm wondering if a native Silicon version will come one day. 
M1 requires Apple 'notorization' and I don't have an Apple certificate to sign my builds (the unsigned M1 versions will refuse to run..) The Xcode project file included in the source supports targeting M1, so you can build yourself (or keep using the x64 version.) 
While I don't know much about M1 compilations, I believe there's a way to build native apps for Mac Silicon without the pesky Apple notarization. I may be wrong, though.

Anyway, multi-thanks a lot for keeping Quake alive on Macs! 
believe there's a way to build native apps for Mac Silicon without the pesky Apple notarization.

If there is, I'd like to know.

Anyway, multi-thanks a lot for keeping Quake alive on Macs!

You're most welcome. 
Quakespasm 0.96.1 Released 
Version 0.96.1 of QuakeSpasm is released.


Changes since the previous version:

- Fix demo recording as client-only after connection to server (was
broken by signon changes in 0.96.0. Thanks to Jozsef Szalontai for
issue report.)

- Fix potential buffer overflow in COM_Parse(), e.g. with maps with
oversized 'wad' fields. (Thanks to Andrei Drexler.)

- Minor code cleanups. 
The Only Engine 
since v.0.96 is able to complete Mjolnir for now. May be it is time to update IronWail wich unable to run this mod normally? (map mj4m4 IW won`t load at any way for me). BTW IW my common Quake engine for now. I make no claims, I appreciate work of mr. Andrei Drexler. Thank You. 
What’s Wrong With Last QSS Release? 
(2024-march-01) Every step up the stairs is the pain for eyes, even 8 units high? 
@metlslime, @mh 
@metlslime, @mh :

I was reported a stack buffer overrun in Mod_PolyForUnlitSurface
Fixed easily by removing the hardcoded local verts and inlining
'convert edges back to a normal polygon' code into poly creation
as shown in the patch in there.

However, a similar local copy to a hardcoded local verts[64] is
also in GL_SubdivideSurface, and the same trick can not apply to
it. Its subroutine SubdividePolygon() checks for numverts > 60
and errors out if it is so, but GL_SubdivideSurface itself does
not check before copying to the stack buffer verts[64]: What is
a good solution here? Easy way out by erroring out if fa->polys->
numverts > 64 ?? 
I don't see an easy way to remove the arrays, since it's recursively creating new arrays as it goes. You could throw an error in GL_SubdivideSurface like you suggested. or do a warning and drop all of the remaining verts (leaving an incomplete polygon.) 
@metlslime : 
OK, will throw an error. Thank you. 
New Idea 
if surfaces are always convex polygons, GL_SubdivideSurface can pre-divide it into a number of “triangle fan” parts. that could be done inline by messing with the vertex array in place and keeping track and fixing it up as you go. then youre only sending safe data into the recursive function. 
Re: New Idea 
If you can send me a patch (sezeroz _at_ gmail _dot_com) I can
gladly test and include it in the next release. If not, well, we
have never hit a stack overrun in GL_SubdivideSurface so far and
this was just a safeguard anyway. Thanks. 
Quakespasm 0.96.2 Released 
Version 0.96.2 of QuakeSpasm is released.


Changes since the previous version:

- Fix stack buffer overrun Mod_PolyForUnlitSurface: fixes crash when
loading lim_daviddg.bsp from Liminal Spaces Jam.
- Fix potential buffer overflow in progs global string functions.
- Fix potential buffer overflow in Mod_LoadAliasFrame()
- Optimize BoxOnPlaneSide()
- Reserve enough space in PF_makestatic() for worst case scenarios.
- Improve handling of huge entities in SV_FindTouchedLeafs()
- Warn about bad maps with only 1 or 2 edges per face (e.g.: mj4m?,
alk_dancing, ej3_bizz, rotj_entsoy...)
- Apply FOV gun scaling for r_showtris
- Sliders with visible values in options menu.
- game command now refuses setting a non-existing game directory
- Fix build in C23 mode.
- Minor code cleanups. Updated third party code, e.g. SDL, music
codecs, etc.
- Thanks to Andrei Drexler, Alexey Lysiuk, Diordany van Hemert, and
Jaime Moreira for patches. 
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.