Unvanquished Development activity

Events from:

Unvanquished
Unvanquished
Monday, 20 May 2024
@slipher slipher closed an issue in Unvanquished/updater · May 20, 2024 22:41
Unvanquished does not load properly if updater runs in a terminal on Linux #26

Hi, it's probably related to some stdio stuff, but Unvanquished hangs at startup when launched by from the updater if the updater runs in a terminal.

9 comments
@slipher slipher pushed to Unvanquished/updater · May 20, 2024 22:41
2 commits to master
@sweet235 sweet235 opened Unvanquished/Unvanquished#3004 · May 20, 2024 21:36
add cg_minimapRotate #3004

An option to disable the rotation of the minimap

+3 -1
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#1883 · May 20, 2024 17:14

Removed the dummy roboto font.

@DolceTriade DolceTriade closed an issue in Unvanquished/Unvanquished · May 20, 2024 17:14
vendoring font cleanup #1883

I think @illwieckz will be quite interested with this. The game currently loads 8 .ttf files at start: fonts/Roboto-Bold.ttf fonts/Roboto-BoldItal…

6 comments
@DolceTriade DolceTriade deleted branch ishq/mapvote in Unvanquished/Unvanquished · May 20, 2024 17:13

Updated May 20

@DolceTriade DolceTriade pushed to Unvanquished/Unvanquished · May 20, 2024 17:13
1 commit to master
  • @DolceTriade 633a7c6
    votes: Display a proper error on `callvote [next]map` without map
@DolceTriade DolceTriade closed an issue in Unvanquished/Unvanquished · May 20, 2024 17:13
`callvote nextmap` tries to load the map "" #2511

Game prints: callvote: 'maps/.bsp' could not be found on the server which is obviously wrong: no map was given after all.

1 comment
@DolceTriade DolceTriade merged Unvanquished/Unvanquished#3003 · May 20, 2024 17:13
votes: Display a proper error on `callvote map` without map #3003

If we run callvote map without a map name, we should error out with a better error than: callvote: 'maps/.bsp' could not be found on the server. Fi…

+17 -1
Unvanquished
Unvanquished
Sunday, 19 May 2024
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2486 · May 19, 2024 09:56

Also, in all honestly, I think pause is really a "best effort" type of thing, like /revert. I don't think it will pause everything correctly. Just …

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2486 · May 19, 2024 09:55

Since this will likely end up being invasive and non-trival, moving to 0.56

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2505 · May 19, 2024 09:54

Seems like a clear bug, but not game breaking enough to block 0.55

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2510 · May 19, 2024 09:53

Clear UX fix, but probably won't be done for 0.55, so moving to 0.56

@DolceTriade DolceTriade pushed to Unvanquished/Unvanquished · May 19, 2024 09:53
1 commit to ishq/mapvote
  • @DolceTriade ac019ee
    votes: Display a proper error on `callvote [next]map` without map
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2513 · May 19, 2024 09:51

Since we just print the info string as is and the console print function either escapes everything or nothing, I think this is probably an acceptab…

@DolceTriade DolceTriade closed an issue in Unvanquished/Unvanquished · May 19, 2024 09:51
color bleed in logged infostring #2513

When the game starts, the game will print something like InitGame: \g_maxGameClients\0\g_needpass\0\g_BPBudgetPerMiner\50\g_BPInitialBudget\80\sv_h…

1 comment
@DolceTriade DolceTriade opened Unvanquished/Unvanquished#3003 · May 19, 2024 09:49
votes: Display a proper error on `callvote map` without map #3003

If we run callvote map without a map name, we should error out with a better error than: callvote: 'maps/.bsp' could not be found on the server. Fi…

+9 -1
@DolceTriade DolceTriade pushed to Unvanquished/Unvanquished · May 19, 2024 09:48
1 commit to ishq/mapvote
  • @DolceTriade 465c82a
    votes: Display a proper error on `callvote map` without map
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2516 · May 19, 2024 09:44

Pretty sure this has been fixed.

@DolceTriade DolceTriade closed an issue in Unvanquished/Unvanquished · May 19, 2024 09:43
`Broadcast: changemap: map 'medusactm' started by console $3t$4$5$ ` #2516

I had this warning after sending the command /changemap medusactm with vanilla binaries

2 comments
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2538 · May 19, 2024 09:43

Seems like a clear improvement, though not super critical. Moving to post-beta.

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2540 · May 19, 2024 09:42

Actually, I suspect this is fixed with #2641

@DolceTriade DolceTriade closed an issue in Unvanquished/Unvanquished · May 19, 2024 09:42
bots do not target disabled buildings #2540

to reproduce: force bots to use painsaw place a node+armoury in front of a barricade hiding an egg give aliens a negative starting BP amount add a…

4 comments
@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2540 · May 19, 2024 09:40

Seems like a real issue with a trivial fix. Let's fix this for 0.55

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2543 · May 19, 2024 09:39

This sounds like it needs some thought in how to implement the UX. Done naively (ie, just allowing building anything despite it being disabled/not …

@DolceTriade DolceTriade commented on Unvanquished/Unvanquished#2555 · May 19, 2024 09:36

I"m not sure what the actual bug is here. If we can't remember, I'm just going to close it.

@slipher slipher pushed to DaemonEngine/Daemon · May 19, 2024 05:48
2 commits to master
  • @slipher 994ed52
    Loosen trace test tolerance + test planes
  • @slipher 99f5243
    Let test output appear in MSYS2 terminal
@slipher slipher merged DaemonEngine/Daemon#1153 · May 19, 2024 05:48
Fix trace tests with x87 floating point #1153

Fixes CM unit tests breaking with SSE disabled, as reported by @illwieckz.

+25 -6
Daemon Engine
Daemon Engine
Saturday, 18 May 2024
@slipher slipher commented on DaemonEngine/Daemon#1124 · May 18, 2024 19:12

Actually if you have an insert on line 60, maybe the best thing would be to put #line 59 before every single line so the user will know any error c…

@slipher slipher commented on DaemonEngine/Daemon#1124 · May 18, 2024 18:57

I was thinking mainly to have the line directive after the insertion, to maintain correct line numbers for the main file. So #line 61 in your example.

@VReaperV VReaperV commented on DaemonEngine/Daemon#1124 · May 18, 2024 17:43

What do you mean? For example if there's: void main() { #insert material_fp // Compute view direction in world space. vec3 viewDir = normalize(u_…

@slipher slipher commented on DaemonEngine/Daemon#1154 · May 18, 2024 15:18

Could use find_first_not_of(" \t), then you get an unsigned index like position.

@slipher slipher commented on DaemonEngine/Daemon#1124 · May 18, 2024 14:45

The existing "include" method (vertexInlines/fragmentInlines) uses the #line directive so that compiler errors have the right line number. It wou…

@VReaperV VReaperV commented on DaemonEngine/Daemon#1137 · May 18, 2024 08:53

Frustum culling can now be toggled with r_gpuFrustumCulling.

@VReaperV VReaperV merged DaemonEngine/Daemon#1122 · May 18, 2024 08:06
Use the correct amount of texture units #1122

Query the actual max amount of texture units with GL_MAX_COMBINED_TEXTURE_UNITS instead of a magic number, and use an std::vector with this capacity.

+19 -12
2 comments
@VReaperV VReaperV pushed to DaemonEngine/Daemon · May 18, 2024 08:06
2 commits to master
  • @VReaperV 40ed394
    Move currenttextures to trGlobals_t
  • @VReaperV e6acaca
    Use the correct amount of texture units
@VReaperV VReaperV commented on DaemonEngine/Daemon#1137 · May 18, 2024 07:33

I've also made this work with multiple different views (i. e. portals) and moved defines to GLHeaders. Surface commands will now use the minimal ar…

@VReaperV VReaperV commented on DaemonEngine/Daemon#1137 · May 18, 2024 07:21

Here's a more concise graph of how this culling works:

@VReaperV VReaperV commented on DaemonEngine/Daemon#1124 · May 18, 2024 07:01

OK, I thought it would be easy to add an example since once of the fragmentInlines/vertexInlines could be trivially replaced with a #insert but ma…

@VReaperV VReaperV commented on DaemonEngine/Daemon#1124 · May 18, 2024 06:59

I agree with the idea of just writing the file name with the suffix _fp/_vp. Having the ability to include the same file in both vertex and fragme…

@VReaperV VReaperV commented on DaemonEngine/Daemon#1124 · May 18, 2024 06:59

The existing "include" method (vertexInlines/fragmentInlines) uses the #line directive so that compiler errors have the right line number. It woul…

@VReaperV VReaperV commented on DaemonEngine/Daemon#1124 · May 18, 2024 06:57

Now it will only match if #insert is directly following whitespace characters or at the start of the line, no more fixed suffix as well. I've left …

@VReaperV VReaperV commented on DaemonEngine/Daemon#1124 · May 18, 2024 06:50

I've removed the fixed suffix.

@VReaperV VReaperV commented on DaemonEngine/Daemon#1122 · May 18, 2024 06:46

Squashed the commit with minor fixes from reviews, no code changes here.

@VReaperV VReaperV opened DaemonEngine/Daemon#1154 · May 18, 2024 06:44
Implement compute shaders support, make fragment shader non-mandatory #1154

Requires #1124. Cherry-picked from #1137 to split a large pr up a bit. Adds some code to allow using compute shaders. Shaders can now have either o…

+223 -47
@slipher slipher commented on DaemonEngine/Daemon#1149 · May 18, 2024 02:41

We should nuke all this NOEXCEPT and CONSTEXPR stuff. It was used because some compilers took many years to finish implementing C++11, but all the …

@slipher slipher opened DaemonEngine/Daemon#1153 · May 18, 2024 01:26
Fix trace tests with x87 floating point #1153

Fixes CM unit tests breaking with SSE disabled, as reported by @illwieckz.

+25 -6
Daemon Engine
Daemon Engine
Friday, 17 May 2024
@github-advanced-security github-advanced-security[bot] bot commented on DaemonEngine/Daemon#1137 · May 17, 2024 22:04

Multiplication result converted to larger type Multiplication result may overflow 'unsigned int' before it is converted to 'unsigned long'. Show mo…

@github-advanced-security github-advanced-security[bot] bot commented on DaemonEngine/Daemon#1137 · May 17, 2024 20:15

Multiplication result converted to larger type Multiplication result may overflow 'unsigned int' before it is converted to 'GLsizeiptr'. Show more …

@github-advanced-security github-advanced-security[bot] bot commented on DaemonEngine/Daemon#1137 · May 17, 2024 20:04

Multiplication result converted to larger type Multiplication result may overflow 'unsigned int' before it is converted to 'unsigned long'. Show mo…

@illwieckz illwieckz commented on UnvanquishedAssets/UnvanquishedTestAssets#14 · May 17, 2024 11:44

I merged after having denumberized the map. You can configure NetRadiant to not write noisy comments mentionning every brush and entity number in P…

@illwieckz illwieckz pushed to UnvanquishedAssets/UnvanquishedTestAssets · May 17, 2024 11:41
1 commit to master
add map test-navcons #14

This map by @cu-kai is in the public domain. Its purpose is to test Unvanquished/unvanquished-mapeditor-support#22

+402 -0
1 comment
@sweet235 sweet235 commented on UnvanquishedAssets/UnvanquishedTestAssets#14 · May 17, 2024 08:21

We do not yet have support for the navcon entities in this map. But we do have a prototype program that will read this map and output navcon files,…

add map test-navcons #14

This map by @cu-kai is in the public domain. Its purpose is to test Unvanquished/unvanquished-mapeditor-support#22

+402 -0
1 comment
@sweet235 sweet235 commented on Unvanquished/unvanquished-mapeditor-support#22 · May 17, 2024 08:01

@sweet235's navcon extractor It was written by me and illwieckz. my test-navcons map I made a PR at UnvanquishedAssets/UnvanquishedTestAssets#14

Unvanquished
Unvanquished
Thursday, 16 May 2024
@slipher slipher commented on Unvanquished/Unvanquished#2679 · May 16, 2024 23:08

I find this comment confusing. It sounds like it means it is in shared memory or something BTW why did you make the vectors static?

@slipher slipher commented on DaemonEngine/Daemon#1150 · May 16, 2024 22:59

Without implementing a more precise sleep, you could get the average framerate to more precisely match the requested max fps (overcoming both slee…

@slipher slipher commented on DaemonEngine/Daemon#1150 · May 16, 2024 22:59

Without implementing a more precise sleep, you could get the average framerate to more precisely match the requested max fps (overcoming both sleep…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · May 16, 2024 22:06
1 commit to illwieckz/framerate
  • @illwieckz f0dbe46
    adjust code to the comment
@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:40

I added a commit with a small accommodation: for framerates up to 250fps sleep until 1ms is left, but for people looking for higher framerates, use…

@illwieckz illwieckz pushed to DaemonEngine/Daemon · May 16, 2024 21:35
1 commit to illwieckz/framerate
@illwieckz illwieckz pushed to DaemonEngine/Daemon · May 16, 2024 21:35
1 commit to illwieckz/framerate
@illwieckz illwieckz pushed to DaemonEngine/Daemon · May 16, 2024 21:33
1 commit to illwieckz/framerate
@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:22

Can you look at the CPU usage with 60fps and 120fps with this line? int sleep = std::max( std::min( minMsec - msec, 50 ) - 1, 0 );

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:20

The trade off here being CPU cycles for increased responsiveness?

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:19

Interesting, what do you get at 60fps? On master at 60fps, game uses ~6% of a core. With this PR at 60fps, game uses ~15% of a core.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:16

Ah yes, purposed variable rate… Not updating the screen if nothing changes, for example.

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:14

What I meant was instead of waking up every 50ms, we can sleep more at the cost of more variable FPS.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:13

On master, at 125fps, game uses ~15% of a core. With this PR, we use ~30% of a core. On master at 333fps, game uses ~60% of a core. With this PR, …

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:13

I think if we are worried about power saving, lots of new games have a "power saving mode" where we can modify the max 50ms sleep and make it larger.

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:12

Last thing to mention is that, this PR effectively doubles CPU usage when locked at 125fps for me, but does not affect CPU when maxed out. On maste…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:08

Yes and the laptop user on battery with 60fps would have a budget of 16ms, sleeping for 14ms and being busy for 2ms, actually sleeping 840ms per se…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:05

1000 / 144 = 6.9 but we truncate it to 6. 1000 / 6 =~ 167. Yes, the same way starting with 251 you jump from 250 to 333 directly because 1000/251

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:02

We actually sleep. Nice.

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 21:01

Ok, the weirdness around maxFPS = 144 is around integer division. we do: minMsec = 1000 / maxFPS 1000 / 144 = 6.9 but we truncate it to 6. 1000 / …

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:50

It is also smooth at 60fps on powersave CPU profile with low GPU profile.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:48

On my end it is still smooth at 333fps with ondemand governor and a crowded desktop.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:44

I pushed a simpler implementation. It is purposed to only sleep if there is less than 2ms to sleep (under 500fps) and never sleep the last 1ms (if …

@illwieckz illwieckz pushed to DaemonEngine/Daemon · May 16, 2024 20:41
2 commits to illwieckz/framerate
@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:37

Can you verify if we sleep at all? In my tests we don't, regardless of the FPS limit.

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:25

It probably depends on the environment (other software running around), I remember that yesterday I could witch from powersave to ondemand and just…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:22

Well, not as wrong… on master branch with ondemand CPU governor I get a close-to-flat line around 60fps, with 120 fps it stats being bad, after tha…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:18

Also, testing this branch with a CPU governor being ondemand is like not testing this branch, the randomness of the CPU governor will be as wrong a…

A test asset repository for the Unvanquished game project

GLSL Updated May 17

@sweet235 sweet235 commented on Unvanquished/unvanquished-mapeditor-support#22 · May 16, 2024 20:02

It is expected the game implements the reading of those and generate the related navcons. This is to be done by someone else in Unvanquished repos…

@illwieckz illwieckz commented on DaemonEngine/Daemon#1150 · May 16, 2024 20:01

Also I'm not sure if this is related to this change, but when testing this change, if I change the limit from 125 to 144, the game actually limits…

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 19:58

Also in my tests, we never actually sleep...

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 19:52

Also I'm not sure if this is related to this change, but when testing this change, if I change the limit from 125 to 144, the game actually limits …

@DolceTriade DolceTriade commented on DaemonEngine/Daemon#1150 · May 16, 2024 19:46

That's bad. For example if you are using a laptop, it can drain the battery quickly. Please don't make a busy loop! To be fair, this is a game wh…

@slipher slipher pushed to DaemonEngine/Daemon · May 16, 2024 18:51
2 commits to slipher/align-stuff
@slipher slipher pushed to DaemonEngine/Daemon · May 16, 2024 18:36
2 commits to slipher/align-stuff