I don't know if this can be done right now, but I would love it if I could save anytime I wanted/needed to. Having to run back to my house and end the day is very frustrating if I have to turn off my computer really quickly.
For me I'd probably like a save on exit. I don't like to leave my computer on and waste electricity, and I also don't like having to redo the entire day if I do have to exit in the middle of the day.
This is exactly why I can't play much, I know I don't have time to play a whole day to save so I just don't bother but if something like that is added to the game I would be able to play it more often!
I would try and do this with the Storm API since it'd be pretty easy to pretty easy to hook into the quitting events, but I don't see anything that would allow me to hook into the saving mechanism (yet). I'll keep looking and if I see something promising I'll update.
Maybe you can just allow player to go to sleep in any place with some hotkey? This will work like save. PLayer will wake up in home anyway. Or (which I like more) you could add totem to warp home. Player will be able to sleep anywhere. Or I can add beds in every location.
Looking at the function and the SaveGame structure it looks like it might require a little editing to save time of day and stuff and load to that time. Thankfully it looks like the save games are just stored as XML files, so I could see potentially being able to overwrite the required methods. I think player position might be retrievable from the player object if it's not changed on saving, but for the time I'm not sure what to do since it doesn't seem like time is a property of any of the objects being saved and as of yet I haven't figured out where exactly it sets it to the next day on load. I'll try and look at this more soon.
This. A warp home would be great, especially when I'm mining in to the wee hours and have to try to run back before he collapses..
Would the warp functions in this mod help you? http://community.playstarbound.com/threads/smapi-0-37-1-in-game-cheat-menu-v1-5-2-9-mar-2016.108004/
@Svered : This will allow you to save the game: Code: Game1.activeClickableMenu = new StardewValley.Menus.SaveGameMenu(); I've tested binding that to a key and it works. But, when you load the game back up, you wake up in your bed at 6:00am on the same day. Everything you've done up until then is still saved, but the day restarts on load. So, to save your location and time will require some extra work. Hope this helps.
@Snaitf Yeah the SaveGame.Load() function resets the player's position to their bed, but there's nothing saying that their last location wouldn't be saved beforehand. Any chance you could upload and share your save file with me so I can investigate that? Also you could bind StardewValley.SaveGame.Save() to a key and I think that would let you save as well. The Time Change is in Game1.newDayAfterFade() I think, but I can't find where loading a save calls that.
Changing wake up location would be extremly nice. I will finally be able to place beds anywhere I want.
maybe the logic of "Save anywhere, anytime" mod is simple 1. record player's coordinate and time info 2. force to sleep 3. warp to the previous location (dont have to change the wake up point just auto warp to the recorded position will work as well ) 4. change the time. As #13 said date will mentain the same
I don't think this will work. The day will pass anyway, plants will grow, animals will produce something etc. I bet developer would include normal save in game if that were so easy.
I don't think "Game1.activeClickableMenu = new StardewValley.Menus.SaveGameMenu(); " will make plants grow beause you will wake up on the same day. (need a test) As long as we stay away from "Game1.newDayAfterFade()" it should be fine. In addition, hour based process(e.g.Cheese Press) will not affect by the directly time change which I already tried several times by using Cheat Engine. My point is we dont have to find the way changing wake up location, just wake up at the bed and press one key to warp. Saving : press save key →location and time info into .ini .json or whatever file→Game1.activeClickableMenu = new StardewValley.Menus.SaveGameMenu();→game be saved →exit the game) Loading : Normally load the game→press load key→read location and time data→ change the time →warp to the destination