Commit Graph
4392 Commits
Author SHA1 Message Date
smallmodel 45205c1906 Fix MoveTo() using actor's origin instead of waypoint origin
MoveTo() was incorrectly setting the script goal to the actor's origin rather than the waypoint's origin, causing the actor to stand still instead of moving to the specified location.
2025-06-02 01:55:00 +02:00
smallmodel 13762a05b8 Don't pass curious conditions if actor has no curiosity 2025-06-02 01:44:12 +02:00
smallmodel 2c42499788 Fix CuriousSound probability 2025-06-02 01:43:38 +02:00
smallmodel b0c111170e Correctly check if a squadmate is in line of fire (#728)
This fixes actors incorrectly not shooting in Spearhead/Breakthrough when squadmates are next to each other.
2025-06-01 15:41:57 +02:00
smallmodel 08b15c4fe6 Fix server query count increasing when updating a server 2025-06-01 13:41:31 +02:00
smallmodel 94cfcfe5e2 Fix server list stuck in fetching state in specific situations 2025-06-01 12:54:30 +02:00
smallmodel cf06a395de Properly initialize a client when reusing an entity
This fixes an issue where, if a client rejoins after losing connection, the scoreboard would temporarily display the name of client 0 before spawning.
2025-06-01 01:11:05 +02:00
smallmodel 023770f63e Use the entity number rather than the client's clientNum
The number must match the entity number parameter used in G_GetEntity().
This fixes a crash caused by gclient struct being reset when a client reconnects to the same player slot
2025-06-01 00:35:38 +02:00
smallmodel 95dff2536b Add contextual print feature (#727)
Add metadata to client-specific messages such as text and join events.
Can be disabled via `sv_logContext 0`.
2025-05-31 22:31:36 +02:00
smallmodel 7ce1eda3a7 Print to each client individually rather than broadcasting
This prevents spamming the logfile constantly with a bunch of messages that are not relevant
2025-05-31 18:45:23 +02:00
smallmodel 96e4b26635 Fix ip field being wrong 2025-05-31 18:43:25 +02:00
smallmodel 525f75a1a7 Don't filter terrain patches
In the terrain tessellation code, patches sometimes rely on neighbors, which if are hidden can issues with invalid tri. Collision doesn't rely on shader contents anyway
2025-05-30 23:21:02 +02:00
smallmodel 9200b37610 Use rain changes from Spearhead and Breakthrough 2025-05-30 22:48:37 +02:00
smallmodel 44d745d534 Fix vertreg not freed 2025-05-30 13:23:55 +02:00
smallmodel ee287ce00b Correctly unpack and filter out terrain patches that aren't used
This was causing uninitialized terrain patches to be used if they have an invalid content
2025-05-29 20:30:01 +02:00
smallmodel e259d62e18 Fix broken object insertion
This was causing the last object to be uninitialized when an object was being inserted at index 0
2025-05-29 20:26:00 +02:00
smallmodel 3c4f361c7a Fix typo 2025-05-29 12:57:36 +02:00
smallmodel a4391bc320 Implement Recast-based navigation system (#726)
- Paths are generated automatically during map loading, for any map
- Bots can take path that requires climbing ladders (can climb ladders)
- Bots can take path that requires jump (like the ledge on Stalingrad)
- Bots will try to avoid obstacles in front of them by navigating on the
side

The old navigation system with pathnodes can still be used with `g_navigation_legacy
1`
2025-05-29 12:22:27 +02:00
smallmodel 80ae850063 Properly handle the null-terminated character when printing 2025-05-25 18:51:09 +02:00
smallmodel bf4d973097 Fix lean angle slightly not matching the original game (#724) 2025-05-25 18:39:05 +02:00
smallmodel 8bbebe9dea Send the print command to each client instead of broadcasting
This prevents spamming the server console/logfile with print messages
2025-05-25 02:38:08 +02:00
smallmodel 0eca5c56ac Fixed an issue preventing spawning next to spawn points with an offset 2025-05-25 02:24:10 +02:00
smallmodel fa18824a8a Fix client being refused forever after being rejected for high ping 2025-05-21 23:52:43 +02:00
smallmodel ffcec02aa6 Allow a certain amount of challenges to have the same IP address 2025-05-21 23:51:16 +02:00
Cowcat5150 7e52f74d2a Missing bigendian values in fencemask. 2025-05-19 18:08:50 +02:00
smallmodel 1241818d5e Use placement new when copying as the object is uninitialized 2025-05-18 19:48:14 +02:00
smallmodel d474791e1d Fix missing bottom line when characters are outside the frame 2025-05-18 00:30:15 +02:00
smallmodel bdf92ffb06 Increase max dm message length to 400 characters 2025-05-18 00:30:10 +02:00
smallmodel 85f8f581bc Initialize the subtitle buffer 2025-05-18 00:24:20 +02:00
smallmodel 76c11e3c97 Fix words counted incorrectly 2025-05-18 00:22:26 +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 6c5f95c6bf Fix line breaks being incorrectly calculated
This fixes the issue where long messages would not be shown in console
2025-05-17 22:59:04 +02:00
smallmodel 424243e500 Prevent underflow when caret is 0 2025-05-17 22:27:51 +02:00
smallmodel b725c92922 Fix buffer overflow due to missing null-terminated character 2025-05-17 20:55:48 +02:00
smallmodel 1bcf6f73a4 Add "(all)" prefix 2025-05-17 16:51:15 +02:00
smallmodel 483b49f5ee Print the exact message that is shown in-game to console 2025-05-17 16:49:24 +02:00
smallmodel d790fa398f Add verbose print when rejecting due to user info being too long 2025-05-17 00:18:18 +02:00
smallmodel 23e7df2796 Print the userinfo string when debugging print SV_DirectConnect() 2025-05-16 23:29:52 +02:00
smallmodel ba502a9d39 Log name changes from the server instead of the game module 2025-05-16 22:21:55 +02:00
smallmodel 3ce9621715 Print the correct client number for clients connecting 2025-05-16 22:18:20 +02:00
smallmodel 7806da0448 Don't print name changes from an empty name 2025-05-16 21:12:40 +02:00
smallmodel d533bc450f Display the IP address of the connecting client 2025-05-16 21:12:27 +02:00
smallmodel fc33dfe656 Set output remote command buffer size to 8192 bytes
This fixes issues where some tools fail to handle multiple print packets. On a 64-player server, the status command can generate around 5000 bytes of output.

The buffer size in the original game is 49152 bytes, but that's excessively large and can lead to excessive IPv4 fragmentation.
2025-05-15 22:16:36 +02:00
smallmodel ab48b8232b Correctly sort scores in round-based matches 2025-05-15 00:08:18 +02:00
smallmodel 8ab12b29a6 Fix issue where the text message gets empty when exceeding character limit 2025-05-14 23:55:47 +02:00
smallmodel 035f7b2605 Increase message buffer to 200 characters 2025-05-14 23:50:20 +02:00
smallmodel 7081a56113 Fix name being cut off at the first negative character.
Com_SanitizeName uses unsigned comparison when validating characters to prevent premature truncation when encountering characters above 127
2025-05-14 23:36:18 +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 962ae8a013 Add a quote to the first command-line path.
This fixes an issue where the game wouldn't load DLLs from the same folder when a space was present in the full binary path.
2025-05-08 01:05:11 +02:00
smallmodel ead8087cff Format launcher source files 2025-05-08 01:03:14 +02:00