JCivED - a toolbox for Civilization

Patch questions:
* patch032_skip_av_intro.xml - Skip A/V selection on startup. It seems like all you've done is replaced a JMP or CALL or something with a series of NOP. What state does this start the game in? Which sound driver, etc?

Sorry for not making it explicit: default is No sound and MCGA graphics.This corresponds to drivers files hard-coded in CIV.EXE, namely NSOUND.CVL and MGRAPHIC.EXE.

If you want the details: the pre-game A/V setup menu simply replaces the first character of those hard-coded filenames depending on the user selection: AdLib changes NSOUND.CVL into ASOUND.CVL, EGA graphics changes MGRAPHIC.EXE into EGRAPHIC.EXE, etc.

* patch007_bugfix_pathfind.xml - Fixes a bug in CIV generation of land pathfinding data. What exactly does this do? It only works for 474.01 and 475.01, and the reference link points to some unrelated post.

You're right, the link is wrong.

The motivation for this patch is described in a series of post within the SVE file format thread, starting here: http://forums.civfanatics.com/showthread.php?p=12554133&post12554133

The patch post itself comes at the end of the series, a few posts later: http://forums.civfanatics.com/showthread.php?p=12557540#post12557540

And one more for good measure:
* Can SP299x patch from here be included?
http://forums.civfanatics.com/showthread.php?t=518839

Sadly, it is not on the top of my priorities for JCivED: the current patch function is really focused on CIV.EXE, since PIC files can be modified through separate functions, and shared if necessary, just like Theov did in your link.

Since I started the CIV.EXE patch function, I have envisioned a full "modding" function in JCivED, that would include full support for patching all CIV files, in the spirit of creating "total conversion" mods, typically.

While being on that path, I started to reverse-engineer CIV.EXE and the world of possibilities this opened kind of brought me on another path of experimentation.

That said, if you keep your hopes up, you may see it coming sooner or later :)
 
1. start new game, save asap
2. open up in the awesome JCivED
3. Make the entire map rivers
4. Game freezes on a between turn load after about a dozen turns

Is this a known freeze because my planet of rivers is just too silly?

CIV is locked in an infinite loop, trying to spawn Barbarians on an ocean square, while your map doesn't contain any...

It is probably possible to hack CIV in order to prevent it from spawning Barbarians at sea, but I didn't research this yet.

With JCivED, you can work around the freeze as follows:
1- make 1 map square OCEAN (avoid the 4 polar rows and 4 meridians around 0 (78, 79, 0 and 1))
2- select Map -> Recompute Continents and Oceans
3- in the "Data" tab, go to the "Geography" panel and set all Oceans sizes to 33 (or more); this is because the Barb spawning routine also skips inner seas smaller than 32 squares
4- save and play
 
0. thanks for all your hard work and for sharing! :)

1. wonder what your "city production" data point means? i thought it meant whatever the selected city was producing... SILLY ME!... so i changed it and reloaded... to find the default green base color of my continent now persistently set to black instead of green. looks VERY odd but i guess i can release a mod for the game called "Civilization I - Darklands" :)

anyways i was looking for a data template change: change all cities who are producing settlers to now produce caravans or vice versa or even a change all cities to produce caravans (useful for large societies and sudden strategy shifts)

so IS there a data point to change what each city is currently producing? can i change them all at once?

2. something that i would be very interested in is map change templates. for example change all mountains to hills or all deserts to plains or change all land to water and vice versa. would speed up map making / modifying tremendously for me anyways.
 
Simonomis: I found the issue...

It's actually a very stupid bug, simply because I almost only use the French version of Civ, and didn't try the last release on the EN version.
I will fix it and release a patched JCivED ASAP - nothing wrong with your XP!


Hi Darkpanda... could you just check the latest release via an EN language version once again and see if there's an issue? I'm having exactly the same problem as last time, and it was resolved by some bug you managed to fix. Thanks!

EDIT: Having read through the whole thread I think it's an outofmemory error. I only have 1GB on this XP:


http://imgur.com/Ww0oejy
 
First of all, thank you for making JCivED. It's the Civ1 map editor the game needed.

That said, in a scenario I am building I was curious about the sizes of the continents. My scenario has two enormous continents and one enormous ocean, plus a few small islands and lakes, and in the Map "2 - Continents and Seas" view I can see that all squares are correctly allocated to the new continents and seas I have built. By my eyeball estimate, each new continent has about 900 squares, but in the Geography tab JCivED reports multiple smaller continents, the largest (#1) being only 334 squares whereas sea #1 is 2900 squares. In short, it looks like it is still using the counts from the original Civ-generated save file. I have had JCivED recalculate both continents & oceans and land values many times, so I can only guess that it is not updating these original counts. It's a minor nitpick, but it's untidy.

I also changed a couple of civs to their alternates using the "Game data" tab - Babylonians to Zulus, Egyptians to Aztecs, Greeks to English. All looks good for the units, but when I go to found cities, both the game and JCivED still use the original civ's list of city names. Thus the Zulus found Babylon, Aztecs found Thebes, and English found Athens. This is not just a labelling issue. When testing one scenario, I started the AI with both cities and units (placed with JCivED), and a few moves in I got the interesting message "Aztecs capture Tenochtitlan"! My self-written SVE hacker shows that the civ flags do appear to be set correctly, which suggests there's an overlooked flag out there for city names lookup. If I set the scenario to start in 4000 BC, forcing a reset, all is well. This glitch only affects games starting 3980 BC or later.

Update: Aha, the leader graphic determines not just the leader graphic but also the city name list used. But it doesn't fix the "Aztecs capture Tenochtitlan" bug. This is similar to the other bug where a city with defenders appears undefended and moving a unit into it captures it. With this new bug the JCivED-placed city is the right name and colour but still can't be opened for editing until it completes a unit, after which the city behaves normally.
 
Darkpanda: I wanted to reiterate my thanks, this is a really cool program.

I was wondering about changing things like the names/functions of scientific advancements and wonders. Is that possible with your program? Also, is it possible to rewrite the civilopedia text?
 
0. thanks for all your hard work and for sharing! :)

1. wonder what your "city production" data point means? i thought it meant whatever the selected city was producing... SILLY ME!... so i changed it and reloaded... to find the default green base color of my continent now persistently set to black instead of green. looks VERY odd but i guess i can release a mod for the game called "Civilization I - Darklands" :)

anyways i was looking for a data template change: change all cities who are producing settlers to now produce caravans or vice versa or even a change all cities to produce caravans (useful for large societies and sudden strategy shifts)

so IS there a data point to change what each city is currently producing? can i change them all at once?

2. something that i would be very interested in is map change templates. for example change all mountains to hills or all deserts to plains or change all land to water and vice versa. would speed up map making / modifying tremendously for me anyways.

I hear you, and those would indeed be great features. The most straightforward way to implement them would probably be like image editing features: selection tool for area or similar terrain, fill tool to change all selected contents to angiven terrain type or selective painting tool to limit modifications to the active selection (mask)...

Another lead I have been thinking of was to provide a scripting facility in JCivED (console + script files) to manipulate game data however you want.

Only problem remains: when will have time to do any of this ? Not soon :)
 
First of all, thank you for making JCivED. It's the Civ1 map editor the game needed.

That said, in a scenario I am building I was curious about the sizes of the continents. My scenario has two enormous continents and one enormous ocean, plus a few small islands and lakes, and in the Map "2 - Continents and Seas" view I can see that all squares are correctly allocated to the new continents and seas I have built. By my eyeball estimate, each new continent has about 900 squares, but in the Geography tab JCivED reports multiple smaller continents, the largest (#1) being only 334 squares whereas sea #1 is 2900 squares. In short, it looks like it is still using the counts from the original Civ-generated save file. I have had JCivED recalculate both continents & oceans and land values many times, so I can only guess that it is not updating these original counts. It's a minor nitpick, but it's untidy.

I also changed a couple of civs to their alternates using the "Game data" tab - Babylonians to Zulus, Egyptians to Aztecs, Greeks to English. All looks good for the units, but when I go to found cities, both the game and JCivED still use the original civ's list of city names. Thus the Zulus found Babylon, Aztecs found Thebes, and English found Athens. This is not just a labelling issue. When testing one scenario, I started the AI with both cities and units (placed with JCivED), and a few moves in I got the interesting message "Aztecs capture Tenochtitlan"! My self-written SVE hacker shows that the civ flags do appear to be set correctly, which suggests there's an overlooked flag out there for city names lookup. If I set the scenario to start in 4000 BC, forcing a reset, all is well. This glitch only affects games starting 3980 BC or later.

Update: Aha, the leader graphic determines not just the leader graphic but also the city name list used. But it doesn't fix the "Aztecs capture Tenochtitlan" bug. This is similar to the other bug where a city with defenders appears undefended and moving a unit into it captures it. With this new bug the JCivED-placed city is the right name and colour but still can't be opened for editing until it completes a unit, after which the city behaves normally.

It has been a long time now since I last dived into Civ bytes, but for sure the overall impression of browsing through the code is that there is a lot of room for improvement. This AI logic relying on different IDs and arrays of Id to Id mappings, with additional flags to control other arrays indices, it looks very convoluted and patchworky. Maybe the original C code looked much simpler and this is just the result of compiler optimization, but seeing other bugs in the game, I doubt it.
I remember there are various data areas to store city indices, and it is likely that initial cities and/or Civ IDs will coerce the city names for a Civ, even after swapping Civ bit flags, but I cannot validate that assumption now.
Good job investigating the issue anyway :)
 
Darkpanda: I wanted to reiterate my thanks, this is a really cool program.

I was wondering about changing things like the names/functions of scientific advancements and wonders. Is that possible with your program? Also, is it possible to rewrite the civilopedia text?

JCivED contains an *experimental* patch (patch023) allowing change an enormous amount of in-game data, but I am not sure whether it covers Advance names - it should.
Note that it only works with Civ 474.01 English.

JCivED contains another proof-of-concept patch that swaps the behaviour of SETI Program and Writing advance: possessing the Writing advance provides the effect of SETI Program to a Civ. Again, this is only a proof-of-concept, and it cannot be generalized to all Wonders, since each Wonder has a specific effect, coded in multiple and various ways. Also, it only applies to 474.01 or 475.01.
 
JCivED contains an *experimental* patch (patch023) allowing change an enormous amount of in-game data, but I am not sure whether it covers Advance names - it should.
Note that it only works with Civ 474.01 English.

JCivED contains another proof-of-concept patch that swaps the behaviour of SETI Program and Writing advance: possessing the Writing advance provides the effect of SETI Program to a Civ. Again, this is only a proof-of-concept, and it cannot be generalized to all Wonders, since each Wonder has a specific effect, coded in multiple and various ways. Also, it only applies to 474.01 or 475.01.

Cool. Thank you. Now I just have to figure out how to get my hands on version 474.01.
 
I remember this question was already answered somewhere in our forum here
(or maybe even in this thread) :


Is it possible to remove all of the huts from this map (attached here)
with JCivED?

Please, if someone can do this...?

I need this modification (and only that modification additional please, nothing else)
for the next version of the

SPACE RACE CONQUEST
http://forums.civfanatics.com/showthread.php?t=526175
 
If I recall correctly, huts are made "visited" or "disabled" by making a hut square visible to barbarians, so it should be fairly easy to do this with JCivED:
- select the "Paint visibility" tool
- select the Barbarians as active Civ
- select 21x21 paintbrush size
- paint the whole map
Didn't try but that should do it.
The problem is, that i want to use an existing scenario and not redraw earth map with all the ...faults that will destroy the existing and working scenario ...stations.

i will keep your suggestion in mind for -maybe- other 'scenarios without huds' coming next (if),
thank you very much. :)


Poor man's solution. Create a lake at every hut location. ...
Great, easiest way to go. :goodjob:
Because it's a fixed scenario, all other things will stay in place.
That's it, Version 4, next.
 
The problem is, that i want to use an existing scenario and not redraw earth map with all the ...faults that will destroy the existing and working scenario ...stations.

In fact there is nothing to *redraw* in my suggestion, "paint the whole map" just means "make the whole map visible to Barbarians". This can be done in a few seconds.

I will try to demonstrate it with screenshots, to be clearer.

Great, easiest way to go. :goodjob:
Because it's a fixed scenario, all other things will stay in place.
That's it, Version 4, next.

Note that this can only be achieved if the huts are always at the same locations, meaning the map's "random seed" is fixed.
 
Here, I have made the change for you directly in the proposed Space Race game, with no need to put oceans everywhere:

BEFORE:
civ_002.png

AFTER:
civ_003.png

See attached savegames CIVIL5.*
 

Attachments

  • CIVIL5.MAP
    10.4 KB · Views: 173
  • CIVIL5.SVE
    37 KB · Views: 263
...
Note that this can only be achieved if the huts are always at the same locations, meaning the map's "random seed" is fixed.
Right.
In this case it's a fixed scenario (save game file),
so this will keep the same '(invisible/removed) barbarian hut' positions of that 3980BC game file (as it looks like).

.
.

Here, I have made the change for you directly in the proposed Space Race game, with no need to put oceans everywhere ...
Fantastic. :goodjob:
Thank you so very much ! :)

I will soon set up the 2016 version forum thread
for that Spacerace Conquest.
:banana:
 
That's quite an awesome tool DarkPanda. Never tried it before now. Any way to hide huts/units so one see what terrain exist behind them?

Waiting for that next space race conquest. Guess I'll have to prove I can do something else than tweak huts :) Why are the map formed as it is anyhow? I can understand the hidden two opponents to get them out of the way, but I don't understand the mountains in Europe and Middle East, and why it's an alternative earth map and not the original. The map seems to somehow not having the tech picking limitations either. I can pick all techs all the time it looks. Is something done there?
 
Fantastic tool! I'm veeery new to map editing in Civ (and have also stumbled upon TerraForm, which I'd like to give a go).

Seemingly, though I can't open a savegame with JcivED - it just sticks at the loading screen forever, even after I close the main program window.

Is there something I'm doing wrong?

Ram and Java are ok so not sure whats going on there...
 
I noticed that if I have save game in slot X already open, it hangs if I try to open another instance from the same save game slot. Works fine if I close the other window first.. And also, if you open too many windows, each subsequent window gets further down to the right, and eventually outside of the outer window.. But you can get it in view by doing alt+space and maximize the window (if I remember correctly)
 
Top Bottom