Single Player bugs and crashes v38 plus (SVN) - After the 20th of February 2018

I wonder, is tech diffusion working as intended?

For example, Khmer empire is researching Writing and the Persian Empire already has writing because it's no longer Minor (I'm Denmark). I'm in contact with both :

upload_2019-7-5_1-7-24.png


Yet I'm 11 techs away from writing:

upload_2019-7-5_0-54-23.png


Yet I don't get tech diffusion, even though it is on:

upload_2019-7-5_0-57-8.png

In fact, I get NO tech diffusion no matter what tech I choose, even old techs from the prehistoric that I skipped.

Yet if I take an earlier save I do get tech diffusion:

upload_2019-7-5_0-58-31.png


But then I wasn't number 1 in the score list.


Yet I have TD on and WFL off:

upload_2019-7-5_1-3-55.png


It almost looks like your place in the score list determines whether you have TD or not. But that was a feature of WFL instead of TD?
Is there a mixup in the code somewhere between these two?
 
It almost looks like your place in the score list determines whether you have TD or not. But that was a feature of WFL instead of TD?
Is there a mixup in the code somewhere between these two?
Score have no impact on WFL. Don't know about TD on that point.

WFL gives tech boosts to players with relatively less population than other players.
WFL gives tech boosts to players with relatively less cities than other players.

I haven't read its code, so I'm only retelling what I've heard TB say about WFL.

Did you by chance turn on the "No tech handicap for humans" option, or whatever it's called?
It disables WFL and TD for human players.
 
Last edited:
Anyway, WFL is off. But TD is on and seems wonky.
Looking at the code now, and there's no way there's any mixup between WFL and TD, they are very well separated as two isolated code segments.

TD can very easily be rounded down to zero if the teams you have met that have the tech you don't have is less than a third of the total players in the game (doesn't care if you have met the total amount.).

TD is magnified a lot if the teams you have met that have the tech you don't have is more than two thirds of the total players in the game (doesn't care if you have met the total amount.).

You do get an extra small TD boost for not being the player with the highest score (players not yet met do count), but no direct penalty for being the player with the highest score.

I didn't look at the WFL calculation code, too tired to bother right now.
 
Last edited:
Debugging, 1)
XML parsing SAX error:
Assets\xml\Art\CIV4ArtDefines_Building.xml :
error during schema scan at line 22

Code:
<BuildingArtInfo>
    <Type>ART_DEF_BUILDING_GREAT_PALACE</Type>
    <LSystem>LSYSTEM_GREAT_PALACE</LSystem>
    <bAnimated/>    ****This line****
    <fScale>1.1</fScale>
    <fInterfaceScale>0.7</fInterfaceScale>
    <NIF>Art/Structures/Buildings/ForbiddenPalace/ForbiddenPalace.nif</NIF>
    <KFM/>
    <Button>Art/Interface/Buttons/National_Wonders/forbidden_palace.dds</Button>
</BuildingArtInfo>

Validator (at game startup) seems to dislike tags written like this.
Should be: <bAnimated>0</bAnimated>

2) I suggest this change in Caveman2Cosmos.xsd (line 914). It used to be:
Code:
  <xs:simpleType name="Civ4Boolean">
    <xs:union memberTypes="int-01 emptyString"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Integer">
    <xs:union memberTypes="xs:integer emptyString"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Float">
    <xs:union memberTypes="xs:float emptyString"/>
Should be changed to:
Code:
  <xs:simpleType name="Civ4Boolean">
    <xs:restriction base="int-01"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Integer">
    <xs:restriction base="xs:integer"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Float">
    <xs:restriction base="xs:float"/>
  </xs:simpleType>
Because the in-game validator will still want to parse the value as an integer or float (bool in this case is just an int with range [0,1].) and doesn't accept an empty string.
Change this will help us detect errors using C2CXmlValidator. Link: https://forums.civfanatics.com/threads/tool-for-xml-validation.514150
 
Last edited:
I'm not sure if it is a bug...
What about National Wonder Tradition - Hunting? Not be mistaken with Tradition - Hunter. Tradition - Hunting is supposed to give free hunting instructions in every city. Is it buildable? My Great Hunter is unable to build it. I'm in ancient era now, so way long to Automatic Weapons tech.
 
Debugging, 1)


Code:
<BuildingArtInfo>
    <Type>ART_DEF_BUILDING_GREAT_PALACE</Type>
    <LSystem>LSYSTEM_GREAT_PALACE</LSystem>
    <bAnimated/>    ****This line****
    <fScale>1.1</fScale>
    <fInterfaceScale>0.7</fInterfaceScale>
    <NIF>Art/Structures/Buildings/ForbiddenPalace/ForbiddenPalace.nif</NIF>
    <KFM/>
    <Button>Art/Interface/Buttons/National_Wonders/forbidden_palace.dds</Button>
</BuildingArtInfo>

Validator (at game startup) seems to dislike tags written like this.
Should be: <bAnimated>0</bAnimated>

2) I suggest this change in Caveman2Cosmos.xsd (line 914). It used to be:
Code:
  <xs:simpleType name="Civ4Boolean">
    <xs:union memberTypes="int-01 emptyString"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Integer">
    <xs:union memberTypes="xs:integer emptyString"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Float">
    <xs:union memberTypes="xs:float emptyString"/>
Should be changed to:
Code:
  <xs:simpleType name="Civ4Boolean">
    <xs:restriction base="int-01"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Integer">
    <xs:restriction base="xs:integer"/>
  </xs:simpleType>
  <xs:simpleType name="Civ4Float">
    <xs:restriction base="xs:float"/>
  </xs:simpleType>
Because the in-game validator will still want to parse the value as an integer or float (bool in this case is just an int with range [0,1].) and doesn't accept an empty string.
Change this will help us detect errors using C2CXmlValidator. Link: https://forums.civfanatics.com/threads/tool-for-xml-validation.514150

The 'First-Chance Exeptions' Xerces puts out in these cases are just non critical warnings and far away from beeing real errors which require fixing.
 
I'm not sure if it is a bug...
What about National Wonder Tradition - Hunting? Not be mistaken with Tradition - Hunter. Tradition - Hunting is supposed to give free hunting instructions in every city. Is it buildable? My Great Hunter is unable to build it. I'm in ancient era now, so way long to Automatic Weapons tech.
Looks like this one slipped past @Dancing Hoskuld - this one should be added to list of available builds for Great Hunter/General.
But then Tradition - Hunter gives free replacement for Hunting Instructions - Master Hunter Tradition.
 
Looks like this one slipped past @Dancing Hoskuld - this one should be added to list of available builds for Great Hunter/General.
But then Tradition - Hunter gives free replacement for Hunting Instructions - Master Hunter Tradition.
Or it should remain disabled, or perhaps be removed from the mod, best to let DH handle his own work.
 
I'm building dll using visual studio. I posted what I clicked.
I'm using my original makefile so I had to re-add xerces.mk.
I was wondering if I can remove that file and the line "include xerces.mk" from my makefile?
 
They raise parse exceptions because the parser doesn't know how to treat an "empty" string as a numerical type. Their types are just incompatible.
Those messages are annoying when you try to run the debug dll. I don't buy into the term "first chance exception". They are purely annoying, and I don't know how to suppress error messages, so my best option is to react.

The parser knows how to handle those cases because it catches the exception and handles the exception.

First chance exception messages most often do not mean there is a problem in the code. For applications / components which handle exceptions
gracefully, first chance exception message
let the developer know that an exceptional situation was encountered and was handled.
This is from https://blogs.msdn.microsoft.com/davidklinems/2005/07/12/what-is-a-first-chance-exception/
 
The parser knows how to handle those cases because it catches the exception and handles the exception.
MSDN:
First chance exception messages most often do not mean there is a problem in the code. For applications / components which handle exceptions
gracefully, first chance exception message
let the developer know that an exceptional situation was encountered and was handled.
As soon as exception is thrown/catched, loadCivXML returns, and the entire file after the faulty line is thrown away I'm afraid.
 
the GEM 27 civs has problems with religions:
I run GEM_4_C2C_27civs, reaserched Druid first, give it to all my cities, then I researched Shamanis and Tenism, both also as first. Have no state religion.
None of my cities got these two religions. In game these two relegions still are "undiscovered". Also, in Worldbuilder tech table these religions are not listed, they are in tech tree only.
 

Attachments

  • Civ4ScreenShot0014.JPG
    Civ4ScreenShot0014.JPG
    241.1 KB · Views: 92
  • Civ4ScreenShot0013.JPG
    Civ4ScreenShot0013.JPG
    204.2 KB · Views: 81
  • Civ4ScreenShot0012.JPG
    Civ4ScreenShot0012.JPG
    208.2 KB · Views: 117
the GEM 27 civs has problems with religions:
I run GEM_4_C2C_27civs, reaserched Druid first, give it to all my cities, then I researched Shamanis and Tenism, both also as first. Have no state religion.
None of my cities got these two religions. In game these two relegions still are "undiscovered". Also, in Worldbuilder tech table these religions are not listed, they are in tech tree only.
Scenarios don't cause errors like this.
But they come with combination of options, so I guess you didn't check what options it has selected.
That is you normally you play options A B C and map had options X Y Z, and you didn't look what options are selected or not selected at start.
For example map could have different options related to religions compared to what you play.

For example one option lets you found any religion when you get religious tech, other lets found religion trough prophet and so on.
 
What I think Raxo is trying to say is: with Limited Religions option on, this would be what happens normally ie. is not a bug.
 
What I think Raxo is trying to say is: with Limited Religions option on, this would be what happens normally ie. is not a bug.
Yeah, there are some options that I don't use at all, so I'm not sure which one did that in screenshots.

By the way on that bottom screenshot you should have to look at bottom of worldbuilder tech window.
There are punks and religions in modules.
Spoiler :

civ4beyondsword-2019-01-24-21-28-36-92-jpg.515777

 
10655
  • Art assets packed into FPKs
  • Hopefully final DLLs for the pending release.
Note: leaving this to finish comitting so it may not be there in full yet. The FPKs are quite large.

been 2 hrs still not in SVN???
 
Back
Top Bottom