Can I use the BUG mod? YES!

I've fixed the smilies - added CODE tags. That's a scary set of API calls, and because some of the actual lines are so long, we only have a small section of code to look at.

The crash is happening within the core game code in Aspyr's compiled game software, at the point where it tries to draw into the Strategy layer. The API function addColoredPlot() has been called by the Python code, and I think the crash is probably down to the graphics drivers.

What exact sequence of actions are you trying that causes the crash? I'll try to reproduce it, but if this is not reproduceable on my Snow Leopard system with a GeForce graphics card, I have to suspect the Tiger driver. I recommend sending the crash log to Aspyr and letting them investigate.

@Xyth: Mac Civ4 releases all use Python 2.3, regardless of what later releases are installed in the OS. I assume Aspyr went for the lowest common denominator across the supported OS versions. The Windows versions use Python 2.4, which is why we have problems with some Python calls in mods.
 
To produce the crash, I hit (option x) for the dotmap tool, then start putting down the dots. After a variable amount of time (sometimes it crashes right away, other times it has taken a minute or so) the game unexpectedly quits.
 
@Xyth: Mac Civ4 releases all use Python 2.3, regardless of what later releases are installed in the OS. I assume Aspyr went for the lowest common denominator across the supported OS versions. The Windows versions use Python 2.4, which is why we have problems with some Python calls in mods.

Ah that makes sense now, been trying to work out was going on there. Cheers.
 
Huh, I've had this crash as well, but it only happened once when I tried switching dotmap colors. There wasn't anything in my Python logs and it only has happened the once, so I just dismissed it as a random crash. (I'm also on Tiger but with an ATI x1600 card.)
 
OK, I can repeat that in Snow Leopard 10.6.1. with nVidia 8800 graphics.

Option-X, plot four or five city positions, the beachball starts spinning ... and bang. I'm going to try the same thing in BtS Windows.

No problem in Windows. So it looks like a problem in Aspyr's compiled game code in addColoredPlot(). The problem is that this may only be provoked by the BUG mod, so Aspyr will feel no obligation to fix it, because they son't support mods.

I'll do some more checking.
 
@Flint: Dotmapping for me repeatedly crashes. Log:

Spoiler :
Code:
Process:         Civilization IV Beyond the Sword [155]
Path:            /Users/kdaum/Documents/Civilization IV/Beyond the Sword/Civilization IV Beyond the Sword.app/Contents/MacOS/Civilization IV Beyond the Sword
Identifier:      com.aspyr.civ4bts
Version:         3.19 (92131)
Code Type:       X86 (Native)
Parent Process:  launchd [68]

Interval Since Last Report:          1083276 sec
Crashes Since Last Report:           6
Per-App Interval Since Last Report:  195263 sec
Per-App Crashes Since Last Report:   5

Date/Time:       2009-10-11 22:27:16.970 -0400
OS Version:      Mac OS X 10.5.8 (9L31a)
Report Version:  6
Anonymous UUID:  471AA270-480F-4A3A-8965-F7B262D09AFB

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

Thread 0 Crashed:
0   com.aspyr.civ4bts             	0x00b2a36e CyEngine::addColoredPlotAlt(int, int, int, int, char const*, float) + 82
1   com.aspyr.civ4bts             	0x00538b71 _object* boost::python::detail::invoke<int, void (CyEngine::*)(int, int, int, int, char const*, float), boost::python::arg_from_python<CyEngine&>, boost::python::arg_from_python<int>, boost::python::arg_from_python<int>, boost::python::arg_from_python<int>, boost::python::arg_from_python<int>, boost::python::arg_from_python<char const*>, boost::python::arg_from_python<float> >(boost::python::detail::invoke_tag_<true, true>, int const&, void (CyEngine::*&)(int, int, int, int, char const*, float), boost::python::arg_from_python<CyEngine&>&, boost::python::arg_from_python<int>&, boost::python::arg_from_python<int>&, boost::python::arg_from_python<int>&, boost::python::arg_from_python<int>&, boost::python::arg_from_python<char const*>&, boost::python::arg_from_python<float>&) + 195
2   com.aspyr.civ4bts             	0x0053a96c boost::python::detail::caller_arity<7u>::impl<void (CyEngine::*)(int, int, int, int, char const*, float), boost::python::default_call_policies, boost::mpl::vector8<void, CyEngine&, int, int, int, int, char const*, float> >::operator()(_object*, _object*) + 332
3   com.aspyr.civ4bts             	0x005b129e boost::python::objects::function::call(_object*, _object*) const + 698
4   com.aspyr.civ4bts             	0x005b3071 boost::detail::function::void_function_obj_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::any_pointer) + 35
5   com.aspyr.civ4bts             	0x005ace0f boost::function0<void, std::allocator<boost::function_base> >::operator()() const + 79
6   com.aspyr.civ4bts             	0x005acab6 boost::python::handle_exception_impl(boost::function0<void, std::allocator<boost::function_base> >) + 54
7   com.aspyr.civ4bts             	0x005b1ebf bool boost::python::handle_exception<boost::python::objects::(anonymous namespace)::bind_return>(boost::python::objects::(anonymous namespace)::bind_return) + 41
8   com.aspyr.civ4bts             	0x005b018c function_call + 58
9   org.python.python             	0x023cc828 PyObject_Call + 50
10  org.python.python             	0x0241d8dc _PyEval_SliceIndex + 16065
11  org.python.python             	0x0241d771 _PyEval_SliceIndex + 15702
12  org.python.python             	0x0241d771 _PyEval_SliceIndex + 15702
13  org.python.python             	0x0241f26d PyEval_EvalCodeEx + 1750
14  org.python.python             	0x0241d83c _PyEval_SliceIndex + 15905
15  org.python.python             	0x0241d771 _PyEval_SliceIndex + 15702
16  org.python.python             	0x0241f26d PyEval_EvalCodeEx + 1750
17  org.python.python             	0x023dfe6c PyFunction_SetClosure + 2405
18  org.python.python             	0x023cc828 PyObject_Call + 50
19  org.python.python             	0x024196cb PyEval_CallObjectWithKeywords + 195
20  org.python.python             	0x023cc7f4 PyObject_CallObject + 32
21  com.aspyr.civ4bts             	0x00678e6f FPythonMgr::ICallFunction(_object*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, _object*, _object**) const + 79
22  com.aspyr.civ4bts             	0x006790e7 FPythonMgr::ICallFunction(_object*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, _object*, long*) const + 57
23  com.aspyr.civ4bts             	0x00679744 FPythonMgr::CallFunction(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, _object*, long*) const + 180
24  com.aspyr.civ4bts             	0x00b1d445 CyPythonMgr::callFunction(FStringA const&, FStringA const&, void*) + 177
25  com.aspyr.civ4bts             	0x00b47c11 CvInterface::setMouseOverPlot(CvPlot*) + 279
26  com.aspyr.civ4bts             	0x00b52de2 CvInterface::mouseMove(tagPOINT, bool, bool, bool) + 1250
27  com.aspyr.civ4bts             	0x00adcd8c CvInputMgr::update() + 2470
28  com.aspyr.civ4bts             	0x00a91b5a CvApp::OnIdle() + 384
29  com.aspyr.civ4bts             	0x0066ea41 FWinApp::Run() + 31
30  com.aspyr.civ4bts             	0x00b1ee52 WinMain + 50
31  com.aspyr.civ4bts             	0x000a7f99 sEventLoopEventHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) + 111
32  com.apple.HIToolbox           	0x902a213d DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 1181
33  com.apple.HIToolbox           	0x902a157b SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 405
34  com.apple.HIToolbox           	0x902a13e0 SendEventToEventTargetWithOptions + 58
35  com.apple.HIToolbox           	0x902cfd54 ToolboxEventDispatcherHandler(OpaqueEventHandlerCallRef*, OpaqueEventRef*, void*) + 356
36  com.apple.HIToolbox           	0x902a24f6 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*) + 2134
37  com.apple.HIToolbox           	0x902a157b SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*) + 405
38  com.apple.HIToolbox           	0x902bdecc SendEventToEventTarget + 52
39  com.apple.HIToolbox           	0x9032aa6c ToolboxEventDispatcher + 86
40  com.apple.HIToolbox           	0x903272c2 RunApplicationEventLoop + 222
41  com.aspyr.civ4bts             	0x000a8052 InstallEventsAndRunGameLoop() + 166
42  com.aspyr.civ4bts             	0x000a83ea main + 356
43  com.aspyr.civ4bts             	0x00002642 _start + 216
44  com.aspyr.civ4bts             	0x00002569 start + 41

Thread 1:
0   libSystem.B.dylib             	0x91c252e6 semaphore_timedwait_signal_trap + 10
1   libSystem.B.dylib             	0x91c572af _pthread_cond_wait + 1244
2   libSystem.B.dylib             	0x91c58b33 pthread_cond_timedwait_relative_np + 47
3   ...ple.CoreServices.CarbonCore	0x94336cfe TSWaitOnConditionTimedRelative + 246
4   ...ple.CoreServices.CarbonCore	0x94336ade TSWaitOnSemaphoreCommon + 422
5   ...ickTimeComponents.component	0x9600565e ReadSchedulerThreadEntryPoint + 4724
6   libSystem.B.dylib             	0x91c56155 _pthread_start + 321
7   libSystem.B.dylib             	0x91c56012 thread_start + 34

Thread 2:
0   libSystem.B.dylib             	0x91c252e6 semaphore_timedwait_signal_trap + 10
1   libSystem.B.dylib             	0x91c572af _pthread_cond_wait + 1244
2   libSystem.B.dylib             	0x91c58b33 pthread_cond_timedwait_relative_np + 47
3   ...ple.CoreServices.CarbonCore	0x94336cfe TSWaitOnConditionTimedRelative + 246
4   ...ple.CoreServices.CarbonCore	0x94336ade TSWaitOnSemaphoreCommon + 422
5   ...ple.CoreServices.CarbonCore	0x9435f1d4 AIOFileThread(void*) + 1056
6   libSystem.B.dylib             	0x91c56155 _pthread_start + 321
7   libSystem.B.dylib             	0x91c56012 thread_start + 34

Thread 3:
0   libSystem.B.dylib             	0x91c25286 mach_msg_trap + 10
1   libSystem.B.dylib             	0x91c2ca7c mach_msg + 72
2   com.apple.CoreFoundation      	0x95065e7e CFRunLoopRunSpecific + 1790
3   com.apple.CoreFoundation      	0x95066aa8 CFRunLoopRunInMode + 88
4   com.apple.audio.CoreAudio     	0x92d0f5f8 HALRunLoop::OwnThread(void*) + 160
5   com.apple.audio.CoreAudio     	0x92d0f480 CAPThread::Entry(CAPThread*) + 96
6   libSystem.B.dylib             	0x91c56155 _pthread_start + 321
7   libSystem.B.dylib             	0x91c56012 thread_start + 34

Thread 4:
0   libSystem.B.dylib             	0x91c252e6 semaphore_timedwait_signal_trap + 10
1   libSystem.B.dylib             	0x91c572af _pthread_cond_wait + 1244
2   libSystem.B.dylib             	0x91c58b33 pthread_cond_timedwait_relative_np + 47
3   com.apple.audio.CoreAudio     	0x92d1ebdf CAGuard::WaitFor(unsigned long long) + 213
4   com.apple.audio.CoreAudio     	0x92d2079a CAGuard::WaitUntil(unsigned long long) + 70
5   com.apple.audio.CoreAudio     	0x92d1ef3f HP_IOThread::WorkLoop() + 759
6   com.apple.audio.CoreAudio     	0x92d1ec43 HP_IOThread::ThreadEntry(HP_IOThread*) + 17
7   com.apple.audio.CoreAudio     	0x92d0f480 CAPThread::Entry(CAPThread*) + 96
8   libSystem.B.dylib             	0x91c56155 _pthread_start + 321
9   libSystem.B.dylib             	0x91c56012 thread_start + 34

Thread 5:
0   libSystem.B.dylib             	0x91c2c46e __semwait_signal + 10
1   libSystem.B.dylib             	0x91c56dcd pthread_cond_wait$UNIX2003 + 73
2   libGLProgrammability.dylib    	0x94a47b32 glvmDoWork + 162
3   libSystem.B.dylib             	0x91c56155 _pthread_start + 321
4   libSystem.B.dylib             	0x91c56012 thread_start + 34

Thread 6:
0   libSystem.B.dylib             	0x91c2c46e __semwait_signal + 10
1   libSystem.B.dylib             	0x91c56dcd pthread_cond_wait$UNIX2003 + 73
2   GLEngine                      	0x530dcd17 gleCmdProcessor + 375
3   libSystem.B.dylib             	0x91c56155 _pthread_start + 321
4   libSystem.B.dylib             	0x91c56012 thread_start + 34

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000048  ebx: 0x0158ede0  ecx: 0x00000001  edx: 0x3338f9fc
  edi: 0x00000002  esi: 0x79f38778  ebp: 0xbfffdef8  esp: 0xbfffdec0
   ss: 0x0000001f  efl: 0x00010206  eip: 0x00b2a36e   cs: 0x00000017
   ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037
  cr2: 0x00000048
 
Ah yep, I can get this crash to happen too, though not every time. Maybe it's coincidence but it seems to happen less often if I switch colours a lot and/or don't overlap plots. I'm on 10.6.1 and ATI x1600.

EDIT: Actually it seems more related to how fast I put down plots. Still, on my setup at least, the crash is quite rare (happened in 2 out of 6 test sessions).
 
Yes, I tried again after I switched to Windows. I wanted to check whether there was any clue in the debug or error logs when it happened. When I tried on a new random game start, I could put down plots on every tile in a starting map and not hit a problem. So I went to bed!
 
I installed the BUG mod as per the instructions in post #41, but when I start a game, I see a bunch of messages about errors parsing .../CustomAssets/Config/init.xml and I have no info display (just the map). Looking at the log, the problem seems to have something to do with failing to load the "TraitUtil" module. Here are the relevant lines from the PythonDbg.log file:

Spoiler :

00:01:08 DEBUG: BUG: looking up TraitUtil.init
load_module TraitUtil

TraitUtil

import failed

00:01:08 TRACE: BugConfig - failure parsing /Users/jhr/Documents/Civilization IV Beyond the Sword/CustomAssets/Config/init.xml at line 108
00:01:08 TRACE: No such module 'TraitUtil'
00:01:08 DEBUG: BUG: looking up UnitUtil.init
00:01:08 TRACE: BugConfig - failure parsing /Users/jhr/Documents/Civilization IV Beyond the Sword/CustomAssets/Config/init.xml at line 110
00:01:08 TRACE: Element <bug> does not accept child <gameutils>
00:01:08 TRACE: BugConfig - failure parsing /Users/jhr/Documents/Civilization IV Beyond the Sword/CustomAssets/Config/init.xml at line 112
00:01:08 TRACE: Element <None> does not accept child <event>
00:01:08 TRACE: BugConfig - failure parsing /Users/jhr/Documents/Civilization IV Beyond the Sword/CustomAssets/Config/init.xml at line 112
00:01:08 TRACE: 'NoneType' object has no attribute 'addText'
00:01:08 DEBUG: Timer - load mod [init] took 308 ms


There are also a lot of exceptions reported in the PythonErr.log file.

I hope that someone might have some ideas about what might be the problem.
 
The PythonErr.log file is much more useful.

However, I suspect the problem is that you have not named the new "BUG Mod" folder correctly, or you have put it in the wrong place. BUG creates a bunch of .init files and puts them in that folder. Your debug listing indicates it's having trouble with those files.
 
The PythonErr.log file is much more useful.

However, I suspect the problem is that you have not named the new "BUG Mod" folder correctly, or you have put it in the wrong place. BUG creates a bunch of .init files and puts them in that folder. Your debug listing indicates it's having trouble with those files.

I'm pretty sure that I named it correctly:
~/Documents/Civilization IV Beyond the Sword/BUG Mod​
The one difference from the instructions is that they give the path as
~/Documents/Civilization IV/Beyond the Sword/BUG Mod​
but my BtS install did not create a
~/Documents/Civilization IV/Beyond the Sword​
directory.

Anyway, it is not completely unhappy, since it appears to have added a bunch of .ini files to the "BUG Mod/UserSettings" directory when I ran BtS.

Here is the PythonErr.log file:
Spoiler :
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugConfig", line 433, in handle
File "BugUtil", line 622, in callFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'WidgetUtil'
Traceback (most recent call last):
File "BugConfig", line 99, in unknown_starttag
File "BugConfig", line 328, in startChild
File "BugConfig", line 318, in process
File "BugConfig", line 433, in handle
File "BugUtil", line 622, in callFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'BugGameUtils'
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugConfig", line 433, in handle
File "BugUtil", line 622, in callFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'BugGameUtils'
Traceback (most recent call last):
File "BugConfig", line 77, in parse
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 171, in feed
self.goahead(0)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 268, in goahead
self.handle_data(data)
File "BugConfig", line 119, in handle_data
AttributeError: 'NoneType' object has no attribute 'addText'
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugConfig", line 409, in handle
File "BugInit", line 69, in loadMod
File "BugConfig", line 77, in parse
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 171, in feed
self.goahead(0)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 268, in goahead
self.handle_data(data)
File "BugConfig", line 119, in handle_data
AttributeError: 'NoneType' object has no attribute 'addText'
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugOptions", line 1453, in handle
File "BugUtil", line 614, in getFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'BugUpdateChecker'
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugOptions", line 1453, in handle
File "BugUtil", line 614, in getFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'BugUpdateChecker'
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugOptions", line 1453, in handle
File "BugUtil", line 614, in getFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'BugUpdateChecker'
Traceback (most recent call last):
File "BugConfig", line 110, in unknown_endtag
File "BugConfig", line 334, in endChild
File "BugConfig", line 337, in end
File "BugConfig", line 318, in process
File "BugConfig", line 525, in handle
File "BugUtil", line 614, in getFunction
File "BugUtil", line 601, in lookupFunction
ConfigError: No such module 'TraitUtil'
Traceback (most recent call last):
File "BugConfig", line 99, in unknown_starttag
File "BugConfig", line 326, in startChild
ConfigError: Element <bug> does not accept child <gameutils>
Traceback (most recent call last):
File "BugConfig", line 99, in unknown_starttag
File "BugConfig", line 326, in startChild
ConfigError: Element <None> does not accept child <event>
Traceback (most recent call last):
File "BugConfig", line 77, in parse
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 171, in feed
self.goahead(0)
File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 268, in goahead
self.handle_data(data)
File "BugConfig", line 119, in handle_data
AttributeError: 'NoneType' object has no attribute 'addText'
Traceback (most recent call last):

File "CvAppInterface", line 63, in preGameStart

File "BugEventManager", line 319, in fireEvent

File "BugEventManager", line 329, in _dispatchEvent

File "BugEventManager", line 380, in _handleInitBugEvent

File "BugEventManager", line 531, in initBug

File "BugInit", line 48, in init

File "BugInit", line 69, in loadMod

File "BugConfig", line 77, in parse

File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 171, in feed
self.goahead(0)

File "/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/xmllib.py", line 268, in goahead
self.handle_data(data)

File "BugConfig", line 119, in handle_data

AttributeError: 'NoneType' object has no attribute 'addText'
ERR: Python function preGameStart failed, module CvAppInterface
 
I'm pretty sure that I named it correctly:
~/Documents/Civilization IV Beyond the Sword/BUG Mod​
The one difference from the instructions is that they give the path as
~/Documents/Civilization IV/Beyond the Sword/BUG Mod​
but my BtS install did not create a
~/Documents/Civilization IV/Beyond the Sword​
directory.
Well spotted. I've fixed that.
Anyway, it is not completely unhappy, since it appears to have added a bunch of .ini files to the "BUG Mod/UserSettings" directory when I ran BtS.
Yes, i was guessing a bit, as I wasn't sure what might have preceded the Debug messages you quoted. However, the PythonErr.log listing indicates that something else is not installed correctly, as it is failing to find several of the Python files.

Have you installed BUG in more than one place? Ie is it in a Mods folder as well as in CustomAssets? Are you then also trying to load it using Load a Mod, or by setting it as the default mod in CivilizationIV.ini? If so, I recommend removing it from the Mods folder OR deleting the CustomAssets folder.
 
Well spotted. I've fixed that.

Yes, i was guessing a bit, as I wasn't sure what might have preceded the Debug messages you quoted. However, the PythonErr.log listing indicates that something else is not installed correctly, as it is failing to find several of the Python files.

Have you installed BUG in more than one place? Ie is it in a Mods folder as well as in CustomAssets? Are you then also trying to load it using Load a Mod, or by setting it as the default mod in CivilizationIV.ini? If so, I recommend removing it from the Mods folder OR deleting the CustomAssets folder.

I only installed it once following the instructions, but in case something was messed up about my installation, I completely removed BtS and reinstalled it from the DVD. That appears to have fixed the problem. Thanks for your help.
 
Interesting. Glad to hear you're working now. Have you applied the 3.19 patch?
 
Interesting. Glad to hear you're working now. Have you applied the 3.19 patch?

I did the second time around and I think that I also did the first time, but I emptied my trash before I thought to check. The one thing that I know was different is that I had the "lock modified assets" flag set the first time that I ran with BUG.
 
I did the second time around and I think that I also did the first time, but I emptied my trash before I thought to check. The one thing that I know was different is that I had the "lock modified assets" flag set the first time that I ran with BUG.

It appears that having the "lock modified assets" flag set is the source of the problem. Turning it on causes the problem, turning it off fixes the problem.
 
I just got another dotmapping crash. :( This sucks that it is broken, and of course Aspyr won't was to fix it. (As Alan already explained.)

Does anyone know where the dotmapping code is in BUG? I kind of want to take a look at it, but I'm having trouble locating it. I suppose I'll ask in the BUG forum if no one here knows...
 
It's in Python/Contrib/CvStrategyOverlay.py
 
Top Bottom