コード例 #1
0
 public void Write(BinaryWriter w)
 {
     lock (this) {
         w.Write((uint)Flags);
         w.Write((ushort)Flags2);
         w.Write(Time);
         w.Write(X);
         w.Write(Y);
         w.Write(Z);
         w.Write(O);
         if (Flags.HasFlag(MovementFlags.OnTransport))
         {
             Transport.Write(w);
         }
         if (Flags.HasFlag(MovementFlags.Swimming | MovementFlags.Flying) ||
             Flags2.HasFlag(MovementFlags2.AlwaysAllowPitching))
         {
             w.Write(SwimmPitch);
         }
         w.Write(FallTime);
         if (Flags.HasFlag(MovementFlags.Falling))
         {
             w.Write(JumpUnk1);
             w.Write(JumpSin);
             w.Write(JumpCos);
             w.Write(JumpSpeed);
         }
         if (Flags.HasFlag(MovementFlags.SplineElevation))
         {
             w.Write(SplineElevation);
         }
     }
 }
コード例 #2
0
        public bool Equals(Pickup other)
        {
            if (other == null)
            {
                return(false);
            }

            return(Index.Equals(other.Index) &&
                   Unknown04h.Equals(other.Unknown04h) &&
                   Unknown08h.Equals(other.Unknown08h) &&
                   Amount.Equals(other.Amount) &&
                   Unknown10h.Equals(other.Unknown10h) &&
                   Unknown14h.Equals(other.Unknown14h) &&
                   Blip.Equals(other.Blip) &&
                   Timer.Equals(other.Timer) &&
                   Position.Equals(other.Position) &&
                   Unknown2Ch.Equals(other.Unknown2Ch) &&
                   Unknown30h.Equals(other.Unknown30h) &&
                   Rotation.Equals(other.Rotation) &&
                   Unknown40h.Equals(other.Unknown40h) &&
                   ObjectId.Equals(other.ObjectId) &&
                   RefNum.Equals(other.RefNum) &&
                   PickupType.Equals(other.PickupType) &&
                   Flags.Equals(other.Flags) &&
                   Flags2.Equals(other.Flags2) &&
                   Unknown4Bh.Equals(other.Unknown4Bh) &&
                   Unknown4Ch.Equals(other.Unknown4Ch) &&
                   Unknown50h.Equals(other.Unknown50h));
        }
コード例 #3
0
 public void SetLightBarColor(Color color)
 {
     flags2        |= Flags2.SetLightBarColor;
     ledFlags      |= LedFlags.LightBarFade;
     ledPulseOption = 0x02;
     lightBarRed    = (byte)Mathf.Clamp(color.r * 255, 0, 255);
     lightBarGreen  = (byte)Mathf.Clamp(color.g * 255, 0, 255);
     lightBarBlue   = (byte)Mathf.Clamp(color.b * 255, 0, 255);
 }
コード例 #4
0
 /// <summary>
 /// Constructor
 /// </summary>
 public FormatterOptions()
 {
     flags1 = Flags1.UppercaseHex | Flags1.SmallHexNumbersInDecimal |
              Flags1.AddLeadingZeroToHexNumbers | Flags1.BranchLeadingZeros |
              Flags1.SignedMemoryDisplacements | Flags1.ShowBranchSize |
              Flags1.UsePseudoOps | Flags1.MasmAddDsPrefix32 |
              Flags1.MasmSymbolDisplInBrackets | Flags1.MasmDisplInBrackets;
     flags2 = Flags2.None;
 }
コード例 #5
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Flags1", true, out subEle);
            subEle.Value = Flags1.ToString();

            ele.TryPathTo("Flags2", true, out subEle);
            subEle.Value = Flags2.ToString();

            WriteUnusedXML(ele, master);
        }
コード例 #6
0
 public void Read(BinaryReader r)
 {
     lock (this) {
         Flags  = ((MovementFlags)r.ReadUInt32());
         Flags2 = (MovementFlags2)r.ReadUInt16();
         Time   = r.ReadUInt32();
         X      = r.ReadSingle();
         Y      = r.ReadSingle();
         Z      = r.ReadSingle();
         O      = r.ReadSingle();
         if (Flags.HasFlag(MovementFlags.OnTransport))
         {
             if (Transport == null)
             {
                 Transport = new TransportInfo();
             }
             Transport.Read(r);
         }
         else
         {
             Transport = null;
         }
         if (Flags.HasFlag(MovementFlags.Swimming | MovementFlags.Flying) ||
             Flags2.HasFlag(MovementFlags2.AlwaysAllowPitching))
         {
             SwimmPitch = r.ReadSingle();
         }
         FallTime = r.ReadUInt32();
         if (Flags.HasFlag(MovementFlags.Falling))
         {
             JumpUnk1  = r.ReadSingle();
             JumpSin   = r.ReadSingle();
             JumpCos   = r.ReadSingle();
             JumpSpeed = r.ReadSingle();
         }
         if (Flags.HasFlag(MovementFlags.SplineElevation))
         {
             SplineElevation = r.ReadSingle();
         }
     }
 }
コード例 #7
0
        public void SetMicLedState(DualSenseMicLedState state)
        {
            flags2 |= Flags2.MicLed;
            switch (state)
            {
            case DualSenseMicLedState.Off:
                micLedState = InternalMicLedState.Off;
                break;

            case DualSenseMicLedState.On:
                micLedState = InternalMicLedState.On;
                break;

            case DualSenseMicLedState.Pulsating:
                micLedState = InternalMicLedState.Pulsating;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(state), state, null);
            }
        }
コード例 #8
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("AnimationType", true, out subEle);
            subEle.Value = AnimationType.ToString();

            ele.TryPathTo("AnimationMultiplier", true, out subEle);
            subEle.Value = AnimationMultiplier.ToString("G15");

            ele.TryPathTo("Reach", true, out subEle);
            subEle.Value = Reach.ToString("G15");

            ele.TryPathTo("Flags1", true, out subEle);
            subEle.Value = Flags1.ToString();

            ele.TryPathTo("GripAnimation", true, out subEle);
            subEle.Value = GripAnimation.ToString();

            ele.TryPathTo("AmmoUse", true, out subEle);
            subEle.Value = AmmoUse.ToString();

            ele.TryPathTo("ReloadAnimation", true, out subEle);
            subEle.Value = ReloadAnimation.ToString();

            ele.TryPathTo("MinSpread", true, out subEle);
            subEle.Value = MinSpread.ToString("G15");

            ele.TryPathTo("Spread", true, out subEle);
            subEle.Value = Spread.ToString("G15");

            ele.TryPathTo("Unknown", true, out subEle);
            subEle.Value = Unknown.ToHex();

            ele.TryPathTo("SightFOV", true, out subEle);
            subEle.Value = SightFOV.ToString("G15");

            ele.TryPathTo("Unknown2", true, out subEle);
            subEle.Value = Unknown2.ToString("G15");

            ele.TryPathTo("Projectile", true, out subEle);
            Projectile.WriteXML(subEle, master);

            ele.TryPathTo("BaseVATSToHitChance", true, out subEle);
            subEle.Value = BaseVATSToHitChance.ToString();

            ele.TryPathTo("AttackAnimation", true, out subEle);
            subEle.Value = AttackAnimation.ToString();

            ele.TryPathTo("ProjectileCount", true, out subEle);
            subEle.Value = ProjectileCount.ToString();

            ele.TryPathTo("EmbeddedWeaponActorValue", true, out subEle);
            subEle.Value = EmbeddedWeaponActorValue.ToString();

            ele.TryPathTo("Range/Min", true, out subEle);
            subEle.Value = MinRange.ToString("G15");

            ele.TryPathTo("Range/Max", true, out subEle);
            subEle.Value = MaxRange.ToString("G15");

            ele.TryPathTo("LimbKillBehavior", true, out subEle);
            subEle.Value = LimbKillBehavior.ToString();

            ele.TryPathTo("Flags2", true, out subEle);
            subEle.Value = Flags2.ToString();

            ele.TryPathTo("AttackAnimationMultiplier", true, out subEle);
            subEle.Value = AttackAnimationMultiplier.ToString("G15");

            ele.TryPathTo("FireRate", true, out subEle);
            subEle.Value = FireRate.ToString("G15");

            ele.TryPathTo("ActionPointCost", true, out subEle);
            subEle.Value = ActionPointCost.ToString("G15");

            ele.TryPathTo("Rumble/LeftMotorStrength", true, out subEle);
            subEle.Value = RumbleLeftMotorStrength.ToString("G15");

            ele.TryPathTo("Rumble/RightMotorStrength", true, out subEle);
            subEle.Value = RumbleRightMotorStrength.ToString("G15");

            ele.TryPathTo("Rumble/Duration", true, out subEle);
            subEle.Value = RumbleDuration.ToString("G15");

            ele.TryPathTo("DamageToWeaponMult", true, out subEle);
            subEle.Value = DamageToWeaponMult.ToString("G15");

            ele.TryPathTo("AttackShotsPerSecond", true, out subEle);
            subEle.Value = AttackShotsPerSecond.ToString("G15");

            ele.TryPathTo("ReloadTime", true, out subEle);
            subEle.Value = ReloadTime.ToString("G15");

            ele.TryPathTo("JamTime", true, out subEle);
            subEle.Value = JamTime.ToString("G15");

            ele.TryPathTo("AimArc", true, out subEle);
            subEle.Value = AimArc.ToString("G15");

            ele.TryPathTo("Skill", true, out subEle);
            subEle.Value = Skill.ToString();

            ele.TryPathTo("Rumble/Pattern", true, out subEle);
            subEle.Value = RumblePattern.ToString();

            ele.TryPathTo("Rumble/Wavelength", true, out subEle);
            subEle.Value = RumbleWavelength.ToString("G15");

            ele.TryPathTo("LimbDamageMult", true, out subEle);
            subEle.Value = LimbDamageMult.ToString("G15");

            ele.TryPathTo("ResistanceType", true, out subEle);
            subEle.Value = ResistanceType.ToString();

            ele.TryPathTo("SightUsage", true, out subEle);
            subEle.Value = SightUsage.ToString("G15");

            ele.TryPathTo("SemiAutomaticFireDelay/Min", true, out subEle);
            subEle.Value = SemiAutomaticFireDelayMin.ToString("G15");

            ele.TryPathTo("SemiAutomaticFireDelay/Max", true, out subEle);
            subEle.Value = SemiAutomaticFireDelayMax.ToString("G15");

            ele.TryPathTo("Unknown3", true, out subEle);
            subEle.Value = Unknown3.ToString("G15");

            ele.TryPathTo("Mods/Mod1/Effect", true, out subEle);
            subEle.Value = Mod1Effect.ToString();

            ele.TryPathTo("Mods/Mod2/Effect", true, out subEle);
            subEle.Value = Mod2Effect.ToString();

            ele.TryPathTo("Mods/Mod3/Effect", true, out subEle);
            subEle.Value = Mod3Effect.ToString();

            ele.TryPathTo("Mods/Mod1/ValueA", true, out subEle);
            subEle.Value = Mod1ValueA.ToString("G15");

            ele.TryPathTo("Mods/Mod2/ValueA", true, out subEle);
            subEle.Value = Mod2ValueA.ToString("G15");

            ele.TryPathTo("Mods/Mod3/ValueA", true, out subEle);
            subEle.Value = Mod3ValueA.ToString("G15");

            ele.TryPathTo("PowerAttackAnimation", true, out subEle);
            subEle.Value = PowerAttackAnimation.ToString();

            ele.TryPathTo("StrengthRequirement", true, out subEle);
            subEle.Value = StrengthRequirement.ToString();

            ele.TryPathTo("Unknown4", true, out subEle);
            subEle.Value = Unknown4.ToString();

            ele.TryPathTo("Mods/Mod1/ReloadAnimation", true, out subEle);
            subEle.Value = Mod1ReloadAnimation.ToString();

            ele.TryPathTo("Unknown5", true, out subEle);
            subEle.Value = Unknown5.ToHex();

            ele.TryPathTo("AmmoRegenRate", true, out subEle);
            subEle.Value = AmmoRegenRate.ToString("G15");

            ele.TryPathTo("KillImpulse", true, out subEle);
            subEle.Value = KillImpulse.ToString("G15");

            ele.TryPathTo("Mods/Mod1/ValueB", true, out subEle);
            subEle.Value = Mod1ValueB.ToString("G15");

            ele.TryPathTo("Mods/Mod2/ValueB", true, out subEle);
            subEle.Value = Mod2ValueB.ToString("G15");

            ele.TryPathTo("Mods/Mod3/ValueB", true, out subEle);
            subEle.Value = Mod3ValueB.ToString("G15");

            ele.TryPathTo("ImpulseDistance", true, out subEle);
            subEle.Value = ImpulseDistance.ToString("G15");

            ele.TryPathTo("SkillRequirement", true, out subEle);
            subEle.Value = SkillRequirement.ToString();
        }
コード例 #9
0
 public void SetPlayerLedState(PlayerLedState state)
 {
     flags2        |= Flags2.PlayerLed;
     ledPulseOption = 0x02;
     playerLedState = state.Value;
 }
コード例 #10
0
        public override string ToString()
        {
            var sb = new StringBuilder();

            sb.AppendFormat("Movement Flags: {0}", Flags).AppendLine();
            sb.AppendFormat("Movement Flags2: {0}", Flags2).AppendLine();
            sb.AppendFormat("Movement TimeStamp: {0}", TimeStamp).AppendLine();
            sb.AppendFormat("Movement Position: {0}", Position).AppendLine();
            sb.AppendFormat("Movement Facing: {0}", Facing).AppendLine();

            if (Flags.HasFlag(MovementFlags.ONTRANSPORT))
            {
                sb.AppendFormat("Movement Transport: {0}", Transport).AppendLine();
            }

            if (Flags.HasFlag(MovementFlags.SWIMMING) || Flags.HasFlag(MovementFlags.FLYING) || Flags2.HasFlag(MovementFlags2.AlwaysAllowPitching))
            {
                sb.AppendFormat("Movement Pitch: {0}", Pitch).AppendLine();
            }

            sb.AppendFormat("Movement FallTime: {0}", FallTime).AppendLine();

            if (Flags.HasFlag(MovementFlags.FALLING))
            {
                sb.AppendFormat("Movement FallVelocity: {0}", FallVelocity).AppendLine();
                sb.AppendFormat("Movement FallCosAngle: {0}", FallCosAngle).AppendLine();
                sb.AppendFormat("Movement FallSinAngle: {0}", FallSinAngle).AppendLine();
                sb.AppendFormat("Movement FallSpeed: {0}", FallSpeed).AppendLine();
            }

            if (Flags.HasFlag(MovementFlags.SPLINEELEVATION))
            {
                sb.AppendFormat("Movement SplineElevation: {0}", SplineElevation).AppendLine();
            }

            return(sb.ToString());
        }
コード例 #11
0
        public static int DecodeHeader(System.IO.Stream buffer, out PacketTypes type, out Flags1 flags1, out Flags2 flags2, out Encodings encoding, out UInt16 serial_high_low, out Guid object_id, out Guid interface_id, out Guid activity_id, out UInt32 server_boot_time, out UInt32 sequence_no, out Operations op, out UInt16 body_length, out UInt16 fragment_no)
        {
            int    ret = 0;
            byte   tmp1;
            UInt16 tmp2;
            UInt32 tmp3;

            serial_high_low = 0;

            ret += DCP.DecodeU8(buffer, out tmp1);             //RPCVersion
            if (tmp1 != 4)
            {
                throw new Exception("Wrong protocol");
            }
            ret             += DCP.DecodeU8(buffer, out tmp1);
            type             = (PacketTypes)tmp1;
            ret             += DCP.DecodeU8(buffer, out tmp1);
            flags1           = (Flags1)tmp1;
            ret             += DCP.DecodeU8(buffer, out tmp1);
            flags2           = (Flags2)tmp1;
            ret             += DCP.DecodeU16(buffer, out tmp2);
            encoding         = (Encodings)tmp2;
            ret             += DCP.DecodeU8(buffer, out tmp1); //pad
            ret             += DCP.DecodeU8(buffer, out tmp1);
            serial_high_low |= (UInt16)(tmp1 << 8);
            ret             += DecodeGuid(buffer, encoding, out object_id);
            ret             += DecodeGuid(buffer, encoding, out interface_id);
            ret             += DecodeGuid(buffer, encoding, out activity_id);
            ret             += DecodeU32(buffer, encoding, out server_boot_time);
            ret             += DecodeU32(buffer, encoding, out tmp3);   //interface version
            if ((tmp3 & 0xFFFF) != 1)
            {
                throw new Exception("Wrong protocol version");
            }
            ret             += DecodeU32(buffer, encoding, out sequence_no);
            ret             += DecodeU16(buffer, encoding, out tmp2);
            op               = (Operations)tmp2;
            ret             += DecodeU16(buffer, encoding, out tmp2);     //interface hint
            ret             += DecodeU16(buffer, encoding, out tmp2);     //activity hint
            ret             += DecodeU16(buffer, encoding, out body_length);
            ret             += DecodeU16(buffer, encoding, out fragment_no);
            ret             += DCP.DecodeU8(buffer, out tmp1); //authentication protocol
            ret             += DCP.DecodeU8(buffer, out tmp1);
            serial_high_low |= tmp1;

            return(ret);
        }
コード例 #12
0
        public static int EncodeHeader(System.IO.Stream buffer, PacketTypes type, Flags1 flags1, Flags2 flags2, Encodings encoding, UInt16 serial_high_low, Guid object_id, Guid interface_id, Guid activity_id, UInt32 server_boot_time, UInt32 sequence_no, Operations op, UInt16 body_length, UInt16 fragment_no, out long body_length_position)
        {
            int ret = 0;

            ret += DCP.EncodeU8(buffer, 4);             //RPCVersion
            ret += DCP.EncodeU8(buffer, (byte)type);
            ret += DCP.EncodeU8(buffer, (byte)flags1);
            ret += DCP.EncodeU8(buffer, (byte)flags2);
            ret += DCP.EncodeU16(buffer, (ushort)encoding);
            ret += DCP.EncodeU8(buffer, 0);             //pad
            ret += DCP.EncodeU8(buffer, (byte)(serial_high_low >> 8));
            ret += EncodeGuid(buffer, encoding, object_id);
            ret += EncodeGuid(buffer, encoding, interface_id);
            ret += EncodeGuid(buffer, encoding, activity_id);
            ret += EncodeU32(buffer, encoding, server_boot_time);
            ret += EncodeU32(buffer, encoding, 1);               //interface version
            ret += EncodeU32(buffer, encoding, sequence_no);
            ret += EncodeU16(buffer, encoding, (ushort)op);
            ret += EncodeU16(buffer, encoding, 0xFFFF);                 //interface hint
            ret += EncodeU16(buffer, encoding, 0xFFFF);                 //activity hint
            body_length_position = buffer.Position;
            ret += EncodeU16(buffer, encoding, body_length);
            ret += EncodeU16(buffer, encoding, fragment_no);
            ret += DCP.EncodeU8(buffer, 0);             //authentication protocol
            ret += DCP.EncodeU8(buffer, (byte)(serial_high_low & 0xFF));

            return(ret);
        }
コード例 #13
0
 public bool GetFlag2(int bit)
 {
     return(Flags2.HasFlag((SuitStatusFlags)(1 << bit)));
 }
コード例 #14
0
 public override string ToString()
 {
     return(IndexID.ToString() + ", " + IndexCount.ToString() + ", " + Flags1.ToString() + ", " + Flags2.ToString() + ", " + Flags3.ToString());
 }
コード例 #15
0
 public override string ToString()
 {
     return(SectorID1.ToString() + ", " + SectorID2.ToString() + ", " + PolyID1.ToString() + ", " + PolyID2.ToString() + ", " + Flags1.ToString() + ", " + Flags2.ToString());
 }
コード例 #16
0
ファイル: StatusEntry.cs プロジェクト: poveden/EliteChroma
 /// <summary>
 /// Returns a value indicating wheter the given flag is currently set.
 /// </summary>
 /// <param name="flag">The flag to check.</param>
 /// <returns><c>true</c> if the flag is set; otherwise, <c>false</c>.</returns>
 public bool HasFlag(Flags2 flag) => Flags2.HasFlag(flag);
コード例 #17
0
ファイル: StandardInfo.cs プロジェクト: theCanary/MFT
        public override string ToString()
        {
            var sb = new StringBuilder();

            sb.AppendLine("**** STANDARD INFO ****");

            sb.AppendLine(base.ToString());

            sb.AppendLine();

            sb.AppendLine(
                $"Flags: {Flags.ToString().Replace(", ", "|")}, Max Version: 0x{MaxVersion:X}, Flags 2: {Flags2.ToString().Replace(", ", "|")}, Class Id: 0x{ClassId:X}, " +
                $"Owner Id: 0x{OwnerId:X}, Security Id: 0x{SecurityId:X}, Quota Charged: 0x{QuotaCharged:X} " +
                $"\r\nUpdate Sequence #: 0x{UpdateSequenceNumber:X}" +
                $"\r\n\r\nCreated On:\t\t{CreatedOn?.ToString(MftFile.DateTimeFormat)}" +
                $"\r\nContent Modified On:\t{ContentModifiedOn?.ToString(MftFile.DateTimeFormat)}" +
                $"\r\nRecord Modified On:\t{RecordModifiedOn?.ToString(MftFile.DateTimeFormat)}" +
                $"\r\nLast Accessed On:\t{LastAccessedOn?.ToString(MftFile.DateTimeFormat)}");

            return(sb.ToString());
        }
コード例 #18
0
 public Status(Flags flags = Flags.None, Flags2 flags2 = Flags2.None)
 {
     this.flags  = flags;
     this.flags2 = flags2;
 }