g_ctf.h Another define file. It also calls functions from the .c file g_func.c This file has a lot of functions dealing with movement. Including those associated with dealing with doors and the like. Trains and elevators too... g_items.c Seems to be the core logic for picking up and using items. This includes weapons. Some logic for spawning items? Maybe they mean dropping? Also data on each item in Quake 2. Does this mean that the bot can't understand new items? g_local.h Bunch of definitions and some function calling. g_main.c This houses some of the core multiplayer functions such as telling the bot the next game is loading, and ect. Should not be messed with. g_misc.c Seems to house just misc functions like the name implies. I think there are some death logic in here as well as a little bit of environmental logic here. Going to be honest though its pretty ugly in here. Also what the heck is a gib? Answer: random size body parts from destroyed bodies. g_monster.c This file is mostly commented out. I think its some controlling logic for if you bot is a monster as opposed to a player, but I don't think it will be used anywhere else. g_phys.c Collision logic mostly. Kinda strange that its needed for a bot though, you would think the game would handle it. g_save.c Logic for when the game is saved and loaded. This way the bot can continue on like nothing has changed. g_spawn.c Best I can figure is this is either THE logic for item spawns and command actions, or is the bots way of seeing such and object: (IE When it gets to a switch how to deal with it...when health spawns it can go to it...) At least the first part. Also recognizes a monster type and weapon type... I guess it helps to decide combat proceedure... Includes spawning knowledge for respawn...item spawn, and recognition for game type and team spwan... ROGUE mode allows the bot to chose spawn monsters... must be part of the game mode. g_svcmds.c server related stuff g_target.c I think this has to do with some sound files, and map hacking... Not for targeting players though... I think its mostly for singleplayer use. g_trigger I think this is more stuff for the bot in single player. A little for CTF I think. Used to tell the bot that it needs to do something to continue onward I think. Probably links with g_target.c g_turret.c Turrent use logic. I also think there is a bit of driving logic in here. g_utils.c -- misc utility functions for game module I think this has some mapping functions in here. g_weapon.c More weapons logic. I also think some of the beginning is used for been hit by weapon logic. m_move.c Only one function: M_CheckBottom. I think it checks to see if a fall has a bottom. m_player.h Just Definitions p_client.c Mapspawning logic, death message logic, more item dropping..., Look at ones killer, value clearing for dieing, death logic to send to server, and respawn point selection, also spawn selector for beginning of game, and then a bunch of server related stuff for spawning/joining/disconnecting, and I think the bots brain is here. ClientThink. p_hud.c End of game stuff. Might also be used for end of round. p_menu.c this allows a bot to navigate the menus presented in a game mode, (IE team selects, final scores, ability menus) so the game don't hang... p_menu.h Definition file p_trail.c Pursuit logic. Records where it has seen players so it knows where they like to hang. Also records where they were last seen. p_view.c Beginning is a bit of camara logic (for when normal camara logic isn't used). Falling damage is calculate here...(?). Water logic, lava logic, ect. Gets sounds..., animation checking, more camara logic, more water logic, damage feedback, and frame(?) p_weapon.c First off it cover the quad damage and silence attributes... This one also handles the player noise and weapon noise allocations. Weapon and ammo selection...in other words use weapon if ammo, otherwise use next weapon... seek ammo... Weapon thinking... has grenade timer regonition and grenade physics regonition... Prevents blow up in hand from occuring... This file handles each weapon...its progectule physiscs, and how to use them in general situations...grendae and grenade launchers are missing richochet logic it seems... Also handles the sound effects for the weapons... q_shared.c Lots of value calculation. Used for vector and angle calculations. Logic to mess with other files, and functions to mess with data directly... q_shared.h large file of definitions and function calling.