smallmodel
cce81cabff
Implement multi-master queries and heartbeats ( #717 )
...
Build branch / build-all (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Implement multi-master server list query and multi-master heartbeats. The server list is fetched from multiple masters to improve redundancy, reliability and performance. This improves multiplayer availability by implementing support for using multiple masters.
- The server sends an heartbeat to all masters at once
- The client can query up to 4 masters in parallel depending on their rate
2025-04-27 22:14:08 +02:00
smallmodel
c1efc0e066
Set the minimum number to 30 for cl_maxpackets
...
Build branch / build-all (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
20 is the bare minimum for players, any value below makes movements look jittery on a 20 fps server. 30 is the optimal value based on network variation and fps variations
2025-04-23 23:56:05 +02:00
smallmodel
a2bbf6cff8
Use functions that return master host information
...
This splits gamespy client-specific and server-specific code and add common gamespy code to provide more flexibility in the future
2025-04-22 21:40:34 +02:00
smallmodel
12880db557
Don't force HRTF if the speaker type is not "Headphones"
2025-04-21 21:26:33 +02:00
smallmodel
881d7f2f51
Don't refresh the server list if it's not ready
...
The server list UI refresh the server list for the first time when drawing. In mohaa (not Spearhead nor Breakthrough), refreshserverlist is also called by clicking "browse internet servers" which causes the list to be queried twice
2025-04-21 21:03:42 +02:00
smallmodel
93335978ea
Code formatting
2025-04-21 20:40:55 +02:00
smallmodel
2a1e2d7d6c
Check for valid scoreboard menu
...
Build branch / build-all (push) Failing after 1m11s
CodeQL / Analyze (push) Has been cancelled
Under rare circumstances, the scoreboard menu can be NULL and would cause a crash. This was fixed in mohaab 2.30
2025-04-15 18:37:35 +02:00
smallmodel
c9ff941600
Implement Instant Action from Breakthrough ( #712 )
...
This adds a feature that makes it easy to join a populated low-ping server (matching criteria from configuration file). This feature has been available since MOHAA Breakthrough 2.30.
2025-04-15 00:31:34 +02:00
smallmodel
3074494131
Convert the game version to number once
Build branch / build-all (push) Failing after 44s
CodeQL / Analyze (push) Has been cancelled
2025-04-04 22:53:06 +02:00
smallmodel
e2c24abf62
Move alext functions out of qal.h ( #706 )
...
qal.h should contain core/required functions. To get functions from extensions, alGetProcAddress should be used, so they can be optional
2025-03-24 22:16:43 +01:00
smallmodel
50e3aa1f61
Fix compilation errors with AL local headers ( #705 )
...
Build branch / build-all (push) Failing after 48s
CodeQL / Analyze (push) Has been cancelled
* Remove alext inclusion as it's included by qal.h already
* Update local AL headers
2025-03-22 23:45:41 +01:00
smallmodel
158ff62aaa
Fix small typo
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 59s
2025-03-12 00:02:44 +01:00
smallmodel
e0b7d4cc60
Display a message box to the client when a new update is available
2025-03-11 23:37:51 +01:00
smallmodel
b90bbd9dcf
Format document
2025-02-06 22:56:49 +01:00
smallmodel
e8f69e197c
Initialize variables from the class
2025-02-06 22:56:24 +01:00
smallmodel
9922a7095b
Activate the control and connect dialog's W_Deactivated after its creation
...
As the control is activated before, the connection should be done after the activation because ActivateControl() sends W_Activated to the UIFloatingWindow, which will cause ActivateControl() to be called again to activate the dialog's title bar button (and would deactivate the gamespy dialog)
2025-02-06 22:50:21 +01:00
smallmodel
3c836144e2
Move widget object creation from the constructor to FrameInitialized()
2025-02-06 22:41:50 +01:00
Richard Radics
fcba3bed95
feat: add GameSpy service unavailable dialog
...
resolves #127
2025-02-05 23:12:05 +01:00
Richard Radics
fd4f5e7d51
fix: fix elapsed time and logged date in loadgame ui
...
fixes #545
2025-02-04 22:14:52 +01:00
smallmodel
c345035e12
Add Cvar_CheckRange exports
2025-01-27 00:13:01 +01:00
smallmodel
90e46f535c
Add a random number next to the default name
Build branch / build-all (push) Failing after 17s
CodeQL / Analyze (push) Has been cancelled
2025-01-21 23:26:21 +01:00
smallmodel
02fc573e31
Apply client and server config tweaks when loading the original config
2025-01-21 22:56:05 +01:00
smallmodel
7b53e25dd5
Set the default rate to 25000 (xDSL)
2025-01-21 22:08:54 +01:00
smallmodel
28fd0ba201
Use spline as the default source resampler for OpenAL
...
This makes sounds feel stronger, the spline resampler has slightly louder high frequencies
2025-01-09 20:36:15 +01:00
smallmodel
305c026f4e
Import alGetStringiSOFT
2025-01-09 20:29:30 +01:00
smallmodel
6049ecfc6e
Localize dmbox and gmbox
2025-01-08 21:26:47 +01:00
smallmodel
d396a45e64
Annoying MSVC focus mistake
2025-01-08 18:55:54 +01:00
smallmodel
4f32d436bb
Disable OpenAL limiter
2025-01-08 18:45:05 +01:00
smallmodel
4268a875fa
Revert commit b95241dcfe
2025-01-08 17:56:44 +01:00
smallmodel
b95241dcfe
Rotate audio listener by +90 degrees forward
...
This fixes wrong spatialization of 3D sources with HRTF
2025-01-07 20:49:25 +01:00
smallmodel
d6db83805d
Make chat message colors brighter
2025-01-07 00:39:45 +01:00
smallmodel
713e361d85
Fix DM box position with resolutions above 1920x1080
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 14s
2025-01-02 01:46:34 +01:00
smallmodel
869075f47b
Disable audio virtualization on special audio sources such as music and ambient sounds
...
This prevents the music from being muffled by HRTF virtualization
2025-01-01 23:58:48 +01:00
smallmodel
f4a412cc24
Fix reverb toggle at runtime even if reverb is unimplemented
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 17s
2024-12-31 13:04:33 +01:00
smallmodel
1919b0efcb
Fix Cvar_SetValue not set for ref imports
2024-12-20 23:11:37 +01:00
smallmodel
79643d963e
Correctly parse the name of the players returned by the serverstatus command
2024-12-15 21:32:23 +01:00
smallmodel
20c1fab815
Don't set the frame number if the renderer function doesn't exist
2024-12-14 22:13:11 +01:00
smallmodel
0644bc2967
Don't execute old commands from previous map when initializing cgame
2024-12-09 21:27:08 +01:00
smallmodel
a2e4f1dc25
Use the server frametime when parsing baseline entities from the game state
2024-12-09 19:34:19 +01:00
smallmodel
9c952ab49d
Set the map name from the server
2024-12-09 19:33:05 +01:00
smallmodel
aa52fe73a5
Restart the file system when connected and when the local server has no paks
2024-12-09 19:31:58 +01:00
smallmodel
835ddb1de3
Set the compass scale to 0.55 by default on the base game
2024-12-09 18:08:00 +01:00
smallmodel
b58f031bcc
Remove unused cg variables
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 17s
2024-12-08 20:09:23 +01:00
smallmodel
70a5dde726
Correctly handle long strings in chat and game message box
2024-12-08 19:22:25 +01:00
smallmodel
333c452f44
Sanitize the name with a maximum buffer size limit
2024-12-08 12:51:14 +01:00
smallmodel
d8d98ade6a
Set the default sound quality to 44 Hz
2024-12-08 12:37:59 +01:00
smallmodel
6f686cb7fa
Check if the renderer is loaded instead of checking if it's registered
CodeQL / Analyze (push) Waiting to run
Build branch / build-all (push) Failing after 43s
2024-12-06 00:45:18 +01:00
smallmodel
28bdd1b2b3
Made the renderer modular and loadable
...
This removes coupling between the renderer and UI/client functions. An option USE_RENDERER_DLOPEN was added to specify whether a renderer module should be compiled and loaded, instead of integrating the renderer into the executable directly. This opens the door for a new renderer
2024-12-06 00:15:19 +01:00
smallmodel
861338b0fc
Add support for smaller lightmaps
...
Large lightmap can be disabled for very low-end hardware. A BSP file with a smaller lightmap (_sml.bsp) will be used instead of the standard one if the map supports it
2024-12-02 20:36:45 +01:00
smallmodel
21f631e733
Compile SDL input/client and SDL OpenGL independently
...
This decouple the renderer from the client part of SDL (input), and only uses SDL for OpenGL
2024-12-01 22:23:28 +01:00