Also I've been looking at your src code and didn't find anything wrong. But I've figured that the optimisation flags may need altered a bit.
Code:
-O2 -march=i686 -mtune=generic -msse2 -mfpmath=sse -fomit-frame-pointer -finline-functions \
-falign-loops=2 -falign-jumps=2 -falign-functions=2 -pipe -m32 \
As for Windows builds, I've been using the newer VS 2019 as well been analysing any potential coding issues. It seems possible that the bot.cpp is not dependant on the 'cbase.h' header. Plus my VS2019 gave me some warning messages on 'bot_t::bot_t()' in line 1832 contains uninitialised members, for whatever it means to me... But my ReSharper C++ suggested on the solution to fix that warning message by typing this into this line:-
Code:
bot_t::bot_t(): respawn_state(0), bShouldInit(false), skin{}, not_started(0), start_action(0), kick_time(0),
create_time(0), bot_team(0),
bot_class(0),
bot_money(0),
idle_angle(0),
idle_angle_time(0),
blinded_time(0),
prev_speed(0),
prev_time(0),
f_find_item(0),
pBotPickupItem(nullptr), ladder_dir(0),
f_start_use_ladder_time(0),
f_end_use_ladder_time(0),
waypoint_top_of_ladder(false),
f_wall_check_time(0), f_wall_on_right(0),
f_wall_on_left(0),
f_dont_avoid_wall_time(0),
f_look_for_waypoint_time(0),
f_jump_time(0),
f_dont_check_stuck(0),
wander_dir(0), f_exit_water_time(0),
f_waypoint_time(0),
curr_waypoint_index(0),
prev_waypoint_index{},
f_random_waypoint_time(0),
waypoint_goal(0),
f_waypoint_goal_time(0),
waypoint_near_flag(false),
prev_waypoint_distance(0),
weapon_points{},
pBotEnemy(nullptr),
f_bot_see_enemy_time(0),
f_bot_find_enemy_time(0),
pBotUser(nullptr),
f_bot_use_time(0),
f_bot_spawn_time(0),
killer_edict(nullptr),
b_bot_say_killed(false),
f_bot_say_killed(0),
f_sniper_aim_time(0),
f_engineer_build_time(0),
sentrygun_waypoint(0),
b_build_sentrygun(false),
sentrygun_level(0),
sentrygun_attack_count(0),
f_other_sentry_time(0),
b_upgrade_sentry(false),
dispenser_waypoint(0),
b_build_dispenser(false),
dispenser_built(0),
dispenser_attack_count(0),
f_shoot_time(0),
f_primary_charging(0),
f_secondary_charging(0),
charging_weapon_id(0), f_pause_time(0),
f_sound_update_time(0),
bBotHasFlag(false),
b_see_tripmine(false),
b_shoot_tripmine(false),
b_use_health_station(false),
f_use_health_time(0),
b_use_HEV_station(false),
f_use_HEV_time(0),
b_use_button(false),
f_use_button_time(0),
b_lift_moving(false),
b_use_capture(false),
f_use_capture_time(0),
pCaptureEdict(nullptr),
bUseArmory(false),
fUseArmoryTime(0), points_spent(0),
bBuild(false),
fBuildTime(0),
bBuildAlienResourceTower(false),
bBuildHive(false),
bUseDoor(false),
fUseDoorTime(0),
iGoalIndex(0),
current_weapon(), m_rgAmmo{},
pLightEnt(nullptr),
fMaxSpeed(0),
fSpeed(0)
Or by using a different method for Sandbot. Also I've noticed h_export.cpp had depreciation warnings on 'strcmpi' but I think the best way is to add near h_export line 22 is this:-
Code:
#ifdef WIN32
#define strcmpi _strcmpi
#endif
Even though those alterations to the code didn't effect the VS2019 compiler as it gave less warning messages, but I cannot guarantee that it will work better for Windows Servers. Besides it was tricky and painful as Sandbot Linux had problems with the CXX ABI errors as having Sandbot not compiled with GCC/G++ 4.8 or earlier caused those CXX ABI errors. Due to the Steam Runtime Libs being outdated, unlike Sven Coop v5 that has most of the up to date libs and its own custom modified Svengine from GoldSrc.