BAT Mod for Mac

I'm playing as the Carthaginians, and when the build menu comes up the maceman option has the swordsman icon next to it. Presumably this is a problem with the mod itself, rather than the Mac version.

Yes, it is, as someone on the original mod thread has noticed the same thing:

http://forums.civfanatics.com/showpost.php?p=8718801&postcount=7

However, the conversation has moved on from there so presumably someone will be working on it for the next update.
 
The good news:

I've updated MAC BAT with Cultural Citystyles 0.95 and a few small tweaks which has fixed a few issues, most notably the crashes caused by certain plantations.

The bad news:

My ISP has done something stupid to my upload speed (currently less than 1kb/sec) and until they fix it I'm unable to upload it for you all. Hopefully later this week.


Hope everyone's new year is going well so far!
 
Technicians were more efficient than I expected which is nice. MAC BAT 2.2 is uploaded and available in the first post.
 
Version 2.2 played ! Very nice, less problems at the moment...

Approaching perfection, man !

;)
 
Question - how can I load CustomAssets?

I tried setting the variable in the MOD.ini to 0 but that doesn't seem to do anything...

Also, it was indicated that the BULL was removed but yet there are still dimmed out options in the MOD options (cmd-alt-O)?
 
Question - how can I load CustomAssets?

I tried setting the variable in the MOD.ini to 0 but that doesn't seem to do anything...

It depends what you have in Custom Assets. If it's anything other than pure art files there's a good chance it's being overridden by BAT regardless. This is especially true with anything Python based. Custom Assets really does not work as well as it should, I've pretty given up on for everything except Blue Marble.

Also, it was indicated that the BULL was removed but yet there are still dimmed out options in the MOD options (cmd-alt-O)?

I've removed the .dll but I've left all the BULL related Python intact because, as you saw, the mod is smart enough to simply disable the relevant options if the .dll is not detected. I could probably remove them all safely but in the end I decided not to, just in case it causes issues in future versions. Also, just removing them won't remove the options in the options screen - it would need to be redesigned/rewritten.
 
I'm trying to adjust the starting techs of the civilization... I guess I could do that in the MOD itself but couldn't find where to put the 'civ4civilizationinfos.xml' file...
 
I'm trying to adjust the starting techs of the civilization... I guess I could do that in the MOD itself but couldn't find where to put the 'civ4civilizationinfos.xml' file...

The file you'll need to edit is MAC BAT 2.2/Assets/Modules/Varietas Delectat/XML/UnitArtStyles&CivInfos/VD_CIV4CivilizationInfos.xml
 
Technicians were more efficient than I expected which is nice. MAC BAT 2.2 is uploaded and available in the first post.

Thanks, Xyth. Small issue in the first post:

If you want MAC BAT to launch automatically when you start BTS, edit the file /Documents/Civilization IV Beyond the Sword/CivilizationIV.ini'. Look for the line 'Mod = 0' and change it to 'Mod = Mods/MAC BAT 2.1'.

should now read

If you want MAC BAT to launch automatically when you start BTS, edit the file /Documents/Civilization IV Beyond the Sword/CivilizationIV.ini'. Look for the line 'Mod = 0' and change it to 'Mod = Mods/MAC BAT 2.2'.

It's obvious, I know, but it may confuse first-timers.
 
Oops missed that, fixed. Thanks :)
 
I'm getting a CTD when I end my turn at 1812 playing Russia (Industrial Era). Nothing I do seems to alter it - whatever options I take, whatever I do, I end the turn and it crashes.

This is running BAT 2.1, rather than 2.2, so the roots may lie there. Would Xyth or anyone else be interested if I posted a save?
 
I'm getting a CTD when I end my turn at 1812 playing Russia (Industrial Era). Nothing I do seems to alter it - whatever options I take, whatever I do, I end the turn and it crashes.

This is running BAT 2.1, rather than 2.2, so the roots may lie there. Would Xyth or anyone else be interested if I posted a save?

It will either be a plantation related crash (fixed in 2.2) or a VD8.0 related crash (which PCs get too). Unfortunately the latter I can do nothing about short of effectively rewriting VD. I am actually doing that for my own mod (sort of) and if the author of VD doesn't fix the issue by the time I finish it I will look at porting what I've done for MAC BAT. No short term solution though I'm afraid :( Do post it though, I suck at interpreting crash logs but I'll do my best. Knowing what each city is building would help for sure.


EDIT: Added this to known issues.

My one worry with trying to fix or replace VD is that I don't know what's required to ensure multiplayer compatibility. While this is not an issue for my own mod I believe much of the popularity of BAT is because of multiplayer compatibility so I definitely do not want to break this.
 
Remind me where to find the crash log.

Launch /Applications/Utilities/Console.app

Select Show Logs if the left hand column with a log list is not displayed.

Choose FILES->~/Library/Logs/CrashReporter/Civilization IV_<date>-....

You only need to copy/paste3 the first part of the log, down to the end of the Treads list. The rest of it is just environment info that is usually not much help. The Crashed Thread listing is the valuable stuff - typically Thread 0.
 
Faulty animation in a NIF file I would guess. Looks as if it's related to trying to achieve a goal. I've seen a somewhat similar crash log before here. Xyth interpreted that one as the plantation issue mentioned by him above.
 
Faulty animation in a NIF file I would guess. Looks as if it's related to trying to achieve a goal. I've seen a somewhat similar crash log before here. Xyth interpreted that one as the plantation issue mentioned by him above.

I won't have a chance to look at the saved game until tomorrow but yes, that is almost certainly a plantation related crash, and if not, a VD crash.

If you want to test it yourself, on the turn just before the crash go into world builder mode and look around to see if there are any workers on a banana or incense tile. Something else you can do is look for any cities that are due to finish building something that turn, then switch to that player and manually place that unit/building. If you get a crash then you've found the culprit.

Unfortunately the crash could also be related to one of the civs in the game advancing an era and thus one or more of their city, improvement, and/or unit art changes is causing the crash. This is much more annoying and time consuming to track down and I suspect that this is why this crash hasn't been fixed yet in VD.
 
That's a lot of different things, Xyth. I don't have time to test them all, I'm afraid - but, if you have, do go ahead (but I guess you're already working on this sort of thing).

I'm in awe of how you guys can just look at a log and see straight away what's wrong, but I guess that's experience showing.
 
That's a lot of different things, Xyth. I don't have time to test them all, I'm afraid - but, if you have, do go ahead (but I guess you're already working on this sort of thing).

I'm in awe of how you guys can just look at a log and see straight away what's wrong, but I guess that's experience showing.

No magic involved. The relevant bit of your log is:

Code:
Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000000000000002c
Crashed Thread:  0

Thread 0 Crashed:
0   com.aspyr.civ4bts             	0x0068c3c2 [b]NiControllerManager::AddSequence[/b](NiControllerSequence*, char const*, bool) + 76
1   com.aspyr.civ4bts             	0x0067ac86 NiActorManager::ChangeSequence(unsigned short, NiControllerSequence*) + 68
2   com.aspyr.civ4bts             	0x0060db04 FResourceMgr::CreateAnimation(FActorManagerProxy*, int, bool) + 108
3   com.aspyr.civ4bts             	0x0060dc5f FResourceMgr::SetTargetAnimation(FActorManagerProxy*, int, bool) + 99
4   com.aspyr.civ4bts             	0x005ed859 [b]FActorManagerProxy::SetTargetAnimation[/b](unsigned short) + 33
5   com.aspyr.civ4bts             	0x00af5c24 CvPlotBuilder::doFinalizeImprovement(CvLSystemNodeInstance*, CvLSystemArtRef*) + 2212
6   com.aspyr.civ4bts             	0x00af6812 CvPlotBuilder::doFinalizeNode(CvLSystemNodeInstance*, CvLSystemGoal&) + 156
7   com.aspyr.civ4bts             	0x00ae739c CvLSystemInstance::dfs_to_meet_goal(CvLSystemNodeInstance*, CvLSystemGoal&, int) + 156
8   com.aspyr.civ4bts             	0x00ae7752 CvLSystemInstance::dfs_to_meet_goal(CvLSystemNodeInstance*, CvLSystemGoal&, int) + 1106
9   com.aspyr.civ4bts             	0x00ae7752 CvLSystemInstance::dfs_to_meet_goal(CvLSystemNodeInstance*, CvLSystemGoal&, int) + 1106
10  com.aspyr.civ4bts             	0x00ae7752 CvLSystemInstance::dfs_to_meet_goal(CvLSystemNodeInstance*, CvLSystemGoal&, int) + 1106
11  com.aspyr.civ4bts             	0x00ae7752 CvLSystemInstance::[b]dfs_to_meet_goal[/b](CvLSystemNodeInstance*, CvLSystemGoal&, int) + 1106
12  com.aspyr.civ4bts             	0x00ae79e7 CvLSystemInstance::continue_dfs_to_meet_goal(CvLSystemGoal&) + 233
13  com.aspyr.civ4bts             	0x00af135d CvPlotBuilder::doLayout(std::vector<std::pair<CvLSystemNode*, int>, std::allocator<std::pair<CvLSystemNode*, int> > > const&, std::vector<std::pair<CvLSystemNode*, int>, std::allocator<std::pair<CvLSystemNode*, int> > > const&) + 1383
14  com.aspyr.civ4bts             	0x00af4caa CvPlotBuilder::rebuild() + 2316
15  com.aspyr.civ4bts             	0x00af5154 CvPlotBuilder::updateData(float) + 448
16  com.aspyr.civ4bts             	0x00ac3f74 CvEngine::updateUpdateableEnts(float) + 42
17  com.aspyr.civ4bts             	0x00ac6025 CvEngine::update(float) + 775
18  com.aspyr.civ4bts             	0x00a9202a CvApp::OnIdle() + 1616
19  com.aspyr.civ4bts             	0x0066ea41 FWinApp::Run() + 31
20  com.aspyr.civ4bts             	0x00b1ee52 [b]WinMain[/b] + 50
I've highlighted the bits that stand out and give clues. Xyth knows the details of the problem areas in BAT, so he is able to relate these to the actual mod.

WinMain is the main game code, ported lock stock and barrel from Firaxis code. It was running in Thread 0 and crashed with an access to an illegal address near the bottom of RAM. That's pretty typical.

dfs_to_meet_goal is a routine monitoring some goal in the game.

FActorManagerProxy::SetTargetAnimation is a method for FActorManagerProxy - probably meaning "Firaxis Actor Manager's assistant" - that animates units on screen.

NiControllerManager::AddSequence is probably a method in the NIF (NetImmerse File Format) handling code, and is at the top of the list. So this is where the program fell into a black hole.
 
Back
Top Bottom