IPB

Welcome Guest ( Log In | Register )

3 Pages V  1 2 3 >  
Reply to this topicStart new topic
> Compiling RCBot2
Cheeseh
post Apr 29 2010, 11:19 AM
Post #1


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



1. Use Visual Studio 2005/2008 (windows)

2. Use a tool such as Ankhsvn or TortoiseSVN for Visual Studio 2005/2008 (windows)
http://ankhsvn.open.collab.net/
http://tortoisesvn.net/

3. Get the appropriate HL2 SDK, from https://github.com/alliedmodders/hl2sdk/ this has updated SDK code
(TF2 SDK https://github.com/alliedmodders/hl2sdk/tree/tf2 )
(DODS https://github.com/alliedmodders/hl2sdk/tree/dods )
(HL 2 DM https://github.com/alliedmodders/hl2sdk/tree/hl2dm)

4. Get the code from sourceforge SVN by opening an SVN project in VS Studio (using AnkhSVN)
https://sourceforge.net/scm/?type=svn&group_id=248612
download the rcbot2 source: using this command svn checkout svn://svn.code.sf.net/p/rcbot2/code/ rcbot2-code
or this server checkout svn://svn.code.sf.net/p/rcbot2/code/

Make sure the project is in the HL2 SDK folder/utils/rcbot2

(Also if you wish to change any code for others to see, make a sourceforge.net username and ask me to add you to the list of coders.)

5. Mar 2013 - note that the latest releases hook to the engine to work properly. This solves many problems that the past rcbot had, but it may create problems in the future, for example TF2 updates may change the engine. For that reasons, if the bot crashes, keep up to date with the website at:
http://www.sourcemodplugins.org/vtableoffsets
and keep the rcbot_runplayer_cmd updated to the latest PlayerRunCommand offset number for windows (the linux offset is added automatically in the bot if the windows offset is correct) .
At this time of speaking, the offset is 418 for tf2 and 417 for DOD:s
Linux offsets are shifted by 1

6. Get coding! cool.gif

Linux instructions + Makefile are here:

http://sourceforge.net/p/rcbot2/wiki/Compiling%20in%20Linux/

Make file for linux by bir3yk in code form below (NOTE if you copy/paste this into a new file, you must change any spaces to tabs)
CODE

#
# SDK Makefile for x86 Linux
#
#

#############################################################################
# Developer configurable items
#############################################################################

# the name of the mod binary (_i486.so is appended to the end)
#NAME=server
NAME=HPB_bot2

# the location of the vcproj that builds the mod
#MOD_PROJ=../game/server/server_hl2mp-2005.vcproj
MOD_PROJ=../utils/RCBot2/HPB_Bot2.vcproj

# the name of the mod configuration (typically <proj name>_<build type><build target>)
#MOD_CONFIG=ServerHL2MP_ReleaseWin32
MOD_CONFIG=HPB_bot2_ReleaseWin32

# the directory the base binaries (tier0_i486.so, etc) are located
# this should point to your orange box subfolder of where you have srcds installed.
#GAME_DIR=~/srcds/orangebox
GAME_DIR=/home/hlds/steam/orangebox

# the path to your mods directory
# set this so that 'make install' or 'make installrelease' will copy your binary over automatically.
#MOD_DIR=$(GAME_DIR)/SampleMod
MOD_DIR=$(GAME_DIR)/

# compiler options (gcc 3.4.1 will work - 4.2.2 recommended)
#CC=/usr/local/bin/gcc
#CPLUS=/usr/local/bin/g++
#CLINK=/usr/local/bin/gcc
#CPP_LIB="/usr/local/lib/libstdc++.a /usr/local/lib/gcc/i686-pc-linux-gnu/4.2.2/libgcc_eh.a"
#CC=/usr/bin/gcc
#CPLUS=/usr/bin/g++-4.1
#CLINK=/usr/bin/gcc-4.1
CPP_LIB=" /usr/lib/gcc/i486-linux-gnu/4.1.3/libstdc++.a /usr/lib/gcc/i486-linux-gnu/4.1.3/libgcc_eh.a"
C = /usr/bin/gcc-4.1
CPLUS = /usr/bin/g++-4.1
CLINK = /usr/bin/gcc-4.1
#CPP_LIB = "libstdc++.a libgcc_eh.a"


# GCC 4.2.2 optimization flags, if you're using anything below, don't use these!
#OPTFLAGS=-O1 -fomit-frame-pointer -ffast-math -fforce-addr -funroll-loops -fthread-jumps -fcrossjumping -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm -fexpensive-optimizations -frerun-cse-after-loop -fcaller-saves -fpeephole2 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove -fstrict-overflow -fdelete-null-pointer-checks -freorder-blocks -freorder-functions -falign-functions -falign-jumps -falign-loops -falign-labels -ftree-vrp -ftree-pre -finline-functions -funswitch-loops -fgcse-after-reload
OPTFLAGS=-O1 -fomit-frame-pointer -ffast-math -fforce-addr -funroll-loops -fthread-jumps -fcrossjumping -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm -fexpensive-optimizations -frerun-cse-after-loop -fcaller-saves -fpeephole2 -fschedule-insns2 -fsched-interblock -fsched-spec -fregmove -fdelete-null-pointer-checks -freorder-blocks -freorder-functions -falign-functions -falign-jumps -falign-loops -falign-labels -ftree-vrp -ftree-pre -finline-functions -funswitch-loops -fgcse-after-reload

#OPTFLAGS=

# put any compiler flags you want passed here
USER_CFLAGS=

# Link Libraries
#LIBFILES= \
#  $(LIB_DIR)/lib/linux/tier1_486.a \
#  $(LIB_DIR)/lib/linux/choreoobjects_486.a \
#  $(LIB_DIR)/lib/linux/particles_486.a \
#  $(LIB_DIR)/lib/linux/dmxloader_486.a \
#  libtier0.so \
#  libvstdlib.so \
#  libsteam_api.so \
#  $(LIB_DIR)/lib/linux/tier3_486.a \
#  $(LIB_DIR)/lib/linux/tier2_486.a \
#  $(LIB_DIR)/lib/linux/tier1_486.a \
#  $(LIB_DIR)/lib/linux/mathlib_486.a \


# link flags for your mod, make sure to include any special libraries here
#NOTE: YES we want to include the lib files 2 times. We've run into problems with the 1-pass linker not bringing in symbols it should.
#LDFLAGS="-lm -ldl $(LIBFILES) $(LIBFILES)"
LIB_DIR = $(SOURCE_DIR)/lib/linux
LDFLAGS = "-lm -ldl  $(LIB_DIR)/mathlib_i486.a libtier0.so libvstdlib.so  $(LIB_DIR)/tier1_i486.a $(LIB_DIR)/tier2_i486.a $(LIB_DIR)/tier3_i486.a "

# XERCES 2.6.0 or above ( [url=http://xml.apache.org/xerces-c/]http://xml.apache.org/xerces-c/[/url] ) is used by the vcproj to makefile converter
# it must be installed before being able to run this makefile
# if you have xerces installed already you should be able to use the two lines below
#XERCES_INC_DIR=/usr/include
#XERCES_LIB_DIR=/usr/lib
XERCES_INC_DIR=/opt/include
XERCES_LIB_DIR=/opt/lib

#############################################################################
# Things below here shouldn't need to be altered
#############################################################################
MAKE=make

# the dir we want to put binaries we build into
BUILD_DIR=.
# the place to put object files
BUILD_OBJ_DIR=$(BUILD_DIR)/obj

# the location of the source code
SOURCE_DIR=..

# the CPU target for the build, must be i486 for now
ARCH=i486
ARCH_CFLAGS=-mtune=i686 -march=pentium -mmmx -msse -pipe

# -fpermissive is so gcc 3.4.x doesn't complain about some template stuff
BASE_CFLAGS=-DVPROF_LEVEL=1 -DSWDS -D_LINUX -DLINUX -DNDEBUG -fpermissive -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp

SHLIBEXT=so

SHLIBCFLAGS=-fPIC
SHLIBLDFLAGS=-shared -Wl,-Map,$@_map.txt -Wl

#flags passed to the compiler
CFLAGS="$(USER_CFLAGS) $(DEFINES) $(ARCH_CFLAGS) $(OPTFLAGS) $(BASE_CFLAGS) -Usprintf=use_Q_snprintf_instead_of_sprintf -Ustrncpy=use_Q_strncpy_instead -Ufopen=dont_use_fopen -UPROTECTED_THINGS_ENABLE"

# define list passed to make for the sub makefile
BASE_DEFINES=CC=$(CC) CPLUS=$(CPLUS) CPP_LIB=$(CPP_LIB) \
    BUILD_DIR=$(BUILD_DIR) BUILD_OBJ_DIR=$(BUILD_OBJ_DIR) \
    SOURCE_DIR=$(SOURCE_DIR) SHLIBLDFLAGS=$(SHLIBLDFLAGS) SHLIBEXT=$(SHLIBEXT) \
    CLINK=$(CLINK) CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) \
    ARCH=$(ARCH) GAME_DIR=$(GAME_DIR) MOD_CONFIG=$(MOD_CONFIG) NAME=$(NAME) \
    XERCES_INC_DIR=$(XERCES_INC_DIR) XERCES_LIB_DIR=$(XERCES_LIB_DIR)

# Project Makefile
MAKE_MOD=Makefile.server
MAKE_VCPM=Makefile.vcpm
MAKE_PLUGIN=Makefile.plugin

all: check vcpm server

check:
    if [ -z "$(CC)" ]; then echo "Compiler not defined."; exit; fi
    if [ ! -d $(BUILD_DIR) ];then mkdir $(BUILD_DIR);fi
    cd $(BUILD_DIR)

vcpm:
    $(MAKE) -f $(MAKE_VCPM) $(BASE_DEFINES)

server: vcpm
    if [ ! -f "libtier0.so" ]; then ln -s $(GAME_DIR)/bin/libtier0.so .; fi
    if [ ! -f "libvstdlib.so" ]; then ln -s $(GAME_DIR)/bin/libvstdlib.so .; fi
#    if [ ! -f "libsteam_api.so" ]; then ln -s $(GAME_DIR)/bin/libsteam_api.so .; fi
# When running over samba we need to copy the files because symlinking isn't possible.
#    cp -f $(GAME_DIR)/bin/tier0_i486.so .
#    cp -f $(GAME_DIR)/bin/vstdlib_i486.so .
#    cp -f $(GAME_DIR)/bin/steam_api_i486.so .

    ./vcpm $(MOD_PROJ)
    $(MAKE) -f $(MAKE_MOD) $(BASE_DEFINES)

plugin:
    $(MAKE) -f $(MAKE_PLUGIN) $(BASE_DEFINES)

clean:
     $(MAKE) -f $(MAKE_VCPM) $(BASE_DEFINES) clean
     $(MAKE) -f $(MAKE_PLUGIN) $(BASE_DEFINES) clean
     $(MAKE) -f $(MAKE_MOD) $(BASE_DEFINES) clean

install:
    cp -f $(NAME)_$(ARCH).so $(MOD_DIR)/bin/$(NAME)_$(ARCH).so

installrelease:
    cp -f $(NAME)_$(ARCH).so $(MOD_DIR)/bin/$(NAME)_$(ARCH).so
    strip $(MOD_DIR)/bin/$(NAME)_$(ARCH).so
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Rainbow Unicorn
post May 1 2010, 03:39 AM
Post #2


Newbie
*

Group: Members
Posts: 5
Joined: 2-March 10
Member No.: 1,798



Hey, one note: I posted in another forum about the version of rcbot I compile locking when I add a bot, and the above post helped. I had to download the cleaned-up SDK you mentioned earlier. Specifically, this one:
http://hg.alliedmods.net/hl2sdks/hl2sdk-ob-valve/

With rcbot in this SDK, everything compiles clean. Thanks! If I make any tweaks, I'll check with you and see if you think they should be committed to SVN later.

Thanks again!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
TesterYYY
post Feb 3 2013, 05:13 PM
Post #3


Member
**

Group: Members
Posts: 24
Joined: 25-January 13
Member No.: 2,251



Hi,
it's possible to compile RCBot2 under VS2012 ? Because I am getting some error:
CODE
Error    1    error C2065: 'IServerGameDLL_004' : undeclared identifier    \bot_getprop.cpp    73    1    HPB_Bot2

What HL2SDK do I need download ? Because I don't understand what to do with HL2SDK ...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Feb 4 2013, 03:04 AM
Post #4


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



add this before IServerGameDLL in eiface.h

this was just for the bot to be backward compatible with non orange box mods

CODE

define INTERFACEVERSION_SERVERGAMEDLL_VERSION_4    "ServerGameDLL004"
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_5    "ServerGameDLL005"
#define INTERFACEVERSION_SERVERGAMEDLL_VERSION_6    "ServerGameDLL006"
#define INTERFACEVERSION_SERVERGAMEDLL                "ServerGameDLL007"

//-----------------------------------------------------------------------------
// Purpose: These are the interfaces that the game .dll exposes to the engine
//-----------------------------------------------------------------------------
abstract_class IServerGameDLL_004
{
public:
    // Initialize the game (one-time call when the DLL is first loaded )
    // Return false if there is an error during startup.
    virtual bool            DLLInit(    CreateInterfaceFn engineFactory,
                                        CreateInterfaceFn physicsFactory,
                                        CreateInterfaceFn fileSystemFactory,
                                        CGlobalVars *pGlobals) = 0;
    
    // This is called when a new game is started. (restart, map)
    virtual bool            GameInit( void ) = 0;

    // Called any time a new level is started (after GameInit() also on level transitions within a game)
    virtual bool            LevelInit( char const *pMapName,
                                    char const *pMapEntities, char const *pOldLevel,
                                    char const *pLandmarkName, bool loadGame, bool background ) = 0;

    // The server is about to activate
    virtual void            ServerActivate( edict_t *pEdictList, int edictCount, int clientMax ) = 0;

    // The server should run physics/think on all edicts
    virtual void            GameFrame( bool simulating ) = 0;

    // Called once per simulation frame on the final tick
    virtual void            PreClientUpdate( bool simulating ) = 0;

    // Called when a level is shutdown (including changing levels)
    virtual void            LevelShutdown( void ) = 0;
    // This is called when a game ends (server disconnect, death, restart, load)
    // NOT on level transitions within a game
    virtual void            GameShutdown( void ) = 0;

    // Called once during DLL shutdown
    virtual void            DLLShutdown( void ) = 0;

    // Get the simulation interval (must be compiled with identical values into both client and game .dll for MOD!!!)
    // Right now this is only requested at server startup time so it can't be changed on the fly, etc.
    virtual float            GetTickInterval( void ) const = 0;

    // Give the list of datatable classes to the engine.  The engine matches class names from here with
    //  edict_t::classname to figure out how to encode a class's data for networking
    virtual ServerClass*    GetAllServerClasses( void ) = 0;

    // Returns string describing current .dll.  e.g., TeamFortress 2, Half-Life 2.  
    //  Hey, it's more descriptive than just the name of the game directory
    virtual const char     *GetGameDescription( void ) = 0;      
    
    // Let the game .dll allocate it's own network/shared string tables
    virtual void            CreateNetworkStringTables( void ) = 0;
    
    // Save/restore system hooks
    virtual CSaveRestoreData  *SaveInit( int size ) = 0;
    virtual void            SaveWriteFields( CSaveRestoreData *, const char *, void *, datamap_t *, typedescription_t *, int ) = 0;
    virtual void            SaveReadFields( CSaveRestoreData *, const char *, void *, datamap_t *, typedescription_t *, int ) = 0;
    virtual void            SaveGlobalState( CSaveRestoreData * ) = 0;
    virtual void            RestoreGlobalState( CSaveRestoreData * ) = 0;
    virtual void            PreSave( CSaveRestoreData * ) = 0;
    virtual void            Save( CSaveRestoreData * ) = 0;
    virtual void            GetSaveComment( char *comment, int maxlength, float flMinutes, float flSeconds, bool bNoTime = false ) = 0;
    virtual void            WriteSaveHeaders( CSaveRestoreData * ) = 0;
    virtual void            ReadRestoreHeaders( CSaveRestoreData * ) = 0;
    virtual void            Restore( CSaveRestoreData *, bool ) = 0;
    virtual bool            IsRestoring() = 0;

    // Returns the number of entities moved across the transition
    virtual int                CreateEntityTransitionList( CSaveRestoreData *, int ) = 0;
    // Build the list of maps adjacent to the current map
    virtual void            BuildAdjacentMapList( void ) = 0;

    // Retrieve info needed for parsing the specified user message
    virtual bool            GetUserMessageInfo( int msg_type, char *name, int maxnamelength, int& size ) = 0;

    // Hand over the StandardSendProxies in the game DLL's module.
    virtual CStandardSendProxies*    GetStandardSendProxies() = 0;

    // Called once during startup, after the game .dll has been loaded and after the client .dll has also been loaded
    virtual void            PostInit() = 0;
    // Called once per frame even when no level is loaded...
    virtual void            Think( bool finalTick ) = 0;

#ifdef _XBOX
    virtual void            GetTitleName( const char *pMapName, char* pTitleBuff, int titleBuffSize ) = 0;
#endif

    virtual void            PreSaveGameLoaded( char const *pSaveName, bool bCurrentlyInGame ) = 0;

    // Returns true if the game DLL wants the server not to be made public.
    // Used by commentary system to hide multiplayer commentary servers from the master.
    virtual bool            ShouldHideServer( void ) = 0;

    virtual void            InvalidateMdlCache() = 0;

    // * This function is new with version 6 of the interface.
    //
    // This is called when a query from IServerPluginHelpers::StartQueryCvarValue is finished.
    // iCookie is the value returned by IServerPluginHelpers::StartQueryCvarValue.
    // Added with version 2 of the interface.
    virtual void            OnQueryCvarValueFinished( QueryCvarCookie_t iCookie, edict_t *pPlayerEntity, EQueryCvarValueStatus eStatus, const char *pCvarName, const char *pCvarValue ) = 0;
    
    // Called after the steam API has been activated post-level startup
    virtual void            GameServerSteamAPIActivated( void ) = 0;
    
    virtual void            GameServerSteamAPIShutdown( void ) = 0;
};
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
TesterYYY
post Feb 4 2013, 03:26 AM
Post #5


Member
**

Group: Members
Posts: 24
Joined: 25-January 13
Member No.: 2,251



Thanks but now Ive got next error:
CODE
Error    1    error C2146: syntax error : missing ';' before identifier '_cacheid'    \hl2sdk-ob-valve-73494b76171e\public\tier0\memoverride.cpp    1182    1    HPB_Bot2
Error    2    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int    memoverride.cpp    1182    1    HPB_Bot2


Edit: Changed LC_ID to LCID and compiled OK.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Root
post Sep 21 2013, 03:35 PM
Post #6


Member
**

Group: Members
Posts: 24
Joined: 20-July 13
Member No.: 2,291



Hey Cheeseh can you update makefile? Its really dirty and using GCC 4.1, whenever 4.8 is used nowadays.
Thanks in advance!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ted
post Jan 27 2014, 11:47 PM
Post #7


Member
**

Group: Members
Posts: 13
Joined: 20-February 13
Member No.: 2,257



I've added CMake build support for RCBot. The motivation is to create a build process that is supported cross platform. Cmake offers other benefits such as project generation for visual studio (not tested) and xcode and eclipse. You must have cmake 2.8 installed.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Root
post Dec 22 2014, 03:10 PM
Post #8


Member
**

Group: Members
Posts: 24
Joined: 20-July 13
Member No.: 2,291



Hello Cheeseh! Thanks for all your work of RCbot.
However there's an issue. I cant get r445 to compile. It gives approximately 110 errors. Neither debug, nor release builts can be compiled... any suggestions?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Root
post Dec 22 2014, 04:24 PM
Post #9


Member
**

Group: Members
Posts: 24
Joined: 20-July 13
Member No.: 2,291



I found problem... all builds that below r429 are compiling fine. Any further gives errors like 1>bot_fortress.obj : error LNK2019: "public: static void __cdecl CTeamFortress2Mod::updateBluePayloadBomb(struct edict_t *)" (?updateBluePayloadBomb@CTeamFortress2Mod@@SAXPAUedict_t@@@Z) in function "public: virtual bool __thiscall CBotTF2::setVisible(struct edict_t *,bool)" (?setVisible@CBotTF2@@UAE_NPAUedict_t@@_N@Z)

I'll make more investigation and attemp to fix later.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Root
post Dec 23 2014, 07:01 PM
Post #10


Member
**

Group: Members
Posts: 24
Joined: 20-July 13
Member No.: 2,291



Sorry for yet another post, I want to say that I figured out a problem. Simply bot_dod_mod.cpp and dod_tf2_mod.cpp wasnt included in makefile and vcproject. Adding these should fix all the problems and bots are compiling fine now. Now I can make some improvements and pull code to sourceforge biggrin.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Root
post Dec 26 2014, 05:00 PM
Post #11


Member
**

Group: Members
Posts: 24
Joined: 20-July 13
Member No.: 2,291



I really have no idea how magically you compile these bots... dry.gif

Even if this thread exists for like 4 years and its extremely outdated, I'd like to make some notes of that.
1. It will compile fine for latest MSVC versions I believe, not only 2005/2008.
2. Ankhsvn is optional. You dont need that.
3. SDKs you provided in first post are already outdated. These are historical as it says and latest ones moved to github... obv bots with latest sdk dont compile.
4. It's enough to go to SVN>code>download snapshot. Also u say that code should be in HL2 SDK folder/utils/rcbot2, so it should looks like HL2 SDK folder/utils/rcbot2/utils/RCBot2 at the end? Confusing but I figured it out.
5. I could not compile bots on windows because bot_dod_mods.cpp and bot_tf2_mods.cpp wasnt included in .vcproj file. WTF Seriously?!
6. I could not run bots in Release builds. Server was insta-crashed due to different RuntimeLibrary in project file for Debug and Release versions.
7. As of the Linux instructions and Makefile this gave me headache for 3 days, yet couldn't compile bots at all.
At first, why does Makefile in thread are differs from wiki's Makefile? It uses different compilers as well as different params, such as SOURCE_DIR/SRC_DIR. why?

Well what I do for 1000th time:
1. Get outdated HL2SDK and put in /root/hl2sdk/
2. Get exact RCBot2 folder with bot sources from code repository and put in /root/hl2sdk/utils/RCBot2
3. Get server libs by SteamCMD, because hldsupdatetool isnt working for like 2 years already. Downloaded server to /root/srcds
4. Get VCProjToMake2010 and overwrite all files in /root/hl2sdk, then edit Makefile.vcpm (replace SOURCE_DIR to SRC_DIR, remove DEBUG from the CLINK line)
BTW Attached wiki makefile uses x64 compile libraries, thread one has no SRC_DIR, so I make something between of that. It's still part of headache.
6. Edit to 'suit my system', but again no luck. What's wrong there?
7. Run these commands
cd hl2sdk/linux_sdk
make -f Makefile.rcbot2

And alot of errors appears! What do I do? Sorry I am very confused and frustrated.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Jan 19 2015, 11:28 PM
Post #12


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



0. yes this thread is quite old because valve has a knack of changing everything now and again

1. it will be but you will need to upgrade the project and or disable some library DLLs from loading
2, yes but it is recommended if you are going to update any code
3. yes they have been updated, you can follow the link from the old one
4. yes you can use the hl2 source from the rcbot 2 snap shot but it may not be the latest
5. yes the vcproj was out of date and has been updated now - you can type these files in manually by opening the vc proj in notepad however you don't need the vcproj on windows, the solution files are better
6. this could do with the hl2 sdk being out of date (see 4)

Linux
------
yes Linux is annoying for beginners, and for me, I haven't touched it for a while and you know I haven't had the time to spare with it in the past 2 years since any of this valve crap was updated - simply I don't get paid to do any of this.

1. yes - you don't need steamCMD unless you want to test the bot in a server

2 - there are TWO makefiles but they do the same thing depending on your system, the one in this post is made by by3rk , the one in the wiki was made by myself because I found it to work with me. whichever works with you, give it a try. the main makefiles are made automatically by valve's vcprojtomake so as long as you have the latest vcproj it will make the make file for rcbot itself, but the make file for the project you need one of the make files in the wiki or this thread first.

3 - yes more valve crap being updated = and I personally give up with it because I also have to redownload everything again just to get the exact same thing working

4 - the SOURCE_DIR SRC_DIR thing is a bug with vcprojtomake or another valve product, not and rcbot thing - they cant keep things consistent either

QUOTE

And alot of errors appears! What do I do? Sorry I am very confused and frustrated.


that's exactly how GCC compiles!!! and its friggin annoying I know, but actually most of them are just warnings and it will compile fine. If it stops compiling then theres an error and you have to scout that whole error/warning list to find the error that's stopping it from being compiled

it isn't really for novices, and I don't really even have my Linux machine readily available any more, that's why I had some other coders working on the Linux side of things, but they've since left. that's why I usually leave it to others with more Linux experience - if you want to try valve's instructions if you think they're going to be any better see https://developer.valvesoftware.com/wiki/Co...ing_under_Linux and https://developer.valvesoftware.com/wiki/Se...ugins#Compiling

QUOTE(Root @ Dec 26 2014, 06:00 PM) *

I really have no idea how magically you compile these bots... dry.gif

Even if this thread exists for like 4 years and its extremely outdated, I'd like to make some notes of that.
1. It will compile fine for latest MSVC versions I believe, not only 2005/2008.
2. Ankhsvn is optional. You dont need that.
3. SDKs you provided in first post are already outdated. These are historical as it says and latest ones moved to github... obv bots with latest sdk dont compile.
4. It's enough to go to SVN>code>download snapshot. Also u say that code should be in HL2 SDK folder/utils/rcbot2, so it should looks like HL2 SDK folder/utils/rcbot2/utils/RCBot2 at the end? Confusing but I figured it out.
5. I could not compile bots on windows because bot_dod_mods.cpp and bot_tf2_mods.cpp wasnt included in .vcproj file. WTF Seriously?!
6. I could not run bots in Release builds. Server was insta-crashed due to different RuntimeLibrary in project file for Debug and Release versions.
7. As of the Linux instructions and Makefile this gave me headache for 3 days, yet couldn't compile bots at all.
At first, why does Makefile in thread are differs from wiki's Makefile? It uses different compilers as well as different params, such as SOURCE_DIR/SRC_DIR. why?

Well what I do for 1000th time:
1. Get outdated HL2SDK and put in /root/hl2sdk/
2. Get exact RCBot2 folder with bot sources from code repository and put in /root/hl2sdk/utils/RCBot2
3. Get server libs by SteamCMD, because hldsupdatetool isnt working for like 2 years already. Downloaded server to /root/srcds
4. Get VCProjToMake2010 and overwrite all files in /root/hl2sdk, then edit Makefile.vcpm (replace SOURCE_DIR to SRC_DIR, remove DEBUG from the CLINK line)
BTW Attached wiki makefile uses x64 compile libraries, thread one has no SRC_DIR, so I make something between of that. It's still part of headache.
6. Edit to 'suit my system', but again no luck. What's wrong there?
7. Run these commands
cd hl2sdk/linux_sdk
make -f Makefile.rcbot2

And alot of errors appears! What do I do? Sorry I am very confused and frustrated.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Jan 29 2015, 10:41 AM
Post #13


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



I've officially given up with compiling on Linux myself temporarily due to the technicalities and changes that valve makes. It used to compile fine with srcds, but I can't even install steam CMD now and I give up. Someone else will have to compile Linux version. Sorry
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
n0nnie
post Feb 11 2015, 07:53 PM
Post #14


Member
**

Group: Members
Posts: 35
Joined: 27-October 14
Member No.: 2,361



QUOTE(Cheeseh @ Jan 29 2015, 11:41 AM) *

I've officially given up with compiling on Linux myself temporarily due to the technicalities and changes that valve makes. It used to compile fine with srcds, but I can't even install steam CMD now and I give up. Someone else will have to compile Linux version. Sorry


If you need a testserver, I can give you one. I do not have a clue how to compile, but Steamcmd works fine here
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Feb 11 2015, 11:33 PM
Post #15


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



QUOTE(n0nnie @ Feb 11 2015, 08:53 PM) *

If you need a testserver, I can give you one. I do not have a clue how to compile, but Steamcmd works fine here


if your test server uses Linux and you can give SSH access to shell then I could use that to compile
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
n0nnie
post Feb 16 2015, 12:06 PM
Post #16


Member
**

Group: Members
Posts: 35
Joined: 27-October 14
Member No.: 2,361



QUOTE(Cheeseh @ Feb 12 2015, 12:33 AM) *

if your test server uses Linux and you can give SSH access to shell then I could use that to compile


Do you need root access for that? I got Ubuntu 12.04
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Feb 20 2015, 09:55 AM
Post #17


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



QUOTE(n0nnie @ Feb 16 2015, 01:06 PM) *

Do you need root access for that? I got Ubuntu 12.04


I don't think so, just need to create a user with access to compiling tools.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
JRob
post Apr 19 2015, 08:26 PM
Post #18


Advanced Member
***

Group: Members
Posts: 52
Joined: 30-April 11
Member No.: 1,970



I gave up on RCbots a while ago when it was broken for several years and I decided to try it again.

I just can't seem to compile it even on Windows. I am using Visual Studio 2013 which is now free.

When I try to compile the VSP version, it defined a ROUND macro when it was already defined in the standard library. After I fixed that bug, it spewed a bunch of errors about functions like hookruncmd being unresolved externs and I have no idea how I am supposed to fix that.

When I try to compile the metamod version, there are also a huge amount of errors. The first problem I noticed was that the project doesn't include metamod. Then in engine_wrappers.h it throws an error because SOURCE_ENGINE is not defined. After fixing these 2 problems, it then complained CGlobalVars doesn't have pEdicts. How am I supposed to fix this and which version am I supposed to use?

I'm starting to lose hope again as my server is Linux and if I have this much trouble compiling for Windows then I am afraid of how many issues there will be for Linux.

Any help Cheeseh?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post Apr 20 2015, 12:47 AM
Post #19


Admin
*****

Group: Admin
Posts: 3,055
Joined: 11-September 03
From: uk
Member No.: 1



QUOTE(JRob @ Apr 19 2015, 09:26 PM) *

I gave up on RCbots a while ago when it was broken for several years and I decided to try it again.

I just can't seem to compile it even on Windows. I am using Visual Studio 2013 which is now free.

When I try to compile the VSP version, it defined a ROUND macro when it was already defined in the standard library. After I fixed that bug, it spewed a bunch of errors about functions like hookruncmd being unresolved externs and I have no idea how I am supposed to fix that.

When I try to compile the metamod version, there are also a huge amount of errors. The first problem I noticed was that the project doesn't include metamod. Then in engine_wrappers.h it throws an error because SOURCE_ENGINE is not defined. After fixing these 2 problems, it then complained CGlobalVars doesn't have pEdicts. How am I supposed to fix this and which version am I supposed to use?

I'm starting to lose hope again as my server is Linux and if I have this much trouble compiling for Windows then I am afraid of how many issues there will be for Linux.

Any help Cheeseh?


The VSP is error because of VS2013. You have to rename the round function in the bot code to something different (I called mine ____round() or something)

The metamod one requires metamod source downloadable from the http://www.sourcemm.net/ website

To compile in metamod the environment needs to be set up first in the Project Settings


C++ Preprocessor definitions should be

SOURCE_ENGINE=4;WIN32;_DEBUG;_WINDOWS;HOMEFOLDER;%(PreprocessorDefinitions)

C++ Command Line - Additional Options : Should be

/D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6 /D SE_ALIENSWARM=7

even if you fixed the source engine problem in metamod the Header would have been loaded without the definition at one point and caused an error--- putting the above in the Project Settings will sort it
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
JRob
post Apr 20 2015, 01:01 AM
Post #20


Advanced Member
***

Group: Members
Posts: 52
Joined: 30-April 11
Member No.: 1,970



QUOTE(Cheeseh @ Apr 20 2015, 12:47 AM) *

The VSP is error because of VS2013. You have to rename the round function in the bot code to something different (I called mine ____round() or something)

The metamod one requires metamod source downloadable from the http://www.sourcemm.net/ website

To compile in metamod the environment needs to be set up first in the Project Settings


C++ Preprocessor definitions should be

SOURCE_ENGINE=4;WIN32;_DEBUG;_WINDOWS;HOMEFOLDER;%(PreprocessorDefinitions)

C++ Command Line - Additional Options : Should be

/D SE_EPISODEONE=1 /D SE_DARKMESSIAH=2 /D SE_ORANGEBOX=3 /D SE_ORANGEBOXVALVE=4 /D SE_LEFT4DEAD=5 /D SE_LEFT4DEAD2=6 /D SE_ALIENSWARM=7

even if you fixed the source engine problem in metamod the Header would have been loaded without the definition at one point and caused an error--- putting the above in the Project Settings will sort it


I know I am supposed to put it in the preprocessor definitions, I copied the settings from the metamod template. I already fixed that portion.

However as I mentioned there are a lot of unresolved external symbols.

CODE

1>bot_wpt_dist.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_zombie.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_waypoint_locations.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_waypoint_visibility.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_weapons.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_visibles.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_hl1dmsrc.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_profiling.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_dod_mod.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_events.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_getprop.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_configfile.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_coop.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_css_bot.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_buttons.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_commands.obj : error LNK2001: unresolved external symbol "class IVEngineServer * engine" (?engine@@3PAVIVEngineServer@@A)
1>bot_menu.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_squads.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_dod_mod.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_events.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_css_bot.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class IPlayerInfoManager * playerinfomanager" (?playerinfomanager@@3PAVIPlayerInfoManager@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class IServerPluginHelpers * helpers" (?helpers@@3PAVIServerPluginHelpers@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class IServerPluginHelpers * helpers" (?helpers@@3PAVIServerPluginHelpers@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class IServerPluginHelpers * helpers" (?helpers@@3PAVIServerPluginHelpers@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class IServerPluginHelpers * helpers" (?helpers@@3PAVIServerPluginHelpers@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class IServerGameClients * gameclients" (?gameclients@@3PAVIServerGameClients@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class IServerGameClients * gameclients" (?gameclients@@3PAVIServerGameClients@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class IBotManager * g_pBotManager" (?g_pBotManager@@3PAVIBotManager@@A)
1>bot_waypoint.obj : error LNK2019: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A) referenced in function __unwindfunclet$??$construct@PAVAStarNode@@AAPAV1@@?$allocator@PAVAStarNode@@@std@@QAEXPAPAVAStarNode@@AAPAV2@@Z$0
1>bot_weapons.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_visibles.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_events.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_getprop.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_commands.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_dod_mod.obj : error LNK2001: unresolved external symbol "class CGlobalVars * gpGlobals" (?gpGlobals@@3PAVCGlobalVars@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_menu.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_visibles.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_commands.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class IVDebugOverlay * debugoverlay" (?debugoverlay@@3PAVIVDebugOverlay@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_use_vc_commands" (?bot_use_vc_commands@@3VConVar@@A)
1>bot_events.obj : error LNK2001: unresolved external symbol "class ConVar bot_use_vc_commands" (?bot_use_vc_commands@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_dont_move" (?rcbot_dont_move@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_attack" (?bot_attack@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_avoid_radius" (?bot_avoid_radius@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_avoid_radius" (?bot_avoid_radius@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_debug_iglev" (?rcbot_debug_iglev@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_debug_dont_shoot" (?rcbot_debug_dont_shoot@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_debug_notasks" (?rcbot_debug_notasks@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_squad_idle_time" (?rcbot_squad_idle_time@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_stats_inrange_dist" (?rcbot_stats_inrange_dist@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_listen_dist" (?rcbot_listen_dist@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_listen_dist" (?rcbot_listen_dist@@3VConVar@@A)
1>bot_events.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_listen_dist" (?rcbot_listen_dist@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_footstep_speed" (?rcbot_footstep_speed@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_footstep_speed" (?rcbot_footstep_speed@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_avoid_strength" (?bot_avoid_strength@@3VConVar@@A)
1>bot_visibles.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_supermode" (?rcbot_supermode@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_supermode" (?rcbot_supermode@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_supermode" (?rcbot_supermode@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_supermode" (?rcbot_supermode@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_supermode" (?rcbot_supermode@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_anglespeed" (?bot_anglespeed@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_addbottime" (?rcbot_addbottime@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConCommandBase * puppet_bot_cmd" (?puppet_bot_cmd@@3PAVConCommandBase@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar * sv_cheats" (?sv_cheats@@3PAVConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_stop" (?bot_stop@@3VConVar@@A)
1>bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_command" (?bot_command@@3VConVar@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_menu_update_time2" (?rcbot_menu_update_time2@@3VConVar@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class ConVar bot_cmd_enable_wpt_sounds" (?bot_cmd_enable_wpt_sounds@@3VConVar@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class ConVar bot_cmd_enable_wpt_sounds" (?bot_cmd_enable_wpt_sounds@@3VConVar@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_autowaypoint_dist" (?rcbot_autowaypoint_dist@@3VConVar@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class IServerGameEnts * servergameents" (?servergameents@@3PAVIServerGameEnts@@A)
1>bot_commands.obj : error LNK2001: unresolved external symbol "class IServerGameEnts * servergameents" (?servergameents@@3PAVIServerGameEnts@@A)
1>bot_client.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tooltips" (?rcbot_tooltips@@3VConVar@@A)
1>bot_commands.obj : error LNK2001: unresolved external symbol "class IEffects * g_pEffects" (?g_pEffects@@3PAVIEffects@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class IEffects * g_pEffects" (?g_pEffects@@3PAVIEffects@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_beliefmulti" (?bot_beliefmulti@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_beliefmulti" (?bot_beliefmulti@@3VConVar@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_beliefmulti" (?bot_beliefmulti@@3VConVar@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_beliefmulti" (?bot_beliefmulti@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_max_cc_time" (?bot_max_cc_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_max_cc_time" (?bot_max_cc_time@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_min_cc_time" (?bot_min_cc_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_min_cc_time" (?bot_min_cc_time@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_change_class" (?bot_change_class@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_change_class" (?bot_change_class@@3VConVar@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class ConVar bot_defrate" (?bot_defrate@@3VConVar@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class ConVar bot_defrate" (?bot_defrate@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_defrate" (?bot_defrate@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_defrate" (?bot_defrate@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_defrate" (?bot_defrate@@3VConVar@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class ConVar bot_defrate" (?bot_defrate@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_smoke_time" (?rcbot_smoke_time@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_melee_only" (?rcbot_melee_only@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_melee_only" (?rcbot_melee_only@@3VConVar@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_melee_only" (?rcbot_melee_only@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_shoot_breakables" (?rcbot_shoot_breakables@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_shoot_breakable_dist" (?rcbot_shoot_breakable_dist@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_shoot_breakable_cos" (?rcbot_shoot_breakable_cos@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_nocapturing" (?rcbot_nocapturing@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar bot_messaround" (?bot_messaround@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_messaround" (?bot_messaround@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_projectile_tweak" (?rcbot_projectile_tweak@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar * mp_friendlyfire" (?mp_friendlyfire@@3PAVConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar * mp_friendlyfire" (?mp_friendlyfire@@3PAVConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_notarget" (?rcbot_notarget@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_notarget" (?rcbot_notarget@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_notarget" (?rcbot_notarget@@3VConVar@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_notarget" (?rcbot_notarget@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_ffa" (?rcbot_ffa@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_prone_enemy_only" (?rcbot_prone_enemy_only@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_bots_form_squads" (?rcbot_bots_form_squads@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_bots_form_squads" (?rcbot_bots_form_squads@@3VConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_bot_squads_percent" (?rcbot_bot_squads_percent@@3VConVar@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class ConVar * sv_gravity" (?sv_gravity@@3PAVConVar@@A)
1>bot_dod_bot.obj : error LNK2001: unresolved external symbol "class ConVar * sv_gravity" (?sv_gravity@@3PAVConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar * sv_gravity" (?sv_gravity@@3PAVConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar * sv_gravity" (?sv_gravity@@3PAVConVar@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class ConVar * sv_gravity" (?sv_gravity@@3PAVConVar@@A)
1>bot_fortress.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl RCBotPluginMeta::givePlayerLoadOut(struct edict_t *,class CTF2Loadout *,int,void *,void *)" (?givePlayerLoadOut@RCBotPluginMeta@@SA_NPAUedict_t@@PAVCTF2Loadout@@HPAX2@Z) referenced in function "public: virtual void __thiscall CBotTF2::modThink(void)" (?modThink@CBotTF2@@UAEXXZ)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_spyknifefov" (?bot_spyknifefov@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_demo_jump" (?rcbot_demo_jump@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_protect_cap_time" (?rcbot_tf2_protect_cap_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_protect_cap_percent" (?rcbot_tf2_protect_cap_percent@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_spy_kill_on_cap_dist" (?rcbot_tf2_spy_kill_on_cap_dist@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_speed_boost" (?rcbot_speed_boost@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_debug_spies_cloakdisguise" (?rcbot_tf2_debug_spies_cloakdisguise@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_debug_spies_cloakdisguise" (?rcbot_tf2_debug_spies_cloakdisguise@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_debug_spies_cloakdisguise" (?rcbot_tf2_debug_spies_cloakdisguise@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_spy_runaway_health" (?rcbot_spy_runaway_health@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_taunt" (?rcbot_taunt@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_customloadouts" (?rcbot_customloadouts@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar * mp_stalemate_meleeonly" (?mp_stalemate_meleeonly@@3PAVConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_medic_letgotime" (?rcbot_tf2_medic_letgotime@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_bossattackfactor" (?bot_bossattackfactor@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_sentry_kpm" (?rcbot_move_sentry_kpm@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_sentry_time" (?rcbot_move_sentry_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_sentry_time" (?rcbot_move_sentry_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_disp_time" (?rcbot_move_disp_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_disp_time" (?rcbot_move_disp_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_disp_healamount" (?rcbot_move_disp_healamount@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_tele_time" (?rcbot_move_tele_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_tele_time" (?rcbot_move_tele_time@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_tele_tpm" (?rcbot_move_tele_tpm@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_obj" (?rcbot_move_obj@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_move_dist" (?rcbot_move_dist@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_scoutdj" (?bot_scoutdj@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_heavyaimoffset" (?bot_heavyaimoffset@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar bot_rj" (?bot_rj@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_enemyshootfov" (?rcbot_enemyshootfov@@3VConVar@@A)
1>bot_fortress.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_pyro_airblast" (?rcbot_tf2_pyro_airblast@@3VConVar@@A)
1>bot_getprop.obj : error LNK2001: unresolved external symbol "class IServerGameDLL * servergamedll" (?servergamedll@@3PAVIServerGameDLL@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class IEngineTrace * enginetrace" (?enginetrace@@3PAVIEngineTrace@@A)
1>bot_globals.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_wptplace_width" (?rcbot_wptplace_width@@3VConVar@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_jump_obst_dist" (?rcbot_jump_obst_dist@@3VConVar@@A)
1>bot_hldm_bot.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_enemyshoot_gravgun_fov" (?rcbot_enemyshoot_gravgun_fov@@3VConVar@@A)
1>bot_menu.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_menu_update_time1" (?rcbot_menu_update_time1@@3VConVar@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_demo_runup_dist" (?rcbot_demo_runup_dist@@3VConVar@@A)
1>bot_task.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_demo_runup_dist" (?rcbot_demo_runup_dist@@3VConVar@@A)
1>bot_tf2_mod.obj : error LNK2019: unresolved external symbol "void * __cdecl GetGameRules(void)" (?GetGameRules@@YAPAXXZ) referenced in function "public: static bool __cdecl CTeamFortress2Mod::isMedievalMode(void)" (?isMedievalMode@CTeamFortress2Mod@@SA_NXZ)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class IFileSystem * filesystem" (?filesystem@@3PAVIFileSystem@@A)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class ConVar bot_use_disp_dist" (?bot_use_disp_dist@@3VConVar@@A)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class ConVar * mp_stalemate_enable" (?mp_stalemate_enable@@3PAVConVar@@A)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_const_point_master_offset" (?rcbot_const_point_master_offset@@3VConVar@@A)
1>bot_tf2_mod.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_autoupdate_point_time" (?rcbot_tf2_autoupdate_point_time@@3VConVar@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_autoupdate_point_time" (?rcbot_tf2_autoupdate_point_time@@3VConVar@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_const_round_offset" (?rcbot_const_round_offset@@3VConVar@@A)
1>bot_tf2_points.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_tf2_payload_dist_retreat" (?rcbot_tf2_payload_dist_retreat@@3VConVar@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class ConVar bot_belief_fade" (?bot_belief_fade@@3VConVar@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class ConVar bot_pathrevs" (?bot_pathrevs@@3VConVar@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_debug_show_route" (?rcbot_debug_show_route@@3VConVar@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_ladder_offs" (?rcbot_ladder_offs@@3VConVar@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_wpt_autotype" (?rcbot_wpt_autotype@@3VConVar@@A)
1>bot_waypoint.obj : error LNK2001: unresolved external symbol "class ConVar rcbot_wpt_autoradius" (?rcbot_wpt_autoradius@@3VConVar@@A)
1>bot_waypoint_locations.obj : error LNK2001: unresolved external symbol "class ConVar bot_waypointpathdist" (?bot_waypointpathdist@@3VConVar@@A)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

3 Pages V  1 2 3 >
Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 28th March 2024 - 05:10 PM