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
This commit is contained in:
jeefo 2023-05-02 09:42:43 +03:00 committed by GitHub
commit e7712a551a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
31 changed files with 3114 additions and 1722 deletions

View file

@ -14,7 +14,7 @@ project (
default_options: [
'buildtype=release',
'b_ndebug=if-release',
'cpp_std=c++14',
'cpp_std=c++17',
'warning_level=3',
'werror=true',
'backend=ninja',
@ -217,11 +217,12 @@ elif os == 'windows' and (cxx =='msvc' or cxx == 'clang-cl')
endif
# pass our hell to meson
add_global_arguments (cxxflags, language: 'cpp')
add_global_link_arguments (ldflags, language: 'cpp')
add_global_arguments(cxxflags, language: 'cpp')
add_global_link_arguments(ldflags, language: 'cpp')
# add the sources
sources = files (
sources = files(
'src/analyze.cpp',
'src/botlib.cpp',
'src/chatlib.cpp',
'src/combat.cpp',
@ -234,18 +235,22 @@ sources = files (
'src/module.cpp',
'src/message.cpp',
'src/navigate.cpp',
'src/planner.cpp',
'src/practice.cpp',
'src/sounds.cpp',
'src/support.cpp'
'src/storage.cpp',
'src/support.cpp',
'src/vistable.cpp'
)
# add the include directories
includes = include_directories ([
includes = include_directories([
'.', 'inc', 'ext', 'ext/crlib'
], is_system: true)
# if have git and on windows add windows-specific version info
if os == 'windows' and git.found()
sources += import('windows').compile_resources (
sources += import('windows').compile_resources(
'vc/yapb.rc',
include_directories: includes,
args: flags_versioned