Bug Reports

I have been testing develop branch for a little, and I have come to several issues I want to report.

First, I come up with these bugs, after very few turns after customizing my game:

Spoiler :

Assert Failed

File: CvUnit.cpp
Line: 1253
Expression: pCity != NULL
Message:
___________________________________________

Assert Failed

File: CvGlobals.cpp
Line: 3808
Expression: strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message: info type PROFESSION_PIONEER not found, Current XML file is: xml\Units/CIV4FormationInfos.xml


Then, at a point when I saved, the game halted and after accessing Windows with the task manager, the game crashed.When I tried to reload the game, the savegames didn’t work. The most recent savegames crashed. In fact, I attach the last workable save game.

From now on I may be less active in the forums due to family holiday requests. ;)

The Unit issue was probably because you lost a none combat unit to a Barbarian or Animal when you had no cities. Not sure about the second issue. I don't do custom games when coding, as custom games can introduce bugs from selecting the different configs, so I use the quick start so I get the same settings every time. After we get that stable then we can test the custom game settings.

Thanks for testing things out. I will be going on a ten day vacation myself this sat.
 
I wanted to test Develop Branch, “Delayed diplomatic response and trade relations” version, but just after mod loading, it welcomes me with this error (see image) and then a series of bugs:

Spoiler :

Assert Failed
File: CvXMLLoadUtilitySet.cpp
Line: 89
Expression: result == files.checksum
Message: Calculated checksum: 2073fd076f9bbdb96c3a451b94b2aa18
_____
Assert Failed
File: CvGlobals.cpp
Line: 4232
Expression: GC.getMemoryInfo().size() == NUM_MEMORY_TYPES
Message: XML error. Expected 26 types, but found 27
_____
Assert Failed
File: CvGlobals.cpp
Line: 3808
Expression: strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message: info type CONTACT_TRADE_RELATIONS not found, Current XML file is: xml\Civilizations/CIV4LeaderHeadInfos.xml


And then more error messages until the mod crashes to desktop.

You are the magicians, but it looks like either when you change one file in xml and not the others related to it, or that I am not confident enough when merging branches.

Not tried Kailric’s latest patch yet.

Edit: If what is left is just an xml file, please attach it here not to do the whole process again; otherwise I'll gladly pull and compile once more.
 

Attachments

  • error.jpg
    error.jpg
    31.4 KB · Views: 54
Nightinggale has combined all the latest development into develop branch. As before, you have to change to develop branch on all submodules. Remember the screen shot I posted? You have to pull each submodule and merge the changes. And then you have to rebuild the dll. Only then will it work.

I am gone from home for a while so I can not check this myself. Perhaps we can figure out a simple solution where we can just pull one mod folder for testing development.

Also, the develop branch is completely separate from the Official Alpha download with the patch. So, do not use the patch on develop branch. Unless you get comfortable swapping branches you could have issues attempting to test the latest alpha and develop branch as they are both named the same.
 
I have finally been testing develop branch. I hope not to forget to adjust every folder go develop again before pulling the new changes. This time I am testing using the “Play now” option and not customizing games.

I have encountered a series of bug reports. I think I have observed that the first one of them occurs immediately previous to the “Tutorial Sid Tip” regarding workers, which is normally preceded by the “Tutorial Sid Tip” regarding peddlers. Both tips usually go in a row of them two.
I can't tell any details regarding the last to error reports.

Spoiler :

Assert Failed

File: CvGlobals.cpp
Line: 3808
Expression: strcmp(szType, "NONE")==0 || strcmp(szType, "")==0
Message: info type PROFESSION_PIONEER not found, Current XML file is: xml\GameInfo/CIV4GameFontInfos.xml
----------------------------------------------------------
Assert Failed

File: CvUnit.cpp
Line: 6597
Expression: kCity.foodDifference() < 0
Message:
----------------------------------------------------------
Assert Failed

File: c:\documents and settings\administrator\my documents\medieval_conquest\sourcedll\dll_sources\CvPlayerAI.h
Line: 25
Expression: ePlayer < MAX_PLAYERS
Message: Player is not assigned a valid value


Again I’m having serious troubles with the save games. Latter save games seem to be corrupt and I can’t load them. I must do a trick to be able to load, which is loading an older save game first and then I am able to load the latest save game. Sometimes, the oldest save game I am able to load is the initial one.

Regarding the delayed response, It happened to me that the open scroll with the feather icon that represents the delayed response once appeared without any foreign king contact, and I couldn’t press it and therefore I couldn’t end the turn. I provide a save game with this issue, but I haven’t been able to provide a save game before the issue, because at about that time I adjusted the auto savs to be generated every turn up to 10 of them, that mixed up with the impossibility to load save games. Now I am ready to catch it if I can reproduce the situation.

One minor bug I think is just xml and I even could fix is the fact that when you discover Manorerism you do get the free Manor in every city in that moment and not when changing to that civic as it should be.

Regarding to civics, the starting ones are extremely powerful regarding new born population from food. I am speaking from memory, but if you change to the first civic you get slaves from food. Then with the next civic you get another weak citizen. Not until you discover the last civic of the first section that you can grow citizens. Therefore, it is sometimes much better to stick to the starting civic and grow citizens.

Another issue that I never find the time to tell you is something that is not a bug and it could even be part of the gameplay, but it keeps annoying me. And it is the fact that when a marauder visits around your cities, they disrupt your working scheme and it never goes back as before. So an ore miner being disturbed by a marauder one turn, he goes church to pray (Awesomely real in those ages) but when the hill is free next turn, the citizen doesn’t get down to the mine again. When I discover him, I have lost tones of ore. I reckon there are more important things to get working first.
 

Attachments

Message: info type PROFESSION_PIONEER not found, Current XML file is: xml\GameInfo/CIV4GameFontInfos.xml
Two comments on this.
  1. xml\GameInfo/CIV4GameFontInfos.xml is the last XML read. This mean the assert actually takes place after reading XML files, not during reading it as the text indicates. The assert text could be improved to make this clear.
  2. The only PROFESSION_PIONEER I can find is two cases in Python/EntryPoints/CvRandomEventInterface.py.
    It should likely look for professions the AI treat as pioneers instead of using a hardcoded tag name.

I can't say much about the next two asserts from the assert messages themselves. Those are pending investigation.

I don't know why it would fail to load savegames, but if you can load an earlier one and then a later one, it indicates that there is an issue in CvPlayer. Actually make that two as you get data from the first loaded game into the next. This mean something isn't reset.

Regarding the delayed response, It happened to me that the open scroll with the feather icon that represents the delayed response once appeared without any foreign king contact, and I couldn’t press it and therefore I couldn’t end the turn. I provide a save game with this issue, but I haven’t been able to provide a save game before the issue, because at about that time I adjusted the auto savs to be generated every turn up to 10 of them, that mixed up with the impossibility to load save games. Now I am ready to catch it if I can reproduce the situation.
Kailric: you have just been caught red handed in not using generic coding. Clearly some parts of the code says there is a message and some parts don't meaning you have more than one way to check if there is any. On top of that they disagree on the answer.

One minor bug I think is just xml and I even could fix is the fact that when you discover Manorerism you do get the free Manor in every city in that moment and not when changing to that civic as it should be.
That should be a simple change. It is a question of which civic provides a free building. However the question is what happens if you change away from a civic, which provided you with a free building? Will it work as intended in all cases?

Regarding to civics, the starting ones are extremely powerful regarding new born population from food. I am speaking from memory, but if you change to the first civic you get slaves from food. Then with the next civic you get another weak citizen. Not until you discover the last civic of the first section that you can grow citizens. Therefore, it is sometimes much better to stick to the starting civic and grow citizens.

Another issue that I never find the time to tell you is something that is not a bug and it could even be part of the gameplay, but it keeps annoying me. And it is the fact that when a marauder visits around your cities, they disrupt your working scheme and it never goes back as before. So an ore miner being disturbed by a marauder one turn, he goes church to pray (Awesomely real in those ages) but when the hill is free next turn, the citizen doesn’t get down to the mine again. When I discover him, I have lost tones of ore. I reckon there are more important things to get working first.
Vanilla issue and it has annoyed me too.

Brainstorming on a solution would be something like:
-When removing unit from working the plot and the unit has the lock on, store plot and profession in the unit
-Unlocked units tries to find the best profession each turn. Before that, check if there is a plot stored and goto that plot if possible.
-Clear stored plot and profession when player assigns something to the unit

TODO: Figure out what to do if plot improvement is destroyed.
 
Did you ever investigate the save game bug Night? Anyway, I had made Manorial Civic add and then remove Manors, and took away the free Manors with the tech. I should have pushed those changes before I left. I tested it some and it seemed to work just fine. The current develop branch is by no means stable it and will be a few days yet till I can tinker with it more.
 
I just encountered a CTD with the m_ppiImprovementYieldChange array when loading a saved game. m_ppiImprovementYieldChange was Null thus caused the crash. The calculatePotentialYield function was called from updateYield which started in the processingBuilding function.. I am guessing that these lines of code are called before the processCivicNotSaved, which should have set up the array. I can push my latest changes and post a saved game if needed.
 
I can push my latest changes and post a saved game if needed.
It would be nice if you push your work just a little more often. You write about what you do, but I have no way of looking at what you actually do, which affects the quality of feedback.

If the memory isn't allocated when it should be used, then I screwed up (or you modified the code). Either way it would be interesting to see how it fails and hopefully I can figure out a way to get it reliable.
 
It would be nice if you push your work just a little more often. You write about what you do, but I have no way of looking at what you actually do, which affects the quality of feedback.

If the memory isn't allocated when it should be used, then I screwed up (or you modified the code). Either way it would be interesting to see how it fails and hopefully I can figure out a way to get it reliable.

Well, lately I have done more talking than coding and as always I don't want to push broken code. Right now I am tying to push but getting that same Gamefont and Fullerene error I posted before. I am going to try and repull those two and see what happens. Don't know why it would be interfering with me Pushing a new branch.
 
First of all, these aren't exactly bugs. At least not with the mod itself.

I get a crash to desktop when I try to play with the fairweather script in 2.5.4.2
This occurs on two separate computers, so I think something about it is just broken.
If it is working for others, please let me know which logs might be helpful in identifying the problem, because I can't seem to find anything, but I'm not sure what I'm looking for.

Secondly, I was able to get the IceAge mapscipt that someone converted for C4C to work, but I notice that, similar to what I often experienced with the fairweather script some time ago, a number of the playable factions tend to spawn right on top of each other. I don't think it happens always, but the simple fact that it happens at all seems to indicate that something isn't quite right, perhaps with the starting plot finder.

Finally, please get someone to make some more mapscripts that are less C4C and more Civ4-like. I find the default mapscript simply atrocious, especially for this mods theme, not to mention that the scale feels quite crammed. Even gigantic maps seem to generate fairly small land masses.

Personally, I'd be happy with a scaled up fairweather that was more square than strip (which I think I was able modify myself, originally), however, I think something like Pangea or Terra would make for a much better default script for this mod. Although maybe the default script wouldn't be so bad if it were 2-3x wider. Hard to say.
 
First of all, these aren't exactly bugs. At least not with the mod itself.

I get a crash to desktop when I try to play with the fairweather script in 2.5.4.2
This occurs on two separate computers, so I think something about it is just broken.
If it is working for others, please let me know which logs might be helpful in identifying the problem, because I can't seem to find anything, but I'm not sure what I'm looking for.

Secondly, I was able to get the IceAge mapscipt that someone converted for C4C to work, but I notice that, similar to what I often experienced with the fairweather script some time ago, a number of the playable factions tend to spawn right on top of each other. I don't think it happens always, but the simple fact that it happens at all seems to indicate that something isn't quite right, perhaps with the starting plot finder.

Finally, please get someone to make some more mapscripts that are less C4C and more Civ4-like. I find the default mapscript simply atrocious, especially for this mods theme, not to mention that the scale feels quite crammed. Even gigantic maps seem to generate fairly small land masses.

Personally, I'd be happy with a scaled up fairweather that was more square than strip (which I think I was able modify myself, originally), however, I think something like Pangea or Terra would make for a much better default script for this mod. Although maybe the default script wouldn't be so bad if it were 2-3x wider. Hard to say.

Are you using the unchanged versions of the fairweather map? We have a modified version that works with M:C, or at least use too. You have to use the maps supplied for this mod as there are extensive changes that are designed to only work with these maps.

http://forums.civfanatics.com/showthread.php?t=504145

I just encountered a CTD with the m_ppiImprovementYieldChange array when loading a saved game. m_ppiImprovementYieldChange was Null thus caused the crash. The calculatePotentialYield function was called from updateYield which started in the processingBuilding function.. I am guessing that these lines of code are called before the processCivicNotSaved, which should have set up the array. I can push my latest changes and post a saved game if needed.

@Nightinggale, have you been able to look into this bug yet?
 
Are you using the unchanged versions of the fairweather map? We have a modified version that works with M:C, or at least use too. You have to use the maps supplied for this mod as there are extensive changes that are designed to only work with these maps.
Yes, I am using those maps because they are included with the complete download version 2.5. The link is a bit redundant because they are included in the package.

I did get the IceAge script from here running just fine without any changes.

I gave the unmodified fairweather script a try, but it had the same results.

I ran the medieval_fairweather script again to try and get some fresh logs to post, but I swear they were the same logs as before, so I loaded colonization.exe with administrative permissions and the medieval_fairweather script worked! Unfortunately, I went back and tried it again, with the usual result.

I've attached all the c4c logs, and a copy of the windows error, which is:
Code:
Faulting application name: Colonization.exe, version: 1.0.0.1, time stamp: 0x53869b24
Faulting module name: CvGameCoreDLL.dll, version: 0.0.0.0, time stamp: 0x53ad60cb
Exception code: 0xc0000005
Fault offset: 0x00137712
Faulting process id: 0xe28
Faulting application start time: 0x01cfd0b26d223155
Faulting application path: C:\Steam\steamapps\common\Civilization IV Colonization\Colonization.exe
Faulting module path: C:\Steam\steamapps\common\Civilization IV Colonization\Mods\Medieval_Conquest\Assets\CvGameCoreDLL.dll
Report Id: e33b48d1-3ca5-11e4-bd05-003067075cf0

I would really like to know if it actually works for anyone.
I hope we can figure this out. I feel like RaR+fairweather has spoiled me on the vanilla fractal based generation.
 

Attachments

@Nightinggale, have you been able to look into this bug yet?
I know precisely what goes wrong and made a proof of concept, which works. I have a plan for how to implement the fix with nice and reusable code where future similar issues can be fixed with 2-3 lines added. However due to various issues (like catching a nasty cold) I haven't been able to concentrate on this task or any other real coding tasks recently. I haven't forgotten this and the fix will show up eventually.

EDIT: finally finished this fix and pushed it.
 
I
EDIT: finally finished this fix and pushed it.

What branch did you push too, I can't see on SF where any new changes were pushed?


I would really like to know if it actually works for anyone.
I hope we can figure this out. I feel like RaR+fairweather has spoiled me on the vanilla fractal based generation.
I'll check this out soon.
 
LimitedResources. To be correct, it should have been in Develop, but then I didn't have a savegame to test the result on.

Ok, I have it and it seems to be working. My last saved game would crash as before and that is what promoted me to inquire about this, but I rebuilt dll and now my saved game was able to load:goodjob:
 
I’m getting back to routine and playtesting the latest version: “Prospectors”. It was fine to get a link to this, because after all this time I should have needed to pick up my brains to be able to pull and compile again.

I really like the new developments such as the resources depletion getting shape, together with the mining layers. This summer I have been lucky enough to visit a Spanish Roman Iron Mine that was exploited in that location because Romans could pick the mineral at an equivalent of a first basement level, abandoned and retaken later with newer technology; and also I have been able to visit a Newcomen Steampower waterpump replica near Birmingham, thing that mentioned Nightinggale, which allowed mining deeper. Following with mines, there is a Spanish mercury mine that used a mule wheel also to drain water in the 18th Century.

I could also add that water is not the only problem to overcome with technology. There is mechanical ventilation so that gases could be extracted; Electrical illumination, so that there are no more flames setting fumes on fire; dynamite to save lots of digging time and drills and conveyor belts to get profit from ores with a lower concentration of mineral, and it may not be difficult to find much more.

Talking about the Prospector version, I still have problems loading savegames, but this time problems are more severe: When I load ingame it crashes; and I can’t even do my trick of loading the initial auto savegame and then my last savegame. So now I can’t load. I have to play testing on one go until it crashes. Please tell me whether this is only a problem of my computer.
But apart from this, I fell there are quite fewer bugs, I only got two of them:

The first one was caused when a wounded scout urgently returned home:

Spoiler :


Assert Failed

File: CvUnit.cpp
Line: 3401
Expression: canMoveOrAttackInto(pPlot) || isMadeAttack()
Message:

----------------------------------------------------------
Assert Failed

File: CvPlayer.cpp
Line: 21041
Expression: pPlotGroup != NULL
Message: city lacks a plotgroup

----------------------------------------------------------


And the fact of the sticky delayed response scroll also happens less frequently, but it still does. I also include a savegame with the sticky scroll, a savegame which I can’t load back.

Apart from these bugs, I want to go on commenting some facts about the prospection version. I have included a fake red pointer to refer to the map tiles I want to comment.

On my first pick, you can see that the prospection resulted unfruitful but the tile had 4 ore. Bug?

On my second and third pick, I discovered a decent amount of ore, 3 and a fair amount of it, 4.

On my fourth pick you can see the unfruitful search on the north tile finally depleted over time; and on my south-east tile I found really no ore after prospection.

And finally on my last pick you can see that the eastern mine eventually depleted. I think a message should be added to tell the player what is happening around with his mines.

Also I want to comment something nice that happened to me. When I got the message of no more room for ore in my warehouses, I found the ore miner praying in church. I don’t know if that was because someone invaded my mine or that Kailric programmed it to save ore that was going to be wasted.

I like these changes because it made me leave my comfortable chair of Vienna and find new minerals. Need for expansion has always been one of the changes that needed to be done in Colonization, and I am glad to have a need to expand.
 

Attachments

  • failed delayed response.ColonizationSave
    failed delayed response.ColonizationSave
    96.9 KB · Views: 47
  • Pick1.JPG
    Pick1.JPG
    163.4 KB · Views: 55
  • Pick2.JPG
    Pick2.JPG
    144.7 KB · Views: 75
  • Pick3.JPG
    Pick3.JPG
    148.4 KB · Views: 120
  • Pick4.JPG
    Pick4.JPG
    161.1 KB · Views: 60
  • Pick5.JPG
    Pick5.JPG
    160.7 KB · Views: 46
Back
Top Bottom