public SaveBlockAccessorAODemo(SAV6AODemo sav) { Items = new MyItem6AO(sav, 0x00000); ItemInfo = new ItemInfo6(sav, 0x00C00); GameTime = new GameTime6(sav, 0x00E00); Situation = new Situation6(sav, 0x01000); Played = new PlayTime6(sav, 0x01400); Status = new MyStatus6(sav, 0x03C00); Records = new RecordBlock6(sav, 0x05400); Misc = new Misc6AO(sav, 0x03A00); }
public SaveBlockAccessorXY(SAV6XY sav) { Puff = new Puff6(sav, 0x00000); Items = new MyItem6XY(sav, 0x00400); ItemInfo = new ItemInfo6(sav, 0x01000); GameTime = new GameTime6(sav, 0x01200); Situation = new Situation6(sav, 0x01400); Played = new PlayTime6(sav, 0x01800); Fashion = new Fashion6XY(sav, 0x1A00); Misc = new Misc6XY(sav, 0x4200); BoxLayout = new BoxLayout6(sav, 0x4400); BattleBox = new BattleBox6(sav, 0x04A00); Status = new MyStatus6XY(sav, 0x14000); Zukan = new Zukan6XY(sav, 0x15000, 0x3C8); OPower = new OPower6(sav, 0x16A00); MysteryGift = new MysteryBlock6(sav, 0x1BC00); Records = new RecordBlock6(sav, 0x1E400); SuperTrain = new SuperTrainBlock(sav, 0x1F200); Link = new LinkBlock6(sav, 0x1FE00); Maison = new MaisonBlock(sav, 0x1B000); }
public SaveBlockAccessorAO(SAV6AO sav) { Puff = new Puff6(sav, 0x0000); Items = new MyItem6AO(sav, 0x00400); ItemInfo = new ItemInfo6(sav, 0x1000); GameTime = new GameTime6(sav, 0x01200); Situation = new Situation6(sav, 0x01400); Played = new PlayTime6(sav, 0x01800); Misc = new Misc6AO(sav, 0x04200); BoxLayout = new BoxLayout6(sav, 0x04400); BattleBox = new BattleBox6(sav, 0x04A00); Status = new MyStatus6(sav, 0x14000); Zukan = new Zukan6AO(sav, 0x15000, 0x400); OPower = new OPower6(sav, 0x17400); Maison = new MaisonBlock(sav, 0x1BA00); MysteryGift = new MysteryBlock6(sav, 0x1CC00); Records = new RecordBlock6(sav, 0x1F400); SuperTrain = new SuperTrainBlock(sav, 0x20200); Link = new LinkBlock6(sav, 0x20E00); Sango = new SangoInfoBlock(sav, 0x2B600); }
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); }
private void Initialize() { /* 00: 00000-002C8, 002C8 */ // Puff = 0x00000; /* 01: 00400-00F88, 00B88 */ // MyItem = 0x00400; // Bag /* 02: 01000-0102C, 0002C */ // ItemInfo = 0x1000; // Select Bound Items /* 03: 01200-01238, 00038 */ // GameTime = 0x01200; /* 04: 01400-01550, 00150 */ Trainer1 = 0x1400; // Situation /* 05: 01600-01604, 00004 */ // RandomGroup (rand seeds) /* 06: 01800-01808, 00008 */ // PlayTime /* 07: 01A00-01BC0, 001C0 */ Accessories = 0x1A00; // Fashion /* 08: 01C00-01CBE, 000BE */ // amie minigame records /* 09: 01E00-01E24, 00024 */ // temp variables (u32 id + 32 u8) /* 10: 02000-04100, 02100 */ // FieldMoveModelSave /* 11: 04200-04340, 00140 */ Trainer2 = 0x4200; // Misc /* 12: 04400-04840, 00440 */ PCLayout = 0x4400; // BOX /* 13: 04A00-04F74, 00574 */ BattleBox = 0x04A00; // BattleBox /* 14: 05000-09E28, 04E28 */ PSS = 0x05000; /* 15: 0A000-0EE28, 04E28 */ // PSS2 /* 16: 0F000-13E28, 04E28 */ // PSS3 /* 17: 14000-14170, 00170 */ // MyStatus /* 18: 14200-1481C, 0061C */ Party = 0x14200; // PokePartySave /* 19: 14A00-14F04, 00504 */ EventConst = 0x14A00; // EventWork /* 20: 15000-156A0, 006A0 */ PokeDex = 0x15000; // ZukanData /* 21: 15800-15E44, 00644 */ // hologram clips /* 22: 16000-16104, 00104 */ Fused = 0x16000; // UnionPokemon /* 23: 16200-16204, 00004 */ // ConfigSave /* 24: 16400-16820, 00420 */ // Amie decoration stuff /* 25: 16A00-16A64, 00064 */ // OPower = 0x16A00; /* 26: 16C00-16FF0, 003F0 */ // Strength Rock position (xyz float: 84 entries, 12bytes/entry) /* 27: 17000-1770C, 0070C */ // Trainer PR Video /* 28: 17800-17980, 00180 */ GTS = 0x17800; // GtsData /* 29: 17A00-17A04, 00004 */ // Packed Menu Bits /* 30: 17C00-17C0C, 0000C */ // PSS Profile Q&A (6*questions, 6*answer) /* 31: 17E00-17E48, 00048 */ // Repel Info, (Swarm?) and other overworld info (roamer) /* 32: 18000-18054, 00054 */ // BOSS data fetch history (serial/mystery gift), 4byte intro & 20*4byte entries /* 33: 18200-18844, 00644 */ // Streetpass history (4 byte intro, 20*4byte entries, 20*76 byte entries) /* 34: 18A00-18FC8, 005C8 */ // LiveMatchData/BattleSpotData /* 35: 19000-192F8, 002F8 */ // MAC Address & Network Connection Logging (0x98 per entry, 5 entries) /* 36: 19400-1AF40, 01B40 */ HoF = 0x19400; // Dendou /* 37: 1B000-1B1F4, 001F4 */ MaisonStats = 0x1B1C0; // BattleInstSave /* 38: 1B200-1B3F0, 001F0 */ Daycare = 0x1B200; // Sodateya /* 39: 1B400-1B616, 00216 */ // BattleInstSave /* 40: 1B800-1BB90, 00390 */ BerryField = 0x1B800; /* 41: 1BC00-1D690, 01A90 */ WondercardFlags = 0x1BC00; // MysteryGiftSave /* 42: 1D800-1DB08, 00308 */ SUBE = 0x1D890; // PokeDiarySave /* 43: 1DC00-1E218, 00618 */ // Storyline Records /* 44: 1E400-1E65C, 0025C */ // Record = 0x1E400; /* 45: 1E800-1F034, 00834 */ // Friend Safari (0x15 per entry, 100 entries) /* 46: 1F200-1F518, 00318 */ SuperTrain = 0x1F200; /* 47: 1F600-1FDD0, 007D0 */ // Unused (lmao) /* 48: 1FE00-20A48, 00C48 */ LinkInfo = 0x1FE00; /* 49: 20C00-20C78, 00078 */ // PSS usage info /* 50: 20E00-21000, 00200 */ // GameSyncSave /* 51: 21000-21C84, 00C84 */ // PSS Icon (bool32 data present, 40x40 u16 pic, unused) /* 52: 21E00-22428, 00628 */ // ValidationSave (updatabale Public Key for legal check api calls) /* 53: 22600-570D0, 34AD0 */ Box = 0x22600; /* 54: 57200-65258, 0E058 */ JPEG = 0x57200; Items = new MyItem6XY(this, 0x00400); PuffBlock = new Puff6(this, 0x00000); GameTime = new GameTime6(this, 0x01200); Situation = new Situation6(this, 0x01400); Played = new PlayTime6(this, 0x01800); BoxLayout = new BoxLayout6(this, 0x4400); BattleBoxBlock = new BattleBox6(this, 0x04A00); Status = new MyStatus6XY(this, 0x14000); Zukan = new Zukan6XY(this, 0x15000, 0x3C8); OPowerBlock = new OPower6(this, 0x16A00); MysteryBlock = new MysteryBlock6(this, 0x1BC00); Records = new Record6(this, 0x1E400, Core.Records.MaxType_XY); EventFlag = EventConst + 0x2FC; WondercardData = WondercardFlags + 0x100; HeldItems = Legal.HeldItem_XY; Personal = PersonalTable.XY; }
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; }
private void Initialize() { /* 00: 00000-002C8, 002C8 */ // Puff = 0x00000; /* 01: 00400-00F90, 00B90 */ // MyItem = 0x00400; // Bag /* 02: 01000-0102C, 0002C */ // ItemInfo = 0x1000; // Select Bound Items /* 03: 01200-01238, 00038 */ // GameTime = 0x01200; /* 04: 01400-01550, 00150 */ Trainer1 = 0x01400; // Situation /* 05: 01600-01604, 00004 */ // RandomGroup (rand seeds) /* 06: 01800-01808, 00008 */ PlayTime = 0x1800; // PlayTime /* 07: 01A00-01BC0, 001C0 */ Accessories = 0x1A00; // Fashion /* 08: 01C00-01CBE, 000BE */ // amie minigame records /* 09: 01E00-01E24, 00024 */ // temp variables (u32 id + 32 u8) /* 10: 02000-04100, 02100 */ // FieldMoveModelSave /* 11: 04200-04330, 00130 */ Trainer2 = 0x04200; // Misc /* 12: 04400-04840, 00440 */ PCLayout = 0x04400; // BOX /* 13: 04A00-04F74, 00574 */ BattleBox = 0x04A00; // BattleBox /* 14: 05000-09E28, 04E28 */ PSS = 0x05000; /* 15: 0A000-0EE28, 04E28 */ // PSS2 /* 16: 0F000-13E28, 04E28 */ // PSS3 /* 17: 14000-14170, 00170 */ // MyStatus /* 18: 14200-1481C, 0061C */ Party = 0x14200; // PokePartySave /* 19: 14A00-14F04, 00504 */ EventConst = 0x14A00; // EventWork /* 20: 15000-161CC, 011CC */ PokeDex = 0x15000; // ZukanData /* 21: 16200-16844, 00644 */ // hologram clips /* 22: 16A00-16B04, 00104 */ Fused = 0x16A00; // UnionPokemon /* 23: 16C00-16C04, 00004 */ // ConfigSave /* 24: 16E00-17220, 00420 */ // Amie decoration stuff /* 25: 17400-17464, 00064 */ // OPower = 0x17400; /* 26: 17600-179F0, 003F0 */ // Strength Rock position (xyz float: 84 entries, 12bytes/entry) /* 27: 17A00-1810C, 0070C */ // Trainer PR Video /* 28: 18200-18380, 00180 */ GTS = 0x18200; // GtsData /* 29: 18400-18404, 00004 */ // Packed Menu Bits /* 30: 18600-1860C, 0000C */ // PSS Profile Q&A (6*questions, 6*answer) /* 31: 18800-18848, 00048 */ // Repel Info, (Swarm?) and other overworld info (roamer) /* 32: 18A00-18A54, 00054 */ // BOSS data fetch history (serial/mystery gift), 4byte intro & 20*4byte entries /* 33: 18C00-19244, 00644 */ // Streetpass history /* 34: 19400-199C8, 005C8 */ // LiveMatchData/BattleSpotData /* 35: 19A00-19CF8, 002F8 */ // MAC Address & Network Connection Logging (0x98 per entry, 5 entries) /* 36: 19E00-1B940, 01B40 */ HoF = 0x19E00; // Dendou /* 37: 1BA00-1BBF4, 001F4 */ MaisonStats = 0x1BBC0; // BattleInstSave /* 38: 1BC00-1BFE0, 003E0 */ Daycare = 0x1BC00; // Sodateya /* 39: 1C000-1C216, 00216 */ // BattleInstSave /* 40: 1C400-1CA40, 00640 */ BerryField = 0x1C400; /* 41: 1CC00-1E690, 01A90 */ WondercardFlags = 0x1CC00; // MysteryGiftSave /* 42: 1E800-1EC00, 00400 */ // Storyline Records /* 43: 1EC00-1F218, 00618 */ SUBE = 0x1D890; // PokeDiarySave /* 44: 1F400-1F65C, 0025C */ // Record = 0x1F400; /* 45: 1F800-20034, 00834 */ // Friend Safari (0x15 per entry, 100 entries) /* 46: 20200-20518, 00318 */ SuperTrain = 0x20200; /* 47: 20600-20DD0, 007D0 */ // Unused (lmao) /* 48: 20E00-21A48, 00C48 */ LinkInfo = 0x20E00; /* 49: 21C00-21C78, 00078 */ // PSS usage info /* 50: 21E00-22000, 00200 */ // GameSyncSave /* 51: 22000-22C84, 00C84 */ // PSS Icon (bool32 data present, 40x40 u16 pic, unused) /* 52: 22E00-23428, 00628 */ // ValidationSave (updatabale Public Key for legal check api calls) /* 53: 23600-23A00, 00400 */ Contest = 0x23600; /* 54: 23A00-2B4D0, 07AD0 */ SecretBase = 0x23A00; /* 55: 2B600-32EB0, 078B0 */ EonTicket = 0x319B8; /* 56: 33000-67AD0, 34AD0 */ Box = 0x33000; /* 57: 67C00-75C58, 0E058 */ JPEG = 0x67C00; Items = new MyItem6XY(this, 0x00400); PuffBlock = new Puff6(this, 0x0000); GameTime = new GameTime6(this, 0x01200); Situation = new Situation6(this, 0x01400); Played = new PlayTime6(this, 0x01800); BoxLayout = new BoxLayout6(this, 0x04400); Status = new MyStatus6(this, 0x14000); Zukan = new Zukan6(this, 0x15000, 0x15000 + 0x400); OPowerBlock = new OPower6(this, 0x17400); MysteryBlock = new MysteryBlock6(this, 0x1CC00); Records = new Record6(this, 0x1F400, Core.Records.MaxType_AO); Sango = new SangoInfoBlock(this, 0x2B600); EventFlag = EventConst + 0x2FC; PokeDexLanguageFlags = PokeDex + 0x400; Spinda = PokeDex + 0x680; EncounterCount = PokeDex + 0x686; WondercardData = WondercardFlags + 0x100; Daycare2 = Daycare + 0x1F0; HeldItems = Legal.HeldItem_XY; Personal = PersonalTable.XY; }