Map flickering [Graphical]

Started by SaltShaker, November 18, 2019, 01:06:21 AM

Previous topic - Next topic

SaltShaker

I'm having a graphical bug in regard to my colony's map. On 1x speed, the colony's map flickers a solid grey rapidly. There are no issues when paused. When the game is on 2x speed or faster, the map turns into a solid grey, with some icons and numbers still visible. This issue is not present when starting a fresh colony. I'm not aware of any particular trigger that I could go back and undo, since the issue began on a save file which was working fine before (no changes to modlist occurred).

Debug list: https://gist.github.com/e6b33d97ca3089c1e83d6ba1c15d669a

HugsLib debug list with modlist: https://gist.github.com/3d4e502329a730863dc6b21da0e49599

Canute

Hi,
the log show a repeating error
Root level exception in Update(): System.NullReferenceException: Object reference not set to an instance of an object
  at Verse.ThingFilter.Allows (Verse.Thing t) [0x00000] in <filename unknown>:0
  at RimWorld.StorageSettings.AllowedToAccept (Verse.Thing t) [0x00000] in <filename unknown>:0
  at RimWorld.Zone_Stockpile.Accepts (Verse.Thing t) [0x00000] in <filename unknown>:0
  at RimWorld.StoreUtility.IsInValidBestStorage (Verse.Thing t) [0x00000] in <filename unknown>:0
  at RimWorld.ListerHaulables.ShouldBeHaulable (Verse.Thing t) [0x00000] in <filename unknown>:0
  at RimWorld.ListerHaulables.Check (Verse.Thing t) [0x00000] in <filename unknown>:0
  at RimWorld.ListerHaulables.ListerHaulablesTick () [0x00000] in <filename unknown>:0
  at Verse.Map.MapPreTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.TickManagerUpdate () [0x00000] in <filename unknown>:0
  at Verse.Game.UpdatePlay () [0x00000] in <filename unknown>:0
  at Verse.Root_Play.Update () [0x00000] in <filename unknown>:0

The error is about storage and hauling.
I only saw Ogrestack and stackable chunks that change anything at the first look.
You should try at first to create a small new stockpile that accept all, with a low priority.
Check if the error/flickering goes away, and then what does get hauled into it.

When the error doesn't go away try to disable stackable chunks then ogrestack.
Do you got any minified things that shouldn't minified by default ?

I saw some other starting errors
QuoteXML error: Duplicate XML node name minifiedDef in this XML block: <ThingDef ParentName="BuildingBase"><defName>Sandbags</defName><label>sandbags</label><description>Bags of locally-sourced dirt or sand held in place by steel rods. Sandbags are ugly, but provide excellent cover from ranged attacks.</description><thingClass>Building</thingClass><category>Building</category><graphicData><texPath>Things/Building/Linked/Sandbags_Atlas</texPath><graphicClass>Graphic_Single</graphicClass><linkType>Basic</linkType><linkFlags><li>Sandbags</li></linkFlags><color>(139,122,87)</color></graphicData><uiIconPath>Things/Building/Linked/Sandbags_MenuIcon</uiIconPath><uiIconColor>(139,122,87)</uiIconColor><altitudeLayer>Building</altitudeLayer><pathCost>40</pathCost><pathCostIgnoreRepeat>true</pathCostIgnoreRepeat><passability>PassThroughOnly</passability><castEdgeShadows>true</castEdgeShadows><fillPercent>0.65</fillPercent><canOverlapZones>false</canOverlapZones><thingCategories><li>BuildingsSecurity</li></thingCategories><minifiedDef>MinifiedThing</minifiedDef><statBases><MaxHitPoints>450</MaxHitPoints><Beauty>-10</Beauty><WorkToBuild>180</WorkToBuild><Mass>2</Mass><Flammability>0</Flammability><Mass>10</Mass></statBases><building><ai_chillDestination>false</ai_chillDestination><isInert>true</isInert><blueprintGraphicData><texPath>Things/Building/Linked/Sandbags_Blueprint_Atlas</texPath></blueprintGraphicData></building><placingDraggableDimensions>1</placingDraggableDimensions><costList><Cloth>2</Cloth><Steel>2</Steel><SandPile>1</SandPile></costList><filthLeaving>SandbagRubble</filthLeaving><rotatable>false</rotatable><selectable>true</selectable><neverMultiSelect>true</neverMultiSelect><terrainAffordanceNeeded>Light</terrainAffordanceNeeded><designationCategory>Security</designationCategory><staticSunShadowHeight>0.20</staticSunShadowHeight><constructEffect>ConstructDirt</constructEffect><repairEffect>ConstructDirt</repairEffect><designationHotKey>Misc1</designationHotKey><minifiedDef>MinifiedThing</minifiedDef><thingCategories><li>BuildingsSecurity</li></thingCategories></ThingDef>

XML error: Duplicate XML node name thingCategories in this XML block: <ThingDef ParentName="BuildingBase"><defName>Sandbags</defName><label>sandbags</label><description>Bags of locally-sourced dirt or sand held in place by steel rods. Sandbags are ugly, but provide excellent cover from ranged attacks.</description><thingClass>Building</thingClass><category>Building</category><graphicData><texPath>Things/Building/Linked/Sandbags_Atlas</texPath><graphicClass>Graphic_Single</graphicClass><linkType>Basic</linkType><linkFlags><li>Sandbags</li></linkFlags><color>(139,122,87)</color></graphicData><uiIconPath>Things/Building/Linked/Sandbags_MenuIcon</uiIconPath><uiIconColor>(139,122,87)</uiIconColor><altitudeLayer>Building</altitudeLayer><pathCost>40</pathCost><pathCostIgnoreRepeat>true</pathCostIgnoreRepeat><passability>PassThroughOnly</passability><castEdgeShadows>true</castEdgeShadows><fillPercent>0.65</fillPercent><canOverlapZones>false</canOverlapZones><thingCategories><li>BuildingsSecurity</li></thingCategories><minifiedDef>MinifiedThing</minifiedDef><statBases><MaxHitPoints>450</MaxHitPoints><Beauty>-10</Beauty><WorkToBuild>180</WorkToBuild><Mass>2</Mass><Flammability>0</Flammability><Mass>10</Mass></statBases><building><ai_chillDestination>false</ai_chillDestination><isInert>true</isInert><blueprintGraphicData><texPath>Things/Building/Linked/Sandbags_Blueprint_Atlas</texPath></blueprintGraphicData></building><placingDraggableDimensions>1</placingDraggableDimensions><costList><Cloth>2</Cloth><Steel>2</Steel><SandPile>1</SandPile></costList><filthLeaving>SandbagRubble</filthLeaving><rotatable>false</rotatable><selectable>true</selectable><neverMultiSelect>true</neverMultiSelect><terrainAffordanceNeeded>Light</terrainAffordanceNeeded><designationCategory>Security</designationCategory><staticSunShadowHeight>0.20</staticSunShadowHeight><constructEffect>ConstructDirt</constructEffect><repairEffect>ConstructDirt</repairEffect><designationHotKey>Misc1</designationHotKey><minifiedDef>MinifiedThing</minifiedDef><thingCategories><li>BuildingsSecurity</li></thingCategories></ThingDef>

XML error: Duplicate XML node name Mass in this XML block: <statBases><MaxHitPoints>450</MaxHitPoints><Beauty>-10</Beauty><WorkToBuild>180</WorkToBuild><Mass>2</Mass><Flammability>0</Flammability><Mass>10</Mass></statBases>

Root node: <ThingDef ParentName="BuildingBase"><defName>Sandbags</defName><label>sandbags</label><description>Bags of locally-sourced dirt or sand held in place by steel rods. Sandbags are ugly, but provide excellent cover from ranged attacks.</description><thingClass>Building</thingClass><category>Building</category><graphicData><texPath>Things/Building/Linked/Sandbags_Atlas</texPath><graphicClass>Graphic_Single</graphicClass><linkType>Basic</linkType><linkFlags><li>Sandbags</li></linkFlags><color>(139,122,87)</color></graphicData><uiIconPath>Things/Building/Linked/Sandbags_MenuIcon</uiIconPath><uiIconColor>(139,122,87)</uiIconColor><altitudeLayer>Building</altitudeLayer><pathCost>40</pathCost><pathCostIgnoreRepeat>true</pathCostIgnoreRepeat><passability>PassThroughOnly</passability><castEdgeShadows>true</castEdgeShadows><fillPercent>0.65</fillPercent><canOverlapZones>false</canOverlapZones><thingCategories><li>BuildingsSecurity</li></thingCategories><minifiedDef>MinifiedThing</minifiedDef><statBases><MaxHitPoints>450</MaxHitPoints><Beauty>-10</Beauty><WorkToBuild>180</WorkToBuild><Mass>2</Mass><Flammability>0</Flammability><Mass>10</Mass></statBases><building><ai_chillDestination>false</ai_chillDestination><isInert>true</isInert><blueprintGraphicData><texPath>Things/Building/Linked/Sandbags_Blueprint_Atlas</texPath></blueprintGraphicData></building><placingDraggableDimensions>1</placingDraggableDimensions><costList><Cloth>2</Cloth><Steel>2</Steel><SandPile>1</SandPile></costList><filthLeaving>SandbagRubble</filthLeaving><rotatable>false</rotatable><selectable>true</selectable><neverMultiSelect>true</neverMultiSelect><terrainAffordanceNeeded>Light</terrainAffordanceNeeded><designationCategory>Security</designationCategory><staticSunShadowHeight>0.20</staticSunShadowHeight><constructEffect>ConstructDirt</constructEffect><repairEffect>ConstructDirt</repairEffect><designationHotKey>Misc1</designationHotKey><minifiedDef>MinifiedThing</minifiedDef><thingCategories><li>BuildingsSecurity</li></thingCategories></ThingDef>
It is about sandbags, does another mod beside Fertile Field modify the Sandbags ?

QuoteFailed to patch EdB.PrepareCarefully.PanelAppearance: System.TypeLoadException: Could not load type 'EdB.PrepareCarefully.CustomPawn' from assembly 'EdBPrepareCarefully, Version=1.0.13.0, Culture=neutral, PublicKeyToken=null'.
  at (wrapper managed-to-native) System.Reflection.MonoMethodInfo:get_method_info (intptr,System.Reflection.MonoMethodInfo&)
  at System.Reflection.MonoMethodInfo.GetMethodInfo (IntPtr handle) [0x00000] in <filename unknown>:0
  at System.Reflection.MonoMethod.GetPseudoCustomAttributes () [0x00000] in <filename unknown>:0
  at System.MonoCustomAttrs.GetPseudoCustomAttributes (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in <filename unknown>:0
  at System.MonoCustomAttrs.GetCustomAttributesBase (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in <filename unknown>:0
  at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0
  at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, Boolean inherit) [0x00000] in <filename unknown>:0
  at System.Reflection.MonoMethod.GetCustomAttributes (Boolean inherit) [0x00000] in <filename unknown>:0
  at Harmony.HarmonyMethodExtensions.GetHarmonyMethods (System.Reflection.MethodBase method) [0x00000] in <filename unknown>:0
  at Harmony.HarmonyMethod.ImportMethod (System.Reflection.MethodInfo theMethod) [0x00000] in <filename unknown>:0
  at Harmony.HarmonyMethod..ctor (System.Type type, System.String name, System.Type[] parameters) [0x00000] in <filename unknown>:0
  at GradientHair.GradientHair..ctor (Verse.ModContentPack pack) [0x00000] in <filename unknown>:0
Did EdB Prepare Carefully worked ?
I think you are missing the assemblies folder, maybe check the installation.

You use
[1.0] Android Resurrection Kit:
but not the Android race mod, that cause minor error's too.

SaltShaker

#2
Thanks for checking this out.
Quote from: Canute on November 18, 2019, 02:03:40 AM
The error is about storage and hauling.
I only saw Ogrestack and stackable chunks that change anything at the first look.
You should try at first to create a small new stockpile that accept all, with a low priority.
Check if the error/flickering goes away, and then what does get hauled into it.

Flickering did not stop after making the new stockpile. The only thing hauled into the new stockpile was animal corpses from around the map (not in any of my other stockpiles at the time) even with all colonists haul priority set to 1.

QuoteWhen the error doesn't go away try to disable stackable chunks then ogrestack.
Do you got any minified things that shouldn't minified by default ?

Disabling stackable chunks and not OgreStack did not fix the flickering. In this scenario, the only uninstalled/minified (I haven't seen "minified" before, from what I can tell I think it means uninstalled. Sorry if I'm mistaken :)) object I have is a wood-fired generator. Deconstructing it and installing it did not fix the flickering.

With both Stackable Chunks and OgreStack removed, the flickering is not fixed. Deconstructing/installing the generator had no effect.

I do have Uninstall Rimworld activated, but as said I only had the one item uninstalled/minified at the time when the flickering started.

QuoteI saw some other starting errors
...
It is about sandbags, does another mod beside Fertile Field modify the Sandbags ?

As far as I can tell and remember, no.

Quote
Did EdB Prepare Carefully worked ?
I think you are missing the assemblies folder, maybe check the installation.

It appears to be working at the moment.

How would I check the installation?

QuoteYou use
[1.0] Android Resurrection Kit:
but not the Android race mod, that cause minor error's too.

Is this the Androids mod you mean?

My bad, found the right one.

SaltShaker

#3
Newer HugsLib list: https://gist.github.com/d5167e68c188a5f085d833c01e4956ea

I've also gone back a few autosaves and the issue continues in save files which were totally fine earlier, so there doesn't seem to be a specific trigger for it in the current save file.

Canute

- You don't RIMMSLoadUp anymore, the mod got integrated into the latest Rimworld versions.

Quote
Quote
    Did EdB Prepare Carefully worked ?
    I think you are missing the assemblies folder, maybe check the installation.

It appears to be working at the moment.
Ok, i think it is more another mod try to patch EdB PC.
Try to move EdB PC right below the Humanoid Alien Races and check if this error disappear.
But it should do anything against your flickering.

- Curious you added the Android Tiers mod, but the
"Could not resolve cross-reference to Verse.ThingDef named RepairKitAT (wanter=thingDefs)"
didn't disappear. No idea.
But that shouldn't affect your current colony anyway.

About the main problem.
I got a last idea, since i still think it is about hauling and stockpiles.
Just delete all stockpiles (zoom out, then double click at one to select all, then delete them), maybe safe and reload to a new safe, so you can reload your old one if that didn't helped.

If not maybe someone else got some ideas.




SaltShaker

Quote from: Canute on November 18, 2019, 07:47:52 AM
- You don't RIMMSLoadUp anymore, the mod got integrated into the latest Rimworld versions.

Quote
Quote
    Did EdB Prepare Carefully worked ?
    I think you are missing the assemblies folder, maybe check the installation.

It appears to be working at the moment.
Ok, i think it is more another mod try to patch EdB PC.
Try to move EdB PC right below the Humanoid Alien Races and check if this error disappear.
But it should do anything against your flickering.

- Curious you added the Android Tiers mod, but the
"Could not resolve cross-reference to Verse.ThingDef named RepairKitAT (wanter=thingDefs)"
didn't disappear. No idea.
But that shouldn't affect your current colony anyway.

About the main problem.
I got a last idea, since i still think it is about hauling and stockpiles.
Just delete all stockpiles (zoom out, then double click at one to select all, then delete them), maybe safe and reload to a new safe, so you can reload your old one if that didn't helped.

If not maybe someone else got some ideas.

Changing the order of Prepare Carefully did not remove the relevant error.

Good news, though. Deleting my main food stockpile (just one of the 3 I had) fixed the flickering issue, oddly enough. Seems like that's fixed it, since making a new stockpile with the same settings does not start the flickering again.

New HugsLib list from when flickering stopped: https://gist.github.com/1e076046c7de58422e0e38d1a1c64ca8

Canute

Since the main problem is gone, no more change adjust is realy needed.

But generell, when you add/activate mods you allways should check the log window (you prolly need to enable the dev mode to see/open it with the icon's on top) if error's (red text) appear at a rimworld startup.
Activate new mod's at smaller batches so it is easyer to identify the mod which cause the error. Better don't use a mod that cause error and wait for updates of these mod or maybe help from the mod author/discussion.

ReZpawner

Since I recently had a similar issue:
If you remove mods, or they are changed significantly, you may encounter the grey-map issue. The only way that I know of to avoid it is to disable the mod in question prior to saving the game, before updating.  To disable it, you must go into the main menu > mods > click the mod > select deactivate. (Not all mods have this option, so you may be out of luck here. )
Then save your game, close the game, update, and load the savegame as you usually would.

For the mod load order problem, you can simply deactivate them all, and click on load game. Select a saved game where it worked, and load that.  You'll get a message about mods, so just select "load mod list from save". That should load all the mods in the correct order for that savegame.