Single Player bugs and crashes v39 plus (SVN) - After the 20th of July 2019

Should be fixed in the svn.
I started work on some optimization for this "check a giant array of bools" pattern, it should improve it and some other areas I hope. I will reprofile with your changes and see what the next hotspot is.
 
I started work on some optimization for this "check a giant array of bools" pattern, it should improve it and some other areas I hope. I will reprofile with your changes and see what the next hotspot is.
Should be here in the save @Yudishtira posted but it should only take a few seconds of cpu time. isPrereqOrCivics should be changed the same way.
Code:
    bool bValid = false;
    bool bNoReqCivic = true;
    int numNumCivicInfos = GC.getNumCivicInfos();
    if (!bPropertySpawn)
    {
        for (iI = 0; iI < numNumCivicInfos; iI++)
        {
            if (kUnit.isPrereqOrCivics(iI))
            {
                bNoReqCivic = false;
                if (isCivic(CivicTypes(iI)))
                {
                    bValid = true;
                    break;
                }
            }
        }
        if (!bNoReqCivic && !bValid)
        {
            return false;
        }
    }
 
edit I have Infinite XP off but it is acting like it is on.
I'm not aware of any changes that would've made this happen in the dll. Not denying your experience, just saying that its... odd. Unless someone's recent coding has changed something about this? I'll look into it later - just seems to me someone would be able to point towards something they've done recently to easily explain this. This is pretty simple stuff in the code.
 
There seems to be a problem with getting the correct mouse coordinates when playing in windowed mode, I'm looking into it.
You currently need to position the game window in the upper left corner of your main monitor for tooltips to work in windowed mode.

Strange that you have no music, have you checked that it is not turned off in the audio options?
It appears the python implementation in BtS simply don't have the tools required to get information about an application's window position.
I can get the process ID of the game, but it turned out that this didn't help me at gaining information about the game window.

The problem is that I get the pixel coordinates of the mouse position where the zero point is the upper left corner of the monitor regardless of where the game window is positioned.
However, the game operates with its own pixel coordinates where the zero point is wherever the upper left edge of the game window is.

There is no way for me to offset the mouse coordinates into the correct position within the game window without being able to assess the x, y position of the upper left corner of the game window.

I'm pretty sure c++ has the tool-set to figure out the position of the game window, so once again I need to ask if any of our fine dll modders would be willing to help me out with this conundrum.
The solution I'm thinking is that a new python-dll function is created called something like getWindowX() and getWindowY() which returns the x and y coordinates of the game window wherever that may be on the monitor.
I think python can glean whether the game is in fullscreen mode or not, so that it only asks the dll for this when in windowed mode. It would then perhaps ask every 5 seconds or so.as to not tax the system.
 
A Neanderthal NPC wanderer has my Flag. ???
 

Attachments

  • Civ4ScreenShot0005.JPG
    Civ4ScreenShot0005.JPG
    366.8 KB · Views: 73
A Neanderthal NPC wanderer has my Flag. ???
Did your graphics settings reset?
Do you have medium render quality, and effects disabled/animations frozen unchecked?

Very rarely settings reset sometimes for no apparent reason.
 
Did your graphics settings reset?
Do you have medium render quality, and effects disabled/animations frozen unchecked?

Very rarely settings reset sometimes for no apparent reason.
This is on my old system so I will check the Graphics Options, adjust an then exit the game and reload to see if it changes.
 
This is on my old system so I will check the Graphics Options, adjust an then exit the game and reload to see if it changes.
Low Resolution Textures option also is problematic, so it should always be unselected.
 
Set every thing to High and exited game to desktop, then loaded game and Neanderthal wanderer now has proper Neanderthal NPC flag.

Thanks raxo.

EDIT: playing 2 games on 2 computers atm. :p
 
Try updating to the latest svn it should improve your turn time.
Next turn 7 minutes, so thanks (this with 10763). And you're still working on it, so thanks again...:D
 
What are the specs of your Computer?

After my changes the next turn in your save only takes ~50seconds for me.
Is it possible for various BUG options to slow down game?
These need to be transferred separately in User Settings folder.

I have his save from 6115th turn.
It took 5 minutes to process it.

I have Intel Core i3-3220 (3.3 GHz), 8 GB DDR3 RAM, GeForce GTX550 Ti.
This computer is custom build, its 5 years old now.
 
Last edited:
What are the specs of your Computer?

After my changes the next turn in your save only takes ~50seconds for me.

I have an i7 2600k 3.4Ghz, 12GB DDR3 1600Mhz memory ram, GTX 760 Ti OEM 2GB DDR5 vram
My game:
Late Ancient Era 7AI, C2C_World map Standard size turns were running ~2:48+ before the 10764 SVN update.
after yesterday's update to 10764 Re-Calc took 2:32, 1st turn EoT 3:04, 2nd 3:07, 3rd 3:09. Breaking the 3minute mark.
after todays update to 10768 Re-Calc was 2:33, 1st 2:45, 2nd 2:49, 3rd 2:41 below the 3 minute mark for my game.

If I can get to Classical Era and be in the low 3minute area this will be a good improvement for my system.
 
What are the specs of your Computer?

After my changes the next turn in your save only takes ~50seconds for me.
My computer is old but adequate. May I point out that its specs are no worse than last week on 10528 when EoT times were approx twice as fast as now.

I'm currently on 10763 as I said. Have you made further improvements since then?

On some unrelated notes:
I seem to get an animal from the Biodome every two turns now. Is this intended (from some tech maybe)? It seems too fast imo.

Zizkov Television Tower jams transmissions of civs whether they are alive or dead.
 
On some unrelated notes:
I seem to get an animal from the Biodome every two turns now. Is this intended (from some tech maybe)? It seems too fast imo.

Zizkov Television Tower jams transmissions of civs whether they are alive or dead.
@Toffer90 can adjust their python effects.
 
What are the specs of your Computer?

After my changes the next turn in your save only takes ~50seconds for me.

For me it is 2m40s for the ui to become interactive again (in release), then another minute or so of constructed building alerts (these need serious work, they each lock the UI for half a second which is pretty annoying!).
Please tell me what specs you have so I can get the same!

I have an i7 8700k at 3.7GHz.
 
Please tell me what specs you have so I can get the same!

I upraded a few months ago using mostly cheap used parts from ebay.
Now i have an I7 7800x overclocked to 4,7GHZ with 32GB of DDR4 3200CL14 and a geforce 1070 GTX.

The fast low latency quadchannel memory i have might have some effect on the turn Times as well.
C2C benefits from fast memory i noticed that when my laptop with DDR4 2400 was faster in C2C as my previous computer with DDR3 1866. But the laptop had a ~5% slower cpu.
 
C2C benefits from fast memory
Here is a good example for why this is the case: ForceBuildings is a capability that is used ONCE by ONE unit to allow it to force the construction of ONE building type (the great person academy). How is this single bit of information stored you ask? As a single true value in an array the size of the number of building types (>6000), for each unit type (>1000). i.e. a single true value in 6 million false values. How many innocent and meaningful bytes of information did this monster carelessly force out of the cache? We may never know, but one thing we can be sure of is that its days are numbered.
 
Top Bottom