Unvanquished Development activity

Events from:

NetRadiant
NetRadiant
Monday, 10 November 2025

Add the q3map_backsplashPoint and q3map_backsplashArea shader keywords.

  • q3map_backsplashPoint: legacy point light backsplash.
  • q3map_backsplashArea: area light backsplash.

Without them the default or what command line requested is used.

Thomas Debesse (0c813a34) at 10 Nov 16:13

q3map2: add the q3map_backsplashPoint/Area shader keywords

Thomas Debesse (9cf62fee) at 10 Nov 16:11

Thomas Debesse (0c813a34) at 10 Nov 15:38

q3map2: add the q3map_backsplashPoint/Area shader keywords

... and 1 more commit

Context: It is highly recommended to use a non-fast light stage (even if light bounces are fast) as it produces much better graphics, and current computers are fast enough to compute that, see for details: forums.unvanquished.net/viewtopic.php?t=2181

The q3map2 tool recognized the q3map_noFast option to force a given light shader to not be fast when the whole build was set as fast, but it lacked the q3map_fast option to force a given light shader to be fast when the whole build was set as non-fast.

Actually it doesn't really make sense for a new map to use a fast light falloff, but when rebuilding an existing map that was tested with a fast build, this may not give the expected results on some edge case. This situation is believed to be rare, but it can happen.

Here is an example of the hangar28 map for Unvanquished from 2017, the translucent force field dome uses a shader emitting some cyan light to pain the nearby surface as a special effect. It's a sci-fi effect and isn't meant to be physically correct:

When using a non-fast light falloff, the whole place is painted in cyan:

Using the q3map_fast option, we keep the special effect working as the mapper tested it:

I only expect this keyword to be used on things that aren't really lights but are implemented as light shaders as a way to intentionally bleed some colors. This is meant for compatibility.

First screenshot is using a fast build. Second and third screenshots are using a non-fast build (they also use a more recent source directory, hence the difference due to normal maps). The third screenshot also uses q3map_fast on the force field shader to keep the legacy behavior of the emitted color.

Thomas Debesse (9cf62fee) at 10 Nov 15:38

q3map2: add the q3map_fast option to force the usage of a fast ligh...

Thomas Debesse (9cf62fee) at 10 Nov 15:37

q3map2: add the q3map_fast option to force the usage of a fast ligh...

... and 2 more commits

Thomas Debesse (4acad803) at 10 Nov 15:37

q3map2: add the q3map_backsplashPoint/Area shader keywords

I split the option as two keywords: q3map_backsplashPoint and q3map_backsplashArea.

It makes the name explicit and then easier to read without having to remember what value was for what, also other keywords usually don't use booleans so this wasn't consistent.

It's also consistent with the -backsplashpoint and -backsplasharea command line options.

Thomas Debesse (6f218e98) at 10 Nov 15:26

q3map2: add the q3map_backsplashPoint/Area shader keywords

... and 5 more commits

In Debian, we like (maybe at little bit too much) manpages. Ideally we would have one for each cli tool, but we have to start somewhere.

This has been merged by hand, and I added a commit to use our existing install path mechanism to make it more portable.

Thanks.

Thomas Debesse (c6f47de1) at 10 Nov 15:15

cmake: make man page installation more portable and leverage our cm...

... and 1 more commit

NetRadiant
NetRadiant
Friday, 31 October 2025

Context: It is highly recommended to use a non-fast light stage (even if light bounces are fast) as it produces much better graphics, and current computers are fast enough to compute that, see for details: forums.unvanquished.net/viewtopic.php?t=2181

The q3map2 tool recognized the q3map_noFast option to force a given light shader to not be fast when the whole build was set as fast, but it lacked the q3map_fast option to force a given light shader to be fast when the whole build was set as non-fast.

Actually it doesn't really make sense for a new map to use a fast light falloff, but when rebuilding an existing map that was tested with a fast build, this may not give the expected results on some edge case. This situation is believed to be rare, but it can happen.

Here is an example of the hangar28 map for Unvanquished from 2017, the translucent force field dome uses a shader emitting some cyan light to pain the nearby surface as a special effect. It's a sci-fi effect and isn't meant to be physically correct:

When using a non-fast light falloff, the whole place is painted in cyan:

Using the q3map_fast option, we keep the special effect working as the mapper tested it:

I only expect this keyword to be used on things that aren't really lights but are implemented as light shaders as a way to intentionally bleed some colors. This is meant for compatibility.

First screenshot is using a fast build. Second and third screenshots are using a non-fast build (they also use a more recent source directory, hence the difference due to normal maps). The third screenshot also uses q3map_fast on the force field shader to keep the legacy behavior of the emitted color.

Thomas Debesse (060e2a4b) at 31 Oct 18:03

q3map2: add the q3map_fast option to force the usage of a fast ligh...

It also supports:

  • OpenArena
  • Q3Rally
  • Reaction
  • Smokin' Guns
  • Unvanquished
  • WarFork

Can you sort the entries alphabetically?

Can you sort that alphabetically?

Not platforms but games.

NetRadiant
NetRadiant
Tuesday, 28 October 2025

Spike29 (04201ff5) at 28 Oct 09:42

Merge branch 'spelling' into 'master'

... and 1 more commit

fix "spelling-error-in-binary" reported when packaging netradiant for Debian; it shouldn't hurt

Thanks, it can't hurt indeed.

In Debian, we like (maybe at little bit too much) manpages. Ideally we would have one for each cli tool, but we have to start somewhere.

Daemon Engine
Daemon Engine
Sunday, 19 January 2025
@slipher slipher commented on DaemonEngine/Daemon#1504 · January 19, 2025 09:29

It appears that the NaCl exception handling method is broken in general. I tried the following patch: diff --git a/src/common/System.cpp b/src/comm…

@slipher slipher commented on DaemonEngine/Daemon#1497 · January 19, 2025 09:08

Apparently it happens on MSYS MinGW also.

Unvanquished
Unvanquished
Saturday, 18 January 2025
@Gireen Gireen opened an issue in Unvanquished/Unvanquished · January 18, 2025 21:49
add labels and tags for servers that should be hidden by default #3299

the labels would be [old] as serverlabel that masterserver or the game sets for servers that run an old incompatible version [hidden] as serverlab…

@Gireen Gireen commented on Unvanquished/Unvanquished#3298 · January 18, 2025 21:26

oblivious illegal Is that, like, accidentally snorting a bunch of cocaine? I think consumption is not illegal, and hard to achieve with text al…

@sweet235 sweet235 commented on Unvanquished/Unvanquished#3298 · January 18, 2025 19:59

oblivious illegal Is that, like, accidentally snorting a bunch of cocaine? I suppose that, apart from murder and the likes, very few things a…

@VReaperV VReaperV commented on Unvanquished/Unvanquished#3298 · January 18, 2025 19:31

oblivious illegal Is that, like, accidentally snorting a bunch of cocaine?

@Gireen Gireen opened an issue in Unvanquished/Unvanquished · January 18, 2025 19:27
codify masterserver rules for server hosting #3298

it might be time to codify rules about the masterserver list access for server admins and how violations are handled to prevent any misunderstandings.

@sweet235 sweet235 commented on DaemonEngine/Daemon#1465 · January 18, 2025 17:20

"admin job isn't done right" sounds way to squishy It does. But if we need to contact a server owner because of abusive behavior not being proce…

@Gireen Gireen commented on DaemonEngine/Daemon#1465 · January 18, 2025 17:04

But its unavoidable. What matters is where the line is drawn and to preserve as much freedom as possible. When there is a DDOS attack it should be …

@sweet235 sweet235 commented on DaemonEngine/Daemon#1465 · January 18, 2025 13:36

I do not like the idea of partitioning people into good and bad ones.

@slipher slipher opened DaemonEngine/Daemon#1509 · January 18, 2025 02:11
Cmdflags #1509

As @VReaperV discovered while reviewing #1494, listCmds can't list a command if it has no flags defined. Fix this by defining flags for all the eng…

+71 -51
@slipher slipher merged DaemonEngine/Daemon#1494 · January 18, 2025 00:42
Migrate render commands to C++ interface #1494

Migrate commands to the new interface. That has the benefit of show descriptions for the commands, and using Print so that the output is not affect…

+657 -691
6 comments
@slipher slipher pushed to DaemonEngine/Daemon · January 18, 2025 00:42
2 commits to master
@VReaperV VReaperV commented on DaemonEngine/Daemon#1494 · January 17, 2025 23:42

OK so there's a bug with listCmds that it won't show commands without a flag. Yeah, found the same issue.

@VReaperV VReaperV commented on DaemonEngine/Daemon#1494 · January 17, 2025 23:41

But I don't see -- anywhere with the migrated commands. This works fine on my end after a full rebuild.

@slipher slipher commented on DaemonEngine/Daemon#1494 · January 17, 2025 23:37

OK so there's a bug with listCmds that it won't show commands without a flag. static ListCmdsCmd listCmdsRegistration("listCmds", BASE, "lists all …

@VReaperV VReaperV commented on DaemonEngine/Daemon#1494 · January 17, 2025 23:29

I'm certain of that. Apparently, it works properly with auto-completion, but not otherwise: Regular usage: ]/listcmds gfx 0 commands ]/listcmds sh…

@slipher slipher opened an issue in DaemonEngine/Daemon · January 17, 2025 22:30
Compiler detection PR broke non-MSVC precompiled headers #1508

#982 apparently included some other changes besides compiler detection. Some of these make the CMake code for the precompiled header unreachable. A…

@slipher slipher commented on DaemonEngine/Daemon#1494 · January 17, 2025 20:37

The descriptions for e. g. shaderexp and buildcubemaps show up as -- when using /listCmds, rather than evaluate a q3shader expression (RB_EvalExpr…

@slipher slipher commented on Unvanquished/Unvanquished#3291 · January 17, 2025 20:27

This doesn't fix the issue on my end (tested with blaster and prifle, dll sgame). Really? I tested the branch again and can't reproduce the issue…

@slipher slipher commented on DaemonEngine/Daemon#1506 · January 17, 2025 20:20

Why not use the int main() no-arg variant? Then you can be sure not to get trolled by unused argument warnings.

@slipher slipher commented on DaemonEngine/Daemon#1505 · January 17, 2025 20:09

I guess the "flakiness" may be that sometimes the NaCl subfolder runs configuration and sometimes not, which gave me the impression of nondetermini…

@cu-kai cu-kai merged DaemonEngine/Daemon#1503 · January 17, 2025 19:08
identify the game by its name in SDL #1503

The comment in the code is pretty self explanatory. This has been tested on KDE only. Screenshots demonstrating what this fixes are below. I do not…

+14 -0
7 comments
@cu-kai cu-kai pushed to DaemonEngine/Daemon · January 17, 2025 19:08
1 commit to master
  • @cu-kai b8e7775
    identify the game by its name in SDL
@cu-kai cu-kai commented on DaemonEngine/Daemon#1503 · January 17, 2025 18:32

LGTM Might that fix Unvanquished/Unvanquished#1384 ? No, I rather suspect this is a different problem. Maybe if SDL is < 2.022 it does not set…

@VReaperV VReaperV opened DaemonEngine/Daemon#1507 · January 17, 2025 18:24
Fix glsl_restart with material system #1507

Based on #1473, to avoid merge conflicts.

+849 -598
@slipher slipher commented on DaemonEngine/Daemon#1503 · January 17, 2025 18:09

LGTM Might that fix Unvanquished/Unvanquished#1384 ? No, I rather suspect this is a different problem. Maybe if SDL is < 2.022 it does not set …

@VReaperV VReaperV commented on DaemonEngine/Daemon#1469 · January 17, 2025 16:46

Tested, there's no discernible impact on loading times. The warn that tells which exact input is NaN is a bit spammy though. That might not be much…

@VReaperV VReaperV commented on DaemonEngine/Daemon#1494 · January 17, 2025 16:22

The descriptions for e. g. shaderexp and buildcubemaps show up as --, rather than evaluate a q3shader expression (RB_EvalExpression) and generate c…

@VReaperV VReaperV commented on Unvanquished/Unvanquished#584 · January 17, 2025 15:48

I suspect the spectating player switching bug comes from the fact we may play an animation from the previous models with the new model, or the oth…

@VReaperV VReaperV commented on Unvanquished/Unvanquished#584 · January 17, 2025 15:47

Intereseting, I'm pretty sure I hadn't seen that specific warn before, but I've been able to get it now locally as well, so I was wrong about it ea…

@VReaperV VReaperV commented on Unvanquished/Unvanquished#3291 · January 17, 2025 15:46

This doesn't fix the issue on my end (tested with blaster and prifle, dll sgame).

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1501 · January 17, 2025 13:58

Also remember that crash.unvanquished.net is a thing. We just need to remember to upload syms to it.

@cu-kai cu-kai commented on DaemonEngine/Daemon#1503 · January 17, 2025 11:28

Might that fix Unvanquished/Unvanquished#1384 ? No, I rather suspect this is a different problem.

@illwieckz illwieckz opened an issue in Unvanquished/Unvanquished · January 17, 2025 05:56
The Saigo-built arm nexe crashes #3297

It prints some garbage then crashes: InitGame: \g_maxGameClients\0\g_needpass\0\g_BPInitialBudget\80\g_unlagged\1\g_BPInitialBudgetAliens\-1\g_BPIn…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · January 17, 2025 05:36
2 commits to illwieckz/nacl-minidump
  • @illwieckz 79127a5
    cmake: workaround minidump libraries finding for i686 nexe
  • @illwieckz c1142f0
    System: we don't need the nacl_exception header, only the library as …
  • 8 more commits »
@illwieckz illwieckz pushed to DaemonEngine/Daemon · January 17, 2025 05:35
2 commits to illwieckz/fix-cmd-mingw
@illwieckz illwieckz pushed to DaemonEngine/Daemon · January 17, 2025 05:35
2 commits to illwieckz/no-omit-parameter
@illwieckz illwieckz commented on Unvanquished/Unvanquished#584 · January 17, 2025 05:09

I suspect the spectating player switching bug comes from the fact we may play an animation from the previous models with the new model, or the othe…

@slipher slipher commented on Unvanquished/Unvanquished#584 · January 17, 2025 04:15

I just tried it and I got the message like the OP: ^3Warn: trap_R_BlendSkeleton: different number of bones 38 != 122 ^3Warn: trap_R_BlendSkeleton: …

@illwieckz illwieckz commented on DaemonEngine/Daemon#1505 · January 17, 2025 04:04

P.S. The messages about compilers/archs "not being used" also seem wrong. This message was previously intended to be printed before the unused de…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1505 · January 17, 2025 03:55

Here is the fix: #1506 The cause is that PNaCl doesn't allow int main(int, char**) without parameter names in C. It is probably a matter of defau…

@illwieckz illwieckz opened DaemonEngine/Daemon#1506 · January 17, 2025 03:54
DaemonCompiler: do not omit main parameter name in C #1506

Do not omit main parameter name in C. Fixes #1505: #1505 This produced those errors: ../../daemon/cmake/DaemonCompiler/DaemonCompiler.c:163:13: e…

+1 -1
@illwieckz illwieckz commented on DaemonEngine/Daemon#1501 · January 17, 2025 03:18

I added a workaround for finding the minidump-generator and nacl-exception libraries in x86_64-nacl/lib32 when linking a i686 nexe, this workaround…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · January 17, 2025 03:12
1 commit to illwieckz/nacl-minidump
  • @illwieckz 79f19c8
    cmake: workaround minidump libraries finding for i686 nexe
@VReaperV VReaperV commented on Unvanquished/Unvanquished#584 · January 17, 2025 03:10

Yes it does. It's pretty easy to reproduce if you just go on spec and scroll back and forth between different players. No, that is a different is…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1504 · January 17, 2025 03:10

Here is the results of my tests on Linux: So, only linux-amd64 is affected.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1505 · January 17, 2025 03:02

This is a good example of why we should not merge a complex PR like #982 without any code review. I answered there because I don't want to pollut…

@illwieckz illwieckz commented on DaemonEngine/Daemon#982 · January 17, 2025 03:00

@slipher I answer here because I don't want to pollute that other thread with that topic: #1505 This is a good example of why we should not merg…

@slipher slipher commented on Unvanquished/Unvanquished#584 · January 17, 2025 02:52

Yes it does. It's pretty easy to reproduce if you just go on spec and scroll back and forth between different players.

@slipher slipher reopened an issue in Unvanquished/Unvanquished · January 17, 2025 02:52
Re: blend skelleton. different number of bones. #584

sometimes when I'm in /devmap with noclip I get flooded with spam messages and can't read the chat. it says Re: blend skelleton, different number o…

6 comments
@illwieckz illwieckz commented on DaemonEngine/Daemon#1505 · January 17, 2025 02:50

Interesting: Failed to build DaemonCompiler.c, relying on CMake builtin detection. -- Detected C compiler: Unknown Unknown pnacl-clang.bat -- Dete…

@VReaperV VReaperV commented on Unvanquished/Unvanquished#584 · January 17, 2025 02:35

This does not seem to happen anymore.

@VReaperV VReaperV closed an issue in Unvanquished/Unvanquished · January 17, 2025 02:35
Re: blend skelleton. different number of bones. #584

sometimes when I'm in /devmap with noclip I get flooded with spam messages and can't read the chat. it says Re: blend skelleton, different number o…

5 comments
@slipher slipher opened an issue in DaemonEngine/Daemon · January 17, 2025 02:06
Compiler detection is flaky and spews errors #1505

The hand-rolled compiler detection from #982 sometimes breaks and prints a lot of errors. Not sure why there are as many as 7 stack traces for only…

@slipher slipher commented on DaemonEngine/Daemon#1503 · January 17, 2025 01:45

Hardcoding the string instead of doing a version check could be better, since then an SDL built with old headers could still work with a newer binary.

@slipher slipher commented on Unvanquished/Unvanquished#3197 · January 17, 2025 01:39

Debugging update: Interactive debugging remains somewhat usable. Tested with an old nacl-gdb. Postmortem crash analysis (which we actually use) do…

@cu-kai cu-kai commented on DaemonEngine/Daemon#1503 · January 17, 2025 01:28

So now I check for SDL 2.0.22 as that is where this feature was introduced. Also made sure I don't try to reference SDL in the TTY build, oops. I'v…

@VReaperV VReaperV pushed to DaemonEngine/Daemon · January 17, 2025 01:20
2 commits to master
@VReaperV VReaperV merged DaemonEngine/Daemon#1476 · January 17, 2025 01:20
Add a uint version of u_ColorModulate #1476

Picked from #1473. u_Color was a vec4 that was being set from a Color object, which only has 8-bit precision per colour, so using up 4 times more m…

+222 -127
5 comments
@slipher slipher commented on DaemonEngine/Daemon#1501 · January 17, 2025 01:10

Tried upstream Breakpad (https://chromium.googlesource.com/breakpad/breakpad) and dump_syms still crashes at the same place.

@slipher slipher commented on DaemonEngine/Daemon#1501 · January 17, 2025 00:55

A Saigo-built binary can produce a crash dump when crashing under Daemon (though we don't yet know if it's valid). However, Breakpad's dump_syms cr…

@slipher slipher merged Unvanquished/Unvanquished#3293 · January 17, 2025 00:00
Fix Freetype mess, MinGW native gamelogic build #3293

06453a8 does a regression of finding Freetype (and populating the variables) only if "NOT BUILD_CLIENT". We always need to find and set it regardle…

+5 -17
@slipher slipher pushed to Unvanquished/Unvanquished · January 17, 2025 00:00
1 commit to master
  • @slipher 675e916
    Fix Freetype mess, MinGW native gamelogic build
Unvanquished
Unvanquished
Thursday, 16 January 2025
@slipher slipher closed an issue in Unvanquished/Unvanquished · January 16, 2025 23:55
bots never shake #1303

When using chaingun weapon, bots don't shake. Never. Tried with skill levels 1, 6 and 9, with both the current stable servers and locally built 0.5…

2 comments
@slipher slipher commented on DaemonEngine/Daemon#1501 · January 16, 2025 05:46

I will test if minidump generation and stack tracing works in a bit. Or if anyone else wants to try it, https://wiki.unvanquished.net/wiki/Breakpad

@VReaperV VReaperV closed DaemonEngine/Daemon#1502 · January 16, 2025 04:54
test #1502
+1 -0
@VReaperV VReaperV opened DaemonEngine/Daemon#1502 · January 16, 2025 04:53
test #1502
+1 -0
@illwieckz illwieckz commented on DaemonEngine/Daemon#1501 · January 16, 2025 04:47

The nacl_minidump.h file from libs/is exactly the same one as shipped with pnacl.

@VReaperV VReaperV commented on DaemonEngine/Daemon#1476 · January 16, 2025 04:44

Light styles are off again. It seems that the light factor is not being applied to light style stages: if I set r_overbrightDefaultBits 0, the dif…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · January 16, 2025 04:23
1 commit to illwieckz/nacl-minidump
  • @illwieckz 6b7bd5b
    System: we don't need the nacl_exception header, only the library as …