HawaiiFive-O HawaiiFive-O

GalCiv Writer

GalCiv Writer

A beta version of my Event Writer program is now available for any hardy souls who'd like to give it a try.

You can find a screenshot here:
http://www.ctuit.com/bill/galciveventwriter.jpg

You can find the instructions file here:
http://www.ctuit.com/bill/EventsInstructions.txt

This program has *not* been put through vigorous stress testing, so I do not recommend you install it without knowing what you are getting into. It will make several backups of the .event files in case something goes awry, but if you are not comfortable finding/renaming files on your hard drive, I highly recommend you stay away for the time being. In addition, as mentioned, this program is in a fairly untested state, so if this makes you nervous, stay away as well. I can confirm that GalCiv will load my modified event files, and fire off the events, so all seems well, but I only tested it on 4 machines that might not be representative of the general population (Win98, Win98SE, Win2000, WinXP, that's the extend of my testing facilities at work ;p ) Proceed at your own risk.

If you are interested in beta'ing this program, please contact me at:
[email protected]
and I will e-mail you a self extracting zip program with the install package. It is 1.7 megs, so if you are on dialup you'll have to be patient.

Future updates will be available via http download.

I moved the Events onto a separate form at the last minute, in anticipation of *maybe* adding more editing screens for techs, UP issues, SB modules and the like (no promises!), so in order to get to the events you have to select Edit>>Events.

The install package will add a program group, the default installation location is C:\GalCivWriter.

Please post here with any questions, comments, and feature requests.

Thanks!
27,397 views 272 replies | Pinned
Reply #151 Top
I'm impressed HF-O! That was what... Overnight service? :)

Looks good.. I wonder though the relationship between some of the keys/aliases. If a new racial identity is created and you create some keys for them, will GalCiv use them? or will I have to rename the existing racial ID's and use the keys associated with the original race?

Being able to edit the english.str effectively will be awesome! I'm looking forward to seeing this in a beta sometime.

Thanks Again HF-O.


~SDC~
Reply #152 Top
I'm pretty sure that most of this stuff is hard coded. I'd imagine that all the Table Aliases and Keys are- these entries *must* be something the GalCiv engine will recognize. The Values are editable though.

~SDC~
Reply #153 Top
Here's the English.str screen in it's final finished form:

http://www.ctuit.com/bill/english_str.jpg

I'll be working on Improvements over the Memorial Day holiday.

Seems so quiet in the Mods forum lately. Anyone working on anything?

~SDC~
Reply #154 Top
I checked Apolyton CtP2 forum at last. I messed up a bit with names over there btw, but it looks like there is a VB-based ModManager program that moves files around which might be reused in part for modswapping purposes (see J Bytheway over there).
Reply #155 Top
Lot's of interesting reading there. I'll definitely pick J Bytheway's brain for engineering issues when the time comes to build a mod-swapper.

~SDC~
Reply #156 Top
Playing a last unmodded game before spending a month in Japan. No modding for/from me 'til I'm back.

End transmission.

~SDC~
Reply #158 Top
Seems so quiet in the Mods forum lately. Anyone working on anything?
End of quote


I'm working on a Mod Swapping Tool, but it's still far from being usable.
Screenshot here: http://littleboy22.free.fr/temp/GcMM-240503.jpg


~SDC~
Reply #159 Top
Wow! That looks like great. I like the way you worked the graphics into the interface.

What language did you write it in?

I'm not that familiar with modswapping tools, so pardon me if this is a dumb question, but is it normal to list "one-off" mods in the mod-swapper? I guess I'd thought that a mod-swapper would only be useful for "total conversion" mods, where a bunch of files are changed. I didn't realize people might use it to keep track of the single files they downloaded here or there. Interesting.

~SDC~
Reply #160 Top
What language did you write it in?
End of quote


It's written in C#, so you need the .NET Framework to run it.
It might not be the best choice for that kind of tool as it's a rather big download, but I began to work on that project to teach myself C#.
I know you can interact with program or dlls writing in VB6 or other languages via COM Interop, but I don't know how to do it yet. I will have to look into it.


I'm not that familiar with modswapping tools, so pardon me if this is a dumb question, but is it normal to list "one-off" mods in the mod-swapper? I guess I'd thought that a mod-swapper would only be useful for "total conversion" mods, where a bunch of files are changed. I didn't realize people might use it to keep track of the single files they downloaded here or there. Interesting.
End of quote


Well, as there are a lot of different little "mods" in the library I built it that way :)
One advantage is that you can do both "total conversion" and "single event/ship/etc" with this approach.

It will have to take into account 'priority'. The first mod in the installed mod list should take precedence over the following (that part is not in the UI yet).

Another problem will be consistency: how to revert back to the original state ? What if the user update the game via SDC with mods installed ?

I can see two solutions:
- On our side: copy the mods file into a temp dir (that the only thing it does now), backup any file that are going to be replaced, build a list of file being added. Then copy the contents of the temp directory into galciv root dir and start the game from the program. When the game terminates, delete all the added files and copy back the original ones from the backup.

- On Stardock side: Have galciv look into a mod directory when run with a special command line switch and load the files from it. Look into the original directories if a file is not in the mod directory.
I think that's how quake III is working (the files are compressed into .pak files though). You can update the data files just by adding a .pak file with the new files.

Of course, I like the second solution better ;p
I will have to talk to Cari to know what can be done.
Any other ideas ?


A word on the way the program works:

Each Mod has it's own directory under %Galciv%/Mods. There should be a "mod.xml" file at the root of %Galciv%/Mods/%ModName% containing mod info(name, version, author, description, compatibility, library, category, email, site). I plan to add multi-language support.
You can also have two optional images: "big.png" and "small.png". Those are the pictures displayed in the listbox and info panel.
Under the mod directories, you place your files in directories that replicate the Galciv's root directory structure.

I have to write a design document next week, to organize my ideas a bit and allow people to comment on them.

~SDC~
Reply #161 Top
@Littleboy: Wow, you bring up a lot of good points. I'll respond tomorrow when my brain is not fried from programming 10 hours straight.

I finished Improvements tonight. That's the last of the base files. I'm going to take it easy for a bit before figuring out what to work on next.

Here's a screenie for the Improvements screen, alas there's no pretty picture to display:
http://www.ctuit.com/bill/Improvements.jpg

~SDC~
Reply #162 Top
Sorry for the delay in getting back to you.


It might not be the best choice for that kind of tool as it's a rather big download, but I began to work on that project to teach myself C#.
End of quote

That's funny, because if I were to do a ModSwapper, I'd do it in VB.NET- because I need to get up to speed on .NET. In order to justify the time I'd put into it, I'd need something back, i.e. gaining experience in the language.

One advantage is that you can do both "total conversion" and "single event/ship/etc" with this approach.
End of quote

*nods*, that's a very good point.

It will have to take into account 'priority'. The first mod in the installed mod list should take precedence over the following (that part is not in the UI yet).
End of quote

So a hierarchy then, with a higher ranked mod 'trumping' a lower ranked mod if they both want to install the same file. Again, a sound decision.

I can see two solutions: ... Any other ideas ?
End of quote

No, not really. A lot of games use the concept of an 'override' directory- if the file is in \override use it, if not use the normal path. This would, as you mention, make things a lot cleaner for a ModSwapping program, this way we wouldn't be screwing around moving things in and out of \Data. I can't speak to Stardock's development plans, so I'd plan on using your Plan A. So now the program needs to be able to manage some sort of list that details what gets moved around. It's not ideal, obviously.

Each Mod has it's own directory under %Galciv%/Mods. There should be a "mod.xml" file at the root of %Galciv%/Mods/%ModName% containing mod info(name, version, author, description, compatibility, library, category, email, site). I plan to add multi-language support.
End of quote

*nods*, yes this occurred to me as well. Part of the challenge here is who makes this xml file? The downloader or the modder?

I have to write a design document next week, to organize my ideas a bit and allow people to comment on them.
End of quote

Please do, I'd certainly like to read it over. If you are going to put the ModSwapper together, I can concentrate on other things.

~SDC~
[Message Edited]
[Message Edited]
Reply #163 Top
Posted a new public version for the GCW on the home page tonight:
http://www.ctuit.com/bill/galciv.htm

This one has everything but the Improvements and English.str editing screens (those are still in beta). It also has a whole slew of little tweaks and improvements for the other editing screens.

So if you wanted to add some new Anomalies, Political Parties, Invasion Tactics, or Ships, grab this version today!

As always, if you have a suggestion or if you find a bug, post here and let me know, thanks!

~SDC~
[Message Edited]
Reply #164 Top
I'm now getting this error report every time I try and edit a tech.

20030529154819412,0,0,"0-",5/29/2003 3:47:41 PM,"*******************************************************

THE FOLLOWING ERROR WAS CAUGHT:

Application: GalCivWriter.exe
Error Source: GalCivWriter
Error Number: 91
Error Description: Object variable or With block variable not set
Date and Time: 5/29/2003 3:47:41 PM
User:
User Message: Attempted to load the techs up... for some reason now, we're crashing. :(
Call Stack:
frmTechs_Form_Load
frmTechs_InitForm
modParsing_LoadTargetFiles
modParsing_ParseOutImpFile
*******************************************************",GalCivWriter.exe,GalCivWriter,91,"Object variable or With block variable not set","frmTechs_Form_Load*frmTechs_InitForm*modParsing_LoadTargetFiles*modParsing_ParseOutImpFile","Attempted to load the techs up... for some reason now, we're crashing. :("

It WAS working yesterday but not now. Not sure what's going on but. :) it's odd none the less. Note, it crashes both when trying to read achivements.imp AND gcimps.imp.

~SDC~
Reply #165 Top
Forgot to mention, this is with the latest galciv 1.04 updated a few minutes ago. Yesterday was also 1.04.

~SDC~
Reply #167 Top
Grr! Don't bother posting your version, I've found the problem.

How on earth it slipped by my testing is beyond me, I must have slapped it in and then never went into Techs again. It's an easy enough fix.

I'll post an updated 1.2.0 in a little bit on the home page (call it 1.2.0A), and I'll e-mail the betas about a new 1.2.2 as well.

Thanks for the head's up!



~SDC~
Reply #168 Top
OK, I've posted 1.2.0A on the home page for the public users.

For the betas, you'll soon receive an e-mail with a download link for 1.2.2.

Thanks for letting me know about this bug, and I'm sorry for the inconvenience.

~SDC~
Reply #170 Top
Littlebiy, nice screenshot. It looks like an interesting tool. I'm very interested in modswappers. Note that in CtP2, the modswappers evolved the other way round: from full-mods only (modswapper) to adding mods on top one of another (J Bytheway's modmanager).
Reply #173 Top
New Version?? Of Improvements or a Multiple Window Based version of the GalCiv Writer with tabbed interface? :)

Keep em Coming HF-O!

~SDC~
Reply #174 Top
I second that keep them coming HF-O! Looking forward too whatever it is your working on. I keep checking my website and here to make sure I do not miss a beat. LOL

~SDC~
Reply #175 Top
The new version is going to be primarily 'clean up' work.

Here's the list:
1) FIX include UP Issues file names in StandardFiles() array.
2) ADD instructions file for Options screen.
3) ADD instructions file for DFM screen.
4) ADD function to randomize tech tree costs (I guess no one's really interested in this, but I am and I've got veto power).
5) ADD function to verify all the various files in a given directory.
6) CHANGE Improvements + English.str released for public consumption.

The other thing I'm working on is currently giving me fits. I'll post a screenie once I'm happy with where I'm going with it.

~SDC~