Commit graph

112 commits

Author SHA1 Message Date
jeefo
c7c5e0eaf9
fix: startup on hlds_l 3111e (still needs nosmid)
build: add option to build bot without any smid instructions
refactor: fix static analyzer warnings
crlib: update submodule (fix double anglevectors call)
2024-10-27 20:51:37 +03:00
jeefo
87cbd144c2
mgr: random bot kick is now more even across teams 2024-06-01 13:58:48 +03:00
Владислав Сухов
864ae158a5
menus: text corrections (#570) 2024-05-18 00:00:54 +05:30
commandcobra7
30df1a5726
control: text changes in the control menu. replaced `waypoint with node` (#569)
Co-authored-by: jeefo <dmitry@jeefo.net>
2024-05-16 21:15:41 +03:00
jeefo
009bdf2f3e
refactor: reformat the code 2024-05-05 01:06:56 +03:00
jeefo
3358168fad
aim: look at last enemy origin when just loosed focus
fix: saving bot practice took enormous amount of time when changing level on large practice database
refactor: changed random number generator usage
2024-04-25 15:03:39 +03:00
jeefo
ffa882a295
aim: do not look for danger places when no enemies left
combat: increase  new enemy update timers
combat: reduce penetrate level for last enemies detection
nav: allow camp nodes to have desired reachability distance
fix: mgr: addhs (high skilled) bot do nothing
Co-Authored-By: Max <161382234+dyspose@users.noreply.github.com>
2024-04-17 23:40:37 +03:00
jeefo
38551eae21
vistable: fix long-standing bug with saving vis counts
vistable: bumped version to 4, so all vistables will be rebuilded
bot: reworked bot think mechanism timers
fix: gimbal lock within bot aiming code on ladders
fix: some fixes to aiming code that prevent bots 360 degree rotations
fix: some mistakes in next and next-next node aiming when in idle state
fix: improved seek covering from attack task
nav: improved bot's crouch on marred-crouch nodes
nav: overall improvements to ladder handling code
Co-Authored-By: Max <161382234+dyspose@users.noreply.github.com>
2024-04-17 21:20:45 +03:00
jeefo
0de53173f0
nav: fixed lift usage as much as possible without full rewrite
mgr: end round with ``endround`` regamedll command if available (menus only)
aim: prevent look angles overflows in some situations
2024-04-14 17:13:22 +03:00
jeefo
cc01693de9
hearing: randomize listen position for heard sounds
graph: restore cvar variables values to initial values when disabling graph editor
cfg: update primary config with actual cvars
vision: remove unnecessary angles clamp
combat: allow to disable engine potential visibility checks
combat: do not aim to head on long distances with AWP, shotguns or with high recoil
bot: set the minimum think fps to 30.0
2024-04-11 16:26:12 +03:00
jeefo
df9bc66023
fix: bot kick menu isn't functional
nav: probably fix for ladder climbing (ref #544 ref #319)
bot: implemented [RSE] Neoptolemus's fix for msec calculation (round vs int cast)
2024-03-27 23:21:00 +03:00
jeefo
c662f4a08f
refactor: break some very long conditions 2024-02-16 00:57:41 +03:00
jeefo
259dd18330
mgr: added `yb exec` command for debugging purposes 2024-02-15 08:37:02 +03:00
Владислав Сухов
e110419c2f control: added 'defaults' argument to yb cvars command help 2024-02-10 16:20:14 +00:00
jeefo
46ebbeea57
graph: allow graphs to be auto-collected (controlled via yb_graph_auto_collect_db)
By default it's off, but it's allow bot to scan graph directory, do a diff with a graph db server and upload every single graph file that do not exist in central database. This is done in a separate thread and do not block server process, and only once server/game is started, not on change level. Also, it's not working on currently started map.
2024-01-30 14:37:14 +03:00
jeefo
d82124e595
bot: return of the cheat cvar yb_whose_your_daddy (resolved #513)
combat: resolve strafe movement issues
combat: resolve bots always standing still with pistols and shotguns
vision: take a look at recent victim for some time before changing view angles
control: allow bots to be killed silently (ref #514) via commands
control: bots that are killed with auto kill timer are now killed silently
2024-01-29 08:08:07 +03:00
jeefo
d234a3f156
fix: android builds unable to load anything due to #498
fix: simd sse4.2 is now required for _mm_dp_ps, due to strange behavior on some cpus (ref #506)
refactor: cosmetic changes all over the code
linkage: do not flush linkent export table on changelevel
manager: do not allow to create bots while analyzing map
conifg: notify user about probably outdated configs, not just error in config file
2024-01-26 19:52:00 +03:00
jeefo
bf91ef2831
fix: bots at difficulty 0 unable to do anything useful
fix: lang configs unable to parse last translated line (fixes #340)
fix: last enemy isn't  cleared instantly with dead entity anymore
fix: bot weakness in pistol rounds
analyzer: improved optimization of useless nodes
linkage: make inability to call gamedll player( non-fatal
linkage: fixed bot boot  on WON engines pre 2000 builds (support for beta 6.5 restored)
cvars: added suupport to revert all cvars to defaults via 'yb cvars defaults'
cvars: added cv_preferred_personality  to select bot default personality
refactor: use single function to send hud messages over the bot code
bot: added random original podbot welcome message to preserve origins of this bot
conf: shuffle bot names and chatter items on conflig load
conf: simplified a bit chatter.cfg syntax (old syntax  still works
build: added support for building with CMake (thanks @Velaron)
refactor: rall the memory hooks moved into their one cpp file
2024-01-19 00:03:45 +03:00
jeefo
a904f49231
bot: added support for loading from custom folders (ref #498) 2023-12-20 00:06:45 +03:00
Владислав Сухов
723a2c93c4 control: removed an unnecessary apostrophe ( ' ) and slightly changed the wording of the path_clean command description 2023-08-14 20:36:01 +00:00
jeefo
fb301b7b19
control: add g path_clean to remove all links from node (#475)
refactor: small cosmetic changes
2023-08-08 11:48:37 +03:00
jeefo
18456c2a28
bot: remove repeated, hardcoded prefixes for cvars 2023-07-21 21:43:36 +03:00
Владислав Сухов
e14c91bb36
fix: cvars bounds (#471) 2023-07-20 01:50:37 +03:00
jeefo
9e67232c07
graph: light levels are now recalculated on every level change 2023-07-18 15:59:15 +03:00
Владислав Сухов
d11f071b72 ctrl: added save_map argument for cvars command help 2023-07-10 14:42:40 +00:00
jeefo
a9bb29a3ae
cfg: allow to save cvars to map-specific config files via `cvars save_map` command 2023-07-03 11:38:52 +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
e24db4c27d
ctrl: display default menus on xash3d 2023-06-14 11:40:56 +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
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
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
Владислав Сухов
b946cbdcbf
add: creating a jump path via menu and console command 2023-05-12 21:19:07 +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
Владислав Сухов
5adb9deb15 cfg: ru_lang.cfg: translated new strings 2023-04-20 11:46:23 +00:00
Владислав Сухов
02ff34a6ef control: added some missing notifications displayed on hud when using features from graph editor menu 2023-04-20 11:20:03 +00:00
Владислав Сухов
6610118582 control: enable graph editor when opening the debug goal menu 2023-04-20 11:04:47 +00:00
Владислав Сухов
f67c0ab75a control: don't enable spawn points highlighting by toggling noclip or auto add node mode when graph editor is enabled 2023-04-20 10:56:37 +00:00
jeefo
2765eed7ac
crlib: switch to new hashmap 2023-04-15 04:10:09 +03:00
jeefo
77c39812f8
build: disable control-flow architecture protection
fix: building since last commit
2023-04-13 03:23:59 +03:00
jeefo
9c73a070b7
aim: do not reduce prediction for grenades
refactor: standardize access to bot files
graph: allow to specify graph upload url via cvar
graph. do not spam if extensions files  are not found
2023-04-13 03:05:35 +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
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
2718adbb8f
fix: code formatting 2023-03-13 15:39:15 +03:00