[A17/A18] [WIP] Warhammer 40k Corruption

Started by Cpt.Ohu, December 22, 2016, 05:17:18 AM

Previous topic - Next topic

madd_mugsy

#120
Quote from: Justas love on April 29, 2017, 09:32:43 AM
Tried to get a resource "Things/Items/Books/Cover_BookOldA" from a different thread. All resources must be loaded in the main thread.
Verse.Log:Error(String)
Verse.ContentFinder`1:Get(String, Boolean)
Verse.Graphic_Single:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(String, Shader, Vector2, Color, Color)
Corruption.BookStuff.ReadableBooks:ReadFormXML()
Corruption.BookStuff.ReadableBooks:SpawnSetup(Map)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map, Rot4)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map)
Verse.GenPlace:TryPlaceDirect(Thing, IntVec3, Map, Thing&, Action`2)
Verse.GenPlace:TryPlaceThing(Thing, IntVec3, Map, ThingPlaceMode, Thing&, Action`2)
Verse.GenStep_ScatterThings:ScatterAt(IntVec3, Map, Int32)
Verse.GenStep_ScatterThings:Generate(Map)
EdB.PrepareCarefully.GenStep_ScenParts:SpawnStartingResources(Map)
EdB.PrepareCarefully.GenStep_ScenParts:Generate(Map)
Verse.MapGenerator:GenerateContentsIntoMap(MapGeneratorDef, Map)
Verse.MapGenerator:GenerateMap(IntVec3, Int32, MapParent, Action`1, MapGeneratorDef)
Verse.Game:InitNewGame()
Verse.Root_Play:<Start>m__737()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__733()


Tried to get a resource "Things/Items/Books/Cover_BookOldA_m" from a different thread. All resources must be loaded in the main thread.
Verse.Log:Error(String)
Verse.ContentFinder`1:Get(String, Boolean)
Verse.Graphic_Single:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(String, Shader, Vector2, Color, Color)
Corruption.BookStuff.ReadableBooks:ReadFormXML()
Corruption.BookStuff.ReadableBooks:SpawnSetup(Map)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map, Rot4)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map)
Verse.GenPlace:TryPlaceDirect(Thing, IntVec3, Map, Thing&, Action`2)
Verse.GenPlace:TryPlaceThing(Thing, IntVec3, Map, ThingPlaceMode, Thing&, Action`2)
Verse.GenStep_ScatterThings:ScatterAt(IntVec3, Map, Int32)
Verse.GenStep_ScatterThings:Generate(Map)
EdB.PrepareCarefully.GenStep_ScenParts:SpawnStartingResources(Map)
EdB.PrepareCarefully.GenStep_ScenParts:Generate(Map)
Verse.MapGenerator:GenerateContentsIntoMap(MapGeneratorDef, Map)
Verse.MapGenerator:GenerateMap(IntVec3, Int32, MapParent, Action`1, MapGeneratorDef)
Verse.Game:InitNewGame()
Verse.Root_Play:<Start>m__737()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__733()


Tried to get a material from a different thread.
Verse.Log:Error(String)
Verse.MaterialPool:MatFrom(MaterialRequest)
Verse.Graphic_Single:Init(GraphicRequest)
Verse.GraphicDatabase:GetInner(GraphicRequest)
Verse.GraphicDatabase:Get(String, Shader, Vector2, Color, Color)
Corruption.BookStuff.ReadableBooks:ReadFormXML()
Corruption.BookStuff.ReadableBooks:SpawnSetup(Map)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map, Rot4)
Verse.GenSpawn:Spawn(Thing, IntVec3, Map)
Verse.GenPlace:TryPlaceDirect(Thing, IntVec3, Map, Thing&, Action`2)
Verse.GenPlace:TryPlaceThing(Thing, IntVec3, Map, ThingPlaceMode, Thing&, Action`2)
Verse.GenStep_ScatterThings:ScatterAt(IntVec3, Map, Int32)
Verse.GenStep_ScatterThings:Generate(Map)
EdB.PrepareCarefully.GenStep_ScenParts:SpawnStartingResources(Map)
EdB.PrepareCarefully.GenStep_ScenParts:Generate(Map)
Verse.MapGenerator:GenerateContentsIntoMap(MapGeneratorDef, Map)
Verse.MapGenerator:GenerateMap(IntVec3, Int32, MapParent, Action`1, MapGeneratorDef)
Verse.Game:InitNewGame()
Verse.Root_Play:<Start>m__737()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__733()


The game is working fine, just these errors showed up when the colony started, the book (speeches of kikero) doesnt have a texture and is just a pink block. everyrhitng is fine atm

I had these same errors.  I tried removing the dropship from the scenario and then it worked without any errors and with the texture applied correctly.

Also, I tried making the other dropships usable at the start by adding <CanBeStartingShip>true</CanBeStartingShip> to their comps like the OHUDropShip's comps, and they show up correctly in the scenario editor, but when I click on one of them in the list, I get the following error message, and the ship doesn't actually get selected:


Exception filling window for Verse.FloatMenu: System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[Verse.ThingDef].get_Item (Int32 index) [0x00000] in <filename unknown>:0
  at Corruption.Ships.ScenPart_StartWithShip+<>c__DisplayClass9_1.<DoEditInterface>b__1 () [0x00000] in <filename unknown>:0
  at Verse.FloatMenuOption.Chosen (Boolean colonistOrdering) [0x00000] in <filename unknown>:0
  at Verse.FloatMenuOption.DoGUI (Rect rect, Boolean colonistOrdering) [0x00000] in <filename unknown>:0
  at Verse.FloatMenu.DoWindowContents (Rect rect) [0x00000] in <filename unknown>:0
  at HugsLib.GuiInject.WindowDetour+<>c__DisplayClass1.<_WindowOnGUI>b__0 (Int32 x) [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
HugsLib.GuiInject.<>c__DisplayClass1:<_WindowOnGUI>b__0(Int32)
UnityEngine.GUI:CallWindowDelegate(WindowFunction, Int32, GUISkin, Int32, Single, Single, GUIStyle)


Did I miss something when trying to set the other ships as starting vehicles, or did I preemptively find a bug before other ships are actually selectable?

Unrelated:  I made a quick and dirty EPOE surgery compatibility xml file (by bastardizing the Xen one).  If anyone's interested, you can grab it from here: 
https://dl.dropboxusercontent.com/u/76356832/40K_AlienSurgery.xml

Cpt.Ohu

Thank you for putting together that EPOE patch.

The selection error for the other dropship is an error in the listing code. I'll go fix that. Generally I'm currently trying to shift around the ships dll for this mod, because atm it's part of the big DLL.

Since  ist  texture loading is also part of this problem, I hope I can fix both simultaneously 

madd_mugsy

One more thing that I noticed, and I'm not sure whether it belongs here or in the Ships thread...

I noticed that when I have either Corruption or OHU Ships (never both) enabled, there appears to be a memory leak.  Because it also happens with OHU ships, I'm thinking it may be ship-related.  I have a lot of mods installed, so I'm pretty vigorous about testing for leaks because I've had the game CTD on me too many times because it's hit that 3.6GB 32-bit threshold (they really need to make this game 64-bit  :( ).

To recreate the leak I start a new game, wait for the map to load and my colonists to land, and then just pause it (and/or minimize it - I play in windowed mode) and watch the task manager.  My game starts out using around 2.8GB, and normally, even with many mods loaded, it'll just hover around that amount.  However, with either ships or corruption enabled, the memory usage continues to increase while paused and eventually the game will run out of memory and crash.

Has anyone else noticed this?  It could just be that something with the ships is interacting oddly with another mod...

Cpt.Ohu

I'll check that. Currently I'm restructuring the ships mod within the corruption mod and changing the loading system, so I'll try to find the reason for the leak along the way.

Orpheus

First off, I love this mod.  You've done, and are still doing, an incredible job.  However (sorry!) I did notice a couple of minor issues, some of which you may not be aware of.
I can confirm the massive memory leak whenever the dropship is in play, it happens with either this mod or the dropship-only one and doesn't seem to be related to any other mods.
Also, I believe somebody already mentioned that all the books are pink squares, and they spam error messages about not finding something in the right place (I think - I don't really understand the code).
Some of the weapons, particularly the Standard Issue Lasgun and Laspistol, are unable to be hauled, because the game apparently doesn't recognise them as belonging to any stockpile category.  This might apply to some other items as well, but those are the ones that I specifically noticed.
There are two weapons called Standard Issue Bolt Pistol, and they have different stats.  Maybe rename one to Astartes Bolt Pistol?
Using this mod with Prepare Carefully, I noticed that a new entry is added to the Appearance customization section.  I can select a pawn's race, but confusingly there are three entries each for Human and Tau races.  I had to experiment to discover that these are separate race definitions for Mechanicus, Sororitas and default Rimworld humans, and for Fire, Water and Ethereal-caste Tau.  It might be helpful for some players if the race names made this distinction clear.
On that note, one of the Ethereal backstories has the exact same text as the Fire Warrior one, but gives the correct bonus to Social rather than Shooting.
There are two apparel items called Eldar Ranger Robe, one is body armour and the other is (I think?) defined as a hat.  Again, this is a little confusing.
Finally, both extremes of the psyker scale seem to crop up far too often.  Out of ten random human pawns, I got three Omegas, three Deltas and an Epsilon.  Out of curiosity I then randomized dozens of characters, and it definitely seems that if anything, extremes are more common than intermediate levels.
I do realize that this is still in development and bugs are inevitable, and also that people may have already raised some or all of the points I mentioned (my wi-fi's pretty bad, I didn't read the whole thread because I wanted to post this before I lose my connection!)
Once again, amazing work - keep it up!

Cpt.Ohu

Thank you for your kind words and your report.

The race labelling was originally put in like that because from an Imperial  point of view,  Mechanicus and Sorotitas are still human,  just as the Tau are considered one race, even though they are divided by castes. If it helps clarity, I'll put something in brackets after the Base name.

The hauling issue is noted, seems like an oversight in the defs, just like the confusing descriptions.

The book texture stuff probably stems from a problem with the dropship mod, since this mod contains an earlier and modified version of it.

I haven't yet found the origin of the leak, but I'm on it.

The psyker probability is still in testing mode, where it is picked with a simple randomize code. Interesting that this isn't that random after all. I will put in a new formula which follows a more Gaussian distribution.

Orpheus

Wow, that was quick!  It's really good to see that you're paying attention and taking things on-board.

Just out of curiosity, wouldn't it have been easier to use mutually-exclusive traits for psychic powers?  So any given pawn could potentially have (for example) an Omega or Epsilon trait, and those who didn't roll one of these traits would simply be average.  I'm not saying that would be better, but it does seem simpler - I just wondered if there was some specific reason why you didn't do it that way?

Also, on the same subject, random Tau can currently have high-level psyker powers.  According to lore, the entire race has no warp presence (soulless, in Imperial terms), so they should probably be forced to Omicron or even Omega?  (Lore is unclear about whether they'd qualify as Pariahs or merely as passively non-psychic)

Cpt.Ohu

Tau having psykers isn't intended, seems I didn't set their probability level low enough.

As for normal traits: I don't want to clutter the trait tab. The psyker level is a trait in itself, just a custom defined one. The pawn alignment tab shows a few of those.

Raizen

I really like your mod! is it possible to make implants shoot projectiles? I can only make them melee but not range. :C
Also, can you add broadside as turrets that we can mount like mortars ? :D I would love to try and help with the drawing.

Cpt.Ohu

Quote from: Raizen on May 04, 2017, 11:02:16 PM
I really like your mod! is it possible to make implants shoot projectiles? I can only make them melee but not range. :C
Also, can you add broadside as turrets that we can mount like mortars ? :D I would love to try and help with the drawing.

I was already fiddling with shooting mechadendrites, but so far I didn't have any success.

SirTokaryev

Planetary Governor is null

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

System.NullReferenceException: Object reference not set to an instance of an object
  at Corruption.CorruptionStoryTracker.InitializeTitheCollection () [0x00000] in <filename unknown>:0
  at Corruption.CorruptionStoryTracker.Tick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.WorldObjectsHolder.WorldObjectsHolderTick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.World.WorldTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Planetary Governor is null

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

System.NullReferenceException: Object reference not set to an instance of an object
  at Corruption.CorruptionStoryTracker.InitializeTitheCollection () [0x00000] in <filename unknown>:0
  at Corruption.CorruptionStoryTracker.Tick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.WorldObjectsHolder.WorldObjectsHolderTick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.World.WorldTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)
...

mortul

I  (and i dont think i would be the only one) would love it if you could make a small standalone mod with ALL the ships in this mod (yeah i know there is [A16] Orbital Hubs United) that would be really cool

SirTokaryev

can't load savefile after building tithes container. Log file is huge, I sent in PM link to log file.

Cpt.Ohu

Quote from: SirTokaryev on May 05, 2017, 10:31:54 AM
Planetary Governor is null

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

System.NullReferenceException: Object reference not set to an instance of an object
  at Corruption.CorruptionStoryTracker.InitializeTitheCollection () [0x00000] in <filename unknown>:0
  at Corruption.CorruptionStoryTracker.Tick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.WorldObjectsHolder.WorldObjectsHolderTick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.World.WorldTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Planetary Governor is null

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

System.NullReferenceException: Object reference not set to an instance of an object
  at Corruption.CorruptionStoryTracker.InitializeTitheCollection () [0x00000] in <filename unknown>:0
  at Corruption.CorruptionStoryTracker.Tick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.WorldObjectsHolder.WorldObjectsHolderTick () [0x00000] in <filename unknown>:0
  at RimWorld.Planet.World.WorldTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)
...
Quote from: SirTokaryev on May 06, 2017, 09:43:55 AM
can't load savefile after building tithes container. Log file is huge, I sent in PM link to log file.

Both noted and fixed for the next update.

Element-115

Saving during a sermon makes the savefile unusable (game crashes each time it's loaded)