Commit graph

91 commits

Author SHA1 Message Date
jeefo
a904f49231
bot: added support for loading from custom folders (ref #498) 2023-12-20 00:06:45 +03:00
jeefo
43d524f464
fix: fix build with gcc on windows 2023-11-29 22:41:13 +03:00
jeefo
f3a4fb5a8b
combat: use scale for selecting new enemy
linkage: display hw renderer as game flags
linkage: display running engine (hl25) as game flags
2023-11-29 22:34:45 +03:00
jeefo
87e3cc963a
bot: added support for 25th anniversary hl-update structures 2023-11-25 23:40:43 +03:00
jeefo
c927812c3b
crlib: update submodule 2023-08-08 11:48:52 +03:00
jeefo
c36755c2db
build: disable flto partition on arm as well
build: properly detect arm32 build target
2023-07-03 17:18:42 +03:00
jeefo
52bfac2b09
build: switch to msvc as default release builder
build: add separate extra dll from msvc with support for windows xp
2023-06-27 14:20:23 +03:00
jeefo
7bc1704d6a
bot: revert simd-string changes 2023-06-26 10:28:01 +03:00
jeefo
c1d045828e
aim: add more fail conditions t to fail enemy prediction
bot: allow to disable think-per-frame optimization on xash3d completely, to reduce view-lags. (controlled via  cv_think_fps_disable
2023-06-24 21:38:34 +03:00
jeefo
3d2579c7ea
graph: move light level calculation to thread worker
fix: nodes with light level 0.0 should trigger bots flashlight now
fix: gcc and msvc builds due to mistake in crlib
refactor: add more const-correctness (ongoing)
2023-06-24 03:23:22 +03:00
jeefo
a49a4000c9
aim: improved ladder handling view direction
aim: improved enemy prediction once again
nav: bots with hostages will try to take all hostages that are near with him instead of going directly to rescue zone
manager: fixed engine errors when removing bots with kickall with instant parameter
graph: strip http:// prefix from graph upload url, it should be always http for now
bot: improve handling of smoke grenades on ground (restored code from old yapb2 branch)
2023-06-23 19:52:46 +03:00
jeefo
214b56f37b
fix: make ammo pickups actually to work
fix: buy: bots never buy enough ammo for secondary weapons
fix: yb_pickup_best disabling all pickups instead of weapons only
add: yb_pickup_ammo_and_kits, that allows to enable ammos medkits and kevlars
refactor: switched to crlib strings where possible
refactor: fix some compiler warnings at high levels
refactor: move constants to separate header (thx @spodlesniy)
2023-06-20 15:18:35 +03:00
jeefo
290a74f5b3
math: use sse3 for dot product by default 2023-06-18 21:49:17 +03:00
jeefo
5e5d037dbe
bot: allow to ignore forced game mod based on map prefix (related #458)
build: recover builds under android, cmake script still pending
2023-06-18 20:06:18 +03:00
jeefo
cea1ec5d13
math: added complete-smid version of angle vectors for x86 2023-06-09 19:59:07 +03:00
jeefo
c767096fb7
fix: try to fix darwin build 2023-06-09 06:32:57 +03:00
jeefo
0b8cd9a01c
bot: benefit from sse4.x intrinsics if cpu capable
bot: speed some string functions if sse 4.x available
build: allow to build with native optimizations by settings -Dnative=true
2023-06-09 06:27:04 +03:00
jeefo
7f07817c52
fix: query hook not working on linux 2023-06-08 16:59:52 +03:00
jeefo
d2ded6f0a4
fix: windows build 2023-06-05 21:55:47 +03:00
jeefo
617ddd2498
bot: update submodules 2023-06-05 20:44:33 +03:00
jeefo
d832654f26
fix: linux-amd64 build 2023-05-26 05:53:04 +03:00
jeefo
1db30ad48f
fix: thread handle leak on windows 2023-05-26 04:05:25 +03:00
jeefo
e016fa299e
fix: lightlevel calculation crash on 64bit xash 2023-05-25 15:19:08 +03:00
jeefo
b816cd39aa
aim: fix: ensure pathfinder succeeded when predicting
bot: support for x64 xash fwgs builds
2023-05-25 05:20:30 +03:00
jeefo
aa752c5bdc
fix: macos doesn't need workarounds 2023-05-13 18:22:55 +03:00
jeefo
5f52489033
fix: linux x86 binaries not loading on distros with glibc < 2.34 2023-05-13 18:09:47 +03:00
jeefo
7f4d4748fa
fix: center-screen messages not appearing (fix: #446)
fix: crash when creating too much threads
refactor: fix typos in comments in headers
2023-05-12 22:12:22 +03:00
jeefo
bea600bd4e
fix: build with msvc
refactor: remove remaining commented functions
2023-05-12 20:06:43 +03:00
jeefo
7b58d51973
bot: refactor and clean up old code
fix: crash when saving old format pwf on hlds
bot: moved sdk headers to separate submodule
nav: improved unstuck and avoidance (thanks @commandcobra7) code
bot: use correct path slashes depending on platform for all data
cfg: removed simplified chines' translation, as it's too outdated
2023-05-12 20:00:06 +03:00
jeefo
a616f25b1a
bot: implemented asynchronous pathfinding
nav: floyd-warshall matrices and practice updates are done asynchronously by now
add: yb_threadpool_workers cvar, that controls number of worker threads bot will use
add: cv_autovacate_keep_slots, the amount of slots to keep by auto vacate
aim: enemy prediction is now done asynchronously by now
bot: minor fixes and refactoring, including analyze suspend mistake (ref #441)

note: the master builds are now NOT production ready, please test before installing on real servers!
2023-05-06 20:14:03 +03:00
jeefo
e7712a551a
backport: nodes flooder (analyzer) from cs-ebot
analyze: allow to disable goal marking
analyze: add cvars descriptions and bounds
nav: added optional post path smoothing for astar algorithm
nav: now bots will use Dijkstra algo instead of floyd-warshall if memory usage too high (controlled via yb_path_floyd_memory_limit cvar) (fixes #434)
nav: vistable are now calculated every frame to prevent game-freeze during loading the game (fixes #434)
graph: pracrice reworked to hash table so memory footprint is as low as possible (at cost 5-10% performance loss on practice) (fixes #434)
control: bots commands now is case-insensitive
bot: major refactoring of bot's code
nav: issue warnings about path fail only with debug
practice: check for visibility when updating danger index
analyzer: suspend any analyzing on change level
control: add kickall_ct/kickall_t
nav: increase blocked distance in stuck check
2023-05-02 09:42:43 +03:00
jeefo
595430e8d1
fix: msvc build 2023-04-15 04:16:26 +03:00
jeefo
2765eed7ac
crlib: switch to new hashmap 2023-04-15 04:10:09 +03:00
jeefo
4a00459c26
bot: minor tweaks to knife mode behaviour 2023-04-13 22:48:48 +03:00
jeefo
13f4cad6cd
crlib: update submodule 2023-04-13 03:24:43 +03:00
jeefo
29c00565dc
aim: verify camp angles from nav data before using them
aim: tweaked a bit grenade handling, so bots should use them more
aim: reduce time between selecting grenade and throwing it away
aim: removed hacks in look angles code, due to removing yb_whoose_your_daddy cvar
aim: use direct enemy origin from visibility check, and not re-calculate it
aim: update enemy prediction, so it now depends on frame interval for a bot
aim: additional height offset are tweaked, and now used only for difficulty 4
nav: tweaked a bit player avoidance code, and it's not preventing bot from checking terrain
nav: do not check banned nodes, when bucket sizes re too low
nav: cover nodes are now selected depending on total bots on server
nav: let bot enter pause task after long jump
nav: extend velocity by a little for a jump, like it was in first versions of bot
nav: stuck checking is now taken in account lower minimal speed if bot is ducking
fix: navigation reachability timers, so bots will have correct current node index while camping
fix: bots are unable to finish pickup or destroy breakable task, if target is not reachable
fix: cover nodes are now calculated as they should
fix: manual calling bots add_[t/ct] now ignores yb_join_team cvar
bot: tweaked a little difficulty levels, so level 4 is now nightmare level, and 3 is very heard
bot: minor refactoring and moving functions to correct source file
bot: add yb_economics_disrespect_percent, so bots can ignore economics and buy more different guns
bot: add yb_check_darkness that allows to disable darkness checks for bot, thus disallowing usage of flashlight
bot: camp buttons are now lightly depends on bot health
chat: welcome chat message from bots is now sent during first freeze time period
crlib: switch over to stdint.h and remove crlib-own types
crlib: fixed alignment in sse code
2023-04-07 14:46:49 +03:00
jeefo
53df621dfc
build: reworked build and package to simplify process
build: reworked build and package to simplify process
build: windows dll is now compiled by clang, msvc build added to extras package
fix: clear all the implicit conversions in the code (also fixed some bugs)
fix: crash on  never xash3d-fwgs engine
fix: fixed bad bot behaviors on aarch64
fix: crash on some maps due to missing previous node
fix: finally removed memset(this) within bot creatin
2023-04-02 12:17:12 +03:00
jeefo
52b81d1b6a
crlib: update to latest rev 2023-01-17 09:43:23 +03:00
dmitry
e6fe2a6a22
crlib: update to latest revision (fix gcc warnings)
meson: suppress run_command warnings
2022-09-10 04:01:31 +03:00
dmitry
d402f38295
add: add current map and current time to graph editing overlay
fix: send client messages as unreliable to prevent reliable channel overflow (should solve problems when editing large number of waypoints on single location)
2022-01-16 01:14:11 +03:00
dmitry
e21e9a71c9
update: bump the year 2022-01-04 00:23:19 +03:00
dmitry
3205e1253f
refactor: use xash3d physics interface to handle with linkents, so do not hook dlopen/dlsym while running under xash3d
add: force set sv_forcesimulating to 1 while running under xash3d
2021-09-30 16:37:40 +03:00
jeefo
6f912eb056
Refactoring (#246)
add: yb_chat_percent, yb_camping_time_[min/max], yb_danger_factor[min/max], yb_chat_percent cvars
fix: possible crash with difficulty 0
fix: debug_goal should not be used as last history
fix:  startup on old hlds, because of missing pfnGetFileSize
fix: crash with out-bounds read
change: again tweaked some aiming code
change: player avoidance code so bots will jump less when stuck
change: max followers is just /4 of max players
refactor: redone distance between vectors
refactor: remove magic numbers in graph.add function
2021-09-20 13:50:00 +03:00
dmitry
e5ae2ac3f8
tweak: aiming code a little tweaked to reduce headshot ratio
fix: fix crash with metamod since last commits
add: mark last selected goals within round as used, so bots will take cover all the map
2021-09-17 12:30:55 +03:00
dmitry
f051fe2b99
refactor: clang-tidy source a little
build: remove -fPIC option
2021-09-16 16:09:51 +03:00
dmitry
e213e39d17
change: bot path type selection is based on morale (fear/aggression level)
fix: partially fixes #227  (in matter of player pings)
2021-09-15 11:14:05 +03:00
dmitry
05454f067c
update submodules 2021-09-14 16:19:31 +03:00
dmitry
3487610746
fixing build 2021-09-14 15:30:33 +03:00
dmitry
d17c1808aa
fix: bots continuesly trying to reach goal, after falling down while going on path.
add: bots path type (fast,optimal,safe) is now updated randomly on every round start.
add: more sse functions for mathlib, support for neon (thanks to sse2neon lib)
2021-09-14 15:10:14 +03:00
dmitry
28e9f44dee
build: simplify workflow
linux; switch to gcc to support older hlds builds as well
win32: switch to clang as default compiler
2021-09-12 13:04:05 +03:00