Commit graph

50 commits

Author SHA1 Message Date
jeefo
4d82de8375
fix: update immediately on player connect and disconnect 2023-09-10 13:08:18 +03:00
jeefo
18456c2a28
bot: remove repeated, hardcoded prefixes for cvars 2023-07-21 21:43:36 +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
5a2d0748c0
fix: bots on csdm never respawning thus never resets their states (fixes #459) 2023-06-20 22:00:15 +03:00
jeefo
b38c29af84
fix: windows-gcc build 2023-06-20 15:23:41 +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
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
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
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
jeefo
2765eed7ac
crlib: switch to new hashmap 2023-04-15 04:10:09 +03: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
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
jeefo
84c2794aed
fix: crash with menus and commands (resolves #292) 2023-02-02 16:52:28 +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
81a308de21
fix: clear out graph editor upon player disconnect 2022-01-29 12:20:11 +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
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
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
570cfe0538
fix: reduce chances fake ping disappears from scoreboard 2021-09-15 13:02:22 +03:00
dmitry
28e9f44dee
build: simplify workflow
linux; switch to gcc to support older hlds builds as well
win32: switch to clang as default compiler
2021-09-12 13:04:05 +03:00
dmitry
1ecc0827c9
arch: added support for aarch64 2021-09-11 02:03:49 +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
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
e8b55acd23 Do not keep log file opened while game process active.
Rename actions workflow.
Fixed mingw-w64 stdcall handling.
2020-11-16 13:11:26 +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
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
fba3837523 add: rapid output console commands are now put on queue and sent with intervals. fixes #176, and overflows causes by yb cvars and yb g clean all commands. 2020-10-13 15:43:25 +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
ds
9c85913a0f fix: version displaying. 2020-10-07 10:25:31 +03:00
ds
19b0dd030c git: ignore /build directory [skip ci] 2020-10-04 11:12:39 +03:00
ds
30a112fd71 cfg: updated yapb.cfg to reflect changes.
cfg: made yb_quota 9 by default.
linux: fixed bots connection times remains static on linux or osx.
crlib: fix security issues.
2020-10-04 00:54:34 +03:00
ds
1263a1a439 fix: use clamped health value to avoid overflows.
crlib: do not shutdown wsa, it's cleaned upon server exit anyway.
2020-09-26 18:41:53 +03:00
ds
fa47e418b2 add: implemented #122.
fix: bots try to defuse already beeing defused bomb (fixes #116).
fix: line ending in source code.
fix:  do not retreat with sniper weapon, if currently shooting and have ammo.
crlib: added deque class.
2020-09-16 13:07:47 +03:00
ds
a675c40927 misc: refactored weapon type recognition.
fix: reverted body offsets from 2.7 version.
fix: do not destroy breakable around if closer than 100 units. (#156 possible can be fixed).
fix: minimum supported hl & cs version display.
fix: csdm respawn outside of waypointed area causing pathfinder errors.
2020-09-13 02:21:15 +03:00
dmitry
f51d3bf13b fix: do not clean non-cmd buttons on IN_SCORE hook.
fix: reset search nodes when receiving team info message.
fix: clear bot args on every call to bot client command.
add: drone build scenario.
2020-07-08 13:03:27 +03:00
dmitry
c74d8e91e4 cfg: reworked map-specific configs, so they are now located in yapb/conf/maps/*map*.cfg
cmd: fixed handling "yb" & "yapb" command prefixes.
2020-06-16 11:19:30 +03:00
dmitry
a22cc6db93 misc: changed the cvars prefixses
misc: changed graph download url
2020-06-16 11:19:30 +03:00
dmitry
cf501b75b7 merge changes from the defunct ubot 2020-06-16 11:19:30 +03:00
Renamed from source/linkage.cpp (Browse further)