Exemple #1
0
        private async Task saveState(int slot)
        {
            if (!this.ROMLoaded)
            {
                return;
            }

            ByteWrapper bytes = this.emulator.GetSaveStateData();

            if (bytes != null)
            {
                SaveStateData stateData = new SaveStateData()
                {
                    Data = bytes.AsArray(),
                    Slot = slot
                };
                await this.storage.SaveStateDataAsync(stateData);
            }
#if DEBUG
            else
            {
                System.Diagnostics.Debug.WriteLine("Unable to get save state data.");
            }
#endif
        }
Exemple #2
0
 internal SaveStateData(SaveStateData _data)
 {
     saveStateIdentifier = _data.saveStateIdentifier;
     saveScene           = _data.saveScene;
     cameraLockArea      = _data.cameraLockArea;
     savedPd             = _data.savedPd;
     savedSd             = _data.savedSd;
     savePos             = _data.savePos;
     lockArea            = _data.lockArea;
 }
Exemple #3
0
        public async Task LoadState()
        {
            if (!this.ROMLoaded)
            {
                return;
            }

            SaveStateData state = await this.storage.GetStateDataAsync(this.SaveSlot);

            if (state != null)
            {
                await this.emulator.LoadSaveStateAsync(new ByteWrapper(state.Data));
            }
#if DEBUG
            else
            {
                System.Diagnostics.Debug.WriteLine("No state loaded for slot " + this.SaveSlot);
            }
#endif
        }
Exemple #4
0
        public void LoadStateFromFile(int paramSlot)
        {
            try
            {
                data.filePath = string.Concat(
                    new object[]
                {
                    SaveStateManager.path,
                    "savestate",
                    paramSlot,
                    ".json"
                });
                DebugMod.instance.Log("prep filepath: " + data.filePath);

                if (File.Exists(data.filePath))
                {
                    //DebugMod.instance.Log("checked filepath: " + data.filePath);
                    SaveStateData tmpData = JsonUtility.FromJson <SaveStateData>(File.ReadAllText(data.filePath));
                    try
                    {
                        data.saveStateIdentifier = tmpData.saveStateIdentifier;
                        data.cameraLockArea      = tmpData.cameraLockArea;
                        data.savedPd             = tmpData.savedPd;
                        data.savedSd             = tmpData.savedSd;
                        data.savePos             = tmpData.savePos;
                        data.saveScene           = tmpData.saveScene;
                        data.lockArea            = tmpData.lockArea;
                        DebugMod.instance.Log("Load SaveState ready: " + data.saveStateIdentifier);
                    }
                    catch (Exception ex)
                    {
                        DebugMod.instance.Log(string.Format(ex.Source, ex.Message));
                    }
                }
            }
            catch (Exception ex)
            {
                DebugMod.instance.LogDebug(ex.Message);
                throw ex;
            }
        }
Exemple #5
0
        public virtual void RestoreState(byte[] stateData)
        {
            if (stateData != null)
            {
                XmlSerializer serializer = new XmlSerializer(SaveStateData.GetType());

                try
                {
                    using (MemoryStream memoryStream = new MemoryStream(stateData))
                    {
                        SaveStateData = serializer.Deserialize(memoryStream) as AudioPluginSaveState;
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log("Save state deserialization failed with: " + ex.ToString());
                }

                SaveStateData.RestoreParameterValues(Parameters);
            }
        }
Exemple #6
0
        public virtual byte[] SaveState()
        {
            SaveStateData.SaveParameterValues(Parameters);

            XmlSerializer serializer = new XmlSerializer(SaveStateData.GetType());

            try
            {
                using (MemoryStream memoryStream = new MemoryStream())
                {
                    serializer.Serialize(memoryStream, SaveStateData);

                    return(memoryStream.ToArray());
                }
            }
            catch (Exception ex)
            {
                Logger.Log("Save state serialization failed with: " + ex.ToString());
            }

            return(null);
        }
Exemple #7
0
 internal SaveState()
 {
     data = new SaveStateData();
 }