Пример #1
0
        public SaveBlockAccessor7SM(SAV7SM sav)
        {
            var bi = BlockInfo;

            Items       = new MyItem7SM(sav, 0);
            Situation   = new Situation7(sav, bi[01].Offset);
            MyStatus    = new MyStatus7(sav, bi[03].Offset);
            Zukan       = new Zukan7(sav, bi[06].Offset, 0x550);
            Misc        = new Misc7(sav, bi[09].Offset);
            FieldMenu   = new FieldMenu7(sav, bi[10].Offset);
            Config      = new ConfigSave7(sav, bi[11].Offset);
            GameTime    = new GameTime7(sav, bi[12].Offset);
            BoxLayout   = new BoxLayout7(sav, bi[13].Offset);
            ResortSave  = new ResortSave7(sav, bi[15].Offset);
            Played      = new PlayTime6(sav, bi[16].Offset);
            Overworld   = new FieldMoveModelSave7(sav, bi[17].Offset);
            Fashion     = new FashionBlock7(sav, bi[18].Offset);
            Festa       = new JoinFesta7(sav, bi[21].Offset);
            PokeFinder  = new PokeFinder7(sav, bi[26].Offset);
            MysteryGift = new MysteryBlock7(sav, bi[27].Offset);
            Records     = new RecordBlock6(sav, bi[28].Offset);
            BattleTree  = new BattleTree7(sav, bi[32].Offset);
            Daycare     = new Daycare7(sav, bi[33].Offset);
        }
Пример #2
0
        private void GetSAVOffsets()
        {
            /* 00 */ Bag      = Blocks[00].Offset;        // 0x00000  // [DE0]    MyItem
            /* 01 */ Trainer1 = Blocks[01].Offset;        // 0x00E00  // [07C]    Situation
            /* 02 */                                      //  = Blocks[02].Offset; // 0x01000  // [014]    RandomGroup
            /* 03 */ TrainerCard   = Blocks[03].Offset;   // 0x01200  // [0C0]    MyStatus
            /* 04 */ Party         = Blocks[04].Offset;   // 0x01400  // [61C]    PokePartySave
            /* 05 */ EventConst    = Blocks[05].Offset;   // 0x01C00  // [E00]    EventWork
            /* 06 */ PokeDex       = Blocks[06].Offset;   // 0x02A00  // [F78]    ZukanData
            /* 07 */ GTS           = Blocks[07].Offset;   // 0x03A00  // [228]    GtsData
            /* 08 */ Fused         = Blocks[08].Offset;   // 0x03E00  // [104]    UnionPokemon
            /* 09 */ Misc          = Blocks[09].Offset;   // 0x04000  // [200]    Misc
            /* 10 */ Trainer2      = Blocks[10].Offset;   // 0x04200  // [020]    FieldMenu
            /* 11 */ ConfigSave    = Blocks[11].Offset;   // 0x04400  // [004]    ConfigSave
            /* 12 */ AdventureInfo = Blocks[12].Offset;   // 0x04600  // [058]    GameTime
            /* 13 */ PCLayout      = Blocks[13].Offset;   // 0x04800  // [5E6]    BOX
            /* 14 */ Box           = Blocks[14].Offset;   // 0x04E00  // [36600]  BoxPokemon
            /* 15 */ Resort        = Blocks[15].Offset;   // 0x3B400  // [572C]   ResortSave
            /* 16 */ PlayTime      = Blocks[16].Offset;   // 0x40C00  // [008]    PlayTime
            /* 17 */ Overworld     = Blocks[17].Offset;   // 0x40E00  // [1080]   FieldMoveModelSave
            /* 18 */ Fashion       = Blocks[18].Offset;   // 0x42000  // [1A08]   Fashion
            /* 19 */                                      //  = Blocks[19].Offset; // 0x43C00  // [6408]   JoinFestaPersonalSave
            /* 20 */                                      //  = Blocks[20].Offset; // 0x4A200  // [6408]   JoinFestaPersonalSave
            /* 21 */ JoinFestaData = Blocks[21].Offset;   // 0x50800  // [3998]   JoinFestaDataSave
            /* 22 */                                      //  = Blocks[22].Offset; // 0x54200  // [100]    BerrySpot
            /* 23 */                                      //  = Blocks[23].Offset; // 0x54400  // [100]    FishingSpot
            /* 24 */                                      //  = Blocks[24].Offset; // 0x54600  // [10528]  LiveMatchData
            /* 25 */                                      //  = Blocks[25].Offset; // 0x64C00  // [204]    BattleSpotData
            /* 26 */ PokeFinderSave  = Blocks[26].Offset; // 0x65000  // [B60]    PokeFinderSave
            /* 27 */ WondercardFlags = Blocks[27].Offset; // 0x65C00  // [3F50]   MysteryGiftSave
            /* 28 */ Record          = Blocks[28].Offset; // 0x69C00  // [358]    Record
            /* 29 */                                      //  = Blocks[29].Offset; // 0x6A000  // [728]    ValidationSave
            /* 30 */                                      //  = Blocks[30].Offset; // 0x6A800  // [200]    GameSyncSave
            /* 31 */                                      //  = Blocks[31].Offset; // 0x6AA00  // [718]    PokeDiarySave
            /* 32 */ BattleTree = Blocks[32].Offset;      // 0x6B200  // [1FC]    BattleInstSave
            /* 33 */ Daycare    = Blocks[33].Offset;      // 0x6B400  // [200]    Sodateya
            /* 34 */                                      //  = Blocks[34].Offset; // 0x6B600  // [120]    WeatherSave
            /* 35 */ QRSaveData = Blocks[35].Offset;      // 0x6B800  // [1C8]    QRReaderSaveData
            /* 36 */                                      //  = Blocks[36].Offset; // 0x6BA00  // [200]    TurtleSalmonSave

            // USUM only
            /* 37 */                                      //  = Blocks[37].Offset;   BattleFesSave
            /* 38 */                                      //  = Blocks[38].Offset;   FinderStudioSave

            EventFlag = EventConst + (EventConstMax * 2); // After Event Const (u16)*n
            HoF       = EventFlag + (EventFlagMax / 8);   // After Event Flags (1b)*(1u8/8b)*n

            PokeDexLanguageFlags = 0x550;
            WondercardData       = WondercardFlags + 0x100;

            Played          = new PlayTime6(this, PlayTime);
            MysteryBlock    = new MysteryBlock7(this, WondercardFlags);
            PokeFinder      = new PokeFinder7(this, PokeFinderSave);
            Festa           = new JoinFesta7(this, JoinFestaData);
            DaycareBlock    = new Daycare7(this, Daycare);
            Situation       = new Situation7(this, Overworld);
            MyStatus        = new MyStatus7(this, TrainerCard);
            OverworldBlock  = new FieldMoveModelSave7(this, Overworld);
            Config          = new ConfigSave7(this, ConfigSave);
            GameTime        = new GameTime7(this, AdventureInfo);
            MiscBlock       = new Misc7(this, Misc);
            BoxLayout       = new BoxLayout7(this, PCLayout);
            BattleTreeBlock = new BattleTree7(this, BattleTree);
            ResortSave      = new ResortSave7(this, Resort);
            FieldMenu       = new FieldMenu7(this, Trainer2);
            FashionBlock    = new FashionBlock7(this, Fashion);

            TeamSlots = BoxLayout.TeamSlots;
        }