Better BAT AI

Hi Lemon, great merge!

I've just noticed some Event Images are missing, and the Event images from Better BUG AI have more files than the ones included in Better BAT AI. I'm now merging to see if the ones missing are finally there.
 
Hi Lemon, great merge!

I've just noticed some Event Images are missing, and the Event images from Better BUG AI have more files than the ones included in Better BAT AI. I'm now merging to see if the ones missing are finally there.
I noticed that the other night when I finally had a chance to play a little. :(

I have to make a patch, or re-upload the whole thing with the fixes, I just haven't had the time. Work, school, life... arrrgh.
 
I might as well post the only bug I've found so far: the button for building the viking berserk is showing the default maceman icon (guy with normal helm with a flail) instead of the correct berserk icon (guy with horned helm, beard and axe)

Also, I was reading through the PIG list of changes, and while I know that gameplay modifications mostly don't belong into BAT, there are two changes there which I believe stand out as fixes: making work boats civilian units, and giving great spies the commando promotion. Would it be possible to include those two changes in the next version of this mod?
 
Has someone somewhere provided an unofficial 50civs-dll for this mod? After building a new (and much more powerful) PC, I finally felt in a position to enjoy this mod, but the good fun doesn't really start for me until 2-3 dozen guys and gals are involved ... ;)
 
I might as well post the only bug I've found so far: the button for building the viking berserk is showing the default maceman icon (guy with normal helm with a flail) instead of the correct berserk icon (guy with horned helm, beard and axe)

Also, I was reading through the PIG list of changes, and while I know that gameplay modifications mostly don't belong into BAT, there are two changes there which I believe stand out as fixes: making work boats civilian units, and giving great spies the commando promotion. Would it be possible to include those two changes in the next version of this mod?
Thank you for the tip on the bug. There will likely be no code changes in the next version, assuming that there is one, unless Fuyu makes them to Better BUG AI and I have time to incorporate them. As it stands right now, I have zero time or interest for modding, playing, or anything else related to Civ. Real life is just too ugly right now and I can't promise when I'll get back to things, sorry.

Has someone somewhere provided an unofficial 50civs-dll for this mod? After building a new (and much more powerful) PC, I finally felt in a position to enjoy this mod, but the good fun doesn't really start for me until 2-3 dozen guys and gals are involved ... ;)
I had a hiccup when compiling the 50 Civ dll and never got around to fixing it. I'll get to it, but it will be a while. See above.
 
I had a hiccup when compiling the 50 Civ dll and never got around to fixing it. I'll get to it, but it will be a while. See above.

Don't worry; I can (probably) do it myself. :) I've compiled and merged dll mods before, it'll just need time since I don't have any programming environment yet on this new computer, and when I rebuild my modding suite, I'll have to employ a somewhat time-consuming trial-and-error method because half of the time I have no idea what I'm actually doing. ;) But usually I'm persistent enough to reach my goal, and building a Civ modding environment on this machine is something I'd do sooner or later anyway, so doing it now is not even additional work. I'm not sure if I'll be able to solve hiccups though.

If I manage to build the 50Civs dll, I'll post it here as an unofficial add-on, if that's okay with you.

Which would currently be the best IDE for this project? I used Code::Blocks last time for the other mods, but this seems to have become a niche choice, most other projects (for other games as well) seem to be using one of Microsoft's Visual Studio Express editions ('05, '08, or '10).

Best wishes for your RL!
 
Thank you for the tip on the bug. There will likely be no code changes in the next version, assuming that there is one, unless Fuyu makes them to Better BUG AI and I have time to incorporate them. As it stands right now, I have zero time or interest for modding, playing, or anything else related to Civ. Real life is just too ugly right now and I can't promise when I'll get back to things, sorry.

That's too bad, if its any help I hope things get better soon enough.
I guess this will be my last chance to submit a bug report then: when playing with the babylonians, the icon for the spearman looks like the pikeman instead.
I've been playing in a 34-civ earth map to test all the civilizations I could, unfortunately I couldn't test most of them extensively, but it is a heck of fun. Too bad I can't resist the temptation to enter worldbuilder every few turns to see 'what my planet would look like if...'

Edit: Psyringe, I have a 50-civ dll and works fine, I'll attach it here if that's ok for Lemon.
 
That's too bad, if its any help I hope things get better soon enough.
I guess this will be my last chance to submit a bug report then: when playing with the babylonians, the icon for the spearman looks like the pikeman instead.
I've been playing in a 34-civ earth map to test all the civilizations I could, unfortunately I couldn't test most of them extensively, but it is a heck of fun. Too bad I can't resist the temptation to enter worldbuilder every few turns to see 'what my planet would look like if...'

Edit: Psyringe, I have a 50-civ dll and works fine, I'll attach it here if that's ok for Lemon.

Confirming, when playing with the babylonians, the icon for the spearman looks like the pikeman; I didn't realize it was just for the babylonians, but that may be the case.
 
Curious question - nothing important, just something that might be worth a look next time you revisit the mod for more important things:

The mod installs a "PrivateMaps" and a "PublicMaps" folder. For the most part both folders contain identical files. The PrivateMaps folder does contain a newer version of "Full of Resources", and "Perfect World" (which isn't present in PublicMaps). Interestingly, v3.0 of "Full of Resources" in PublicMaps has a later timestamp then v3.1 in PrivateMaps, despite being older. The game loads v3.1 and ignores v3.0 though.

Can anyone enlighten me how these two folders are actually processed, or point me to respective documentation?
 
Hi boys,

I'm sorry if I've seemed a little uncaring. My wife has been in the hospital for about a month and I've been understandably upset. She was able to come home yesterday, and the first thing she did was to give me the riot act for not working on BAT. Civ and BAT help me unwind and relax, and since I'm a bit of an overly emotional, dumb-girl-whack-job already, that's probably a good thing, no? ;)

I'll see if I can get a 50 civ DLL going (because the other ones won't work -- secret code and all), and I have to fix the graphics bugs because they will carry over to BAT 4.

Look for some more development from Lemon Labs.

EDIT: Psy, the public maps thing is a BUG component, and I don't know how it works either. Maybe start a thread in the BUG forum where EF and ruff will see it.
 
Aww, you know I stalk all the threads you post in, LM! :D PublicMaps is the folder that lives in the EXE and CivilizationIV.ini folders. When you install maps for a single mod, they go in that mod's PrivateMaps folder. IOW, PublicMaps shouldn't matter for BAT which always gets installed as a mod.
 
Well, at least she's at home now. I wish you both the best.

Maybe I should post my findings in this thread instead? They have all been mismatched icons, nothing which affects gameplay.
In any case, my latest finding is the Arabian horseman (a.k.a. horse archer in vanilla) using the knight icon. I think I should figure a more methodical approach to test all the civs, so far I've found those mismatched icons when looking what the other civs were building in WB.
 
Aww, you know I stalk all the threads you post in, LM! :D

Who doesn't? :lol:

Anyhow, as far as I can tell the only use for a PublicMaps folder in a mod appears to be to put scenarios for the mod in so that it appears on the scenario loading menu. I think. It looks like the things in the PublicMaps folder are added to the list of maps and scenarios available from the main mod-less menu and the things in PrivateMaps only appear when the mod is already loaded.

Hm... Thought of another use for PublicMaps in a mod: if you are making map scripts for the regular game you could put them in a mod in there and they should show up on the regular map list. That would save the end user from changing what is in the game's "main" version of the folder which is where I have put some map scripts I downloaded in the past. So yet another, similar, use occurs to me: instead of putting the map scripts I downloaded into the BtS PublicMaps folder, I apparently could have created a Maps mod and just put them all in that's PublicMaps (sans any actual mod).

Since BUG itself doesn't change anything that a map would care about, including a PublicMaps folder (like it does) is a lot like my "another use" - it provides some useful maps for the regular game, with or without BUG.
 
PublicMaps is the folder that lives in the EXE and CivilizationIV.ini folders. When you install maps for a single mod, they go in that mod's PrivateMaps folder. IOW, PublicMaps shouldn't matter for BAT which always gets installed as a mod.

Thanks for the info. :) If this folder serves no purpose for BAT (due to BAT being installed as a mod), then I'd suggest to remove PublicMaps from the next BAT release, to prevent confusion and make maintenance easier. Otherwise, if the folder is to be kept, I suggest updating the content of the PublicMaps folder, since it currently has a slightly outdated version of "Full of Resources", and "Perfect World" isn't present there at all. But I should probably tell that to BUG team ... ah, never mind. EmperorFool will find this post. :)

Hi boys,
I'm sorry if I've seemed a little uncaring.
No worries. Modding is a hobby, and there are lots of things that can (and should) take priority over it. I didn't know about your wife and wish you two the best. In the meantime, my suggestion is: If BAT helps you unwind and relax, then play/work on it without a bad conscience. But if it starts to feel like a burden sometimes, set it away for a while without a bad conscience either. We appreciate everything that you're doing for this project, but it's not worth it if it ever makes you feel bad.

Anyway, regarding the 50civs dll: I'm currently playing with the one that migck compiled (I talked him into mailing it to me), and so far it's working well. :)
 
Given what GE said, it sounds like BAT could remove the PrivateMaps folder and make sure all the maps in PublicMaps are the latest versions. They would show up for BAT games and non-BAT games there, right GE?
 
Well, I tested my theory a bit. I'm not so sure it is correct. In fact, it looks to be wrong in practice but possibly what they had intended...

It looks like it is supposed to work, but when I go to the map picking screen from "Play Now!" in regular BtS (whcih I havn't played in a while) I get Python errors from all the maps that are in the BUG 4.4 PublicMaps folder, except the maps that have the same names as ones found in the BtS or Vanilla PublicMaps folder, like so:
Spoiler :
Code:
Traceback (most recent call last):

  File "<string>", line 1, in ?

ImportError: No module named Full_of_Resources_3_00
Failed to load python module Full_of_Resources_3_00.
ERR: Call function isAdvancedMap failed. Can't find module Full_of_Resources_3_00
Traceback (most recent call last):

  File "<string>", line 1, in ?

ImportError: No module named Lows_Random_Maps_3_0
Failed to load python module Lows_Random_Maps_3_0.
ERR: Call function isAdvancedMap failed. Can't find module Lows_Random_Maps_3_0
Traceback (most recent call last):

  File "<string>", line 1, in ?

ImportError: No module named Planet_Generator_0_68
Failed to load python module Planet_Generator_0_68.
ERR: Call function isAdvancedMap failed. Can't find module Planet_Generator_0_68
Traceback (most recent call last):

  File "<string>", line 1, in ?

ImportError: No module named Ring_World
Failed to load python module Ring_World.
ERR: Call function isAdvancedMap failed. Can't find module Ring_World
Traceback (most recent call last):

  File "<string>", line 1, in ?

ImportError: No module named Smart_Map
Failed to load python module Smart_Map.
ERR: Call function isAdvancedMap failed. Can't find module Smart_Map
Which is pretty weird.

In PythonDbg.log there is a set of entries that start with "EntryPoint" which include map files, and then later there is a section where the lines start with "load_module' which eventually gets into listing map files as well - BtS lists all of the map scripts from vanilla and then BtS (there may or may not be Warlords maps in there, I didnt' notice any). Then it gets to the ones in the Mod folder and (to go with the Python errors) shows a lot of "import failed" messages - one per map script, each like so:
Code:
load_module Full_of_Resources_3_00

Full_of_Resources_3_00
 
import failed

Also, I have just noticed (again, since I know I've noticed it before) that a lot of the scenario files for various mods I have installed don't show up on the Scenario list either. I have no idea why some do and others don't, there are no Python errors when looking at that list. Almost all of those that do show up on the list are for scenarios that are part of mods that came with the game, except a Star Trek scenario "The Eugenics Wars" (which is only one of the 20 scenarios that come with the Star Trek set of mods). I'm not sure why that one appears, but it is the only one where the name exactly matches the mod folder name and it also includes the description text instead of using a text key that is defined in a file in the mod's XML\Text folder (I didn't check all 20 for this property, just a couple), but I tried setting Final Frontier Plus to have a scenario with those characteristics (which should just launch the mod, it has not other info stored and is set to have everything random) and it does not show up on the list - neither does the Final Frontier scenarios that comes with the game nor does the Gods of Old scenario or the "Next War Epic" scenario although the plain "Next War" scenario in the same folder does (these are the only 3 that coem with BtS don't make this list, I think - they are all set to random everything, but the various Star Trek scenarios are not and only that one shows up so it is more complicated than just that although having that property may rule them out).

Anyhow, it looks like it is supposed to be able to load public map scripts out of a mod, but can not actually do so successfully. I think that maybe it is a case that the search path for Python modules only includes a mod when the mod is loaded, therefore it can't actually load the map script module correctly from a mod when it isn't loaded even though it checks for them and gives it a try. What scenarios files make the list is just a mystery - those that have the "random = 1" setting don't seem to, but most of those that don't have this set don't make it either.

:crazyeye: <- me right after looking into this, which then became -> :dunno:
 
Yeah, it sounds like removing PublicMaps from BAT is the way to go since we cannot figure out how it's used completely. Odd that it can see the maps in the folder, try to load the module which if found, but then relies on the non-mod Python include path. I suppose that makes sense a little. The EXE (not Python) finds the map and tells Python to load it, but it can't.

Anyway, interesting analysis nonetheless. :goodjob:
 
It is evidently (well, it seems so anyway) searching mods' PublicMaps folders for scenarios and just accidentally also trying to load map scrips from them.

Having had some more time to ponder this, I can see why it would have trouble with maps scripts in the PublicMaps of Mods. The include path when loading the maps in each mod's PublicMaps would have to be different so as to include that folder only when loading the map scripts in it. Changing out the search path for each load would be a pain. There is also the issue of which map script is the one that gets loaded when there are multiple copies/versions spread across multiple folders. (And that is the easy version, which assumes a public map must be compatible with BtS and therefore any imported module in the map scripts must be the BtS version so it doesn't have to add the mod's Python folders to the search path for that map script and avoids having to track multiple modules with the same name on different paths and which module is importing which one. That could get messy.)

So I'm thinking map scripts in PublicMaps in mods can't work (I thought it did, but clearly I was wrong). Scenario files (which include a line that indicate what mod needs to be loaded for it, so when activated they cause the mod to be loaded) can work, although I still don't know what it takes to get one into the BtS main menu "play a scenario" list.
 
Top Bottom