Cross-Platform Civ3 Editor

Cross-Platform Editor for Conquests now available! 1.48

I'll ask the obvious: have you changed PediaIcons.txt as well?
Can you get us a screenie?
 
Whenever I try and add anything (resource, unit, building, government, tech... anything) when I go to load the scenario the game freezes. It won't even select the file let alone run it.

What can I do?

I have made sure to include a civilepdia entry, even simply copying an existing one but to no avail.

Also, if I make any change to a unit except shield/pop cost or movement, it becomes unbuildable once I get into the game. Even increasing say the attack of a unit by 1 renders the unit unnavailable.

I'm running Civ3 Complete for Mac

I just did an investigation on technologies, and it turns out there is indeed a problem. And... it is related to one of the 'unknowns' (the only one for techs). I had left it at the value of zero, but apparently that causes problems. So I took a BIQ where I'd added a tech (in my editor), loaded it in Steph's editor, changed it to a 1 (what that unknown is for every other tech), saved, and it worked. I'll change the default value for that unknown to 1 for the next version, and make it editable at some point (just in case 2 is a potentially valid value as well).

I'll also double-check the other sections to make sure similar issues aren't happening - thus it might be a day or two until I have an update.

Just as a note:

On my computer, I cannot simply double-click a jar file to run it... I need to go to DOS cmd prompt and do it from there (pain in the butt).

But if you have problems similar to this; you can try making a .bat file:
1) Make a regular txt file (I named mine ConquestsEditor.txt) in the same directory as the jar file
2) open it and enter this text:
java -jar ConquestsEditor0.67.jar
* The name ConquestsEditor0.67.jar must be the name of whatever jar file you wish to open; if a new version comes out, or it's another jar file, make sure the correct filename is in the bat.
3) save
4) rename it to ConquestsEditor.bat
5) the .bat file will open the jar. I wish I would have done this sooner. :lol: Save me alot of carousing through the lands of the DOS emulator.

You can have the bat file wherever you want, just include the appropriate path in the .bat

Now, I can really jump into to using your editor... and you are right about the performance increase. I can continue hunting for illegal but working BIQ unknowns!

I don't know why Java does that on some computers. It seems to be mostly - but not entirely - an issue on Linux. So I Googled the problem, and found what appears to be a possible solution, which I've modified to be applicable here:

  • Find out where your Java is installed. For me, it is "C:\Program Files\Java\jre1.5.0_22. Now go into the \bin folder, and make sure javaw.exe exists there. This javaw.exe will thus be located at "C:\Program Files\Java\jre1.5.0_22\bin\javaw.exe", or something similar.
  • Open Explorer, right-click an .jar file and choose Open With, then Choose Program, and select that javaw.exe you found in the previous step. Click OK after checking "Always use the selected program". It won't open this time, that's okay.
  • Still in Explorer, open Tools -> Folder options, File types tab, click on .jar in the list, then Advanced. Click on Open, then Edit, and add additional parameters
    Code:
    -jar "%1" %*
    to "Application used to perform action. Thus it will now look like "C:\Program Files\Java\jre1.5.0_22\bin\javaw.exe" -jar "%1" %*
  • OK out of the dialogs, and the program should start when double-clicked

Screenshot for the third bullet point above:



Mine was already working, but I was able to change which Java version was used using this method. Let me know if it works, and if it does I'll add it to the FAQ (and also possibly figure out if it's different on Vista/7).
 
Version 0.68 is a bugfix release.

  • Fix all bugs preventing adding or deleting elements. Exception: deleting of 'core' citizens has been temporarily disabled. You can still delete citizens you've added.

Lessons learned: Civ3 relies on dataLength even though it isn't necessary to do so. Just because it works in Firaxis's editor doesn't mean it will work in-game. And Firaxis's editor is more unforgiving than either my or Steph's editor. Civ3 also relies on a few other variables (such as uniqueCivID) that seem completely unnecessary, but apparently aren't to it.

Download here.
 
Hmmm, still encountering the same problem. The game will load the scenario now if I add something, it won't just freeze but it still can't be built. Even when it has no required technology, resources, government etc. I tried changing the attack value of warriors to 10 just as an experiment and they then become unbuildable (just don't appear in the build order queue.

Any suggestions?
 
Hmmm, still encountering the same problem. The game will load the scenario now if I add something, it won't just freeze but it still can't be built. Even when it has no required technology, resources, government etc. I tried changing the attack value of warriors to 10 just as an experiment and they then become unbuildable (just don't appear in the build order queue.

Any suggestions?

Indeed. For units, later today I'll have a 'teleportation update' available, which also fixes a bug that would crop up when modifying the stats of foot units (they were being saved as Kings by mistake, which made them unbuildable). For buildings, the issue is that by default their 'spaceship part' is 0, so you can't build them until the Apollo Program. Changing that value to -1 will make them buildable. The next update will also set that value to default to -1 instead of 0.

You probably could change the warrior's stats in the current one and have it load if you selected 'King' under unit attributes instead of 'Foot Soldier', but that obviously isn't very intuitive.
 
There's quite a few changes in this update. Almost seems like a good time to jump to 0.70, but that'll wait till later.

  • The fix of a bug for units wherein changing a units states would flip its unit attributes (in binary). This affected foot units most unfortunately, making them kings and thus unbuildable.
  • By default, new buildings now have a spaceship part value of -1 (not a spaceship part), rather than zero (the first spaceship part).
  • Now, if you add an item, that item will become the selected item (rather than requiring you to manually select it).
  • Two keyboard shortcuts have been added. Ctrl+O brings up the Open dialog, and Ctrl+S brings up the save dialog.
  • You will now be asked if you really wish to quit on OSX. I didn't realize until yesterday that this didn't actually work on OSX as on Windows and Linux. Took a good amount of work to figure out how to get it to work, but it now works properly. Good ol' post-2001 operating systems, keeping me on my toes!
  • There's now an option in the settings to disable the 'do you really want to quit?' query. By default this question is asked, as I figure most people are annoyed by accidentally losing work. But you can turn it off if you prefer.
  • There's now an 'About' dialog, which doesn't really tell you all that much. But OSX expects there to be one and that menu option didn't do anything before. Now it does something. The About dialog is currently not visible on any other operating system (you aren't missing much, though, I didn't write a history).
  • If you click on Input From SAV but later cancel, the tabs no longer appear until you subsequently actually open a BIQ or SAV.

    And last but not least,

  • Support for (at least unit) teleportation added, and Stealth fixed. Don't forget to give your telepads a telepad range! I have not yet experimented with building telepads (should work, just not tested), nor with letting a unit teleport to an illegal telepad. But pure unit-to-legal-unit-telepad teleportation does now work with the editor.

Download here.

Curious to see if illegal telepads do work. Considering that you can place resources on tiles that don't allow that type of resource and they work just fine, I wouldn't be all that surprised. But it's certainly not guaranteed.

Thanks to Bluemofia for his Study on Teleportation.
 
By illegal do you mean placing the unit on terrain it normally couldn't enter?

I hadn't thought of that actually, I don't know if you can teleport a unit to terrain it can't normally go to, or not (that might be covered at some point in the Study in Teleportation, I focused on the first post there).

In this case I was thinking of the situation where you have two units, one (the "receiver") that has a Telepad Range but is not a Legal Unit Telepad, and another (the "teleporter") that is Teleportable. Now you want to set some telepad targets for the "teleporter". In the Hacked Editor, you can only select units that are Legal Unit Telepads as telepad targets for teleportable units.

But as my editor has it right now, the list of "Legal Unit Telepads" includes all units, including those that do not have the Legal Unit Telepad (or simply "Telepad") check. So here we could have the "teleporter"'s list of "Legal Unit Telepads" include the "receiver" even though the "receiver" does not have the Telepad check. The "receiver" would thus be an "illegal" telepad for the "teleporter", as the "teleporter" could teleport there even though the "receiver" wasn't supposed to be a legal telepad.

But I haven't tested this, so I don't know if the "teleporter" could in fact teleport to the "receiver" in this situation. I'm curious to see whether this is the case, though, so I haven't disabled the ability to set up such odd teleportation combinations. I think thew only consequence of this would be learning whether Conquests actually pays any attention to the 'Telepad' flag when determining whether teleportation is possible, or if Conquests ignores that flags and just looks at the list of Legal Unit Telepads for the particular unit that the player wishes to teleport.

I won't be able to test that tonight, but may be able to this weekend, if other teleportation enthusiasts don't do so first.
 
Success! Love the new changes :)

One problem that arose as of .68 is that it no longer opens a number of mods, specifically Rhye's of Civilization

Here is the error message I keep getting




Also, it won't quit. It keeps asking whether I want to quit and when I select "Yes" nothing happens. I end up having to force quit every time I want to close the program.
 
Is the scenario you're trying to load compressed?

To check, open up the scenario in the regular editor and go to View -> Options... -> and make sure "Compress BIC files" is unchecked. If not, uncheck it and save the scenario.
 
Do you mean an earlier version? How do I uncheck compress .biq?

Otherwise I don't have the regular editor, I have a Mac. Hence my interest in the Cross-Platform Editor.
 
Do you mean an earlier version? How do I uncheck compress .biq?

Otherwise I don't have the regular editor, I have a Mac. Hence my interest in the Cross-Platform Editor.

You can use my FileValet to uncompress the .biq. I updated it to handle biq's specifically for this purpose. See my sig for the link.
 
Thanks Alan! Just one question, how do I get FileValet to open a .biq? When I try the drag-drop method it just doesnt accept it, and likewise when I go through the file menu (it wants a .SAV)?

EDIT: oops, downloaded the wrong file.
 
Same problem even after using the FileValet to compress the biq. Strangely, it wasn't a problem in v0.66 (i didn't use 0.67) but has hasn't worked in 0.68 or 0.69

So the problem obviously isn't with the compression.
There was an error that I did find in 0.66, when I made substantially changes to a file and then tried to open it again later I would occasionally get the same error message. Is it possible that there is a limit on the amount of data that can be stored in the file?
 
Did you set it up to decompress the biq? The default actions are set to simply clean out Windows multi-user rubbish, recompress, and save the file, replacing the original, as that was the primary objective of the utility. If you don't change any of the defaults, nothing will happen, as the .biq doesn't need any cleaning.

[UPDATE]
I have downloaded the latest version of the editor and tried opening Rhye's .biq. I get the same error. Here is the log file:

Code:
0    [main] INFO  Main  - Starting program - version 0.69
2    [main] WARN  Main  - Couldn't find config file
3    [main] INFO  com.civfanatics.civ3.xplatformeditor.utils  - path for install: /Applications/Civ III Complete/
805  [AWT-EventQueue-0] INFO  Main  - Running Mac OS X 10.6.7 on x86_64
1303 [AWT-EventQueue-0] INFO  Main  - Took this many ms to get window visible
104135 [AWT-EventQueue-0] INFO  Main  - Input file: /Users/alan/Documents/Civilization 3 Complete/Scenarios/Rhyes.biq
104166 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Number of available processors: 4; using 4 processors
104168 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - major ver: 12, minorVer: 8
104168 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - About to go into the various input processors; has been 30 milliseconds.
104266 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - At end of custom rules; time taken = 128 ms
104266 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - custom map
104277 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 8 ms to add all the TILE objects
104390 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - It took 111 ms to run the 4 threads
104410 [AWT-EventQueue-0] INFO  com.civfanatics.civ3.biqFile.IO  - Time to process tile stuff: 122 milliseconds; total time: 253 ms
104413 [AWT-EventQueue-0] ERROR com.civfanatics.civ3.biqFile.IO  - ERROR:  
java.lang.IndexOutOfBoundsException: Index: 198, Size: 179
	at java.util.ArrayList.RangeCheck(ArrayList.java:547)
	at java.util.ArrayList.get(ArrayList.java:322)
	at com.civfanatics.civ3.biqFile.TILE.calculateUnitWithBestDefence(TILE.java:568)
	at com.civfanatics.civ3.biqFile.IO.inputBIQ(IO.java:410)
	at com.civfanatics.civ3.xplatformeditor.Main.openBIQ(Main.java:449)
	at com.civfanatics.civ3.xplatformeditor.Main.openFile(Main.java:341)
	at com.civfanatics.civ3.xplatformeditor.Main.cmdOpenActionPerformed(Main.java:326)
	at com.civfanatics.civ3.xplatformeditor.Main.access$500(Main.java:61)
	at com.civfanatics.civ3.xplatformeditor.Main$4.actionPerformed(Main.java:191)
	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:6374)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:6139)
	at java.awt.Container.processEvent(Container.java:2085)
	at java.awt.Component.dispatchEventImpl(Component.java:4736)
	at java.awt.Container.dispatchEventImpl(Container.java:2143)
	at java.awt.Component.dispatchEvent(Component.java:4566)
	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:4566)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:680)
	at java.awt.EventQueue.access$000(EventQueue.java:86)
	at java.awt.EventQueue$1.run(EventQueue.java:639)
	at java.awt.EventQueue$1.run(EventQueue.java:637)
	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:653)
	at java.awt.EventQueue$2.run(EventQueue.java:651)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:650)
	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)
104440 [AWT-EventQueue-0] INFO  Main  - Time to input file: 303 milliseconds.
It looks as if the editor is opening the file OK, but choking on an empty array somewhere in the TILE data.

[UDATE 2]
There are two versions of the Rhye's biq. The above one result was from the one that contains a custom map. If I try the other one, which is "Rhye's of Civilization Expanded v1.23 RANDOM MAP.biq", there is no error, and the log appears to say it has read the file OK. However, I get no data in the editor window. Since I haven't tried the editor for a long time, I can't recall how to fix this issue. It may be something to do with search paths, which I recall were a challenge early in the development.

BTW. compression is a red herring. The editor includes the built-in ability to expand the biq, and the above log says it has done so.
 
Oh, and the editor won't quit for me, either. I have to force quit it.
 
Top Bottom