Commit graph

65 commits

Author SHA1 Message Date
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
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
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
2b2b82ee13
fix: bot is marked as stale when not needed
bot: port enemy noticeable function from regamedll
2023-05-07 01:04:09 +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
Владислав Сухов
143a86b191 fix: english grammar 2023-04-19 06:51:49 +00:00
Владислав Сухов
851cb2ab93 fix: some typos in cvar descriptions, etc. 2023-04-19 06:39:18 +00:00
jeefo
7c76c57974
mgr: enable balancing bot difficulty on interval instead of on new round (closes #400) 2023-04-12 23:03:36 +03:00
jeefo
085c4aab85
bot: remove check for weapon switch time by now 2023-04-12 11:28:57 +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
38f2716edb
chatter: do not respect timers while discconnecting bot (ref #424 )
combat: tweaked combat behavior a little (do not use strafe in narrow places)
2023-04-03 11:55:01 +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
19c5e6dd4d
fix: do rotation instantly, and not on round start
so it works on infinite round like in csdm
2023-03-25 05:01:58 +03:00
jeefo
40a81e3378
add: bot rotation feature
if yb_rotate_bots is enabled, bot will stay on server between yb_rotate_stay_min and yb_rotate_stay_max cvar, and then will be kicked off the server, another bot will be connected with a different (hopefully) name due to quota balancing.
2023-03-25 04:36:21 +03:00
jeefo
9d6f823f1e
add: utility cvars on user requests
yb_quota_adding_interval
yb_quota_maintain_interval
yb_breakable_health_limit
yb_object_destroy_radius
2023-03-13 16:08:29 +03:00
Владислав Сухов
d22ff2466e
add: yb_kick_after_player_connect cvar (#416) 2023-03-13 15:39:45 +03:00
jeefo
2718adbb8f
fix: code formatting 2023-03-13 15:39:15 +03:00
jeefo
9d8318e584
fix: probably fix for duplicate bot names when save names active (ref #403) 2023-02-01 21:19:17 +03:00
Владислав Сухов
da574c11b3 add: teamkill chatter event 2023-01-24 14:38:08 +00: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
b606b78cda
improve: use ScoreAttrib message to detect if bot is a VIP or not. (#356)
This should resolve problems with bot behavior, when plugins changes VIP player model to something else.
2022-08-03 23:59:57 +03:00
dmitry
af992c374c
fix: wrong data type for flash level (flashbat message) 2022-04-14 12:36:23 +03:00
dmitry
06774a4282
fix: do not prevent buying on fy_* maps, (fix #325)
If you need to prevent bots buying on specific map use map-cfg with yb_botbuy 0.
2022-04-03 14:43:29 +03:00
dmitry
7cde86e88c
fix: do not save bots names between levels when name prefix is set (fix #315) 2022-03-10 09:38:53 +03:00
dmitry
ce01e28be3
fix: prevent bots from staying forever trying to destroy breakable (fixes #288) 2022-02-22 13:51:59 +03:00
dmitry
e21e9a71c9
update: bump the year 2022-01-04 00:23:19 +03:00
Владислав Сухов
08353e6006
Fixes of typos, punctuations, mistranslation (#274) 2022-01-03 22:29:07 +03:00
dmitry
49a1fbbb6b
add: yb_save_bots_names used to save bots names between level changes
remove: pfnChangLevel hook, it's not needed in multiplayer
remove: kick all bots on level change on xash3d, it's done by default now.
2021-09-21 16:52:20 +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
6e83258c7d
build: add arm64 build to linux release package
add: yb_ignore_objectives, that makes bots to ignore map target (hostage rescue, bomb plant/defuse) (fixes #237)
fix: possible buffer overrun in message functions
build: cleanup package.py
2021-09-17 15:55:57 +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
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
1ecc0827c9
arch: added support for aarch64 2021-09-11 02:03:49 +03:00
jeefo
f870e7db4a
Bump the year. (#219) 2021-01-01 00:00:33 +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
Hedgehog Fog
d5107daad4 Added custom monsters and custom items support 2020-12-03 14:14:22 +02:00
jeefo
b75e1b8a23 Fixed compiler warnings. 2020-11-23 10:48:44 +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
ceb05bfa68 bot: remove violence on bot kill (fixes #198). 2020-11-10 13:23:55 +03:00
ds
17b9200195 fix: quota maintain time is resetted on changelevel.
fix: crash without metamod after few map changes.
fix: move sprites precache into the correct place.
fix: move initialization stuff to post-ServerActivate.
2020-11-08 01:20:12 +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
1cad8919b4 fix: adding/removing bots during round restart causes "SZ_GetSpace: tried to write to an uninitialized sizebuf_t: ???" 2020-10-13 12:38:24 +03:00