Unvanquished Development activity

Events from:

Unvanquished
Unvanquished
Tuesday, 19 March 2024
@slipher slipher commented on Unvanquished/Unvanquished#2955 · March 19, 2024 05:32

Tested that this API works inside and outside Nacl on Linux and Mac.

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2955 · March 19, 2024 02:46

So this looks good to me. I tested on my shit VPS and it seems to work well. We really shouldn't expect people to generate huge maps like anthill o…

Daemon Engine
Daemon Engine
Monday, 18 March 2024
Daemon Engine
Daemon Engine
Sunday, 17 March 2024
@illwieckz illwieckz commented on DaemonEngine/Daemon#1062 · March 17, 2024 16:20

To make things more clear and to answer a question from @cu-kai, here is what Quake 3 did: map-name-1.pk3 --|-- textures/… |-- maps/name.bsp --|-- …

@slipher slipher commented on DaemonEngine/Daemon#1062 · March 17, 2024 11:27

Any error that has to do with actually reading the file. Note that most errors of this type are returned using the standard library's system error …

@sweet235 sweet235 commented on DaemonEngine/Daemon#1062 · March 17, 2024 11:00

Why can this happen? It seems that the following errors are prevented by trying to read the .bsp first: no_filesystem_error invalid_filename no_su…

@illwieckz illwieckz pushed to Unvanquished/Unvanquished · March 17, 2024 01:09
2 commits to for-0.55.0/sync
  • @illwieckz 19287a9
    Merge branch 'master' into for-0.55.0/sync
  • @NaitLee bea8bfc
    add zh_Hans, zh_Hant_HK and zh_Hant to the language selection menu
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · March 17, 2024 01:03
1 commit to master
  • @NaitLee bea8bfc
    add zh_Hans, zh_Hant_HK and zh_Hant to the language selection menu
@illwieckz illwieckz merged Unvanquished/Unvanquished#2954 · March 17, 2024 01:03
add Chinese language to the UI menu for selection #2954

After #2941, both client and server can handle locale code with “country specification” correctly. They will, say, distinguish zh_Hans vs zh_Hant or

+3 -0
Daemon Engine
Daemon Engine
Saturday, 16 March 2024
@illwieckz illwieckz commented on DaemonEngine/Daemon#1062 · March 16, 2024 15:16

Are we going to include these files in the new dpk? I noticed I have not answered to a possible interpretation of this question. I answered to “A…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1062 · March 16, 2024 15:09

Are we going to include these files in the new dpk? That's the purpose of it. The idea is to have an external entity file (external to bsp) inste…

@slipher slipher opened DaemonEngine/Daemon#1064 · March 16, 2024 10:06
Print NaCl exception message + fault injection command #1064

Stacked (hehe) on #1063. In #716 I removed the code for NaCl exception messages in favor of letting it crash with an nice stack trace. But we can h…

+123 -85
@slipher slipher commented on Unvanquished/Unvanquished#2955 · March 16, 2024 04:18

We should test that hardware_concurrency works on a Linux and a Mac system though

@slipher slipher commented on Unvanquished/Unvanquished#2955 · March 16, 2024 04:17

Wow it even works in Nacl. I put the default on hardware_concurrency() - 1 since on Windows at least that's the most you can use without making oth…

@slipher slipher commented on Unvanquished/Unvanquished#2955 · March 16, 2024 04:13

I added comments to functions which can be called from a non-main thread since there are much fewer of those and they are the ones with restrictions.

@slipher slipher commented on Unvanquished/Unvanquished#2955 · March 16, 2024 04:13

The idea is to only call it once. I think there is a comment elsewhere about that but I went ahead and added a clear() just to avoid suspicious app…

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2955 · March 16, 2024 03:38

Also experimented a bit to see if the hyperthreading works well or not, I think not really. For example in a 4-threaded Anthill run I got 51542ms …

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2955 · March 16, 2024 03:34

consider using the max threads possible by default. no reason not to.

@slipher slipher commented on Unvanquished/Unvanquished#2955 · March 16, 2024 03:28

All right, I tested like this time( ./daemonded.exe -set vm.sgame.type 1 -pakpath /c/unv/Unvanquished/pkg (-set g_bot_navgen_maxThreads 7) +devmap …

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1062 · March 16, 2024 01:26

Are we going to include these files in the new dpk?

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2955 · March 16, 2024 01:25

What are the numbers with and without patch for: Anthill cube plat23 I'll help test. Let's see if we can get this into 0.55

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2955 · March 16, 2024 01:15

Can we leave comments about which functions are main thread only here too?

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2955 · March 16, 2024 01:14

Does this need to be cleared at the end of the function? If not, please comment.

Daemon Engine
Daemon Engine
Friday, 15 March 2024
@slipher slipher commented on DaemonEngine/Daemon#1062 · March 15, 2024 23:42

Same comment about errors other than file not found

@slipher slipher commented on DaemonEngine/Daemon#1062 · March 15, 2024 23:38

We should drop if the error is something other than file not found. Here's an example from CG_ParseWeaponAnimationFile if ( err ) { const std::erro…

@slipher slipher opened Unvanquished/Unvanquished#2955 · March 15, 2024 21:32
Use multiple threads to generate navmeshes #2955

Some improvements compared to #2944, in particular: keeps code for generating on main thread only for sgame background navgen can cancel navgen if…

+434 -203
@NaitLee NaitLee opened Unvanquished/Unvanquished#2954 · March 15, 2024 12:59
add Chinese language to the UI menu for selection #2954

After #2941, both client and server can handle locale code with “country specification” correctly. They will, say, distinguish zh_Hans vs zh_Hant or

+3 -0
@illwieckz illwieckz commented on Unvanquished/Unvanquished#2953 · March 15, 2024 00:39

Yeah, I don't know why it's there.

@slipher slipher opened an issue in Unvanquished/Unvanquished · March 15, 2024 00:34
Tiny "Loading" on loading screen #2953

The world "Loading" is written in very small letters in the top left of the screen during map load. There is markup in transition_loading.rml: <ti…

Daemon Engine
Daemon Engine
Thursday, 14 March 2024
@illwieckz illwieckz commented on DaemonEngine/Daemon#1062 · March 14, 2024 13:52

A good way to export the .ent file from a .bsp one is: q3map2 -exportents 'maps/plat23.bsp' It will write maps/plat23.ent One can also do: esquirel…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1062 · March 14, 2024 13:49

Unrelated to the code itself, but "mapOverBrightBits" "3" is an integer (it's 3 in light * (2^3)), and in the legacy code it was the amount of bit …

@sweet235 sweet235 opened DaemonEngine/Daemon#1062 · March 14, 2024 11:24
load entities string from an optional file maps/<map>.ent #1062

This will be required for the overBright settings in 0.55, and is useful in many other cases. A map's worldspawn can have something like this: "map…

+43 -11
@sweet235 sweet235 forked sweet235/Daemon from DaemonEngine/Daemon · March 14, 2024 11:00

The Dæmon game engine. With some bits of ioq3 and XreaL.

C++ 288 Updated Mar 18

Daemon Engine
Daemon Engine
Wednesday, 13 March 2024
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 13, 2024 23:35
2 commits to illwieckz/srgb-glsl
  • @illwieckz e0ff661
    wip: sRGB specularMap
  • @illwieckz 4dc117a
    renderer: implement sRGB in GLSL
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 13, 2024 20:47
1 commit to illwieckz/srgb-glsl
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 13, 2024 20:43
1 commit to illwieckz/srgb-glsl
@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1061 · March 13, 2024 04:43
@slipher slipher opened an issue in DaemonEngine/Daemon · March 13, 2024 04:40
Detect non-main thread attempting to use IPC #1061

If we use threads in the gamelogic VMs, we should detect if a non-main thread attempts to use the IPC facility and terminate the program instead of…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 13, 2024 03:54
1 commit to illwieckz/srgb-glsl
  • @illwieckz 5115cc9
    renderer: implement sRGB in GLSL
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 13, 2024 03:52
1 commit to illwieckz/srgb-glsl
  • @illwieckz 0f4e8e6
    renderer: implement sRGB in GLSL
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 13, 2024 03:47
2 commits to illwieckz/srgb-glsl
Unvanquished
Unvanquished
Tuesday, 12 March 2024
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · March 12, 2024 18:32
2 commits to for-0.55.0/sync
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 12, 2024 18:32
2 commits to for-0.55.0/sync
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · March 12, 2024 18:28
1 commit to master
@illwieckz illwieckz deleted branch illwieckz/complete-overbright in DaemonEngine/Daemon · March 12, 2024 17:14

Updated Mar 18

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 12, 2024 17:13
2 commits to master
  • @illwieckz d2b9a68
    renderer: implement high precision rendering framebuffers
  • @illwieckz be0336f
    renderer: implement complete overBright in GLSL
@illwieckz illwieckz merged DaemonEngine/Daemon#1050 · March 12, 2024 17:13
renderer: implement complete overBright in GLSL and high-precision frame-buffer #1050

renderer: implement complete overBright in GLSL We cannot overBright separate stage as stage are clamped within [0.0, 1.0] when blending multiple…

+300 -54
19 comments
@illwieckz illwieckz deleted branch illwieckz/collapse-fix in DaemonEngine/Daemon · March 12, 2024 16:25

Updated Mar 17

@illwieckz illwieckz merged DaemonEngine/Daemon#1060 · March 12, 2024 16:25
tr_shader: do not collapse stage with tcGen environment #1060

tr_shader: do not collapse stage with tcGen environment Fixes a bug (regression) where the color map has a different tcGen than the light map: th…

+10 -12
1 comment
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 12, 2024 16:25
2 commits to master
  • @illwieckz 2b7f423
    tr_shader: fix blendFunc detection in collapse code
  • @illwieckz a5725b0
    tr_shader: do not collapse stage with tcGen environment
@sweet235 sweet235 commented on DaemonEngine/Daemon#1050 · March 12, 2024 16:08

This branch is addictive. Since I discovered it a few days ago, I have spent hours just looking at maps.

@slipher slipher commented on Unvanquished/Unvanquished#2944 · March 12, 2024 07:06

I see 2 nontrivial shortcomings: sgame background navgen is not cancelable. If you change map while it is running, the server will freeze until al…

Daemon Engine
Daemon Engine
Monday, 11 March 2024
@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 23:40

Thank you for the explanations! ❤️

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 23:39
2 commits to illwieckz/complete-overbright
  • @illwieckz 42bc94f
    renderer: implement high precision rendering framebuffers
  • @illwieckz adbd337
    renderer: implement complete overBright in GLSL
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 23:37
1 commit to illwieckz/complete-overbright
@slipher slipher commented on DaemonEngine/Daemon#1050 · March 11, 2024 23:29

I guess the second clamp should now be 4-dimensional instead of only rgb.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 23:26

This one is the one actually multiplying the light (and cancelling the cancelation on non-light). The first clamp in this source file is now removed.

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 23:25
2 commits to illwieckz/complete-overbright
  • @illwieckz ddce405
    fixup: useless first clamp
  • @illwieckz 946e69d
    fixup: InverseLightFactor
@slipher slipher commented on DaemonEngine/Daemon#1050 · March 11, 2024 22:35

You could use the pre-calculated 1/x here

@slipher slipher commented on DaemonEngine/Daemon#1050 · March 11, 2024 22:34

Nit: LightDivisor sounds weird, especially in the shaders where it is used by multiplying. I'd call it InverseLightFactor

@illwieckz illwieckz opened DaemonEngine/Daemon#1060 · March 11, 2024 15:42
tr_shader: do not collapse stage with tcGen environment #1060

tr_shader: do not collapse stage with tcGen environment Fixes a bug (regression) where the color map has a different tcGen than the light map: th…

+10 -12
@illwieckz illwieckz created a branch in DaemonEngine/Daemon · March 11, 2024 15:33
@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 14:30

I don't see that place as a good place for such comment, the double clamping would not be a problem if the first one was not too low in a buggy way. …

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 14:29

So, the cvar to enable old clamped code base is r_forceLegacyMapOverBrightClamping, it overrides any map option. It is only meant to be a diagnosti…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 14:28
2 commits to illwieckz/complete-overbright
  • @illwieckz 649b94b
    renderer: implement high precision rendering framebuffers
  • @illwieckz 4e4e831
    fixup: comment
@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 14:04

In fact this is not doable, because this code runs before the map is loaded. So, I removed the test for that variable, the framebuffer is always cr…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 14:01
2 commits to illwieckz/complete-overbright
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2952 · March 11, 2024 12:49

Will test this on other maps with ladders.

@VReaperV VReaperV commented on DaemonEngine/Daemon#1050 · March 11, 2024 12:27

Here by false, true and 1 I mean expressions derived from uniforms that always have the same value If it's based only on uniforms and constant ex…

@slipher slipher opened Unvanquished/Unvanquished#2952 · March 11, 2024 10:18
Print ladders with a command instead of as a side effect of navgen #2952

Here's an illustration of a ladder in Yocto which got a better result (before vs. after):

+118 -63
@slipher slipher opened an issue in DaemonEngine/Daemon · March 11, 2024 04:14
Crash on malformed debug draw commands #1059

When handling debug draw commands, the renderer may access an invalid tess.verts pointer if the debug draw commands fail to issue a BEGIN command. …

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 01:09

For r_mapClampOverbright, I think we may just name it r_forceLegacyMapClampOverBright and disable the clamping by default. I can also name the map …

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:55

Hmm, maybe, but, that complexifies the code for the reader for a benefit that may be very minor. Maybe @VReaperV has an opinion on it?

@slipher slipher commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:41

It is assumed most GPUs do not know how to do jumps and then never skip a computation in a test but just discard the result if the test is false M…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 00:37
2 commits to illwieckz/complete-overbright
@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:33

Oh lol I misread your comment! I thought you were asking to do (without !): bool bestWithHighPrecisionFrameBuffer = r_mapClampOverBright.Get(); 🤣️

@slipher slipher commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:31

As I understand, the clamp overbright cvar and the clamp overbright worldspawn key are two inputs into the decision of whether clamping is enabled.…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:25

Have you tested with different values of r_lightMode? I tried fullbright mode with clamping off and it looks really bad. Ah right, the fix for it…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:23

Nice catch. I now do the division once at map load time instead, and replaced all the GLSL divisions by a multiplication. It is assumed most GPUs d…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 11, 2024 00:18
2 commits to illwieckz/complete-overbright
@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:16

No, the legacy code using clamped overbright doesn't require doesn't do any division/multiplication roundtrip that would lose precision. On the con…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1050 · March 11, 2024 00:14

This boolean is only used to know there is no light to do only do things when there is no light. This is used to cancel overbright when there is no…

Unvanquished
Unvanquished
Sunday, 10 March 2024
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · March 10, 2024 20:50
2 commits to for-0.55.0/sync
@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 10, 2024 20:50
2 commits to for-0.55.0/sync
@illwieckz illwieckz pushed to Unvanquished/Unvanquished · March 10, 2024 20:30
1 commit to master
@illwieckz illwieckz deleted branch illwieckz/listimages in DaemonEngine/Daemon · March 10, 2024 20:28

Updated Mar 11

@illwieckz illwieckz pushed to DaemonEngine/Daemon · March 10, 2024 20:28
1 commit to master
  • @illwieckz 447e6d2
    renderer: revamp image and shader listing
@illwieckz illwieckz merged DaemonEngine/Daemon#1049 · March 10, 2024 20:28
renderer: revamp image and shader listing #1049

Deep revamp of image and shader listing functions. Make it always use Log::CommandInteractionMessage to avoid being truncated by logs.suppression.…

+350 -399
6 comments