Resource icon

Civ3 BIQ Compare 2016-10-05

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

You mean to make it so that if you have "Espionage, Units, and Technologies" selected for BIQ1.biq, then you'll also have "Espionage, Units, and Technologies" selected for BIQ2.biq, perhaps even when you open it? There isn't one yet, but it could be added later. It may conflict a bit with the "Save sections" option, but I'm sure a way to give priority to one or the other could be worked out.

If you mean something else, please do explain. Also, if you've got a good idea for a seperator symbol for "Compare mode", that would be excellent. I don't think the current space bar is ideal, and about the best other option I've thought of is a pipe "|". 'Course I could allow the user to specify what they wanted to use as a seperator between elements in Compare Mode to be, but having a good default is always nice, too.

ex: Right now, if the cost for a Warrior differed in two BIQ's, you'd have something like this:

Warrior
Cost: 10 15

It could be

Warrior
Cost: 10 | 15

or one of these
Warrior
Cost: 10 - 15
Cost: 10 / 15
Cost: 10 \ 15
Cost: 10 <> 15
Cost: 10 (a whole bunch of spaces that don't show up on CFC) 15
Cost: 10 _-_-_ 15

or any other weird separator symbol you wanted. The main question is what the default should be, and I think the first two are the best options for that.

Nothing new yet as I've been on holiday since Friday, but now that I look at it, it was only two days ago I posted 0.40.
 
howdy Quintillus,

[1] sticky selections
yes, i want to be able to choose ONLY "buildings" and "units" while biq1 is open and then have those settings - ONLY those setting - already selected when i open biq2.

makes it easier to run comparisons on several files.

perhaps a setting to apply the current selections to all [or to all subsequent] files?

[2] separator
a default of the vbar ["|"] is good for me. an option to change it to a custom char seems a good idea. perhaps a box for the char and put the default value of a vbar in the box the first time the util is run.

if you wanna get fancy, you could always use the source file names ... [*grin*]

Warrior: biq1.biq biq2.biq
cost: 10 15
defence: 1 2
attack: 1 2

the prob with that is alignment. you would get diff displays with fixed and proportional spaced fonts. your 1st setup - a simple vbar - is better in my opinion.

[3] default open-in folder
can you get it to open in either the last-used folder [if one exists] or in the "current" folder?
- the 1st would be whatever folder i used last when i closed the util the last time i used it.
- the 2nd would be the same folder as the JAR file when i start the the util.

hmm, the 1st would require saving the MRU folders. is that easy to do? i simply find it annoying to start the util, see that it's in the "my documents" folder, then navigate to the folder that i have the biq files in and THEN finally open the biq files.

yes, lazy is my middle name! [*blush*]

[4] your productivity
"Nothing new yet as I've been on holiday since Friday"

dude! [*grin*] one a week is VERY, VERY GOOD! it aint like this is your pay-the-bills job. if it got to one a month, then, yes, i would nag you a tad. at least until you told me to stop nagging. [*grin*]

take care,
lee
 
howdy Quintillus,

[1] sticky selections
yes, i want to be able to choose ONLY "buildings" and "units" while biq1 is open and then have those settings - ONLY those setting - already selected when i open biq2.

makes it easier to run comparisons on several files.

perhaps a setting to apply the current selections to all [or to all subsequent] files?

Okay, that makes sense, and I could implement that. Might even be able to make it so if you opened a BIQ with a custom world map, then one without one, and then another that had one, you'd go back to having your old world map options enabled. It will show up in a future version.

[2] separator
a default of the vbar ["|"] is good for me. an option to change it to a custom char seems a good idea. perhaps a box for the char and put the default value of a vbar in the box the first time the util is run.

if you wanna get fancy, you could always use the source file names ... [*grin*]

Warrior: biq1.biq biq2.biq
cost: 10 15
defence: 1 2
attack: 1 2

the prob with that is alignment. you would get diff displays with fixed and proportional spaced fonts. your 1st setup - a simple vbar - is better in my opinion.

Okay, that's what I was leaning towards. The BIQ names are at the beginning of the file right now, so they are there, and I don't really want them all over the place.

[3] default open-in folder
can you get it to open in either the last-used folder [if one exists] or in the "current" folder?
- the 1st would be whatever folder i used last when i closed the util the last time i used it.
- the 2nd would be the same folder as the JAR file when i start the the util.

hmm, the 1st would require saving the MRU folders. is that easy to do? i simply find it annoying to start the util, see that it's in the "my documents" folder, then navigate to the folder that i have the biq files in and THEN finally open the biq files.

yes, lazy is my middle name! [*blush*]

Yeah, that's been annoying me, too. I've been debating the best way to solve that; ideally I'd have a nice configuration file tucked within the JAR that I could change but I don't know if that's possible. A regular configuration file might work best. You'd still have to put up with telling it where to go the first time, but after that it would have a clue, and it probably wouldn't be necessary to redo that after an upgrade, either.

[4] your productivity
"Nothing new yet as I've been on holiday since Friday"

dude! [*grin*] one a week is VERY, VERY GOOD! it aint like this is your pay-the-bills job. if it got to one a month, then, yes, i would nag you a tad. at least until you told me to stop nagging. [*grin*]

take care,
lee

Haha, I suppose so. If only I could devote as much time to Civ as to my regular job...
 
Version 0.41 is up. This is primarily a bug-fix update. Recommended if you are using the program for Wonders or units; otherwise not necessary.

*Fixed bug where I was subtracting 65,536 from the value of PTWWorkerActions for some reason (probably that I did need to for PTWActionsMix), resulting in that section being borked.
*Fixed a bug where undocumented Wonder traits including +2 ship movement, Tourist Attraction, and Increased Army value were not being read in, which resulted in none of the Wonder traits being decoded properly for some wonders.
*You no longer receive the message "java.lang.NullPointerException" when you cancel opening a file - there was no point to the message.

Also, if you notice any graphical oddities, such as the Open button being partway off the screen, please notify me of them. I have changed the type of graphical layout being used to make it easier to design complex interfaces (the old one has a vexing habit of changing the entire layout of the tab every time I change anything), but the new one is not supposed to be as good for cross-system compatibility (not that the old one was perfect - hence why the say with Java you can build it anywhere but end up debugging everywhere). It should look identical to Windows users, but might be a tad off for users of other operating systems (the difference is negligible in my Ubuntu test environment).

Finally, the distribution is now by ZIP format. The good news is that it's a smaller download; the bad news is you must unzip it. And afterwards, the "lib" folder that is in the ZIP must stay in the same folder as Civ3BIQCompare 0.41. Otherwise it will not work.

New features will of course continue to be added; lately my focus has been on a slightly different project, and I even took a day off from Java programming entirely. More bug fixes are likely coming as well; there's probably some more out there that just haven't been spotted yet.
 
Find it annoying to always have to switch to your Civ3 scenario folder to open a BIQ because the program keeps defaulting to My Documents? The answer is... 42!

Version 0.42 is now up. Changes:

*Configuration file now used for default folder to open to (ships with C:\Program Files\Infogrames Interactive\Civilization III\Conquests\Scenarios as default; can be changed).
*Added ability to use custom line separators (default is a pipe, |)
*Added detail on flavor settings to BLDG, RACE, TECH sections in English mode
*Compare mode added to WCHR, WMAP, SLOC, CITY, sections
----*Framework made for TILE, CONT, UNIT, CLNY sections - no comparison yet added as I haven't decided what a good basis for "equivalence" is in these sections.
*Successful output button now appears after a successful comparison output
----*Successful output button now appears for 8 seconds instead of 10 (probably will make use-configurable at some point).
 
*Configuration file now used for default folder to open to (ships with C:\Program Files\Infogrames Interactive\Civilization III\Conquests\Scenarios as default; can be changed).
You could use the registry to initialize it to the current installation folder.
 
howdy Steph,

yep, i am sure there is. that's still something that requires doing things differently for each os. using a config file both stops the "each os needs a unique solution" problem AND makes for a nice, simple, reliable method for doing config settings.

not like that nasty, convoluted, spavined and outright icky thing called "the windows registry".

can you tell i have had fights with the registry? [*grin*]

take care,
lee
 
You could use the registry to initialize it to the current installation folder.

howdy Steph,

doing that would be windows-specific and i get the impression that is one thing being _specifically_ avoided for this util. [*grin*]

take care,
lee

You're both correct. It occured to me that it probably would be most convenient initially to use the registry, but that breaks cross-system compatibility. And I am trying to avoid breaking that. A Google search is telling me that OSX usually uses .plist files in ~/Library/Preferences for this type of thing, but without a Mac (let alone Mac Civ3), I can't verify that or use it to figure out the OSX Civ3 install path. Overall I think this compromise is simplest, and it does make it easier to change the default folder if you want to use .biq's in a different folder than the Civ3 install one for some reason.

Updates might be a bit slow for awhile as the Civ bug has bitten and I've been playing quite a bit of Civ3 recently :D. Time to go conquer some Russians!
 
The programming bug has bitten again, and I found myself looking at the code for this project again. Suffice to say I've got several ideas floating around of future projects I could be working on, some of which I've started, but will need to learn much more to complete, and some of which I need to learn much more to even start. But while working on one of those projects, I realized that I may well be able to make a significant improvement to this project that would be pertinent there, as well.

This version is a performance update. There are no new features, but there is one significant improvement - file input time. I'd previously been using a simple, but inefficient, method. The new method is significantly faster. Load times:

0.42 Version | 0.43 Version

Middle Ages MP Scenario: 6 seconds | 2 seconds
TETurkhan's 256x256 map with cities: 5 seconds | 2 seconds
el_mencey's 362x362 world map: 8 seconds | 2 seconds
Hypothetical 1000x1000 map that causes Civ3 to crash: 43 seconds | 6 seconds

So it's only a few seconds for maps that Civ3 can actually load. But it's still a bit of time, and if Civ3 could play bigger maps, more savings would be there.

One bug was uncovered: If you open enough/large enough maps, you will eventually run into problems due to Java not having enough memory. However, you can easily load three 362x362 maps at least. I'll probably add a "Close" functionality in the future to address this, but unless you are opening very many maps without restarting the program, you'll likely never notice this problem.

Note that at this point I don't plan to resume high-speed development. Primarily because there just isn't time - perhaps there will be in December or January after my academic semester ends. But also, because I have a few other ideas I'd like to pursue when I do have time. Still, this probably won't be the last you see of this code.

Link.
 
Version 0.44 is a maintenance release. Changes (all of which are building-specific):

*Fixed bug where Agricultural/Seafaring traits were not handled
*Fixed bug where reducing war weariness universally was represented as city-specific (i.e. Universal Suffrage)
*Fixed bug where the increasing trade in water trait was not handled
*Fixed bug where Stealth Attack Barriers were not handled
*Fixed bug where Double Sacrifice was not handled
*Fixed bug where the ability to build units was not completely handled
*Fixed bug where the "goods in city radius" tag was not being read properly, due to a change in the format between BIC and BIQ files
*Added support for Charm Barrier, Acts as General Telepad to BLDG

Note that this does not fix the teleportation issues for units. At this point I think I have buildings completely covered, except perhaps for for one unknown bit about Wonders whose function I have not been able to determine, even with the hacked editor (which turned out to be a big help for this update).
 
Version 0.45 is primarily a compatibility release. Changes include:

*Converted program to Java 1.5, from 1.6
*Fixed loophole where you could sometimes select sections of a BIQ file to compare when said sections were not present in both files being compared
*Removed the internal frame surrounding the BIQC tab, giving a cleaner interface
*Removed the filtering to BIQ files when browsing for an output location

This should allow users of a more diverse group of operating systems including Mac OSX 10.4 (Tiger) and Windows 98 and ME to use the program. It has been tested on a (Windows) system that has only Java 1.5 installed and worked flawlessly.

The front page has also been updated, and is up-to-date except for the screenshot. But that's still a lot closer than it used to be.
 
Thanks to recent advances in color-detection technology, we have entered a brave new world... that of psychedelic non-Firaxis Civ3 utility programs. While it has long been public knowledge that the official editor contains a psychedelic mode, this rendering model has not, to the author's knowledge, come to custom-made utilities. Wait no longer! The day has come; they have arrived.

Version 0.45 Psychedelic introduces these changes:

*Increased use of civ3biqcompare.ini. There are now two parameters: civInstallDir and openDir. They indicate the installation directory of Civ and the directory to which you wish the program to default to when opening files, respectively. To specify one, put it on its own line in the .ini file, add an equals sign (=), and type in the value you desire. Spaces in the desired value are perfectly fine. The shipped version include a sample civInstallDir value, which may work for you if your first Civ3 version was Vanilla Civ3 for Windows. If not, you'll want to change this. Note you should specify the Vanilla directory, not the Conquests folder.
*Proper closing of the civ3biqcompare.ini file by the program
*And, of course, psychedelic colours! They change every time you start the program, sometimes more often! Don't like the current selection of colors? You must not be too opposed to them, I know you've been viewing these colors for years by now. But hey, you're free to mod them if you wish... just make a backup of the originals first.

Psychedelic Mode may or may not be present in future releases. If it is present at all, it will be an option, unlike in this version. Download this version from this post, not the Downloads Database page. That page will keep the regular version.

howdy Quintillus,

just fyi, 0.45 working fine on my setup.

os = win xp pro, sp3
java = 1.6.0_19

take care,
lee

Good to know! Not too surprised, but all the same, glad it wasn't just some happenstance that caused it to work on my machine :).
 
Back
Top Bottom