Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Linux Servers

Support::Linux Servers Support forum for Linux EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-07-2009, 08:08 AM
EQFAN2009
Fire Beetle
 
Join Date: Aug 2009
Location: Australia
Posts: 21
Default Compile Fail spells.cpp 'class Mob' has no member named 'IsBot'

Am attempting linux compile with Rev972 source. Have made the changes to makefile.common and makefile to enable bots as recommended in previous forums but am getting a compile fail for spells.cpp/spells.o

Code:
make -C zone
make[1]: Entering directory `/root/EQEMU/source/trunk/EQEmuServer/zone'
ccache gcc -c -fpermissive -Wall -Wuninitialized -Wwrite-strings -Wcast-qual -Wn                                                                             o-deprecated  -Wcomment -Wcast-align -O -g -march=i686 -pthread -pipe -D_GNU_SOU                                                                             RCE -DINVERSEXY -DFX -DZONE -DEQDEBUG=5 -DCATCH_CRASH -DNO_PIDLOG -DSHAREMEM -DF                                                                             IELD_ITEMS -DCOMBINED -DAPP_OPCODE_SIZE=2 -Di386 -DEQBOTS -DEMBPERL -DEMBPERL_PL                                                                             UGIN -DHAS_UNION_SEMUN -I/usr/include/mysql `perl -MExtUtils::Embed -e ccopts` s                                                                             pells.cpp -o spells.o
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid f                                                                             or C/ObjC but not for C++
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid f                                                                             or C/ObjC but not for C++
spells.cpp: In member function 'void Mob::BardPulse(uint16, Mob*)':
spells.cpp:1847: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'int Mob::AddBuff(Mob*, int16, int, sint32)':
spells.cpp:2348: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp:2380: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'int Mob::CanBuffStack(int16, int8, bool)':
spells.cpp:2466: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'bool Mob::FindBuff(int16)':
spells.cpp:2999: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Mob::BuffFadeAll()':
spells.cpp:3009: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Mob::BuffFadeDetrimental()':
spells.cpp:3018: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Mob::BuffFadeDetrimentalByCaster(Mob*)':
spells.cpp:3031: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Mob::BuffFadeBySpellID(int16)':
spells.cpp:3048: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Mob::BuffFadeByEffect(int, int)':
spells.cpp:3063: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'float Mob::ResistSpell(int8, int16, Mob*)':
spells.cpp:3375: error: 'class Mob' has no member named 'IsBot'
spells.cpp:3379: error: 'class Mob' has no member named 'GetBotFocusEffect'
spells.cpp:3379: error: 'botfocusResistRate' was not declared in this scope
spells.cpp: In member function 'void Client::MemSpell(int16, int, bool)':
spells.cpp:3656: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Client::UnmemSpell(int, bool)':
spells.cpp:3677: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Client::UnmemSpellAll(bool)':
spells.cpp:3693: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Client::ScribeSpell(int16, int, bool)':
spells.cpp:3701: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Client::UnscribeSpell(int, bool)':
spells.cpp:3722: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Client::UnscribeSpellAll(bool)':
spells.cpp:3743: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'int Client::GetNextAvailableSpellBookSlot(int)':
spells.cpp:3751: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'int Client::FindSpellBookSlotBySpellID(int16)':
spells.cpp:3760: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'sint8 Mob::GetBuffSlotFromType(int8)':
spells.cpp:4127: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'bool Mob::FindType(int8, bool, int16)':
spells.cpp:4140: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'bool Mob::UseBardSpellLogic(int16, int)':
spells.cpp:4293: warning: comparison between signed and unsigned integer express                                                                             ions
spells.cpp: In member function 'void Mob::SendPetBuffsToClient()':
spells.cpp:4370: warning: comparison between signed and unsigned integer express                                                                             ions
make[1]: *** [spells.o] Error 1
make[1]: Leaving directory `/root/EQEMU/source/trunk/EQEmuServer/zone'
I have the spells_us.txt and spells_en.txt in the EQEmuServer source directory.

Any thoughts on what if anything I've missed?
Reply With Quote
  #2  
Old 09-07-2009, 11:02 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

Hmm, I've compiled 974 with no problems. I remember a recent revision had errors, but those got fixed within a day.
Reply With Quote
  #3  
Old 09-07-2009, 09:37 PM
EQFAN2009
Fire Beetle
 
Join Date: Aug 2009
Location: Australia
Posts: 21
Default Thanks

Will try the 974 source, but I didn't notice any changes to the spells.cpp file between the two versions...
Reply With Quote
  #4  
Old 09-08-2009, 07:25 AM
EQFAN2009
Fire Beetle
 
Join Date: Aug 2009
Location: Australia
Posts: 21
Default 975 Fail

Ok - downloaded 975, added 'botRaids.o botAI.o petAI.o' to makefile.common and -DEQBOTS to makefile in zone directory - compile fails with these added with above error message, but works if I leave those changes out...

Any thoughts on what could be the problem?
Reply With Quote
  #5  
Old 09-08-2009, 11:10 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

My zone/makefile.common only has bot.o and botRaids.o and with the new bots, your makefile should have '-DBOTS', not '-DEQBOTS' I believe. That could be the problem, eqbots is the directive for the old bots I think.

r975 compiles just fine for me.
Reply With Quote
  #6  
Old 09-08-2009, 07:29 PM
EQFAN2009
Fire Beetle
 
Join Date: Aug 2009
Location: Australia
Posts: 21
Default Thank Pyfon

Awesome advice Pfyon - I've been working off some fairly dated Wikis and threads so I'm hoping that this will sort it out! I'll give it a try when I get home and can recompile the source.

Thanks again

EQF09
Reply With Quote
  #7  
Old 09-09-2009, 09:08 AM
EQFAN2009
Fire Beetle
 
Join Date: Aug 2009
Location: Australia
Posts: 21
Smile Win!

Thanks again Pfyon. Apart from stupidly copying the 'and' between bots.o and botRaids.o the compile worked fine. Now to test if my Vista client can connect!
Reply With Quote
  #8  
Old 09-10-2009, 12:06 AM
v6greenfbird95@yahoo.com
Fire Beetle
 
Join Date: Feb 2005
Posts: 15
Default Awesome

this answers my post from the otherday someone should sticky this information.
Reply With Quote
  #9  
Old 09-14-2009, 02:06 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

Please excuse my ignorance, but if I understand the compile correctly the only binary difference between the "with bots" build and the "without bots build" is in the zone binary file.

So, to convert a "without bots" build to a "with bots" build I would need to do the following:

-Edit the zone/makefile.common file in accordance with the changes mentioned above (i.e. add bots.o and botRaids.o to it)
-Edit the zone/makefille file in accordance with the changes mentioned above (i.e. add -DBOTS to the DFLAGS= line)
-run "make clean" in the root build directory
-run "make" in the root build directory
-replace the zone binary file in the eqemu run directory

Right?
Reply With Quote
  #10  
Old 09-14-2009, 06:06 PM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

Quote:
Originally Posted by prickle View Post
Please excuse my ignorance, but if I understand the compile correctly the only binary difference between the "with bots" build and the "without bots build" is in the zone binary file.

So, to convert a "without bots" build to a "with bots" build I would need to do the following:

-Edit the zone/makefile.common file in accordance with the changes mentioned above (i.e. add bots.o and botRaids.o to it)
-Edit the zone/makefille file in accordance with the changes mentioned above (i.e. add -DBOTS to the DFLAGS= line)
-run "make clean" in the root build directory
-run "make" in the root build directory
-replace the zone binary file in the eqemu run directory

Right?
That's correct I think. In addition to that, you'd have to source load_bots.sql to have a server with functioning bots.
Reply With Quote
  #11  
Old 09-16-2009, 12:14 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

yup... I did it shortly after I posted my last response and it worked perfectly.

When I originally sourced the sql files, I had used peq mysql rev 974 files to populate the database. So, all I had to do was recompile and change the zone binary file.

Works great. Also, I must say that I'm somewhat impressed with the AIs' intelligence... "Could be better" naturally, but pretty darn good as is...
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 12:39 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3