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

Could you please let me know under which menu it is? I spent 10 minutes to find but unfortunately was not successful.
On top left there is green bug icon. Click on it. There should be Caveman2Cosmos tab for it.
 
I let it recalculate variables (ctrl+shift+t) and game continued normally.

I guess it was random crash.
Did you update to latest version?
yeppers, sorry was wrong save, but i got pass it anyways . . . .
 
Last edited:
eot error
I might be up against my knowledge limit with this one because it doesn't look to me like the problem would be logically possible to have played out as it did UNLESS you had a random memory failure in the ram, which could be an indicator of a much wider problem than the code logic itself. Not to say that this can't happen due to problems elsewhere in the code to cause this but there's no hint here as to where that would be unfortunately.

Perhaps a better programmer would see something more diagnosable in this mini.

The GOOD news is that this mini did come up with information to show exactly where the crash took place so my fears that minis no longer work for me at all are proven unfounded. ONE possibility is that perhaps an assigned promotion on a unit was somehow invalidated and thus became inaccessible in the code for information somehow but not properly removed from the unit in the process.
 
Had an EoT CTD but since the default Savegame was reset to 4 I lost 3 turns. So no savegame to go with this....yet. Working my way back to that point. But things are not going exactly the same either in game play. SVN 10333. Have not updated yet today.
 

Attachments

  • MiniDump_10327.7z
    15.5 KB · Views: 53
Had an EoT CTD but since the default Savegame was reset to 4 I lost 3 turns. So no savegame to go with this....yet. Working my way back to that point. But things are not going exactly the same either in game play. SVN 10333. Have not updated yet today.
Unfortunately since you hadn't updated the mini probably isn't going to be of use here. Thanks though.
 
Corrected in my latest commit.
now u OVER corrected the problem, u gave all animals the right to merge, i only wanted the "wardogs" 2 sorry . .. . pics are just samples . . .
 

Attachments

  • over.JPG
    over.JPG
    325.5 KB · Views: 52
  • over1.JPG
    over1.JPG
    324.6 KB · Views: 77
Had an EoT CTD but since the default Savegame was reset to 4 I lost 3 turns.
Sounds like random corruption of BTS ini file.
I have backup of file so I can restore it when something happens to it.
I guess that is vanilla bug.

As for end of turn crashes I can continue game in most of cases after recalculating stuff.
 
Last edited:
now u OVER corrected the problem, u gave all animals the right to merge, i only wanted the "wardogs" 2 sorry . .. . pics are just samples . . .
Intentional. If cats and dogs can, why not everything else. It's a little sloppy perhaps but it completely eliminates all rules on splitting merging based on unitcombat if Uncut is on and just enforces that workers can't. Anything deeper would be getting into needing an additional tag specifically for canines and felines to allow only them to avoid the rule and only on Uncut.
 
Sounds like random corruption of BTS ini file.
I have backup of file so I can restore it when something happens to it.
I guess that is vanilla bug.

As for end of turn crashes I can continue game in most of cases after recalculating stuff.
Raxxo how long have I been playing C2C? Much less modding it? Seriously. That EoT CTD was also going to be the Autosave EoT. But because of the CTD I lost 4 turns of play. Autosave was on the default setting of 4 turns.

@Toffer90 ,
Screenshot is for you. Maybe it's irrelevant now since this game was started before you did the City Name adjustments? Or this one was missed? You would know which it is.
 

Attachments

  • Civ4ScreenShot0030.JPG
    Civ4ScreenShot0030.JPG
    375.3 KB · Views: 47
Raxxo how long have I been playing C2C? Much less modding it? Seriously. That EoT CTD was also going to be the Autosave EoT. But because of the CTD I lost 4 turns of play. Autosave was on the default setting of 4 turns.
It sounded like you forgot to set autosave, so it would be done every turn.
10 years of playing and several years of modding doesn't mean immunity from all mistakes in general..

Random crashes is why everyone should have autosaves set to every turn.
This is why I responded like this, as there isn't any reason to not have autosaves every turn.
 
Last edited:
Intentional. If cats and dogs can, why not everything else. It's a little sloppy perhaps but it completely eliminates all rules on splitting merging based on unitcombat if Uncut is on and just enforces that workers can't. Anything deeper would be getting into needing an additional tag specifically for canines and felines to allow only them to avoid the rule and only on Uncut.
then how come before it worked for only "warcats" and nothing else, besides the normal ones???? not trained cats, and not guard cats, JUST warcats??? what changed???

And just for info i Never cared about dogs being merged, it was just "warcats" infact it was hard to do sometimes just to get that part in the classical era to do it. u had to get the right techs and the right wonder to do it ,,, oh and be the first to do it also. Infact only one civ could do it.

EDIT: i am, "pretty" sure it only had to do with ,,, unitcombat area?? it looks like someone changed the "meanings" around??


EDIT EDIT" Wow just looked and it looks like everything can merge everything, i just looked and u can even do medics/doctors etc??
Dont know if this would be fun or not, i just like it the way it was before someone messed with unitcombat stuff, i believe for the uncut and the strengths. IMPO
But UR the MAIN guy now what ever u want u get!!!!!!!!!!!
 
Last edited:
then how come before it worked for only "warcats" and nothing else, besides the normal ones???? not trained cats, and not guard cats, JUST warcats??? what changed???
You had introduced a bug to them by removing the ban that felines and canines should both have against merging and splitting.

This affected them no matter whether Uncut was in use or not and it was dramatically screwing up game balance.

The whole balance trick here that keeps cats from being the only unit you need on the field is to keep them limited to hunting down less powerful units than fully merged and healthy armies. They should be able to earn this eventually by earning quality upgrades but not through a merge. This is just as important for any stealth unit. They can easily become FAR too powerful if they can merge. By too powerful, I mean it becomes pointless to invest in any other type of unit because the megalithic stealth unit is capable of fulfilling the needs of any role. Their inability to merge is the only way they have been made capable of coming out as an equal to other military units plus have all their stealth capabilities and still be in balance to those other units. They get stealth but they cannot merge whereas the other units can merge to beat the power the stealth brings.

If you can split canines, you can get 3 dogs for spotting hidden enemies for every dog you train. If you can merge canines, you can get units that are far too strong for the mobility they have that can move up to 6 spaces through any kind of terrain AND can take down Mammoths when hunting. Severely imbalanced to combine that much mobility with that much power, particularly when also using Surround and Destroy. The merged dogs can be a significant enough threat to add a lot of combat bonus when surrounding and with that kind of mobility, can too easily get into position to inflict maximum penalty against the defender in one round of movement. So again, for game balance, Canines also cannot merge or split.

Since you wanted this ability enough to remove these critical limitations, I figured I'd let you have it because I can see why certain imbalances in a game can be fun. Kinda like using cheat codes on games in the 80s and 90s.

But I saw a serious need to restore the balance rule to the normal not-uncut size matters. Without introducing a special tag that allows me to ban units from merging/splitting under Uncut but NOT ban others that are also normally banned, I was hoping I could get away with just giving them back the inability to merge and split as a rule on their combat class and just remove that tag's application on ALL units in Uncut. If I'm allowing game breaking imbalance in Uncut anyhow, why not right?

So at that point, the only CRASH inducing bug this would create would be one I've never managed to sort out that merged or split workers could run into. So I could identify workers as naturally unable to merge and split by saying any unit that has a work rate can't.

EDIT: i am, "pretty" sure it only had to do with ,,, unitcombat area?? it looks like someone changed the "meanings" around??
Yes, I turned off that tag entirely in Uncut games.

EDIT EDIT" Wow just looked and it looks like everything can merge everything, i just looked and u can even do medics/doctors etc??
Dont know if this would be fun or not, i just like it the way it was before someone messed with unitcombat stuff, i believe for the uncut and the strengths. IMPO
But UR the MAIN guy now what ever u want u get!!!!!!!!!!!
You can, yes, but keep in mind that the benefits of property control does not get adjusted on each unit when it merges or splits.

If you want me to change it back, I can, and if you really need a special tag that lets us more directly choose which units ignore the normal merge/split ban, I can do that too - it's just that its more memory to employ is all. Not the end of the world and shouldn't make us hit any boundaries or anything but I've been trying to consider that sort of memory a precious limited commodity we have to work with.

I suppose there's also a hard coding option, which is to just say specifically in the code that if the unit is a feline or canine combat class and the game is using Uncut, then they ignore the cannot Merge or Split rule even if it is applied to them. This can be an option that slows processing a bit.
 
Last edited:
Screenshot is for you. Maybe it's irrelevant now since this game was started before you did the City Name adjustments? Or this one was missed? You would know which it is.
Once this happens nothing reverses it, even introducing the new text key into the xml won't fix it because that TXT_KEY_YADA_YADA has actually become the textual name of that specific city from that point on. This is an artifact of the ability to player-name a city. Once the reference is lost, it changes to all it knows how to change to and that is the actual text of the text reference name itself. From there, it's not further tied to the text xml because that name key is now stored as the name in the same way that a player rename would be.

Make sense? It's hard to explain but I'm trying here.

This is why I responded like this, as there isn't any reason to not have autosaves every turn.
I have to argue against that sentiment. Big time. Every autosave event is a very noticeable time delay. Even on a powerful system.
 
I have to argue against that sentiment. Big time. Every autosave event is a very noticeable time delay. Even on a powerful system.

Weird, this delay for me was always small fraction of turn wait except when I tested null map to test calendar integrity.
If turn lasted minute to five minutes then game was saving for 5 - 10 maybe 20 seconds max.
Maybe some of my INI settings speed up saving of game?
Note that game starts within minute or two for me.
Spoiler :

[CONFIG]

; Don't show a warning when a video memory allocation fails
HideOutOfVRamWarning = 0

; Allow Mouse Scrolling in Windowed mode
MouseScrolling = 0

; Enable Trilinear Filtering for the Minimap
MinimapTrilinearFilter = 1

; Enable Tree Region Cutting
CutTrees = 1

; A non-zero value overrides the FIELD_OF_VIEW parameter from GlobalDefines.xml
FIELD_OF_VIEW = 0

; Allow Camera Flying
AllowFlying = 0

; Dont show the game background during movies - may speed up movie playing
HideMovieBackground = 0

; Don't skip frames if falling behind
BinkNoSkip = 1

; Copy entire image each frame, not just dirty pixels
BinkCopyAll = 1

; Show movies using hi-color, not true-color (may be faster)
Bink16Bit = 0

; Copy ever other scanline during movie playback (faster)
BinkInterlace = 0

; Specify whether to play in fullscreen mode 0/1/ask
FullScreen = 0

; Set max frame rate clamp (0 means none)
SetMaxFrameRate = 60

; Set to 1 to put PitBoss to sleep when no players are connected
PitBossSleep = 1

; Set to 1 to page units out when non-visible
DynamicUnitPaging = 1

; Set to 1 to page unit anims out when the unit is non visible
DynamicAnimPaging = 1

; Set to 1 for no on-screen event messages
NoEventMessages = 0

; Set to 1 for no tech splash screens
NoTechSplash = 0

; Set to 1 for no intro movie
NoIntroMovie = 1

; Set to 1 for no python exception popups
HidePythonExceptions = 0

; The maximum number of autosaves kept in the directory before being deleted.
MaxAutoSaves = 10

; Specify the number of turns between autoSaves. 0 means no autosave.
AutoSaveInterval = 1

; Enable Audio
AudioEnable = 0

; English(0),French(1),German(2),Italian(3),Spanish(4) - Defaults to user-installed language
Language = 0

; Determines which user profile is loaded on game start
UserProfile = Default Profile

; Sync input to smooth interface (may run slower)
SyncInput = 0

; Force numlock always on while playing
ForceNumlock = 0

; Disable caching of file system (may slow initialization)
DisableFileCaching = 1

; Disable caching of xml and file system (may slow initialization)
DisableCaching = 1

; Specify a Mod folder (Mods\Mesopotamia), '0' for none
Mod = Caveman2Cosmos

; Don't show minimum specification warnings
HideMinSpecWarning = 1

; Random seed for map generation, or '0' for default
MapRandSeed = 0

; Random seed for game sync, or '0' for default
SyncRandSeed = 0

; Email address from which Pitboss reminder emails are sent
PitbossEmail = 0

; SMTP server authentication login for Pitboss reminder emails
PitbossSMTPLogin = 0

; SMTP server for Pitboss reminder emails
PitbossSMTPHost = 0

; Number of seconds to accept live game list updates from GameSpy (-1 for initial snapshot only, 0 for no live updates
GameUpdateTime = 0

; Bandwidth options are modem or broadband
Bandwidth = broadband

; QuickStart - SinglePlayer games only!
QuickStart = 0

; Enable/disable background music
PlayMusic = 0

; Allows some memory savings *** ALT-TAB WILL NO LONGER FUNCTION ***
MemSaver = 1

; Use managed interface textures (may be safer but shouldn't be needed, uses more memory)
GUIManagedTextures = 0

; file format (TGA,JPG,BMP), Warning: TGA requires a lockable buffer which can lower performance
ScreenShot Format = 0

; Enable voice over IP capture and playback
EnableVoice = 0

; App Selects Specific IP to use for Multiplayer
SelectIP = 0

; Disable PAK memory mapping (May affect performance)
DisablePAKMemoryMapping = 0

[DEBUG]

; Create a dump file if the application crashes
GenerateCrashDumps = 1

; Enable the logging system
LoggingEnabled = 1

; Enable synchronization logging
SynchLog = 0

; Enable rand event logging
RandLog = 1

; Enable message logging
MessageLog = 0

; Break on memory allocation order #
BreakOnAlloc = -1

; Number of turns to autorun before exit (0 for no limit)
AutorunTurnLimit = 0

; Set App on Auto-Run
Autorun = 0

; Enable D3D9 Queries
D3D9Query = 0

; Custom Screen Height, minimum: 768 - Normal resolutions can be set in-game and will be used when set to 0
ScreenHeight = 972

; Custom Screen Width, minimum: 1024 - Normal resolutions can be set in-game and will be used when set to 0
ScreenWidth = 1280

; Establish connection to Python Debugger
HAPDebugger = 0

; Overwrite old network and message logs
OverwriteLogs = 1

; NetComm Port
Port = 2056

[GAME]

; Modular XML Loading
ModularLoading = 0

; Main Menu Mods
MainMenuMods = 0

; Move along
CheatCode = chipotle

; Map Script file name
Map = C2C_World

; GameType options are singlePlayer/spLoad
GameType = singlePlayer

; Pitboss Turn Time
PitbossTurnTime = 0

; Max number of turns (0 for no turn limit)
MaxTurns = 0

; Game Options
GameOptions = 010110000011000001000010010011110110000100011100011111010000001000001100000000100101101100011010000101

; Victory Conditions
VictoryConditions = 1100000000

; Handicap for quick play
QuickHandicap = HANDICAP_NOBLE

; GameSpeed options are GAMESPEED_QUICK/GAMESPEED_NORMAL/GAMESPEED_EPIC/GAMESPEED_MARATHON
GameSpeed = GAMESPEED_LONG

; Era options are ERA_ANCIENT/ERA_CLASSICAL/ERA_MEDIEVAL/ERA_RENAISSANCE/ERA_INDUSTRIAL/ERA_MODERN
Era = ERA_PREHISTORIC

; Sealevel options are SEALEVEL_LOW/SEALEVEL_MEDIUM/SEALEVEL_HIGH
SeaLevel = SEALEVEL_LOW

; Climate options are CLIMATE_ARID/CLIMATE_TEMPERATE/CLIMATE_TROPICAL
Climate = CLIMATE_TEMPERATE

; Worldsize options are WORLDSIZE_DUEL/WORLDSIZE_TINY/WORLDSIZE_SMALL/WORLDSIZE_STANDARD/WORLDSIZE_LARGE/WORLDSIZE_HUGE
WorldSize = WORLDSIZE_DUEL

; Game Name
GameName = Civ Simulator

; Save Path - relative to working (Civ4) folder
FileName = 0

; Account Username
Nickname = 0

; Email Address
Email = XYZ

; DirectIP Host Address
DirectIP = 0

; In-game Alias
Alias = Eternal Leader


Null map - terrain is orbit except peak with single brute on it and no other ais, this map was 24x24.
All options were set to disable as much things as possible on this map to speed it up.
It was like few turns per second.
I'll upload map so you can see what is going without any load.
 

Attachments

  • ZZZNOTHING.CivBeyondSwordWBSave
    50.5 KB · Views: 49
Once this happens nothing reverses it, even introducing the new text key into the xml won't fix it because that TXT_KEY_YADA_YADA has actually become the textual name of that specific city from that point on. This is an artifact of the ability to player-name a city. Once the reference is lost, it changes to all it knows how to change to and that is the actual text of the text reference name itself. From there, it's not further tied to the text xml because that name key is now stored as the name in the same way that a player rename would be.

Make sense? It's hard to explain but I'm trying here.
Actually I put the ones in my map into the xml here locally, and it fixed them.
 
Top Bottom