Help:Save State: Difference between revisions

Help page
(Rearranged the sections for better legibility)
(Added info about regression)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
In this guide we will go over the Save State feature on RPCS3. It aims to inform users what this feature is and how to make use of it. Please note that this is still a fairly new feature that will continue to see changes and improvements over time. This guide will be kept up-to-date accordingly as these changes and improvements take place. So be sure to re-visit it from time to time to stay updated on how to make the best use of this feature.  
In this guide we will go over the Save State feature on RPCS3. It aims to inform users what this feature is and how to make use of it. Please note that this is still a fairly new feature that will continue to see changes and improvements over time. This guide will be kept up-to-date accordingly as these changes and improvements take place. So be sure to re-visit it from time to time to stay updated on how to make the best use of this feature.


== What Is Save State? ==
== What Is Save State? ==
Like most emulators out there, RPCS3 now supports Save State. Save States are not to be confused with Save Data for your games. In simple terms, Save States are snapshots of whatever was happening on RPCS3 at the exact moment when they were performed. This is useful in many scenarios, such as when you are in the middle of a tough encounter in a game and you do not want to fight through a bunch of enemies to get back to where you were, in this scenario you can simply load the Save State you created and pick off exactly from the moment where you took the snapshot, saving you a lot of time and hassle. Of course, there are a whole host of other scenarios you can think of where this feature can come in handy, so we leave it up to the users to experiment with it.
Like most emulators out there, RPCS3 now supports Save State. Save States are not to be confused with Save Data for your games. In simple terms, Save States are snapshots of whatever was happening while in-game in RPCS3 at the exact moment when they were performed. This is useful in many scenarios, such as when you are in the middle of a tough encounter in a game and you do not want to fight through a bunch of enemies to get back to where you were, in this scenario you can simply load the Save State you created and pick off exactly from the moment where you took the snapshot, saving you a lot of time and hassle. Of course, there are a whole host of other scenarios you can think of where this feature can come in handy, so we leave it up to the users to experiment with it.


== How To Use Save State on RPCS3 ==
== How To Use Save State on RPCS3 ==
You can perform a Save State at any time using {{button|Ctrl|S}} during your game-play session.
You can perform a Save State at any time using {{button|Ctrl|S}} during your game-play session. You can load your Save State by <code>right click</code>ing your game, then selecting <code>Boot with savestate</code>, or by dragging and dropping the specific Save State file into the RPCS3 window.


'''Please note that you should NOT perform a Save State:'''  
''<u>Note</u>: You can load your Save State using {{button|Ctrl|R}} as well, <u>but certain conditions have to be met for this to work</u>: '''(1)''' '''Suspend Emulation Savestate Mode''' must be set to '''false''' (read the '''Configuration Options''' section below for detailed information), '''(2)''' '''The game must be booted''', it will '''NOT''' work straight from the RPCS3 window with the game closed at this time (may change in the future).''
 
'''<u>Please note that you should NOT perform a Save State:</u>'''
* When the game is in the middle of saving (i.e. when you see the autosave icon during game-play, or when you are manually saving).
* When the game is in the middle of saving (i.e. when you see the autosave icon during game-play, or when you are manually saving).
* When the game is installing its game data (applies to disc games)
* When the game is installing its game data (applies to disc games).
 
To load your Save State you will need to <code>right click</code> your game, then select <code>boot with savestate</code>. You can also load them by dragging and dropping the specific Save State file into the RPCS3 window. We will add a keyboard shortcut for quick loading a Save State sometime in the future.


[[File:Savestate.PNG|500px|thumb|center|Screenshot showing how to load a save state you have created.]]
[[File:Savestate.PNG|500px|thumb|center|Screenshot showing how to load a save state you have created.]]
Line 17: Line 17:
=== General Notes ===
=== General Notes ===
Here are some general notes and tips regarding the Save State feature:
Here are some general notes and tips regarding the Save State feature:
* '''<u>Currently when you perform a Save State the game will close and you will have to re-boot the game to continue with your game-play session</u>.''' Due to some technical reasons it is not possible to prevent the game from closing at this time. This will be worked on sometime in the future.
* The Save State files will be saved in the <code>savestates</code> folder inside your RPCS3 folder. *
* The Save State files will be saved in the <code>savestates</code> folder inside your RPCS3 folder. *
* Save State files can be shared/exchanged with others.
* Save State files can be shared/exchanged with others.
* Currently when you perform a Save State the game will close and you will have to re-boot the game to continue with your game-play session. Due to some technical reasons it is not possible to prevent the game from closing at this time. This will be worked on sometime in the future.
* The size of each Save State file will vary depending on the game.
* The size of each Save State file will vary depending on the game. Size can range from 50 MB to 2-3 GBs depending on the game and frequency of the feature's usage. This may change and become smaller in size in the future.
* While our aim is to bring changes and improvements to this feature in a way which allows both rapid development of RPCS3 as well as have backwards and forwards compatibility of Save States with older/newer RPCS3 builds, some RPCS3 updates that bring major changes to the feature or the emulator may make your Save States incompatible with older/newer builds.
* While our aim is to bring changes and improvements to this feature in a way which allows both rapid development of RPCS3 as well as have backwards and forwards compatibility of Save States with older/newer RPCS3 builds, some RPCS3 updates that bring major changes to the feature or the emulator may make your Save States incompatible with older/newer builds.


''* <u>Note</u>: Your RPCS3 folder is in <code>~/.config/rpcs3/</code> on Linux, and <code>~/Library/Application Support/rpcs3/</code> on MacOS. If you are unable to locate it on MacOS simply copy/paste the directory shown in Spotlight and hit Enter.''
''* <u>Note</u>: Your RPCS3 folder is in <code>~/.config/rpcs3/</code> on Linux, and <code>~/Library/Application Support/rpcs3/</code> on MacOS. If you are unable to locate it on MacOS simply copy/paste the directory shown in '''Spotlight''' and hit {{button|Enter}}.''


=== Configuration Options ===
=== Configuration Options ===
A few configuration options are available, but they must be adjusted manually in the <code>config.yml</code> file located in your RPCS3 folder. They are located under the <code>Savestate</code> section of the configuration file. '''Keep in mind that if you have created custom configurations for your games you must edit their yml files as well in order for these adjustments to take effect. The files are located in <code>/config/custom_configs/</code> in your RPCS3 folder sorted by their game serial.
A few configuration options are available, they can be adjusted manually in the <code>config.yml</code> file located in your RPCS3 folder or via the GUI. If doing it manually they are located under the <code>Savestate</code> section of the configuration file. '''Keep in mind that if you have created custom configurations for your games you must edit their custom configuration files as well in order for these adjustments to take effect. The files are located in <code>/config/custom_configs/</code> in your RPCS3 folder sorted by their game serial. In the GUI you can access your custom configuration by right clicking your game then selecting <code>Change Custom Configuration</code>.


* <code>Start Paused</code>: <code>false</code> by default. Set to <code>true</code> if you want RPCS3 to pause the emulation when the Save State is loaded.
* <code>Start Paused</code>: <code>false</code> by default. Set to <code>true</code> if you want RPCS3 to pause the emulation when the Save State is loaded. In the GUI this is located in the <code>Advanced</code> tab of <code>Config</code> under <code>Core</code> section.
* <code>Suspend Emulation Savestate Mode</code>: <code>true</code> by default. Set to <code>false</code> if you want RPCS3 to not delete the Save State file after it is loaded. *
* <code>Suspend Emulation Savestate Mode</code>: <code>true</code> by default. Set to <code>false</code> if you want RPCS3 to not delete the Save State file after it is loaded. In the GUI this is located in the same area as the option above. *
* <code>Inspection Mode Savestates</code>: <code>false</code> by default. For debugging purposes. You probably don't need to set this to <code>true</code>.
* <code>Inspection Mode Savestates</code>: <code>false</code> by default. For debugging purposes. You probably don't need to set this to <code>true</code>.


Line 38: Line 38:


* There may be stability and compatibility based issues depending on the game you are trying to perform a Save State on. Enabling <code>Write Colour Buffer</code> in <code>GPU</code> tab and <code>Force CPU Blit</code> in <code>Debug Tab</code> may help with compatibility. '''Do note that enabling these settings will mean that you will be sacrificing a bit of performance in your game.'''
* There may be stability and compatibility based issues depending on the game you are trying to perform a Save State on. Enabling <code>Write Colour Buffer</code> in <code>GPU</code> tab and <code>Force CPU Blit</code> in <code>Debug Tab</code> may help with compatibility. '''Do note that enabling these settings will mean that you will be sacrificing a bit of performance in your game.'''
* You cannot perform it while booted into the VSH (XMB) at this time. This may change in the future.  
* You cannot perform it while booted into the VSH (XMB) at this time. This may change in the future.
* The feature is currently in a regressed/broken state in the newer RPCS3 builds. A fix is being worked on. In the meantime if you would still like to make use of Save States, please downgrade to this build until it is fixed https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-7081b89e976ad7f931c926022bd93ddd9778347c/rpcs3-v0.0.27-14845-7081b89e_win64.7z. This entry will be removed from this section once it has been fixed.


=== How To Report Issues Related To Save State ===
=== How To Report Issues Related To Save State ===

Latest revision as of 22:47, 9 July 2023

In this guide we will go over the Save State feature on RPCS3. It aims to inform users what this feature is and how to make use of it. Please note that this is still a fairly new feature that will continue to see changes and improvements over time. This guide will be kept up-to-date accordingly as these changes and improvements take place. So be sure to re-visit it from time to time to stay updated on how to make the best use of this feature.

What Is Save State?

Like most emulators out there, RPCS3 now supports Save State. Save States are not to be confused with Save Data for your games. In simple terms, Save States are snapshots of whatever was happening while in-game in RPCS3 at the exact moment when they were performed. This is useful in many scenarios, such as when you are in the middle of a tough encounter in a game and you do not want to fight through a bunch of enemies to get back to where you were, in this scenario you can simply load the Save State you created and pick off exactly from the moment where you took the snapshot, saving you a lot of time and hassle. Of course, there are a whole host of other scenarios you can think of where this feature can come in handy, so we leave it up to the users to experiment with it.

How To Use Save State on RPCS3

You can perform a Save State at any time using Ctrl+S during your game-play session. You can load your Save State by right clicking your game, then selecting Boot with savestate, or by dragging and dropping the specific Save State file into the RPCS3 window.

Note: You can load your Save State using Ctrl+R as well, but certain conditions have to be met for this to work: (1) Suspend Emulation Savestate Mode must be set to false (read the Configuration Options section below for detailed information), (2) The game must be booted, it will NOT work straight from the RPCS3 window with the game closed at this time (may change in the future).

Please note that you should NOT perform a Save State:

  • When the game is in the middle of saving (i.e. when you see the autosave icon during game-play, or when you are manually saving).
  • When the game is installing its game data (applies to disc games).
Screenshot showing how to load a save state you have created.

General Notes

Here are some general notes and tips regarding the Save State feature:

  • Currently when you perform a Save State the game will close and you will have to re-boot the game to continue with your game-play session. Due to some technical reasons it is not possible to prevent the game from closing at this time. This will be worked on sometime in the future.
  • The Save State files will be saved in the savestates folder inside your RPCS3 folder. *
  • Save State files can be shared/exchanged with others.
  • The size of each Save State file will vary depending on the game.
  • While our aim is to bring changes and improvements to this feature in a way which allows both rapid development of RPCS3 as well as have backwards and forwards compatibility of Save States with older/newer RPCS3 builds, some RPCS3 updates that bring major changes to the feature or the emulator may make your Save States incompatible with older/newer builds.

* Note: Your RPCS3 folder is in ~/.config/rpcs3/ on Linux, and ~/Library/Application Support/rpcs3/ on MacOS. If you are unable to locate it on MacOS simply copy/paste the directory shown in Spotlight and hit Enter.

Configuration Options

A few configuration options are available, they can be adjusted manually in the config.yml file located in your RPCS3 folder or via the GUI. If doing it manually they are located under the Savestate section of the configuration file. Keep in mind that if you have created custom configurations for your games you must edit their custom configuration files as well in order for these adjustments to take effect. The files are located in /config/custom_configs/ in your RPCS3 folder sorted by their game serial. In the GUI you can access your custom configuration by right clicking your game then selecting Change Custom Configuration.

  • Start Paused: false by default. Set to true if you want RPCS3 to pause the emulation when the Save State is loaded. In the GUI this is located in the Advanced tab of Config under Core section.
  • Suspend Emulation Savestate Mode: true by default. Set to false if you want RPCS3 to not delete the Save State file after it is loaded. In the GUI this is located in the same area as the option above. *
  • Inspection Mode Savestates: false by default. For debugging purposes. You probably don't need to set this to true.

* Note: Disabling Suspend Emulation Savestate Mode may introduce issues when using the same Save State twice or continuing to play after creating a Save State because currently HDD0 state is not saved, meaning that if HDD0 got modified by the game since creation of the Save State it cannot be restored. That is why this setting is enabled by default. USE WITH CAUTION!

Known Issues

As mentioned earlier, the Save State feature is still fairly new and as such, there are some known issues you should be aware of while using it:

  • There may be stability and compatibility based issues depending on the game you are trying to perform a Save State on. Enabling Write Colour Buffer in GPU tab and Force CPU Blit in Debug Tab may help with compatibility. Do note that enabling these settings will mean that you will be sacrificing a bit of performance in your game.
  • You cannot perform it while booted into the VSH (XMB) at this time. This may change in the future.
  • The feature is currently in a regressed/broken state in the newer RPCS3 builds. A fix is being worked on. In the meantime if you would still like to make use of Save States, please downgrade to this build until it is fixed https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-7081b89e976ad7f931c926022bd93ddd9778347c/rpcs3-v0.0.27-14845-7081b89e_win64.7z. This entry will be removed from this section once it has been fixed.

How To Report Issues Related To Save State

If you are experiencing issues while using this feature we encourage you to report them to the appropriate channel by following the steps below:

  1. Play the game until you reach the exact spot (or any spot) that exhibits the issue you want to report.
  2. Pause the emulation (Ctrl+P).
  3. Open Kernel Explorer in Utilities tab on the top menu bar in RPCS3's window and select Log All.
  4. Perform a Save State, then do not exit RPCS3.
  5. Attempt to load the Save State you just created.
  6. Try to repeat steps 2 and 3 if possible.
  7. If the Save State is loading successfully but the issue is only occurring after playing the game for a bit then continue playing until the issue occurs.
  8. Close the game and RPCS3, grab the log, and open an issue thread on our github. Be sure to follow the template. If it is a bug affecting only a specific phase, level, or situation in the game, provide details on how reproduce it and also include your save data for the game (The game save, not the save state. Your saves are located in \dev_hdd0\home\00000001\savedata in your RPCS3 folder).