Commit graph

60 commits

Author SHA1 Message Date
jeefo
a4233dfaf8
fix: zero out bots pings prior bot disconnection
fix: do not hook pfnCmdStart if game doesn't support fake pings
2024-02-19 23:43:25 +03:00
Владислав Сухов
734eb82fba
bot: enable speech at server startup for xash3d (#522) 2024-02-10 20:08:35 +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
d5a9253582
fix: refactoring mistake with square distances (ref #506 #495)
fix:  bot glibc dependency when SIMD is disabled
fakeping: allow to disable ping average ping calculation from human players (controllable via yb_count_players_for_fakeping)
2024-01-19 21:35:00 +03:00
jeefo
1dc1043f7d
fakequeries: fixed hooking problems on certain providers
linkage: added support for fake steam ids for bots controlled via yb_enable_fake_steamids)

note that fake steam ids just used for give ability server owners to run statistics modules with tracking by steam ids ant not nicknames.
2024-01-19 18:29:20 +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
5fddfed5ce
refactor: move wave length calculation to util class 2023-08-22 09:45:29 +03: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
jeefo
93d9187f6d
fix: crash on predicted node index use after wiped
refactor: reworked prediction to calc prediction for all bots at one job, instead of firing it for every bot
2023-06-29 20:17:46 +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
7bc1704d6a
bot: revert simd-string changes 2023-06-26 10:28:01 +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
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
6daa0a3cd2
bot: enable query hooking on xash3d-fwgs 2023-06-10 02:19:54 +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
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
48fba9a6b7
refactor: move config reader into right class 2023-05-14 14:48:06 +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
2765eed7ac
crlib: switch to new hashmap 2023-04-15 04:10:09 +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
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
Владислав Сухов
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
Владислав Сухов
3c10cc0e67
fix: write "Official Navigation Graph" if graph author matches the product.name (#376)
which was broken after the commit a3288cc353
2022-10-09 22:51:00 +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
40116a201d
fix: command menu drop command causes crash with thirdparty bots (fixes #309) 2022-02-23 22:05:58 +03:00
dmitry
7dc34bd7fa
fix: do not update pings for any players that are not yapb or real players (related #284) 2022-01-31 20:24:50 +03:00
dmitry
26edd7e35b
fix: do not override other bots ping value (resolves #284) 2022-01-21 23:45:20 +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
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
d45e534f3c
fix: fakeping disappearance completely
not sure when and why pingUpdate was appeared, but it was the cause
2021-09-16 20:11: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
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
932d327e43 Fixed custom entities pickup 2020-12-03 17:23:17 +02:00
jeefo
7da58623be Do not use strstr() 2020-12-03 17:27:11 +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
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
9c85913a0f fix: version displaying. 2020-10-07 10:25:31 +03:00
ds
f40ca59700 fix: players play time got replaced with bots play time.
fix: crlib: fixed clang-analyzer warnings.
build: removed predefined optimization flags in debug builds.
2020-10-03 16:39:09 +03:00