smallmodel
e74651f548
Fix incorrectly converted extents
2025-06-15 20:46:36 +02:00
smallmodel
377dfb618b
Add helper functions to convert extents
2025-06-15 20:12:04 +02:00
smallmodel
e5f645ec0c
Don't use cylinder trace
...
Cylinder causes some issues with terrain where some points would get created below a terrain patch
2025-06-15 18:06:05 +02:00
smallmodel
7fe8a90e8a
Use a better cost for jumping, falling and ladders
2025-06-15 18:00:48 +02:00
smallmodel
70a9a61f93
Use a different color depending on the poly area
2025-06-15 18:00:27 +02:00
smallmodel
d87b97256b
Add cost for different types of area
...
This makes it so special paths, like jump, have an higher cost
2025-06-15 01:26:17 +02:00
smallmodel
6e64526167
Fix sketchy ladder positioning
2025-06-15 00:12:02 +02:00
smallmodel
9b563eef75
Close the door if reopening on the other side fails
2025-06-14 21:57:30 +02:00
smallmodel
b98dcd8a53
Use the spawn delegate
2025-06-14 21:33:34 +02:00
smallmodel
ccb4b801bf
Add a code delegate for spawn
2025-06-14 21:31:00 +02:00
smallmodel
e43ade976b
Prevent switching teams and primary weapon in single-player
2025-06-13 00:41:25 +02:00
smallmodel
774c9d1853
Don't spawn bots in single-player
2025-06-13 00:24:31 +02:00
smallmodel
be6d2a05d2
Set a new session when the game type changes
2025-06-13 00:23:49 +02:00
smallmodel
ca9455bea1
Clear game variables when loading persistent archive
2025-06-10 16:21:05 +02:00
smallmodel
77bcd6d258
Use a 4-byte little-endian number for the raw saved data length ( #749 )
2025-06-10 16:14:23 +02:00
smallmodel
ba3e68adc5
Make the trace functions properly match with the original game
2025-06-08 23:48:17 +02:00
1337Smithy
1dc0dcc3cd
Lower deployed portable turrets so they don't float in the air ( #746 )
2025-06-08 17:51:28 +02:00
smallmodel
9ec3c68d64
Add file functions that uses the engine file API ( #740 )
...
This provides a safer and more secure alternative to the standard C file API.
2025-06-07 23:54:31 +02:00
smallmodel
56db5a1845
Properly initialize the client's enter time regardless of intermission
2025-06-06 21:26:25 +02:00
smallmodel
e152eba8fc
Fix jump points being made at incorrect locations
...
This fixes bots not jumping correctly on Verschneit
2025-06-06 20:51:49 +02:00
smallmodel
9663b38c62
Check if crowd is valid before updating
2025-06-06 20:37:31 +02:00
smallmodel
64cbcd023e
Clear pending weapon commands when a new one arrives
2025-06-05 23:40:52 +02:00
smallmodel
33cfc2cbf8
Fix projectiles with no owner getting removed when a player joins a team ( #735 )
2025-06-05 21:00:20 +02:00
smallmodel
4b486e4a90
Make the barrel also get exploded by landmine and not bash
2025-06-05 00:35:32 +02:00
1337Smithy and smallmodel
b4c96cc543
Prevent barrel leaks when bashed with a weapon ( #733 )
...
---------
Signed-off-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
2025-06-05 00:00:41 +02:00
smallmodel
1e27efd7af
Set the minimum z bound back to 1 when checking for telefrag
...
Some mods block spawns by spawning a tiny solid object, this slight modification made these mods not work properly
2025-06-04 22:36:22 +02:00
smallmodel
12d5849e25
Use isValidPolyRef instead of calling passFilter()
...
passFilter() is currently defined as an inline function and can't be called properly outside its cpp file
2025-06-04 20:59:21 +02:00
smallmodel
34c80df5ae
Add basic support for obstacles in Recast
...
- Obstacles with a radius smaller than 100 units (sphere) will be ignored
- An obstacle that would cover polygons more than twice the radius of the obstacle will be ignored
Currently, this only works for big obstacles that affect small areas
2025-06-04 03:20:14 +02:00
smallmodel
62a52c8974
Set agent max height to the character Z bounding box
2025-06-04 01:10:18 +02:00
smallmodel
6af295ebcb
Add a getter to retrieve the player's user info
2025-06-03 19:36:36 +02:00
smallmodel
d7ed1c8530
Add a script function to get the value of a key given an info string
2025-06-03 19:36:33 +02:00
1337Smithy and smallmodel
2c0e913e86
Lower the animation sync rate for non-german actors on Spearhead and Breakthrough ( #730 )
...
---------
Signed-off-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
Co-authored-by: smallmodel <15067410+smallmodel@users.noreply.github.com >
2025-06-03 00:43:01 +02:00
smallmodel
c2ed93e92b
TouchField doesn't wait by default
2025-06-02 14:01:22 +02:00
smallmodel
c144c345c5
Clear actor state functions that shouldn't be used
...
Functions like RestartState causes specific states like curious to repeat when it shouldn't (AI misbehaving)
2025-06-02 13:47:24 +02:00
smallmodel
a20a1facb0
Add missing UpdateFog() call
2025-06-02 13:15:34 +02:00
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
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
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
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
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