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

You need one of those assemblers.
Molecular Assembler needs Alpha Assembler and those are needing a lot of stuff..
To build Alpha Assembler you need to build Beta assembler and its all prereqs, you need to build Gamma assembler and its all prereqs and so on.

That´s why I selected city "P3", there the Alpha Assembler is already built but Omega Assembler still cannot be selected.

Also nice job of practically finishing game within 2000 turns in Marathon GS, that has 8000 turns.

Thanks, but not so much a difficult job. I cheated somewhat by making buildings faster to construct (by factor 2) and when I began a few months ago there was still the issue with all the other nations didn´t settle a 2nd town so there was no competition.
 
That´s why I selected city "P3", there the Alpha Assembler is already built but Omega Assembler still cannot be selected.
It doesn't even appear as darkened (when you allow to show unbuildable buildings).
Same thing happened when I was testing new Mormon religion - things were defined like below.
Something needed 3 temples - thing that I wanted to build stopped being displayed darkened and disappeared completely.
When I built one temple one more I coould build thing normally.

It sounds like code bug, when things are defined like this:

Code:
            <BuildingClassNeededs>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_IMMATERIAL_CITY</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_SPACESCRAPER2</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
            </BuildingClassNeededs>
            <PrereqOrBuildingClasses>
                <PrereqOrBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_MOLECULAR_ASSEMBLER</BuildingClassType>
                    <bPrereqBuildingClass>1</bPrereqBuildingClass>
                </PrereqOrBuildingClass>
                <PrereqOrBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_ATOMIC_ASSEMBLER</BuildingClassType>
                    <bPrereqBuildingClass>1</bPrereqBuildingClass>
                </PrereqOrBuildingClass>
                <PrereqOrBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_QUANTUM_ASSEMBLER</BuildingClassType>
                    <bPrereqBuildingClass>1</bPrereqBuildingClass>
                </PrereqOrBuildingClass>
                <PrereqOrBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_MATERIALIZER</BuildingClassType>
                    <bPrereqBuildingClass>1</bPrereqBuildingClass>
                </PrereqOrBuildingClass>
            </PrereqOrBuildingClasses>

Spoiler :
Civ4BeyondSword 2018-05-26 15-56-51-70.jpg
Civ4BeyondSword 2018-05-26 15-57-26-78.jpg


I disabled all Hide buildings options in BUG and still it doesn't show up even as being darkened.

If it was just unmet requirements, then building would appear darkened, if you show unbuildable things.
Building completely disappears as if it was built or obsoleted instead.
 
Last edited:
The bit that defines the need for multiple prerequisite buildings in your empire is
Code:
            <PrereqBuildingClasses>
                <PrereqBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_POTTERS_WORKSHOP</BuildingClassType>
                    <iNumBuildingNeeded>2</iNumBuildingNeeded>
                </PrereqBuildingClass>
            </PrereqBuildingClasses>
and yes if you don't have enough cities with the required building it wont show in the queue at all. Standard BtS.
 
The bit that defines the need for multiple prerequisite buildings in your empire is
Code:
            <PrereqBuildingClasses>
                <PrereqBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_POTTERS_WORKSHOP</BuildingClassType>
                    <iNumBuildingNeeded>2</iNumBuildingNeeded>
                </PrereqBuildingClass>
            </PrereqBuildingClasses>
and yes if you don't have enough cities with the required building it wont show in the queue at all. Standard BtS.
If you don't have "hide uncostructable/replaced/obsolete" option in BUG selected, then building should always appear in building queue, even if requirement isn't met once techs needed for it are researched.
It would appear as being unselectable.
That happens to almost all buildings.
And it is disappears as if I had hiding buildings not meeting needs to be enabled.
There it just disappears from quque as if BUG wasn't supporting things like this:
Code:
           <BuildingClassNeededs>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_IMMATERIAL_CITY</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
              </BuildingClassNeededs>
This code checks if any building of fitting class is present.

----------------------------------
I did setup with 6 test buildings to show, that at certain conditions buildings are hidden from queue even if I have hiding from queue disabled.
I named them Testome, testtwo... test six.
Buildings in order will have icons of Crime/Disease/Air/Water pollution/Education/Tourism.

Code:
<BuildingClassInfo>
            <Type>BUILDINGCLASS_TESTONE</Type>
            <Description>TXT_KEY_BUILDING_TESTONE</Description>
            <iMaxGlobalInstances>-1</iMaxGlobalInstances>
            <iMaxTeamInstances>-1</iMaxTeamInstances>
            <iMaxPlayerInstances>-1</iMaxPlayerInstances>
            <DefaultBuilding>BUILDING_TESTONE</DefaultBuilding>
        </BuildingClassInfo>
        <BuildingClassInfo>
            <Type>BUILDINGCLASS_TESTTWO</Type>
            <Description>TXT_KEY_BUILDING_TESTTWO</Description>
            <iMaxGlobalInstances>-1</iMaxGlobalInstances>
            <iMaxTeamInstances>-1</iMaxTeamInstances>
            <iMaxPlayerInstances>-1</iMaxPlayerInstances>
            <DefaultBuilding>BUILDING_TESTTWO</DefaultBuilding>
        </BuildingClassInfo>
        <BuildingClassInfo>
            <Type>BUILDINGCLASS_TESTTHREE</Type>
            <Description>TXT_KEY_BUILDING_TESTTHREE</Description>
            <iMaxGlobalInstances>-1</iMaxGlobalInstances>
            <iMaxTeamInstances>-1</iMaxTeamInstances>
            <iMaxPlayerInstances>-1</iMaxPlayerInstances>
            <DefaultBuilding>BUILDING_TESTTHREE</DefaultBuilding>
        </BuildingClassInfo>
        <BuildingClassInfo>
            <Type>BUILDINGCLASS_TESTFOUR</Type>
            <Description>TXT_KEY_BUILDING_TESTFOUR</Description>
            <iMaxGlobalInstances>-1</iMaxGlobalInstances>
            <iMaxTeamInstances>-1</iMaxTeamInstances>
            <iMaxPlayerInstances>-1</iMaxPlayerInstances>
            <DefaultBuilding>BUILDING_TESTFOUR</DefaultBuilding>
        </BuildingClassInfo>
        <BuildingClassInfo>
            <Type>BUILDINGCLASS_TESTFIVE</Type>
            <Description>TXT_KEY_TESTFIVE</Description>
            <iMaxGlobalInstances>-1</iMaxGlobalInstances>
            <iMaxTeamInstances>-1</iMaxTeamInstances>
            <iMaxPlayerInstances>-1</iMaxPlayerInstances>
            <DefaultBuilding>BUILDING_TESTFIVE</DefaultBuilding>
        </BuildingClassInfo>
        <BuildingClassInfo>
            <Type>BUILDINGCLASS_TESTSIX</Type>
            <Description>TXT_KEY_TESTSIX</Description>
            <iMaxGlobalInstances>-1</iMaxGlobalInstances>
            <iMaxTeamInstances>-1</iMaxTeamInstances>
            <iMaxPlayerInstances>-1</iMaxPlayerInstances>
            <DefaultBuilding>BUILDING_TESTSIX</DefaultBuilding>
        </BuildingClassInfo>

Code:
        <!-- TESTONE -->
        <BuildingInfo>
            <BuildingClass>BUILDINGCLASS_TESTONE</BuildingClass>
            <Type>BUILDING_TESTONE</Type>
            <Description>TXT_KEY_BUILDING_TESTONE</Description>
            <Civilopedia>TXT_KEY_BUILDING_TESTONE_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_BUILDING_TESTONE_STRATEGY</Strategy>
            <Advisor>ADVISOR_ECONOMY</Advisor>
            <ArtDefineTag>ART_DEF_BUILDING_CRIME_PLANEHIJACKING</ArtDefineTag>
            <iMinAreaSize>-1</iMinAreaSize>
            <!-- Construction cost -->
            <iCost>1</iCost>
        </BuildingInfo>
        <!-- TESTTWO -->
        <BuildingInfo>
            <BuildingClass>BUILDINGCLASS_TESTTWO</BuildingClass>
            <Type>BUILDING_TESTTWO</Type>
            <Description>TXT_KEY_BUILDING_TESTTWO</Description>
            <Civilopedia>TXT_KEY_BUILDING_TESTTWO_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_BUILDING_TESTTWO_STRATEGY</Strategy>
            <Advisor>ADVISOR_ECONOMY</Advisor>
            <ArtDefineTag>ART_DEF_BUILDING_DISEASE_ANTHRAX</ArtDefineTag>
            <iMinAreaSize>-1</iMinAreaSize>
            <!-- Construction cost -->
            <iCost>1</iCost>
        </BuildingInfo>
        <!-- TESTTHREE -->
        <BuildingInfo>
            <BuildingClass>BUILDINGCLASS_TESTTHREE</BuildingClass>
            <Type>BUILDING_TESTTHREE</Type>
            <Description>TXT_KEY_BUILDING_TESTTHREE</Description>
            <Civilopedia>TXT_KEY_BUILDING_TESTTHREE_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_BUILDING_TESTTHREE_STRATEGY</Strategy>
            <Advisor>ADVISOR_ECONOMY</Advisor>
            <ArtDefineTag>ART_DEF_BUILDING_POLLUTION_SMOG2</ArtDefineTag>
            <iMinAreaSize>-1</iMinAreaSize>
            <!-- Construction cost -->
            <iCost>1</iCost>
        </BuildingInfo>
        <!-- TESTFOUR -->
        <BuildingInfo>
            <BuildingClass>BUILDINGCLASS_TESTFOUR</BuildingClass>
            <Type>BUILDING_TESTFOUR</Type>
            <Description>TXT_KEY_BUILDING_TESTFOUR</Description>
            <Civilopedia>TXT_KEY_BUILDING_TESTFOUR_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_BUILDING_TESTFOUR_STRATEGY</Strategy>
            <Advisor>ADVISOR_ECONOMY</Advisor>
            <ArtDefineTag>ART_DEF_BUILDING_POLLUTION_COAST3</ArtDefineTag>
            <iMinAreaSize>-1</iMinAreaSize>
            <!-- Construction cost -->
            <iCost>1</iCost>
        </BuildingInfo>
        <!-- TESTFIVE -->
        <BuildingInfo>
            <BuildingClass>BUILDINGCLASS_TESTFIVE</BuildingClass>
            <Type>BUILDING_TESTFIVE</Type>
            <Description>TXT_KEY_BUILDING_TESTFIVE</Description>
            <Civilopedia>TXT_KEY_BUILDING_TESTFIVE_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_BUILDING_TESTFIVE_STRATEGY</Strategy>
            <Advisor>ADVISOR_ECONOMY</Advisor>
            <ArtDefineTag>ART_DEF_BUILDING_EQ</ArtDefineTag>
            <iMinAreaSize>-1</iMinAreaSize>
            <!-- Construction cost -->
            <iCost>1</iCost>
            <BuildingClassNeededs>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_TESTONE</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_TESTTWO</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
            </BuildingClassNeededs>
            <PrereqOrBuildingClasses>
                <PrereqOrBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_TESTTHREE</BuildingClassType>
                    <bPrereqBuildingClass>1</bPrereqBuildingClass>
                </PrereqOrBuildingClass>
                <PrereqOrBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_TESTFOUR</BuildingClassType>
                    <bPrereqBuildingClass>1</bPrereqBuildingClass>
                </PrereqOrBuildingClass>
            </PrereqOrBuildingClasses>
        </BuildingInfo>
        <!-- TESTSIX -->
        <BuildingInfo>
            <BuildingClass>BUILDINGCLASS_TESTSIX</BuildingClass>
            <Type>BUILDING_TESTSIX</Type>
            <Description>TXT_KEY_BUILDING_TESTSIX</Description>
            <Civilopedia>TXT_KEY_BUILDING_TESTSIX_PEDIA</Civilopedia>
            <Strategy>TXT_KEY_BUILDING_TESTSIX_STRATEGY</Strategy>
            <Advisor>ADVISOR_ECONOMY</Advisor>
            <ArtDefineTag>ART_DEF_BUILDING_TOURISM</ArtDefineTag>
            <iMinAreaSize>-1</iMinAreaSize>
            <!-- Construction cost -->
            <iCost>1</iCost>
            <PrereqBuildingClasses>
                <PrereqBuildingClass>
                    <BuildingClassType>BUILDINGCLASS_TESTONE</BuildingClassType>
                    <iNumBuildingNeeded>2</iNumBuildingNeeded>
                </PrereqBuildingClass>
            </PrereqBuildingClasses>
            <BuildingClassNeededs>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_TESTONE</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
            </BuildingClassNeededs>
        </BuildingInfo>
I added save, you need to add this code to CIV4BuildingClassInfos and Regular_CIV4BuildingInfos respectively.

To build Test5 you need Test1, Test2, and one of following: Test3 or Test4.
To build Test6 you need Two Test1 buildings, Test6 needs to be in city with Test1 building.

First one is similar for Omega Assembler building requirements setup.
Second one is similar to how Mormon (new version) building are needing stuff.
 

Attachments

Last edited:
If you don't have "hide uncostructable/replaced/obsolete" option in BUG selected, then building should always appear in building queue, even if requirement isn't met once techs needed for it are researched.
It would appear as being unselectable.
That happens to almost all buildings.
And it is disappears as if I had hiding buildings not meeting needs to be enabled.
There it just disappears from quque as if BUG wasn't supporting things like this:
Code:
           <BuildingClassNeededs>
                <BuildingClassNeeded>
                    <BuildingClassType>BUILDINGCLASS_IMMATERIAL_CITY</BuildingClassType>
                    <bNeededInCity>1</bNeededInCity>
                </BuildingClassNeeded>
              </BuildingClassNeededs>
This code checks if any building of fitting class is present.
That is a different set of code and it works fine for buildings. From your description the problem is when iNumBuildingNeeded is more than 1. We use 0 for a building to exist anywhere in the nation and n>1 to limit the number of cities the building can be built in. IE the way cathedrals work in vanilla.

BUG has nothing to do with the case. I suspect that the C2C coders of the bit that populates the list just forgot about this possibility (n>1) as it is not used that much in C2C at the time that function was written.
 
I disabled all Hide Buildings options, but when they are defined as above buildings are getting hidden.
Test1 has icon of Crime.
Test2 - Disease
Test3 - Air Pollution
Test4 - Water Pollution
Test5 - Education
Test6 - Tourism
Spoiler :

Civ4BeyondSword 2018-05-27 09-56-57-38.jpg


Test1 - Test4 are visible. Test5 and Test6 should be too, just be grayed out.
Civ4BeyondSword 2018-05-27 09-58-29-74.jpg



I'll build Test2 - building needed for Test5
Test5 still is hidden, but it should be grayed out.
Civ4BeyondSword 2018-05-27 10-01-19-52.jpg

I'll build Test1 now.
Test5 appeared as its AND prereqs - Test1 and Test2 got built.
Test6 appeared too as greyed out.
Normal behavior would be being greyed out.
Civ4BeyondSword 2018-05-27 10-02-14-73.jpg
Civ4BeyondSword 2018-05-27 10-02-17-89.jpg


I'll build Test1 in other city - Test6 needs them in two cities and must be built in same city as Test1
Test6 now can be built in two cities but doesn't show in third one, and it should appear greyed out.
Civ4BeyondSword 2018-05-27 10-06-35-53.jpg

Those can be correctly built now.
If there are problems here in this simple example, then no wonder there are problems with buildings suddenly vanishing from queue at more complex situations.
Civ4BeyondSword 2018-05-27 10-09-50-83.jpg

Civ4BeyondSword 2018-05-27 10-12-33-47.jpg



Basically if I disable all building hiding options, then I should see all unlocked buildings.
I guess we would need option, that overrides hiding and basically show absolutely all buildings, if they are unlocked by tech if and they didn't obsolete yet.

Also three independent options, that would hide buildings, that doesn't meed terrain/feature/resource requirements would be nice.
This way you could override option displaying absolutely all buildings.

----------------------
It looks like one of buildings - NW is disabled and has pink blob.
It is from mine warfare module.
Spoiler :
x15WNfX.jpg


There is graphical bug with Plasma Armor.
Spoiler :

Civ4BeyondSword 2018-05-29 09-58-01-85.jpg
 
Last edited:
SVN 10069

Also why am I getting odds like this with 4.00 vs 4.00 strength:
Most likely because the viper has first strikes and you don't. Along with chance of withdrawal you don't have.
 
SVN 10069

I'm not getting any xp from combat with "More xp to level" option on.
I'll look into it.
EDIT: Are you on Dynamic XP or not (in the BUG options)?
 
SVN 10069

I'm not getting any xp from combat with "More xp to level" option on.
If the combat is against animals or barbarians there are limits to how many xp you can get. This is normal Civ IV behaviour. You need to select the Unlimited XP game option to go above that.

I think I explained why I am against this game option in my hunter review.
 
Most likely because the viper has first strikes and you don't. Along with chance of withdrawal you don't have.

Also, while Nakkimunakas has a +10% bonus, the viper has a +50% bonus and two +25% bonuses (not sure if they're additive or multiplicative, but that's at least a +100% total, maybe more if they multiply instead). Come to think of it, if they're additive, that would make the after-modifiers totals 4.4 versus 8.0, which is about right for those combat odds.
 
Also, while Nakkimunakas has a +10% bonus, the viper has a +50% bonus and two +25% bonuses (not sure if they're additive or multiplicative, but that's at least a +100% total, maybe more if they multiply instead). Come to think of it, if they're additive, that would make the after-modifiers totals 4.4 versus 8.0, which is about right for those combat odds.
Those % combat modifiers are included in what the 'final power' comes up to be. The base viper is less than 4.
 
If the combat is against animals or barbarians there are limits to how many xp you can get. This is normal Civ IV behaviour. You need to select the Unlimited XP game option to go above that.

I think I explained why I am against this game option in my hunter review.
Ah yeah that's probably what he's up against there.
 
I'll look into it.
EDIT: Are you on Dynamic XP or not (in the BUG options)?
Dynamic XP is on. I didn't get xp from any type of combat with "More xp to level" on and started to get xp normally after removing more xp option through worldbuilder.
Most likely because the viper has first strikes and you don't. Along with chance of withdrawal you don't have.
Like stealth strikes since I can't see them? It shows withdrawal separately from survival odds.
 
All "Distant" buildings can never be constructed. Reason: They require "Distant" as the city tile. But as soon as I found a city in "Distant" space the tile is changed to "Hyperspace".

I would suggest to not change the tile to hyperspace by founding a city or - maybe better - to change the requirement to "Distant" in the city area.
 
All "Distant" buildings can never be constructed. Reason: They require "Distant" as the city tile. But as soon as I found a city in "Distant" space the tile is changed to "Hyperspace".

I would suggest to not change the tile to hyperspace by founding a city or - maybe better - to change the requirement to "Distant" in the city area.
Are you using Hyperseedships? Those will change terrain to Hyperspace on tile they are settling.
Acculbeire (or something like that) seedships are used to found normal cities for extragalactic zones including distant cosmos.
 
@pepper2000 @Thunderbrd It looks like Noblegarden is regular building, but on other hand it has silver star and movie tag as if it was national wonder.
So it should be treated as regular Walls (it plays Hadrian Walls movie when built for first time) building - starless and with movie, or it should be without movie just like any building?
Or it was meant to be national wonder?
Bath House also has movie tag.
 
@pepper2000 @Thunderbrd It looks like Noblegarden is regular building, but on other hand it has silver star and movie tag as if it was national wonder.
So it should be treated as regular Walls (it plays Hadrian Walls movie when built for first time) building - starless and with movie, or it should be without movie just like any building?
Or it was meant to be national wonder?
Check the thread started by Brackenspore as that is his building
 
Check the thread started by Brackenspore as that is his building
Ah so it meant to be NW.

Edit: Fixed Noblegarden as it meant to - now it is treated as National Wonder.
 
Last edited:
Back
Top Bottom