public static ObjBParams GetParams(LevelscriptCommand Command)
            {
                Command.Position = 16;
                var Params = new ObjBParams();

                Params.BParam1   = Command.ReadByte();
                Params.BParam2   = Command.ReadByte();
                Params.BParam3   = Command.ReadByte();
                Params.BParam4   = Command.ReadByte();
                Command.Position = 0;
                return(Params);
            }
            public static byte GetDestinationWarpID(LevelscriptCommand Command)
            {
                Command.Position = 5;
                byte ID = Command.ReadByte();

                Command.Position = 0;
                return(ID);
            }
            public static byte GetActs(LevelscriptCommand Command)
            {
                Command.Position = 2;
                int Acts = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(Acts));
            }
            public static byte GetScrollType(LevelscriptCommand cmd)
            {
                cmd.Position = 6;
                byte val = Conversions.ToByte(cmd.ReadByte() & 0x1F);

                cmd.Position = 0;
                return(val);
            }
            public static byte GetParam1(LevelscriptCommand Command)
            {
                Command.Position = 2;
                int value = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(value));
            }
            public static byte GetDialogID(LevelscriptCommand cmd)
            {
                cmd.Position = 3;
                byte dialogID = cmd.ReadByte();

                cmd.Position = 0;
                return(dialogID);
            }
            public static byte GetCycleDuration(LevelscriptCommand cmd)
            {
                cmd.Position = 7;
                byte val = cmd.ReadByte();

                cmd.Position = 0;
                return(val);
            }
            public static byte GetDrawingLayer(LevelscriptCommand Command)
            {
                Command.Position = 3;
                int areaid = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(areaid >> 4));
            }
            public static byte GetModelID(LevelscriptCommand Command)
            {
                Command.Position = 3;
                int areaid = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(areaid));
            }
            public static byte GetSegmentedID(LevelscriptCommand Command)
            {
                Command.Position = 3;
                int value = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(value));
            }
            public static byte GetAreaID(LevelscriptCommand Command)
            {
                Command.Position = 2;
                byte value = Command.ReadByte();

                Command.Position = 0;
                return(value);
            }
            public static byte GetMusicID(LevelscriptCommand Command)
            {
                Command.Position = 3;
                int MusicID = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(MusicID));
            }
            public static Levels GetDestinationLevelID(LevelscriptCommand Command)
            {
                Command.Position = 3;
                Levels LevelID = (Levels)Command.ReadByte();

                Command.Position = 0;
                return(LevelID);
            }
            public static byte GetTerrainType(LevelscriptCommand Command)
            {
                Command.Position = 3;
                int Type = Command.ReadByte();

                Command.Position = 0;
                return(Conversions.ToByte(Type));
            }
            public static byte GetAreaID(LevelscriptCommand cmd)
            {
                cmd.Position = 3;
                byte value = cmd.ReadByte();

                cmd.Position = 0;
                return(value);
            }
            public static byte GetCollisionType(LevelscriptCommand cmd)
            {
                cmd.Position = 2;
                byte value = cmd.ReadByte();

                cmd.Position = 0;
                return(value);
            }
            public static void SetCreateCheckpoint(LevelscriptCommand cmd, bool value)
            {
                cmd.Position = 6;
                byte b = cmd.ReadByte();

                b             = Bits.SetInByte(b, 0, value);
                cmd.Position -= 1;
                cmd.Write(b);
            }
 public static bool GetCreateCheckpoint(LevelscriptCommand cmd)
 {
     cmd.Position = 6;
     return(Bits.GetBoolOfByte(cmd.ReadByte(), 0));
 }