Bug Reports and Technical Issues

I thought the Chinese UP was changed to Invention and then to Mandate of Heaven, why am I still seeing Myriads?
Got the latest version from github.
Also, the 600ad map file has been broken for several months, have to make a blank map file and copy paste from the RAW version on github.
 
I thought the Chinese UP was changed to Invention and then to Mandate of Heaven, why am I still seeing Myriads?
Got the latest version from github.
There's a new effect that is also called Myriads.

Also, the 600ad map file has been broken for several months, have to make a blank map file and copy paste from the RAW version on github.
Have you downloaded the mod as a ZIP?
 
Oh, so that was working as intended.
I read the changelog and when I looked into the game, I was like, WTH?
I still feel like what China needs is a bit of early-game economy or happiness boost, cos they already have a ton of food resources.

And yes, I downloaded it in zip file.
 
Oh, so that was working as intended.
I read the changelog and when I looked into the game, I was like, WTH?
I still feel like what China needs is a bit of early-game economy or happiness boost, cos they already have a ton of food resources.
Yes, only changes until the last release are documented in the changelog, everything that happened in git since then usually isn't.

And yes, I downloaded it in zip file.
That's an issue with how Github does zip downloads and unfortunately not something I can fix. A solution is described in the FAQ in the OP which might be easier to handle than yours.
 
Hi, let me start with saying that I used to play Reality Invictus a lot. After I had to reinstall my entire rig, I recently only played CivIV BTS in the vanilla-most manner:
- Clean Operating System that is actually used for nothing else, gaming-wise.
- Steam installation, BTS installation, starting RFC, and up-and-at-'em.

Having heard all the great stuff about DoC, I now decided to give it a try.

Spoiler First try to install with default installer :

I first just ran the Installer with default settings, but I realized too late that it was the wrong path:
C:\Mods\RFC Dawn of Civilization
is the wrong one for sure. I moved the already installed files to the correct location:
C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization
then I started the normal CivIV app and tried to locate DoC among the scenarios - it wasn't there.

I moved the installed files back to the C:\Mods\... folder, then successfully uninstalled the Mod on first try.
Spoiler Second try... :

On my next try, I ran the Installer with the correct path (see above), but it prompted a seemingly serious warning at one point:
[WARN Error]
C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\russia\russian general (medieval)\slavicrussionshieldreverseteardropwboss6gloss.dds
An error occured while trying to rename a file in the destination directory: MoveFile failed; code 3. The System cannot find the stated path.
[Abort]/[Retry]/[Ignore (not recomm.)]

Because retry didn't help; I decided to ignore, but had the same issue with more files:
- C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\tamils\dravidian heavy footman\indiancholaheavyinfantrymanpaddedjacketgloss_128.dds
- C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\tamils\dravidian pikeman\indiancholamediuminfantrycommonturbanpaddedarmor_128.dds
- C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\tamils\dravidian war elephant\indianwarelephantlaterhowdahwoodleatherbox_256.dds
- C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\viking heavy cavalry unarmored horse\vikingheavycavalryunarmoredhorse.nif
- C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\[air]\[heli]\eurocopter tiger\camo1\tiger_md_damage_gunshiptexture_damtexture1.kf
[as above but with] ...e_damtexture2.kf ; ...e_damtexture3.kf ; ...e_damtexture4.kf ;
[as above but with] ...tiger\camo2\tiger... ...tiger\camo3\tiger... ...tiger\camo4\tiger... ...tiger\camo5\tiger... ...tiger\camo6\tiger... ...tiger\camo7\tiger... ...tiger\camo8\tiger... [each of these in the 1-4.kf instances]
[as above but with] ...\eurocopter tiger\french\tiger_md_dam... ...tiger\german\tiger... [each of these in the 1-4.kf instances]
[as above but with] ...\german\tiger_md_damage_tanktexture_damtexture1.kf [2-4.kf]
[as above but with] ...\leopard\tiger_md_damage_gunshiptexture_damtexture1.kf [2-4.kf ; also with ...tanktexture... again]
- C:\Program Files (x86)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\[naval]\graf spee pocketbattleship\battleship_md_damage_boat_texture_damtexture1.kf [also 2-4.kf]
[as above but with] ...battleship_md_damage_bodygeometry_dam geometry1.kf [also 2-4.kf]

As it became tiring, I noted that the problems continued with some german and italian submarines, some heavy tanks (pzkpfw_vii_koenigstiger\kingtiger) and cars (rollsroyce armoredcar).

Note: These problems only showed up, when I installed in the proper folder in the steamapps directory; not when the installer unpacked into C:\Mods\...
My assumption is that the problem lies in the length of these filenames. If all the other paths are shorter, you should aim to rename the longest ones. I hope it's that easy...

By now, I had installed and uninstalled the Mod several times (at first try, I aborted installation when the filepath error came, but I couldn't think of another workaround). The first full install where I really ignored all the "Error" Warnings about the Varietas Delectat however; the uninstall routine wouldn't clear out all files in the Assets folder, e.g.:
- ...\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\[air]\amiot350 bomber\amiot350.dds
- ...\Mods\RFC Dawn of Civilization\Assets\Modules\Varietas Delectat\Art\Units\africa\ceo\logos\ceo_cereal_fx.nif
- ... (those were not all, but it was no bother: I deleted them by hand)
Spoiler Final success still had some hoops, though :
So, after all these errors with Varietas Delectat, I decided to leave VD out, and only install the rest of the components.
Yet, I had more (little) problems:
The shortcut that the installer creates, doesn't work properly, because for whatever reason, it links to the following path:
- C:\Civ4BeyondSword.exe mod=\RFC Dawn of Civilization
I had made sure I installed in the proper steamapps folder this time!

Instead of using the useless shortcut I just started CivIV normally, then selected "load a mod" under the "advanced" heading.
"RFC Dawn of Civilization" showed up alright!
I loaded the mod... but the intro screen didn't look like the RFC mod, but like the BtS vanilla.
I found this post however, and copied the entire content of the Mods\RFC-DoC folder into my C:\Users\<Username>\Documents\My Games\beyond the sword\MODS\ folder.

I hope that Leoreth (or other supporters) can find out what went wrong there and have an installer without these issues in the next release? Or at least have a guide that mentions it?

Afterwards, I could finally start my first DoC game; my first try were the Harappans, and it was a neat experience. So, um, thanks. :goodjob:
 
Hey, thanks for giving the mod a try and for the detailed feedback. Nice to hear people are saying great stuff about the mod.

Sorry you ran into these issues though. It is an unfortunate combination of the long directory path of the Steam installation and the length of the file names of some Varietas Delectat art files. In some cases, those combine to exceed the maximal number of characters in a path that are allowed in Windows, creating these errors. In general, it means that some unit art for some units of a civ may be missing, but everything else should work normally. Alternatively, you can also not install the Varietas Delectat module at all. It's not really a problem with the installer but the files being installed, and it's quite a hassle to change all of them while keeping everything working.

I'll look into a different solution, but glad you figured things out and got to play at least.
 
Okay, can someone try this?

Go here and download the Virtual Subst utility, unpack anywhere and run VSubst.exe. This tool will create a new virtual drive in your system that represents a directory in a real drive. Select the "Beyond the Sword" directory (where Civ4BeyondSword.exe is located) in the text box and any letter for the new drive (let's say it's A: ), and check "Apply virtual drives on Windows startup". Then click create. "A" should now be a new drive in your system that leads to your "Beyond the Sword" directory. Now try to install the mod again but make sure to use A:\Mods\ instead of the "real" path. If this works there should be plenty of path length left to create all files.

The tool works for me (Windows 7) but because I'm not using Steam, I cannot verify if that actually solves the issue. I would appreciate if someone checked for me.
 
A very minor bugfix for you:

Some civs never get a golden age for achieving 2/3 victory conditions. Specifically, if you achieve your final two UHV conditions simultaneously, you don't get a golden age. Within the context of achieving a UHV within RFC this is not an issue - clearly you were able to win without the GA so where's the beef? But a lot of us like to play on after winning, and there's also a nice feeling of achievement in seeing "The X Golden Age has begun!" pop up even if you've just won a UHV victory.

The issue is "countAchievedGoals==2" in Victory.py>checkHistoricalVictory:
Code:
def checkHistoricalVictory(iPlayer):
    pPlayer = gc.getPlayer(iPlayer)
 
    if not data.players[iPlayer].bHistoricalGoldenAge:
        if countAchievedGoals(iPlayer) == 2:
   
            data.players[iPlayer].bHistoricalGoldenAge = True

The solution is to replace the "==" with ">=":
Code:
def checkHistoricalVictory(iPlayer):
    pPlayer = gc.getPlayer(iPlayer)
 
    if not data.players[iPlayer].bHistoricalGoldenAge:
        if countAchievedGoals(iPlayer) >= 2:
   
            data.players[iPlayer].bHistoricalGoldenAge = True

This miniscule change has no affect on gameplay since it only takes effect when you are entitled to a golden age anyway, but it does mean that when you have achieved 2 or more of the UHV conditions then you will always get your lovely Golden Age. Since you only get the golden age if bHistoricalGoldenAge is not True, if you did get a 2/3 golden age then it won't fire again at 3/3.

Edited to add: You won't get the diplomatic -2 AI attitude hit if you leave the second "if countAchievedGoals(iPlayer) == 2:" line untouched further down in the procedure. Strictly speaking however both lines should be changed to ">=". Me? I didn't bother with the second line. :lol:

Edited (again) to add: BONUS - RFCEurope already has this fix but the original RFC can be fixed the same way in Victory.py>checkPlayerTurn:
Code:
                #generic checks
                pPlayer = gc.getPlayer(iPlayer)
                if (pPlayer.isAlive() and iPlayer < iNumMajorPlayers):
                   
                        if (self.get2OutOf3(iPlayer) == False):                            
                                if (utils.countAchievedGoals(iPlayer) == 2):

Code:
                #generic checks
                pPlayer = gc.getPlayer(iPlayer)
                if (pPlayer.isAlive() and iPlayer < iNumMajorPlayers):
                   
                        if (self.get2OutOf3(iPlayer) == False):                            
                                if (utils.countAchievedGoals(iPlayer) >= 2):
 
Last edited:
Sorry to seem impatient, Mr. Leoreth, but I implore you to assist me with my issue previously reported. I actually stopped running into the crash, until the 1700s. That's when all games "end" for me, and that's only for DoC, because there is an unavoidable crash at that time period. Just so you know, I've had the Civ4 exe large address aware for a while now. I've tried lowering settings, but it still crashes every two turns, when I press ENTER. You don't need to figure out if my issue is specific to me or not, just please tell me of any generic fixes for this type of problem.
 
The only other advice I can give you is to play without VD if you aren't doing so already, and to limit the number of other applications running in the background.
 
A very minor bugfix for you:

Some civs never get a golden age for achieving 2/3 victory conditions. Specifically, if you achieve your final two UHV conditions simultaneously, you don't get a golden age. Within the context of achieving a UHV within RFC this is not an issue - clearly you were able to win without the GA so where's the beef? But a lot of us like to play on after winning, and there's also a nice feeling of achievement in seeing "The X Golden Age has begun!" pop up even if you've just won a UHV victory.

The issue is "countAchievedGoals==2" in Victory.py>checkHistoricalVictory:
Code:
def checkHistoricalVictory(iPlayer):
    pPlayer = gc.getPlayer(iPlayer)
 
    if not data.players[iPlayer].bHistoricalGoldenAge:
        if countAchievedGoals(iPlayer) == 2:
  
            data.players[iPlayer].bHistoricalGoldenAge = True

The solution is to replace the "==" with ">=":
Code:
def checkHistoricalVictory(iPlayer):
    pPlayer = gc.getPlayer(iPlayer)
 
    if not data.players[iPlayer].bHistoricalGoldenAge:
        if countAchievedGoals(iPlayer) >= 2:
  
            data.players[iPlayer].bHistoricalGoldenAge = True

This miniscule change has no affect on gameplay since it only takes effect when you are entitled to a golden age anyway, but it does mean that when you have achieved 2 or more of the UHV conditions then you will always get your lovely Golden Age. Since you only get the golden age if bHistoricalGoldenAge is not True, if you did get a 2/3 golden age then it won't fire again at 3/3.

Edited to add: You won't get the diplomatic -2 AI attitude hit if you leave the second "if countAchievedGoals(iPlayer) == 2:" line untouched further down in the procedure. Strictly speaking however both lines should be changed to ">=". Me? I didn't bother with the second line. :lol:

Edited (again) to add: BONUS - RFCEurope already has this fix but the original RFC can be fixed the same way in Victory.py>checkPlayerTurn:
Code:
                #generic checks
                pPlayer = gc.getPlayer(iPlayer)
                if (pPlayer.isAlive() and iPlayer < iNumMajorPlayers):
                  
                        if (self.get2OutOf3(iPlayer) == False):                           
                                if (utils.countAchievedGoals(iPlayer) == 2):

Code:
                #generic checks
                pPlayer = gc.getPlayer(iPlayer)
                if (pPlayer.isAlive() and iPlayer < iNumMajorPlayers):
                  
                        if (self.get2OutOf3(iPlayer) == False):                           
                                if (utils.countAchievedGoals(iPlayer) >= 2):
Thanks for the proposal, looks like this is an inherited bug from RFC. I have made a note to fix it.
 
Okay, can someone try this?

Hello, someone :crazyeye: tried this, because someone felt obliged and had a mostly clean setup anyway.

Someone ran the VSub and created A: and tested this virtual drive: It links perfectly to the right folder when selecting it in the folder explorer.

Then, someone ran the install with all components, using the following path: A:\Mods\RFC Dawn of Civilization
However:
Spoiler Warn: Error :
The drive or UNC share you selected does not exist or is not accessible. Please select another.


Just to be thorough, someone removed the A: link and created Q: instead, tried to install there. Nope.
When someone used the "Browse" button after pasting the path, the system doesn't even recognize the Q: drive, only finds C:, D: and E: (Screenshot)

Someone has a Win10, 32bit system (preferred was the good old Win7 64bit, which is currently broken), so maybe that's part of the issue and, ahem, someone else™ could try it as well.

Thanks for the other tip, so far, I can play without VD, no problem! I hope my setup is only temporary anyway.
 

Attachments

  • BrowseDoesntWork.PNG
    BrowseDoesntWork.PNG
    10.4 KB · Views: 192
Too bad it didn't work for someone, it was worth trying. More feedback on different operating systems is welcome.
 
Ah, I have another case of the crash. This time as Greece, pressing ENTER on BC 325. This is my latest save. (I cheat.)
I tried looking into this save. The problem with it is that if a save with a completed turn (i.e. end turn button is red) immediately ends the turn when loaded, so I run into a crash right away. The "good" news is that the crash looks like it is not because of your system, but with this I cannot further debug it.
 
Also, I can't find my old post describing a similar issue with era-defined unit graphics: The musical fanfare you hear when a unit wins or loses a fight is also supposed to change with the era. Due to the extra eras defined for some civilizations' music themes, it seems the code miscalculates which eras use which tune, so this sound doesn't upgrade properly either, so one only hears the modern victory/defeat tune in the digital era.
The code that does this is really straightforward, I have no idea where it could go wrong. Does anyone else have this problem? Is it with VD?
 
don't know if this is a bug or maybe i'm not getting some concept of the mod...i was trying to build parthenon with japan, every other classical civ seems to be collapsed and it was not built yet in 530 AD, so i switched to shinto and started building it in Edo (cause i didn't have buddhism spread there), but suddenly by 700 AD or something it becomes impossible to build, it even disappear from the buildings in the city list. So i tried a couple of times, then i checked and nobody have built it (neither i had buddhism spread in edo to kickoff shinto)
 
don't know if this is a bug or maybe i'm not getting some concept of the mod...i was trying to build parthenon with japan, every other classical civ seems to be collapsed and it was not built yet in 530 AD, so i switched to shinto and started building it in Edo (cause i didn't have buddhism spread there), but suddenly by 700 AD or something it becomes impossible to build, it even disappear from the buildings in the city list. So i tried a couple of times, then i checked and nobody have built it (neither i had buddhism spread in edo to kickoff shinto)
Anyone researching a tech that obsoletes a wonder obsoletes it for everyone.
 
Back
Top Bottom