Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

Luxurious

Infinite night after exiting caves/ruins.

Recommended Posts

Luxurious    358

I was spelunking caves and ruins. When i came back outside it was night. The clock in the upper-right corner was still showing that it was day before. When the day passed the clock just started showing that it will be night all day and nighttime resumed.

 

I don't know how to reproduce the bug. I have found the ruins enterance and went back to the surfice to get some supplies. It was daytime then and everything was A-OK. I went to the ruins and started doing standard stuff: Killed a bunch of hallucinations, mined some Thulecite and statues and killed the Guardian boss. I spent about 2 hours in the ruins and when i came back out to the surfice the bug occurred. Whatever caused the bug must have been in the ruins because i was in Cave Depth 1 for more than 2 hours and everything was fine when i got out to hunt for 2 days. I have tried waiting a day and going back and out of caves, but with no luck.

 

Here is my save file if you need it: bugged.save.zip

 

I will help anyway i can if you need anything else.

Share this post


Link to post
Share on other sites
SethR    1,229

Thanks for the detailed info and for uploading your save game--that will help us look into the issue.

Share this post


Link to post
Share on other sites
rezecib    3,146

I also encountered this. I'd been down to the Ruins and back a couple of times with no problem, this time I spent more time and did a save-and-exit while I was in the Ruins. After loading back in and returning to the surface, infinite night. Here's a screencap with the console up, and my save as well (it's save #3. wigfrid on day 86).

 

Edit: updated save file to a copy after I saved and exited the game (forgot to do that before, oops).

 

@SethR reproduction steps:

  1. Make new game
  2. c_spawn("pickaxe");c_spawn("minerhat")
  3. Pick them up
  4. DebugSpawn("cave_entrance")
  5. Open up the cave entrance and go in
  6. DebugSpawn("cave_entrance")
  7. Open it up, go in
  8. Once in the ruins, save and exit
  9. Load the save
  10. GetSeasonManager():UpdateSegs()

After that, the console showed that all 16 hours were allocated to night, and if you exit that will be the case on the surface.

 

Edit #2: I see that the "onlynight" tuning override gets used both before RoG and in RoG when entering the ruins, but when you save in the ruins in RoG the effects of "onlynight" on the seasonsegs seems to get stuck, so that the next time UpdateSegs gets called it transitions into permanent night, even though the override is not being called on non-ruins depths. I'm guessing it stems from not saving the outside-of-ruins seasonsegs independently, so although the current day reloads with the correct segments, subsequent days adopt the ruins seasonsegs.

post-350174-0-92256200-1395019379_thumb.

remote.zip

Share this post


Link to post
Share on other sites
Ridley    610

I've just had this happen with wickerbottom, this is my favorite file atm, so I will try to find the problem while the devs are away. If I figure it out, I will try to post a solution.

Share this post


Link to post
Share on other sites
rezecib    3,146

I've just had this happen with wickerbottom, this is my favorite file atm, so I will try to find the problem while the devs are away. If I figure it out, I will try to post a solution.

Just figured out steps to reproduce (which should get it fixed but probably won't help already-bugged saves) and edited it into my post. Definitely let me know if you figure out how to fix it, though! I'll be trying to figure that out, too.

 

Edit: Found a way to fix it in a bugged save:

  1. Open the console (backtick-tilde key `/~)
  2. Type: GetSeasonManager():SetSegs({day=8, dusk=4, night=4}, {day=6, dusk=5, night=5}, {day=8, dusk=4, night=4}, {day=11, dusk=3, night=2})
  3. Hit enter, remove console from screen (ctrl+L), and play!

Edit #2: accidentally had "." instead of ":" to call SetSegs (!!)

Share this post


Link to post
Share on other sites
Ridley    610

 

Just figured out steps to reproduce (which should get it fixed but probably won't help already-bugged saves) and edited it into my post. Definitely let me know if you figure out how to fix it, though! I'll be trying to figure that out, too.

 

Edit: Found a way to fix it in a bugged save:

  1. Open the console (backtick-tilde key `/~)
  2. Type: GetSeasonManager().SetSegs({day=8, dusk=4, night=4}, {day=6, dusk=5, night=5}, {day=8, dusk=4, night=4}, {day=11, dusk=3, night=2})
  3. Hit enter, remove console from screen (ctrl+L), and play!

 

 

Ha ha ha ha nice going :grin:

 

I for some reason didn't see what you said in the last post.

 

Edit: Edit: I am having a harder and harder time reading it seems.

Share this post


Link to post
Share on other sites
rezecib    3,146

I typed it when I was back on the surface. What happens for me is that the day gets fixed after that command, and the time of day gets moved to be in the night segment, so I still have to wait for day to roll over.

 

After looking at the code a bit, this might actually result in slightly different day segment lengths, but... I can't tell which ones are the right ones or not. These are the day lengths that are specified as default in seasonmanager, but tuning_override specifies slightly different ones.

 

Edit: @Ridley sorry, I accidentally put a period instead of a colon in the command in my last post (it's fixed now). Try running the command again with that change!

 

Edit#2: @SethR I found a way to fix this bug. In \data\scripts\saveindex.lua, comment out line 223 (should be at the end of the function SaveIndex:LoadSavedSeasonData()):

 

--self.data.slots[self.current_slot].seasondata = nil
 
I tried doing as many things as I could that might bring out other bugs from commenting this out, and came up with no complications.

Share this post


Link to post
Share on other sites
Ridley    610

 

I typed it when I was back on the surface. What happens for me is that the day gets fixed after that command, and the time of day gets moved to be in the night segment, so I still have to wait for day to roll over.

 

 

Hey I just wanted to tell you thanks and it worked! Its so nice having my Wickerbottom file back, I almost had to abandon progress on my new slurper friend.

Share this post


Link to post
Share on other sites
ziyuan2013    9

if you stayed underground for a long time then you back to the ground. The ground will be  the night Forever. Your map will be dark all the time,out of day!! why? Is a bug? Hope to repair!Many players have this problem!

Share this post


Link to post
Share on other sites
rezecib    3,146

if you stayed underground for a long time then you back to the ground. The ground will be  the night Forever. Your map will be dark all the time,out of day!! why? Is a bug? Hope to repair!Many players have this problem!

 

 

Found a way to fix it in a bugged save:

  1. Open the console (backtick-tilde key `/~)
  2. Type: GetSeasonManager():SetSegs({day=8, dusk=4, night=4}, {day=6, dusk=5, night=5}, {day=8, dusk=4, night=4}, {day=11, dusk=3, night=2})
  3. Hit enter, remove console from screen (ctrl+L), and play!

Share this post


Link to post
Share on other sites
BipedalBear    107

I can't believe I understood what you wrote, however, the console doesn't recognize the game hours and called it a nil factor. 

Edit: fixed. Thanks!

Share this post


Link to post
Share on other sites
edi    1

Just figured out steps to reproduce (which should get it fixed but probably won't help already-bugged saves) and edited it into my post. Definitely let me know if you figure out how to fix it, though! I'll be trying to figure that out, too.

 

Edit: Found a way to fix it in a bugged save:

  1. Open the console (backtick-tilde key `/~)
  2. Type: GetSeasonManager():SetSegs({day=8, dusk=4, night=4}, {day=6, dusk=5, night=5}, {day=8, dusk=4, night=4}, {day=11, dusk=3, night=2})
  3. Hit enter, remove console from screen (ctrl+L), and play!

Edit #2: accidentally had "." instead of ":" to call SetSegs (!!)

 

Thanks for posting. Unfortunately, this kind of messes up the always-night-in-ruins thing, so that blue mushrooms are no longer on the surface :/

Share this post


Link to post
Share on other sites
Clwnbaby    938

happened to me too and again like many others my favorite file!!!! Also it didn't occur until I died after coming out of the caves so I have nothing to save myself with in the dark. The above fix worked except my day continued but in the middle of night so my character

Share this post


Link to post
Share on other sites