Commit Graph

20 Commits

Author SHA1 Message Date
nitsuja a81631b58e made savestates synchronous and immediate. this allows saving or loading while the emulator is paused, fixes issues where savestate hotkeys would get ignored if pressed too close together, might speed up savestates in some cases, and hopefully makes savestates more stable too.
the intent is to replace the haphazard scheduling and finger-crossing associated with saving/loading with the correct and minimal necessary wait for each thread to reach a known safe location before commencing the savestate operation, and for any already-paused components to not need to be resumed to do so.
2012-05-26 13:09:38 +10:00
nitsuja d19c389246 clean up some savestate code 2012-05-26 12:59:08 +10:00
nitsuja c88e4a097e update ui after savestate load (because loading a savestate can affect whether certain items should be grayed out in the menu) 2011-12-18 01:15:59 -08:00
skidau 5d14bb5e70 Changed the save state system to load/save only after the screen has been drawn. This should help stabilise the save states. 2011-10-15 22:19:42 +11:00
Jordan Woyak 78d9f927e1 Eliminated memory leaks of the save state code and put it in a namespace. It is prettier than before, but it could be better (less global usage). Other minor stuff.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7366 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-17 10:17:45 +00:00
nitsuja- 766818baa8 possible savestate memory leak fix in DoBuffer
made Lua run on the CPU thread to fix unreliable script execution issues
several fixes so the Lua savestate functions can actually work
added Lua function savestate.verify to help with catching desyncs
implemented FailVerifyAtFrameBoundary in Lua interface
added a Clear button to the LuaWindow

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5382 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-17 21:02:03 +00:00
XTra.KrazzY a0129e51a3 LUAInterface should have all its functionality now (excluding input/controller management). Now we need a GUI to see how it works. Added new DSP function: ClearAudioBuffer, which clears the audio buffer for pausing. Currently it doesn't work with DSound.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4507 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-07 20:01:39 +00:00
hrydgard e6b87febe5 Save states: Stabilize loads (no more LZO crashes, hopefully), make sure we don't crash if user loads state too quickly in succession
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4276 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 18:54:10 +00:00
XTra.KrazzY c86d2e5129 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
Nolan Check d85f5a6937 Rearrange LogManager includes. The main purpose is to make it possible to modify Thread.h without recompiling the whole entire project.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3770 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-12 21:58:32 +00:00
XTra.KrazzY fd47eb7b44 Save States: 1. Added "Undo Load State" which... undoes load state :)
2. Implemented saving/loading to memory buffers (very fast) for temporal states such as for "undo load state"

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3585 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 21:11:51 +00:00
XTra.KrazzY 7ea2bc5da9 Save States:
1. Added a header, including the Game ID (old states are obsolete unless the gameid is appended to the beginning) so states from different games can't be cross-loaded
2. Added loading/saving from/to file
3. Added loading of last saved state (F11)
4. Added "Undo State": Load the backed up last overwritten state (if you press save instead of load) (F12)
5. State code cleanup

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3560 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-28 01:11:35 +00:00
XTra.KrazzY 46b0fd3c96 1. TAS Groundwork: Saving the state (compression and memory dump to file) is now done on a separate thread (thread-safe). Now state saving is silent and quick.
2. When stopping, GUI doesn't let the user choose another game and effectively crash Dolphin
3. Omitted an unneeded loop in AudioCommon

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3552 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-06-26 22:36:44 +00:00
omegadox eb0cab140f Some code cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2768 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-28 08:57:34 +00:00
bushing 30c883bcfc set svn:eol-style=native for **.h
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1438 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-12-08 04:46:09 +00:00
hrydgard 21b0d596e4 Kill lots of old outdated comments. Some new comments added. Misc style fixes. No effect on emulation.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@894 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-10-16 22:06:06 +00:00
hrydgard 005cbbb379 Basic VBA-style save state system implemented - kb shortcuts only working on Windows. Keyboard shortcut system added. More cleanup in GFX plugins.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@390 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-30 22:06:53 +00:00
hrydgard 5ac5a04982 More state save code, "proper" fix for the quantizer problem
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@382 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-30 13:06:17 +00:00
XTra.KrazzY 051c2e0784 A lot of save state groundwork. Please notify if compilation breaks because
I haven't compiled


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@368 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-28 07:58:04 +00:00
hrydgard 465ee5fd86 Save states - more boring groundwork. Far from done.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@263 8ced0084-cf51-0410-be5f-012b33b47a6e
2008-08-21 23:28:07 +00:00