Commit graph

116 commits

Author SHA1 Message Date
jeefo
7a7a9c3146
fix: nav: overlap between occupied node check and player avoid distance
fix: bot: debug overlay flickering in some situations
2023-07-06 14:00:48 +03:00
jeefo
bb6117feb0
nav: do not switch back to primary weapon, if escaping from bomb
revert: some of thread-workers stuff done previous commits due to stability issues
2023-07-02 19:25:18 +03:00
jeefo
5ce2032acd
bot: switch look/body angles updates to thread worker
build: msvc projects now again targets msvc by default
2023-06-28 19:48:51 +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
4a35a87b25
refactor: use squared distance if possible
refactor: add some const-correctness to code
2023-06-24 02:36:51 +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
04503963c5
nav: re-added goal history for a round in some reworked way 2023-06-14 19:36:46 +03:00
jeefo
690d09a5d7
nav: do not avoid anyone in narrow places
nav: increase recent-probe repeat time
bot: allow to camp with secondary weapon if enough friends alive
bot:  think runs now at minimum 50fps, instead of every frame on xash3d
bot: make multilingual system work on xash3d (except menus right now)
engine: mark xash3d engine as modern game version
engine: add xash3d-specific cvars that are not  registered on goldsrc
cfg: do not spam on logs if multilingual or chatter configs not loaded because of game version
2023-06-13 19:55:03 +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
2928ba34fd
fix: nav: remove trace channel stuff completely 2023-06-07 23:27:11 +03:00
jeefo
f7785e2424
fix: nav: fix: nav: correct player feet in calculated jump direction (fix of previous commit) 2023-06-07 23:23:50 +03:00
jeefo
c3f9c02ec5
fix: nav: correct player feet in calculated jump direction
fix: planner: correct radius checking in astar path smoothing
2023-06-07 23:22:30 +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
9ff97c1997
aim: wipe prediction if destination is not index isn't exists
bot: remove copyright year, and provide original author nickname
lang: fix some spelling
2023-05-24 23:41:23 +03:00
commandcobra7
9ae7c38b80
fix: removed unnecessary codes in ladder handling
fix: collision case the bot can jump if it's not on the ladder, so it won't press the jump button when going up the ladder
2023-05-15 11:44:02 +03:00
jeefo
b722b2d327
nav: make bot use computed jumps on analyzed maps 2023-05-13 00:08:53 +03:00
jeefo
57f5c1f323
nav: pause a little if doing jump sequence 2023-05-12 22:41:53 +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
48e157c7b4
nav: allow null-velocity jump links
nav: fix: bots failure to switch weapon back after jump
refactor: re-organize some sources
2023-05-10 09:08:34 +03:00
jeefo
3009b4f50a
bot: add basic support to play as zombie bot
aim: check that we're actually hit the target in body checks
2023-05-08 00:44:14 +03:00
jeefo
0072bbb413
aim: fail prediction more correctly 2023-05-07 13:21:49 +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
6ef03fc9fd
nav: reset goal when clearing current path
nav: stop navigation if last node is occupied
aim: speedup aiming only when enemy reachable
2023-04-16 19:37:26 +03:00
jeefo
4a00459c26
bot: minor tweaks to knife mode behaviour 2023-04-13 22:48:48 +03:00
jeefo
5bc4e1c675
fix: do not apply knife mode if we're just have knife in hands
nav: increase search radius in checking node reachability
2023-04-13 21:12:49 +03:00
jeefo
c3a73d109d
nav: fallback to anything visible in find nearest node (ref #432) 2023-04-13 14:35:29 +03:00
jeefo
5b7e58d360
nav: tweaked reachability timers
nav: ignore pickup item if stuck
fix: bad loading for graphs since last commit
2023-04-13 14:07:56 +03:00
jeefo
cb115b1881
nav: reduce a little nav reach time timer
nav: switch back to main weapon only if on the floor
2023-04-12 22:50:26 +03:00
jeefo
1a650c57ce
graph: reworked buckets so they can handle very large number of nodes
graph: reworked buckets so they can handle very large number of nodes
aim: bots should more respect headshot allow option (needs testing)
aim: incorporated never-finished changes from pr #204
nav: increased reachability timers a bit
nav: ensure buckets has enough nodes before use they
conf: introduced max recoil in difficulty config file
bot: overall fixes to jason mode, treat knife in hands and no weapons as jason mode too
bot: changed default difficulty level for bots to level 3
fix: knife attacks not working since last commit (fixes #429)
fix: hostage rescue not working since last commit (fixes #427)
refactor: use range loops for graph outside graph class when possible
2023-04-11 22:32:28 +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
722e4eda93
nav: send terrorists directly guard planted bomp
aim: various fixes and tweaks
bot: removed yb_whose_your_daddy cvar
2023-04-04 16:53:01 +03:00
jeefo
9ddcef2dd4
aim: reducec headshot pct, if bot is too highskilled
aim: new cpu-friendly headshot penetration function (yb_shoots_thru_walls 3). still testing
nav: use more high range for checking occupied point.
nav: if last navigation node is used by someone, assume route ended
2023-04-02 14:13:52 +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
8f2facda46
fix: out of bound read and unroll loops
.. in find defend/cover node
2023-03-23 17:19:44 +03:00
jeefo
6204192703
fix: logic in cover and defend node practice filtering
fix: predict enemy takes in account distance to the enemy
2023-03-23 16:33:59 +03:00
jeefo
8916dd2b70
nav: allow to get more distant nodes to defend
aim: apply distance restriction for aiming node if not suspecting/hearing enemy
nav: tweaked a little node reachability distances
add: yb_avoid_grenades cvar
ai: bot's will try to cover if blinded and highskilled
2023-03-23 15:22:29 +03:00
commandcobra7
9a8ca06e31
graph: fixed CT camp point color
combat: changes and additions to attack moves
refactor: various fixes
---------

Co-authored-by: jeefo <jeefo@rwsh.ru>
2023-03-20 09:42:55 +03:00
jeefo
2718adbb8f
fix: code formatting 2023-03-13 15:39:15 +03:00
Владислав Сухов
2d2ca5fd22
Some menu tweaks (#397)
* add: debug goal menu and new node flags to the flag selection menu

* translate: russian: translated new lines

* update: bump the year
2023-01-22 19:12:03 +06:00
jeefo
11c5e045d1
fix: flaws in previous commit 2023-01-18 22:46:07 +03:00
commandcobra7
50aecc1332
fix: don't allow to install a silencer if we have a visible enemy
aim: fixed the distortion of angles while camping
add: special ladder handling (code merged from podbotmm)
graph: reworked some node coloring and link color
2023-01-18 22:32:38 +03:00
jeefo
bbeb78137e
nav: ensure nearest search node visible from both sides 2022-11-11 21:36:05 +03:00
jeefo
a3288cc353
fix: prevent loading graphs with less than 8 nodes (brokes pathfinder)
fix: prevent running A* with less than 8 nodes (in case converted one)
fix: trying to play with graph author/modified stuff per #374
2022-10-06 17:01:18 +03:00
dmitry
5d2a81f341
fix: make bots reach the debug goal node. 2022-02-12 23:22:54 +03:00
dmitry
5019b34426
add: made terrorist more offensive and cts more defensive on es_ maps (#295 related) 2022-01-29 12:26:25 +03:00
dmitry
e21e9a71c9
update: bump the year 2022-01-04 00:23:19 +03:00
godhand897
f55ac6c5c4
fix: hostage code (#269)
fix: hostage code
add: yb_random_knife_attacks cvar
2022-01-03 09:18:36 +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