private DummyRecording ImportDummyRecording(int slotNr)
        {
            if (Directory.Exists(Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "\\Recordings")))
            {
                Directory.CreateDirectory(Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "\\Recordings"));
            }

            var ofd = new OpenFileDialog
            {
                Filter           = "Guilty Gear Dummy Recording|*.ggdr",
                InitialDirectory = Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "\\Recordings")
            };

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                var data = File.ReadAllBytes(ofd.FileName);
                if (data.Length != DummyRecording.DUMMYRECORDING_SIZE)
                {
                    MessageBox.Show("Invalid size for GGDR file");
                    return(null);
                }

                var recording = new DummyRecording(data);
                DummyRecordingManager.WriteDummyRecording(recording, slotNr);

                return(recording);
            }

            return(null);
        }
        public static DummyRecording[] ReadDummyRecordings()
        {
            var dummyRecordingData = ProcessMemoryManager.ReadProcessMemory(PROCESS_NAME, DUMMY_SLOT1_POINTER, DUMMYRECORDING_SIZE * 5, true);

            var recording1 = new DummyRecording(dummyRecordingData, 0);
            var recording2 = new DummyRecording(dummyRecordingData, 1);
            var recording3 = new DummyRecording(dummyRecordingData, 2);

            return(new[] { recording1, recording2, recording3 });
        }
        private void ClearDummyRecordingData(int slotNr)
        {
            var emptyRecording = new DummyRecording(new byte[DummyRecording.DUMMYRECORDING_SIZE]);

            DummyRecordingManager.WriteDummyRecording(emptyRecording, slotNr);
        }
        public static void WriteDummyRecording(DummyRecording recording, int slotNr)
        {
            var data = recording.RecordingData;

            ProcessMemoryManager.WriteProcessMemory(PROCESS_NAME, DUMMY_SLOT1_POINTER, data, true, DUMMYRECORDING_SIZE * slotNr);
        }