Merging BUG with other Mods

I use BUG mod in customassets folder. I just tried start up Rise From Erebus modmod of Fall from Heaven 2, but it seems they are not compatible. I dont see any interface at all, only the game-map. Possible to fix this somehow myself?
 
I use BUG mod in customassets folder. I just tried start up Rise From Erebus modmod of Fall from Heaven 2, but it seems they are not compatible. I dont see any interface at all, only the game-map. Possible to fix this somehow myself?

Yes, modify that mod's main INI file (the one named for the folder in the Mods folder) and set NoCustomAssets to 1.
 
Hey EF, we in RevDCM are having trouble with the PLE and ACO portions of the BUG mod. These two options are not responding to changes made in the BUG options menu. All other options respond appropriately but the PLE and ACO components are locked to whatever they are set to in the config XML folder. The changes made in the BUG Options menu are held over and stay in the options, but they are not applied to the interface. I have double checked and all relevant files are exactly the same in the latest BUG version on the SVN.

Any ideas as to what is going wrong with ACO and the PLE and how to get these to respond. Some users are annoyed by the fact The ACO and PLE options cannot be changed. If you want to take a look at the most up to date version of RevDCM with the relevant BUG SVN additions, the SVN is here:
https://revolutiondcm.svn.sourceforge.net/svnroot/revolutiondcm/Trunk/RevolutionDCM/
 
ACO is handled in the DLL and PLE in Python, so they are most likely two separate issues. ACO has a lot of options; are they all ignored? And PLE has a lot of options too; same question.

Ruff has done some recent reworking of PLE, but that is only in the SVN and not released yet. Are you using the SVN or 4.3 or earlier release? I recently updated ACO to the latest version, but again I don't think that's been released yet.

BTW, good job on the interview in Strategy Informer. :)
 
As far as I can tell all option changes are ignored for items in the ACO and PLE tab. I haven't gone through and checked each specific option individually, but I was simply not able to get a change in the interface at all when making changes in those two tabs. Also the changes made in the BUG options are stored, the changes just don't do anything to the interface. All other BUG options are working as normal. The current RevDCM version in the SVN has been updated to the current code in the BUG and BULL SVNs; I try to do this weekly, because if I don't I end up with a huge update dealing with a lot of changed code and things get alot more complex.
 
re the PLE tab - the 'method' drop down (BUG, PLE or Vanilla) has a pretty big impact on if the other options work. If you select PLE, then (I think) all of the other options become active. If you select one of the other two, then I think only the unit plot specific ones (promo, upgrade, action, etc) become active.
 
Basically what I've tried to do is turn off the PLE and ACO so that I get default BtS stuff, and it does not work. The only thing I can see work in further testing is the Movement bar can be toggled, but no other changes seem to do anything. PLE and ACO options are locked :(

Edit:
Since merging in one of the latest BBAI SVN changes the (absolutely horribly annoying) option "Build military units forever" is locked on, and can not be toggled off either, despite setting it's default to off in the config xml. :(

I can't figure out what's going wrong, I see no difference at all in the RevDCM code what what's in the BUG/BULL SVN.

Edit2:
I can fix the above military unit production problem by switching the GlobalDefinesAlt value, but like ACO and the PLE it is completely unresponsive to the options selected in the BUG options menu (despite storing the settings, so I know the options are being stored in the ini file properly, they just aren't being read or implemented). There seems to be some major failure in RevDCM with loading the BUG options into the actual game. Most options work, but some are simply just not doing anything. :(

Also RevDCM has been using BUG for a long time, so it's not like this is new stuff to any of us. These problems only started with BUG 4.3; and I can't stress enough that the python and config stuff is nearly identical. Only differences in RevDCM and BUG that I can tell is the movement of some buttons in CVMainInterace, some changes to the scoreboard, the addition of the RevDCM tab, and some default settings changes in the config xml files; all of which haven't changed in a long time. Something in BUG 4.3 has to be the cause of this; was something changed to a hardcoded reference of the bug mod or custom assets folder specifically or something like this?
 
There has been one major architectural change to BUG recently: I removed the need for a few of the modules in the EntryPoints folder. They are listed in the changelog. CvAppInterface is where the functions that allow the SDK to get BUG options used to live (they are added when BUG starts up now).

I can't think of anything else that would cause this new behavior. I haven't ever seen this in BUG, and I honestly haven't done much work on BUG (committed anyway) in the past month.
 
Any ideas on where to begin on how to solve this problem? It's very frustrating actually, I can't figure it out, I just spent the past couple hours comparing the RevDCM and LoR's SVNs to BUG's and found no changes in code that could be causing this...
 
Look in changelog.txt for the list of removed Python modules and make sure LoR doesn't have them. If LoR or RevDCM adds its own stuff to those modules you have two choices:

1. Apply those changes to the vanilla versions of the modules.
2. Convert those changes to use BUG's new <export> config element.

If that doesn't do it, modify CvBugOptions.cpp and uncomment the logging lines I have in getBugOptionXXX(). This will hopefully shed light on why it cannot find the options for ACO or Build Units Continuously. Do any BULL options work?
 
Pre Chop and Building actual effects are also unresponsive. So no, it appears not. Again these worked fine prior to merging in 4.3.

Edit:
Look in changelog.txt for the list of removed Python modules and make sure LoR doesn't have them. If LoR or RevDCM adds its own stuff to those modules you have two choices:

1. Apply those changes to the vanilla versions of the modules.
2. Convert those changes to use BUG's new <export> config element.
RevDCM has these fully removed. I need CvRandomEventInterface in LoR, as LoR needs to change UNIT_HORSE_ARCHER to UNIT_HORSEMAN, and also needed to change some of the code related to unit spawning so that players wouldn't get hordes of Legendary units spawning on them. I wrote the code myself though, and I'm confident it's fine, also I added it to the BtS file, so it's a clean file, without any BUG stuff, which is what I'm assuming you're saying might be conflicting.
 
If that doesn't do it, modify CvBugOptions.cpp and uncomment the logging lines I have in getBugOptionXXX(). This will hopefully shed light on why it cannot find the options for ACO or Build Units Continuously. Do any BULL options work?
I will do this, any particular log file you want me to upload for you to take a look at? Should I build a debug dll, and will it make a difference if I use LoR or RevDCM (RevDCM is pretty much default BtS, whereas LoR adds new units and such)?

Edit:
Here are the logs from playing through about a dozen turns with RevDCM on with a debug dll. No messages popped up, and I tried to change the BUG options a few times, most noteably the ACO options and the train military units forever, and the chop forests options. No messages noticed, though I did get an assert failure about eTeam being out of bounds every time the AI warrior moved on the screen, which is new, didn't notice it last time I built a debug dll, but that could be something jdog caused with BBAI or something.
 
The first two lines of bull.log tell the whole story as far as BULL is concerned:

Code:
[20521.609] debug - checking for BUG
[20521.609] info  - call to isBug() failed; [B]BUG not present[/B]

This means that BUG is not exporting isBug() to CvAppInterface, but I can see in PythonDbg.log that it is:

Code:
19:14:13 DEBUG: BugConfig - loading mod file BULL Core
19:14:13 DEBUG: BugInit - loading mod BULL Core...
19:14:13 INFO : BugCore - creating uninitialized mod BULL
19:14:13 DEBUG: BugUtil - exporting [B]BugDll.isBug to CvAppInterface[/B]
19:14:13 DEBUG: BugUtil - exporting BugDll.getOptionBOOL to CvAppInterface
19:14:13 DEBUG: BugUtil - exporting BugDll.getOptionINT to CvAppInterface
19:14:13 DEBUG: BugUtil - exporting BugDll.getOptionFLOAT to CvAppInterface
19:14:13 DEBUG: BugUtil - exporting BugDll.getOptionSTRING to CvAppInterface
19:14:13 DEBUG: BugUtil - exporting CvModName.getNameAndVersion as CvAppInterface.getModNameAndVersion

It shouldn't have those lines if the BugDll module isn't present, but make sure it is just to be safe. I don't see any warnings or errors. When you hover over your flag, do you see the BUG version in there (or whatever you have in CvModName)?

BTW, here are the four (not three) modules removed from BUG:

  • CvAppInterface
  • CvDiplomacyInterface
  • CvOptionsScreenCallbackInterface
  • CvRandomEventInterface
CvAppInterface is the only one involved in BULL options. I guess at this point I would recommend installing RevDCM and checking if it has these problems.
 
Those logs are from RevDCM, also RevDCM has none of those files you mention in it. No errors are reported either, and as I say, regular BUG options can be changed, except the PLE ones for some reason. As far as the flag goes, it shows the information in CvModName correctly, along with the other information RevDCM has always displayed, such as the Current BBAI version.

It shouldn't have those lines if the BugDll module isn't present, but make sure it is just to be safe.
What do you mean by this? If you mean BugDll.py, it's there; everything that is in BUG is in RevDCM, there have just been some modifications made to the Scoreboard and button positions in CvMainInterface. Also Revolutions and such are loaded as BUG modules now, and have been for a few months, as I said none of this was a problem before updating to 4.3 though.
 
Trying to disable/enable ACO doesn't cause anything to be written to ini, Dbg or Err; yet disabling works (at least for the current game session). Everything else might be working, at least turning on military units infinite building and durning off prechop does.
 
Since the settings could be changed by Fuyu using BULLAI, I downloaded it. This time I changed the name from the bug mod in CvModName, and put the UserSettings folder in the /My Games/BtS/$ModName folder. Same behavior as RevDCM, the BULL options are locked, and cannot be changed. So some coding change in 4.3 has made it so that the name of the BUG mod is now hardcoded into how BULL options are pulled from the ini files, or BULL options may no longer be pulled from the $Documents path as they were before.

Any ideas on how to fix this and return to the previous BUG behavior where settings could be pulled from the $Documents path and the folder name could be changed?
 
AFAIK there have been no changes around that code in many months. I did some recent work to clean up how BugInit is kicked off and remove the need to have those EntryPoints modules in BUG, but I haven't done anything with regard to CvModName or how BUG finds the INI files. Besides, the options are stored in memory and don't depend on the INI files to work--they are only needed to save settings between sessions.

I'll have some time to dig into it this weekend, but I'm at a loss since it works for Fuyu's merge. There must be something quirky in RevDCM if that mod is also broken.

@Fuyu - I assume BBAI is run out of its own mod folder, right? What is CvModName.modName set to?
 
I downloaded BULLAI. However I changed CvModName to reflect the name of the mod, and then move the UserSettings folder to $Documents/My Games/$BtS/$ModName; this is how RevDCM stores it's UserSettings files, which makes sense as it allows the mod to not be launched as an admin. If the UserSettings files are not in that folder, or in the main mod folder you get the regular old Bug failed to find ini errors, so BUG is finding them fine, BULL options are not loading them from the same path. I'll wager the same thing will happen with BULL or BUFFY if you rename them and try to reflect this in CvModName and store UserSettings along the $Documents path.
 
On further testing, installing BULLAI and making absolutely no changes does not work! I believe Fuyu has the BUG mod installed on his computer, so BULL is using the settings from the BUG mod as it is installed normally, if the BUG mod itself is not installed BULL settings will be locked.
 
I definitely do not have the BUG Mod installed, and my mod correctly reads and writes ini files in its root folder (...)\Beyond the Sword\Mods\Better BUG AI\
Which is where my installer will put UserSettings unless it detects Vista\win7. If it detects win 6.x, it will put UserSettings to $Documents/My Games/$BtS/BUG Mod - unless there is already a UserSettings folder at that location. And I was hoping that'd work..
 
Back
Top Bottom