Commit Graph
552 Commits
Author SHA1 Message Date
1337Smithy 78565fbd3c Deactivate all floating windows when using the popmenu command (#757) 2025-06-13 00:22:06 +02:00
smallmodel ea8ee67784 Improve stufftext filtering (#731)
- Use `allow` rather than `filter`, as it checks for allowed commands
rather than prohibited commands.
- Allow userinfo variables to be created by the server.

Userinfo variables are now removed when disconnecting. Some servers use
userinfo variables for custom settings or to store temporary
information, which makes them irrelevant on other servers and uses space.
2025-06-03 18:46:56 +02:00
smallmodel 17fa5af480 Comment out non-existent waffen skins 2025-06-02 20:46:50 +02:00
smallmodel 850a17807c Fix waffen skins not being usable on servers 2025-06-02 20:46:34 +02:00
smallmodel 08b15c4fe6 Fix server query count increasing when updating a server 2025-06-01 13:41:31 +02:00
smallmodel 80ae850063 Properly handle the null-terminated character when printing 2025-05-25 18:51:09 +02:00
smallmodel 85f8f581bc Initialize the subtitle buffer 2025-05-18 00:24:20 +02:00
smallmodel 02c2579366 Use the message string directly rather than copying into a buffer
This removes the print length limit
2025-05-17 23:03:21 +02:00
smallmodel b725c92922 Fix buffer overflow due to missing null-terminated character 2025-05-17 20:55:48 +02:00
smallmodel da9979f887 Remove the architecture suffix from binary names
- Avoids conflicts with third-party DLLs (like SDL, OpenAL) which have no suffix.
- Easier to build an installer and document.
- More clarity as the architecture is already indicated in the archive name.
- Simplifies launchers & automation (no need to guess the architecture).
- The architecture is still visible when typing `version` in the console or when the executable starts
2025-05-13 20:44:35 +02:00
smallmodel d358e4274c Sanitize the name before sending it during challenge 2025-05-03 21:52:04 +02:00
smallmodel ca8efa52c4 Keep the call to CL_RequestAuthorization() even if it's unused 2025-05-03 21:47:51 +02:00
smallmodel eeb82630c4 Use Cvar_VariableIntegerValue() to get the qport 2025-05-03 21:43:13 +02:00
smallmodel 831695f288 Rework the version string (#720)
Rework the version string.

- Make the original game version appear first in the `version` variable.
- Use `com_target_shortversion` for the short version number.
- Use `com_target_version` for the original game version.

Some software, such as HLSW, as well as certain mods, check if the version string begins with "Medal of Honor ....". This commit makes these changes to ensure most software properly handles the game version.
2025-05-03 13:38:00 +02:00
smallmodel 46ead9fa53 Increase the number of concurrent connections with 2 server lists
This value increases the number of parallel servers to above 1 in Spearhead and Breakthrough when the rate is set to xDSL or above.
2025-05-02 22:54:31 +02:00
smallmodel a924fc252b Use the hardware cursor in windowed mode (#718)
In windowed mode, the mouse is no longer grabbed when one of the UI/console catcher is active. When a UI menu is active, the system's hardware cursor is shown, using the game's custom cursor texture, instead of simulating and rendering the cursor in-game.

* Add exports to load a raw image from the renderer
* Set the hardware cursor to the game's custom mouse cursor texture
* When mouse is not grabbed, the mouse gets updated with absolute mouse position, relative to the window position
2025-05-02 16:52:39 +02:00
smallmodel 7cf24cb080 Update the status when refreshing the server list 2025-05-02 12:06:50 +02:00
smallmodel 0f38783f0d Correctly indicate the status of the server list especially when multiple server lists are queried 2025-04-30 18:44:04 +02:00
smallmodel cd6378316f Format cl_uiserverlist source files 2025-04-30 17:30:13 +02:00
smallmodel 3098f5a097 Halve the number of concurrent connections when there are 2 server lists 2025-04-30 17:18:52 +02:00
smallmodel b014a975a4 Add safety checks for AddFilter() 2025-04-28 22:24:33 +02:00
smallmodel cce81cabff Implement multi-master queries and heartbeats (#717)
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
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
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 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)
* 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 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 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