public void TestIsValid()
 {
     using (var stream = File.OpenRead(FilePath))
     {
         Assert.True(SaveFf7Remake.IsValid(stream));
     }
 }
Beispiel #2
0
        public MateriaEntryModel(SaveFf7Remake save, Materia materia)
        {
            _save    = save;
            _materia = materia;

            ItemType      = ItemModel.GetItemModels();
            CharacterType = new KhEnumListModel <CharacterType>(() => Character, x => Character = x);
        }
        private static void AssertSaveGame(SaveFf7Remake save)
        {
            Assert.Equal(36, save.Characters[SaveFf7Remake.Cloud].Level);
            Assert.True(save.Characters[SaveFf7Remake.Cloud].IsUnlocked);
            Assert.Equal(2, save.Characters[SaveFf7Remake.Cloud].AtbBarCount);
            Assert.Equal(4078, save.Characters[SaveFf7Remake.Cloud].CurrentHp);
            Assert.Equal(5882, save.Characters[SaveFf7Remake.Cloud].MaxHp);
            Assert.Equal(112, save.Characters[SaveFf7Remake.Cloud].CurrentMp);
            Assert.Equal(123, save.Characters[SaveFf7Remake.Cloud].MaxMp);

            Assert.Equal(5436, save.Characters[SaveFf7Remake.Barret].MaxHp);
            Assert.Equal(5230, save.Characters[SaveFf7Remake.Tifa].MaxHp);
            Assert.Equal(3265, save.Characters[SaveFf7Remake.Aerith].MaxHp);
            Assert.Equal(3770, save.Characters[SaveFf7Remake.Red13].MaxHp);

            Assert.Equal(51, save.CharactersStats[SaveFf7Remake.Cloud].Vitality);
            Assert.Equal(68, save.CharactersStats[SaveFf7Remake.Barret].Magic);

            Assert.Equal(23, save.CharactersEquipment[SaveFf7Remake.Cloud].Weapon);
            Assert.Equal(4, save.CharactersEquipment[SaveFf7Remake.Red13].Weapon);
            Assert.Equal(0, save.CharactersEquipment[SaveFf7Remake.Red13].Armor);
            Assert.Equal(-1, save.CharactersEquipment[SaveFf7Remake.Red13].Accessory);

            Assert.Equal(1200, save.Materia[0].AbilityPoint);
            Assert.Equal(3, save.Materia[0].Level);
            Assert.Equal(1, save.Materia[0].Index);
            Assert.Equal(CharacterType.Cloud, (CharacterType)save.Materia[0].Character);
            Assert.Equal(InventoryType.Fire, (InventoryType)save.Materia[0].ItemId);

            Assert.Equal(InventoryType.BronzeBangle, save.Inventory[0].Type);
            Assert.Equal(3, save.Inventory[0].Count);

            Assert.Equal(CharacterType.Cloud, (CharacterType)save.CharacterMateria[0].Character);
            Assert.Equal(22, save.CharacterMateria[0].MateriaIndex[0]);

            Assert.Equal(InventoryType.BusterSword, (InventoryType)save.WeaponMateria[0].ItemId);
            Assert.Equal(-1, save.WeaponMateria[0].MateriaIndex[0]);
            Assert.Equal(InventoryType.TwinStinger, (InventoryType)save.WeaponMateria[23].ItemId);
            Assert.Equal(7, save.WeaponMateria[23].MateriaIndex[0]);

            Assert.Equal(51, save.SummonMateria[SaveFf7Remake.Cloud]);

            Assert.Equal(18, save.CurrentChapter);

            for (var i = 0; i < save.ChunkCommon.WeaponMateria.Length; i++)
            {
                if (save.ChunkCommon.WeaponMateria[i].ItemId >= 0)
                {
                    Assert.Equal(save.ChunkCommon.WeaponMateria[i].ItemId, save.ChunkCommon.WeaponFound[i].ItemId);
                }
                else
                {
                    Assert.Equal(-1, save.ChunkCommon.WeaponMateria[i].ItemId);
                    Assert.Equal(0, save.ChunkCommon.WeaponFound[i].ItemId);
                }
            }
        }
 public ChunkEntryModel(SaveFf7Remake save, IRefreshUi refreshUi, Chunk chunk, int index)
 {
     _save = save;
     _refreshUi = refreshUi;
     _chunk = chunk;
     _index = index;
     ImportCommand = new RelayCommand(_ => FileDialog.OnOpen(Import, Filter, $"chunk{_index}"));
     ExportCommand = new RelayCommand(_ => FileDialog.OnSave(Export, Filter, $"chunk{_index}"));
 }
 public CharacterEntryModel(SaveFf7Remake save, int index, EquipmentsViewModel weapons, MateriaViewModel materia)
 {
     _save               = save;
     _characterType      = (CharacterType)index;
     _character          = save.Characters[index];
     _characterStats     = save.CharactersStats[index];
     _characterEquipment = save.CharactersEquipment[index];
     Weapons             = weapons;
     Materia             = materia;
 }
        public void TestWriteBackTheSameExactFile() =>
        File.OpenRead(FilePath).Using(stream => Helpers.AssertStream(stream, inStream =>
        {
            var save = SaveFf7Remake.Read(inStream);

            var outStream = new MemoryStream();
            save.Write(outStream);

            return(outStream);
        }));
Beispiel #7
0
 public MateriaViewModel(SaveFf7Remake save) :
     this(save.Materia.Select((x, i) => new MateriaEntryModel(save, x)))
 {
     _save = save;
 }
 public void ReadSaveTest() =>
 File.OpenRead(FilePath).Using(stream =>
                               AssertSaveGame(SaveFf7Remake.Read(stream)));
 public ChaptersViewModel(SaveFf7Remake save) :
     this(save.Chapters.Select((x, i) => new ChapterEntryModel(x, i, x.Positions[0])))
 {
     CurrentChapterId = GetChapterIdFromChapterNumber(save.CurrentChapter);
 }
Beispiel #10
0
 public CharactersViewModel(SaveFf7Remake save, EquipmentsViewModel weapons, MateriaViewModel materia) :
     this(save.Characters.Select((_, i) => new CharacterEntryModel(save, i, weapons, materia)))
 {
     _save = save;
 }
 public Unknown2ViewModel(SaveFf7Remake save)
 {
     _save     = save;
     ItemTypes = ItemModel.GetItemModels();
 }
 public DeveloperViewModel(SaveFf7Remake save, IRefreshUi refreshUi) :
     base(save.Chunks.Select((x, i) => new ChunkEntryModel(save, refreshUi, x, i)))
 {
     _save      = save;
     _refreshUi = refreshUi;
 }
 public Unknown3ViewModel(SaveFf7Remake save)
 {
     _save          = save;
     CharacterTypes = new KhEnumListModel <CharacterType>();
 }
 public Unknown1ViewModel(SaveFf7Remake save)
 {
     _save = save;
 }
 public GlobalViewModel(SaveFf7Remake save)
 {
     _save         = save;
     CharacterType = new KhEnumListModel <CharacterType>();
 }
Beispiel #16
0
 public InventoryViewModel(SaveFf7Remake save) :
     this(save.Inventory.OrderBy(x => (uint)x.Type).Select(x => new InventroyEntryModel(x)))
 {
 }