RimWorld

RimWorld

Real Ruins
Jirro 16 Feb, 2019 @ 9:15pm
Incompatibility with Locks (DoorsExpanded)
Latest update seems to have broken it for me and several others. Pawns cant seem to path through doors spawned in by Real Ruins.
< >
Showing 1-10 of 10 comments
MR. TETEREW  [developer] 17 Feb, 2019 @ 2:18am 
Could you please give a bit more background? For me all doors in ruins are spawned as locked, but I can claim them, unlock and use normally (like in vanilla game). Probably that's not just locks and doors problems, but a combination of several mods at once. Anyway, more info will be very useful.
Jirro 18 Feb, 2019 @ 10:10am 
Of course! It seems that for some reason anytime realruins spawns in a door while Locks (DoorsExpanded) is also active it throws a constant log spam similar to "System.NullReferenceException: Object reference not set to an instance of an object at LocksDoorsExpanded.LockUtility.PawnCanOpen (RimWorld.Building_Door,Verse.Pawn) <0x000de>" for any pawns and animals on the map. In my experience it causes things to break in such a way that the pawns will sit around doing almost nothing, such as refusing to eat/cook meals, which I assume is due to the logspam gunking up the works, but I know almost nothing about modding rimworld. What is even stranger, at least for me, is that turning on god mode and deleting all doors on the map causes the error spam to go away, but turns the screen gray and soft-locks the game.

I will also mention that it looks like this was mentioned to the creator of Locks (DoorsExpanded), but he said that he doesn't have time to focus on correcting at the moment due to work on the Prison Labor mod, but I thought I would mention it here in case others were having a similar issue and were wondering what was up/



Thank you!
SebSeb 18 Feb, 2019 @ 4:08pm 
I'm not entirely sure how it works but it seems it spawn a invisible thingie that's supposed to be linked to de door but when generated through Real Ruins often get a null reference. I make a save and clean the objects from the save file and reload to get rid of the issue. The def is "HeronInvisibleDoor" and it needs a parent door (which is what's null). At least that's the issue I've had
Jirro 19 Feb, 2019 @ 7:36am 
Originally posted by SebSeb:
I'm not entirely sure how it works but it seems it spawn a invisible thingie that's supposed to be linked to de door but when generated through Real Ruins often get a null reference. I make a save and clean the objects from the save file and reload to get rid of the issue. The def is "HeronInvisibleDoor" and it needs a parent door (which is what's null). At least that's the issue I've had

Thanks for the fix! That 100% solved the issue for me.
Lamentaria 23 Feb, 2019 @ 2:44am 
Hey, so how do you go about fixing this? I'm not really knowledgeable with coding and figure it might be handy to add the steps to this thread for people like myself who might not be able to fully pick up what they need to do.

What is it that you need to change the parent door area to?
Or are there other steps you also need to take?
SebSeb 23 Feb, 2019 @ 7:11am 
Sure. When you ancounter this issue:
  1. Make a save
  2. Open the save in your text editor of choice (The options in Rimworld have a "OPen save data folder" button
  3. Search the file for "HeronInvisibleDoor". You'll find something that looks sort of like this:
    <thing Class="DoorsExpanded.Building_DoorRegionHandler"> <def>HeronInvisibleDoor</def> <id>HeronInvisibleDoor264319</id> <map>0</map> <pos>(144, 0, 119)</pos> <faction>Faction_1149</faction> <lastFriendlyTouchTick>3279131</lastFriendlyTouchTick> <Locks_LockData_Owners_current /> <Locks_LockData_Owners_wanted /> <parentDoor>Thing_PH_DoorThickBlastDoor264126</parentDoor> </thing>
  4. If parentDoor says "null" delete the entire block, from "<thing", to "</thing>".
  5. Repeat until you've gone through the file
  6. Save your changes and reload the save

I hope those instruction are clear enough to follow
Last edited by SebSeb; 23 Feb, 2019 @ 7:13am
Lamentaria 23 Feb, 2019 @ 9:22am 
Oh, I thought you had to replace the null with a parent object but that makes more sense.

Thank you very much for the help!
MR. TETEREW  [developer] 1 Mar, 2019 @ 9:10pm 
I've made some compatibility fixes, so I hope it will make it better (I haven't seen any similar bugs after the fix)
Lamentaria 5 Mar, 2019 @ 3:52pm 
I appear to still be having the issue, though when I try to search through the save file "HeronInvisibleDoor" can't be found so I'm unsure how to fix it.
bonesbro 25 Mar, 2019 @ 8:07pm 
I can confirm that I have the same bug. The crash callstack always looks like this:

System.NullReferenceException: Object reference not set to an instance of an object
at LocksDoorsExpanded.LockUtility.PawnCanOpen (RimWorld.Building_Door,Verse.Pawn) <0x000de>
at (wrapper dynamic-method) RimWorld.Building_Door.PawnCanOpen_Patch1 (object,Verse.Pawn) <0x00073>
at (wrapper dynamic-method) RimWorld.Building_Door.CanPhysicallyPass_Patch1 (object,Verse.Pawn) <0x00079>

A good way to repro this is to turn the region spawn rate way up (I used 15x) and start a new colony. You will likely see the error immediately.

My save file also has HeronInvisibleDoor defs with null parentDoors, just like SebSeb reported, and I'll try deleting them and loading that save.

edit: Yes, SebSeb's workaround of deleting those <things> fixed it for me too.
Last edited by bonesbro; 25 Mar, 2019 @ 8:21pm
< >
Showing 1-10 of 10 comments
Per page: 1530 50