ruff_hi
Live 4ever! Or die trying
yep - worked with and without BUG on my pc. Guess it is something mac related.
When I debug BUG (or any mod with Python code) on the Mac, if I change a Python file I have to reload the mod from the main menu, so the Mac's Python interpreter seems not to be able to reload a module once it is loaded. This is clearly not the same as the Windows version, which picks up and reloads changed files on the fly.It seems that the Mac version is allowing BUG Python files to load when loaded via the game engine or the standard "import" statement, but it isn't loading them when using dynamic import.
If so, and if BUG needs to load Python modules dynamically for PBEM saves, then it will fail on the Mac.
If that is the case, then that could be the cause of the pbem problem that I saw reported (BUG not loading correctly) as BtS (Mac) got confused about how much of BUG to load.Note that you can't load a game file on Mac BtS by double clicking it. Presumably, CustomAssets are loaded when BtS Starts up, and before it knows which game you want to run, and it can't then unload the assets when it discovers assets are locked. I'll try some experiments.
So on what information are such "worst enemy" alerts based ? Should the alert text be revised ?
Worryingly, if I create a Locked Assets save - single or multiplayer - using my Windows BtS I cannot load it on the Mac. It gives the Locket Assets error.
If anyone has any bright ideas as to how we can stop BUG from part-loading from CustomAssets on a Mac, I can try it. I did suggest once before that BUG initialisation could be left until late in the game loading cycle.
How can I use "handleInput" function in "SevoPediaUnits.py"?
I think all input goes through SevoPediaMain.py. However, clicking on the items in a list is handled by the SDK: it checks the WidgetType assigned to the item and goes through CvScreenInterface.py IIRC. This latter module calls functions in SevoPediaMain.py.
def handleInput (self, inputClass):
[COLOR="Red"]if (inputClass.getPythonFile() == SevoScreenEnums.PEDIA_LEADERS):[/COLOR]
[COLOR="Blue"]return self.pediaLeader.handleInput(inputClass)[/COLOR]
elif (inputClass.getFunctionName() == self.TOC_ID):
self.showContents()
return 1
def handleInput (self, inputClass):
[COLOR="Red"]if (self.mapScreenFunctions.get(self.iCategory) == self.pediaLeader):[/COLOR]
return self.pediaLeader.handleInput(inputClass)
elif (inputClass.getFunctionName() == self.TOC_ID):
self.showContents()
return 1
BTW, the message "Ragnar is the worst enemy of Churchill" means exactly what it says: Churchill hates Ragnar the most.
Ah, there are some game actions that trigger these alert messages during AI turns, so it is possible that something happened before your turn that changed the WE or Churchill twice.
So at a particular moment Churchill had no worst enemy, which was reported. Then, during the same end-of-turn sequence, something happened to cause Churchill to hate Ragnar, and this too was reported. OK. But I'd still be happier if instead of saying "Ragnar is the worst enemy of Churchill" it said "Churchill's worst enemy is Ragnar" or something similar, on the basis that the person feeling the hatred should, I think, be the subject of the sentence and the person hated should be the object. "John loves Mary" is clearer than "Mary is loved by John", for example: it's John's emotion that matters.
For plain, simple non-modded games, the Mac and Windows versions are supposed to be able to exchange saves. Aspyr did some fancy footwork with checksums to make the Mac version play right ... but I wonder if they kept that in a working state when they produced the 3.19 upgrade.II assume this happens because the DLL is included in the asset-checking, and the two games have different DLL mechanisms.
I'm happy to help with this. However, I'd welcome dr_s' point of view as a user, but this level of work sounds to me to be above and beyond the call of duty. Changing the CustomAssets folder name is not a big deal if you have to play a PBEM turn, and there can't be a lot of players who would be inconvenienced by it. If it's really a problem you could possibly have a different login, with another user folder containing no CustomAssets. Fast user switching could then get you from one config to the other.BUG depends on BTS not loading its modules if the CustomAssets folder should be ignored. The problem is that BTS is loading BUG modules when it shouldn't. The only solution I can think of would be quite tedious to implement, and it may not even work.
First, I'd have to write a function that would detect if the CustomAssets folder should be loaded. The CA folder should be ignored if playing a MP game or if the mod has NoCustomAssets set to 1. Are there any other conditions?
The tedious part comes next: I'd need to rewrite any module that replaces an existing BTS module so that BUG's initialization would inject the changes into the original BTS module on-the-fly. In some cases BUG replaces a function in a module; other times it replaces an object with its own. Hopefully having access to the globals() for a module would be enough here.
BUG replaces a few modules in EntryPoints. The ones it replaces in Screens could be
done easily enough by having a separate BUG version as is done with the Military Advisor.
I think we could do a simple test to see if this is at all possible. Python allows it for sure; the doubt is BTS's interface with the interpreter. If it works it would be quite a bit of work to make this change. @AlanH - Would you have some time to help with this part if I can explain what needs to be done?
The wonder list is available on the same screen as BUG shows it. We have just reformatted it. The city count is available by opening the diplo screen (Ctrl-Click on a leaders name at any time) and scrolling down to the list of cities. The city count changes if the AI will not talk to you - then you only get a tally of the cities on tiles that you can see (ie you must manually count them on the map).I'm curious about the city count and the list of national wonders that have been built. Is there any way to access this information without the BUG mod (the city count in particular); if not, isn't knowing this stuff kind of cheating?
I'm happy to help with this. However, I'd welcome dr_s' point of view as a user, but this level of work sounds to me to be above and beyond the call of duty. Changing the CustomAssets folder name is not a big deal if you have to play a PBEM turn, and there can't be a lot of players who would be inconvenienced by it. If it's really a problem you could possibly have a different login, with another user folder containing no CustomAssets. Fast user switching could then get you from one config to the other.
But I'd still be happier if instead of saying "Ragnar is the worst enemy of Churchill" it said "Churchill's worst enemy is Ragnar" or something similar, on the basis that the person feeling the hatred should, I think, be the subject of the sentence and the person hated should be the object.
I'm curious about the city count and the list of national wonders that have been built. Is there any way to access this information without the BUG mod (the city count in particular); if not, isn't knowing this stuff kind of cheating?
It would be easy for me to write a little applescript to shuffle folders around for playing SP games or PBEM games.
I rather doubt this. The application launch architecture in Mac OS X is *very* different from that in Windows, and it is very unlikely that Aspyr would have ported across the command line options from Windows.I would bet that the Mac version also supports the /AltRoot command-line switch so you could have two "Beyond the Sword" data folders--one for normal games and the other for PBEMs. Then you would just have two desktop shortcuts or whatever you want to launch them.