1. Firaxis celebrates the "Asian American and Pacific Islander Heritage Month", and offers a give-away of a Civ6 anthology copy (5 in total)! For all the details, please check the thread here. .
    Dismiss Notice
  2. Old World has finally been released on GOG and Steam, besides also being available in the Epic store . Come to our Old World forum and discuss with us!
    Dismiss Notice

Sub Bug Fix and other Adventures in EXE Modding Release 10B

EXE mod featuring stack bombard, bug fixes, and more

  1. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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 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.
    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.
     
  2. vmxa

    vmxa Deity Supporter

    Joined:
    Feb 9, 2004
    Messages:
    14,049
    Location:
    Oviedo, Fl
    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.
     
  3. Lord Malbeth

    Lord Malbeth Emperor

    Joined:
    Feb 28, 2006
    Messages:
    1,854
    Location:
    Tower of Fornost
    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: Dec 3, 2021
  4. Node60

    Node60 Prince

    Joined:
    May 27, 2015
    Messages:
    329
    Location:
    West Siberia
    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.
     
  5. justanick

    justanick Emperor

    Joined:
    Oct 6, 2010
    Messages:
    1,278
    Location:
    Germany
    Similar is true for elimination(?) as in the Fall of Rome scenario. A warning popup before such a critical attack might be convenient.
     
  6. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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.
    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.
    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.
     
    Sutsuj likes this.
  7. SteamCiv

    SteamCiv Warlord

    Joined:
    May 18, 2012
    Messages:
    131
    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: Dec 5, 2021
  8. tjs282

    tjs282 Stone \ Cold / Fish

    Joined:
    May 19, 2009
    Messages:
    4,193
    Gender:
    Male
    Location:
    Inside my skull
    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)
     
  9. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    Interesting, I've never heard of anything like that before.
    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.
     
  10. Sutsuj

    Sutsuj Chieftain

    Joined:
    Apr 30, 2020
    Messages:
    18
  11. tjs282

    tjs282 Stone \ Cold / Fish

    Joined:
    May 19, 2009
    Messages:
    4,193
    Gender:
    Male
    Location:
    Inside my skull
    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.
     
  12. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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.
     
  13. tjs282

    tjs282 Stone \ Cold / Fish

    Joined:
    May 19, 2009
    Messages:
    4,193
    Gender:
    Male
    Location:
    Inside my skull
    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:
     
  14. justanick

    justanick Emperor

    Joined:
    Oct 6, 2010
    Messages:
    1,278
    Location:
    Germany
    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.
     
  15. SteamCiv

    SteamCiv Warlord

    Joined:
    May 18, 2012
    Messages:
    131
    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
     
  16. RealSamHours

    RealSamHours Chieftain

    Joined:
    Dec 11, 2021
    Messages:
    2
    Gender:
    Male
    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.
     
  17. vmxa

    vmxa Deity Supporter

    Joined:
    Feb 9, 2004
    Messages:
    14,049
    Location:
    Oviedo, Fl
    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.
     
  18. RealSamHours

    RealSamHours Chieftain

    Joined:
    Dec 11, 2021
    Messages:
    2
    Gender:
    Male
    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.
     
  19. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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.
    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.
     
  20. Arcangelus

    Arcangelus Chieftain

    Joined:
    Jun 7, 2016
    Messages:
    34
    Location:
    Chile
    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/
     

Share This Page