Resource icon

C3X: EXE Mod including Bug Fixes, Stack Bombard, and Much More Release 23

Hey, don't meant to jump in here in the middle of stuff, but is there any way you could look at hidden nationality units, specifically how the player can use them? I'm annoyed that you cannot use them to capture cities... while the AI can.
Added to the list. I think the most sensible way to make the rules consistent is to restrict AIs from capturing cities with HN units unless at war but I'll have to take a look at the code to see if making that change is practical. Adding that restriction might cause a sub bug like effect where the AI just declares war so the unit can do its move.
Sorry to jump back here, but is this still a possibility? I'd love to have settings for a mod I'm working on not adjust the base game if I can. This would be an awesome fix!
I looked into this back during the summer but then put it on the back burner and forgot about it. The challenging part was handling saved games. Saves from scenarios with custom rules include their own BIC data so if that data has some custom config attached, you have to pack that config into the save somehow, write the config out to a separate specially named file alongside the save, or somehow figure out when loading the save which scenario it was originally created from and look for an associated config. All those possibilities have downsides. I don't know when I'll resume working on this, but I'm more likely to do it knowing that it's something people care about.
Maybe it would be easier to just add a flag to the ini for NORASE. Then they could use it or not and you would not have to update for any new scenario that comes out.
There is already a INI option for NoRaze, the problem is that there's only one INI. If you want to play scenarios and the base game on the same installation with different NoRaze settings for each, you'd have to edit the INI any time you switch from one to the other.
 
I know, why is that so hard. It is not any harder than what we had. One exe for noraze and one for normal. So we would have to change the ini. Why should you have to jump through hoops to save so little effort on the players part? Many have two installs or even more. I think most do not want to have you do any extra work. Take what ever is easier for you, not for us.
 
Added to the list. I think the most sensible way to make the rules consistent is to restrict AIs from capturing cities with HN units unless at war but I'll have to take a look at the code to see if making that change is practical. Adding that restriction might cause a sub bug like effect where the AI just declares war so the unit can do its move.

I agree that restricting the AI makes the most sense, too. I think that's what I'd prefer. But thanks for looking into it regardless!

I looked into this back during the summer but then put it on the back burner and forgot about it. The challenging part was handling saved games. Saves from scenarios with custom rules include their own BIC data so if that data has some custom config attached, you have to pack that config into the save somehow, write the config out to a separate specially named file alongside the save, or somehow figure out when loading the save which scenario it was originally created from and look for an associated config. All those possibilities have downsides. I don't know when I'll resume working on this, but I'm more likely to do it knowing that it's something people care about.[/QUOTE]

That would be mint if possible. I never thought about SAV complications, but I'm sure that's a very, very tricky situation.

EDIT: Another annoying thing is that when playing Regicide, when you kill a civ's last king, all their cities are instantly destroyed. This sucks when you're attack their capital/big city with x wonder. Would there be a way to have civs destroyed at the very, very end of a turn (so you have the opportunity to first capture any cities), rather than instantly?
 
Last edited:
I looked into this back during the summer but then put it on the back burner and forgot about it. The challenging part was handling saved games. Saves from scenarios with custom rules include their own BIC data so if that data has some custom config attached, you have to pack that config into the save somehow, write the config out to a separate specially named file alongside the save, or somehow figure out when loading the save which scenario it was originally created from and look for an associated config. All those possibilities have downsides. I don't know when I'll resume working on this, but I'm more likely to do it knowing that it's something people care about.

Is it possible to make it possible to launch an exe file with a parameter indicating which of the ini should be used? Then the problem will be solved by several bat files or shortcuts.
 
EDIT: Another annoying thing is that when playing Regicide, when you kill a civ's last king, all their cities are instantly destroyed. This sucks when you're attack their capital/big city with x wonder. Would there be a way to have civs destroyed at the very, very end of a turn (so you have the opportunity to first capture any cities), rather than instantly?

Similar is true for elimination(?) as in the Fall of Rome scenario. A warning popup before such a critical attack might be convenient.
 
I know, why is that so hard. It is not any harder than what we had. One exe for noraze and one for normal. So we would have to change the ini. Why should you have to jump through hoops to save so little effort on the players part?
I agree, the reason I haven't done it yet is that it's too much effort for too little reward. Still it's something I'd like to do. Ideally there's a way to do it easily even if it's a workaround or a "good enough" substitute.
Is it possible to make it possible to launch an exe file with a parameter indicating which of the ini should be used? Then the problem will be solved by several bat files or shortcuts.
That would be possible. Related to that, I was thinking of adding an in-game config selector. The mod is already set up to switch configs dynamically while the game is running but ofc. that's useless right now since there's nothing to switch to.

Another idea that occurred to me is reversing the relationship between scenarios/saves and configs. I.e., rather than have scenarios & saves contain a config, the config files could refer to scenarios by name. So when you launch a scenario or load a save, the modded game would search all .c3x_config.ini files in the mod directory and load the one that declares it applies to that scenario. It could even search the scenario's folder too so it's easy for modders to include configs without requiring users to move them around. I think this is the way to go.
EDIT: Another annoying thing is that when playing Regicide, when you kill a civ's last king, all their cities are instantly destroyed. This sucks when you're attack their capital/big city with x wonder. Would there be a way to have civs destroyed at the very, very end of a turn (so you have the opportunity to first capture any cities), rather than instantly?
Added to the list too. My guess is this would be an easy change to make but I'd have to look into it to be sure. I wonder where specifically would be the best place for this check. Putting it at the "very, very" end of the turn means the player that lost gets a turn of production and maybe a chance to move units before being eliminated, alternatively it could be put at the beginning of the production phase or the player's movement turn to deny them one of those things but not the other. Maybe the best thing is to have multiple checks.
 
Is it possible to make it possible to launch an exe file with a parameter indicating which of the ini should be used? Then the problem will be solved by several bat files or shortcuts.

Right now you can run two separate installs of Civ3 one Raze, other NoRaze , put the shortcut out on the desktop and run whichever one you want. On that note I don’t know if you can have two or more separate installs of the just the Flintlock patch folder running different configurations inside of a Civ 3 folder, I just thought of that haven’t tried it out.


Also if someone knows how to write BAT files, or wants to study it for a bit , it shouldn’t be a big deal to create a bat to copy one config file to another folder so if you want NO-RAZE you would click on NO-RAZE bat shortcut and that bat file would copy from one location to another over writing the RAZE config and then another shortcut to another .bat would do the exact opposite


Here is an example

——— copy everything below this line———-

@Echo off

echo copy to CX9 folder ...

REM the below is You are copying the desired raze default.c3x_config.ini file
REM you can type defaul*.* and it will copy the config.INI over
REM you are copying them from the top line path to the below line path
REM paths are “inside” “quotes” and are separated by spaces, NOT returns
REM I.e. copy "C:\From this path\file.txt”[space]"C:\To this path\”

copy "C:\Users\Node60\Desktop\CivRaze\defaul*.*" "D:\Civilization III

CompleteGOG\Conquests\C3X_R9"

REM you can add extra lines to other files here

echo Done.
pause


———— end copy above this line.
---- and paste into an empty text file and rename it to CivRaze.bat
-----alter paths to match your configuration


You can create more instances of this bat file that copies other types of default.c3x_config.ini files out of other folders into the \xxxx\Conquests\CX9 folder overwriting the config that is there.
BAT commandos can create menus to handle those extra folders but this should get you started.
 
Last edited:
Has anyone else run into a problem extorting towns as part of a peace treaty while running C3X (v.8)?

This morning I was continuing a (Std 60% Pan, DemiGod) game, where I (Carthage) was trying to make peace with the Zulu.
Spoiler Background noise :
They started it, with a sneak Cav-attack out of the blue which got dangerously close to my core; WW/unhappiness had already jumped to max before the end of that interturn, due to them depriving me of outlying Lux resources which I was trading for other Luxes. After recapturing most of the towns they'd taken during their initial offensive, making some inroads into their territory, and ping-ponging some of my former outlying towns back and forth, I was tired of the hassle (and struggling to hold what I'd captured), so...
I asked for peace + WMap + 6g (all he had) + Cirta (the nearest fringe town), which was apparently "Acceptable". But when I clicked "Will you accept...?", I did not get the "We agree to that deal" message from Shaka, although the deal was apparently accepted (see below).

I was also unable to exit the Diplomacy-screen, because the usual list of options (from "We would like to propose a deal" to "I'm done, goodbye") was not properly displayed/ click-able, and even the Escape key didn't get me out.

I could skip from the Foreign to the Domestic Advisor (by clicking on the Advisor's head), and Cirta was now in my town list, and I could reassign the current build. But exiting from there back to the main map screen, I could not select/ move any units, no hotkeys worked any more, and when I right-clicked on a random terrain tile, the tile-properties shown were wrong (e.g. land tiles were shown as Ocean, or vice versa).

What was weird was that this only seemed to happen when I demanded Cirta. When I reloaded the turn from the autosave, replayed that turn's moves, and then opened the diplomatic contact and offered a PT in exchange for only Shaka's WMap + 6g, everything worked as expected (but I really wanted/ needed Cirta back as well!).

I also tried reloading/replaying using the unmodded Firaxis .exe, and again, the game locked up with the town-demand. So I was unfortunately forced to conclude that something was going/ had gone bad in the save, and abandoned that game.

@Flintlock: I made a manual save directly after reloading the autosave, if you want to see it? (It's on the no-longer-internet-safe WinXP laptop right now: I will have to copy it across to this machine to upload it)
 
Interesting, I've never heard of anything like that before.
@Flintlock: I made a manual save directly after reloading the autosave, if you want to see it? (It's on the no-longer-internet-safe WinXP laptop right now: I will have to copy it across to this machine to upload it)
Yes, I would like to see it. I'll take a look under the hood to hopefully figure out what's going on. Even if it's not a bug with C3X it might be a bug in the base game I can fix. Although I'll caution that memory corruption bugs like this can be very difficult to track down, crashes are in general easier.
 
Yes, I would like to see it. I'll take a look under the hood to hopefully figure out what's going on. Even if it's not a bug with C3X it might be a bug in the base game I can fix. Although I'll caution that memory corruption bugs like this can be very difficult to track down, crashes are in general easier.
OK, this is puzzling.

I have attached 3 manual saves to this post. The first is the post-autosave that was giving me the crash on the laptop.

Just out of curiosity, I tried booting up that save on this machine, made all my moves, and resaved.

Then I went to Diplomacy, and this time everything worked as hoped! I made a third save after regaining Cirta.
 

Attachments

For me that second save does freeze up once I ask for a peace treaty including a handing over of Cirta. I only tried the GOG Complete version and tried with and without C3X, which didn't make a difference. Also I tried running the game in a debugger but the debugger never triggered, which is expected since the game doesn't actually crash it just breaks internally. Still unfortunate since triggering the debugger would make the error much easier to find.

I noticed that at the same time it freezes it plays the sound effect like it's trying to open a popup. So my first guess as to what's wrong is: the game transfers ownership of the city, does some economic calculations that trigger a popup, then the interface breaks because popups can't appear while the diplo screen is open. It is very mysterious though that the freeze was triggered on one machine but not another.
 
The next game I started after dropping this one also started locking up about 200(?) turns in — not during diplomacy this time, but pretty much as soon as I tried to load my most recent save ("Civ 3 has encountered a problem and needs to close").

But that problem went away after I restarted the machine.

(WinXP takes so 'long' to start, I now habitually put the laptop into sleep-mode between sessions, rather than shutting it down completely).

And having confirmed that the original Carthage save (i.e. from just after the autosave) was not corrupted, I then tried it again on the laptop, and this time everything worked properly.

I also forgot to mention, I had CAII running on the laptop at the time I got the crashes, and I tend to leave it running when I put the laptop to sleep.

Soo... maybe some kind of processing memory problem, which was resolved by the restart? :dunno:
 
If you run Win XP, then you probably do it on hardware many years old. It is quite possible that hardware degradation turned a formerly perfectly stable system into a less stable one.
 
if you think there’s something the matter with that laptop, want XP on new hardware you can purchase XP installed and working on a new computer here
https://nixsys.com/products/legacy-computers/windows-xp-computers
Might be very useful if you also like to play around with Civ 2 and Fantastic Worlds

Other than that you can search around and see what computers currently on the market can take an XP install
 
Anytips for a first time user? Installed last night and got for example detailed build que information but no stacking functionality. Have tried both controls no visual change and no stack function. Installed with the .bat and didn't seem to have any issues.
 
Did you hold the control key down? It should then show multiple symbols for stacking worker functions. IOW instead of one button for worker irrigation, it shows 3 or 4 symbols stacked.
 
Yes, holding control, tried tapping, keeping down, etc. No visual change or function.\


Edit: Opened it up in a singleplayer and it's working now. Was using it multiplayer with a friend who also just installed the mod here.
 
The next game I started after dropping this one also started locking up about 200(?) turns in — not during diplomacy this time, but pretty much as soon as I tried to load my most recent save ("Civ 3 has encountered a problem and needs to close").
But that problem went away after I restarted the machine.
For me too the game occasionally crashes when I'm loading a save or scenario but retrying has always fixed it. Civ 3 is just unstable in general. I can fix predictable crashes, or at least try, but I can't do anything about the rare & random ones. Still it's strange that restarting your computer fixed the diplo UI freeze from that save you posted. I retried it on my end after restarting my machine and got the freeze again. Since it's reproducible it's at least something I can investigate, if I ever get around to it.
Edit: Opened it up in a singleplayer and it's working now. Was using it multiplayer with a friend who also just installed the mod here.
That explains it. Many mod features are disabled in multiplayer because I didn't think they would work based on what I saw in the decompiled code. Stack bombard and some stack unit actions I'm sure wouldn't work, for the stack worker actions I'm not sure but I disabled them just in case.
 
Hi.
I don't wish to impose, but there are 2 unmentioned bugs may you may want to take a look. I suspect the first is easier than the second:
- War weariness, battle WW in particular. Currently the human gets the correct amount, but not the AI. In human-AI wars the AI gets the WW of the human, while in AI-AI wars both AIs get the WW of the player higher in the player order. (player 3 vs player 5; both get the WW of player 3). Human vs human works, I think.
- The "maximum hypertext links exceeded" bug. If there's a large enough amount of units/buildings that require a resource, the civilopedia entry for said resource breaks. The first step is to just pop a warning for every instance above the limit (over 50 pop-ups are possible, unsure of actual limit) and inability of continuing in the game until all pop-ups are addressed. A large enough amount crashes the game. I believe the limit is 39-40 per page before it happens.
While I do not know where in the code to look, I found a post from 2009 than partially addresses the MHLE issue by editing the exe with notepad++.
https://forums.civfanatics.com/threads/hyperlink-limit-exceeded-bug-fix.307663/
 
Back
Top Bottom