Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Bots

Development::Bots Forum for bots.

Reply
 
Thread Tools Display Modes
  #1  
Old 01-14-2009, 10:16 AM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I tried 270 out and it works fine too - what are you using for compile? windows or Linix? and if windows , what version VC?
Reply With Quote
  #2  
Old 01-14-2009, 10:36 AM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

I don't own a windows box, all linux here. I will try pulling down clean sources and recompiling. I did a make clean before recompiling this version. Then when I found I should recompile world with -DEQBOTS in the makefile I just did a make clean in the world directory and recompiled that. Then copied world to my server directory.
Reply With Quote
  #3  
Old 01-14-2009, 11:11 AM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

I just re-ran make clean on my svn sources then did a make and rebuilt everything. This did the trick. Seems you can't just change something in the world makefile and remake just world, need to do it all.

So problem was between the seat and keyboard sorry guys!
Reply With Quote
  #4  
Old 01-14-2009, 11:39 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

It's not actually your fault, it is a problem with the makefiles.

Both the makefile.common for world and zone specify ../common/rulesys.o in the SF= line.

../common/rulesys.o gets compiled for world first, then, when zone gets compiled, it sees that ../common/rulesys.o is newer than ../common/rulesys.cpp and so it knows it doesn't need to recompile it.

Normally, this is not a problem, however in the case of code bracketed in #ifdef/#endif, where different defines are used between world and zone, it causes problems.

Instead of ../common/rulesys.o, the world and zone makefile.common should specify .obj/rulesys.o

This tells the makefile to compile it's own private version using it's own set of -D flags.

I'll update the makefiles.

The EQOffline:BotCount rule should really be a RULE_INT (integer) rather than a RULE_REAL (floating point).
Reply With Quote
  #5  
Old 01-14-2009, 12:19 PM
cubber
Discordant
 
Join Date: Apr 2006
Posts: 374
Default

Thanks for the clarification Derision.
Reply With Quote
  #6  
Old 01-14-2009, 01:13 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Quote:
Originally Posted by Derision View Post
The EQOffline:BotCount rule should really be a RULE_INT (integer) rather than a RULE_REAL (floating point).
I'll get this fixed - I just at first didn't have any makefiles for with the WORLD makefile, and was going crazy trying everything, tell I realized what it was.

I've been trying to post replies on these forums, but for seems it goes dead at night for hours and now seems to drop a lot during the day too. Last night I couldn't get on here to reply, finally I just went to bed.
Reply With Quote
  #7  
Old 01-14-2009, 01:26 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

Derision; I also noticed, it seemed at one time, when I did a 'make clean' from the source root, it would go through all the subs and include a 'make depend' , it doesn't seem to do that anymore, just includes 'make clean' only.
I wonder if something got removed?


Quote:
Originally Posted by Derision View Post
It's not actually your fault, it is a problem with the makefiles.

Both the makefile.common for world and zone specify ../common/rulesys.o in the SF= line.

../common/rulesys.o gets compiled for world first, then, when zone gets compiled, it sees that ../common/rulesys.o is newer than ../common/rulesys.cpp and so it knows it doesn't need to recompile it.

Normally, this is not a problem, however in the case of code bracketed in #ifdef/#endif, where different defines are used between world and zone, it causes problems.

Instead of ../common/rulesys.o, the world and zone makefile.common should specify .obj/rulesys.o

This tells the makefile to compile it's own private version using it's own set of -D flags.

I'll update the makefiles.
Reply With Quote
  #8  
Old 01-14-2009, 05:31 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Quote:
Originally Posted by Angelox View Post
Derision; I also noticed, it seemed at one time, when I did a 'make clean' from the source root, it would go through all the subs and include a 'make depend' , it doesn't seem to do that anymore, just includes 'make clean' only.
I wonder if something got removed?
I don't know. The oldest source I have readily to hand on my Linux server is 0.7.0-1035 and it seems to exhibit the same behaviour as the current makefiles.
Reply With Quote
  #9  
Old 01-14-2009, 09:54 PM
Angelox
AX Classic Developer
 
Join Date: May 2006
Location: filler
Posts: 2,049
Default

I just started to make this post pointing out it was working in EQEmu-0.7.0-1129, but not now, and I saw why it doesn't work;
when someone uploaded the source to SVN, they also uploaded their .depend files , the makefile checks to see if there is .depend files, if not it will auto make them. So, you can quickly run a 'make clean' from the root, all that will happen and new custom .depend files are created. If there already are .depend files, then you have to force a 'make depend' in each directory.


Quote:
Originally Posted by Derision View Post
I don't know. The oldest source I have readily to hand on my Linux server is 0.7.0-1035 and it seems to exhibit the same behaviour as the current makefiles.
EDIT:
That problem was me, I must have at one time run 'make clean' in my local SVN , and it created the .depend files - since it's on another PC with another version of my distro, it made the problems for me. I deleted the .depend files from SVN, it works again.

Last edited by Angelox; 01-15-2009 at 07:50 AM..
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 06:47 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3