Half-Life bot development
Building the SDK
HPB Waypoint files
Here's some humorous comments that appear in the Half-Life Full SDK 2.2 source code...
//No platform specific code in vgui\lib-src\vgui dir. Code in vgui\lib-src\vgui should //only include from vgui\include or standard C includes. ie, if I see windows.h included //anywhere but vgui\lib-src\win32 I will hunt you down and kill you. Don't give me any crap //that mfc is platform inspecific. utils\vgui\include\vgui.h (line 24-27) // I am my own leader dlls\aflock.cpp (line 418) // Victory dance! dlls\agrunt.cpp (line 802) // CheckMeleeAttack1 - alien grunts zap the crap out of // any enemy that gets too close. dlls\agrunt.cpp (line 898-899) // body is gonna be around for a while, so have it stink for a bit. dlls\AI_BaseNPC_Schedule.cpp (line 477) // crap, someone killed the prey on the way up. dlls\barnacle.cpp (line 169) // Alright, now I'm pissed! dlls\barney.cpp (line 527) // try to say something about smells dlls\barney.cpp (line 756) // Make the "my baby's dead" noise! dlls\bigmomma.cpp (line 636) // this is so the squid only does the "I see a headcrab!" dance one time. dlls\bullsquid.cpp (line 223) // haven't been hurt in 20 seconds, so let the squid care about stink. // (Unless after a tasty headcrab) dlls\bullsquid.cpp (line 248-249) // if the squid is running, has an enemy, was hurt by the enemy, hasn't been hurt in the last 3 seconds, and isn't too close to the enemy, // it will swerve. (whew). dlls\bullsquid.cpp (line 290-291) // croonchy bite sound dlls\bullsquid.cpp (line 632) // there's something stinky. dlls\bullsquid.cpp (line 1051) // Don't touch // Don't move // Don't draw // Don't think dlls\cbase.cpp (lines 692, 694, 696, 698) // If you bleed, you stink! dlls\combat.cpp (line 694) // ok, start stinkin! dlls\combat.cpp (line 697) // hopefully this will fix the VELOCITY TOO LOW crap dlls\combat.cpp (line 792) // let the damage scoot the corpse around a bit. dlls\combat.cpp (line 995) // why does this work? dlls\controller.cpp (line 556) // CheckRangeAttack1 - shoot a bigass energy ball out of their head dlls\controller.cpp (line 790) // so let it just squash the object to death real fast dlls\doors.cpp (line 709) // this is the most hacked, evil, bastardized thing I've ever seen. kjb dlls\doors.cpp (line 744) // spoit sound here dlls\effects.cpp (line 2252) // !!! I'm not sure what i changed dlls\func_tank.cpp (line 543) // Jeez, how many counters should this take ? :) dlls\gargantua.cpp (line 1332) // UNDONE: temporary scorching for PreAlpha - find a less sleazy permenant solution. dlls\ggrenade.cpp (line 50) // GMan - misunderstood servant of the people dlls\gman.cpp (line 16) // CheckRangeAttack1 - drop a cap in their ass dlls\hassassin.cpp (line 653) // Some grunt sentences (take cover and charge) rely on actually // being able to execute the intended action. It's really lame // when a grunt says 'COVER ME' and then doesn't move. dlls\hgrunt.cpp (line 236-238) // crap, I might blow my own guy up. Don't throw a grenade and don't check again for a while. dlls\hgrunt.cpp (line 537) // crap, I don't want to blow myself up dlls\hgrunt.cpp (line 545) // good place for "SHIT!" or some other colorful verbal indicator of dismay. dlls\hgrunt.cpp (line 2015) // play pissed idle. dlls\houndeye.cpp (line 248) // sound was not loud enough to scare the bejesus out of houndeye dlls\houndeye.cpp (line 1172) // UNDONE: blah, this is bad, we should use a stack but I'm too lazy to code one. dlls\monsters.cpp (line 1178) // user didn't supply a MaxDist, so work up a crazy one. dlls\monsters.cpp (line 2247) // it's just that easy dlls\multiplay_gamerules.cpp (line 708) // don't connect water nodes to air nodes or land nodes. It just wouldn't be prudent at this juncture. dlls\nodes.cpp (line 1205) // Hey, I could use the old 2 racing pointers solution to this, but I'm lazy :) dlls\pathcorner.cpp (line 384) // HACKHACK -- This is bugly, but the train can actually stop moving at a different node depending on it's speed dlls\plats.cpp (line 1307) // how bad is it, doc? dlls\player.cpp (line 514) // What the hell are you doing? dlls\player.cpp (line 3368) // picks a random spot, requiring that it be at least 128 units away // else, the roach will pick a spot too close to itself and run in // circles. this is a hack but buys me time to work on the real monsters. dlls\roach.cpp (line 324) // pick a head, any head dlls\scientist.cpp (line 681) // Point and scream! dlls\scientist.cpp (line 990) // is this legal? dlls\scripted.cpp (line 631) // this is evil dlls\scripted.cpp (line 812) // This will probably break some stuff dlls\scripted.cpp (line 831) // Furniture - this is the cool comment I cut-and-pasted dlls\scripted.cpp (line 1202) // UNDONE: truly ugly hack dlls\squadmonster.cpp (line 440) // don't provoke a friend that's playing a death animation. They're a goner dlls\talkmonster.cpp (line 695) // don't talk to self or dead people dlls\talkmonster.cpp (line 660) //!!!KELLY - here's a cool spot to have the talkmonster talk about the dead player if we want. // "Oh dear, Gordon Freeman is dead!" -Scientist // "Damn, I can't do this without you." -Barney dlls\talkmonster.cpp (line 1093-1095) float m_frictionFraction; // Sorry, couldn't resist this name :) dlls\triggers.cpp (line 56)