public void GetInt_ByteAligned() { var testBlock = new BitBlock(new byte[] { 0xFF, 0xFF, 0xFF, 0xFF, 5, 0, 0, 0 }); Assert.AreEqual(-1, testBlock.GetInt(0, 0, 32)); Assert.AreEqual(5, testBlock.GetInt(4, 0, 32)); }
public ExplorersAttack(BitBlock bits) { IsValid = bits[0]; IsLinked = bits[1]; IsSwitched = bits[2]; IsSet = bits[3]; ID = bits.GetInt(0, 4, 10); PowerBoost = bits.GetInt(0, 14, 7); }
public RBAttack(BitBlock bits) { IsValid = bits[0]; IsLinked = bits[1]; IsSwitched = bits[2]; IsSet = bits[3]; ID = bits.GetInt(0, 4, 9); PowerBoost = bits.GetInt(0, 13, 7); }
public SkyQuicksaveAttack(BitBlock bits) { IsValid = bits[0]; IsLinked = bits[1]; IsSwitched = bits[2]; IsSet = bits[3]; IsSealed = bits[4]; Unknown = bits.GetRange(5, 11); ID = bits.GetInt(0, 16, 16); PP = bits.GetInt(0, 32, 8); PowerBoost = bits.GetInt(0, 40, 8); }
public void Initialize(BitBlock bits) { IsValid = bits.Bits[0]; Flag1 = bits.Bits[1]; Flag2 = bits.Bits[2]; Flag3 = bits.Bits[3]; Flag4 = bits.Bits[4]; Flag5 = bits.Bits[5]; Flag6 = bits.Bits[6]; Flag7 = bits.Bits[7]; Parameter = bits.GetInt(0, 8, 7); ID = bits.GetInt(0, 15, 8); }
public TDHeldItem(BitBlock bits) { bits.Position = 0; IsValid = bits[0]; Flag1 = bits[1]; Flag2 = bits[2]; Flag3 = bits[3]; Flag4 = bits[4]; Flag5 = bits[5]; Flag6 = bits[6]; Flag7 = bits[7]; Parameter = bits.GetInt(0, 8, 10); ID = bits.GetInt(0, 18, 10); var heldBy = bits.GetInt(0, 28, 3); switch (heldBy) { case 0: Holder = ItemHolder.None; break; case 1: Holder = ItemHolder.TeamMember1; break; case 2: Holder = ItemHolder.TeamMember2; break; case 3: Holder = ItemHolder.TeamMember3; break; case 4: Holder = ItemHolder.TeamMember4; break; default: throw new ArgumentException("Invalid item holder: " + heldBy.ToString()); } }
private void Initialize(BitBlock bits) { Level = bits.GetInt(0, 0, 7); ID = bits.GetInt(0, 7, 9); MetAt = bits.GetInt(0, 16, 7); Unk1 = bits.GetRange(23, 21); IQ = bits.GetInt(0, 44, 10); HP = bits.GetInt(0, 54, 10); Attack = bits.GetInt(0, 64, 8); SpAttack = bits.GetInt(0, 72, 8); Defense = bits.GetInt(0, 80, 8); SpDefense = bits.GetInt(0, 88, 8); Exp = bits.GetInt(0, 96, 24); Unk2 = bits.GetRange(120, 43); Attack1 = new RBAttack(bits.GetRange(163, RBAttack.BitLength)); Attack2 = new RBAttack(bits.GetRange(183, RBAttack.BitLength)); Attack3 = new RBAttack(bits.GetRange(203, RBAttack.BitLength)); Attack4 = new RBAttack(bits.GetRange(223, RBAttack.BitLength)); Name = bits.GetStringPMD(0, 243, 10); }
public void Initialize(BitBlock bits) { Unk1 = bits.GetRange(0, 80); TransformedID = new ExplorersPokemonId(bits.GetInt(0, 80, 16)); ID = new ExplorersPokemonId(bits.GetInt(0, 96, 16)); Unk2 = bits.GetRange(112, 48); Level = bits.GetInt(0, 144, 8); Unk3 = bits.GetRange(152, 48); CurrentHP = bits.GetInt(0, 192, 16); MaxHP = bits.GetInt(0, 208, 16); HPBoost = bits.GetInt(0, 224, 16); Unk4 = bits.GetRange(240, 32); Attack = bits.GetInt(0, 256, 8); Defense = bits.GetInt(0, 264, 8); SpAttack = bits.GetInt(0, 272, 8); SpDefense = bits.GetInt(0, 280, 8); Exp = bits.GetInt(0, 280, 32); Unk5 = bits.GetRange(320, 2408); Attack1 = new SkyQuicksaveAttack(bits.GetRange(2696 + 0 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength)); Attack2 = new SkyQuicksaveAttack(bits.GetRange(2696 + 1 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength)); Attack3 = new SkyQuicksaveAttack(bits.GetRange(2696 + 2 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength)); Attack4 = new SkyQuicksaveAttack(bits.GetRange(2696 + 3 * SkyQuicksaveAttack.BitLength, SkyQuicksaveAttack.BitLength)); Unk6 = bits.GetRange(2840, 592); }
private void Initialize(BitBlock bits) { IsValid = bits[0]; Unk1 = bits.GetRange(1, 4); Level = bits.GetInt(0, 5, 7); MetAt = bits.GetInt(0, 12, 8); MetFloor = bits.GetInt(0, 20, 7); Unk2 = bits[27]; IQ = bits.GetInt(0, 28, 10); RosterNumber = bits.GetInt(0, 38, 10); Unk3 = bits.GetRange(48, 22); ID = new ExplorersPokemonId(bits.GetInt(0, 70, 11)); CurrentHP = bits.GetInt(0, 81, 10); MaxHP = bits.GetInt(0, 81, 10); Attack = bits.GetInt(0, 101, 8); SpAttack = bits.GetInt(0, 109, 8); Defense = bits.GetInt(0, 117, 8); SpDefense = bits.GetInt(0, 125, 8); Exp = bits.GetInt(0, 133, 24); Attack1 = new ExplorersActiveAttack(bits.GetRange(157, ExplorersActiveAttack.BitLength)); Attack2 = new ExplorersActiveAttack(bits.GetRange(186, ExplorersActiveAttack.BitLength)); Attack3 = new ExplorersActiveAttack(bits.GetRange(215, ExplorersActiveAttack.BitLength)); Attack4 = new ExplorersActiveAttack(bits.GetRange(244, ExplorersActiveAttack.BitLength)); Unk4 = bits.GetRange(273, 105); IQMap = bits.GetRange(378, 69); Tactic = bits.GetInt(0, 447, 4); Unk5 = bits.GetRange(451, 15); Name = bits.GetStringPMD(0, 466, 10); }
private void Initialize(BitBlock bits) { IsValid = bits[0]; Level = bits.GetInt(0, 1, 7); ID = new ExplorersPokemonId(bits.GetInt(0, 8, 11)); MetAt = bits.GetInt(0, 19, 8); MetFloor = bits.GetInt(0, 27, 7); Unk1 = bits[34]; EvolvedAtLevel1 = bits.GetInt(0, 35, 7); EvolvedAtLevel2 = bits.GetInt(0, 42, 7); IQ = bits.GetInt(0, 49, 10); HP = bits.GetInt(0, 59, 10); Attack = bits.GetInt(0, 69, 8); SpAttack = bits.GetInt(0, 77, 8); Defense = bits.GetInt(0, 85, 8); SpDefense = bits.GetInt(0, 93, 8); Exp = bits.GetInt(0, 101, 24); IQMap = bits.GetRange(125, 69); Tactic = bits.GetInt(0, 194, 4); Attack1 = new ExplorersAttack(bits.GetRange(198, ExplorersAttack.BitLength)); Attack2 = new ExplorersAttack(bits.GetRange(219, ExplorersAttack.BitLength)); Attack3 = new ExplorersAttack(bits.GetRange(240, ExplorersAttack.BitLength)); Attack4 = new ExplorersAttack(bits.GetRange(261, ExplorersAttack.BitLength)); Name = bits.GetStringPMD(0, 282, 10); }
private void Initialize(BitBlock bits) { // Bit 0 is always 1 for some reason Level = bits.GetInt(0, 1, 7); ID = new ExplorersPokemonId(bits.GetInt(0, 8, 11)); MetAt = bits.GetInt(0, 19, 8); MetFloor = bits.GetInt(0, 27, 7); Unk1 = bits[34]; EvolvedAtLevel1 = bits.GetInt(0, 35, 7); EvolvedAtLevel2 = bits.GetInt(0, 42, 7); IQ = bits.GetInt(0, 49, 10); HP = bits.GetInt(0, 59, 10); Attack = bits.GetInt(0, 69, 8); SpAttack = bits.GetInt(0, 77, 8); Defense = bits.GetInt(0, 85, 8); SpDefense = bits.GetInt(0, 93, 8); Exp = bits.GetInt(0, 101, 24); IQMap = bits.GetRange(125, 92); Tactic = bits.GetInt(0, 217, 4); Attack1 = new ExplorersAttack(bits.GetRange(221, ExplorersAttack.BitLength)); Attack2 = new ExplorersAttack(bits.GetRange(242, ExplorersAttack.BitLength)); Attack3 = new ExplorersAttack(bits.GetRange(263, ExplorersAttack.BitLength)); Attack4 = new ExplorersAttack(bits.GetRange(284, ExplorersAttack.BitLength)); Name = bits.GetStringPMD(0, 305, 10); Unk2 = bits.GetRange(385, 3); }