Xonotic issueshttps://gitlab.com/groups/xonotic/-/issues2024-03-18T21:47:48Zhttps://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2903GUI voting: custom gametypes no longer take effect2024-03-18T21:47:48Zbones_was_hereGUI voting: custom gametypes no longer take effectWhen a custom gametype is voted its alias isn't executed and on the map voting screen the gametype is `@!#%'n Tuba Throwing`. DP warns `Unknown command "sv_vote_gametype_hook_"`. It seems to have been introduced with !1256. Example co...When a custom gametype is voted its alias isn't executed and on the map voting screen the gametype is `@!#%'n Tuba Throwing`. DP warns `Unknown command "sv_vote_gametype_hook_"`. It seems to have been introduced with !1256. Example config:
```
sv_vote_gametype 1
set sv_vote_gametype_idm_type dm
set sv_vote_gametype_idm_name "Instagib DM"
set sv_vote_gametype_idm_description "Deathmatch with instant kill railguns"
alias sv_vote_gametype_hook_idm "g_instagib 1"
sv_vote_gametype_options "dm tdm ft ca ctf ka kh mayhem idm"
```Xonotic 0.9https://gitlab.com/xonotic/xonotic-maps.pk3dir/-/issues/211Solarium: projectiles can pass through 2 crates2024-03-13T18:33:29ZSpike29Solarium: projectiles can pass through 2 cratesThese 2 crates on Solarium use nonsolid models covered with a `common/clip` brush instead of `common/weapclip`:
![xonotic20240313170656-00](/uploads/de24da4c924d114f5f461d67426d8c06/xonotic20240313170656-00.jpg)
![xonotic20240313181009...These 2 crates on Solarium use nonsolid models covered with a `common/clip` brush instead of `common/weapclip`:
![xonotic20240313170656-00](/uploads/de24da4c924d114f5f461d67426d8c06/xonotic20240313170656-00.jpg)
![xonotic20240313181009-00](/uploads/a1c495804d1eea36449a3e1a3c84ccb2/xonotic20240313181009-00.jpg)
As a result, weapon projectiles can pass through these crates.Xonotic 0.9 - MappingSpike29Spike29https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2902cl_deathscoreboard delay2024-03-11T05:00:25Zbones_was_herecl_deathscoreboard delayTo make it easier to see who fragged you it would be nice if there would be a brief delay before the scoreboard appeared. Maybe the cvar meaning could be changed to a delay time in seconds (if > 0), the current default of 1 might be OK....To make it easier to see who fragged you it would be nice if there would be a brief delay before the scoreboard appeared. Maybe the cvar meaning could be changed to a delay time in seconds (if > 0), the current default of 1 might be OK. Also it would be nice if the fade in effect used with `+showscores` would apply to `cl_deathscoreboard` also. Related: #2581https://gitlab.com/xonotic/darkplaces/-/issues/412master: Prediction errors seemingly tied to framerate2024-03-10T17:30:45ZMariomario.mario@y7mail.commaster: Prediction errors seemingly tied to framerateI'm not sure what's causing this horrible jittery movement when playing with master, but it seems to mostly occur when there's a dip in the framerate (which is quite often as master has a *much* less stable FPS).
Might be related (or p...I'm not sure what's causing this horrible jittery movement when playing with master, but it seems to mostly occur when there's a dip in the framerate (which is quite often as master has a *much* less stable FPS).
Might be related (or possibly the same issue): #203https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2901[Suggestion] Make sv_autopause a saved cvar2024-02-28T07:18:30ZMariomario.mario@y7mail.com[Suggestion] Make sv_autopause a saved cvarI would like to suggest that the cvar `sv_autopause` be marked as saved (use `seta` instead of `set`) so that it can be easily turned off permanently by those who play in singleplayer.I would like to suggest that the cvar `sv_autopause` be marked as saved (use `seta` instead of `set`) so that it can be easily turned off permanently by those who play in singleplayer.https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2900Game only supports 24 gamemodes2024-03-01T11:17:42ZMariomario.mario@y7mail.comGame only supports 24 gamemodesAs far as I am aware with the current gamecode only 24 gamemodes are supported as a bitflag is used to check which gamemodes a map supports:
```
if((MapInfo_Map_supportedGametypes & MapInfo_CurrentGametype().m_flags) == 0)
return 0;...As far as I am aware with the current gamecode only 24 gamemodes are supported as a bitflag is used to check which gamemodes a map supports:
```
if((MapInfo_Map_supportedGametypes & MapInfo_CurrentGametype().m_flags) == 0)
return 0;
```
When adding more than 24 gamemodes to the game (not hard as the base game has 20 already) the system will fail to pick the correct gamemode and select a random one instead.
For example, this happens when switching to dance:
`can't play the selected map in the given game mode (ctf). Falling back to a supported mode (cts).`https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2899[Suggestion] Turn off flood control for join command2024-02-28T07:49:01ZMariomario.mario@y7mail.com[Suggestion] Turn off flood control for join commandIn some scenarios I start up a local match and press join (SPACE when the "welcome" menu is up for example) I will not be joined and the console will show this message:
`CMD FLOOD CONTROL: wait 0.999908 seconds, command was: join`
I...In some scenarios I start up a local match and press join (SPACE when the "welcome" menu is up for example) I will not be joined and the console will show this message:
`CMD FLOOD CONTROL: wait 0.999908 seconds, command was: join`
I do not believe it should ever be possible for flood control to prevent joining the match so I would like to suggest that flood control be skipped for `join`.https://gitlab.com/xonotic/darkplaces/-/issues/409PRVM: string whitespace checking is overly strict2024-02-26T15:46:01Zbones_was_herePRVM: string whitespace checking is overly strictThis issue was reported on matrix by Jiān. I'm filing it against DP because it seems excessive to abort a QC VM when a command includes a spurious space.
[ 1 ]- Normal string and eval operation:
```
]rpn "100" eval
rpn: still on stack:...This issue was reported on matrix by Jiān. I'm filing it against DP because it seems excessive to abort a QC VM when a command includes a spurious space.
[ 1 ]- Normal string and eval operation:
```
]rpn "100" eval
rpn: still on stack: 100
```
[ 2 ]- String with leading space and eval:
```
]rpn " 100" eval
Menu_Error: menu: Bad string
QuakeC crash report for menu:
s12230: ./common/command/rpn.qc:551: STORE_S GLOBAL1, GLOBAL16687
s12231: ./common/command/rpn.qc:552: STORE_S GLOBAL16687, GLOBAL4
s12232: ./common/command/rpn.qc:552: CALL1 tokenize_console (=tokenize_console())
s12233: ./common/command/rpn.qc:552: STORE_F GLOBAL1, GLOBAL16686
s12234: ./common/command/rpn.qc:553: STORE_F GLOBAL7221, GLOBAL16691
s12235: ./common/command/rpn.qc:546: GOTO , statement 12216
s12236: ./common/command/rpn.qc:555: STORE_S GLOBAL16685, GLOBAL4
s12237: ./common/command/rpn.qc:555: CALL1 cvar_string (=cvar_string())
./common/command/rpn.qc:555 : GenericCommand_rpn : statement 1658
lib/_all.inc:543 : genericcommand_rpn_m_invokecmd : statement 3
lib/_all.inc:556 : GenericCommand_macro_command : statement 21
lib/_all.inc:596 : GenericCommand : statement 5
./menu/command/menu_cmd.qc:64 : GameCommand : statement 137
Falling back to normal menu
```
[ 3 ]- String with leading space and set operation:
```
]rpn " 100 2" "2" intersection
Menu_Error: menu: Bad string
QuakeC crash report for menu:
s12230: ./common/command/rpn.qc:551: STORE_S GLOBAL1, GLOBAL16687
s12231: ./common/command/rpn.qc:552: STORE_S GLOBAL16687, GLOBAL4
s12232: ./common/command/rpn.qc:552: CALL1 tokenize_console (=tokenize_console())
s12233: ./common/command/rpn.qc:552: STORE_F GLOBAL1, GLOBAL16686
s12234: ./common/command/rpn.qc:553: STORE_F GLOBAL7221, GLOBAL16691
s12235: ./common/command/rpn.qc:546: GOTO , statement 12216
s12236: ./common/command/rpn.qc:555: STORE_S GLOBAL16685, GLOBAL4
s12237: ./common/command/rpn.qc:555: CALL1 cvar_string (=cvar_string())
./common/command/rpn.qc:555 : GenericCommand_rpn : statement 1658
lib/_all.inc:543 : genericcommand_rpn_m_invokecmd : statement 3
lib/_all.inc:556 : GenericCommand_macro_command : statement 21
lib/_all.inc:596 : GenericCommand : statement 5
./menu/command/menu_cmd.qc:64 : GameCommand : statement 137
Falling back to normal menu
```
---
terencehill: This function is executed when VM_cvar_string is called:
```
void VM_CheckEmptyString(prvm_prog_t *prog, const char *s)
{
if (ISWHITESPACE(s[0]))
prog->error_cmd("%s: Bad string", prog->name);
}
```
Any command that reads a cvar name from input has this issue, for example addtolist " " crashes the menu too
bones_was_here: autocvars are protected while in use but other non-engine cvars can be deleted at any time so i think when they don't exist i'd return "" or 0 (from cvar_string() and cvar() ) if i was implementing from scratch
and print a warning when a cvar " aaa" doesn't exist instead of crashinghttps://gitlab.com/xonotic/xonotic-maps.pk3dir/-/issues/210Incorrect entity type for trigger_counter2024-02-21T15:25:47ZMariomario.mario@y7mail.comIncorrect entity type for trigger_counterAs seen in [the code](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/blob/master/qcsrc/common/mapobjects/trigger/counter.qc#L84) trigger_counter has no touch interaction as it is supposed to be a `point` entity.
But the entities.ent ...As seen in [the code](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/blob/master/qcsrc/common/mapobjects/trigger/counter.qc#L84) trigger_counter has no touch interaction as it is supposed to be a `point` entity.
But the entities.ent file shipped with Xonotic incorrectly labels it as a [`group`](https://gitlab.com/xonotic/xonotic-maps.pk3dir/-/blob/master/scripts/entities.ent?ref_type=heads#L1211) (brushwork) forcing mappers to make a blank trigger brush to create a trigger_counter.
Attempting to make a trigger_counter currently without having first made a blank brush for it will fail with the error "failed to create a group entity - no brushes are selected".https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2898[Suggestion] Networked variable registry2024-02-14T21:12:59ZMariomario.mario@y7mail.com[Suggestion] Networked variable registryThere's a [system](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/blob/master/qcsrc/common/weapons/all.qh#L163) in place to network cvars to the client, but it is limited only to weapons.
I'd like to suggest splitting out most of tha...There's a [system](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/blob/master/qcsrc/common/weapons/all.qh#L163) in place to network cvars to the client, but it is limited only to weapons.
I'd like to suggest splitting out most of that system into a generic one that anything can use, as this would save dozens of stats being used to send cvars along with up to [72 entities](https://gitlab.com/xonotic/xonotic-data.pk3dir/-/blob/master/qcsrc/common/weapons/all.qh#L225) (on a side note, `baseline_target` is a completely unused entity field there).https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2897Display connection failure and reason in a menu dialog2024-02-12T07:01:29Zbones_was_hereDisplay connection failure and reason in a menu dialogCurrently if failing to join a server via the menu the failure information is only available in the console. Making it available in the menu requires a new extension, which should be designed with translation support in mind.
Related: ...Currently if failing to join a server via the menu the failure information is only available in the console. Making it available in the menu requires a new extension, which should be designed with translation support in mind.
Related: darkplaces#187 #2885 https://gitlab.com/xonotic/darkplaces/-/issues/341#note_997131444https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2895[Suggestion] Disable mod_q1bsp_polygoncollisions by default (Quake 1 compatib...2024-03-14T23:41:28ZMariomario.mario@y7mail.com[Suggestion] Disable mod_q1bsp_polygoncollisions by default (Quake 1 compatibility)This is in xonotic-common.cfg:
```
// support Q1BSP maps
mod_q1bsp_polygoncollisions 1
```
But the setting seems to do the opposite; it renders many community (and official) maps unplayable by removing the map's clip hull data - such ...This is in xonotic-common.cfg:
```
// support Q1BSP maps
mod_q1bsp_polygoncollisions 1
```
But the setting seems to do the opposite; it renders many community (and official) maps unplayable by removing the map's clip hull data - such as vines that are supposed to be nonsolid and any clips preventing players from going out of bounds.https://gitlab.com/xonotic/xonstat-go/-/issues/59Go version is unclear in build instructions.2024-02-01T12:18:54ZzcaliptiumGo version is unclear in build instructions.I am not familiar with Go a lot. But was just trying to build the project.
The only Go version specified in 'go.mod' is `1.14, but it doesn't work with any of 1.14.x. It also won't build with latest with latest versions (i.e. 1.21.x).
...I am not familiar with Go a lot. But was just trying to build the project.
The only Go version specified in 'go.mod' is `1.14, but it doesn't work with any of 1.14.x. It also won't build with latest with latest versions (i.e. 1.21.x).
What Go version I should actually use to build and have it working correctly?https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2894Some map entities network more bytes than they need to2024-01-14T08:04:24Zbones_was_hereSome map entities network more bytes than they need toSpawnflags specifically as mentioned here https://gitlab.com/xonotic/xonotic-data.pk3dir/-/merge_requests/1136#note_1408227920 but we should check the other vars while we're there.Spawnflags specifically as mentioned here https://gitlab.com/xonotic/xonotic-data.pk3dir/-/merge_requests/1136#note_1408227920 but we should check the other vars while we're there.https://gitlab.com/xonotic/xonstat-go/-/issues/58Enclose ipv6 addresses in [ ]2024-01-07T11:56:05Zbones_was_hereEnclose ipv6 addresses in [ ]This was requested in chat to distinguish the :port from the rest of the address (some port numbers are also valid ipv6 hextets). DP also uses the square brackets for this purpose. Because of course ipv6 had to use the same separator b...This was requested in chat to distinguish the :port from the rest of the address (some port numbers are also valid ipv6 hextets). DP also uses the square brackets for this purpose. Because of course ipv6 had to use the same separator between hextet groups as was already used for separating the port...https://gitlab.com/xonotic/xonstat-go/-/issues/57Overkill weapons have no damage or accuracy stats in the match reports2024-01-07T11:51:46Zbones_was_hereOverkill weapons have no damage or accuracy stats in the match reportsOnly the blaster has any stats in OK matches.Only the blaster has any stats in OK matches.https://gitlab.com/xonotic/xonotic-data.pk3dir/-/issues/2891cl_race_cptimes_onlyself 1: improvements are not displayed2024-01-07T11:49:20Zbones_was_herecl_race_cptimes_onlyself 1: improvements are not displayedInstead of the green time reduction centreprint a yellow `+0.0` is displayed when a player improves their CP or finish time with `cl_race_cptimes_onlyself 1`.Instead of the green time reduction centreprint a yellow `+0.0` is displayed when a player improves their CP or finish time with `cl_race_cptimes_onlyself 1`.https://gitlab.com/xonotic/darkplaces/-/issues/404Memory leak when (re)loading fonts2024-01-07T11:41:12Zbones_was_hereMemory leak when (re)loading fontsThere's an old bug where (re)loading fonts (for example as the Xonotic menu does by `exec font-xolonium.cfg` when the window is resized) can leak memory. This became harder to reproduce (much less likely to affect users) with the merge ...There's an old bug where (re)loading fonts (for example as the Xonotic menu does by `exec font-xolonium.cfg` when the window is resized) can leak memory. This became harder to reproduce (much less likely to affect users) with the merge of https://github.com/DarkPlacesEngine/darkplaces/pull/67 but can still be reproduced by manually running `loadfont user1 fonts/xolonium-regular.otf,fonts/unifont,gfx/vera-sans 4 6 8 10 12 14 16 20 24 28 32 $hud_fontsize` (a line from font-xolonium.cfg) or some slight variant of it, after doing some window resizing. Sometimes it takes several attempts to cause the resident size increase.
See also https://github.com/DarkPlacesEngine/darkplaces/pull/67#issuecomment-1875984834https://gitlab.com/xonotic/darkplaces/-/issues/403Sequential buffer write is split into many glBufferSubData that can span acro...2023-12-29T19:26:03ZuisSequential buffer write is split into many glBufferSubData that can span across multiple drawcallsHere is example: glBufferSubData 49(sequential number of OpenGL API call during this frame) writes to EBO range 368-511, then glDrawElements 50 happens, and then glBufferSubData 52 writes range 512-634 before glDrawElements 53.
I notice...Here is example: glBufferSubData 49(sequential number of OpenGL API call during this frame) writes to EBO range 368-511, then glDrawElements 50 happens, and then glBufferSubData 52 writes range 512-634 before glDrawElements 53.
I noticed writes to EBO have wierd 16-byte alignment. For example glBufferSubData writes range 0-359 to EBO and on next drawcall glBufferSubData writes 368-511.
Another example: during rendering entities glBufferSubData 316 writes 0-2303 and then glBufferSubData 317 writes from 2304 another 2304 bytes.https://gitlab.com/xonotic/darkplaces/-/issues/402For each world geometry drawcall same projection matrix is sent to GPU when u...2023-12-29T19:26:03ZuisFor each world geometry drawcall same projection matrix is sent to GPU when using same shader programIt is state change, it can significantly degrade dGPU performance.
View matrix needs to be updated only once [for each shader program](https://www.khronos.org/opengl/wiki/Uniform_(GLSL)). As I understand it also is updated by some water...It is state change, it can significantly degrade dGPU performance.
View matrix needs to be updated only once [for each shader program](https://www.khronos.org/opengl/wiki/Uniform_(GLSL)). As I understand it also is updated by some water rendering code.
This issue is moved from megaissue #401.