├── .clang-format ├── .gitattributes ├── .gitignore ├── AMBuildScript ├── Makefile ├── Readme.txt ├── art ├── Fox_logo_paw.png ├── Foxbot_install.bmp └── Foxbot_logo.png ├── bot.cpp ├── bot.h ├── bot_client.cpp ├── bot_client.h ├── bot_combat.cpp ├── bot_func.h ├── bot_job_assessors.cpp ├── bot_job_assessors.h ├── bot_job_functions.cpp ├── bot_job_functions.h ├── bot_job_think.cpp ├── bot_job_think.h ├── bot_navigate.cpp ├── bot_navigate.h ├── bot_start.cpp ├── bot_weapons.h ├── botcam.cpp ├── botcam.h ├── changelog.txt ├── configure.py ├── dll.cpp ├── doc ├── THINGSTODO.txt ├── changes_made.txt ├── developer_notes.txt └── development_ideas.txt ├── documentation ├── THINGSTODO.txt ├── changes_made.txt ├── developer_notes.txt └── development_ideas.txt ├── engine.cpp ├── engine.h ├── h_export.cpp ├── hlsdk-25th ├── common │ ├── Sequence.h │ ├── beamdef.h │ ├── cl_entity.h │ ├── com_model.h │ ├── con_nprint.h │ ├── const.h │ ├── crc.h │ ├── cvardef.h │ ├── demo_api.h │ ├── director_cmds.h │ ├── dlight.h │ ├── dll_state.h │ ├── entity_state.h │ ├── entity_types.h │ ├── enums.h │ ├── event_api.h │ ├── event_args.h │ ├── event_flags.h │ ├── hltv.h │ ├── in_buttons.h │ ├── interface.h │ ├── ivoicetweak.h │ ├── mathlib.h │ ├── net_api.h │ ├── netadr.h │ ├── nowin.h │ ├── parsemsg.h │ ├── particledef.h │ ├── pmtrace.h │ ├── port.h │ ├── qfont.h │ ├── r_efx.h │ ├── r_studioint.h │ ├── ref_params.h │ ├── screenfade.h │ ├── studio_event.h │ ├── triangleapi.h │ ├── usercmd.h │ ├── weaponinfo.h │ ├── winsani_in.h │ └── winsani_out.h ├── dlls │ ├── activity.h │ ├── activitymap.h │ ├── animation.h │ ├── basemonster.h │ ├── cbase.h │ ├── cdll_dll.h │ ├── client.h │ ├── decals.h │ ├── defaultai.h │ ├── doors.h │ ├── effects.h │ ├── enginecallback.h │ ├── explode.h │ ├── extdll.h │ ├── flyingmonster.h │ ├── func_break.h │ ├── game.h │ ├── gamerules.h │ ├── hornet.h │ ├── items.h │ ├── maprules.h │ ├── monsterevent.h │ ├── monsters.h │ ├── nodes.h │ ├── plane.h │ ├── player.h │ ├── saverestore.h │ ├── schedule.h │ ├── scripted.h │ ├── scriptevent.h │ ├── skill.h │ ├── soundent.h │ ├── spectator.h │ ├── squad.h │ ├── squadmonster.h │ ├── talkmonster.h │ ├── teamplay_gamerules.h │ ├── trains.h │ ├── util.h │ ├── vector.h │ ├── weapons.h │ └── wxdebug.h ├── engine │ ├── APIProxy.h │ ├── anorms.h │ ├── cdll_int.h │ ├── custom.h │ ├── customentity.h │ ├── edict.h │ ├── eiface.h │ ├── progdefs.h │ ├── progs.h │ ├── shake.h │ └── studio.h └── pm_shared │ ├── pm_debug.h │ ├── pm_defs.h │ ├── pm_info.h │ ├── pm_materials.h │ ├── pm_movevars.h │ └── pm_shared.h ├── hlsdk ├── common │ ├── beamdef.h │ ├── cl_entity.h │ ├── com_model.h │ ├── con_nprint.h │ ├── const.h │ ├── crc.h │ ├── cvardef.h │ ├── demo_api.h │ ├── director_cmds.h │ ├── dlight.h │ ├── dll_state.h │ ├── engine_launcher_api.h │ ├── entity_state.h │ ├── entity_types.h │ ├── event_api.h │ ├── event_args.h │ ├── event_flags.h │ ├── exefuncs.h │ ├── hltv.h │ ├── in_buttons.h │ ├── interface.h │ ├── ivoicetweak.h │ ├── mathlib.h │ ├── net_api.h │ ├── netadr.h │ ├── nowin.h │ ├── particledef.h │ ├── pmtrace.h │ ├── qfont.h │ ├── r_efx.h │ ├── r_studioint.h │ ├── ref_params.h │ ├── screenfade.h │ ├── studio_event.h │ ├── triangleapi.h │ ├── usercmd.h │ └── weaponinfo.h ├── dlls │ ├── activity.h │ ├── activitymap.h │ ├── animation.h │ ├── basemonster.h │ ├── cbase.h │ ├── cdll_dll.h │ ├── client.h │ ├── decals.h │ ├── doors.h │ ├── effects.h │ ├── enginecallback.h │ ├── explode.h │ ├── extdll.h │ ├── func_break.h │ ├── game.h │ ├── gamerules.h │ ├── hornet.h │ ├── items.h │ ├── maprules.h │ ├── monsterevent.h │ ├── monsters.h │ ├── nodes.h │ ├── plane.h │ ├── player.h │ ├── saverestore.h │ ├── schedule.h │ ├── scriptevent.h │ ├── skill.h │ ├── soundent.h │ ├── spectator.h │ ├── talkmonster.h │ ├── teamplay_gamerules.h │ ├── trains.h │ ├── util.h │ ├── vector.h │ └── weapons.h ├── engine │ ├── Sequence.h │ ├── anorms.h │ ├── archtypes.h │ ├── cdll_int.h │ ├── custom.h │ ├── customentity.h │ ├── edict.h │ ├── eiface.h │ ├── keydefs.h │ ├── progdefs.h │ ├── progs.h │ ├── shake.h │ └── studio.h └── pm_shared │ ├── pm_debug.h │ ├── pm_defs.h │ ├── pm_info.h │ ├── pm_materials.h │ ├── pm_movevars.h │ └── pm_shared.h ├── linkfunc.cpp ├── list.h ├── meson.build ├── meta_api.cpp ├── metamod-p ├── api_hook.h ├── api_info.h ├── commands_meta.h ├── comp_dep.h ├── conf_meta.h ├── dllapi.h ├── engine_api.h ├── engine_t.h ├── enginecallbacks.h ├── engineinfo.h ├── game_autodetect.h ├── game_support.h ├── games.h ├── h_export.h ├── info_name.h ├── linkent.h ├── log_meta.h ├── meta_api.h ├── meta_eiface.h ├── metamod.h ├── mhook.h ├── mlist.h ├── mm_pextensions.h ├── mplayer.h ├── mplugin.h ├── mreg.h ├── mutil.h ├── new_baseclass.h ├── osdep.h ├── plinfo.h ├── reg_support.h ├── ret_type.h ├── sdk_util.h ├── studioapi.h ├── support_meta.h ├── tqueue.h ├── types_meta.h ├── vdate.h └── vers_meta.h ├── metamod ├── api_hook.h ├── api_info.h ├── commands_meta.h ├── comp_dep.h ├── conf_meta.h ├── dllapi.h ├── engine_api.h ├── game_autodetect.h ├── game_support.h ├── games.h ├── h_export.h ├── info_name.h ├── linkent.h ├── log_meta.h ├── meta_api.h ├── metamod.h ├── mhook.h ├── mlist.h ├── mm_pextensions.h ├── mplayer.h ├── mplugin.h ├── mqueue.h ├── mreg.h ├── mutil.h ├── new_baseclass.h ├── osdep.h ├── osdep_p.h ├── plinfo.h ├── reg_support.h ├── ret_type.h ├── sdk_util.h ├── studioapi.h ├── support_meta.h ├── thread_logparse.h ├── tqueue.h ├── types_meta.h ├── vdate.h └── vers_meta.h ├── msvc ├── foxbot.sln ├── foxbot.sln.DotSettings.user ├── foxbot.vcxproj ├── foxbot.vcxproj.filters ├── foxbot.vcxproj.user └── res_fox.rc ├── sdk_util.cpp ├── tf_defs.h ├── util.cpp ├── vers_fox.h ├── version.cpp ├── version.h ├── waypoint.cpp └── waypoint.h /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear in the root of a volume 35 | .DocumentRevisions-V100 36 | .fseventsd 37 | .Spotlight-V100 38 | .TemporaryItems 39 | .Trashes 40 | .VolumeIcon.icns 41 | 42 | # Directories potentially created on remote AFP share 43 | .AppleDB 44 | .AppleDesktop 45 | Network Trash Folder 46 | Temporary Items 47 | .apdisk 48 | msvc/.vs/* 49 | *.so 50 | *.o 51 | *.ipch 52 | foxbot.so 53 | *.log 54 | *.pdb 55 | FoXBot.v12.suo 56 | FoXBot.sdf 57 | *.cmd 58 | *.rsp 59 | *.i 60 | *.cfg 61 | msvc/Debug/* 62 | msvc/Release/* 63 | addons/* 64 | build/* 65 | build_linux/* 66 | Rules.depend 67 | obj-windows/* 68 | apg-load -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ## 2 | ## compiling under ubuntu: 3 | ## for compiling linux: make 4 | ## for compiling win32: make OSTYPE=win32 5 | ## 6 | ## borrowed from: https://github.com/Bots-United/jk_botti 7 | ## 8 | 9 | ifeq ($(OSTYPE),win32) 10 | CPP = i686-w64-mingw32-gcc -m32 11 | LINKFLAGS = -mdll -lm -Xlinker -add-stdcall-alias -s 12 | DLLEND = .dll 13 | else 14 | CPP = gcc -m32 15 | ARCHFLAG = -fPIC 16 | LINKFLAGS = -fPIC -shared -ldl -lm -s 17 | DLLEND = .so 18 | endif 19 | 20 | TARGET = foxbot 21 | 22 | BASEFLAGS = -Wall -Wno-write-strings -Wno-attributes -Wno-unused-function \ 23 | -std=gnu++17 -static-libstdc++ -shared-libgcc 24 | 25 | ARCHFLAG += -march=i686 -mtune=generic -msse -msse2 -mmmx -mfpmath=sse 26 | 27 | ifeq ($(DBG_FLGS),1) 28 | OPTFLAGS = -O0 -g3 -ggdb3 -D_DEBUG 29 | else 30 | OPTFLAGS = -O2 -fomit-frame-pointer -g0 31 | OPTFLAGS += -funsafe-math-optimizations 32 | LINKFLAGS += ${OPTFLAGS} 33 | endif 34 | 35 | INCLUDES = -I"./metamod" \ 36 | -I"./hlsdk/common" \ 37 | -I"./hlsdk/dlls" \ 38 | -I"./hlsdk/engine" \ 39 | -I"./hlsdk/pm_shared" 40 | 41 | CFLAGS = ${BASEFLAGS} ${OPTFLAGS} ${ARCHFLAG} ${INCLUDES} 42 | CPPFLAGS += -fno-rtti -fno-exceptions -fno-threadsafe-statics ${CFLAGS} 43 | 44 | SRC = bot.cpp \ 45 | bot_client.cpp \ 46 | bot_combat.cpp \ 47 | bot_job_assessors.cpp \ 48 | bot_job_functions.cpp \ 49 | bot_job_think.cpp \ 50 | bot_navigate.cpp \ 51 | bot_start.cpp \ 52 | botcam.cpp \ 53 | dll.cpp \ 54 | engine.cpp \ 55 | h_export.cpp \ 56 | linkfunc.cpp \ 57 | meta_api.cpp \ 58 | sdk_util.cpp \ 59 | util.cpp \ 60 | version.cpp \ 61 | waypoint.cpp 62 | 63 | OBJ = $(SRC:%.cpp=%.o) 64 | 65 | ${TARGET}${DLLEND}: ${OBJ} 66 | ${CPP} -o $@ ${OBJ} ${LINKFLAGS} 67 | cp $@ addons/foxbot/bin/ 68 | 69 | clean: 70 | rm -f *.o ${TARGET}${DLLEND} Rules.depend 71 | 72 | distclean: 73 | rm -f Rules.depend ${TARGET}.dll ${TARGET}.so addons/foxbot/bin/* 74 | 75 | %.o: %.cpp 76 | ${CPP} ${CPPFLAGS} -c $< -o $@ 77 | 78 | depend: Rules.depend 79 | 80 | Rules.depend: Makefile $(SRC) 81 | $(CPP) -MM ${INCLUDES} $(SRC) > $@ 82 | 83 | include Rules.depend 84 | -------------------------------------------------------------------------------- /art/Fox_logo_paw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/art/Fox_logo_paw.png -------------------------------------------------------------------------------- /art/Foxbot_install.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/art/Foxbot_install.bmp -------------------------------------------------------------------------------- /art/Foxbot_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/art/Foxbot_logo.png -------------------------------------------------------------------------------- /bot_func.h: -------------------------------------------------------------------------------- 1 | // 2 | // FoXBot - AI Bot for Halflife's Team Fortress Classic 3 | // 4 | // (http://foxbot.net) 5 | // 6 | // bot_func.h 7 | // 8 | // Copyright (C) 2003 - Tom "Redfox" Simpson 9 | // 10 | // 11 | // This program is free software; you can redistribute it and/or 12 | // modify it under the terms of the GNU General Public License 13 | // as published by the Free Software Foundation; either version 2 14 | // of the License, or (at your option) any later version. 15 | // 16 | // This program is distributed in the hope that it will be useful, 17 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 | // 20 | // See the GNU General Public License for more details at: 21 | // http://www.gnu.org/copyleft/gpl.html 22 | // 23 | // You should have received a copy of the GNU General Public License 24 | // along with this program; if not, write to the Free Software 25 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 26 | // 27 | 28 | #ifndef BOT_FUNC_H 29 | #define BOT_FUNC_H 30 | 31 | // prototypes of bot functions... 32 | 33 | void BotSpawnInit(bot_t* pBot); 34 | 35 | void BotCreate(edict_t* pPlayer, const char* arg1, const char* arg2, const char* arg3, const char* arg4); 36 | 37 | void BotStartGame(bot_t* pBot); 38 | 39 | int BotInFieldOfView(const bot_t* pBot, const Vector& dest); 40 | 41 | bool BotCanSeeOrigin(const bot_t* pBot, const Vector& r_dest); 42 | 43 | float BotViewAngleDiff(const Vector& r_pOrigin, const edict_t* pEdict); 44 | 45 | long random_long(long lowval, long highval); 46 | 47 | float random_float(float lowval, float highval); 48 | 49 | void BotFindItem(bot_t* pBot); 50 | 51 | void BotThink(bot_t* pBot); 52 | 53 | void BotUpdateSkillInaccuracy(); 54 | 55 | void BotEnemyCheck(bot_t* pBot); 56 | 57 | bool BotFireWeapon(const Vector& v_enemy, bot_t* pBot, int weapon_choice); 58 | 59 | void BotShootAtEnemy(bot_t* pBot); 60 | 61 | // DrEvils functions. 62 | int BotNadeHandler(bot_t* pBot, bool timed, char newNadeType); 63 | 64 | int BotAssessThreatLevel(const bot_t* pBot); 65 | 66 | int BotTeamColorCheck(const edict_t* pent); 67 | 68 | int PickRandomEnemyTeam(int my_team); 69 | 70 | int BotGuessPlayerPosition(const bot_t* pBot, const Vector& r_playerOrigin); 71 | 72 | int BotFindGrenadePoint(const bot_t* pBot, const Vector& r_vecOrigin); 73 | 74 | void BotCheckForMultiguns(bot_t* pBot, float nearestdistance, edict_t *pNewEnemy, bool& rtn); 75 | 76 | void BotSoundSense(edict_t* pEdict, const char* pszSample, float fVolume); 77 | 78 | int FriendlyClassTotal(const edict_t* pEdict, int specifiedClass, bool ignoreSelf); 79 | 80 | void UpdateFlagCarrierList(); 81 | 82 | bool PlayerHasFlag(const edict_t* Player); 83 | 84 | bool PlayerIsInfected(const edict_t* pEntity); 85 | 86 | #endif // BOT_FUNC_H 87 | -------------------------------------------------------------------------------- /bot_job_functions.h: -------------------------------------------------------------------------------- 1 | // 2 | // FoXBot - AI Bot for Halflife's Team Fortress Classic 3 | // 4 | // (http://foxbot.net) 5 | // 6 | // bot_job_functions.h 7 | // 8 | // Copyright (C) 2003 - Tom "Redfox" Simpson 9 | // 10 | // 11 | // This program is free software; you can redistribute it and/or 12 | // modify it under the terms of the GNU General Public License 13 | // as published by the Free Software Foundation; either version 2 14 | // of the License, or (at your option) any later version. 15 | // 16 | // This program is distributed in the hope that it will be useful, 17 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 | // 20 | // See the GNU General Public License for more details at: 21 | // http://www.gnu.org/copyleft/gpl.html 22 | // 23 | // You should have received a copy of the GNU General Public License 24 | // along with this program; if not, write to the Free Software 25 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 26 | // 27 | 28 | #ifndef BOT_JOB_FUNCTIONS_H 29 | #define BOT_JOB_FUNCTIONS_H 30 | 31 | int JobSeekWaypoint(bot_t* pBot); 32 | int JobGetUnstuck(bot_t* pBot); 33 | int JobRoam(bot_t* pBot); 34 | int JobChat(bot_t* pBot); 35 | int JobReport(bot_t* pBot); 36 | int JobPickUpItem(bot_t* pBot); 37 | int JobPickUpFlag(bot_t* pBot); 38 | int JobPushButton(bot_t* pBot); 39 | int JobUseTeleport(bot_t* pBot); 40 | int JobMaintainObject(bot_t* pBot); 41 | int JobBuildSentry(bot_t* pBot); 42 | int JobBuildDispenser(bot_t* pBot); 43 | int JobBuildTeleport(bot_t* pBot); 44 | int JobBuffAlly(bot_t* pBot); 45 | int JobEscortAlly(bot_t* pBot); 46 | int JobCallMedic(bot_t* pBot); 47 | int JobGetHealth(bot_t* pBot); 48 | int JobGetArmor(bot_t* pBot); 49 | int JobGetAmmo(bot_t* pBot); 50 | int JobDisguise(bot_t* pBot); 51 | int JobFeignAmbush(bot_t* pBot); 52 | int JobSnipe(bot_t* pBot); 53 | int JobGuardWaypoint(bot_t* pBot); 54 | int JobDefendFlag(bot_t* pBot); 55 | int JobGetFlag(bot_t* pBot); 56 | int JobCaptureFlag(bot_t* pBot); 57 | int JobHarrassDefense(bot_t* pBot); 58 | int JobRocketJump(bot_t* pBot); 59 | int JobConcussionJump(bot_t* pBot); 60 | int JobDetpackWaypoint(bot_t* pBot); 61 | int JobPipetrap(bot_t* pBot); 62 | int JobInvestigateArea(bot_t* pBot); 63 | int JobPursueEnemy(bot_t* pBot); 64 | int JobPatrolHome(bot_t* pBot); 65 | int JobSpotStimulus(bot_t* pBot); 66 | int JobAttackBreakable(bot_t* pBot); 67 | int JobAttackTeleport(bot_t* pBot); 68 | int JobSeekBackup(bot_t* pBot); 69 | int JobAvoidEnemy(bot_t* pBot); 70 | int JobAvoidAreaDamage(bot_t* pBot); 71 | int JobInfectedAttack(bot_t* pBot); 72 | int JobBinGrenade(bot_t* pBot); 73 | int JobDrownRecover(bot_t* pBot); 74 | int JobMeleeWarrior(bot_t* pBot); 75 | int JobGraffitiArtist(bot_t* pBot); 76 | 77 | #endif // BOT_JOB_FUNCTIONS_H 78 | -------------------------------------------------------------------------------- /botcam.cpp: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com 3 | // 4 | // FoXBot - AI Bot for Halflife's Team Fortress Classic 5 | // 6 | // (http://foxbot.net) 7 | // 8 | // botcam.cpp 9 | // 10 | // Copyright (C) 2003 - Tom "Redfox" Simpson 11 | // 12 | // 13 | // This program is free software; you can redistribute it and/or 14 | // modify it under the terms of the GNU General Public License 15 | // as published by the Free Software Foundation; either version 2 16 | // of the License, or (at your option) any later version. 17 | // 18 | // This program is distributed in the hope that it will be useful, 19 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 21 | // 22 | // See the GNU General Public License for more details at: 23 | // http://www.gnu.org/copyleft/gpl.html 24 | // 25 | // You should have received a copy of the GNU General Public License 26 | // along with this program; if not, write to the Free Software 27 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 28 | // 29 | 30 | #include "extdll.h" 31 | #include 32 | 33 | // meta mod includes 34 | #include 35 | #include 36 | 37 | void CreateCamera(edict_t* pPlayer, edict_t* pEntity) { 38 | if (pPlayer != nullptr && pEntity != nullptr) { 39 | edict_t* pCamera = CREATE_NAMED_ENTITY(MAKE_STRING("info_target")); 40 | MDLL_Spawn(pCamera); 41 | pCamera->v.origin = pEntity->v.origin + pEntity->v.view_ofs; 42 | pCamera->v.angles = pEntity->v.v_angle; 43 | pCamera->v.velocity = pEntity->v.velocity; 44 | pCamera->v.takedamage = DAMAGE_NO; 45 | pCamera->v.solid = SOLID_NOT; 46 | pCamera->v.owner = pPlayer; 47 | pCamera->v.euser1 = pEntity; 48 | pCamera->v.movetype = MOVETYPE_FLY; // noclip 49 | pCamera->v.classname = MAKE_STRING("entity_botcam"); 50 | pCamera->v.nextthink = gpGlobals->time; 51 | pCamera->v.renderamt = 0; 52 | // pCamera->v.rendermode = kRenderTransColor; 53 | // pCamera->v.renderfx = kRenderFxNone; 54 | SET_MODEL(pCamera, "models/mechgibs.mdl"); 55 | // SET_MODEL(pCamera, "models/nail.mdl"); 56 | SET_VIEW(pPlayer, pCamera); 57 | } 58 | } 59 | 60 | void KillCamera(const edict_t* pPlayer) { 61 | if (pPlayer != nullptr) { 62 | edict_t* pCCamera = nullptr; 63 | while ((pCCamera = FIND_ENTITY_BY_CLASSNAME(pCCamera, "entity_botcam")) != nullptr && !FNullEnt(pCCamera)) { 64 | if (pCCamera->v.owner == pPlayer) 65 | pCCamera->v.flags |= FL_KILLME; 66 | } 67 | SET_VIEW(pPlayer, pPlayer); 68 | } 69 | } -------------------------------------------------------------------------------- /botcam.h: -------------------------------------------------------------------------------- 1 | // 2 | // FoXBot - AI Bot for Halflife's Team Fortress Classic 3 | // 4 | // (http://foxbot.net) 5 | // 6 | // botcam.h 7 | // 8 | // Copyright (C) 2003 - Tom "Redfox" Simpson 9 | // 10 | // 11 | // This program is free software; you can redistribute it and/or 12 | // modify it under the terms of the GNU General Public License 13 | // as published by the Free Software Foundation; either version 2 14 | // of the License, or (at your option) any later version. 15 | // 16 | // This program is distributed in the hope that it will be useful, 17 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 | // 20 | // See the GNU General Public License for more details at: 21 | // http://www.gnu.org/copyleft/gpl.html 22 | // 23 | // You should have received a copy of the GNU General Public License 24 | // along with this program; if not, write to the Free Software 25 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 26 | // 27 | 28 | #ifndef BOTCAM_H 29 | #define BOTCAM_H 30 | 31 | void CreateCamera(edict_t* pPlayer, edict_t* pEntity); 32 | void KillCamera(const edict_t* pPlayer); 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /configure.py: -------------------------------------------------------------------------------- 1 | # AMBuild Configuration Script for EvoBot, written by Anonymous Player 2 | # vim: set sts=4 ts=8 sw=4 tw=99 et: 3 | API_VERSION = '2.2.3' 4 | 5 | import sys 6 | try: 7 | from ambuild2 import run 8 | if not run.HasAPI(API_VERSION): 9 | raise Exception() 10 | except: 11 | sys.stderr.write('AMBuild {0} must be installed to build this project.\n'.format(API_VERSION)) 12 | sys.stderr.write('http://www.alliedmods.net/ambuild\n') 13 | sys.exit(1) 14 | 15 | def make_objdir_name(p): 16 | return 'obj-' + util.Platform() + '-' + p.target_arch 17 | 18 | builder = run.BuildParser(sourcePath = sys.path[0], api=API_VERSION) 19 | builder.default_arch = 'x86' 20 | builder.default_build_folder = make_objdir_name 21 | # builder.options.add_argument('--hl1sdk', type=str, dest='hl1sdk_path', default=None, 22 | # help='Half-Life 1 SDK source tree folder') 23 | # builder.options.add_argument('--mm-path', type=str, dest='mm_path', default=None, 24 | # help='Metamod source tree folder') 25 | builder.options.add_argument('--enable-optimize', action='store_const', const='1', dest='optimize', 26 | help='Enable optimization') 27 | builder.options.add_argument('--enable-debug', action='store_const', const='1', dest='debug', 28 | help='Enable debug') 29 | builder.options.add_argument('--enable-static-lib', action='store_const', const='1', dest='staticlib', 30 | help='Enable statically link the sanitizer runtime') 31 | builder.options.add_argument('--enable-shared-lib', action='store_const', const='1', dest='sharedlib', 32 | help='Enable dynamically link the sanitizer runtime') 33 | builder.Configure() -------------------------------------------------------------------------------- /doc/THINGSTODO.txt: -------------------------------------------------------------------------------- 1 | 2 | Note: This file was included with Foxbot version 0.701. 3 | 4 | ================================== 5 | 6 | Some shit I want to do. 7 | 8 | Bot switch classes smartly? 9 | move snipers if close sniper within a small distance. 10 | spy hoverboard 11 | get MG and SG killers 12 | snipes strafe 13 | make the killer of an sg say the "down" message 14 | make spies efficient sg killers 15 | send closest d class to their own flag when taken. 16 | scouts go to detpacks if they hear 17 | make a function that sends a bot to a waypoint of opportunity for the bot, meaning a wp with good nade distance. 18 | 19 | TEST FILE LOADING ON NIX 20 | human command bots. access via users txt file, or highest scored human. (cvar frag_commander) 21 | 22 | 23 | 24 | CHANGELOG 25 | --------- 26 | botname changerole role (attack, defend, roam) 27 | hopefully fixed flag carriers screwing around 28 | 29 | less flag escorts 30 | aim at feet 31 | height limit for medic heals 32 | defense tweaks 33 | optimizations 34 | tweak avoid code 35 | fixed demo trying to blow flag carriers 36 | foxbot_commanders.txt 37 | implement class changing 38 | PUUT WP RANGE BACK HIGHER 39 | demo piping 40 | rotate sgs sturn180 41 | increased spy det range 42 | decreased target find timer 43 | added script support for defense points 44 | demo pipes 45 | implement defense points 46 | engys need to pick closest spot to flag location if no sg there yet 47 | fixed command tag menus 48 | increased wp view distance 49 | medics shouldnt interrupt concing to heal. 50 | Bot Offense/Defense? 51 | implement missions 52 | improve action choice in bot_navigate 53 | discard 54 | engys pick diff spots 55 | defender waypoint type 56 | implement hearing. 57 | engy not buff if target infected 58 | bots shouldnt go for health if infected (better than infecting teammates) 59 | Rocketjumping - provide waypoint explanation 60 | nade arc error 61 | lead error 62 | add some error to nading 63 | hwguy aim error 64 | ded server cfg load fix 65 | pyro boost 66 | pyro freeze 67 | scout ring of shadows 68 | NO ENGY ARMOR REPAIR UNLESS HE HAS A SG - 976 bot_com 69 | 70 | version info 71 | ------------ 72 | 40 dll.cpp 73 | 48 dll.cpp 74 | 40 meta_api.cpp 75 | resource file 76 | 77 | 78 | BUGS 79 | ---- 80 | 81 | NOTES 82 | ----- 83 | 84 | 85 | 86 | TODO 87 | ---- 88 | code to check if outdoor 89 | TraceResult tr; 90 | UTIL_TraceLine(pEntity->v.origin, pEntity->v.origin + Vector(0,0,8192), ignore_monsters, pEntity, &tr); 91 | /******** CHECKS ********/ 92 | /******** Is the client inside? ********/ 93 | if(UTIL_PointContents(tr.vecEndPos) != CONTENTS_SKY) 94 | { 95 | pCEntity->PrintTalk( "> You must be outside to build a marker" ); 96 | return; 97 | } 98 | 99 | -------------------------------------------------------------------------------- /documentation/THINGSTODO.txt: -------------------------------------------------------------------------------- 1 | 2 | Note: This file was included with Foxbot version 0.701. 3 | 4 | ================================== 5 | 6 | Some shit I want to do. 7 | 8 | Bot switch classes smartly? 9 | move snipers if close sniper within a small distance. 10 | spy hoverboard 11 | get MG and SG killers 12 | snipes strafe 13 | make the killer of an sg say the "down" message 14 | make spies efficient sg killers 15 | send closest d class to their own flag when taken. 16 | scouts go to detpacks if they hear 17 | make a function that sends a bot to a waypoint of opportunity for the bot, meaning a wp with good nade distance. 18 | 19 | TEST FILE LOADING ON NIX 20 | human command bots. access via users txt file, or highest scored human. (cvar frag_commander) 21 | 22 | 23 | 24 | CHANGELOG 25 | --------- 26 | botname changerole role (attack, defend, roam) 27 | hopefully fixed flag carriers screwing around 28 | 29 | less flag escorts 30 | aim at feet 31 | height limit for medic heals 32 | defense tweaks 33 | optimizations 34 | tweak avoid code 35 | fixed demo trying to blow flag carriers 36 | foxbot_commanders.txt 37 | implement class changing 38 | PUUT WP RANGE BACK HIGHER 39 | demo piping 40 | rotate sgs sturn180 41 | increased spy det range 42 | decreased target find timer 43 | added script support for defense points 44 | demo pipes 45 | implement defense points 46 | engys need to pick closest spot to flag location if no sg there yet 47 | fixed command tag menus 48 | increased wp view distance 49 | medics shouldnt interrupt concing to heal. 50 | Bot Offense/Defense? 51 | implement missions 52 | improve action choice in bot_navigate 53 | discard 54 | engys pick diff spots 55 | defender waypoint type 56 | implement hearing. 57 | engy not buff if target infected 58 | bots shouldnt go for health if infected (better than infecting teammates) 59 | Rocketjumping - provide waypoint explanation 60 | nade arc error 61 | lead error 62 | add some error to nading 63 | hwguy aim error 64 | ded server cfg load fix 65 | pyro boost 66 | pyro freeze 67 | scout ring of shadows 68 | NO ENGY ARMOR REPAIR UNLESS HE HAS A SG - 976 bot_com 69 | 70 | version info 71 | ------------ 72 | 40 dll.cpp 73 | 48 dll.cpp 74 | 40 meta_api.cpp 75 | resource file 76 | 77 | 78 | BUGS 79 | ---- 80 | 81 | NOTES 82 | ----- 83 | 84 | 85 | 86 | TODO 87 | ---- 88 | code to check if outdoor 89 | TraceResult tr; 90 | UTIL_TraceLine(pEntity->v.origin, pEntity->v.origin + Vector(0,0,8192), ignore_monsters, pEntity, &tr); 91 | /******** CHECKS ********/ 92 | /******** Is the client inside? ********/ 93 | if(UTIL_PointContents(tr.vecEndPos) != CONTENTS_SKY) 94 | { 95 | pCEntity->PrintTalk( "> You must be outside to build a marker" ); 96 | return; 97 | } 98 | 99 | -------------------------------------------------------------------------------- /engine.h: -------------------------------------------------------------------------------- 1 | // 2 | // FoXBot - AI Bot for Halflife's Team Fortress Classic 3 | // 4 | // (http://foxbot.net) 5 | // 6 | // engine.h 7 | // 8 | // Copyright (C) 2003 - Tom "Redfox" Simpson 9 | // 10 | // 11 | // This program is free software; you can redistribute it and/or 12 | // modify it under the terms of the GNU General Public License 13 | // as published by the Free Software Foundation; either version 2 14 | // of the License, or (at your option) any later version. 15 | // 16 | // This program is distributed in the hope that it will be useful, 17 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 19 | // 20 | // See the GNU General Public License for more details at: 21 | // http://www.gnu.org/copyleft/gpl.html 22 | // 23 | // You should have received a copy of the GNU General Public License 24 | // along with this program; if not, write to the Free Software 25 | // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 26 | // 27 | 28 | #ifndef ENGINE_H 29 | #define ENGINE_H 30 | 31 | void pfnMessageBegin(int msg_dest, int msg_type, const float* pOrigin, edict_t* ed); 32 | void pfnMessageEnd(); 33 | void pfnWriteByte(int iValue); 34 | void pfnWriteChar(int iValue); 35 | void pfnWriteShort(int iValue); 36 | void pfnWriteLong(int iValue); 37 | void pfnWriteAngle(float flValue); 38 | void pfnWriteCoord(float flValue); 39 | void pfnWriteString(const char* sz); 40 | void pfnWriteEntity(int iValue); 41 | 42 | #endif // ENGINE_H 43 | -------------------------------------------------------------------------------- /hlsdk-25th/common/beamdef.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( BEAMDEFH ) 16 | #define BEAMDEFH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | #define FBEAM_STARTENTITY 0x00000001 22 | #define FBEAM_ENDENTITY 0x00000002 23 | #define FBEAM_FADEIN 0x00000004 24 | #define FBEAM_FADEOUT 0x00000008 25 | #define FBEAM_SINENOISE 0x00000010 26 | #define FBEAM_SOLID 0x00000020 27 | #define FBEAM_SHADEIN 0x00000040 28 | #define FBEAM_SHADEOUT 0x00000080 29 | #define FBEAM_STARTVISIBLE 0x10000000 // Has this client actually seen this beam's start entity yet? 30 | #define FBEAM_ENDVISIBLE 0x20000000 // Has this client actually seen this beam's end entity yet? 31 | #define FBEAM_ISACTIVE 0x40000000 32 | #define FBEAM_FOREVER 0x80000000 33 | 34 | typedef struct beam_s BEAM; 35 | struct beam_s 36 | { 37 | BEAM *next; 38 | int type; 39 | int flags; 40 | vec3_t source; 41 | vec3_t target; 42 | vec3_t delta; 43 | float t; // 0 .. 1 over lifetime of beam 44 | float freq; 45 | float die; 46 | float width; 47 | float amplitude; 48 | float r, g, b; 49 | float brightness; 50 | float speed; 51 | float frameRate; 52 | float frame; 53 | int segments; 54 | int startEntity; 55 | int endEntity; 56 | int modelIndex; 57 | int frameCount; 58 | struct model_s *pFollowModel; 59 | struct particle_s *particles; 60 | }; 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /hlsdk-25th/common/com_model.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/com_model.h -------------------------------------------------------------------------------- /hlsdk-25th/common/con_nprint.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( CON_NPRINTH ) 16 | #define CON_NPRINTH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | typedef struct con_nprint_s 26 | { 27 | int index; // Row # 28 | float time_to_live; // # of seconds before it dissappears 29 | float color[ 3 ]; // RGB colors ( 0.0 -> 1.0 scale ) 30 | } con_nprint_t; 31 | 32 | void Con_NPrintf( int idx, char *fmt, ... ); 33 | void Con_NXPrintf( struct con_nprint_s *info, char *fmt, ... ); 34 | #ifdef __cplusplus 35 | } 36 | #endif 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /hlsdk-25th/common/crc.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | /* crc.h */ 16 | #ifndef CRC_H 17 | #define CRC_H 18 | #ifdef _WIN32 19 | #pragma once 20 | #endif 21 | 22 | #include "archtypes.h" // DAL 23 | 24 | // MD5 Hash 25 | typedef struct 26 | { 27 | unsigned int buf[4]; 28 | unsigned int bits[2]; 29 | unsigned char in[64]; 30 | } MD5Context_t; 31 | 32 | 33 | #ifdef _WIN32 34 | typedef uint32 CRC32_t; 35 | #else 36 | typedef uint32 CRC32_t; 37 | #endif 38 | 39 | #ifdef __cplusplus 40 | extern "C" 41 | { 42 | #endif 43 | void CRC32_Init(CRC32_t *pulCRC); 44 | CRC32_t CRC32_Final(CRC32_t pulCRC); 45 | void CRC32_ProcessBuffer(CRC32_t *pulCRC, void *p, int len); 46 | void CRC32_ProcessByte(CRC32_t *pulCRC, unsigned char ch); 47 | int CRC_File(CRC32_t *crcvalue, char *pszFileName); 48 | #ifdef __cplusplus 49 | } 50 | #endif 51 | unsigned char COM_BlockSequenceCRCByte (unsigned char *base, int length, int sequence); 52 | 53 | void MD5Init(MD5Context_t *context); 54 | void MD5Update(MD5Context_t *context, unsigned char const *buf, 55 | unsigned int len); 56 | void MD5Final(unsigned char digest[16], MD5Context_t *context); 57 | void Transform(unsigned int buf[4], unsigned int const in[16]); 58 | 59 | int MD5_Hash_File(unsigned char digest[16], char *pszFileName, int bUsefopen, int bSeed, unsigned int seed[4]); 60 | char *MD5_Print(unsigned char hash[16]); 61 | int MD5_Hash_CachedFile(unsigned char digest[16], unsigned char *pCache, int nFileSize, int bSeed, unsigned int seed[4]); 62 | 63 | int CRC_MapFile(CRC32_t *crcvalue, char *pszFileName); 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /hlsdk-25th/common/cvardef.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef CVARDEF_H 16 | #define CVARDEF_H 17 | 18 | #define FCVAR_ARCHIVE (1<<0) // set to cause it to be saved to vars.rc 19 | #define FCVAR_USERINFO (1<<1) // changes the client's info string 20 | #define FCVAR_SERVER (1<<2) // notifies players when changed 21 | #define FCVAR_EXTDLL (1<<3) // defined by external DLL 22 | #define FCVAR_CLIENTDLL (1<<4) // defined by the client dll 23 | #define FCVAR_PROTECTED (1<<5) // It's a server cvar, but we don't send the data since it's a password, etc. Sends 1 if it's not bland/zero, 0 otherwise as value 24 | #define FCVAR_SPONLY (1<<6) // This cvar cannot be changed by clients connected to a multiplayer server. 25 | #define FCVAR_PRINTABLEONLY (1<<7) // This cvar's string cannot contain unprintable characters ( e.g., used for player name etc ). 26 | #define FCVAR_UNLOGGED (1<<8) // If this is a FCVAR_SERVER, don't log changes to the log file / console if we are creating a log 27 | #define FCVAR_NOEXTRAWHITEPACE (1<<9) // strip trailing/leading white space from this cvar 28 | #define FCVAR_PRIVILEGED (1<<10) // Not queryable/settable by unprivileged sources 29 | #define FCVAR_FILTERSTUFFTEXT (1<<11) // Not queryable/settable if unprivileged and filterstufftext is enabled 30 | #define FCVAR_FILTERCHARS (1<<12) // This cvar's string will be filtered for 'bad' characters (e.g. ';', '\n') 31 | #define FCVAR_NOBADPATHS (1<<13) // This cvar's string cannot contain file paths that are above the current directory 32 | 33 | typedef struct cvar_s 34 | { 35 | char *name; 36 | char *string; 37 | int flags; 38 | float value; 39 | struct cvar_s *next; 40 | } cvar_t; 41 | #endif 42 | -------------------------------------------------------------------------------- /hlsdk-25th/common/demo_api.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( DEMO_APIH ) 16 | #define DEMO_APIH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef struct demo_api_s 22 | { 23 | int ( *IsRecording ) ( void ); 24 | int ( *IsPlayingback ) ( void ); 25 | int ( *IsTimeDemo ) ( void ); 26 | void ( *WriteBuffer ) ( int size, unsigned char *buffer ); 27 | } demo_api_t; 28 | 29 | extern demo_api_t demoapi; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /hlsdk-25th/common/director_cmds.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/director_cmds.h -------------------------------------------------------------------------------- /hlsdk-25th/common/dlight.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( DLIGHTH ) 16 | #define DLIGHTH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef struct dlight_s 22 | { 23 | vec3_t origin; 24 | float radius; 25 | color24 color; 26 | float die; // stop lighting after this time 27 | float decay; // drop this each second 28 | float minlight; // don't add when contributing less 29 | int key; 30 | qboolean dark; // subtracts light instead of adding 31 | } dlight_t; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /hlsdk-25th/common/dll_state.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/dll_state.h -------------------------------------------------------------------------------- /hlsdk-25th/common/entity_types.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // entity_types.h 16 | #if !defined( ENTITY_TYPESH ) 17 | #define ENTITY_TYPESH 18 | 19 | #define ET_NORMAL 0 20 | #define ET_PLAYER 1 21 | #define ET_TEMPENTITY 2 22 | #define ET_BEAM 3 23 | // BMODEL or SPRITE that was split across BSP nodes 24 | #define ET_FRAGMENTED 4 25 | 26 | #endif // !ENTITY_TYPESH 27 | -------------------------------------------------------------------------------- /hlsdk-25th/common/enums.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 2009, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #ifndef ENUMS_H 17 | #define ENUMS_H 18 | 19 | typedef enum netsrc_s 20 | { 21 | NS_CLIENT, 22 | NS_SERVER, 23 | NS_MULTICAST // xxxMO 24 | } netsrc_t; 25 | 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /hlsdk-25th/common/event_api.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( EVENT_APIH ) 16 | #define EVENT_APIH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | #define EVENT_API_VERSION 1 22 | 23 | typedef struct event_api_s 24 | { 25 | int version; 26 | void ( *EV_PlaySound ) ( int ent, float *origin, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch ); 27 | void ( *EV_StopSound ) ( int ent, int channel, const char *sample ); 28 | int ( *EV_FindModelIndex )( const char *pmodel ); 29 | int ( *EV_IsLocal ) ( int playernum ); 30 | int ( *EV_LocalPlayerDucking ) ( void ); 31 | void ( *EV_LocalPlayerViewheight ) ( float * ); 32 | void ( *EV_LocalPlayerBounds ) ( int hull, float *mins, float *maxs ); 33 | int ( *EV_IndexFromTrace) ( struct pmtrace_s *pTrace ); 34 | struct physent_s *( *EV_GetPhysent ) ( int idx ); 35 | void ( *EV_SetUpPlayerPrediction ) ( int dopred, int bIncludeLocalClient ); 36 | void ( *EV_PushPMStates ) ( void ); 37 | void ( *EV_PopPMStates ) ( void ); 38 | void ( *EV_SetSolidPlayers ) (int playernum); 39 | void ( *EV_SetTraceHull ) ( int hull ); 40 | void ( *EV_PlayerTrace ) ( float *start, float *end, int traceFlags, int ignore_pe, struct pmtrace_s *tr ); 41 | void ( *EV_WeaponAnimation ) ( int sequence, int body ); 42 | unsigned short ( *EV_PrecacheEvent ) ( int type, const char* psz ); 43 | void ( *EV_PlaybackEvent ) ( int flags, const struct edict_s *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ); 44 | const char *( *EV_TraceTexture ) ( int ground, float *vstart, float *vend ); 45 | void ( *EV_StopAllSounds ) ( int entnum, int entchannel ); 46 | void ( *EV_KillEvents ) ( int entnum, const char *eventname ); 47 | } event_api_t; 48 | 49 | extern event_api_t eventapi; 50 | 51 | #endif 52 | -------------------------------------------------------------------------------- /hlsdk-25th/common/event_args.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( EVENT_ARGSH ) 16 | #define EVENT_ARGSH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | // Event was invoked with stated origin 22 | #define FEVENT_ORIGIN ( 1<<0 ) 23 | 24 | // Event was invoked with stated angles 25 | #define FEVENT_ANGLES ( 1<<1 ) 26 | 27 | typedef struct event_args_s 28 | { 29 | int flags; 30 | 31 | // Transmitted 32 | int entindex; 33 | 34 | float origin[3]; 35 | float angles[3]; 36 | float velocity[3]; 37 | 38 | int ducking; 39 | 40 | float fparam1; 41 | float fparam2; 42 | 43 | int iparam1; 44 | int iparam2; 45 | 46 | int bparam1; 47 | int bparam2; 48 | } event_args_t; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /hlsdk-25th/common/event_flags.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( EVENT_FLAGSH ) 16 | #define EVENT_FLAGSH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | // Skip local host for event send. 22 | #define FEV_NOTHOST (1<<0) 23 | 24 | // Send the event reliably. You must specify the origin and angles and use 25 | // PLAYBACK_EVENT_FULL for this to work correctly on the server for anything 26 | // that depends on the event origin/angles. I.e., the origin/angles are not 27 | // taken from the invoking edict for reliable events. 28 | #define FEV_RELIABLE (1<<1) 29 | 30 | // Don't restrict to PAS/PVS, send this event to _everybody_ on the server ( useful for stopping CHAN_STATIC 31 | // sounds started by client event when client is not in PVS anymore ( hwguy in TFC e.g. ). 32 | #define FEV_GLOBAL (1<<2) 33 | 34 | // If this client already has one of these events in its queue, just update the event instead of sending it as a duplicate 35 | // 36 | #define FEV_UPDATE (1<<3) 37 | 38 | // Only send to entity specified as the invoker 39 | #define FEV_HOSTONLY (1<<4) 40 | 41 | // Only send if the event was created on the server. 42 | #define FEV_SERVER (1<<5) 43 | 44 | // Only issue event client side ( from shared code ) 45 | #define FEV_CLIENT (1<<6) 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /hlsdk-25th/common/hltv.h: -------------------------------------------------------------------------------- 1 | // hltv.h 2 | // all shared consts between server, clients and proxy 3 | 4 | #ifndef HLTV_H 5 | #define HLTV_H 6 | 7 | #define TYPE_CLIENT 0 // client is a normal HL client (default) 8 | #define TYPE_PROXY 1 // client is another proxy 9 | #define TYPE_COMMENTATOR 3 // client is a commentator 10 | #define TYPE_DEMO 4 // client is a demo file 11 | 12 | // sub commands of svc_hltv: 13 | #define HLTV_ACTIVE 0 // tells client that he's an spectator and will get director commands 14 | #define HLTV_STATUS 1 // send status infos about proxy 15 | #define HLTV_LISTEN 2 // tell client to listen to a multicast stream 16 | 17 | // director command types: 18 | #define DRC_CMD_NONE 0 // NULL director command 19 | #define DRC_CMD_START 1 // start director mode 20 | #define DRC_CMD_EVENT 2 // informs about director command 21 | #define DRC_CMD_MODE 3 // switches camera modes 22 | #define DRC_CMD_CAMERA 4 // set fixed camera 23 | #define DRC_CMD_TIMESCALE 5 // sets time scale 24 | #define DRC_CMD_MESSAGE 6 // send HUD centerprint 25 | #define DRC_CMD_SOUND 7 // plays a particular sound 26 | #define DRC_CMD_STATUS 8 // HLTV broadcast status 27 | #define DRC_CMD_BANNER 9 // set GUI banner 28 | #define DRC_CMD_STUFFTEXT 10 // like the normal svc_stufftext but as director command 29 | #define DRC_CMD_CHASE 11 // chase a certain player 30 | #define DRC_CMD_INEYE 12 // view player through own eyes 31 | #define DRC_CMD_MAP 13 // show overview map 32 | #define DRC_CMD_CAMPATH 14 // define camera waypoint 33 | #define DRC_CMD_WAYPOINTS 15 // start moving camera, inetranl message 34 | 35 | #define DRC_CMD_LAST 15 36 | 37 | 38 | // DRC_CMD_EVENT event flags 39 | #define DRC_FLAG_PRIO_MASK 0x0F // priorities between 0 and 15 (15 most important) 40 | #define DRC_FLAG_SIDE (1<<4) // 41 | #define DRC_FLAG_DRAMATIC (1<<5) // is a dramatic scene 42 | #define DRC_FLAG_SLOWMOTION (1<<6) // would look good in SloMo 43 | #define DRC_FLAG_FACEPLAYER (1<<7) // player is doning something (reload/defuse bomb etc) 44 | #define DRC_FLAG_INTRO (1<<8) // is a introduction scene 45 | #define DRC_FLAG_FINAL (1<<9) // is a final scene 46 | #define DRC_FLAG_NO_RANDOM (1<<10) // don't randomize event data 47 | 48 | 49 | // DRC_CMD_WAYPOINT flags 50 | #define DRC_FLAG_STARTPATH 1 // end with speed 0.0 51 | #define DRC_FLAG_SLOWSTART 2 // start with speed 0.0 52 | #define DRC_FLAG_SLOWEND 4 // end with speed 0.0 53 | 54 | #endif // HLTV_H 55 | -------------------------------------------------------------------------------- /hlsdk-25th/common/in_buttons.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef IN_BUTTONS_H 16 | #define IN_BUTTONS_H 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | #define IN_ATTACK (1 << 0) 22 | #define IN_JUMP (1 << 1) 23 | #define IN_DUCK (1 << 2) 24 | #define IN_FORWARD (1 << 3) 25 | #define IN_BACK (1 << 4) 26 | #define IN_USE (1 << 5) 27 | #define IN_CANCEL (1 << 6) 28 | #define IN_LEFT (1 << 7) 29 | #define IN_RIGHT (1 << 8) 30 | #define IN_MOVELEFT (1 << 9) 31 | #define IN_MOVERIGHT (1 << 10) 32 | #define IN_ATTACK2 (1 << 11) 33 | #define IN_RUN (1 << 12) 34 | #define IN_RELOAD (1 << 13) 35 | #define IN_ALT1 (1 << 14) 36 | #define IN_SCORE (1 << 15) // Used by client.dll for when scoreboard is held down 37 | 38 | #endif // IN_BUTTONS_H 39 | -------------------------------------------------------------------------------- /hlsdk-25th/common/interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/interface.h -------------------------------------------------------------------------------- /hlsdk-25th/common/ivoicetweak.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/ivoicetweak.h -------------------------------------------------------------------------------- /hlsdk-25th/common/net_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/net_api.h -------------------------------------------------------------------------------- /hlsdk-25th/common/netadr.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // netadr.h 16 | #ifndef NETADR_H 17 | #define NETADR_H 18 | #ifdef _WIN32 19 | #pragma once 20 | #endif 21 | 22 | // JoshA: Unfortunately netadr_s is passed to clients for connectionless packets. 23 | // No Valve mod uses them, but custom mods *might*, so not changing the start of this struct layout. 24 | // It's very unlikely they touch this, but I'd like to play as safe as possible with all ABI etc for mod compat. 25 | // If we want to add IPv6 someday, bung it at the end of netadr_s and leave ip + ipx alone. 26 | 27 | typedef enum 28 | { 29 | NA_UNUSED, 30 | NA_LOOPBACK, 31 | NA_BROADCAST, 32 | NA_IP, 33 | NA_IPX, // deprecated 34 | NA_BROADCAST_IPX, // deprecated 35 | } netadrtype_t; 36 | 37 | typedef struct netadr_s 38 | { 39 | netadrtype_t type; 40 | unsigned char ip[4]; 41 | unsigned char ipx[10]; // deprecated 42 | unsigned short port; 43 | } netadr_t; 44 | 45 | #endif // NETADR_H 46 | -------------------------------------------------------------------------------- /hlsdk-25th/common/nowin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/nowin.h -------------------------------------------------------------------------------- /hlsdk-25th/common/parsemsg.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1999, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // 16 | // parsemsg.h 17 | // MDC - copying from cstrike\cl_dll so career-mode stuff can catch messages 18 | // in this dll. (and C++ifying it) 19 | // 20 | 21 | #ifndef PARSEMSG_H 22 | #define PARSEMSG_H 23 | 24 | #define ASSERT( x ) 25 | //-------------------------------------------------------------------------------------------------------------- 26 | void BEGIN_READ( void *buf, int size ); 27 | int READ_CHAR( void ); 28 | int READ_BYTE( void ); 29 | int READ_SHORT( void ); 30 | int READ_WORD( void ); 31 | int READ_LONG( void ); 32 | float READ_FLOAT( void ); 33 | char* READ_STRING( void ); 34 | float READ_COORD( void ); 35 | float READ_ANGLE( void ); 36 | float READ_HIRESANGLE( void ); 37 | int READ_OK( void ); 38 | 39 | //-------------------------------------------------------------------------------------------------------------- 40 | class BufferWriter 41 | { 42 | public: 43 | BufferWriter(); 44 | BufferWriter( unsigned char *buffer, int bufferLen ); 45 | void Init( unsigned char *buffer, int bufferLen ); 46 | 47 | void WriteByte( unsigned char data ); 48 | void WriteLong( int data ); 49 | void WriteString( const char *str ); 50 | 51 | bool HasOverflowed(); 52 | int GetSpaceUsed(); 53 | 54 | protected: 55 | unsigned char *m_buffer; 56 | int m_remaining; 57 | bool m_overflow; 58 | int m_overallLength; 59 | }; 60 | 61 | //-------------------------------------------------------------------------------------------------------------- 62 | 63 | #endif // PARSEMSG_H 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /hlsdk-25th/common/particledef.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( PARTICLEDEFH ) 16 | #define PARTICLEDEFH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef enum { 22 | pt_static, 23 | pt_grav, 24 | pt_slowgrav, 25 | pt_fire, 26 | pt_explode, 27 | pt_explode2, 28 | pt_blob, 29 | pt_blob2, 30 | pt_vox_slowgrav, 31 | pt_vox_grav, 32 | pt_clientcustom // Must have callback function specified 33 | } ptype_t; 34 | 35 | // !!! if this is changed, it must be changed in d_ifacea.h too !!! 36 | typedef struct particle_s 37 | { 38 | // driver-usable fields 39 | vec3_t org; 40 | short color; 41 | short packedColor; 42 | // drivers never touch the following fields 43 | struct particle_s *next; 44 | vec3_t vel; 45 | float ramp; 46 | float die; 47 | ptype_t type; 48 | void (*deathfunc)( struct particle_s *particle ); 49 | 50 | // for pt_clientcusttom, we'll call this function each frame 51 | void (*callback)( struct particle_s *particle, float frametime ); 52 | 53 | // For deathfunc, etc. 54 | unsigned char context; 55 | } particle_t; 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /hlsdk-25th/common/pmtrace.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( PMTRACEH ) 16 | #define PMTRACEH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef struct 22 | { 23 | vec3_t normal; 24 | float dist; 25 | } pmplane_t; 26 | 27 | typedef struct pmtrace_s pmtrace_t; 28 | 29 | struct pmtrace_s 30 | { 31 | qboolean allsolid; // if true, plane is not valid 32 | qboolean startsolid; // if true, the initial point was in a solid area 33 | qboolean inopen, inwater; // End point is in empty space or in water 34 | float fraction; // time completed, 1.0 = didn't hit anything 35 | vec3_t endpos; // final position 36 | pmplane_t plane; // surface normal at impact 37 | int ent; // entity at impact 38 | vec3_t deltavelocity; // Change in player's velocity caused by impact. 39 | // Only run on server. 40 | int hitgroup; 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /hlsdk-25th/common/qfont.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( QFONTH ) 16 | #define QFONTH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | // Font stuff 22 | 23 | #define NUM_GLYPHS 256 24 | #include "basetypes.h" 25 | 26 | typedef struct 27 | { 28 | short startoffset; 29 | short charwidth; 30 | } charinfo; 31 | 32 | typedef struct qfont_s 33 | { 34 | int width, height; 35 | int rowcount; 36 | int rowheight; 37 | charinfo fontinfo[ NUM_GLYPHS ]; 38 | byte data[4]; 39 | } qfont_t; 40 | 41 | #endif // qfont.h 42 | -------------------------------------------------------------------------------- /hlsdk-25th/common/ref_params.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( REF_PARAMSH ) 16 | #define REF_PARAMSH 17 | 18 | typedef struct ref_params_s 19 | { 20 | // Output 21 | float vieworg[3]; 22 | float viewangles[3]; 23 | 24 | float forward[3]; 25 | float right[3]; 26 | float up[3]; 27 | 28 | // Client frametime; 29 | float frametime; 30 | // Client time 31 | float time; 32 | 33 | // Misc 34 | int intermission; 35 | int paused; 36 | int spectator; 37 | int onground; 38 | int waterlevel; 39 | 40 | float simvel[3]; 41 | float simorg[3]; 42 | 43 | float viewheight[3]; 44 | float idealpitch; 45 | 46 | float cl_viewangles[3]; 47 | 48 | int health; 49 | float crosshairangle[3]; 50 | float viewsize; 51 | 52 | float punchangle[3]; 53 | int maxclients; 54 | int viewentity; 55 | int playernum; 56 | int max_entities; 57 | int demoplayback; 58 | int hardware; 59 | 60 | int smoothing; 61 | 62 | // Last issued usercmd 63 | struct usercmd_s *cmd; 64 | 65 | // Movevars 66 | struct movevars_s *movevars; 67 | 68 | int viewport[4]; // the viewport coordinates x ,y , width, height 69 | 70 | int nextView; // the renderer calls ClientDLL_CalcRefdef() and Renderview 71 | // so long in cycles until this value is 0 (multiple views) 72 | int onlyClientDraw; // if !=0 nothing is drawn by the engine except clientDraw functions 73 | } ref_params_t; 74 | 75 | #endif // !REF_PARAMSH 76 | -------------------------------------------------------------------------------- /hlsdk-25th/common/screenfade.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/common/screenfade.h -------------------------------------------------------------------------------- /hlsdk-25th/common/studio_event.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( STUDIO_EVENTH ) 16 | #define STUDIO_EVENTH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef struct mstudioevent_s 22 | { 23 | int frame; 24 | int event; 25 | int type; 26 | char options[64]; 27 | } mstudioevent_t; 28 | 29 | #endif // STUDIO_EVENTH 30 | -------------------------------------------------------------------------------- /hlsdk-25th/common/triangleapi.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( TRIANGLEAPIH ) 16 | #define TRIANGLEAPIH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef enum 22 | { 23 | TRI_FRONT = 0, 24 | TRI_NONE = 1, 25 | } TRICULLSTYLE; 26 | 27 | #define TRI_API_VERSION 1 28 | 29 | #define TRI_TRIANGLES 0 30 | #define TRI_TRIANGLE_FAN 1 31 | #define TRI_QUADS 2 32 | #define TRI_POLYGON 3 33 | #define TRI_LINES 4 34 | #define TRI_TRIANGLE_STRIP 5 35 | #define TRI_QUAD_STRIP 6 36 | 37 | typedef struct triangleapi_s 38 | { 39 | int version; 40 | 41 | void ( *RenderMode )( int mode ); 42 | void ( *Begin )( int primitiveCode ); 43 | void ( *End ) ( void ); 44 | 45 | void ( *Color4f ) ( float r, float g, float b, float a ); 46 | void ( *Color4ub ) ( unsigned char r, unsigned char g, unsigned char b, unsigned char a ); 47 | void ( *TexCoord2f ) ( float u, float v ); 48 | void ( *Vertex3fv ) ( float *worldPnt ); 49 | void ( *Vertex3f ) ( float x, float y, float z ); 50 | void ( *Brightness ) ( float brightness ); 51 | void ( *CullFace ) ( TRICULLSTYLE style ); 52 | int ( *SpriteTexture ) ( struct model_s *pSpriteModel, int frame ); 53 | int ( *WorldToScreen ) ( float *world, float *screen ); // Returns 1 if it's z clipped 54 | void ( *Fog ) ( float flFogColor[3], float flStart, float flEnd, int bOn ); // Works just like GL_FOG, flFogColor is r/g/b. 55 | void ( *ScreenToWorld ) ( float *screen, float *world ); 56 | void ( *GetMatrix ) ( const int pname, float *matrix ); 57 | int ( *BoxInPVS ) ( float *mins, float *maxs ); 58 | void ( *LightAtPoint ) ( float *pos, float *value ); 59 | void ( *Color4fRendermode ) ( float r, float g, float b, float a, int rendermode ); 60 | void ( *FogParams ) ( float flDensity, int iFogSkybox ); // Used with Fog()...sets fog density and whether the fog should be applied to the skybox 61 | 62 | } triangleapi_t; 63 | 64 | #endif // !TRIANGLEAPIH 65 | -------------------------------------------------------------------------------- /hlsdk-25th/common/usercmd.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef USERCMD_H 16 | #define USERCMD_H 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | typedef struct usercmd_s 22 | { 23 | short lerp_msec; // Interpolation time on client 24 | byte msec; // Duration in ms of command 25 | vec3_t viewangles; // Command view angles. 26 | 27 | // intended velocities 28 | float forwardmove; // Forward velocity. 29 | float sidemove; // Sideways velocity. 30 | float upmove; // Upward velocity. 31 | byte lightlevel; // Light level at spot where we are standing. 32 | unsigned short buttons; // Attack buttons 33 | byte impulse; // Impulse command issued. 34 | byte weaponselect; // Current weapon id 35 | 36 | // Experimental player impact stuff. 37 | int impact_index; 38 | vec3_t impact_position; 39 | } usercmd_t; 40 | 41 | #endif // USERCMD_H 42 | -------------------------------------------------------------------------------- /hlsdk-25th/common/weaponinfo.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( WEAPONINFOH ) 16 | #define WEAPONINFOH 17 | #ifdef _WIN32 18 | #pragma once 19 | #endif 20 | 21 | // Info about weapons player might have in his/her possession 22 | typedef struct weapon_data_s 23 | { 24 | int m_iId; 25 | int m_iClip; 26 | 27 | float m_flNextPrimaryAttack; 28 | float m_flNextSecondaryAttack; 29 | float m_flTimeWeaponIdle; 30 | 31 | int m_fInReload; 32 | int m_fInSpecialReload; 33 | float m_flNextReload; 34 | float m_flPumpTime; 35 | float m_fReloadTime; 36 | 37 | float m_fAimedDamage; 38 | float m_fNextAimBonus; 39 | int m_fInZoom; 40 | int m_iWeaponState; 41 | 42 | int iuser1; 43 | int iuser2; 44 | int iuser3; 45 | int iuser4; 46 | float fuser1; 47 | float fuser2; 48 | float fuser3; 49 | float fuser4; 50 | } weapon_data_t; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /hlsdk-25th/common/winsani_in.h: -------------------------------------------------------------------------------- 1 | #if _MSC_VER >= 1500 // MSVC++ 9.0 (Visual Studio 2008) 2 | #pragma push_macro("ARRAYSIZE") 3 | #ifdef ARRAYSIZE 4 | #undef ARRAYSIZE 5 | #endif 6 | #define HSPRITE WINDOWS_HSPRITE 7 | #endif 8 | -------------------------------------------------------------------------------- /hlsdk-25th/common/winsani_out.h: -------------------------------------------------------------------------------- 1 | #if _MSC_VER >= 1500 // MSVC++ 9.0 (Visual Studio 2008) 2 | #undef HSPRITE 3 | #pragma pop_macro("ARRAYSIZE") 4 | #endif 5 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/activitymap.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #define _A( a ) { a, #a } 17 | 18 | activity_map_t activity_map[] = 19 | { 20 | _A( ACT_IDLE ), 21 | _A( ACT_GUARD ), 22 | _A( ACT_WALK ), 23 | _A( ACT_RUN ), 24 | _A( ACT_FLY ), 25 | _A( ACT_SWIM ), 26 | _A( ACT_HOP ), 27 | _A( ACT_LEAP ), 28 | _A( ACT_FALL ), 29 | _A( ACT_LAND ), 30 | _A( ACT_STRAFE_LEFT ), 31 | _A( ACT_STRAFE_RIGHT ), 32 | _A( ACT_ROLL_LEFT ), 33 | _A( ACT_ROLL_RIGHT ), 34 | _A( ACT_TURN_LEFT ), 35 | _A( ACT_TURN_RIGHT ), 36 | _A( ACT_CROUCH ), 37 | _A( ACT_CROUCHIDLE ), 38 | _A( ACT_STAND ), 39 | _A( ACT_USE ), 40 | _A( ACT_SIGNAL1 ), 41 | _A( ACT_SIGNAL2 ), 42 | _A( ACT_SIGNAL3 ), 43 | _A( ACT_TWITCH ), 44 | _A( ACT_COWER ), 45 | _A( ACT_SMALL_FLINCH ), 46 | _A( ACT_BIG_FLINCH ), 47 | _A( ACT_RANGE_ATTACK1 ), 48 | _A( ACT_RANGE_ATTACK2 ), 49 | _A( ACT_MELEE_ATTACK1 ), 50 | _A( ACT_MELEE_ATTACK2 ), 51 | _A( ACT_RELOAD ), 52 | _A( ACT_ARM ), 53 | _A( ACT_DISARM ), 54 | _A( ACT_EAT ), 55 | _A( ACT_DIESIMPLE ), 56 | _A( ACT_DIEBACKWARD ), 57 | _A( ACT_DIEFORWARD ), 58 | _A( ACT_DIEVIOLENT ), 59 | _A( ACT_BARNACLE_HIT ), 60 | _A( ACT_BARNACLE_PULL ), 61 | _A( ACT_BARNACLE_CHOMP ), 62 | _A( ACT_BARNACLE_CHEW ), 63 | _A( ACT_SLEEP ), 64 | _A( ACT_INSPECT_FLOOR ), 65 | _A( ACT_INSPECT_WALL ), 66 | _A( ACT_IDLE_ANGRY ), 67 | _A( ACT_WALK_HURT ), 68 | _A( ACT_RUN_HURT ), 69 | _A( ACT_HOVER ), 70 | _A( ACT_GLIDE ), 71 | _A( ACT_FLY_LEFT ), 72 | _A( ACT_FLY_RIGHT ), 73 | _A( ACT_DETECT_SCENT ), 74 | _A( ACT_SNIFF ), 75 | _A( ACT_BITE ), 76 | _A( ACT_THREAT_DISPLAY ), 77 | _A( ACT_FEAR_DISPLAY ), 78 | _A( ACT_EXCITED ), 79 | _A( ACT_SPECIAL_ATTACK1 ), 80 | _A( ACT_SPECIAL_ATTACK2 ), 81 | _A( ACT_COMBAT_IDLE ), 82 | _A( ACT_WALK_SCARED ), 83 | _A( ACT_RUN_SCARED ), 84 | _A( ACT_VICTORY_DANCE ), 85 | _A( ACT_DIE_HEADSHOT ), 86 | _A( ACT_DIE_CHESTSHOT ), 87 | _A( ACT_DIE_GUTSHOT ), 88 | _A( ACT_DIE_BACKSHOT ), 89 | _A( ACT_FLINCH_HEAD ), 90 | _A( ACT_FLINCH_CHEST ), 91 | _A( ACT_FLINCH_STOMACH ), 92 | _A( ACT_FLINCH_LEFTARM ), 93 | _A( ACT_FLINCH_RIGHTARM ), 94 | _A( ACT_FLINCH_LEFTLEG ), 95 | _A( ACT_FLINCH_RIGHTLEG ), 96 | 0, NULL 97 | }; 98 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/animation.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef ANIMATION_H 16 | #define ANIMATION_H 17 | 18 | #define ACTIVITY_NOT_AVAILABLE -1 19 | 20 | #ifndef MONSTEREVENT_H 21 | #include "monsterevent.h" 22 | #endif 23 | 24 | extern int IsSoundEvent( int eventNumber ); 25 | 26 | int LookupActivity( void *pmodel, entvars_t *pev, int activity ); 27 | int LookupActivityHeaviest( void *pmodel, entvars_t *pev, int activity ); 28 | int LookupSequence( void *pmodel, const char *label ); 29 | void GetSequenceInfo( void *pmodel, entvars_t *pev, float *pflFrameRate, float *pflGroundSpeed ); 30 | int GetSequenceFlags( void *pmodel, entvars_t *pev ); 31 | int LookupAnimationEvents( void *pmodel, entvars_t *pev, float flStart, float flEnd ); 32 | float SetController( void *pmodel, entvars_t *pev, int iController, float flValue ); 33 | float SetBlending( void *pmodel, entvars_t *pev, int iBlender, float flValue ); 34 | void GetEyePosition( void *pmodel, float *vecEyePosition ); 35 | void SequencePrecache( void *pmodel, const char *pSequenceName ); 36 | int FindTransition( void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir ); 37 | void SetBodygroup( void *pmodel, entvars_t *pev, int iGroup, int iValue ); 38 | int GetBodygroup( void *pmodel, entvars_t *pev, int iGroup ); 39 | 40 | int GetAnimationEvent( void *pmodel, entvars_t *pev, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index ); 41 | int ExtractBbox( void *pmodel, int sequence, float *mins, float *maxs ); 42 | 43 | // From /engine/studio.h 44 | #define STUDIO_LOOPING 0x0001 45 | 46 | 47 | #endif //ANIMATION_H 48 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/cdll_dll.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // 16 | // cdll_dll.h 17 | 18 | // this file is included by both the game-dll and the client-dll, 19 | 20 | #ifndef CDLL_DLL_H 21 | #define CDLL_DLL_H 22 | 23 | #define MAX_WEAPONS 32 // ??? 24 | 25 | #define MAX_WEAPON_SLOTS 5 // hud item selection slots 26 | #define MAX_ITEM_TYPES 6 // hud item selection slots 27 | 28 | #define MAX_ITEMS 5 // hard coded item types 29 | 30 | #define HIDEHUD_WEAPONS ( 1<<0 ) 31 | #define HIDEHUD_FLASHLIGHT ( 1<<1 ) 32 | #define HIDEHUD_ALL ( 1<<2 ) 33 | #define HIDEHUD_HEALTH ( 1<<3 ) 34 | 35 | #define MAX_AMMO_TYPES 32 // ??? 36 | #define MAX_AMMO_SLOTS 32 // not really slots 37 | 38 | #define HUD_PRINTNOTIFY 1 39 | #define HUD_PRINTCONSOLE 2 40 | #define HUD_PRINTTALK 3 41 | #define HUD_PRINTCENTER 4 42 | 43 | 44 | #define WEAPON_SUIT 31 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/decals.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef DECALS_H 16 | #define DECALS_H 17 | 18 | // 19 | // Dynamic Decals 20 | // 21 | enum decal_e 22 | { 23 | DECAL_GUNSHOT1 = 0, 24 | DECAL_GUNSHOT2, 25 | DECAL_GUNSHOT3, 26 | DECAL_GUNSHOT4, 27 | DECAL_GUNSHOT5, 28 | DECAL_LAMBDA1, 29 | DECAL_LAMBDA2, 30 | DECAL_LAMBDA3, 31 | DECAL_LAMBDA4, 32 | DECAL_LAMBDA5, 33 | DECAL_LAMBDA6, 34 | DECAL_SCORCH1, 35 | DECAL_SCORCH2, 36 | DECAL_BLOOD1, 37 | DECAL_BLOOD2, 38 | DECAL_BLOOD3, 39 | DECAL_BLOOD4, 40 | DECAL_BLOOD5, 41 | DECAL_BLOOD6, 42 | DECAL_YBLOOD1, 43 | DECAL_YBLOOD2, 44 | DECAL_YBLOOD3, 45 | DECAL_YBLOOD4, 46 | DECAL_YBLOOD5, 47 | DECAL_YBLOOD6, 48 | DECAL_GLASSBREAK1, 49 | DECAL_GLASSBREAK2, 50 | DECAL_GLASSBREAK3, 51 | DECAL_BIGSHOT1, 52 | DECAL_BIGSHOT2, 53 | DECAL_BIGSHOT3, 54 | DECAL_BIGSHOT4, 55 | DECAL_BIGSHOT5, 56 | DECAL_SPIT1, 57 | DECAL_SPIT2, 58 | DECAL_BPROOF1, // Bulletproof glass decal 59 | DECAL_GARGSTOMP1, // Gargantua stomp crack 60 | DECAL_SMALLSCORCH1, // Small scorch mark 61 | DECAL_SMALLSCORCH2, // Small scorch mark 62 | DECAL_SMALLSCORCH3, // Small scorch mark 63 | DECAL_MOMMABIRTH, // Big momma birth splatter 64 | DECAL_MOMMASPLAT, 65 | }; 66 | 67 | typedef struct 68 | { 69 | char *name; 70 | int index; 71 | } DLL_DECALLIST; 72 | 73 | extern DLL_DECALLIST gDecals[]; 74 | 75 | #endif // DECALS_H 76 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/doors.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef DOORS_H 16 | #define DOORS_H 17 | 18 | // doors 19 | #define SF_DOOR_ROTATE_Y 0 20 | #define SF_DOOR_START_OPEN 1 21 | #define SF_DOOR_ROTATE_BACKWARDS 2 22 | #define SF_DOOR_PASSABLE 8 23 | #define SF_DOOR_ONEWAY 16 24 | #define SF_DOOR_NO_AUTO_RETURN 32 25 | #define SF_DOOR_ROTATE_Z 64 26 | #define SF_DOOR_ROTATE_X 128 27 | #define SF_DOOR_USE_ONLY 256 // door must be opened by player's use button. 28 | #define SF_DOOR_NOMONSTERS 512 // Monster can't open 29 | #define SF_DOOR_SILENT 0x80000000 30 | 31 | 32 | 33 | #endif //DOORS_H 34 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/explode.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef EXPLODE_H 16 | #define EXPLODE_H 17 | 18 | 19 | #define SF_ENVEXPLOSION_NODAMAGE ( 1 << 0 ) // when set, ENV_EXPLOSION will not actually inflict damage 20 | #define SF_ENVEXPLOSION_REPEATABLE ( 1 << 1 ) // can this entity be refired? 21 | #define SF_ENVEXPLOSION_NOFIREBALL ( 1 << 2 ) // don't draw the fireball 22 | #define SF_ENVEXPLOSION_NOSMOKE ( 1 << 3 ) // don't draw the smoke 23 | #define SF_ENVEXPLOSION_NODECAL ( 1 << 4 ) // don't make a scorch mark 24 | #define SF_ENVEXPLOSION_NOSPARKS ( 1 << 5 ) // don't make a scorch mark 25 | 26 | extern DLL_GLOBAL short g_sModelIndexFireball; 27 | extern DLL_GLOBAL short g_sModelIndexSmoke; 28 | 29 | 30 | extern void ExplosionCreate( const Vector ¢er, const Vector &angles, edict_t *pOwner, int magnitude, BOOL doDamage ); 31 | 32 | #endif //EXPLODE_H 33 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/flyingmonster.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * This source code contains proprietary and confidential information of 10 | * Valve LLC and its suppliers. Access to this code is restricted to 11 | * persons who have executed a written SDK license with Valve. Any access, 12 | * use or distribution of this code by or to any unlicensed person is illegal. 13 | * 14 | ****/ 15 | // Base class for flying monsters. This overrides the movement test & execution code from CBaseMonster 16 | 17 | #ifndef FLYINGMONSTER_H 18 | #define FLYINGMONSTER_H 19 | 20 | class CFlyingMonster : public CBaseMonster 21 | { 22 | public: 23 | int CheckLocalMove ( const Vector &vecStart, const Vector &vecEnd, CBaseEntity *pTarget, float *pflDist );// check validity of a straight move through space 24 | BOOL FTriangulate ( const Vector &vecStart , const Vector &vecEnd, float flDist, CBaseEntity *pTargetEnt, Vector *pApex ); 25 | Activity GetStoppedActivity( void ); 26 | void Killed( entvars_t *pevAttacker, int iGib ); 27 | void Stop( void ); 28 | float ChangeYaw( int yawSpeed ); 29 | void HandleAnimEvent( MonsterEvent_t *pEvent ); 30 | void MoveExecute( CBaseEntity *pTargetEnt, const Vector &vecDir, float flInterval ); 31 | void Move( float flInterval = 0.1 ); 32 | BOOL ShouldAdvanceRoute( float flWaypointDist ); 33 | 34 | inline void SetFlyingMomentum( float momentum ) { m_momentum = momentum; } 35 | inline void SetFlyingFlapSound( const char *pFlapSound ) { m_pFlapSound = pFlapSound; } 36 | inline void SetFlyingSpeed( float speed ) { m_flightSpeed = speed; } 37 | float CeilingZ( const Vector &position ); 38 | float FloorZ( const Vector &position ); 39 | BOOL ProbeZ( const Vector &position, const Vector &probe, float *pFraction ); 40 | 41 | 42 | // UNDONE: Save/restore this stuff!!! 43 | protected: 44 | Vector m_vecTravel; // Current direction 45 | float m_flightSpeed; // Current flight speed (decays when not flapping or gliding) 46 | float m_stopTime; // Last time we stopped (to avoid switching states too soon) 47 | float m_momentum; // Weight for desired vs. momentum velocity 48 | const char *m_pFlapSound; 49 | float m_flLastZYawTime; // Last frame time Z was changed when yaw was changed 50 | }; 51 | 52 | 53 | #endif //FLYINGMONSTER_H 54 | 55 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/game.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #ifndef GAME_H 17 | #define GAME_H 18 | 19 | extern void GameDLLInit( void ); 20 | 21 | 22 | extern cvar_t displaysoundlist; 23 | 24 | // multiplayer server rules 25 | extern cvar_t teamplay; 26 | extern cvar_t fraglimit; 27 | extern cvar_t timelimit; 28 | extern cvar_t friendlyfire; 29 | extern cvar_t falldamage; 30 | extern cvar_t weaponstay; 31 | extern cvar_t forcerespawn; 32 | extern cvar_t flashlight; 33 | extern cvar_t aimcrosshair; 34 | extern cvar_t decalfrequency; 35 | extern cvar_t teamlist; 36 | extern cvar_t teamoverride; 37 | extern cvar_t defaultteam; 38 | extern cvar_t allowmonsters; 39 | 40 | // Engine Cvars 41 | extern cvar_t *g_psv_gravity; 42 | extern cvar_t *g_psv_aim; 43 | extern cvar_t *g_psv_allow_autoaim; 44 | extern cvar_t *g_footsteps; 45 | 46 | #endif // GAME_H 47 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/hornet.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | //========================================================= 16 | // Hornets 17 | //========================================================= 18 | 19 | //========================================================= 20 | // Hornet Defines 21 | //========================================================= 22 | #define HORNET_TYPE_RED 0 23 | #define HORNET_TYPE_ORANGE 1 24 | #define HORNET_RED_SPEED (float)600 25 | #define HORNET_ORANGE_SPEED (float)800 26 | #define HORNET_BUZZ_VOLUME (float)0.8 27 | 28 | extern int iHornetPuff; 29 | 30 | //========================================================= 31 | // Hornet - this is the projectile that the Alien Grunt fires. 32 | //========================================================= 33 | class CHornet : public CBaseMonster 34 | { 35 | public: 36 | void Spawn( void ); 37 | void Precache( void ); 38 | int Classify ( void ); 39 | int IRelationship ( CBaseEntity *pTarget ); 40 | virtual int Save( CSave &save ); 41 | virtual int Restore( CRestore &restore ); 42 | static TYPEDESCRIPTION m_SaveData[]; 43 | 44 | void IgniteTrail( void ); 45 | void EXPORT StartTrack ( void ); 46 | void EXPORT StartDart ( void ); 47 | void EXPORT TrackTarget ( void ); 48 | void EXPORT TrackTouch ( CBaseEntity *pOther ); 49 | void EXPORT DartTouch( CBaseEntity *pOther ); 50 | void EXPORT DieTouch ( CBaseEntity *pOther ); 51 | 52 | int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType ); 53 | 54 | float m_flStopAttack; 55 | int m_iHornetType; 56 | float m_flFlySpeed; 57 | }; 58 | 59 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/items.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef ITEMS_H 16 | #define ITEMS_H 17 | 18 | 19 | class CItem : public CBaseEntity 20 | { 21 | public: 22 | void Spawn( void ); 23 | CBaseEntity* Respawn( void ); 24 | void EXPORT ItemTouch( CBaseEntity *pOther ); 25 | void EXPORT Materialize( void ); 26 | virtual BOOL MyTouch( CBasePlayer *pPlayer ) { return FALSE; }; 27 | }; 28 | 29 | #endif // ITEMS_H 30 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/maprules.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #ifndef MAPRULES_H 17 | #define MAPRULES_H 18 | 19 | 20 | 21 | #endif // MAPRULES_H 22 | 23 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/monsterevent.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef MONSTEREVENT_H 16 | #define MONSTEREVENT_H 17 | 18 | typedef struct 19 | { 20 | int event; 21 | char *options; 22 | } MonsterEvent_t; 23 | 24 | #define EVENT_SPECIFIC 0 25 | #define EVENT_SCRIPTED 1000 26 | #define EVENT_SHARED 2000 27 | #define EVENT_CLIENT 5000 28 | 29 | #define MONSTER_EVENT_BODYDROP_LIGHT 2001 30 | #define MONSTER_EVENT_BODYDROP_HEAVY 2002 31 | 32 | #define MONSTER_EVENT_SWISHSOUND 2010 33 | 34 | #endif // MONSTEREVENT_H 35 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/plane.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef PLANE_H 16 | #define PLANE_H 17 | 18 | //========================================================= 19 | // Plane 20 | //========================================================= 21 | class CPlane 22 | { 23 | public: 24 | CPlane ( void ); 25 | 26 | //========================================================= 27 | // InitializePlane - Takes a normal for the plane and a 28 | // point on the plane and 29 | //========================================================= 30 | void InitializePlane ( const Vector &vecNormal, const Vector &vecPoint ); 31 | 32 | //========================================================= 33 | // PointInFront - determines whether the given vector is 34 | // in front of the plane. 35 | //========================================================= 36 | BOOL PointInFront ( const Vector &vecPoint ); 37 | 38 | Vector m_vecNormal; 39 | float m_flDist; 40 | BOOL m_fInitialized; 41 | }; 42 | 43 | #endif // PLANE_H 44 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/scriptevent.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef SCRIPTEVENT_H 16 | #define SCRIPTEVENT_H 17 | 18 | #define SCRIPT_EVENT_DEAD 1000 // character is now dead 19 | #define SCRIPT_EVENT_NOINTERRUPT 1001 // does not allow interrupt 20 | #define SCRIPT_EVENT_CANINTERRUPT 1002 // will allow interrupt 21 | #define SCRIPT_EVENT_FIREEVENT 1003 // event now fires 22 | #define SCRIPT_EVENT_SOUND 1004 // Play named wave file (on CHAN_BODY) 23 | #define SCRIPT_EVENT_SENTENCE 1005 // Play named sentence 24 | #define SCRIPT_EVENT_INAIR 1006 // Leave the character in air at the end of the sequence (don't find the floor) 25 | #define SCRIPT_EVENT_ENDANIMATION 1007 // Set the animation by name after the sequence completes 26 | #define SCRIPT_EVENT_SOUND_VOICE 1008 // Play named wave file (on CHAN_VOICE) 27 | #define SCRIPT_EVENT_SENTENCE_RND1 1009 // Play sentence group 25% of the time 28 | #define SCRIPT_EVENT_NOT_DEAD 1010 // Bring back to life (for life/death sequences) 29 | #endif //SCRIPTEVENT_H 30 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/spectator.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // Spectator.h 16 | 17 | class CBaseSpectator : public CBaseEntity 18 | { 19 | public: 20 | void Spawn(); 21 | void SpectatorConnect(void); 22 | void SpectatorDisconnect(void); 23 | void SpectatorThink(void); 24 | 25 | private: 26 | void SpectatorImpulseCommand(void); 27 | }; 28 | -------------------------------------------------------------------------------- /hlsdk-25th/dlls/squad.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/dlls/squad.h -------------------------------------------------------------------------------- /hlsdk-25th/dlls/teamplay_gamerules.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2001, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // 16 | // teamplay_gamerules.h 17 | // 18 | 19 | #define MAX_TEAMNAME_LENGTH 16 20 | #define MAX_TEAMS 32 21 | 22 | #define TEAMPLAY_TEAMLISTLENGTH MAX_TEAMS*MAX_TEAMNAME_LENGTH 23 | 24 | class CHalfLifeTeamplay : public CHalfLifeMultiplay 25 | { 26 | public: 27 | CHalfLifeTeamplay(); 28 | 29 | virtual BOOL ClientCommand( CBasePlayer *pPlayer, const char *pcmd ); 30 | virtual void ClientUserInfoChanged( CBasePlayer *pPlayer, char *infobuffer ); 31 | virtual BOOL IsTeamplay( void ); 32 | virtual BOOL FPlayerCanTakeDamage( CBasePlayer *pPlayer, CBaseEntity *pAttacker ); 33 | virtual int PlayerRelationship( CBaseEntity *pPlayer, CBaseEntity *pTarget ); 34 | virtual const char *GetTeamID( CBaseEntity *pEntity ); 35 | virtual BOOL ShouldAutoAim( CBasePlayer *pPlayer, edict_t *target ); 36 | virtual int IPointsForKill( CBasePlayer *pAttacker, CBasePlayer *pKilled ); 37 | virtual void InitHUD( CBasePlayer *pl ); 38 | virtual void DeathNotice( CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor ); 39 | virtual const char *GetGameDescription( void ) { return "HL Teamplay"; } // this is the game name that gets seen in the server browser 40 | virtual void UpdateGameMode( CBasePlayer *pPlayer ); // the client needs to be informed of the current game mode 41 | virtual void PlayerKilled( CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor ); 42 | virtual void Think ( void ); 43 | virtual int GetTeamIndex( const char *pTeamName ); 44 | virtual const char *GetIndexedTeamName( int teamIndex ); 45 | virtual BOOL IsValidTeam( const char *pTeamName ); 46 | const char *SetDefaultPlayerTeam( CBasePlayer *pPlayer ); 47 | virtual void ChangePlayerTeam( CBasePlayer *pPlayer, const char *pTeamName, BOOL bKill, BOOL bGib ); 48 | 49 | private: 50 | void RecountTeams( bool bResendInfo = FALSE ); 51 | const char *TeamWithFewestPlayers( void ); 52 | 53 | BOOL m_DisableDeathMessages; 54 | BOOL m_DisableDeathPenalty; 55 | BOOL m_teamLimit; // This means the server set only some teams as valid 56 | char m_szTeamList[TEAMPLAY_TEAMLISTLENGTH]; 57 | }; 58 | -------------------------------------------------------------------------------- /hlsdk-25th/engine/customentity.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef CUSTOMENTITY_H 16 | #define CUSTOMENTITY_H 17 | 18 | // Custom Entities 19 | 20 | // Start/End Entity is encoded as 12 bits of entity index, and 4 bits of attachment (4:12) 21 | #define BEAMENT_ENTITY(x) ((x)&0xFFF) 22 | #define BEAMENT_ATTACHMENT(x) (((x)>>12)&0xF) 23 | 24 | // Beam types, encoded as a byte 25 | enum 26 | { 27 | BEAM_POINTS = 0, 28 | BEAM_ENTPOINT, 29 | BEAM_ENTS, 30 | BEAM_HOSE, 31 | }; 32 | 33 | #define BEAM_FSINE 0x10 34 | #define BEAM_FSOLID 0x20 35 | #define BEAM_FSHADEIN 0x40 36 | #define BEAM_FSHADEOUT 0x80 37 | 38 | #endif //CUSTOMENTITY_H 39 | -------------------------------------------------------------------------------- /hlsdk-25th/engine/edict.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/engine/edict.h -------------------------------------------------------------------------------- /hlsdk-25th/engine/progs.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef PROGS_H 16 | #define PROGS_H 17 | 18 | #include "progdefs.h" 19 | 20 | // 16 simultaneous events, max 21 | #define MAX_EVENT_QUEUE 64 22 | 23 | #define DEFAULT_EVENT_RESENDS 1 24 | 25 | #include "event_flags.h" 26 | 27 | typedef struct event_info_s event_info_t; 28 | 29 | #include "event_args.h" 30 | 31 | struct event_info_s 32 | { 33 | unsigned short index; // 0 implies not in use 34 | 35 | short packet_index; // Use data from state info for entity in delta_packet . -1 implies separate info based on event 36 | // parameter signature 37 | short entity_index; // The edict this event is associated with 38 | 39 | float fire_time; // if non-zero, the time when the event should be fired ( fixed up on the client ) 40 | 41 | event_args_t args; 42 | 43 | // CLIENT ONLY 44 | int flags; // Reliable or not, etc. 45 | 46 | }; 47 | 48 | typedef struct event_state_s event_state_t; 49 | 50 | struct event_state_s 51 | { 52 | struct event_info_s ei[ MAX_EVENT_QUEUE ]; 53 | }; 54 | 55 | #if !defined( ENTITY_STATEH ) 56 | #include "entity_state.h" 57 | #endif 58 | 59 | #if !defined( EDICT_H ) 60 | #include "edict.h" 61 | #endif 62 | 63 | #define STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (int)&(((t *)0)->m))) 64 | #define EDICT_FROM_AREA(l) STRUCT_FROM_LINK(l,edict_t,area) 65 | 66 | //============================================================================ 67 | 68 | extern char *pr_strings; 69 | extern globalvars_t gGlobalVariables; 70 | 71 | //============================================================================ 72 | 73 | edict_t *ED_Alloc (void); 74 | void ED_Free (edict_t *ed); 75 | void ED_LoadFromFile (char *data); 76 | 77 | edict_t *EDICT_NUM(int n); 78 | int NUM_FOR_EDICT(const edict_t *e); 79 | 80 | #define PROG_TO_EDICT(e) ((edict_t *)((byte *)sv.edicts + e)) 81 | 82 | #endif // PROGS_H 83 | -------------------------------------------------------------------------------- /hlsdk-25th/engine/shake.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef SHAKE_H 16 | #define SHAKE_H 17 | 18 | // Screen / View effects 19 | 20 | // screen shake 21 | extern int gmsgShake; 22 | 23 | // This structure is sent over the net to describe a screen shake event 24 | typedef struct 25 | { 26 | unsigned short amplitude; // FIXED 4.12 amount of shake 27 | unsigned short duration; // FIXED 4.12 seconds duration 28 | unsigned short frequency; // FIXED 8.8 noise frequency (low frequency is a jerk,high frequency is a rumble) 29 | } ScreenShake; 30 | 31 | extern void V_ApplyShake( float *origin, float *angles, float factor ); 32 | extern void V_CalcShake( void ); 33 | extern int V_ScreenShake( const char *pszName, int iSize, void *pbuf ); 34 | extern int V_ScreenFade( const char *pszName, int iSize, void *pbuf ); 35 | 36 | // Fade in/out 37 | extern int gmsgFade; 38 | 39 | #define FFADE_IN 0x0000 // Just here so we don't pass 0 into the function 40 | #define FFADE_OUT 0x0001 // Fade out (not in) 41 | #define FFADE_MODULATE 0x0002 // Modulate (don't blend) 42 | #define FFADE_STAYOUT 0x0004 // ignores the duration, stays faded out until new ScreenFade message received 43 | #define FFADE_LONGFADE 0x0008 // used to indicate the fade can be longer than 16 seconds (added for czero) 44 | 45 | 46 | // This structure is sent over the net to describe a screen fade event 47 | typedef struct 48 | { 49 | unsigned short duration; // FIXED 4.12 seconds duration 50 | unsigned short holdTime; // FIXED 4.12 seconds duration until reset (fade & hold) 51 | short fadeFlags; // flags 52 | byte r, g, b, a; // fade to color ( max alpha ) 53 | } ScreenFade; 54 | 55 | #endif // SHAKE_H 56 | 57 | -------------------------------------------------------------------------------- /hlsdk-25th/pm_shared/pm_debug.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef PM_DEBUG_H 16 | #define PM_DEBUG_H 17 | #pragma once 18 | 19 | void PM_ViewEntity( void ); 20 | void PM_DrawBBox(vec3_t mins, vec3_t maxs, vec3_t origin, int pcolor, float life); 21 | void PM_ParticleLine(vec3_t start, vec3_t end, int pcolor, float life, float vert); 22 | void PM_ShowClipBox( void ); 23 | 24 | #endif // PMOVEDBG_H 25 | -------------------------------------------------------------------------------- /hlsdk-25th/pm_shared/pm_info.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // Physics info string definition 16 | #if !defined( PM_INFOH ) 17 | #define PM_INFOH 18 | #ifdef _WIN32 19 | #pragma once 20 | #endif 21 | 22 | #define MAX_PHYSINFO_STRING 256 23 | 24 | #endif // PM_INFOH 25 | -------------------------------------------------------------------------------- /hlsdk-25th/pm_shared/pm_materials.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( PM_MATERIALSH ) 16 | #define PM_MATERIALSH 17 | #pragma once 18 | 19 | #define CBTEXTURENAMEMAX 13 // only load first n chars of name 20 | 21 | #define CHAR_TEX_CONCRETE 'C' // texture types 22 | #define CHAR_TEX_METAL 'M' 23 | #define CHAR_TEX_DIRT 'D' 24 | #define CHAR_TEX_VENT 'V' 25 | #define CHAR_TEX_GRATE 'G' 26 | #define CHAR_TEX_TILE 'T' 27 | #define CHAR_TEX_SLOSH 'S' 28 | #define CHAR_TEX_WOOD 'W' 29 | #define CHAR_TEX_COMPUTER 'P' 30 | #define CHAR_TEX_GLASS 'Y' 31 | #define CHAR_TEX_FLESH 'F' 32 | #define CHAR_TEX_SNOW 'N' 33 | 34 | #endif // !PM_MATERIALSH 35 | -------------------------------------------------------------------------------- /hlsdk-25th/pm_shared/pm_movevars.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk-25th/pm_shared/pm_movevars.h -------------------------------------------------------------------------------- /hlsdk-25th/pm_shared/pm_shared.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | // 17 | // pm_shared.h 18 | // 19 | #if !defined( PM_SHAREDH ) 20 | #define PM_SHAREDH 21 | #pragma once 22 | 23 | void PM_Init( struct playermove_s *ppmove ); 24 | void PM_Move ( struct playermove_s *ppmove, int server ); 25 | char PM_FindTextureType( char *name ); 26 | 27 | // Spectator Movement modes (stored in pev->iuser1, so the physics code can get at them) 28 | #define OBS_NONE 0 29 | #define OBS_CHASE_LOCKED 1 30 | #define OBS_CHASE_FREE 2 31 | #define OBS_ROAMING 3 32 | #define OBS_IN_EYE 4 33 | #define OBS_MAP_FREE 5 34 | #define OBS_MAP_CHASE 6 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /hlsdk/common/beamdef.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( BEAMDEFH ) 16 | #define BEAMDEFH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | #define FBEAM_STARTENTITY 0x00000001 24 | #define FBEAM_ENDENTITY 0x00000002 25 | #define FBEAM_FADEIN 0x00000004 26 | #define FBEAM_FADEOUT 0x00000008 27 | #define FBEAM_SINENOISE 0x00000010 28 | #define FBEAM_SOLID 0x00000020 29 | #define FBEAM_SHADEIN 0x00000040 30 | #define FBEAM_SHADEOUT 0x00000080 31 | #define FBEAM_STARTVISIBLE 0x10000000 // Has this client actually seen this beam's start entity yet? 32 | #define FBEAM_ENDVISIBLE 0x20000000 // Has this client actually seen this beam's end entity yet? 33 | #define FBEAM_ISACTIVE 0x40000000 34 | #define FBEAM_FOREVER 0x80000000 35 | 36 | typedef struct beam_s BEAM; 37 | struct beam_s 38 | { 39 | BEAM *next; 40 | int type; 41 | int flags; 42 | vec3_t source; 43 | vec3_t target; 44 | vec3_t delta; 45 | float t; // 0 .. 1 over lifetime of beam 46 | float freq; 47 | float die; 48 | float width; 49 | float amplitude; 50 | float r, g, b; 51 | float brightness; 52 | float speed; 53 | float frameRate; 54 | float frame; 55 | int segments; 56 | int startEntity; 57 | int endEntity; 58 | int modelIndex; 59 | int frameCount; 60 | struct model_s *pFollowModel; 61 | struct particle_s *particles; 62 | }; 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /hlsdk/common/com_model.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/com_model.h -------------------------------------------------------------------------------- /hlsdk/common/con_nprint.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( CON_NPRINTH ) 16 | #define CON_NPRINTH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef struct con_nprint_s 24 | { 25 | int index; // Row # 26 | float time_to_live; // # of seconds before it dissappears 27 | float color[ 3 ]; // RGB colors ( 0.0 -> 1.0 scale ) 28 | } con_nprint_t; 29 | 30 | void Con_NPrintf( int idx, char *fmt, ... ); 31 | void Con_NXPrintf( struct con_nprint_s *info, char *fmt, ... ); 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /hlsdk/common/crc.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | /* crc.h */ 16 | #ifndef CRC_H 17 | #define CRC_H 18 | #ifdef _WIN32 19 | #ifndef __MINGW32__ 20 | #pragma once 21 | #endif /* not __MINGW32__ */ 22 | #endif 23 | 24 | // MD5 Hash 25 | typedef struct 26 | { 27 | unsigned int buf[4]; 28 | unsigned int bits[2]; 29 | unsigned char in[64]; 30 | } MD5Context_t; 31 | 32 | 33 | typedef unsigned long CRC32_t; 34 | void CRC32_Init(CRC32_t *pulCRC); 35 | CRC32_t CRC32_Final(CRC32_t pulCRC); 36 | void CRC32_ProcessBuffer(CRC32_t *pulCRC, void *p, int len); 37 | void CRC32_ProcessByte(CRC32_t *pulCRC, unsigned char ch); 38 | int CRC_File(CRC32_t *crcvalue, char *pszFileName); 39 | 40 | unsigned char COM_BlockSequenceCRCByte (unsigned char *base, int length, int sequence); 41 | 42 | void MD5Init(MD5Context_t *context); 43 | void MD5Update(MD5Context_t *context, unsigned char const *buf, 44 | unsigned int len); 45 | void MD5Final(unsigned char digest[16], MD5Context_t *context); 46 | void Transform(unsigned int buf[4], unsigned int const in[16]); 47 | 48 | int MD5_Hash_File(unsigned char digest[16], char *pszFileName, int bUsefopen, int bSeed, unsigned int seed[4]); 49 | char *MD5_Print(unsigned char hash[16]); 50 | int MD5_Hash_CachedFile(unsigned char digest[16], unsigned char *pCache, int nFileSize, int bSeed, unsigned int seed[4]); 51 | 52 | int CRC_MapFile(CRC32_t *crcvalue, char *pszFileName); 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /hlsdk/common/cvardef.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef CVARDEF_H 16 | #define CVARDEF_H 17 | 18 | #define FCVAR_ARCHIVE (1<<0) // set to cause it to be saved to vars.rc 19 | #define FCVAR_USERINFO (1<<1) // changes the client's info string 20 | #define FCVAR_SERVER (1<<2) // notifies players when changed 21 | #define FCVAR_EXTDLL (1<<3) // defined by external DLL 22 | #define FCVAR_CLIENTDLL (1<<4) // defined by the client dll 23 | #define FCVAR_PROTECTED (1<<5) // It's a server cvar, but we don't send the data since it's a password, etc. Sends 1 if it's not bland/zero, 0 otherwise as value 24 | #define FCVAR_SPONLY (1<<6) // This cvar cannot be changed by clients connected to a multiplayer server. 25 | #define FCVAR_PRINTABLEONLY (1<<7) // This cvar's string cannot contain unprintable characters ( e.g., used for player name etc ). 26 | #define FCVAR_UNLOGGED (1<<8) // If this is a FCVAR_SERVER, don't log changes to the log file / console if we are creating a log 27 | 28 | typedef struct cvar_s 29 | { 30 | const char *name; 31 | const char *string; 32 | int flags; 33 | float value; 34 | struct cvar_s *next; 35 | } cvar_t; 36 | #endif 37 | -------------------------------------------------------------------------------- /hlsdk/common/demo_api.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( DEMO_APIH ) 16 | #define DEMO_APIH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef struct demo_api_s 24 | { 25 | int ( *IsRecording ) ( void ); 26 | int ( *IsPlayingback ) ( void ); 27 | int ( *IsTimeDemo ) ( void ); 28 | void ( *WriteBuffer ) ( int size, unsigned char *buffer ); 29 | } demo_api_t; 30 | 31 | extern demo_api_t demoapi; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /hlsdk/common/director_cmds.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/director_cmds.h -------------------------------------------------------------------------------- /hlsdk/common/dlight.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( DLIGHTH ) 16 | #define DLIGHTH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef struct dlight_s 24 | { 25 | vec3_t origin; 26 | float radius; 27 | color24 color; 28 | float die; // stop lighting after this time 29 | float decay; // drop this each second 30 | float minlight; // don't add when contributing less 31 | int key; 32 | qboolean dark; // subtracts light instead of adding 33 | } dlight_t; 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /hlsdk/common/dll_state.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/dll_state.h -------------------------------------------------------------------------------- /hlsdk/common/engine_launcher_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/engine_launcher_api.h -------------------------------------------------------------------------------- /hlsdk/common/entity_types.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // entity_types.h 16 | #if !defined( ENTITY_TYPESH ) 17 | #define ENTITY_TYPESH 18 | 19 | #define ET_NORMAL 0 20 | #define ET_PLAYER 1 21 | #define ET_TEMPENTITY 2 22 | #define ET_BEAM 3 23 | // BMODEL or SPRITE that was split across BSP nodes 24 | #define ET_FRAGMENTED 4 25 | 26 | #endif // !ENTITY_TYPESH 27 | -------------------------------------------------------------------------------- /hlsdk/common/event_api.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( EVENT_APIH ) 16 | #define EVENT_APIH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | #define EVENT_API_VERSION 1 24 | 25 | typedef struct event_api_s 26 | { 27 | int version; 28 | void ( *EV_PlaySound ) ( int ent, float *origin, int channel, const char *sample, float volume, float attenuation, int fFlags, int pitch ); 29 | void ( *EV_StopSound ) ( int ent, int channel, const char *sample ); 30 | int ( *EV_FindModelIndex )( const char *pmodel ); 31 | int ( *EV_IsLocal ) ( int playernum ); 32 | int ( *EV_LocalPlayerDucking ) ( void ); 33 | void ( *EV_LocalPlayerViewheight ) ( float * ); 34 | void ( *EV_LocalPlayerBounds ) ( int hull, float *mins, float *maxs ); 35 | int ( *EV_IndexFromTrace) ( struct pmtrace_s *pTrace ); 36 | struct physent_s *( *EV_GetPhysent ) ( int idx ); 37 | void ( *EV_SetUpPlayerPrediction ) ( int dopred, int bIncludeLocalClient ); 38 | void ( *EV_PushPMStates ) ( void ); 39 | void ( *EV_PopPMStates ) ( void ); 40 | void ( *EV_SetSolidPlayers ) (int playernum); 41 | void ( *EV_SetTraceHull ) ( int hull ); 42 | void ( *EV_PlayerTrace ) ( float *start, float *end, int traceFlags, int ignore_pe, struct pmtrace_s *tr ); 43 | void ( *EV_WeaponAnimation ) ( int sequence, int body ); 44 | unsigned short ( *EV_PrecacheEvent ) ( int type, const char* psz ); 45 | void ( *EV_PlaybackEvent ) ( int flags, const struct edict_s *pInvoker, unsigned short eventindex, float delay, float *origin, float *angles, float fparam1, float fparam2, int iparam1, int iparam2, int bparam1, int bparam2 ); 46 | const char *( *EV_TraceTexture ) ( int ground, float *vstart, float *vend ); 47 | void ( *EV_StopAllSounds ) ( int entnum, int entchannel ); 48 | void ( *EV_KillEvents ) ( int entnum, const char *eventname ); 49 | } event_api_t; 50 | 51 | extern event_api_t eventapi; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /hlsdk/common/event_args.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( EVENT_ARGSH ) 16 | #define EVENT_ARGSH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | // Event was invoked with stated origin 24 | #define FEVENT_ORIGIN ( 1<<0 ) 25 | 26 | // Event was invoked with stated angles 27 | #define FEVENT_ANGLES ( 1<<1 ) 28 | 29 | typedef struct event_args_s 30 | { 31 | int flags; 32 | 33 | // Transmitted 34 | int entindex; 35 | 36 | float origin[3]; 37 | float angles[3]; 38 | float velocity[3]; 39 | 40 | int ducking; 41 | 42 | float fparam1; 43 | float fparam2; 44 | 45 | int iparam1; 46 | int iparam2; 47 | 48 | int bparam1; 49 | int bparam2; 50 | } event_args_t; 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /hlsdk/common/event_flags.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( EVENT_FLAGSH ) 16 | #define EVENT_FLAGSH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | // Skip local host for event send. 24 | #define FEV_NOTHOST (1<<0) 25 | 26 | // Send the event reliably. You must specify the origin and angles and use 27 | // PLAYBACK_EVENT_FULL for this to work correctly on the server for anything 28 | // that depends on the event origin/angles. I.e., the origin/angles are not 29 | // taken from the invoking edict for reliable events. 30 | #define FEV_RELIABLE (1<<1) 31 | 32 | // Don't restrict to PAS/PVS, send this event to _everybody_ on the server ( useful for stopping CHAN_STATIC 33 | // sounds started by client event when client is not in PVS anymore ( hwguy in TFC e.g. ). 34 | #define FEV_GLOBAL (1<<2) 35 | 36 | // If this client already has one of these events in its queue, just update the event instead of sending it as a duplicate 37 | // 38 | #define FEV_UPDATE (1<<3) 39 | 40 | // Only send to entity specified as the invoker 41 | #define FEV_HOSTONLY (1<<4) 42 | 43 | // Only send if the event was created on the server. 44 | #define FEV_SERVER (1<<5) 45 | 46 | // Only issue event client side ( from shared code ) 47 | #define FEV_CLIENT (1<<6) 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /hlsdk/common/exefuncs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/exefuncs.h -------------------------------------------------------------------------------- /hlsdk/common/hltv.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/hltv.h -------------------------------------------------------------------------------- /hlsdk/common/in_buttons.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef IN_BUTTONS_H 16 | #define IN_BUTTONS_H 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | #define IN_ATTACK (1 << 0) 24 | #define IN_JUMP (1 << 1) 25 | #define IN_DUCK (1 << 2) 26 | #define IN_FORWARD (1 << 3) 27 | #define IN_BACK (1 << 4) 28 | #define IN_USE (1 << 5) 29 | #define IN_CANCEL (1 << 6) 30 | #define IN_LEFT (1 << 7) 31 | #define IN_RIGHT (1 << 8) 32 | #define IN_MOVELEFT (1 << 9) 33 | #define IN_MOVERIGHT (1 << 10) 34 | #define IN_ATTACK2 (1 << 11) 35 | #define IN_RUN (1 << 12) 36 | #define IN_RELOAD (1 << 13) 37 | #define IN_ALT1 (1 << 14) 38 | #define IN_SCORE (1 << 15) // Used by client.dll for when scoreboard is held down 39 | 40 | #endif // IN_BUTTONS_H 41 | -------------------------------------------------------------------------------- /hlsdk/common/interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/interface.h -------------------------------------------------------------------------------- /hlsdk/common/ivoicetweak.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/ivoicetweak.h -------------------------------------------------------------------------------- /hlsdk/common/net_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/net_api.h -------------------------------------------------------------------------------- /hlsdk/common/netadr.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // netadr.h 16 | #ifndef NETADR_H 17 | #define NETADR_H 18 | #ifdef _WIN32 19 | #ifndef __MINGW32__ 20 | #pragma once 21 | #endif /* not __MINGW32__ */ 22 | #endif 23 | 24 | typedef enum 25 | { 26 | NA_UNUSED, 27 | NA_LOOPBACK, 28 | NA_BROADCAST, 29 | NA_IP, 30 | NA_IPX, 31 | NA_BROADCAST_IPX, 32 | } netadrtype_t; 33 | 34 | typedef struct netadr_s 35 | { 36 | netadrtype_t type; 37 | unsigned char ip[4]; 38 | unsigned char ipx[10]; 39 | unsigned short port; 40 | } netadr_t; 41 | 42 | #endif // NETADR_H 43 | -------------------------------------------------------------------------------- /hlsdk/common/nowin.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/nowin.h -------------------------------------------------------------------------------- /hlsdk/common/particledef.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( PARTICLEDEFH ) 16 | #define PARTICLEDEFH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef enum { 24 | pt_static, 25 | pt_grav, 26 | pt_slowgrav, 27 | pt_fire, 28 | pt_explode, 29 | pt_explode2, 30 | pt_blob, 31 | pt_blob2, 32 | pt_vox_slowgrav, 33 | pt_vox_grav, 34 | pt_clientcustom // Must have callback function specified 35 | } ptype_t; 36 | 37 | // !!! if this is changed, it must be changed in d_ifacea.h too !!! 38 | typedef struct particle_s 39 | { 40 | // driver-usable fields 41 | vec3_t org; 42 | short color; 43 | short packedColor; 44 | // drivers never touch the following fields 45 | struct particle_s *next; 46 | vec3_t vel; 47 | float ramp; 48 | float die; 49 | ptype_t type; 50 | void (*deathfunc)( struct particle_s *particle ); 51 | 52 | // for pt_clientcusttom, we'll call this function each frame 53 | void (*callback)( struct particle_s *particle, float frametime ); 54 | 55 | // For deathfunc, etc. 56 | unsigned char context; 57 | } particle_t; 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /hlsdk/common/pmtrace.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( PMTRACEH ) 16 | #define PMTRACEH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef struct 24 | { 25 | vec3_t normal; 26 | float dist; 27 | } pmplane_t; 28 | 29 | typedef struct pmtrace_s pmtrace_t; 30 | 31 | struct pmtrace_s 32 | { 33 | qboolean allsolid; // if true, plane is not valid 34 | qboolean startsolid; // if true, the initial point was in a solid area 35 | qboolean inopen, inwater; // End point is in empty space or in water 36 | float fraction; // time completed, 1.0 = didn't hit anything 37 | vec3_t endpos; // final position 38 | pmplane_t plane; // surface normal at impact 39 | int ent; // entity at impact 40 | vec3_t deltavelocity; // Change in player's velocity caused by impact. 41 | // Only run on server. 42 | int hitgroup; 43 | }; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /hlsdk/common/qfont.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( QFONTH ) 16 | #define QFONTH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | // Font stuff 24 | 25 | #define NUM_GLYPHS 256 26 | 27 | typedef struct 28 | { 29 | short startoffset; 30 | short charwidth; 31 | } charinfo; 32 | 33 | typedef struct qfont_s 34 | { 35 | int width, height; 36 | int rowcount; 37 | int rowheight; 38 | charinfo fontinfo[ NUM_GLYPHS ]; 39 | byte data[4]; 40 | } qfont_t; 41 | 42 | #endif // qfont.h 43 | -------------------------------------------------------------------------------- /hlsdk/common/r_studioint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/r_studioint.h -------------------------------------------------------------------------------- /hlsdk/common/ref_params.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( REF_PARAMSH ) 16 | #define REF_PARAMSH 17 | 18 | typedef struct ref_params_s 19 | { 20 | // Output 21 | float vieworg[3]; 22 | float viewangles[3]; 23 | 24 | float forward[3]; 25 | float right[3]; 26 | float up[3]; 27 | 28 | // Client frametime; 29 | float frametime; 30 | // Client time 31 | float time; 32 | 33 | // Misc 34 | int intermission; 35 | int paused; 36 | int spectator; 37 | int onground; 38 | int waterlevel; 39 | 40 | float simvel[3]; 41 | float simorg[3]; 42 | 43 | float viewheight[3]; 44 | float idealpitch; 45 | 46 | float cl_viewangles[3]; 47 | 48 | int health; 49 | float crosshairangle[3]; 50 | float viewsize; 51 | 52 | float punchangle[3]; 53 | int maxclients; 54 | int viewentity; 55 | int playernum; 56 | int max_entities; 57 | int demoplayback; 58 | int hardware; 59 | 60 | int smoothing; 61 | 62 | // Last issued usercmd 63 | struct usercmd_s *cmd; 64 | 65 | // Movevars 66 | struct movevars_s *movevars; 67 | 68 | int viewport[4]; // the viewport coordinates x ,y , width, height 69 | 70 | int nextView; // the renderer calls ClientDLL_CalcRefdef() and Renderview 71 | // so long in cycles until this value is 0 (multiple views) 72 | int onlyClientDraw; // if !=0 nothing is drawn by the engine except clientDraw functions 73 | } ref_params_t; 74 | 75 | #endif // !REF_PARAMSH 76 | -------------------------------------------------------------------------------- /hlsdk/common/screenfade.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/common/screenfade.h -------------------------------------------------------------------------------- /hlsdk/common/studio_event.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( STUDIO_EVENTH ) 16 | #define STUDIO_EVENTH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef struct mstudioevent_s 24 | { 25 | int frame; 26 | int event; 27 | int type; 28 | char options[64]; 29 | } mstudioevent_t; 30 | 31 | #endif // STUDIO_EVENTH 32 | -------------------------------------------------------------------------------- /hlsdk/common/triangleapi.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( TRIANGLEAPIH ) 16 | #define TRIANGLEAPIH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef enum 24 | { 25 | TRI_FRONT = 0, 26 | TRI_NONE = 1, 27 | } TRICULLSTYLE; 28 | 29 | #define TRI_API_VERSION 1 30 | 31 | #define TRI_TRIANGLES 0 32 | #define TRI_TRIANGLE_FAN 1 33 | #define TRI_QUADS 2 34 | #define TRI_POLYGON 3 35 | #define TRI_LINES 4 36 | #define TRI_TRIANGLE_STRIP 5 37 | #define TRI_QUAD_STRIP 6 38 | 39 | typedef struct triangleapi_s 40 | { 41 | int version; 42 | 43 | void ( *RenderMode )( int mode ); 44 | void ( *Begin )( int primitiveCode ); 45 | void ( *End ) ( void ); 46 | 47 | void ( *Color4f ) ( float r, float g, float b, float a ); 48 | void ( *Color4ub ) ( unsigned char r, unsigned char g, unsigned char b, unsigned char a ); 49 | void ( *TexCoord2f ) ( float u, float v ); 50 | void ( *Vertex3fv ) ( float *worldPnt ); 51 | void ( *Vertex3f ) ( float x, float y, float z ); 52 | void ( *Brightness ) ( float brightness ); 53 | void ( *CullFace ) ( TRICULLSTYLE style ); 54 | int ( *SpriteTexture ) ( struct model_s *pSpriteModel, int frame ); 55 | int ( *WorldToScreen ) ( float *world, float *screen ); // Returns 1 if it's z clipped 56 | void ( *Fog ) ( float flFogColor[3], float flStart, float flEnd, int bOn ); //Works just like GL_FOG, flFogColor is r/g/b. 57 | void ( *ScreenToWorld ) ( float *screen, float *world ); 58 | 59 | } triangleapi_t; 60 | 61 | #endif // !TRIANGLEAPIH 62 | -------------------------------------------------------------------------------- /hlsdk/common/usercmd.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef USERCMD_H 16 | #define USERCMD_H 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | typedef struct usercmd_s 24 | { 25 | short lerp_msec; // Interpolation time on client 26 | byte msec; // Duration in ms of command 27 | vec3_t viewangles; // Command view angles. 28 | 29 | // intended velocities 30 | float forwardmove; // Forward velocity. 31 | float sidemove; // Sideways velocity. 32 | float upmove; // Upward velocity. 33 | byte lightlevel; // Light level at spot where we are standing. 34 | unsigned short buttons; // Attack buttons 35 | byte impulse; // Impulse command issued. 36 | byte weaponselect; // Current weapon id 37 | 38 | // Experimental player impact stuff. 39 | int impact_index; 40 | vec3_t impact_position; 41 | } usercmd_t; 42 | 43 | #endif // USERCMD_H 44 | -------------------------------------------------------------------------------- /hlsdk/common/weaponinfo.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined ( WEAPONINFOH ) 16 | #define WEAPONINFOH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | // Info about weapons player might have in his/her possession 24 | typedef struct weapon_data_s 25 | { 26 | int m_iId; 27 | int m_iClip; 28 | 29 | float m_flNextPrimaryAttack; 30 | float m_flNextSecondaryAttack; 31 | float m_flTimeWeaponIdle; 32 | 33 | int m_fInReload; 34 | int m_fInSpecialReload; 35 | float m_flNextReload; 36 | float m_flPumpTime; 37 | float m_fReloadTime; 38 | 39 | float m_fAimedDamage; 40 | float m_fNextAimBonus; 41 | int m_fInZoom; 42 | int m_iWeaponState; 43 | 44 | int iuser1; 45 | int iuser2; 46 | int iuser3; 47 | int iuser4; 48 | float fuser1; 49 | float fuser2; 50 | float fuser3; 51 | float fuser4; 52 | } weapon_data_t; 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /hlsdk/dlls/activitymap.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #define _A( a ) { a, #a } 17 | 18 | activity_map_t activity_map[] = 19 | { 20 | _A( ACT_IDLE ), 21 | _A( ACT_GUARD ), 22 | _A( ACT_WALK ), 23 | _A( ACT_RUN ), 24 | _A( ACT_FLY ), 25 | _A( ACT_SWIM ), 26 | _A( ACT_HOP ), 27 | _A( ACT_LEAP ), 28 | _A( ACT_FALL ), 29 | _A( ACT_LAND ), 30 | _A( ACT_STRAFE_LEFT ), 31 | _A( ACT_STRAFE_RIGHT ), 32 | _A( ACT_ROLL_LEFT ), 33 | _A( ACT_ROLL_RIGHT ), 34 | _A( ACT_TURN_LEFT ), 35 | _A( ACT_TURN_RIGHT ), 36 | _A( ACT_CROUCH ), 37 | _A( ACT_CROUCHIDLE ), 38 | _A( ACT_STAND ), 39 | _A( ACT_USE ), 40 | _A( ACT_SIGNAL1 ), 41 | _A( ACT_SIGNAL2 ), 42 | _A( ACT_SIGNAL3 ), 43 | _A( ACT_TWITCH ), 44 | _A( ACT_COWER ), 45 | _A( ACT_SMALL_FLINCH ), 46 | _A( ACT_BIG_FLINCH ), 47 | _A( ACT_RANGE_ATTACK1 ), 48 | _A( ACT_RANGE_ATTACK2 ), 49 | _A( ACT_MELEE_ATTACK1 ), 50 | _A( ACT_MELEE_ATTACK2 ), 51 | _A( ACT_RELOAD ), 52 | _A( ACT_ARM ), 53 | _A( ACT_DISARM ), 54 | _A( ACT_EAT ), 55 | _A( ACT_DIESIMPLE ), 56 | _A( ACT_DIEBACKWARD ), 57 | _A( ACT_DIEFORWARD ), 58 | _A( ACT_DIEVIOLENT ), 59 | _A( ACT_BARNACLE_HIT ), 60 | _A( ACT_BARNACLE_PULL ), 61 | _A( ACT_BARNACLE_CHOMP ), 62 | _A( ACT_BARNACLE_CHEW ), 63 | _A( ACT_SLEEP ), 64 | _A( ACT_INSPECT_FLOOR ), 65 | _A( ACT_INSPECT_WALL ), 66 | _A( ACT_IDLE_ANGRY ), 67 | _A( ACT_WALK_HURT ), 68 | _A( ACT_RUN_HURT ), 69 | _A( ACT_HOVER ), 70 | _A( ACT_GLIDE ), 71 | _A( ACT_FLY_LEFT ), 72 | _A( ACT_FLY_RIGHT ), 73 | _A( ACT_DETECT_SCENT ), 74 | _A( ACT_SNIFF ), 75 | _A( ACT_BITE ), 76 | _A( ACT_THREAT_DISPLAY ), 77 | _A( ACT_FEAR_DISPLAY ), 78 | _A( ACT_EXCITED ), 79 | _A( ACT_SPECIAL_ATTACK1 ), 80 | _A( ACT_SPECIAL_ATTACK2 ), 81 | _A( ACT_COMBAT_IDLE ), 82 | _A( ACT_WALK_SCARED ), 83 | _A( ACT_RUN_SCARED ), 84 | _A( ACT_VICTORY_DANCE ), 85 | _A( ACT_DIE_HEADSHOT ), 86 | _A( ACT_DIE_CHESTSHOT ), 87 | _A( ACT_DIE_GUTSHOT ), 88 | _A( ACT_DIE_BACKSHOT ), 89 | _A( ACT_FLINCH_HEAD ), 90 | _A( ACT_FLINCH_CHEST ), 91 | _A( ACT_FLINCH_STOMACH ), 92 | _A( ACT_FLINCH_LEFTARM ), 93 | _A( ACT_FLINCH_RIGHTARM ), 94 | _A( ACT_FLINCH_LEFTLEG ), 95 | _A( ACT_FLINCH_RIGHTLEG ), 96 | 0, NULL 97 | }; 98 | -------------------------------------------------------------------------------- /hlsdk/dlls/animation.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef ANIMATION_H 16 | #define ANIMATION_H 17 | 18 | #define ACTIVITY_NOT_AVAILABLE -1 19 | 20 | #ifndef MONSTEREVENT_H 21 | #include "monsterevent.h" 22 | #endif 23 | 24 | extern int IsSoundEvent( int eventNumber ); 25 | 26 | int LookupActivity( void *pmodel, entvars_t *pev, int activity ); 27 | int LookupActivityHeaviest( void *pmodel, entvars_t *pev, int activity ); 28 | int LookupSequence( void *pmodel, const char *label ); 29 | void GetSequenceInfo( void *pmodel, entvars_t *pev, float *pflFrameRate, float *pflGroundSpeed ); 30 | int GetSequenceFlags( void *pmodel, entvars_t *pev ); 31 | int LookupAnimationEvents( void *pmodel, entvars_t *pev, float flStart, float flEnd ); 32 | float SetController( void *pmodel, entvars_t *pev, int iController, float flValue ); 33 | float SetBlending( void *pmodel, entvars_t *pev, int iBlender, float flValue ); 34 | void GetEyePosition( void *pmodel, float *vecEyePosition ); 35 | void SequencePrecache( void *pmodel, const char *pSequenceName ); 36 | int FindTransition( void *pmodel, int iEndingAnim, int iGoalAnim, int *piDir ); 37 | void SetBodygroup( void *pmodel, entvars_t *pev, int iGroup, int iValue ); 38 | int GetBodygroup( void *pmodel, entvars_t *pev, int iGroup ); 39 | 40 | int GetAnimationEvent( void *pmodel, entvars_t *pev, MonsterEvent_t *pMonsterEvent, float flStart, float flEnd, int index ); 41 | int ExtractBbox( void *pmodel, int sequence, float *mins, float *maxs ); 42 | 43 | // From /engine/studio.h 44 | #define STUDIO_LOOPING 0x0001 45 | 46 | 47 | #endif //ANIMATION_H 48 | -------------------------------------------------------------------------------- /hlsdk/dlls/cdll_dll.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // 16 | // cdll_dll.h 17 | 18 | // this file is included by both the game-dll and the client-dll, 19 | 20 | #ifndef CDLL_DLL_H 21 | #define CDLL_DLL_H 22 | 23 | constexpr int MAX_WEAPONS = 32; // ??? 24 | 25 | constexpr int MAX_WEAPON_SLOTS = 5; // hud item selection slots 26 | constexpr int MAX_ITEM_TYPES = 6; // hud item selection slots 27 | 28 | constexpr int MAX_ITEMS = 5; // hard coded item types 29 | 30 | constexpr int HIDEHUD_WEAPONS = (1 << 0); 31 | constexpr int HIDEHUD_FLASHLIGHT = (1 << 1); 32 | constexpr int HIDEHUD_ALL = (1 << 2); 33 | constexpr int HIDEHUD_HEALTH = (1 << 3); 34 | 35 | constexpr int MAX_AMMO_TYPES = 32; // ??? 36 | constexpr int MAX_AMMO_SLOTS = 32; // not really slots 37 | 38 | constexpr int HUD_PRINTNOTIFY = 1; 39 | constexpr int HUD_PRINTCONSOLE = 2; 40 | constexpr int HUD_PRINTTALK = 3; 41 | constexpr int HUD_PRINTCENTER = 4; 42 | 43 | constexpr int WEAPON_SUIT = 31; 44 | 45 | #endif 46 | -------------------------------------------------------------------------------- /hlsdk/dlls/decals.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef DECALS_H 16 | #define DECALS_H 17 | 18 | // 19 | // Dynamic Decals 20 | // 21 | enum decal_e 22 | { 23 | DECAL_GUNSHOT1 = 0, 24 | DECAL_GUNSHOT2, 25 | DECAL_GUNSHOT3, 26 | DECAL_GUNSHOT4, 27 | DECAL_GUNSHOT5, 28 | DECAL_LAMBDA1, 29 | DECAL_LAMBDA2, 30 | DECAL_LAMBDA3, 31 | DECAL_LAMBDA4, 32 | DECAL_LAMBDA5, 33 | DECAL_LAMBDA6, 34 | DECAL_SCORCH1, 35 | DECAL_SCORCH2, 36 | DECAL_BLOOD1, 37 | DECAL_BLOOD2, 38 | DECAL_BLOOD3, 39 | DECAL_BLOOD4, 40 | DECAL_BLOOD5, 41 | DECAL_BLOOD6, 42 | DECAL_YBLOOD1, 43 | DECAL_YBLOOD2, 44 | DECAL_YBLOOD3, 45 | DECAL_YBLOOD4, 46 | DECAL_YBLOOD5, 47 | DECAL_YBLOOD6, 48 | DECAL_GLASSBREAK1, 49 | DECAL_GLASSBREAK2, 50 | DECAL_GLASSBREAK3, 51 | DECAL_BIGSHOT1, 52 | DECAL_BIGSHOT2, 53 | DECAL_BIGSHOT3, 54 | DECAL_BIGSHOT4, 55 | DECAL_BIGSHOT5, 56 | DECAL_SPIT1, 57 | DECAL_SPIT2, 58 | DECAL_BPROOF1, // Bulletproof glass decal 59 | DECAL_GARGSTOMP1, // Gargantua stomp crack 60 | DECAL_SMALLSCORCH1, // Small scorch mark 61 | DECAL_SMALLSCORCH2, // Small scorch mark 62 | DECAL_SMALLSCORCH3, // Small scorch mark 63 | DECAL_MOMMABIRTH, // Big momma birth splatter 64 | DECAL_MOMMASPLAT, 65 | }; 66 | 67 | typedef struct 68 | { 69 | char *name; 70 | int index; 71 | } DLL_DECALLIST; 72 | 73 | extern DLL_DECALLIST gDecals[]; 74 | 75 | #endif // DECALS_H 76 | -------------------------------------------------------------------------------- /hlsdk/dlls/doors.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef DOORS_H 16 | #define DOORS_H 17 | 18 | // doors 19 | #define SF_DOOR_ROTATE_Y 0 20 | #define SF_DOOR_START_OPEN 1 21 | #define SF_DOOR_ROTATE_BACKWARDS 2 22 | #define SF_DOOR_PASSABLE 8 23 | #define SF_DOOR_ONEWAY 16 24 | #define SF_DOOR_NO_AUTO_RETURN 32 25 | #define SF_DOOR_ROTATE_Z 64 26 | #define SF_DOOR_ROTATE_X 128 27 | #define SF_DOOR_USE_ONLY 256 // door must be opened by player's use button. 28 | #define SF_DOOR_NOMONSTERS 512 // Monster can't open 29 | #define SF_DOOR_SILENT 0x80000000 30 | 31 | 32 | 33 | #endif //DOORS_H 34 | -------------------------------------------------------------------------------- /hlsdk/dlls/explode.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef EXPLODE_H 16 | #define EXPLODE_H 17 | 18 | 19 | #define SF_ENVEXPLOSION_NODAMAGE ( 1 << 0 ) // when set, ENV_EXPLOSION will not actually inflict damage 20 | #define SF_ENVEXPLOSION_REPEATABLE ( 1 << 1 ) // can this entity be refired? 21 | #define SF_ENVEXPLOSION_NOFIREBALL ( 1 << 2 ) // don't draw the fireball 22 | #define SF_ENVEXPLOSION_NOSMOKE ( 1 << 3 ) // don't draw the smoke 23 | #define SF_ENVEXPLOSION_NODECAL ( 1 << 4 ) // don't make a scorch mark 24 | #define SF_ENVEXPLOSION_NOSPARKS ( 1 << 5 ) // don't make a scorch mark 25 | 26 | extern DLL_GLOBAL short g_sModelIndexFireball; 27 | extern DLL_GLOBAL short g_sModelIndexSmoke; 28 | 29 | 30 | extern void ExplosionCreate( const Vector ¢er, const Vector &angles, edict_t *pOwner, int magnitude, BOOL doDamage ); 31 | 32 | #endif //EXPLODE_H 33 | -------------------------------------------------------------------------------- /hlsdk/dlls/game.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #ifndef GAME_H 17 | #define GAME_H 18 | 19 | extern void GameDLLInit( void ); 20 | 21 | 22 | extern cvar_t displaysoundlist; 23 | 24 | // multiplayer server rules 25 | extern cvar_t teamplay; 26 | extern cvar_t fraglimit; 27 | extern cvar_t timelimit; 28 | extern cvar_t friendlyfire; 29 | extern cvar_t falldamage; 30 | extern cvar_t weaponstay; 31 | extern cvar_t forcerespawn; 32 | extern cvar_t flashlight; 33 | extern cvar_t aimcrosshair; 34 | extern cvar_t decalfrequency; 35 | extern cvar_t teamlist; 36 | extern cvar_t teamoverride; 37 | extern cvar_t defaultteam; 38 | extern cvar_t allowmonsters; 39 | 40 | // Engine Cvars 41 | extern cvar_t *g_psv_gravity; 42 | extern cvar_t *g_psv_aim; 43 | extern cvar_t *g_footsteps; 44 | 45 | #endif // GAME_H 46 | -------------------------------------------------------------------------------- /hlsdk/dlls/hornet.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | //========================================================= 16 | // Hornets 17 | //========================================================= 18 | 19 | //========================================================= 20 | // Hornet Defines 21 | //========================================================= 22 | #define HORNET_TYPE_RED 0 23 | #define HORNET_TYPE_ORANGE 1 24 | #define HORNET_RED_SPEED (float)600 25 | #define HORNET_ORANGE_SPEED (float)800 26 | #define HORNET_BUZZ_VOLUME (float)0.8 27 | 28 | extern int iHornetPuff; 29 | 30 | //========================================================= 31 | // Hornet - this is the projectile that the Alien Grunt fires. 32 | //========================================================= 33 | class CHornet : public CBaseMonster 34 | { 35 | public: 36 | void Spawn( void ); 37 | void Precache( void ); 38 | int Classify ( void ); 39 | int IRelationship ( CBaseEntity *pTarget ); 40 | virtual int Save( CSave &save ); 41 | virtual int Restore( CRestore &restore ); 42 | static TYPEDESCRIPTION m_SaveData[]; 43 | 44 | void IgniteTrail( void ); 45 | void EXPORT StartTrack ( void ); 46 | void EXPORT StartDart ( void ); 47 | void EXPORT TrackTarget ( void ); 48 | void EXPORT TrackTouch ( CBaseEntity *pOther ); 49 | void EXPORT DartTouch( CBaseEntity *pOther ); 50 | void EXPORT DieTouch ( CBaseEntity *pOther ); 51 | 52 | int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType ); 53 | 54 | float m_flStopAttack; 55 | int m_iHornetType; 56 | float m_flFlySpeed; 57 | }; 58 | 59 | -------------------------------------------------------------------------------- /hlsdk/dlls/items.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef ITEMS_H 16 | #define ITEMS_H 17 | 18 | 19 | class CItem : public CBaseEntity 20 | { 21 | public: 22 | void Spawn( void ); 23 | CBaseEntity* Respawn( void ); 24 | void EXPORT ItemTouch( CBaseEntity *pOther ); 25 | void EXPORT Materialize( void ); 26 | virtual BOOL MyTouch( CBasePlayer *pPlayer ) { return FALSE; }; 27 | }; 28 | 29 | #endif // ITEMS_H 30 | -------------------------------------------------------------------------------- /hlsdk/dlls/maprules.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #ifndef MAPRULES_H 17 | #define MAPRULES_H 18 | 19 | 20 | 21 | #endif // MAPRULES_H 22 | 23 | -------------------------------------------------------------------------------- /hlsdk/dlls/monsterevent.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef MONSTEREVENT_H 16 | #define MONSTEREVENT_H 17 | 18 | typedef struct 19 | { 20 | int event; 21 | char *options; 22 | } MonsterEvent_t; 23 | 24 | #define EVENT_SPECIFIC 0 25 | #define EVENT_SCRIPTED 1000 26 | #define EVENT_SHARED 2000 27 | #define EVENT_CLIENT 5000 28 | 29 | #define MONSTER_EVENT_BODYDROP_LIGHT 2001 30 | #define MONSTER_EVENT_BODYDROP_HEAVY 2002 31 | 32 | #define MONSTER_EVENT_SWISHSOUND 2010 33 | 34 | #endif // MONSTEREVENT_H 35 | -------------------------------------------------------------------------------- /hlsdk/dlls/nodes.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | //========================================================= 16 | // nodes.h 17 | //========================================================= 18 | 19 | #ifndef NODES_H 20 | #define NODES_H 21 | 22 | #define bits_NODE_GROUP_REALM 1 23 | 24 | class CLink 25 | { 26 | public: 27 | entvars_t *m_pLinkEnt;// the entity that blocks this connection (doors, etc) 28 | }; 29 | 30 | 31 | class CGraph 32 | { 33 | public: 34 | BOOL m_fGraphPresent;// is the graph in memory? 35 | BOOL m_fGraphPointersSet;// are the entity pointers for the graph all set? 36 | 37 | int m_cLinks;// total number of links 38 | CLink *m_pLinkPool;// big list of all node connections 39 | 40 | void InitGraph( void ); 41 | int AllocNodes ( void ); 42 | 43 | int CheckNODFile(char *szMapName); 44 | int FLoadGraph(char *szMapName); 45 | int FSetGraphPointers(void); 46 | void ShowNodeConnections ( int iNode ); 47 | int FindNearestNode ( const Vector &vecOrigin, CBaseEntity *pEntity ); 48 | int FindNearestNode ( const Vector &vecOrigin, int afNodeTypes ); 49 | 50 | }; 51 | 52 | extern CGraph WorldGraph; 53 | 54 | #endif // NODES_H -------------------------------------------------------------------------------- /hlsdk/dlls/plane.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef PLANE_H 16 | #define PLANE_H 17 | 18 | //========================================================= 19 | // Plane 20 | //========================================================= 21 | class CPlane 22 | { 23 | public: 24 | CPlane ( void ); 25 | 26 | //========================================================= 27 | // InitializePlane - Takes a normal for the plane and a 28 | // point on the plane and 29 | //========================================================= 30 | void InitializePlane ( const Vector &vecNormal, const Vector &vecPoint ); 31 | 32 | //========================================================= 33 | // PointInFront - determines whether the given vector is 34 | // in front of the plane. 35 | //========================================================= 36 | BOOL PointInFront ( const Vector &vecPoint ); 37 | 38 | Vector m_vecNormal; 39 | float m_flDist; 40 | BOOL m_fInitialized; 41 | }; 42 | 43 | #endif // PLANE_H 44 | -------------------------------------------------------------------------------- /hlsdk/dlls/schedule.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | //========================================================= 16 | // Scheduling 17 | //========================================================= 18 | #ifndef SCHEDULE_H 19 | #define SCHEDULE_H 20 | 21 | #define bits_COND_SEE_HATE ( 1 << 1 ) // see something that you hate 22 | #define bits_COND_SEE_FEAR ( 1 << 2 ) // see something that you are afraid of 23 | #define bits_COND_SEE_DISLIKE ( 1 << 3 ) // see something that you dislike 24 | #define bits_COND_SEE_ENEMY ( 1 << 4 ) // target entity is in full view. 25 | #define bits_COND_LIGHT_DAMAGE ( 1 << 8 ) // hurt a little 26 | #define bits_COND_HEAVY_DAMAGE ( 1 << 9 ) // hurt a lot 27 | #define bits_COND_SEE_CLIENT ( 1 << 21) // see a client 28 | #define bits_COND_SEE_NEMESIS ( 1 << 22) // see my nemesis 29 | 30 | 31 | #endif // SCHEDULE_H 32 | -------------------------------------------------------------------------------- /hlsdk/dlls/scriptevent.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef SCRIPTEVENT_H 16 | #define SCRIPTEVENT_H 17 | 18 | #define SCRIPT_EVENT_DEAD 1000 // character is now dead 19 | #define SCRIPT_EVENT_NOINTERRUPT 1001 // does not allow interrupt 20 | #define SCRIPT_EVENT_CANINTERRUPT 1002 // will allow interrupt 21 | #define SCRIPT_EVENT_FIREEVENT 1003 // event now fires 22 | #define SCRIPT_EVENT_SOUND 1004 // Play named wave file (on CHAN_BODY) 23 | #define SCRIPT_EVENT_SENTENCE 1005 // Play named sentence 24 | #define SCRIPT_EVENT_INAIR 1006 // Leave the character in air at the end of the sequence (don't find the floor) 25 | #define SCRIPT_EVENT_ENDANIMATION 1007 // Set the animation by name after the sequence completes 26 | #define SCRIPT_EVENT_SOUND_VOICE 1008 // Play named wave file (on CHAN_VOICE) 27 | #define SCRIPT_EVENT_SENTENCE_RND1 1009 // Play sentence group 25% of the time 28 | #define SCRIPT_EVENT_NOT_DEAD 1010 // Bring back to life (for life/death sequences) 29 | #endif //SCRIPTEVENT_H 30 | -------------------------------------------------------------------------------- /hlsdk/dlls/spectator.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // Spectator.h 16 | 17 | class CBaseSpectator : public CBaseEntity 18 | { 19 | public: 20 | void Spawn(); 21 | void SpectatorConnect(void); 22 | void SpectatorDisconnect(void); 23 | void SpectatorThink(void); 24 | 25 | private: 26 | void SpectatorImpulseCommand(void); 27 | }; 28 | -------------------------------------------------------------------------------- /hlsdk/dlls/talkmonster.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | #ifndef TALKMONSTER_H 17 | #define TALKMONSTER_H 18 | 19 | class CTalkMonster : public CBaseMonster 20 | { 21 | public: 22 | static float g_talkWaitTime; 23 | 24 | }; 25 | 26 | #endif //TALKMONSTER_H 27 | -------------------------------------------------------------------------------- /hlsdk/dlls/teamplay_gamerules.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // 16 | // teamplay_gamerules.h 17 | // 18 | 19 | #define MAX_TEAMNAME_LENGTH 16 20 | #define MAX_TEAMS 32 21 | 22 | #define TEAMPLAY_TEAMLISTLENGTH MAX_TEAMS*MAX_TEAMNAME_LENGTH 23 | 24 | class CHalfLifeTeamplay : public CHalfLifeMultiplay 25 | { 26 | public: 27 | CHalfLifeTeamplay(); 28 | 29 | virtual BOOL ClientCommand( CBasePlayer *pPlayer, const char *pcmd ); 30 | virtual void ClientUserInfoChanged( CBasePlayer *pPlayer, char *infobuffer ); 31 | virtual BOOL IsTeamplay( void ); 32 | virtual BOOL FPlayerCanTakeDamage( CBasePlayer *pPlayer, CBaseEntity *pAttacker ); 33 | virtual int PlayerRelationship( CBaseEntity *pPlayer, CBaseEntity *pTarget ); 34 | virtual const char *GetTeamID( CBaseEntity *pEntity ); 35 | virtual BOOL ShouldAutoAim( CBasePlayer *pPlayer, edict_t *target ); 36 | virtual int IPointsForKill( CBasePlayer *pAttacker, CBasePlayer *pKilled ); 37 | virtual void InitHUD( CBasePlayer *pl ); 38 | virtual void DeathNotice( CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pevInflictor ); 39 | virtual const char *GetGameDescription( void ) { return "HL Teamplay"; } // this is the game name that gets seen in the server browser 40 | virtual void UpdateGameMode( CBasePlayer *pPlayer ); // the client needs to be informed of the current game mode 41 | virtual void PlayerKilled( CBasePlayer *pVictim, entvars_t *pKiller, entvars_t *pInflictor ); 42 | virtual void Think ( void ); 43 | virtual int GetTeamIndex( const char *pTeamName ); 44 | virtual const char *GetIndexedTeamName( int teamIndex ); 45 | virtual BOOL IsValidTeam( const char *pTeamName ); 46 | const char *SetDefaultPlayerTeam( CBasePlayer *pPlayer ); 47 | virtual void ChangePlayerTeam( CBasePlayer *pPlayer, const char *pTeamName, BOOL bKill, BOOL bGib ); 48 | 49 | private: 50 | void RecountTeams( bool bResendInfo = FALSE ); 51 | const char *TeamWithFewestPlayers( void ); 52 | 53 | BOOL m_DisableDeathMessages; 54 | BOOL m_DisableDeathPenalty; 55 | BOOL m_teamLimit; // This means the server set only some teams as valid 56 | char m_szTeamList[TEAMPLAY_TEAMLISTLENGTH]; 57 | }; 58 | -------------------------------------------------------------------------------- /hlsdk/engine/archtypes.h: -------------------------------------------------------------------------------- 1 | // 2 | // Word size dependent definitions 3 | // DAL 1/03 4 | // 5 | #ifndef ARCHTYPES_H 6 | #define ARCHTYPES_H 7 | 8 | #ifdef __x86_64__ 9 | #define X64BITS 10 | #endif 11 | 12 | #if defined( _WIN32 ) && (! defined( __MINGW32__ )) 13 | 14 | typedef __int16 int16; 15 | typedef unsigned __int16 uint16; 16 | typedef __int32 int32; 17 | typedef unsigned __int32 uint32; 18 | typedef __int64 int64; 19 | typedef unsigned __int64 uint64; 20 | typedef __int32 intp; // intp is an integer that can accomodate a pointer 21 | typedef unsigned __int32 uintp; // (ie, sizeof(intp) >= sizeof(int) && sizeof(intp) >= sizeof(void *) 22 | 23 | #else /* _WIN32 */ 24 | 25 | typedef short int16; 26 | typedef unsigned short uint16; 27 | typedef int int32; 28 | typedef unsigned int uint32; 29 | typedef long long int64; 30 | typedef unsigned long long uint64; 31 | #ifdef X64BITS 32 | typedef long long intp; 33 | typedef unsigned long long uintp; 34 | #else 35 | typedef int intp; 36 | typedef unsigned int uintp; 37 | #endif 38 | 39 | #endif /* else _WIN32 */ 40 | 41 | #endif /* ARCHTYPES_H */ 42 | -------------------------------------------------------------------------------- /hlsdk/engine/customentity.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef CUSTOMENTITY_H 16 | #define CUSTOMENTITY_H 17 | 18 | // Custom Entities 19 | 20 | // Start/End Entity is encoded as 12 bits of entity index, and 4 bits of attachment (4:12) 21 | #define BEAMENT_ENTITY(x) ((x)&0xFFF) 22 | #define BEAMENT_ATTACHMENT(x) (((x)>>12)&0xF) 23 | 24 | // Beam types, encoded as a byte 25 | enum 26 | { 27 | BEAM_POINTS = 0, 28 | BEAM_ENTPOINT, 29 | BEAM_ENTS, 30 | BEAM_HOSE, 31 | }; 32 | 33 | #define BEAM_FSINE 0x10 34 | #define BEAM_FSOLID 0x20 35 | #define BEAM_FSHADEIN 0x40 36 | #define BEAM_FSHADEOUT 0x80 37 | 38 | #endif //CUSTOMENTITY_H 39 | -------------------------------------------------------------------------------- /hlsdk/engine/edict.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/engine/edict.h -------------------------------------------------------------------------------- /hlsdk/engine/keydefs.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/engine/keydefs.h -------------------------------------------------------------------------------- /hlsdk/engine/progs.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef PROGS_H 16 | #define PROGS_H 17 | 18 | #include "progdefs.h" 19 | 20 | // 16 simultaneous events, max 21 | #define MAX_EVENT_QUEUE 64 22 | 23 | #define DEFAULT_EVENT_RESENDS 1 24 | 25 | #include "event_flags.h" 26 | 27 | typedef struct event_info_s event_info_t; 28 | 29 | #include "event_args.h" 30 | 31 | struct event_info_s 32 | { 33 | unsigned short index; // 0 implies not in use 34 | 35 | short packet_index; // Use data from state info for entity in delta_packet . -1 implies separate info based on event 36 | // parameter signature 37 | short entity_index; // The edict this event is associated with 38 | 39 | float fire_time; // if non-zero, the time when the event should be fired ( fixed up on the client ) 40 | 41 | event_args_t args; 42 | 43 | // CLIENT ONLY 44 | int flags; // Reliable or not, etc. 45 | 46 | }; 47 | 48 | typedef struct event_state_s event_state_t; 49 | 50 | struct event_state_s 51 | { 52 | struct event_info_s ei[ MAX_EVENT_QUEUE ]; 53 | }; 54 | 55 | #if !defined( ENTITY_STATEH ) 56 | #include "entity_state.h" 57 | #endif 58 | 59 | #if !defined( EDICT_H ) 60 | #include "edict.h" 61 | #endif 62 | 63 | #define STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (int)&(((t *)0)->m))) 64 | #define EDICT_FROM_AREA(l) STRUCT_FROM_LINK(l,edict_t,area) 65 | 66 | //============================================================================ 67 | 68 | extern char *pr_strings; 69 | extern globalvars_t gGlobalVariables; 70 | 71 | //============================================================================ 72 | 73 | edict_t *ED_Alloc (void); 74 | void ED_Free (edict_t *ed); 75 | void ED_LoadFromFile (char *data); 76 | 77 | edict_t *EDICT_NUM(int n); 78 | int NUM_FOR_EDICT(const edict_t *e); 79 | 80 | #define PROG_TO_EDICT(e) ((edict_t *)((byte *)sv.edicts + e)) 81 | 82 | #endif // PROGS_H 83 | -------------------------------------------------------------------------------- /hlsdk/engine/shake.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef SHAKE_H 16 | #define SHAKE_H 17 | 18 | // Screen / View effects 19 | 20 | // screen shake 21 | extern int gmsgShake; 22 | 23 | // This structure is sent over the net to describe a screen shake event 24 | typedef struct 25 | { 26 | unsigned short amplitude; // FIXED 4.12 amount of shake 27 | unsigned short duration; // FIXED 4.12 seconds duration 28 | unsigned short frequency; // FIXED 8.8 noise frequency (low frequency is a jerk,high frequency is a rumble) 29 | } ScreenShake; 30 | 31 | extern void V_ApplyShake( float *origin, float *angles, float factor ); 32 | extern void V_CalcShake( void ); 33 | extern int V_ScreenShake( const char *pszName, int iSize, void *pbuf ); 34 | extern int V_ScreenFade( const char *pszName, int iSize, void *pbuf ); 35 | 36 | 37 | // Fade in/out 38 | extern int gmsgFade; 39 | 40 | #define FFADE_IN 0x0000 // Just here so we don't pass 0 into the function 41 | #define FFADE_OUT 0x0001 // Fade out (not in) 42 | #define FFADE_MODULATE 0x0002 // Modulate (don't blend) 43 | #define FFADE_STAYOUT 0x0004 // ignores the duration, stays faded out until new ScreenFade message received 44 | 45 | // This structure is sent over the net to describe a screen fade event 46 | typedef struct 47 | { 48 | unsigned short duration; // FIXED 4.12 seconds duration 49 | unsigned short holdTime; // FIXED 4.12 seconds duration until reset (fade & hold) 50 | short fadeFlags; // flags 51 | byte r, g, b, a; // fade to color ( max alpha ) 52 | } ScreenFade; 53 | 54 | #endif // SHAKE_H 55 | 56 | -------------------------------------------------------------------------------- /hlsdk/pm_shared/pm_debug.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #ifndef PM_DEBUG_H 16 | #define PM_DEBUG_H 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | void PM_ViewEntity( void ); 24 | void PM_DrawBBox(vec3_t mins, vec3_t maxs, vec3_t origin, int pcolor, float life); 25 | void PM_ParticleLine(vec3_t start, vec3_t end, int pcolor, float life, float vert); 26 | void PM_ShowClipBox( void ); 27 | 28 | #endif // PMOVEDBG_H 29 | -------------------------------------------------------------------------------- /hlsdk/pm_shared/pm_info.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | // Physics info string definition 16 | #if !defined( PM_INFOH ) 17 | #define PM_INFOH 18 | #ifdef _WIN32 19 | #ifndef __MINGW32__ 20 | #pragma once 21 | #endif /* not __MINGW32__ */ 22 | #endif 23 | 24 | #define MAX_PHYSINFO_STRING 256 25 | 26 | #endif // PM_INFOH 27 | -------------------------------------------------------------------------------- /hlsdk/pm_shared/pm_materials.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | #if !defined( PM_MATERIALSH ) 16 | #define PM_MATERIALSH 17 | #ifdef _WIN32 18 | #ifndef __MINGW32__ 19 | #pragma once 20 | #endif /* not __MINGW32__ */ 21 | #endif 22 | 23 | #define CBTEXTURENAMEMAX 13 // only load first n chars of name 24 | 25 | #define CHAR_TEX_CONCRETE 'C' // texture types 26 | #define CHAR_TEX_METAL 'M' 27 | #define CHAR_TEX_DIRT 'D' 28 | #define CHAR_TEX_VENT 'V' 29 | #define CHAR_TEX_GRATE 'G' 30 | #define CHAR_TEX_TILE 'T' 31 | #define CHAR_TEX_SLOSH 'S' 32 | #define CHAR_TEX_WOOD 'W' 33 | #define CHAR_TEX_COMPUTER 'P' 34 | #define CHAR_TEX_GLASS 'Y' 35 | #define CHAR_TEX_FLESH 'F' 36 | 37 | #endif // !PM_MATERIALSH 38 | -------------------------------------------------------------------------------- /hlsdk/pm_shared/pm_movevars.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/hlsdk/pm_shared/pm_movevars.h -------------------------------------------------------------------------------- /hlsdk/pm_shared/pm_shared.h: -------------------------------------------------------------------------------- 1 | /*** 2 | * 3 | * Copyright (c) 1996-2002, Valve LLC. All rights reserved. 4 | * 5 | * This product contains software technology licensed from Id 6 | * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. 7 | * All Rights Reserved. 8 | * 9 | * Use, distribution, and modification of this source code and/or resulting 10 | * object code is restricted to non-commercial enhancements to products from 11 | * Valve LLC. All other use, distribution, or modification is prohibited 12 | * without written permission from Valve LLC. 13 | * 14 | ****/ 15 | 16 | // 17 | // pm_shared.h 18 | // 19 | #if !defined( PM_SHAREDH ) 20 | #define PM_SHAREDH 21 | #ifdef _WIN32 22 | #ifndef __MINGW32__ 23 | #pragma once 24 | #endif /* not __MINGW32__ */ 25 | #endif 26 | 27 | void PM_Init( struct playermove_s *ppmove ); 28 | void PM_Move ( struct playermove_s *ppmove, int server ); 29 | char PM_FindTextureType( char *name ); 30 | 31 | // Spectator Movement modes (stored in pev->iuser1, so the physics code can get at them) 32 | #define OBS_NONE 0 33 | #define OBS_CHASE_LOCKED 1 34 | #define OBS_CHASE_FREE 2 35 | #define OBS_ROAMING 3 36 | #define OBS_IN_EYE 4 37 | #define OBS_MAP_FREE 5 38 | #define OBS_MAP_CHASE 6 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /metamod-p/game_autodetect.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // autodetect.h - GameDLL search and autodetection. 5 | 6 | /* 7 | * Copyright (c) 2004-2006 Jussi Kivilinna 8 | * 9 | * This file is part of "Metamod All-Mod-Support"-patch for Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef GAME_AUTODETECT_H 38 | #define GAME_AUTODETECT_H 39 | 40 | #include "metamod.h" 41 | const char* DLLINTERNAL autodetect_gamedll(const gamedll_t* gamedll, const char* knownfn); 42 | 43 | #endif /*GAME_AUTODETECT_H*/ 44 | -------------------------------------------------------------------------------- /metamod-p/game_support.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // game_support.h - structures for supporting different HL mod "games" 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef GAME_SUPPORT_H 38 | #define GAME_SUPPORT_H 39 | 40 | #include "types_meta.h" // mBOOL 41 | #include "metamod.h" // gamedll_t 42 | 43 | // Information we have about each game/mod DLL. 44 | typedef struct game_modinfo_s { 45 | const char* name; // name (the game dir) 46 | const char* linux_so; // filename of linux shared lib 47 | const char* win_dll; // filename of win32 dll 48 | const char* desc; // our long-name description 49 | } game_modinfo_t; 50 | 51 | typedef game_modinfo_t game_modlist_t[]; 52 | 53 | const DLLINTERNAL game_modinfo_t* lookup_game(const char* name); 54 | mBOOL DLLINTERNAL setup_gamedll(gamedll_t* gamedll); 55 | 56 | #endif /* GAME_SUPPORT_H */ 57 | -------------------------------------------------------------------------------- /metamod-p/h_export.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // h_export.h - prototypes for h_export.cpp 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef H_EXPORT_H 38 | #define H_EXPORT_H 39 | 40 | #include "osdep.h" // DLLEXPORT, WINAPI, etc 41 | 42 | // Our GiveFnptrsToDll, called by engine. 43 | typedef void (WINAPI* GIVE_ENGINE_FUNCTIONS_FN) (enginefuncs_t 44 | * pengfuncsFromEngine, globalvars_t* pGlobals); 45 | 46 | C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t* pengfuncsFromEngine, 47 | globalvars_t* pGlobals); 48 | 49 | #endif /* H_EXPORT_H */ 50 | -------------------------------------------------------------------------------- /metamod-p/info_name.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/metamod-p/info_name.h -------------------------------------------------------------------------------- /metamod-p/mhook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/metamod-p/mhook.h -------------------------------------------------------------------------------- /metamod-p/new_baseclass.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004-2006 Jussi Kivilinna 3 | * 4 | * This file is part of "Metamod All-Mod-Support"-patch for Metamod. 5 | * 6 | * Metamod is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by the 8 | * Free Software Foundation; either version 2 of the License, or (at 9 | * your option) any later version. 10 | * 11 | * Metamod is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with Metamod; if not, write to the Free Software Foundation, 18 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | * 20 | * In addition, as a special exception, the author gives permission to 21 | * link the code of this program with the Half-Life Game Engine ("HL 22 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 23 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 24 | * respects for all of the code used other than the HL Engine and MODs 25 | * from Valve. If you modify this file, you may extend this exception 26 | * to your version of the file, but you are not obligated to do so. If 27 | * you do not wish to do so, delete this exception statement from your 28 | * version. 29 | * 30 | */ 31 | #ifndef METAMOD_NEW_BASECLASS_H 32 | #define METAMOD_NEW_BASECLASS_H 33 | 34 | #include 35 | 36 | #include "comp_dep.h" 37 | 38 | //new/delete operators with malloc/free to remove need for libstdc++ 39 | 40 | class class_metamod_new { 41 | public: 42 | // Construction 43 | class_metamod_new() = default; 44 | 45 | // Operators 46 | void* operator new(size_t size) { 47 | if (size == 0) 48 | return(calloc(1, 1)); 49 | return(calloc(1, size)); 50 | } 51 | 52 | void* operator new[](size_t size) { 53 | if (size == 0) 54 | return(calloc(1, 1)); 55 | return(calloc(1, size)); 56 | } 57 | 58 | void operator delete(void* ptr) { 59 | //if(ptr) 60 | free(ptr); 61 | } 62 | 63 | void operator delete[](void* ptr) { 64 | //if(ptr) 65 | free(ptr); 66 | } 67 | }; 68 | 69 | #endif /*METAMOD_NEW_BASECLASS_H*/ 70 | -------------------------------------------------------------------------------- /metamod-p/reg_support.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // reg_support.h - functions for "registered" cmd/cvar/msg support 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef REG_SUPPORT_H 38 | #define REG_SUPPORT_H 39 | 40 | #include "mreg.h" // REG_CMD_FN, etc 41 | 42 | // these are only 'hidden' because called from outside (plugins and engine) 43 | void DLLHIDDEN meta_command_handler(); 44 | void DLLHIDDEN meta_AddServerCommand(char* cmd_name, REG_CMD_FN function); 45 | void DLLHIDDEN meta_CVarRegister(cvar_t* pCvar); 46 | int DLLHIDDEN meta_RegUserMsg(const char* pszName, int iSize); 47 | void DLLHIDDEN meta_QueryClientCvarValue(const edict_t* player, const char* cvarName); 48 | 49 | #endif /* REG_SUPPORT_H */ 50 | -------------------------------------------------------------------------------- /metamod-p/ret_type.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004-2006 Jussi Kivilinna 3 | * 4 | * This file is part of "Metamod All-Mod-Support"-patch for Metamod. 5 | * 6 | * Metamod is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by the 8 | * Free Software Foundation; either version 2 of the License, or (at 9 | * your option) any later version. 10 | * 11 | * Metamod is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with Metamod; if not, write to the Free Software Foundation, 18 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | * 20 | * In addition, as a special exception, the author gives permission to 21 | * link the code of this program with the Half-Life Game Engine ("HL 22 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 23 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 24 | * respects for all of the code used other than the HL Engine and MODs 25 | * from Valve. If you modify this file, you may extend this exception 26 | * to your version of the file, but you are not obligated to do so. If 27 | * you do not wish to do so, delete this exception statement from your 28 | * version. 29 | * 30 | */ 31 | #ifndef RET_TYPE_H 32 | #define RET_TYPE_H 33 | 34 | #include "new_baseclass.h" 35 | 36 | class class_ret_t : public class_metamod_new { 37 | public: 38 | // Construction 39 | class_ret_t() = default; 40 | class_ret_t(float f) { data.f = f; } 41 | class_ret_t(void* p) { data.p = p; } 42 | class_ret_t(const char* pc) { data.pc = pc; } 43 | class_ret_t(int i) { data.i = i; } 44 | class_ret_t(short s) { data.i = s; } 45 | class_ret_t(char c) { data.i = c; } 46 | class_ret_t(unsigned int ui) { data.ui = ui; } 47 | class_ret_t(unsigned long ui) { data.ui = ui; } 48 | class_ret_t(unsigned short us) { data.ui = us; } 49 | class_ret_t(unsigned char uc) { data.ui = uc; } 50 | 51 | // Reading/Writing 52 | void* getptr() { return(&data); } 53 | 54 | #define SET_RET_CLASS(ret,type,x) \ 55 | *(type*)((ret).getptr()) = (type)(x) 56 | #define GET_RET_CLASS(ret,type) \ 57 | (*(type*)((ret).getptr())) 58 | private: 59 | //Data (select data size of largest type) (x86: 32bit, x86_64: 64bit) 60 | union { 61 | void* p; 62 | const char* pc; 63 | float f; 64 | long i; 65 | unsigned long ui; 66 | } data; 67 | }; 68 | 69 | #endif /*RET_TYPE_H*/ 70 | -------------------------------------------------------------------------------- /metamod-p/studioapi.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // studio.cpp - player model blending interfaces 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | //Jussi Kivilinna: This forwarder function to gamedll is not needed anymore, dynamic 38 | // linkent code handles this too! 39 | -------------------------------------------------------------------------------- /metamod-p/vdate.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // vdate.h - compile-time version date 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef VDATE_H 38 | #define VDATE_H 39 | 40 | #include "comp_dep.h" 41 | 42 | extern char const* COMPILE_TIME DLLHIDDEN; 43 | extern char const* COMPILE_TZONE DLLHIDDEN; 44 | 45 | #endif /* VDATE_H */ 46 | -------------------------------------------------------------------------------- /metamod-p/vers_meta.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // vers_meta.h - version info, intended to be common among DLLs distributed 5 | // with metamod. 6 | 7 | /* 8 | * Copyright (c) 2001-2013 Will Day 9 | * 10 | * This file is part of Metamod. 11 | * 12 | * Metamod is free software; you can redistribute it and/or modify it 13 | * under the terms of the GNU General Public License as published by the 14 | * Free Software Foundation; either version 2 of the License, or (at 15 | * your option) any later version. 16 | * 17 | * Metamod is distributed in the hope that it will be useful, but 18 | * WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | * General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with Metamod; if not, write to the Free Software Foundation, 24 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 25 | * 26 | * In addition, as a special exception, the author gives permission to 27 | * link the code of this program with the Half-Life Game Engine ("HL 28 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 29 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 30 | * respects for all of the code used other than the HL Engine and MODs 31 | * from Valve. If you modify this file, you may extend this exception 32 | * to your version of the file, but you are not obligated to do so. If 33 | * you do not wish to do so, delete this exception statement from your 34 | * version. 35 | * 36 | */ 37 | 38 | #ifndef VERS_META_H 39 | #define VERS_META_H 40 | 41 | #ifndef OPT_TYPE 42 | #define OPT_TYPE "default" 43 | #endif /* not OPT_TYPE */ 44 | 45 | //#define VDATE "2024/03/18" 46 | #define VPATCH_COPYRIGHT_YEAR "2024" 47 | #define VMETA_VERSION "1.21" 48 | 49 | #define VPATCH_NAME "Metamod-P-APG (MM-P-APG)" 50 | #define VPATCH_IVERSION 43 51 | #define VPATCH_VERSION "-APG" 52 | #define VPATCH_AUTHOR "Jussi Kivilinna & RoboCop" 53 | #define VPATCH_WEBSITE "https://apg-clan.org/" 54 | 55 | #define VVERSION VMETA_VERSION "p" VPATCH_VERSION 56 | #define RC_VERS_DWORD 1,21,0,VPATCH_IVERSION // Version Windows DLL Resources in res_meta.rc 57 | 58 | #endif /* VERS_META_H */ 59 | -------------------------------------------------------------------------------- /metamod/game_autodetect.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // autodetect.h - GameDLL search and autodetection. 5 | 6 | /* 7 | * Copyright (c) 2004-2006 Jussi Kivilinna 8 | * 9 | * This file is part of "Metamod All-Mod-Support"-patch for Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef GAME_AUTODETECT_H 38 | #define GAME_AUTODETECT_H 39 | 40 | #include "metamod.h" 41 | const char * DLLINTERNAL autodetect_gamedll(const gamedll_t *gamedll, const char *knownfn); 42 | 43 | #endif /*GAME_AUTODETECT_H*/ 44 | -------------------------------------------------------------------------------- /metamod/game_support.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // game_support.h - structures for supporting different HL mod "games" 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef GAME_SUPPORT_H 38 | #define GAME_SUPPORT_H 39 | 40 | #include "types_meta.h" // mBOOL 41 | #include "metamod.h" // gamedll_t 42 | 43 | // Information we have about each game/mod DLL. 44 | typedef struct game_modinfo_s { 45 | const char *name; // name (the game dir) 46 | const char *linux_so; // filename of linux shared lib 47 | const char *win_dll; // filename of win32 dll 48 | const char *desc; // our long-name description 49 | } game_modinfo_t; 50 | 51 | typedef game_modinfo_t game_modlist_t[]; 52 | 53 | const DLLINTERNAL game_modinfo_t *lookup_game(const char *name); 54 | mBOOL DLLINTERNAL setup_gamedll(gamedll_t *gamedll); 55 | 56 | #endif /* GAME_SUPPORT_H */ 57 | -------------------------------------------------------------------------------- /metamod/h_export.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // h_export.h - prototypes for h_export.cpp 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef H_EXPORT_H 38 | #define H_EXPORT_H 39 | 40 | #include "osdep.h" // DLLEXPORT, WINAPI, etc 41 | 42 | // Our GiveFnptrsToDll, called by engine. 43 | typedef void (WINAPI *GIVE_ENGINE_FUNCTIONS_FN) (enginefuncs_t 44 | *pengfuncsFromEngine, globalvars_t *pGlobals); 45 | 46 | C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t *pengfuncsFromEngine, 47 | globalvars_t *pGlobals); 48 | 49 | #endif /* H_EXPORT_H */ 50 | -------------------------------------------------------------------------------- /metamod/info_name.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/metamod/info_name.h -------------------------------------------------------------------------------- /metamod/mhook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/metamod/mhook.h -------------------------------------------------------------------------------- /metamod/mqueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/metamod/mqueue.h -------------------------------------------------------------------------------- /metamod/new_baseclass.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2004-2006 Jussi Kivilinna 3 | * 4 | * This file is part of "Metamod All-Mod-Support"-patch for Metamod. 5 | * 6 | * Metamod is free software; you can redistribute it and/or modify it 7 | * under the terms of the GNU General Public License as published by the 8 | * Free Software Foundation; either version 2 of the License, or (at 9 | * your option) any later version. 10 | * 11 | * Metamod is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with Metamod; if not, write to the Free Software Foundation, 18 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 | * 20 | * In addition, as a special exception, the author gives permission to 21 | * link the code of this program with the Half-Life Game Engine ("HL 22 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 23 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 24 | * respects for all of the code used other than the HL Engine and MODs 25 | * from Valve. If you modify this file, you may extend this exception 26 | * to your version of the file, but you are not obligated to do so. If 27 | * you do not wish to do so, delete this exception statement from your 28 | * version. 29 | * 30 | */ 31 | #ifndef METAMOD_NEW_BASECLASS_H 32 | #define METAMOD_NEW_BASECLASS_H 33 | 34 | #include 35 | 36 | #include "comp_dep.h" 37 | 38 | //new/delete operators with malloc/free to remove need for libstdc++ 39 | 40 | class class_metamod_new { 41 | public: 42 | // Construction 43 | class_metamod_new(void) { }; 44 | 45 | // Operators 46 | inline void * operator new(size_t size) { 47 | if(size==0) 48 | return(calloc(1, 1)); 49 | return(calloc(1, size)); 50 | } 51 | 52 | inline void * operator new[](size_t size) { 53 | if(size==0) 54 | return(calloc(1, 1)); 55 | return(calloc(1, size)); 56 | } 57 | 58 | inline void operator delete(void *ptr) { 59 | // if(ptr) 60 | free(ptr); 61 | } 62 | 63 | inline void operator delete[](void *ptr) { 64 | // if(ptr) 65 | free(ptr); 66 | } 67 | }; 68 | 69 | #endif /*METAMOD_NEW_BASECLASS_H*/ 70 | -------------------------------------------------------------------------------- /metamod/reg_support.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // reg_support.h - functions for "registered" cmd/cvar/msg support 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef REG_SUPPORT_H 38 | #define REG_SUPPORT_H 39 | 40 | #include "mreg.h" // REG_CMD_FN, etc 41 | 42 | // these are only 'hidden' because called from outside (plugins and engine) 43 | void DLLHIDDEN meta_command_handler(void); 44 | void DLLHIDDEN meta_AddServerCommand(char *cmd_name, REG_CMD_FN function); 45 | void DLLHIDDEN meta_CVarRegister(cvar_t *pCvar); 46 | int DLLHIDDEN meta_RegUserMsg(const char *pszName, int iSize); 47 | void DLLHIDDEN meta_QueryClientCvarValue(const edict_t *player, const char *cvarName); 48 | 49 | #endif /* REG_SUPPORT_H */ 50 | -------------------------------------------------------------------------------- /metamod/studioapi.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // studio.cpp - player model blending interfaces 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | //Jussi Kivilinna: This forwarder function to gamedll is not needed anymore, dynamic 38 | // linkent code handles this too! 39 | -------------------------------------------------------------------------------- /metamod/thread_logparse.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/metamod/thread_logparse.h -------------------------------------------------------------------------------- /metamod/vdate.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // vdate.h - compile-time version date 5 | 6 | /* 7 | * Copyright (c) 2001-2006 Will Day 8 | * 9 | * This file is part of Metamod. 10 | * 11 | * Metamod is free software; you can redistribute it and/or modify it 12 | * under the terms of the GNU General Public License as published by the 13 | * Free Software Foundation; either version 2 of the License, or (at 14 | * your option) any later version. 15 | * 16 | * Metamod is distributed in the hope that it will be useful, but 17 | * WITHOUT ANY WARRANTY; without even the implied warranty of 18 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 | * General Public License for more details. 20 | * 21 | * You should have received a copy of the GNU General Public License 22 | * along with Metamod; if not, write to the Free Software Foundation, 23 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 24 | * 25 | * In addition, as a special exception, the author gives permission to 26 | * link the code of this program with the Half-Life Game Engine ("HL 27 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 28 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 29 | * respects for all of the code used other than the HL Engine and MODs 30 | * from Valve. If you modify this file, you may extend this exception 31 | * to your version of the file, but you are not obligated to do so. If 32 | * you do not wish to do so, delete this exception statement from your 33 | * version. 34 | * 35 | */ 36 | 37 | #ifndef VDATE_H 38 | #define VDATE_H 39 | 40 | #include "comp_dep.h" 41 | 42 | extern char const *COMPILE_TIME DLLHIDDEN; 43 | extern char const *COMPILE_TZONE DLLHIDDEN; 44 | 45 | #endif /* VDATE_H */ 46 | -------------------------------------------------------------------------------- /metamod/vers_meta.h: -------------------------------------------------------------------------------- 1 | // vi: set ts=4 sw=4 : 2 | // vim: set tw=75 : 3 | 4 | // vers_meta.h - version info, intended to be common among DLLs distributed 5 | // with metamod. 6 | 7 | /* 8 | * Copyright (c) 2001-2006 Will Day 9 | * 10 | * This file is part of Metamod. 11 | * 12 | * Metamod is free software; you can redistribute it and/or modify it 13 | * under the terms of the GNU General Public License as published by the 14 | * Free Software Foundation; either version 2 of the License, or (at 15 | * your option) any later version. 16 | * 17 | * Metamod is distributed in the hope that it will be useful, but 18 | * WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 | * General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with Metamod; if not, write to the Free Software Foundation, 24 | * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 25 | * 26 | * In addition, as a special exception, the author gives permission to 27 | * link the code of this program with the Half-Life Game Engine ("HL 28 | * Engine") and Modified Game Libraries ("MODs") developed by Valve, 29 | * L.L.C ("Valve"). You must obey the GNU General Public License in all 30 | * respects for all of the code used other than the HL Engine and MODs 31 | * from Valve. If you modify this file, you may extend this exception 32 | * to your version of the file, but you are not obligated to do so. If 33 | * you do not wish to do so, delete this exception statement from your 34 | * version. 35 | * 36 | */ 37 | 38 | #ifndef VERS_META_H 39 | #define VERS_META_H 40 | 41 | #ifndef OPT_TYPE 42 | # define OPT_TYPE "default" 43 | #endif /* not OPT_TYPE */ 44 | 45 | 46 | #define VDATE "2006/03/04" 47 | #define VMETA_VERSION "1.19" 48 | 49 | #define VPATCH_NAME "Metamod-P (mm-p)" 50 | #define VPATCH_IVERSION 28 51 | #define VPATCH_VERSION "28" 52 | #define VPATCH_AUTHOR "Jussi Kivilinna" 53 | #define VPATCH_WEBSITE "http://metamod-p.sourceforge.net/" 54 | 55 | #define VVERSION VMETA_VERSION "p" VPATCH_VERSION 56 | #define RC_VERS_DWORD 1,19,0,VPATCH_IVERSION // Version Windows DLL Resources in res_meta.rc 57 | 58 | 59 | 60 | #endif /* VERS_META_H */ 61 | -------------------------------------------------------------------------------- /msvc/foxbot.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29609.76 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FoXBot", "FoXBot.vcxproj", "{1B5DCD7E-8429-917C-4109-F3234354B1B7}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Debug|Win32.Build.0 = Debug|Win32 18 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Debug|x64.ActiveCfg = Debug|x64 19 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Debug|x64.Build.0 = Debug|x64 20 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Release|Win32.ActiveCfg = Release|Win32 21 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Release|Win32.Build.0 = Release|Win32 22 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Release|x64.ActiveCfg = Release|x64 23 | {1B5DCD7E-8429-917C-4109-F3234354B1B7}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {299E8971-9858-4D60-B8AA-051E9B44B726} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /msvc/foxbot.sln.DotSettings.user: -------------------------------------------------------------------------------- 1 |  2 | SOLUTION -------------------------------------------------------------------------------- /msvc/foxbot.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | D:\games\steam\steamapps\common\Half-Life\hlds.exe 5 | -console -game tfc +maxplayers 32 +map 2fort +ip 192.168.200.4 +port 27011 6 | D:\games\steam\steamapps\common\Half-Life 7 | WindowsLocalDebugger 8 | 9 | 10 | D:\games\steam\steamapps\common\Half-Life\hlds.exe 11 | WindowsLocalDebugger 12 | -console -game tfc +maxplayers 32 +map 2fort +ip 192.168.200.4 +port 27011 13 | D:\games\steam\steamapps\common\Half-Life 14 | 15 | -------------------------------------------------------------------------------- /msvc/res_fox.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | ///////////////////////////////////////////////////////////////////////////// 4 | // English (United Kingdom) resources 5 | 6 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG) 7 | // LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK 8 | #pragma code_page(1252) 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // 12 | // Version 13 | // 14 | 15 | VS_VERSION_INFO VERSIONINFO FILEVERSION 0, 792, 0, 0 PRODUCTVERSION 0, 792, 0, 16 | 0 FILEFLAGSMASK 0x3fL 17 | #ifdef _DEBUG 18 | FILEFLAGS 0x1L 19 | #else 20 | FILEFLAGS 0x0L 21 | #endif 22 | FILEOS 0x4L FILETYPE 0x2L FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "040904b0" BEGIN VALUE "Comments", 23 | "AI opponent for Half-Life TFC" VALUE "CompanyName", "Tom Simpson " VALUE "FileDescription", "FoxBot Half-Life MOD DLL" VALUE "FileVersion", "0.799.0.0" VALUE "InternalName", "FoxBot" VALUE "LegalCopyright", 24 | "Copyright © 2020, Tom Simpson and APG Foundation" VALUE "OriginalFilename", "foxbot_mm.dll" VALUE "ProductName", "FoxBot" VALUE "ProductVersion", "0.799.0.0" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x409, 25 | 1200 END END 26 | 27 | #ifdef APSTUDIO_INVOKED 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // 30 | // TEXTINCLUDE 31 | // 32 | 33 | 1 TEXTINCLUDE BEGIN "resource.h\0" END 34 | 35 | 2 TEXTINCLUDE BEGIN "\0" END 36 | 37 | 3 TEXTINCLUDE BEGIN "\r\n" 38 | "\0" END 39 | 40 | #endif // APSTUDIO_INVOKED 41 | 42 | #endif // English (United Kingdom) resources 43 | ///////////////////////////////////////////////////////////////////////////// 44 | 45 | #ifndef APSTUDIO_INVOKED 46 | ///////////////////////////////////////////////////////////////////////////// 47 | // 48 | // Generated from the TEXTINCLUDE 3 resource. 49 | // 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | #endif // not APSTUDIO_INVOKED -------------------------------------------------------------------------------- /vers_fox.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/APGRoboCop/foxbot/abc2210ac79da70b0bf2c3bf500c27e3a2660785/vers_fox.h -------------------------------------------------------------------------------- /version.cpp: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com 3 | /* 4 | * File: version.cpp 5 | * Date: 21.09.2001 6 | * Project: Foxbot 7 | * 8 | * Description: This file provides static strings that hold up-to-date 9 | * information about the build. It gets recompiled on every link. 10 | * 11 | * Copyright (c) 2001, Tom Simpson 12 | * 13 | * 14 | * $Id: version.cpp,v 1.1 2001/10/08 22:10:02 fb_cvs Exp $ 15 | * 16 | */ 17 | 18 | // Write Strings fixed - [APG]RoboCop[CL] 19 | const char* COMPILE_DTTM = __DATE__ ", " __TIME__; 20 | 21 | const char* COMPILE_DATE = __DATE__; -------------------------------------------------------------------------------- /version.h: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * File: version.h 4 | * Date: 21.09.2001 5 | * Project: Foxbot 6 | * 7 | * Description: This file provides version information for Foxbot 8 | * 9 | * Copyright (c) 2001, Tom Simpson 10 | * 11 | * 12 | * $Id: version.h,v 1.2 2002/04/21 10:52:50 fb_cvs Exp $ 13 | * 14 | */ 15 | 16 | /* 17 | * Build type, either debugging or optimized. 18 | * This is set by the Makefile. Provide a default 19 | * in case is isn't defined by the Makefile 20 | * 21 | */ 22 | #ifndef _VERSION_H_ 23 | #define _VERSION_H_ 24 | 25 | #ifndef OPT_TYPE 26 | #if defined(_MSC_VER) && defined(_DEBUG) 27 | #define OPT_TYPE "debugging" 28 | #elif defined(_MSC_VER) && defined(_NDEBUG) 29 | #define OPT_TYPE "optimized" 30 | #else 31 | #define OPT_TYPE "default" 32 | #endif /* _MSC_VER */ 33 | #endif 34 | 35 | /* 36 | * Version number. 37 | * This is also defined by the Makefile. 38 | * If not, we provide it here. 39 | */ 40 | #ifndef VERSION 41 | #define VERSION (1.0) 42 | #endif 43 | 44 | /* 45 | * Version type. 46 | * This is also defined by the Makefile. 47 | * If not, we provide it here. 48 | */ 49 | #ifndef MOD_VERSION 50 | #ifdef USE_METAMOD 51 | #define MOD_VERSION VERSION " (MM)" 52 | #else 53 | #define MOD_VERSION VERSION 54 | #endif 55 | #endif 56 | 57 | /* 58 | * We keep the compile time and date in a static string. 59 | * This info gets updated on every link, indicating the 60 | * latest time and date the dll was compiled and linked. 61 | */ 62 | extern const char* COMPILE_DTTM; 63 | extern const char* COMPILE_DATE; 64 | 65 | /* 66 | * We can also provide the timezone. It gets set in the 67 | * Makefile. If not, we can provide it here. 68 | */ 69 | #ifndef TZONE 70 | #define TZONE "GMT" 71 | #endif 72 | 73 | /* 74 | * This info is used as Plugin info by Metamod 75 | */ 76 | #define VDATE COMPILE_DATE 77 | #define VNAME "FoxBot" 78 | #define VAUTHOR "Tom Simpson & RoboCop " 79 | #define VURL "apg-clan.org" 80 | 81 | #endif /* _VERSION_H_ */ 82 | --------------------------------------------------------------------------------