106 Commits
Author SHA1 Message Date
smallmodel f666681035 feat(ui): properly support shaders with one-shot animated textures (#839)
The issue also occurs in the original game. One-shot animated shaders would always appear as already finished.
2025-11-20 20:57:37 +01:00
smallmodel 35f74db1d3 fix(ui): fix mapinfo files never being created (#835)
- .min files are now created for maps that don't have one.
- Saving .min files no longer results in a crash.
- The loading bar is now always cleared when no .min file is present.
2025-11-16 18:45:08 +01:00
Tim Angusandsmallmodel 2c9e500570 XDG home directory support
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-10-19 21:03:23 +02:00
smallmodel a07e642820 Slightly increase the brightness of chat messages 2025-10-05 00:39:30 +02:00
Tim Angusandsmallmodel e299031470 Reduce duplication in FS path search code
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com>
2025-09-04 23:28:07 +02:00
smallmodel ecf70528a7 Move all C++ core classes to the corepp directory 2025-08-24 16:51:11 +02:00
smallmodel a3f520de8c Format most source files 2025-07-19 23:30:20 +02:00
smallmodel ba3ebed1c9 Stop cinematic when clearing the state 2025-07-07 21:48:29 +02:00
smallmodel bd93897286 Add PMF_NO_WEAPONBAR to hide the weapon bar using drawhud 2 2025-07-02 21:28:12 +02:00
1337Smithy 78565fbd3c Deactivate all floating windows when using the popmenu command (#757) 2025-06-13 00:22:06 +02:00
smallmodel 850a17807c Fix waffen skins not being usable on servers 2025-06-02 20:46:34 +02:00
smallmodel 80ae850063 Properly handle the null-terminated character when printing 2025-05-25 18:51:09 +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 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 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 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
Richard Radics fcba3bed95 feat: add GameSpy service unavailable dialog
resolves #127
2025-02-05 23:12:05 +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 2025-01-02 01:46:34 +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 6f686cb7fa Check if the renderer is loaded instead of checking if it's registered 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 4f699f3b58 Add support to compile renderergl2 (currently unimplemented) 2024-12-01 19:21:07 +01:00
smallmodel 6fe1e86b31 Automatically scale UI elements for high resolutions
This fixes UI elements being tiny on high resolutions like 4K. Now most UI elements will scale automatically with resolutions above 1920x1080.
2024-11-30 22:40:00 +01:00
smallmodel 47983481c9 Use UI definitions instead of cls.glconfig for UI code to get the resolution 2024-11-30 13:54:50 +01:00
smallmodel e2f4d8cd6b Use explicit constants when checking g_gametype 2024-11-22 19:44:53 +01:00
smallmodel d83374d38c Set the default compass scale to 0.5 for the base game 2024-11-19 19:44:55 +01:00
smallmodel 05e14f6364 Adjust the objectives menu accordingly depending on the game message box which depends on the compass scale 2024-11-19 19:41:46 +01:00
smallmodel ab84a6ea58 Add support for the demo version of the game
This allows the demo version of the game to be used, both for playing on demo servers, or for hosting a demo server
2024-11-12 23:09:37 +01:00
smallmodel 50fdbaf152 Use CVAR_RESETSTRING instead of CVAR_SERVER_CREATED 2024-11-11 20:36:03 +01:00
smallmodel 1ef1bad9ae Add network profiling tool from Spearhead and Breakthrough
Profiling can be enabled with `cl_netprofile` and `sv_netprofile`, the overlay can be shown using `cl_netprofileoverlay` and `sv_netprofileoverlay` and the server can dump network profile using the `netprofiledump` command
2024-11-09 21:38:16 +01:00
smallmodel b97c47ab32 Cast to clock_t before left-shift 2024-11-03 18:40:18 +01:00
smallmodel 9042ea320c Refactor UI_RegisterLoadResource 2024-11-03 18:38:12 +01:00
smallmodel 98e725ef7b Fix EV_StatsUpdater_UpdateStats missing parameter declaration 2024-11-03 18:28:00 +01:00
smallmodel 05b2d3529e Implement UI_EndLoadResource 2024-11-03 18:27:41 +01:00
smallmodel a3050f6c64 Avoid using too much performance to update the loading screen, especially on low-end PCs 2024-10-10 19:48:23 +02:00
smallmodel 8f355fe188 Add Voip code from ioq3 2024-09-22 16:50:44 +02:00
smallmodel f9d264058b Use safe version of sprintf and strcpy 2024-09-20 23:08:53 +02:00
smallmodel f055162ac0 Adjust the quick message DM console rectangle to avoid seeing characters 2024-09-19 19:46:27 +02:00
smallmodel 8fc6b6e3c3 Correctly handle quick message and message mode for the chat window
This fixes the chat window not being put in quick message mode at all when intended, now it also correctly handle team/private message modes
2024-09-18 22:14:16 +02:00
smallmodel 539688dd3d Reduced the delay to 33 ms (30 fps) to update the loading bar
This makes the loading bar smoother
2024-09-18 20:56:13 +02:00
smallmodel a6377fedab Remove useless code 2024-09-14 23:36:19 +02:00
smallmodel 2f884e6d55 Call Key_GetCatcher/Key_SetCatcher instead of modifying the variable directly 2024-09-14 23:32:24 +02:00
smallmodel 9f48dabaec Play the game's intro when starting 2024-09-14 22:59:27 +02:00
smallmodel 77d48cb104 Don't call UI_ClearBackground in cinematic mode 2024-09-13 22:58:37 +02:00
smallmodel a25200741a Finis the loading screen if it's the default 2024-09-13 22:23:53 +02:00
smallmodel 690a7a7557 Format cl_ui file 2024-09-13 21:36:23 +02:00
smallmodel fb875501f0 Fix UI library forcing latched variables
This caused issues when setting render variables
2024-09-01 23:34:57 +02:00