Resource icon

Civ3 BIQ Compare 2016-10-05

It looks like that updating my Java software may solve the problem, since the update says that it will update me to Java 6. Here is what the update does.

Java for Mac OS X 10.4, Release 6 delivers improved reliability and compatibility for Java 2 Platform Standard Edition 5.0 and Java 1.4 on Mac OS X 10.4.10 and later. This release updates J2SE 5.0 to version 1.5.0_13 and Java 1.4 to version 1.4.2_

It appears that since I am running MacOS 10.4.11, I cannot upgrade to Java 1.5 which apparently runs under MacOS 10.5. Can you make the program run under Java 1.4, which is the highest level that I can go without a OS upgrade?

Is this update you are referring to? That should be sufficient; J2SE 5.0 version 1.5.0_13 is Java 1.5 and should run the program. And the page says it require OSX 10.4.10, which is lower than what you have. If you are able to update to Java 1.6 (also known as Java 6), that'll work, too, but if not, the linked update ought to run it fine.

It would be possible to change the program to get it to work with Java 1.4 if necessary, but as it already has Java 1.5 elements throughout it, it would be preferable to be able to keep it on Java 1.5.

Hope you're able to get it to work! Let me know if that update doesn't work or if Java 1.5 doesn't seem to be enough and I'll see what I can do.
 
Version 0.31 is complete. Changes:

General
*Added English for WMAP section
*Added file filter to limit file import type to BIQ files
Output
*Added option to automatically add ".txt" to end of file names when they do not already end in ".txt" (enabled by default)
*Added confirm dialog when writing would overwrite a file (default is do not overwrite)
*Replaced "\n" line returns with system-specific ones so that line returns will look right on Windows (as well as other operating systems)
*Output now includes section headers to more easily distinguish sections
*There is now a space between all elements of a certain section (ex. between any two buildings)
*Whenever there is English descriptions of a binary variable, the English is indented under the binary variable name (which then acts as a subsection header). This was only implemented in some of the sections that supported English in 0.30.
*The name and Civilopedia entry of an element now comes first in the output describing said element, where applicable.

Download link.
 
Is this update you are referring to? That should be sufficient; J2SE 5.0 version 1.5.0_13 is Java 1.5 and should run the program. And the page says it require OSX 10.4.10, which is lower than what you have. If you are able to update to Java 1.6 (also known as Java 6), that'll work, too, but if not, the linked update ought to run it fine.

It would be possible to change the program to get it to work with Java 1.4 if necessary, but as it already has Java 1.5 elements throughout it, it would be preferable to be able to keep it on Java 1.5.

Hope you're able to get it to work! Let me know if that update doesn't work or if Java 1.5 doesn't seem to be enough and I'll see what I can do.

Quintillus, I have run every Java update for system 10.4, including the one that you mention. For OS 10.4, it it will upgrade you to Java 1.4.2, and that is it. I guess I will need to wait until updating to Leopard, which causes problems for Civ3, or until I get my wife a new laptop, that will be loaded with the latest Java version. Thank you for at least thinking of the Mac community in your programming.

This is what my Java info screen looks like, and I have run all of the updates.
 

Attachments

  • Picture 1.png
    Picture 1.png
    57.9 KB · Views: 137
Quintillus, I have run every Java update for system 10.4, including the one that you mention. For OS 10.4, it it will upgrade you to Java 1.4.2, and that is it. I guess I will need to wait until updating to Leopard, which causes problems for Civ3, or until I get my wife a new laptop, that will be loaded with the latest Java version. Thank you for at least thinking of the Mac community in your programming.

This is what my Java info screen looks like, and I have run all of the updates.

Looking at the Java info screen, it looks like it should work. J2SE 5.0 is the same as Java 1.5; Sun Microsystems just partially renamed Java 1.5 to Java 5.0 (or J2SE 5.0 = Java 2 Standard Edition 5.0) because there's a perception amongst some people that software with the same version number for a long time hasn't had as many improvements as one that's gone through lots of version numbers, which may or may not be the case, and apparently someone at Sun was concerned about that. Now it has both names which can more or less be used interchangably, but it makes it less clear which version of Java is which at the same time since nowhere else does 1.5 = 5 or 1.6 = 6.

So, looking at that screen, it looks like you do have Java 1.5, and it's set to be the default Java environment. So I think the program does work. If you've tried it and it doesn't work, then you've done all you can (although a message of the error if it gives one couldn't hurt), but if you haven't tried running it, see if it works or not.

If it doesn't work, a 1.4 version is possible, but unfortunately isn't as simple as a few global-replace type operations. It's also complicated by the fact that I started using Java after Java 1.5 came out in 2004, so I don't know the easy way to avoid my most-used Java 1.5 feature (or if there is actually an "easy" way). So if you've tried to run it and it doesn't work, I'll put a 1.4 version on the list of to-do things.
 
Version 0.32 is live. Changes:

*Now have English for the Scenario Properties page (victory conditions, CTF options, etc.)
*When a file is successfully exported, a "Successful output" label appears in the Output box for 10 seconds. No more finding out a file doesn't exist because you moved the mouse while clicking.
 
howdy Quintillus & timerover51,

this snippet ...
"
I first had troubles opening the .jar folder, and had to check online to see that I could use StuffIt to open it.
"
... from msg #35 by timerover51 makes me think the problem may be HOW the util is being started.

how _i_ start the util is just to dbl-clk on the jar file. that is how it _should_ work on any java installation if the system is set up correctly. the mac may be different, but i thot it was NOT different in this particular way. [*grin*]

here's sun on how to run a jar file ...
http://java.sun.com/developer/Books/javaprogramming/JAR/basics/run.html

they don't mention it there, but simply trying to run a jar file by a dbl-clk on the file is enuf to run it if the jre [java runtime environment] is properly set up for the os.

perhaps i am misunderstanding something about this?

take care,
lee

ps - lookee ...
http://macosx.com/tech-support/mac/how-to-execute-a-jar-file-in-os-x/9549.html
-lee
 
Hmm, Lee, you may have something there. I did all of the Java Upgrades after I opened the jar file with StuffIt, so that might be the source of the problem. I will download it again and see what happens, and then report back.

I downloaded the most current version, and tried to open the jar file application. I received the following error message. Guess I will need to wait until I get my wife her new Mac laptop. Thank both you of for all of your assistance. Quintillus, do not worry about trying to convert it, I will just be patient, or try it in either Linux or Windows.
 

Attachments

  • Picture 1.png
    Picture 1.png
    19.1 KB · Views: 155
Hmm, Lee, you may have something there. I did all of the Java Upgrades after I opened the jar file with StuffIt, so that might be the source of the problem. I will download it again and see what happens, and then report back.

I downloaded the most current version, and tried to open the jar file application. I received the following error message. Guess I will need to wait until I get my wife her new Mac laptop. Thank both you of for all of your assistance. Quintillus, do not worry about trying to convert it, I will just be patient, or try it in either Linux or Windows.

howdy timerover51,

argh! can you find the "console" mentioned and get the error for Quintillus to look at?

also, it's possible that your jar file is fubar-ed. for me, the 0.32 file is 344,463 bytes long.

take care,
lee
 
howdy Quintillus,

found an apparent error running 032.

when i ...
- load an uncompressed version of the standard c3c BIQ file
- enter "test" in the output file name
- leave everything else at the default
- hit the export button

.. i get an empty file. yes, i KNOW that's _technically_ what i asked for! [*grin*] however, it aint what i was expecting. i was expecting an error msg saying that i had to choose SOMETHING to export.

could you / would you either add such an "error" response or perhaps simply gray out that section of the ui until one selects _something_ to export?

again, thanks for the nifty util! [*grin*]

take care,
lee
 
howdy Quintillus,

another possible error with 032.

loaded the same uncompressed version of the standard c3c BIQ file, selected ONLY "additional scenario properties" and exported that.

lookee ...
"
victoryConditionsAndRules: 262144
dominationEnabled: false
spaceRaceEnabled: false
diplomacticEnabled: false
conquestEnabled: false
culturalEnabled: false
civSpecificAbilitiesEnabled: false
culturallyLinkedStart: false
restartPlayersEnabled: false
preserveRandomSeed: false
acceleratedProduction: false
eliminationEnabled: false
regicideEnabled: false
massRegicideEnabled: false
victoryLocationsEnabled: false
captureTheFlag: false
allowCulturalConversions: false
wonderVictoryEnabled: false
reverseCaptureTheFlag: false
"
shouldn't SOME of those be TRUE? [*grin*] from my eyeballing of the standard BIQ file, it seems at least the 1st five of those should be TRUE.

take care,
lee
 
howdy Quintillus,

found an apparent error running 032.

when i ...
- load an uncompressed version of the standard c3c BIQ file
- enter "test" in the output file name
- leave everything else at the default
- hit the export button

.. i get an empty file. yes, i KNOW that's _technically_ what i asked for! [*grin*] however, it aint what i was expecting. i was expecting an error msg saying that i had to choose SOMETHING to export.

could you / would you either add such an "error" response or perhaps simply gray out that section of the ui until one selects _something_ to export?

again, thanks for the nifty util! [*grin*]

take care,
lee

That's called the computer doing what you told it to do. ;) And indeed it's what I would expect it to do. But you've certainly got a point that it doesn't make much sense to be able to export a blank file. I'll probably disable the Export button until something is selected in a future version.

howdy Quintillus,

another possible error with 032.

loaded the same uncompressed version of the standard c3c BIQ file, selected ONLY "additional scenario properties" and exported that.

lookee ...
"
victoryConditionsAndRules: 262144
dominationEnabled: false
spaceRaceEnabled: false
diplomacticEnabled: false
conquestEnabled: false
culturalEnabled: false
civSpecificAbilitiesEnabled: false
culturallyLinkedStart: false
restartPlayersEnabled: false
preserveRandomSeed: false
acceleratedProduction: false
eliminationEnabled: false
regicideEnabled: false
massRegicideEnabled: false
victoryLocationsEnabled: false
captureTheFlag: false
allowCulturalConversions: false
wonderVictoryEnabled: false
reverseCaptureTheFlag: false
"
shouldn't SOME of those be TRUE? [*grin*] from my eyeballing of the standard BIQ file, it seems at least the 1st five of those should be TRUE.

take care,
lee

Hmm, now that does look like a bug. And there actually is a bug in that part - I forgot a line of code. Hence an update is coming. However, given the value of 262144 for victoryConditionsAndRules, I think you would have received those results anyways. The reason is that 262144 = 218. And there are 18 traits - each one corresponds up to a power of two, up through 217. So if you have all of them true, you only get 262143. For a value of 262144, you'd have to have only the bit after the ones Civ3 uses be enabled. And if 262144 were the value the file used, Civ3 Conquests Edit would see all the properties as being disabled - false. If you had 262144+262143 (or 262143) as the value of that integer, Civ3ConquestsEdit would see all the values as being true.

Hex editing of one of my scenario files confirms that 262144 leads to all false, and 262143 to all true. My prediction is that if you load up the file you tested in Civ3 Conquests Edit, you'll see all those as being false. If you had had any value between 1 and 262143, you would indeed have stumbled upon the bug of it returning all false when it isn't supposed to.

I'm curious how you got a 262144 BIQ though. The bit that leads to 262144 shouldn't be being used, and Civ3ConquestsEdit keeps chalking up 0's when I create a new scenario for me, or 33247 if I enable custom victory conditions/scenario property rules but don't change anything. If these 262144's are in widespread circulation I may have to modify a bit of code. I can't tell any difference between a 262144 and a 0 in the official editor, though.

edit: New version with that bug squashed is up. It's 18 KB larger, but that's not because of that one line of code - that's work on the Compare Mode that's not enabled yet. Right now Compare Mode is doing something in the very limited subset I've coded - not quite what it's supposed to, but it's definitely going to be coming fairly soon.
 
howdy Quintillus,

the "empty file" situation seems obvious, but i will be happier when you disable that.

the other problem ... the wrong output when i export "additional scenario properties" ... here's how i got that ...

- used civ3qedit.exe to open the conquests.biq file in the civ3complete\conquests folder
- unticked "compress bic files" [odd that it says biC instead of biQ]
- saved the file as conquests-uncompressed.biq
- started up your util version 033
- loaded the conquests-uncompressed.biq file
- ticked ONLY "additional scenario properties"
- put "test" in the output file name box
- hit the export button

when i open the resulting "test.txt" file i see the same - apparently wrong - output.

if you wanna look at the files, i've attached them. for some _really_ bizarre reason, i can't upload a BIQ file, so i compressed it with 7zip. if you need it done with some other zip format, lemme know.

take care,
lee
 

Attachments

  • test.txt
    4.9 KB · Views: 144
  • conquests-ori-uncompressed.biq.7z
    19.7 KB · Views: 179
howdy Quintillus,

the "empty file" situation seems obvious, but i will be happier when you disable that.

the other problem ... the wrong output when i export "additional scenario properties" ... here's how i got that ...

- used civ3qedit.exe to open the conquests.biq file in the civ3complete\conquests folder
- unticked "compress bic files" [odd that it says biC instead of biQ]
- saved the file as conquests-uncompressed.biq
- started up your util version 033
- loaded the conquests-uncompressed.biq file
- ticked ONLY "additional scenario properties"
- put "test" in the output file name box
- hit the export button

when i open the resulting "test.txt" file i see the same - apparently wrong - output.

if you wanna look at the files, i've attached them. for some _really_ bizarre reason, i can't upload a BIQ file, so i compressed it with 7zip. if you need it done with some other zip format, lemme know.

take care,
lee

Thanks - took a look at that file in the hex editor and Civ3ConquestsEdit, and realized that it has "Default Victory Conditions" and the horribly named "Default Game Rules" enabled. So while it does have a bunch of the traits enabled, since it already tells Civ3 in another integer that it uses the default game rules/victory conditions, it doesn't need to tell Civ3 what those default game rules/victory conditions are (and since conquests.biq doesn't tell what those are, that means they must be hardcoded into Civ3). And apparently 262144 is the value that that integer gets when default game rules/victory conditions are enabled. I've added that to my addendum to the BIQ format notation, which, although not complete, is actually very good, especially because it's all reverse-engineered. I've had to do remarkably little hex-editing to find out what's what, although I've done a bit just for fun to see what happens when you give Civ3 something it doesn't expect that's technically supported by the BIQ format (usual result: it complains and/or crashes).
 
... although I've done a bit just for fun to see what happens when you give Civ3 something it doesn't expect that's technically supported by the BIQ format (usual result: it complains and/or crashes) ...

howdy Quintillus,

glad to help! plus, you've reminded me of a point a programmer friend of mine used to make.
"
programmers ... poking programs here and there to see what squeals since grace hopper in 1944!
"

[*grin*] have fun, dude!

take care,
lee
 
Version 0.34 is now available. Changes:

*"Export" option is no longer available until at least one section is selected.
*Can once more export to files that have names less than four letters in length (no guarantees on where they end up if you don't give a folder, though - I've yet to figure that out!)

And perhaps more importantly...

*First view of Compare Mode. Compare Mode currently only works with the Building section. Try it out and let me know how you like it.

At this point, Compare Mode prints out the differences between any two buildings with the same name, and after that prints out any buildings that are in one file and not the other (telling which file does not contain it).

Download it here.

Also, I got a chance to test version 0.33 on a Mac today. The Mac was running OSX 10.5.2 Leopard, and did not run version 0.33 at first, giving me an error about the GUI packages. Going into the Java settings I saw that Java 1.5 was enabled at default, and after changing Java to 1.6 in the Java Application Runtime Settings my program worked. A Google search told me the key factor - my development environment was using Java 1.6 features for the graphical user interface even when I told it to use Java 1.5 for the code. Fortunately the same search had a solution. So I should be able to get it running for Java 1.5 - I've already downloaded the older Java version.

The graphical elements are a bit off on the Mac since it defaults to the Mac look and feel rather than the Metallic one that Windows and Linux default to and I'm developing in (it's impossible for me to develop with the Mac look and would make it look wrong everywhere else anyways), but it should be good enough. And at some point I'll figure out how to override the default settings so it'll use the Metallic look even on the Mac and all the graphical elements will (hopefully) display correctly. Can't be sure until I try it, though, since Apple, not Sun, supports Java on Macs.
 
Having found out what was apparently causing trouble running my program on the Mac, I have attempted to fix those problems, and I think I have succeeded. Testing of this version on my roommate's Mac with OS X 10.5 and Java 1.5 selected as the default had success, whereas tests on a Mac with OS X 10.5.2 and Java 1.5 selected as the default failed earlier this afternoon. Further, I have tested this build on a Linux virtual machine with only Java 1.5 installed, not Java 1.6. As such, I believe it should be fully compatible with Java 1.5 on Tiger. Not that that means it will be - I thought it would be before, too - but it's testing better than it was before.

Please follow this link for the Mac version (205 KB - I have no idea why it's so much smaller, but it seems to work fine).
Although it seems to start up fine with Java 1.5, the GUI doesn't actually work, and I have yet to figure out why. I've got a feeling the small size has something to do with it, though.

Differences in the Mac version:

*No file filter in the Mac version. The one I had apparently relied on Java 1.6 (even though it didn't throw an error when I had selected Java 1.5 source code earlier), and I haven't figured out how to re-write it yet.
*GUI might not display quite the same. It'll use the Mac look and feel, which causes slight display issues. I probably will be able to fix this (by way of telling it to use Java's Metal look and feel) at some point.

For Leopard users, I recommend using the regular version and switching the default Java machine to Java 1.6 (64-bit) in your Java Preferences (if you don't switch this first it probably won't work). For Windows, Linux, and Solaris users I recommend continuing to use the regular version. Mac OS X Tiger users should use the Mac Version. The "Mac version" will work on all platforms, but as it lacks the file filter there's no compelling reason to switch to it on non-Tiger platforms unless you have absurdly low bandwitdth caps (and then you probably aren't browsing CFC).

Mac OS X Panther users are limited to Java 1.4, and I do not plan to backport the program to that version of Java. The switch to 1.5 was fairly easy thanks to copy-pasting doing almost all of the work for me - far more than I expected. 1.4 will be more difficult.

Once I figure out the file filter in Java 1.5, I'll probably unify the two versions. Figured out the file filter, but the other problems are making a unification of the lines unlikely right now.
 
Version 0.40 is present. Changes:

*Compare Mode now works for everything except the world map categories.
*There is now an option to "save" the check boxes that are selected for the primary (top) BIQ file open. For example, if you open BIQ1.BIQ and select "Citizens" and "Espionage" check boxes and then open BIQ2.BIQ, and then go back to BIQ1.BIQ, "Citizens" and "Espionage" will be checked upon your return as they were when you left. This option can be disabled if preferred (enabled by default).

This version does require Java 1.6 (as 0.10 - 0.33 all did), as I have not been able to solve the problems present in the Java 1.5 version.

Download link.
 
howdy Quintillus,

kool, dude! nice work ... [*grin*]

btw, is there any graceful way to apply the same selection set to each BIQ file? makes comparisons easier, don't ya know.

take care,
lee
 
Top Bottom