Better BUG AI

When you use the project file I'm pretty sure you'll be able to compile this mod at least. Why would you even start new projects all the time when you have project files right there?
 
Fuyu, will the BULL options, mainly ACO and Forest Chopping items respond to changes made in the BUG options menu? They are not responding in RevDCM (curiously the BUG options do though), and I've compared your SVN to RevDCM's and can't see any differences that in the python that could be causing this. So I'm wondering if BUGAI is afflicted as well.
 
I was reading what you wrote in the BUG mod forum and since I recieved a similar report here I was going to check it out soon.
ACO, Forest PreChop, Infinite Unit Building.. I could turn off ACO, enabling it again fails though. Nothing in Dbg.log or Err and nothing written to ini - that goes for both disabling and the futile later attempts to re-enable it -, and when I enter options again it's still off. Restarting Civ4 and voilà, it's on again - because nothing was written to ini (thank god?).
There is no "Enabled" line in my ACO ini file at all actually, first option line is Force Original Odds = False. I only tested disabling/enabling here, no other options.

The other two seem responsive at least, I was able to turn off prechop and the workers didn't pause their work afterwards, I could also turn on Infinite Military Unit Building with the desired effects (off is default, and when it's off it behaves normally).

I did not yet update to the latest BBAI though, still 3 revisions behind.
 
BBAI is much further behind in RevDCM though. I'm building a dll off your SVN now, and am going to test for when CvModName is changed to reflect the name of the mod and the UserSettings folder is put in /My Games/BtS/ and see if I get the same behavior as is occurring in RevDCM. Thanks for letting me know, if anything else comes to mind you might think is important, just post it in the BUG mod mergers thread for EF to look over.

Also on an unrelated note in your install script you have the install directory set to $InstallDir/Mods in the registry key, and then have the uninstaller remove what it pulls from the registry with /$MOD_LOC on the end. That'll work fine, but thinking this over I figured it'd be dangerous to reference the whole mods directory in case I absentmindedly did something with it later; so I changed it to be $InstallDir/Mods/$MOD_LOC and had the uninstaller just go with that to remove. Not important really, but figured you might be interested in that.
 
I really hope this doesn't have anything to do with UserSettings being located in Documents\My Games\ instead of the mod folder, I had enough of that already. Though it looks like it might..

Uninstaller change sounds very reasonable.
 
I was not able to build a final release dll off of the source in the SVN. It failed when linking:
Spoiler :
1> "C:\Program Files\Microsoft Visual C++ Toolkit 2003/bin/link.exe" /dll /nologo /LIBPATH:"C:\Documents and Settings\P\Desktop\CIV stuff\SRC\BULLAI\CvGameCoreDLL\Python24/libs" /LIBPATH:"C:\Documents and Settings\P\Desktop\CIV stuff\SRC\BULLAI\CvGameCoreDLL\Boost-1.32.0/libs/" /LIBPATH:"C:\Program Files\Microsoft Platform SDK/Lib" /LIBPATH:"C:\Program Files\Microsoft Visual C++ Toolkit 2003/lib" /out:Final_Release/CvGameCoreDLL.dll boost_python-vc71-mt-1_32.lib winmm.lib user32.lib gdi32.lib Ole32.lib Final_Release/_precompile.obj Final_Release/CvArea.obj Final_Release/CvArtFileMgr.obj Final_Release/CvBugOptions.obj Final_Release/CvCity.obj Final_Release/CvCityAI.obj Final_Release/CvDLLButtonPopup.obj Final_Release/CvDLLEntity.obj Final_Release/CvDLLPython.obj Final_Release/CvDLLWidgetData.obj Final_Release/CvDeal.obj Final_Release/CvDiploParameters.obj Final_Release/CvDllPythonEvents.obj Final_Release/CvDllTranslator.obj Final_Release/CvEventReporter.obj Final_Release/CvFractal.obj Final_Release/CvGame.obj Final_Release/CvGameAI.obj Final_Release/CvGameCoreDLL.obj Final_Release/CvGameCoreUtils.obj Final_Release/CvGameInterface.obj Final_Release/CvGameTextMgr.obj Final_Release/CvGlobals.obj Final_Release/CvHallOfFameInfo.obj Final_Release/CvInfoWater.obj Final_Release/CvInfos.obj Final_Release/CvInitCore.obj Final_Release/CvMap.obj Final_Release/CvMapGenerator.obj Final_Release/CvMessageControl.obj Final_Release/CvMessageData.obj Final_Release/CvPlayer.obj Final_Release/CvPlayerAI.obj Final_Release/CvPlot.obj Final_Release/CvPlotGroup.obj Final_Release/CvPopupInfo.obj Final_Release/CvPopupReturn.obj Final_Release/CvRandom.obj Final_Release/CvReplayInfo.obj Final_Release/CvReplayMessage.obj Final_Release/CvSelectionGroup.obj Final_Release/CvSelectionGroupAI.obj Final_Release/CvStatistics.obj Final_Release/CvStructs.obj Final_Release/CvTalkingHeadMessage.obj Final_Release/CvTeam.obj Final_Release/CvTeamAI.obj Final_Release/CvUnit.obj Final_Release/CvUnitAI.obj Final_Release/CvXMLLoadUtility.obj Final_Release/CvXMLLoadUtilityGet.obj Final_Release/CvXMLLoadUtilityInit.obj Final_Release/CvXMLLoadUtilitySet.obj Final_Release/CyArea.obj Final_Release/CyAreaInterface.obj Final_Release/CyArgsList.obj Final_Release/CyArtFileMgr.obj Final_Release/CyArtFileMgrInterface.obj Final_Release/CyCity.obj Final_Release/CyCityInterface1.obj Final_Release/CyDeal.obj Final_Release/CyEnumsInterface.obj Final_Release/CyGame.obj Final_Release/CyGameCoreUtils.obj Final_Release/CyGameCoreUtilsInterface.obj Final_Release/CyGameInterface.obj Final_Release/CyGameTextMgr.obj Final_Release/CyGameTextMgrInterface.obj Final_Release/CyGlobalContext.obj Final_Release/CyGlobalContextInterface1.obj Final_Release/CyGlobalContextInterface2.obj Final_Release/CyGlobalContextInterface3.obj Final_Release/CyGlobalContextInterface4.obj Final_Release/CyHallOfFameInfo.obj Final_Release/CyHallOfFameInterface.obj Final_Release/CyInfoInterface1.obj Final_Release/CyInfoInterface2.obj Final_Release/CyInfoInterface3.obj Final_Release/CyMap.obj Final_Release/CyMapGenerator.obj Final_Release/CyMapGeneratorInterface.obj Final_Release/CyMapInterface.obj Final_Release/CyMessageControl.obj Final_Release/CyMessageControlInterface.obj Final_Release/CyPlayer.obj Final_Release/CyPlayerInterface1.obj Final_Release/CyPlayerInterface2.obj Final_Release/CyPlot.obj Final_Release/CyPlotInterface1.obj Final_Release/CyRandomInterface.obj Final_Release/CyReplayInfo.obj Final_Release/CySelectionGroup.obj Final_Release/CySelectionGroupInterface.obj Final_Release/CyStructsInterface1.obj Final_Release/CyTeam.obj Final_Release/CyTeamInterface.obj Final_Release/CyUnit.obj Final_Release/CyUnitInterface1.obj Final_Release/FAssert.obj Final_Release/FDialogTemplate.obj Final_Release/CxImage/general/tif_xfile.obj Final_Release/CxImage/general/ximabmp.obj Final_Release/CxImage/general/ximadsp.obj Final_Release/CxImage/general/ximaenc.obj Final_Release/CxImage/general/ximaexif.obj Final_Release/CxImage/general/ximage.obj Final_Release/CxImage/general/ximagif.obj Final_Release/CxImage/general/ximahist.obj Final_Release/CxImage/general/ximaico.obj Final_Release/CxImage/general/ximainfo.obj Final_Release/CxImage/general/ximaint.obj Final_Release/CxImage/general/ximaj2k.obj Final_Release/CxImage/general/ximajas.obj Final_Release/CxImage/general/ximajbg.obj Final_Release/CxImage/general/ximajpg.obj Final_Release/CxImage/general/ximalpha.obj Final_Release/CxImage/general/ximalyr.obj Final_Release/CxImage/general/ximamng.obj Final_Release/CxImage/general/ximapal.obj Final_Release/CxImage/general/ximapcx.obj Final_Release/CxImage/general/ximapng.obj Final_Release/CxImage/general/ximasel.obj Final_Release/CxImage/general/ximatga.obj Final_Release/CxImage/general/ximath.obj Final_Release/CxImage/general/ximatif.obj Final_Release/CxImage/general/ximatran.obj Final_Release/CxImage/general/ximawbmp.obj Final_Release/CxImage/general/ximawmf.obj Final_Release/CxImage/general/ximawnd.obj Final_Release/CxImage/general/xmemfile.obj Final_Release/CxImage/jpeg/jcapimin.obj Final_Release/CxImage/jpeg/jcapistd.obj Final_Release/CxImage/jpeg/jccoefct.obj Final_Release/CxImage/jpeg/jccolor.obj Final_Release/CxImage/jpeg/jcdctmgr.obj Final_Release/CxImage/jpeg/jchuff.obj Final_Release/CxImage/jpeg/jcinit.obj Final_Release/CxImage/jpeg/jcmainct.obj Final_Release/CxImage/jpeg/jcmarker.obj Final_Release/CxImage/jpeg/jcmaster.obj Final_Release/CxImage/jpeg/jcomapi.obj Final_Release/CxImage/jpeg/jcparam.obj Final_Release/CxImage/jpeg/jcphuff.obj Final_Release/CxImage/jpeg/jcprepct.obj Final_Release/CxImage/jpeg/jcsample.obj Final_Release/CxImage/jpeg/jctrans.obj Final_Release/CxImage/jpeg/jdapimin.obj Final_Release/CxImage/jpeg/jdapistd.obj Final_Release/CxImage/jpeg/jdatadst.obj Final_Release/CxImage/jpeg/jdatasrc.obj Final_Release/CxImage/jpeg/jdcoefct.obj Final_Release/CxImage/jpeg/jdcolor.obj Final_Release/CxImage/jpeg/jddctmgr.obj Final_Release/CxImage/jpeg/jdhuff.obj Final_Release/CxImage/jpeg/jdinput.obj Final_Release/CxImage/jpeg/jdmainct.obj Final_Release/CxImage/jpeg/jdmarker.obj Final_Release/CxImage/jpeg/jdmaster.obj Final_Release/CxImage/jpeg/jdmerge.obj Final_Release/CxImage/jpeg/jdphuff.obj Final_Release/CxImage/jpeg/jdpostct.obj Final_Release/CxImage/jpeg/jdsample.obj Final_Release/CxImage/jpeg/jdtrans.obj Final_Release/CxImage/jpeg/jerror.obj Final_Release/CxImage/jpeg/jfdctflt.obj Final_Release/CxImage/jpeg/jfdctfst.obj Final_Release/CxImage/jpeg/jfdctint.obj Final_Release/CxImage/jpeg/jidctflt.obj Final_Release/CxImage/jpeg/jidctfst.obj Final_Release/CxImage/jpeg/jidctint.obj Final_Release/CxImage/jpeg/jidctred.obj Final_Release/CxImage/jpeg/jmemmgr.obj Final_Release/CxImage/jpeg/jmemnobs.obj Final_Release/CxImage/jpeg/jquant1.obj Final_Release/CxImage/jpeg/jquant2.obj Final_Release/CxImage/jpeg/jutils.obj /INCREMENTAL:NO /OPT:REF /OPT:ICF
1> Creating library Final_Release/CvGameCoreDLL.lib and object Final_Release/CvGameCoreDLL.exp
1>CvUnit.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvUnitAI.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvPlayer.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvPlayerAI.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvTeam.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvTeamAI.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvCity.obj : error LNK2019: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ) referenced in function "public: void __thiscall CvCity::hurry(enum HurryTypes)" (?hurry@CvCity@@QAEXW4HurryTypes@@@Z)
1>CvCityAI.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvDeal.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>CvGame.obj : error LNK2001: unresolved external symbol "void __cdecl logBBAI(char *,...)" (?logBBAI@@YAXPADZZ)
1>Final_Release/CvGameCoreDLL.dll : fatal error LNK1120: 1 unresolved externals

Any chance you could upload me a precompiled gamecore?

Edit: Nevermind, just installed using the installer you have on SourceForge
 
You're not the first one to fail there, the Makefile just doesn't work, and that probably won't change anytime soon since I don't know how to even test makefiles, let alone create one that works. I should just remove it from svn then.
BetterBTSAI.obj is not created so that's why it can't resolve logBBAI. And I think I just found out why: I forgot to add it the the objects lists $(Debug_OBJS) and $(Final_Release_OBJS).
 
I am having the same problem mentioned by a few others with having no diplomacy text available when contacting other civilizations. I have a brand new install of both Civ IV and BTS and installed the Better BUG AI 0.90 dated 03/31. Any help you can provide would be appreciated.
 
Afaik there were only 2 causes for this, the first being an old version of this mod that was not uninstalled but when using the installer this should no longer be possible - and the second being python files in CustomAssets from a mod that contains BUG or similar. Changing one line in Better BUG AI.ini should fix that: "NoCustomAssets = 1".
If you still have the problem I can only refer you the the BUG troubleshooting page.
 
...and the second being python files in CustomAssets from a mod that contains BUG or similar. Changing one line in Better BUG AI.ini should fix that: "NoCustomAssets = 1".
Trust me, it's worth it to include an ini file with the mod where this is already set. Not doing so is only inviting more and more problems. Alot of users here that are trying out mods are also tinkering with stuff themselves, and thus have random files in the custom assets; add this to the fact BUG itself installs to the Custom Assets, and it becomes aparent why just locking out the CA folder makes sense. Once I started including an ini that excluded the CA folder it solved around 70% of the bug reports I was getting for LoR.
 
Thanks for the info. Sorry, I know nothing about mods - where do I find the file to be modified?
 
Am trying to switch off Sevopedia in the advisor setting in BUG options but even with the boxes unchecked and a restart it still comes back with Sevopedia. In effect I am trying to reinstate the original Civilopedia. Any ideas?
 
thx for that advise, phungus, I'll take it.

lokii_0: It's in your Civ4\Beyond the Sword\Mods\Better BUG AI\ folder.

I have no idea about Sevopedia disabling, and since this is a pure BUG python feature there's no chance I broke it, it must have been someone else :p
 
The only thing in that directory is a shortcut to the Better Bug AI website, and an uninstaller. There are also directories named 'info', 'gamesetupcheck', and 'assets'. I can't find any .ini files in any of those directories, though.
 
Top Bottom