Cross-Platform Civ3 Editor

Cross-Platform Editor for Conquests now available! 1.51

Maybe I should have been more specific in my last post. It's nothing to do with the performance of the computer.

We have a fairly comprehensive saved game file "parser" that we use for automated analysis of submissions for the Hall of Fame and Game of the Month competitions. This reads the entire game file and extracts information of interest.

When the parser reaches the part of the file where the Player information is recorded, it reads precisely 32 blocks of Player data. 32 is a fixed, hard coded value, and as far as I know it is not configurable. Each block of Player data includes a number of arrays that record the Player's relationships with the other Players - how much gold they pay and receive from each player; how long they will refuse contact attempts, etc. These arrays are also fixed to a length of 32.

When the parser reaches the Tile information, it reads data for each Tile. This data includes several arrays that record which civs can see the Tile or have explored it. To minimise file size, each array is stored in a single 32 bit word, using one bit per Player. It is very unlikely that these arrays would or could expand to accommodate more than 32 Players.

I tried just changing the WSIZ max players value for Huge maps to 32 using the editor, and I got a java error when I tried to save the scenario:

java.util.ArrayList.RangeCheck(ArrayList.java:547)

It may be necessary to change other stuff as well, but even if you succeed in creating a BIQ, I am guessing a saved game will either crash and burn, or it will simply leave out any extra Players. I'll be interested to hear how it goes. If anyone can create a saved game file that works, then I'd like to see it.
 
32 is 25. Maybe this could be augmented to the next power of two, i.e. 64?
 
Augmented by who? Firaxis are certainly not going to do it, and I'm 99% certain that they are the only people who could.
 
Can't this 'word' be changed to having 64 bits? Just a random thought that occurred to me. Maybe with a hex editor, just like oceans being placed next to land tiles and so on.
 
Can't this 'word' be changed to having 64 bits? Just a random thought that occurred to me. Maybe with a hex editor, just like oceans being placed next to land tiles and so on.
howdy Takhisis,

that would require recompiling the *.dll files. we can't do that cuz we have no access to the source for the _rest_ of the code in the *.dll.

yes, it is only a slightly larger array. no, just changing the various references to the array in question can't be done to the game code without doing a fill blown recompile. [*grin*] firaxis has repeatedly and vigorously refused to allow any access to the game code, so that idea is a no-go.

too bad that firaxis is so anal about it ... [*sigh ...*] civ 3 complete sells for $9 on amazon these days. they aint making all that much cash that the code is so invaluable.

take care,
lee
 
The Firaxis software knows where it expects to find all the data it needs. If you change bits of it - by whatever means - the software will fail to find the data it requires, and it will crash.
 
catfish.gif
Why does it have to be that Civilization III was programmed to crash upon encountering any problem, even a missing defend.flc file or other such trivia?
 
catfish.gif
Why does it have to be that Civilization III was programmed to crash upon encountering any problem, even a missing defend.flc file or other such trivia?
howdy Takhisis,

because firaxis programmed it that way. _carelessly_ programmed it that way [*sigh ...*] there are LOTS of stupid, bad, well-known-to-good-programmers errors in the civ games. you have noticed, haven't you, that _every_ civ since civ2 has come out with major errors? i didn't have such crashes with civ1 in dos ... [*grin*]

a fairly well off, well organized company would have - at the very least - run the code thru any of the standard code checkers to look for simple things like bounds checking. firaxis didn't do that for civ3. i suspect they saved money and didn't do it with any other version of civ that they have been involved in, either.

a fairly ethical company would have released lots of limited play beta versions. they did nothing of the sort. some folks got in the beta program, but not enuf to make a useful difference. [*sigh ...*]

fireaxis doesn't _care_ if the game crashes. they care if they can get money out of us.

after the runaround of civ3, i stopped buying the game when it came out new. i wait for the all-in-one "complete" package if i can stand it. if i can't stand waiting, i get the "gold" version when it comes out. [*grin*] i'm thinking about getting the gold version of civ5 ...

take care,
lee
 
Civ III as it stands is a beta.

Civ IV started like a bunch of shite.

Civ V is just a stupid, bad, well-known-to-good-programmers error.
 
howdy Quintillus,

thanks! [*grin*] i'll be playing with it some over the next week.

have you noticed that your editor sometimes disables scientific leaders like the standard editor does? i haven't pinned it down but i suspect it's anything in the scenario section that triggers it. i have had to use steph's editor to re-enable scientific leaders.

take care,
lee

Actually, looking into it, I'm not sure my editor supports scientific leaders at all. Odd, since I was the one who posted how scientific leaders were stored in the BIQ back in April 2009 so Steph could add them to his editor, but it seems I forgot to add them myself. I probably hadn't started writing the support for scenario properties when I posted that, and must not have remembered it while I was writing scenario property support. Unless I do have some support for it but completely fogot where it is during the past 3 months?

The editor isn't supposed to disable them if they're already enabled, but since I appear to have forgotten support for editing them, it might be doing that too. I've added a note to do that, so hopefully this time it won't escape for so long.

Increased number of players? Are you sure? I think the game'll crash.

I'm not sure, and in fact I expect it won't work, but I've left it available (though not by default) in case anyone wants to try. In the limited testing I've done, I've set the "Number of Players:" as it's labeled in Firaxis's editor to 40, and Conquests will load up the game fine but with only 31 players. I haven't yet tried increasing the "Playable Civilizations" above 31, though. The most likely use I can picture for this right now is allowing scenario makers to design a scenario with 32+ civs, and then merging them down to 31 for the final BIQ (you can't do this right now, by the way, so don't look too hard). Useful? I'm not sure. If you kept around the 40+ civ BIQ, you could easily change your mind about which civs to merge, at least. If anyone thinks they'd really want this feature, let me know, or it probably won't be added on quickly if at all.

hmm.. would that not be sth. worth a try?

What would interest me in particular are Multiplayer games with more than the current player cap (i.e. the option of having up to 30 enemy civs, i.e. not necessarily adding more numbers of active players, but rather adding AI opponents and thus getting to a max of 31 civs for a multi-game).

ps. nice to see you are still alive and kicking, Quintillus. Hope all is well? :)

That's a good idea! I've often wished that were possible, as well - some scenarios just don't work as well with only 8 players. Although, in my exictement, I think I came upon what the main stumbling block is - actually launching the game. I realized you could tell Civ3 to load any old game with any number of players, but it'll still cap you at 8 :(. Which probably foils my initial thought of modifying the SAV to add more players after launch (likely in 4000 BC). Any other ideas on this one?

I am fairly well, but have been fairly busy somewhat distracted by real life, starting a job and moving out to another city. Not a bad thing to be distracted by, though :). The break from Civ might have been good, too - I was rather burnt out by early summer (from both III and IV).

Maybe I should have been more specific in my last post. It's nothing to do with the performance of the computer.

We have a fairly comprehensive saved game file "parser" that we use for automated analysis of submissions for the Hall of Fame and Game of the Month competitions. This reads the entire game file and extracts information of interest.

When the parser reaches the part of the file where the Player information is recorded, it reads precisely 32 blocks of Player data. 32 is a fixed, hard coded value, and as far as I know it is not configurable. Each block of Player data includes a number of arrays that record the Player's relationships with the other Players - how much gold they pay and receive from each player; how long they will refuse contact attempts, etc. These arrays are also fixed to a length of 32.

When the parser reaches the Tile information, it reads data for each Tile. This data includes several arrays that record which civs can see the Tile or have explored it. To minimise file size, each array is stored in a single 32 bit word, using one bit per Player. It is very unlikely that these arrays would or could expand to accommodate more than 32 Players.

I tried just changing the WSIZ max players value for Huge maps to 32 using the editor, and I got a java error when I tried to save the scenario:

java.util.ArrayList.RangeCheck(ArrayList.java:547)

It may be necessary to change other stuff as well, but even if you succeed in creating a BIQ, I am guessing a saved game will either crash and burn, or it will simply leave out any extra Players. I'll be interested to hear how it goes. If anyone can create a saved game file that works, then I'd like to see it.

Interesting. I figured a 32-bit array was the limiting factor but didn't know there were always exactly 32 player blocks in the save game, too. This does look like a non-removable barrier, and one that I doubt would be trivial even for Firaxis.

Thanks for alerting me to that bug. I'm still tracking it down exactly. However, it's alerted me to a problem with the latest update and BIQs without custom player data. Thus, I've reverted the main links to version 0.75. Version 0.76 will still work fine if custom player data is enabled, and you can download it directly here. The bug was quick to fix so I fixed it and the new version is available below.

You were spot-on with the guess as to what Conquests would do with the BIQ! :goodjob:
 
Actually, looking into it, I'm not sure my editor supports scientific leaders at all. Odd, since I was the one who posted how scientific leaders were stored in the BIQ back in April 2009 so Steph could add them to his editor, but it seems I forgot to add them myself. I probably hadn't started writing the support for scenario properties when I posted that, and must not have remembered it while I was writing scenario property support. Unless I do have some support for it but completely fogot where it is during the past 3 months?

The editor isn't supposed to disable them if they're already enabled, but since I appear to have forgotten support for editing them, it might be doing that too. I've added a note to do that, so hopefully this time it won't escape for so long.
howdy Quintillus,

what, you expect to be perfect? [*grin*] i'm not certain what triggers it, but it happens often enuf that i get in the habit of checking for the glitch. looking forward to the fix ...

take care,
lee
 
howdy Quintillus,

what, you expect to be perfect? [*grin*] i'm not certain what triggers it, but it happens often enuf that i get in the habit of checking for the glitch. looking forward to the fix ...

take care,
lee

Well, I'd like to be, but I've lived long enough to realize that's not going to happen. And I'm glad I did realize it at a fairly young age, I'm sure my health appreciates it.
 
I tried just changing the WSIZ max players value for Huge maps to 32 using the editor, and I got a java error when I tried to save the scenario:

java.util.ArrayList.RangeCheck(ArrayList.java:547)

I haven't been able to reproduce this bug so far. By chance do you still have the log from when this occured? If so, it probably has a lot of other similar lines about the error, and they probably would help me pinpoint it. This error tells me that somewhere there's something going out of bounds, but it's in code that Sun Microsystems (the creators of Java) wrote, so I don't know what in my code is causing it. I'm suspecting that something else in conjunction with the WSIZ change may have caused the error, as the max # of players for WSIZ is just stored as an integer.
 
Here you go. Two attempts were logged.
Code:
0    [main] INFO  Main  - Starting program - version 0.76
413  [AWT-EventQueue-0] INFO  Main  - Running Mac OS X 10.6.8 on x86_64
424  [AWT-EventQueue-0] INFO  Main  - Starting initialize method now
731  [AWT-EventQueue-0] INFO  Main  - Took this many ms to get window visible
100935 [AWT-EventQueue-0] INFO  Main  - Input file: /Users/alan/Documents/Civilization 3 Complete/Scenarios/SGOTM-14-3 copy.biq
100957 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
100958 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Detected compressed file
101068 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
101069 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - major ver: 12, minorVer: 8
101069 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - About to go into the various input processors; has been 7 milliseconds.
101315 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - At end of custom rules; time taken = 253 ms
101315 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - custom map
101326 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 8 ms to add all the TILE objects
101432 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 105 ms to run the 4 threads
101471 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to process tile stuff: 115 milliseconds; total time: 371 ms
101473 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - finished map data
101480 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - File length: 459199
101480 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - data inputted: 456174
101482 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - final input:  459199
101482 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to input BIQ: 421 milliseconds
101483 [AWT-EventQueue-0] INFO  Main  - Time to input file: 546 milliseconds.
101628 [AWT-EventQueue-0] INFO  Main  - civInstallDir: /Applications/Civ III Complete
101871 [AWT-EventQueue-0] INFO  Main  - colors determined
101991 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - IO links sent
102171 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - data links sent to tabs
102172 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - crosstab links sent
102176 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - custom player data sent
122080 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - The user requested a change in the safety levels
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - sumF: 3.7894738
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - Red: 102
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - Green: 255
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - Blue: 0
152071 [AWT-EventQueue-0] INFO  Main  - Input file: /Users/alan/Documents/Civilization 3 Complete/Scenarios/SGOTM-14-3 copy.biq
152072 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
152072 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Detected compressed file
152098 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
152098 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - major ver: 12, minorVer: 8
152098 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - About to go into the various input processors; has been 11 milliseconds.
152121 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - At end of custom rules; time taken = 34 ms
152121 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - custom map
152123 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 1 ms to add all the TILE objects
152178 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 54 ms to run the 4 threads
152202 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to process tile stuff: 56 milliseconds; total time: 91 ms
152206 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - finished map data
152206 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - File length: 459199
152206 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - data inputted: 456174
152207 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - final input:  459199
152207 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to input BIQ: 119 milliseconds
152207 [AWT-EventQueue-0] INFO  Main  - Time to input file: 135 milliseconds.
152210 [AWT-EventQueue-0] INFO  Main  - civInstallDir: /Applications/Civ III Complete
152225 [AWT-EventQueue-0] INFO  Main  - colors determined
152340 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - IO links sent
152639 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - data links sent to tabs
152639 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - crosstab links sent
152663 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - custom player data sent
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find England in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Spain in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Scandinavia in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Carthage in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Netherlands in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Byzantines in any alliances!
203152 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - Fewer than one civ checked as playable
203152 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - civilization.size() - 1: 31
203153 [AWT-EventQueue-0] ERROR com.civfanatics.civ3.biqFile.IO  - Exception while outputting file
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.IO.outputGAME(IO.java:4873)
	at com.civfanatics.civ3.biqFile.IO.outputBIQ(IO.java:3456)
	at com.civfanatics.civ3.xplatformeditor.Main.saveFile(Main.java:805)
	at com.civfanatics.civ3.xplatformeditor.Main.cmdSaveActionPerformed(Main.java:750)
	at com.civfanatics.civ3.xplatformeditor.Main.access$700(Main.java:94)
	at com.civfanatics.civ3.xplatformeditor.Main$LoadAccelerator$1.actionPerformed(Main.java:1255)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6373)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6138)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4735)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
	at java.awt.Container.dispatchEventImpl(Container.java:2129)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:638)
	at java.awt.EventQueue$1.run(EventQueue.java:636)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:652)
	at java.awt.EventQueue$2.run(EventQueue.java:650)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
203155 [AWT-EventQueue-0] INFO  Main  - Time to export file: 46 milliseconds.
203155 [AWT-EventQueue-0] ERROR Main  - Failed to successfully output file
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Hittites in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Netherlands in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Portugal in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Byzantines in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Inca in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Maya in any alliances!
351217 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - Fewer than one civ checked as playable
351217 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - civilization.size() - 1: 31
351218 [AWT-EventQueue-0] ERROR com.civfanatics.civ3.biqFile.IO  - Exception while outputting file
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.IO.outputGAME(IO.java:4873)
	at com.civfanatics.civ3.biqFile.IO.outputBIQ(IO.java:3456)
	at com.civfanatics.civ3.xplatformeditor.Main.saveFile(Main.java:805)
	at com.civfanatics.civ3.xplatformeditor.Main.cmdSaveActionPerformed(Main.java:750)
	at com.civfanatics.civ3.xplatformeditor.Main.access$700(Main.java:94)
	at com.civfanatics.civ3.xplatformeditor.Main$LoadAccelerator$1.actionPerformed(Main.java:1255)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6373)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6138)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4735)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
	at java.awt.Container.dispatchEventImpl(Container.java:2129)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:638)
	at java.awt.EventQueue$1.run(EventQueue.java:636)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:652)
	at java.awt.EventQueue$2.run(EventQueue.java:650)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
351218 [AWT-EventQueue-0] INFO  Main  - Time to export file: 29 milliseconds.
351218 [AWT-EventQueue-0] ERROR Main  - Failed to successfully output file
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Hittites in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Netherlands in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Portugal in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Byzantines in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Inca in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Maya in any alliances!
582907 [Auto-Save Timer] WARN  com.civfanatics.civ3.biqFile.IO  - Fewer than one civ checked as playable
582938 [Auto-Save Timer] WARN  com.civfanatics.civ3.biqFile.IO  - civilization.size() - 1: 31
582939 [Auto-Save Timer] ERROR com.civfanatics.civ3.biqFile.IO  - Exception while outputting file
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.IO.outputGAME(IO.java:4873)
	at com.civfanatics.civ3.biqFile.IO.outputBIQ(IO.java:3456)
	at com.civfanatics.civ3.xplatformeditor.Main.saveFile(Main.java:805)
	at com.civfanatics.civ3.xplatformeditor.Main.autoSave(Main.java:456)
	at com.civfanatics.civ3.xplatformeditor.Main.access$1100(Main.java:94)
	at com.civfanatics.civ3.xplatformeditor.Main$10.run(Main.java:447)
	at java.util.TimerThread.mainLoop(Timer.java:512)
	at java.util.TimerThread.run(Timer.java:462)
582939 [Auto-Save Timer] INFO  Main  - Time to export file: 89 milliseconds.
582939 [Auto-Save Timer] ERROR Main  - Failed to successfully output file
669107 [AWT-EventQueue-0] INFO  Main  - Successful exit
 
Here you go. Two attempts were logged.

Spoiler :
Code:
0    [main] INFO  Main  - Starting program - version 0.76
413  [AWT-EventQueue-0] INFO  Main  - Running Mac OS X 10.6.8 on x86_64
424  [AWT-EventQueue-0] INFO  Main  - Starting initialize method now
731  [AWT-EventQueue-0] INFO  Main  - Took this many ms to get window visible
100935 [AWT-EventQueue-0] INFO  Main  - Input file: /Users/alan/Documents/Civilization 3 Complete/Scenarios/SGOTM-14-3 copy.biq
100957 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
100958 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Detected compressed file
101068 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
101069 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - major ver: 12, minorVer: 8
101069 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - About to go into the various input processors; has been 7 milliseconds.
101315 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - At end of custom rules; time taken = 253 ms
101315 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - custom map
101326 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 8 ms to add all the TILE objects
101432 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 105 ms to run the 4 threads
101471 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to process tile stuff: 115 milliseconds; total time: 371 ms
101473 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - finished map data
101480 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - File length: 459199
101480 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - data inputted: 456174
101482 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - final input:  459199
101482 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to input BIQ: 421 milliseconds
101483 [AWT-EventQueue-0] INFO  Main  - Time to input file: 546 milliseconds.
101628 [AWT-EventQueue-0] INFO  Main  - civInstallDir: /Applications/Civ III Complete
101871 [AWT-EventQueue-0] INFO  Main  - colors determined
101991 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - IO links sent
102171 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - data links sent to tabs
102172 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - crosstab links sent
102176 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - custom player data sent
122080 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - The user requested a change in the safety levels
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - sumF: 3.7894738
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - Red: 102
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - Green: 255
122089 [AWT-EventQueue-0] DEBUG com.civfanatics.civ3.xplatformeditor.FrmSafetyLevel  - Blue: 0
152071 [AWT-EventQueue-0] INFO  Main  - Input file: /Users/alan/Documents/Civilization 3 Complete/Scenarios/SGOTM-14-3 copy.biq
152072 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
152072 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Detected compressed file
152098 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
152098 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - major ver: 12, minorVer: 8
152098 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - About to go into the various input processors; has been 11 milliseconds.
152121 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - At end of custom rules; time taken = 34 ms
152121 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - custom map
152123 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 1 ms to add all the TILE objects
152178 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 54 ms to run the 4 threads
152202 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to process tile stuff: 56 milliseconds; total time: 91 ms
152206 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - finished map data
152206 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - File length: 459199
152206 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - data inputted: 456174
152207 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - final input:  459199
152207 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to input BIQ: 119 milliseconds
152207 [AWT-EventQueue-0] INFO  Main  - Time to input file: 135 milliseconds.
152210 [AWT-EventQueue-0] INFO  Main  - civInstallDir: /Applications/Civ III Complete
152225 [AWT-EventQueue-0] INFO  Main  - colors determined
152340 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - IO links sent
152639 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - data links sent to tabs
152639 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - crosstab links sent
152663 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.xplatformeditor.EditorTabbedPane  - custom player data sent
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find England in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Spain in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Scandinavia in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Carthage in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Netherlands in any alliances!
203086 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Byzantines in any alliances!
203152 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - Fewer than one civ checked as playable
203152 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - civilization.size() - 1: 31
203153 [AWT-EventQueue-0] ERROR com.civfanatics.civ3.biqFile.IO  - Exception while outputting file
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.IO.outputGAME(IO.java:4873)
	at com.civfanatics.civ3.biqFile.IO.outputBIQ(IO.java:3456)
	at com.civfanatics.civ3.xplatformeditor.Main.saveFile(Main.java:805)
	at com.civfanatics.civ3.xplatformeditor.Main.cmdSaveActionPerformed(Main.java:750)
	at com.civfanatics.civ3.xplatformeditor.Main.access$700(Main.java:94)
	at com.civfanatics.civ3.xplatformeditor.Main$LoadAccelerator$1.actionPerformed(Main.java:1255)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6373)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6138)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4735)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
	at java.awt.Container.dispatchEventImpl(Container.java:2129)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:638)
	at java.awt.EventQueue$1.run(EventQueue.java:636)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:652)
	at java.awt.EventQueue$2.run(EventQueue.java:650)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
203155 [AWT-EventQueue-0] INFO  Main  - Time to export file: 46 milliseconds.
203155 [AWT-EventQueue-0] ERROR Main  - Failed to successfully output file
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Hittites in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Netherlands in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Portugal in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Byzantines in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Inca in any alliances!
351163 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Maya in any alliances!
351217 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - Fewer than one civ checked as playable
351217 [AWT-EventQueue-0] WARN  com.civfanatics.civ3.biqFile.IO  - civilization.size() - 1: 31
351218 [AWT-EventQueue-0] ERROR com.civfanatics.civ3.biqFile.IO  - Exception while outputting file
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.IO.outputGAME(IO.java:4873)
	at com.civfanatics.civ3.biqFile.IO.outputBIQ(IO.java:3456)
	at com.civfanatics.civ3.xplatformeditor.Main.saveFile(Main.java:805)
	at com.civfanatics.civ3.xplatformeditor.Main.cmdSaveActionPerformed(Main.java:750)
	at com.civfanatics.civ3.xplatformeditor.Main.access$700(Main.java:94)
	at com.civfanatics.civ3.xplatformeditor.Main$LoadAccelerator$1.actionPerformed(Main.java:1255)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6373)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6138)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4735)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
	at java.awt.Container.dispatchEventImpl(Container.java:2129)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4565)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:638)
	at java.awt.EventQueue$1.run(EventQueue.java:636)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:652)
	at java.awt.EventQueue$2.run(EventQueue.java:650)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:649)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
351218 [AWT-EventQueue-0] INFO  Main  - Time to export file: 29 milliseconds.
351218 [AWT-EventQueue-0] ERROR Main  - Failed to successfully output file
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Hittites in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Netherlands in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Portugal in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Byzantines in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Inca in any alliances!
582823 [Auto-Save Timer] WARN  com.civfanatics.civ3.xplatformeditor.GAMETab  - Didn't find Maya in any alliances!
582907 [Auto-Save Timer] WARN  com.civfanatics.civ3.biqFile.IO  - Fewer than one civ checked as playable
582938 [Auto-Save Timer] WARN  com.civfanatics.civ3.biqFile.IO  - civilization.size() - 1: 31
582939 [Auto-Save Timer] ERROR com.civfanatics.civ3.biqFile.IO  - Exception while outputting file
java.lang.IndexOutOfBoundsException: Index: 25, Size: 25
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.IO.outputGAME(IO.java:4873)
	at com.civfanatics.civ3.biqFile.IO.outputBIQ(IO.java:3456)
	at com.civfanatics.civ3.xplatformeditor.Main.saveFile(Main.java:805)
	at com.civfanatics.civ3.xplatformeditor.Main.autoSave(Main.java:456)
	at com.civfanatics.civ3.xplatformeditor.Main.access$1100(Main.java:94)
	at com.civfanatics.civ3.xplatformeditor.Main$10.run(Main.java:447)
	at java.util.TimerThread.mainLoop(Timer.java:512)
	at java.util.TimerThread.run(Timer.java:462)
582939 [Auto-Save Timer] INFO  Main  - Time to export file: 89 milliseconds.
582939 [Auto-Save Timer] ERROR Main  - Failed to successfully output file
669107 [AWT-EventQueue-0] INFO  Main  - Successful exit

I'm still working on this one, without a whole lot of progress unfortunately. The place where the error occured and the warnings indicate that some civilizations were not marked as part of any alliance, on the scenario properties tab. But I'm not sure how to cause this to happen. I don't think it was the number of players on WSIZ, though - or at least not purely that - as that doesn't have anything to do with the alliances. Were you by chance adding civs and/or players to the scenario? Whether there was custom player data also might help. And I suppose a good test, if the scenario were edited in Firaxis's editor prior to this, would be to make sure it saves without any changes at all. It's possible that it uses a setting in Firaxis's editor that I didn't anticipate.
 
The scenario was one I happened to have available. It was actually a copy of the one we used to use to build Civ3 Succession Games of the Month. All I did was to change the number of civs for Huge WSIZ and attempt to save it. I can't even recall what was non-standard about it, other than that we used differential naval movement. There were probably a few other rule changes plus extra resources. I can let you have a copy of it if you like.

Compressed copy attached.
 

Attachments

The scenario was one I happened to have available. It was actually a copy of the one we used to use to build Civ3 Succession Games of the Month. All I did was to change the number of civs for Huge WSIZ and attempt to save it. I can't even recall what was non-standard about it, other than that we used differential naval movement. There were probably a few other rule changes plus extra resources. I can let you have a copy of it if you like.

Compressed copy attached.

Congratulations, you've won the award for toughest bug to troubleshoot with the least effort! :trophy: Sure enough though, when I tested my editor with this file, it didn't like it. I wasn't even able to get it to open before I got an error. I got an "end of file" error before it finished inputting.

More oddly, Firaxis's editor didn't like it, either. It tells me "ERROR: Could not open this file for reading." when I ask it to open it.

So I tried it in the latest version of Steph's editor, which also crashed due to an end of file error.

However, Conquests itself loads up the scenario and will start a game with it. So my inclination is that this probably is indeed a bug, and just happens to be present in Firaxis's, Steph's, and my editor, but not in Conquests itself. Those things that are different between Firaxis's editor and Conquests itself are always the trickiest. Maybe we should nominate this for Turner's/Abaddon's News of the Weird. :crazyeye:

Was this scenario created with the Hacked Editor perhaps? That's the only one I haven't tried, as I don't remember where I put it and need to re-download it.

It's a bit late here tonight so I'll run some debugging sessions and look at the file in the hex editor later this week to see if I can get it working. Tonight I've been trying to figure out why an upcoming feature, horizontal scrolling with the mouse wheel, worked on my development machine but only one of the virtual machines I tested in it. Which was another doozy, as without another machine I couldn't tell (and still am not sure) if it was a problem in the code or the fact that I was testing in virtual machines that was a problem. :crazyeye:
 
Back
Top Bottom