Commit graph

60 commits

Author SHA1 Message Date
jeefo
38c45aff9a
fix: crash with hl25 structs on xash3d again
fix: %t placeholder should return damage inflictor when used in team attack section of chat
fix: all arguments in bot commands are lowercased (resolves #680)
bot: disable threads when engine's timescale is active
bot: a little refactor for the code all over the places
linkage: resolved crash due to sse alignment on ancient engines (resolves #614)
utils move wave parse into crlib
practice: move loading practice to thread pool
build: allow to build with static linkents instead of hooking dlsym

Co-Authored-By: Max <161382234+dyspose@users.noreply.github.com>
2025-03-16 18:25:15 +03:00
jeefo
b8fb2e8845
cvars: allow to set very long descriptions
cvars: added full descriptions to yb+restricted_weapons (closes #659)
crlib: update submodule
fix: send server messages should split as string and not stringref to keep null-terminated chunks
2025-02-15 13:51:45 +03:00
jeefo
9b80517eda
graph: do not spam about problem
nav: tweaked stuck values and timers
2025-01-31 19:58:28 +03:00
jeefo
c07d02c14e
fix: breakable headache (ref #660)
fix: bots firing rates on short distances (ref #658)
2025-01-14 14:17:53 +03:00
commandcobra7
1d60f19402 nav: minor change in ladder use.
aim: slight improvement in enemy prediction node recruitment.
2024-11-15 19:59:48 +03:00
jeefo
8dece62df6
aim: added optional hitbox-based aiming for bots (ref #579) 2024-06-02 23:03:12 +03:00
jeefo
4aa6aff8b6
bot: improved logic when in freezetime
fix: full reset entvars of  fakeclient upon entity creation
fix: high skilled bots can't shoot with sniper weapons on short distances (ref #582)
fix: fill server will not overflow number of bots anymore
fix: do  not treat dormant  entites as valid clients for bots
mgr: : single bot kick is now working in non-sequential order
Co-Authored-By: Max <161382234+dyspose@users.noreply.github.com>
2024-06-01 10:57:57 +03:00
jeefo
b72f8a2ef9 bot: disable fake bot features by default (ref #575) 2024-05-24 20:00:07 +03:00
jeefo
dedbf8ab82
bot: add more support for zombie mod scenario (ref #563)
added multiple items to custom.cfg, so game delay timer cvar is now configurable, the infected team is configurable as well.

creature (well, just zombies) now correctly detects their "creature" status even with custom model names (assumes that bot is on an infected team = zombie)

Co-Authored-By: Max <161382234+dyspose@users.noreply.github.com>
2024-05-15 22:56:35 +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
80e59c2c24
fix: use real teams when joining the games 2024-01-31 13:04:02 +03:00
jeefo
05e10bae6e
feat: allow bots to be added into the game even if no default spawn points (ref #511) 2024-01-21 00:59:15 +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
835c9fc4ed
linkage: remove renderer flags, as world model isn't available when flags are shown 2023-11-30 20:14:10 +03:00
jeefo
f3a4fb5a8b
combat: use scale for selecting new enemy
linkage: display hw renderer as game flags
linkage: display running engine (hl25) as game flags
2023-11-29 22:34:45 +03:00
jeefo
87e3cc963a
bot: added support for 25th anniversary hl-update structures 2023-11-25 23:40:43 +03:00
Alexander Shkarlatov
8c60149c70
bot: ignoring some parameters for throwing grenades (#488)
add: cvar "yv_grenadier_mode" bot will ignore throwing grenade condition if enabled
2023-10-18 22:13:23 +03:00
jeefo
948b441541
fix: bad maxspeed after respawn with csdm (ref #482)
fix: free for all mode has no friends or foes
chat: disable dead chat on csdm
2023-09-14 16:48:36 +03:00
jeefo
e753efd678
nav: allow to disable player avoidance via yb_has_team_semiclip cvar (ref #478) 2023-09-10 11:10:31 +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
9e67232c07
graph: light levels are now recalculated on every level change 2023-07-18 15:59:15 +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
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
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
bea600bd4e
fix: build with msvc
refactor: remove remaining commented functions
2023-05-12 20:06:43 +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
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
cf9817ab10
bot: remove detection of official csbot
not sure for what it was used before
2023-05-06 20:32: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
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
d6d3af5b02
fix: mingw-w64 compile on windows
added ldscript from metamod-p, so mingw-compiled binaries will load by vanilla hl engine (without metamod) without crashes
2023-03-25 15:59:11 +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
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
e21e9a71c9
update: bump the year 2022-01-04 00:23:19 +03:00
dmitry
3205e1253f
refactor: use xash3d physics interface to handle with linkents, so do not hook dlopen/dlsym while running under xash3d
add: force set sv_forcesimulating to 1 while running under xash3d
2021-09-30 16:37:40 +03:00
dmitry
f051fe2b99
refactor: clang-tidy source a little
build: remove -fPIC option
2021-09-16 16:09:51 +03:00
dmitry
570cfe0538
fix: reduce chances fake ping disappears from scoreboard 2021-09-15 13:02:22 +03:00
dmitry
1ecc0827c9
arch: added support for aarch64 2021-09-11 02:03:49 +03:00
dmitry
1e9bc3cb5f
fix: crash when exiting linux listen server (#241)
fix: crash when loading on windows xp (#244)
build: switched to github hosted runners, and get rid of self-hosted
build: windows exe and dll is now code-signed
build: drop support for intel icc compiler
2021-09-08 20:09:23 +03:00
jeefo
f870e7db4a
Bump the year. (#219) 2021-01-01 00:00:33 +03: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
655693582a Switch build to msvc for windows.
Switch build to clang for linux.

Mingw binaries isn't working with vanilla hlds / listenserver. And i'm too lazy to debug them.

For consistency reason, linux switched clang, so we're only have clang for linux & osx and msvc for windows.
2020-11-13 19:16:56 +03:00