Commit graph

62 commits

Author SHA1 Message Date
Владислав Сухов
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
jeefo
bb2e93a539
fix: potential division by zero 2023-04-25 09:12:06 +03:00
Владислав Сухов
3db5362d27 fix: graph checking feature doesn't output a message on hud when called from menu 2023-04-20 11:15:52 +00:00
Владислав Сухов
851cb2ab93 fix: some typos in cvar descriptions, etc. 2023-04-19 06:39:18 +00: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
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
a46e64f27e
add: prevent saving graph with less than eight nodes
this is done to prevent crashes in A* pathfinder when there is less than `max  node links` nodes available to work with.

loading of such graphs was disabled sometime ago, and saving wasn't, my bad.
2023-03-24 14:33:04 +03:00
jeefo
6d24e1bbd7
fix: fraction check in visibility table
misc: bump vistable version, and erase old-version vistables
2023-03-23 09:57:23 +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
jeefo
290681d2d8
fix: author overwrite when converting from pwf (ref #409) 2023-03-13 15:20:13 +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
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
69d2b88618
graph: raise yb_graph_draw_distance limit to 3072 units (resolves #390) 2022-12-22 21:34:39 +03:00
Владислав Сухов
b80bb538af
fix: do not write modified_by if the name matches the author (#375)
fix: do not write modified_by if the name matches the author
fix: missing empty author string check
2022-10-09 22:51:32 +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
jeefo
18ee4ce38b
fix: only update modified field, if name of the author differs 2022-10-06 14:50:58 +03:00
jeefo
c411f1e777
fix: reset graph authors upon graph reset (should fix #373) 2022-10-04 12:30:14 +03:00
jeefo
e1d64b62ce
fix: revert graph version to 2
add: allow loading of graphs with different versions for future bot versions.
2022-10-03 11:20:06 +03:00
jeefo
fd7b722fd8
add: make graph author read-only if graph file already has author upon load (resolves #369) 2022-09-21 14:47:36 +03:00
dmitry
659f69d0f0
graph: do not touch buckets while editing graph.
it's not necessary as buckets are created upon every graph load, so it's just waste of cpu cycles while editing graph.
2022-06-17 13:41:23 +03:00
Владислав Сухов
a4bb513226
add: red and blue arrows pointing to danger index
for Terrorists and Counter-Terrorists respectively
2022-04-24 19:28:36 +06:00
Владислав Сухов
c0e417cca7
add: option to disable autosaving
fix: autosave nodes 1 more than specified in cvar.
Now, if the value of cvar is 15, then every 15th node will be autosaved.
2022-01-23 21:15:21 +06:00
dmitry
c0d2ae4915
fix: removed duplicate messages with cache points in console command (resolves #286)
fix: massive message overflow when displaying nodes info (resolves #287)
add: yb_graph_draw_distance,cvar so you can specify visible nodes draw distance in editing mode
2022-01-21 23:39:26 +03:00
dmitry
c4116da021
graph: change outgoing path to white again (fix #277) 2022-01-17 10:01:18 +03:00
dmitry
0f53ab207c
add: option to disable autosaving (set yb_graph_auto_save_count to 0). 2022-01-16 02:00:49 +03:00
dmitry
40ee34336f
fix: typo in latest commit [skip ci] 2022-01-16 01:58:06 +03:00
dmitry
4fe4f30d39
add: implement autosaving graph data (fixes #249) 2022-01-16 01:57:21 +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
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
dmitry
99a8ca2d1b
build: fix msvc compiling 2021-09-16 16:16:00 +03:00
dmitry
f051fe2b99
refactor: clang-tidy source a little
build: remove -fPIC option
2021-09-16 16:09:51 +03:00
dmitry
f55730ac6d
fix: occupied point check radius calculated incorrectly
fix: occupied point calculation takes too much cpu power
fix: buffer overrun in messaging processing
fix: running bots on hlds 3111e (cs 1.5) on linux*
build: added back correct ldscript for gcc and clang

* for some reason only gcc-compiled binaries working on centos5.8 and hlds 3.1.1.1e. clang binaries crashing immediately, so if you want to run bot on ancient os and/or hlds you need to recompile with gcc, as default linux binaries built with clang.
2021-09-10 19:42:24 +03:00
jeefo
f870e7db4a
Bump the year. (#219) 2021-01-01 00:00:33 +03:00
jeefo
4c8a4175d8 Fix uninitialized path walker in waypoints checker.
Update to latest crlib.
2020-12-18 20:06:05 +03:00
jeefo
075bff2988
Custom.cfg (#213)
Added custom configs.

These are used for replacing some hardcoded strings inside bot code, currently custom cvar for parachute detection is available, as well as custom c4 model names.

Added editorconfig, and fixed CRLF for files (was a mix between LF & CRLF).
Fixed use-after-free sanitizer error with chatlib.
Fixed configs files loaded with memory-loader does not process last line in config files.
2020-12-15 15:28:58 +03:00
jeefo
74f1ab866b Fixed linux listenserver startup problems
Fixed multiple buffer overruns and memory leaks.
2020-11-23 00:06:18 +03:00
ds
71355066a4 license: changed to more permessive MIT license.
add: set models for spawn points, only when requesting, instead of setting on every map start.
fix: more translation fixes.
2020-11-03 08:57:12 +03:00
ds
b8d35840b3 add: do not translate messages send to hlds console.
add: split messages sent to client & hlds console, so all message gets sent.
2020-10-12 20:59:48 +03:00
ds
3b0f06bb09 fix: yb_shoots_thru_walls bounds was incorrect.
fix: save, load, upload, download graph files always in lowercase.
refactor: menu display / hide refactored to reduce network traffic. (use string chunks instead of sending menu with writeChar (), and do not reset menu display, if no menu is displayed to client).
2020-10-11 14:01:19 +03:00
ds
f15a115b0a bot: all podbot waypoints should be now located in data/pwf directory.
build: remove '-funroll-all-loop'.
2020-10-05 18:59:40 +03:00