Version History

PodBot 2.6 By Bots-United

v2.6 metamod (12-05-2004, 10:59)
+Made their turn speeds changed every frame to be more realistic.
+Added a few more checks to try to fix NUM_FOR_EDICT error.
+Fixed bots changing personality to normal after a change of map.
+Fixed addbot in podbot.cfg not having personality argument.

v2.6 metamod (11-05-2004, 15:50)
+ Made APMD apply to adding pathes
+ Changed them from making their enemy's position their destination.. (Stopped them
from idioticly running up to an enemy.. No one actually wants to reach the enemy's
location while they're shooting at them...) (commented out in the first few lines of
BotDoAttackMovement)
+ Made the AIM_OFFSET_X/Y/Z actually do something..
+ Made Zooming affect their Turn Speeds
+ Made them reaim at enemy every 0.05 second (at least I think its in seconds)
+ Menu to choose which team to kick a bot from
+ Fixed maxbot/minbot+ Fixed timer_pickup to recieve the correct value
+ Fixed "Unnamed" bots.
+ Fixed them from having an extra new line at end of their chatting.
+ Fixed their weapons menu and hopefully all that was messed up with the weapons
due to the port to 1.6 (they were buying "restricted" weapons because the configurations and everything was wrong)
+ Fixed NUM_FOR_EDICT error (hopefully... made it check if edict is null before
running ENTINDEX)
+ Initialize msec values in ServerActivate (Supposed to fix slow-mo)
+ Botskill.cfg is now fully interpreted and I've tweaked all all the settings in it.
+ Changed Their turn speeds to be more realistic...
+ Changed the way all the addbot commands work. Instead of actually adding a bot it'll add it to a bot creation queue.
+ Changed ClientCommands into Podbot_ServerCommands
+ Added ability to choose which team to kick a bot from
+ Added Personality argument for addbot.
("pb addbot [skill [personality [team [model [name]]]]]")
+ Added Skill, Personality, and Model for fill server
("pb fillserver [skill [personality [team [model]]]]")
+ Added Menus to include the 2 above changes and also added a random for skill level.
+ LOTS of minor fixes.. no longer able to recall..

v2.6 metamod (26-04-2004, 13:14)
+ All the bugfixes submitted by the people on the Bots United forum have been
incorporated/committed into the bot code.
+ Completely rewritten the menu display code to make it readable and easily
understandable by any third-party source code hackers.
+ Added the ability to point the gun at a waypoint and create/delete incoming
and outcoming paths to this waypoint by a single keypress in editing mode
+ Fixed creation of pathwaypoints to the same waypoint bug when jumping
+ Added yes/no confirmation questions to important editing events in the
waypoint editor such as save nocheck, or waypoint/pathwaypoint deletion
+ Teleporting player automatically to the faulty waypoint when doing a check
on the waypoints and the check fails
+ Rewritten the editor's waypoint beam display code to be more reactive to
player movement (now updates every 1/10th second)
+ Added the ability to remember a waypoint and use it later for pathwaypoint
creation/deletion. Helps a lot for lifts.
+ Added basic code for elevator/lift usage (see demos on the BU filebase)
+ Added the ability to toggle on/off individually each single waypoint flag
+ Bots don't press buttons randomly now but only where a button flag is set
+ Bots navigate button-controlled doors perfectly, even in groups.
+ Rewritten waypoint stats command to make it display much more information
about the waypoints, now displaying each waypoint flag.
+ Rewritten large parts of the memory allocation code. Static memory is used
more often and the slow-motion bug has vanished in the process (the problem
was that all the bot memory was not correctly freed/was freed twice).
+ Fixed bug where bots would reload way too often, such as after 2 shots.
+ All of the bot config files are now re-read at each start of a new map, so
you don't need to restart your server if you make changes in the bot config.
+ The danger directions that the bots learn for each waypoint are now shown
using a large red line when waypoints are on (but not when editing them)
+ Bots climbing ladders aim correctly at the top or the bottom of the ladder
+ Bots can now shoot at enemies while navigating ladders. Watch out.
+ Bots navigate elevators quite well, but not easily in groups. The code is
here just to show that lifts can work. Feel free to make it work better :)
+ Rewritten parts of the BotDoWaypointNav() and BotHeadTowardWaypoint() funcs
so as to integrate the new door code, the button code, ladder and lift code.
+ Bots now draw out the knife when necessary when they do a long jump
+ Simplified a lot of things in the config file parsing code and the chat code
to use static arrays instead of dynamically-allocated linked lists whose main
purpose seemed to be only to clutter up the code. It's just readable now.
+ Added a "peace mode" feature where bots ignore their enemies. Useful when
testing paths with debuggoal in waypoint editing mode.
+ You'll simply love that waypoint editor, lads.

v2.6 metamod (10-04-2004, 07:14)
+ Fixed YET ANOTHER crash bug in StartFrame() in the config file parsing code
+ Rewritten completely the config file parsing code: was too messy
+ Rewritten completely the bot spawning code into something readable
+ Rewritten the usage of min_bot and max_bot so that these variables work

v2.6 metamod (09-04-2004, 04:53)
+ Added recognition of armoury_entities for maps like fy_iceworld
+ Added ability to create/remove multiple pathwaypoints simultaneously
+ Enforced checking for unique bot names during bot creation to avoid doubles
+ Fixed errors in documentation

v2.6 metamod (07-04-2004, 10:05)
+ Merged ThreatTab and Clients array together (they describe the same thing)
+ Cleaned the message queue stuff and insertion/retrieval code
+ IMPORTANT: moved the root directory from "podbot" to "addons/podbot"
+ Fixed another crash bug in StartFrame()
+ Rewritten parts of the ladder handling code in a more efficient way
+ Fixed bug where bots would always hold the "strafe left" key pressed
+ Fixed bug where deleting the last waypoint would crash the waypoint editor
+ Waypoints with the FL_NOHOSTAGE flag show up graphically in the editor
when you issue the "waypoint nohostage" or "wp nohostage" command.
+ Displayed all waypoint flags graphically live in the waypoint editor
+ Removed obsolete "waypoint showflags" command.
+ Fixed bots getting stuck trying to look into external camera screens
+ Tweaked some graphics in the waypoint editor
+ Bots now draw the knife to reach high places at jump wpts when necessary
+ Bot's aim don't wiggle anymore now when looking at waypoints with a radius

v2.6 metamod (02-04-2004, 16:41)
+ Fixed incorrect recording of "campstart" and "campangle" angles when adding
a waypoint. These values are meant to be ANGLES, NOT vector locations.
+ Added SoUlFaThEr's waypoints for all the default CS maps.
+ Fixed thoroughly all the camping direction code to use ANGLES instead of
vectors (campStart and campEnd). ***OLDER WAYPOINTS NEED TO BE RE-CHECKED***
+ Merged Austin's new menu in the WP editor to set the autopath max distance.
+ Fixed crouching wpt getting taller when getting close (to please sPlOrYgOn)
+ Rewrote FL_NOHOSTAGE waypoint handling in a clean way.

v2.6 metamod (01-04-2004, 14:08)
+ Fixed a bug where CT bots could not be added (choosing auto team instead).
+ Waypointers can now type "ap" instead of "autopath".
+ Fixed strafe key bug (thanks Whistler)
+ Fixed potential crash bug by ThreatTab array overflow (thanks Whistler)
+ Bots should not be trying to toss grenades over the walls in de_dust or
through the ceilings like in de_nuke anymore.
+ Finally FI-XED wicked bug of bots not able to see through certain types of
glass !!! w00h00h00h00h0000000t!!!!!
+ Bots should approach crouched waypoints correctly now (ducking)
+ Bots now estimate crouched waypoints using a slower travel speed while
pathfinding (should help them not believe crouched routes are the fastest)
+ Fixed bug where bots would spin around with the head upside down (!!!)
+ Made the waypoint index display cleaner in waypoint editing mode. It doesn't
flood the console anymore and it's visible in CS 1.5 and 1.6 identically.
+ Fixed "wp teleport" function in the waypoint editor so that players can't be
stuck into the ground anymore when teleporting from one waypoint to another.

v2.6 metamod (26-03-2004, 18:25)
+ Fixed shitloads of crash causes in the waypoint editor. Now when you edit
waypoints, all the bots are frozen. And once you save and exit editing mode,
the map restarts in order to recalculate the visibility table.
+ Made the spawn points display a translucent player model in wP editing mode.
May help waypointers when they want to put one waypoint at each spawn point.
+ Fixed buying code that was stuffed up in CS 1.5 because of the bots not being
able to use the same buy shortcuts as real clients.
+ Miscellaneous (very) little fixes in Austin's waypoint editor.
+ Waypoint editor: now displaying INCOMING path connections in brown (according
to an idea from SoUlFaThEr)
+ Fixed bots taking the hostages only to the last rescue waypoint placed (first
waypoint in the linked list). Now the bots take them to the closest one.
+ Added "autopath on/off" command to toggle automatic pathwaypoint creation.
+ Added "autopath setradius N" command to enlarge/shrink the automatic
pathwaypoint placement radius.
+ Tweaked the A* pathfinder so that the bots pay more attention to dangerous
routes and choose different paths as often as they can
+ Added a console command/podbot.ini file option to tweak the bot's pathfinder:
"danger_factor" (an explanation is provided in the podbot.ini file)
+ Removed obsolete "newmap" command.
+ Denied creation of pathwaypoints from any waypoint to itself.
+ VIP bot will now have a "coward" personality by default (no more VIP rushing
with that ridiculous pistol straight in front of hordes of AK47-armed Ts).
+ Fixed a bug where checking for waypoints validity after modifying them would
unfreeze the bots while still in waypoint editing mode.
+ CT bots now react immediately when they receive the "bomb planted" message
+ CT bots don't decide to camp anymore once the bomb has been planted
+ Fixed bug where bots would not pick up the C4 anymore when they see it
+ Terrorist bots now go and pick up a dropped bomb as soon as they receive the
dropped bomb message and they see the blinking point on their radar (unless
they've been scared off, or another good reason though).
+ Terrorist bots now reevaluate their goal immediately as soon as they receive
the message "someone picked up the bomb".
+ Rewritten player collision code, bots should avoid each other a little better
+ Tweaked some timers so that bots should camp a bit less now.
+ Fixed bug where bots would not alternate their camp directions.

v2.6 metamod (22-03-2004, 06:26)
+ Fixed EXTREMELY NASTY crash bug in BotFindItem(), here's what happens when a
coder declares variables everywhere but on top of the functions !!!

v2.6 metamod (21-03-2004, 06:10)
+ Changed the waypoint copyright message back to what it used to be in PB 2.5
+ Fixed bug where bots would clutter together while navigating on ladders
+ Re-arranged some global variables and rewrote parts of bot.cpp for better
ANSI C compatibility
+ Fixed very nasty crash bug in IsGroupOfEnemies function

v2.6 metamod (20-03-2004, 05:41)
+ Worked around the crashing issue with some stats plugins (THEIR fault!)
+ Fixed waypoint copyright message not showing anymore at round start
+ Fixed usage of a dozen useless variables for showing the waypoint creator at
round start where one single variable would have fit for the job
+ Cleaned up the code again some more
+ Rewritten the bot chat code in a much cleaner way (bots use the "say" and
"say_team" client commands like humans now).
+ IMPORTANT: added a new knowledge file type for POD-bot: .pvi files. The .pvi
files will store the bot's waypoint visibility table on disk instead of
recalculating it each time a new map starts. These files will be stored in
the waypoints folder along with the .pwf and .pxp files. Like the .pxp files,
these .pvi files are deletable (in which case they will be re-created).
+ Fixed visibility table failing to reload on some level change situations
+ Moved all the global variables declarations to bot_globals.h and all the
definitions to bot_globals.cpp; only header to include now is bot_globals.h
+ Simplified the waypoint editor code part in waypoint.cpp
+ Pathwaypoints are not added anymore if they go through func_illusionaries
+ Simplified some of the utility functions in util.cpp
+ Fixed quite a few potential crash bugs again. Should be rock stable now.

v2.6 metamod (18-03-2004, 01:06)
+ Removed failing assert() for angle overflow at the end of BotThink(). It was
mysteriously failing only on Linux, and the angle was clamped just before.
+ Now building the Linux binary with the NDEBUG option. It should fix all the
assert() issues on Linux but it still won't tell me why these asserts fail!

v2.6 metamod (15-03-2004, 15:26)
+ Fixed skill not displaying after the bot names when DetailNames is turned on
+ Took the radio code out of the message queue for simplification
+ Fixed bots gazing at the sky or the floor (or generally anywhere but where
they should have looked at instead) when camping on non-camp waypoints (well,
they MIGHT still face walls but then it'll be that they've HEARD something)
+ Fixed bots moving their gun erratically when camping
+ Repaired bits of the camping code that was for ages broken in POD-bot (here's
another example of confusion between angles and vectors...)
+ Fixed a stupid bug in my OWN code that was making the bots use the radio less

v2.6 metamod (14-03-2004, 08:04)
+ Another pathname fix for linux. All paths and filenames are now in LOWER
CASE (that is, no more "BotNames", no more "PODBot", etc.)

v2.5 metamod (13-03-2004, 22:10)
+ Fixed metamod not reloading plugin after map change issue
+ Fixed failing assert() on Linux systems
+ Fixed a good heap of Linux bugs thanks to the feedback from Bots United
+ Fixed WPTDEFAULT directory case issue (now the default waypoint folder is
"wptdefault" in lowercase)
+ Added version stamp to the Win32 DLL this way Austin will be happy
+ Miscellaneous minor fixes

v2.5 metamod (25-02-2004 at 16:01)
+ Rewrote the messy CS buy routines in a clean way at last
+ Fixed Count Floyd's experimental A* pathfinder. He was using no heuristic!!!
+ Fixed bots too shy, was linked to the absence of heuristic function. I wrote
a square distance heuristic (no sqrt involved. Fast and efficient)
+ Because of an important change in the way the pathfinder behaves, you should
delete all your .pxp files again, or use untouched .pxp files from PB 2.5
+ Fixed bots don't buy in CS 1.6 after the first round.
+ Fixed BotSpawnInit() calls zapping the bot's brains several times in a row
+ Fixed bots trying to pick up a new weapon without discarding the shield
+ Fixed VERY COMMON crash bugs in bot chat functions (ThreatTab index > 31)
+ Fixed yet another whole shitload of crash bugs on bad entities (w/ FNullEnt)
+ Got rid of the unused MOTD message catching
+ Bots now know when icons are blinking on their HUD: bomb, defuser, buy zone
+ Delayed bots buying so that they don't buy all in the same frame (lag issue)
+ Fixed bots having trouble at doors. Bot navigate doors perfectly now.
+ Bots pay much more attention to the mission goals now. They don't mess
around anymore doing idle stuff, they deploy and go to the goal.
+ Fixed bots getting stuck on ladders where a func_breakable would block them
+ Now using ServerActivate() instead of StartFrame() to catch map changes
+ The A* pathfinder should be faster now
+ Took the buying code out of the message queue. WTF was it doing there ???
+ Rewrote team/class selection function: 3 times shorter, twice as efficient.
+ Now the bot is pretty much more stable.

Version 2.5 metamod ( 22-02-2004, 06:37)
+ Ported to Metamod by Pierre-Marie Baty
+ Put all this mess into shape at last (indenting, alignment, comments)
+ Fixed an impressive number of bugs
+ Added support for CS 1.6 (shield code thanks to Wei Mingzhi). Be sure to use the new bot_weapons.cfg
file else the bot will crash.
+ Fixed all v2.6 bugs (bomb planting, etc) the way it's meant to be fixed - directly at the spot. No ugly hacks, no "patching".
+ Before I forget: ported to Linux, too
+ Forced the bots to always use the A* pathfinder. It should affect greatly the team tactics if used with mature .pxp files.
+ Fixed waypoint 0 with 65535 danger in default experience table
+ Fixed waypoint editor not working anymore
+ Added Austin's super-kickass waypoint editor that he wrote with SoUlFaThEr for the now defunct PoXBot.
At least this code won't be lost for everyone.
+ Fixed new experience database bug related to incorrect memset usage
+ Got rid of the ugly CVAR parsing for server commands. Using a real dedicated server command handler now. No quotes needed anymore in server commands.
+ Fixed brainless CT bots taking the hostages through impossible routes
+ CT bots now pick up abandoned defuse kits (got the idea while reading Wei Mingzhi's YaPB code
- worth a look, he ported all the POD-Bot code to C++)
+ Fixed incorrect danger estimation of waypoint #0 to 65535 the way it's meant to be fixed
(diff. between signed int and unsigned short ?? ;-))
+ Fixed bots not coming back after a map change
+ Fixed 2 possible crash bugs thanks to Wei Mingzhi again
+ Fixed incorrect usage of abs() where it should be fabs()
+ Fixed another weapon selection bug
+ Fixed imprecise navigation of waypoints on top of certain ladders
+ I advise you to delete all your previous .pxp files UNLESS they've been used with POD-Bot 2.5 ONLY (and not the buggy 2.6).
+ The overall performance has been restored to what it used to be with 2.5