private ComboRecipe ImportComboRecipe(int slotNr)
        {
            if (Directory.Exists(Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "\\Recipes")))
            {
                Directory.CreateDirectory(Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "\\Recipes"));
            }

            var ofd = new OpenFileDialog
            {
                Filter           = "Guilty Gear Combo Recipe|*.ggcr",
                InitialDirectory = Path.GetFullPath(AppDomain.CurrentDomain.BaseDirectory + "\\Recipes")
            };

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

                var recipe = new ComboRecipe(data);
                ComboRecipeManager.WriteRecipe(recipe, slotNr);

                return(recipe);
            }

            return(null);
        }
示例#2
0
        public static ComboRecipe[] ReadComboRecipes()
        {
            var comboRecipeData = ProcessMemoryManager.ReadProcessMemory(PROCESS_NAME, SLOT1_OFFSET_POINTER, SLOT_DATA_SIZE * 5, true);

            var combo1 = new ComboRecipe(comboRecipeData, 0);
            var combo2 = new ComboRecipe(comboRecipeData, 1);
            var combo3 = new ComboRecipe(comboRecipeData, 2);
            var combo4 = new ComboRecipe(comboRecipeData, 3);
            var combo5 = new ComboRecipe(comboRecipeData, 4);

            return(new[] { combo1, combo2, combo3, combo4, combo5 });
        }
示例#3
0
        public static void WriteRecipe(ComboRecipe recipe, int slotNr = 0)
        {
            var data = recipe.ToRecipeData();

            ProcessMemoryManager.WriteProcessMemory(PROCESS_NAME, SLOT1_OFFSET_POINTER, data, true, SLOT_DATA_SIZE * slotNr);
        }