Exemplo n.º 1
0
        // Token: 0x060020EB RID: 8427 RVA: 0x001400B3 File Offset: 0x0013E2B3
        private static void ReadMorthMotionKeyFrames(BinaryReader reader, AppMain.NNS_SUBMOTION submotion)
        {
            uint num  = submotion.fType;
            uint num2 = submotion.fType;
            uint num3 = submotion.fType;
            uint num4 = submotion.fIPType;

            throw new NotImplementedException();
        }
Exemplo n.º 2
0
        private static void ReadMorthMotionKeyFrames(
            BinaryReader reader,
            AppMain.NNS_SUBMOTION submotion)
        {
            int fType1  = (int)submotion.fType;
            int fType2  = (int)submotion.fType;
            int fType3  = (int)submotion.fType;
            int fIpType = (int)submotion.fIPType;

            throw new NotImplementedException();
        }
Exemplo n.º 3
0
        // Token: 0x060020E7 RID: 8423 RVA: 0x0013FDAC File Offset: 0x0013DFAC
        public static AppMain.NNS_SUBMOTION Read(BinaryReader reader, uint motionType, long data0Pos)
        {
            AppMain.NNS_SUBMOTION nns_SUBMOTION = new AppMain.NNS_SUBMOTION();
            nns_SUBMOTION.fType         = reader.ReadUInt32();
            nns_SUBMOTION.fIPType       = reader.ReadUInt32();
            nns_SUBMOTION.Id            = reader.ReadInt32();
            nns_SUBMOTION.StartFrame    = reader.ReadSingle();
            nns_SUBMOTION.EndFrame      = reader.ReadSingle();
            nns_SUBMOTION.StartKeyFrame = reader.ReadSingle();
            nns_SUBMOTION.EndKeyFrame   = reader.ReadSingle();
            nns_SUBMOTION.nKeyFrame     = reader.ReadInt32();
            nns_SUBMOTION.KeySize       = reader.ReadInt32();
            uint num = reader.ReadUInt32();

            if (num != 0U)
            {
                long position = reader.BaseStream.Position;
                reader.BaseStream.Seek(data0Pos + ( long )(( ulong )num), 0);
                switch (motionType)
                {
                case 1U:
                    AppMain.NNS_SUBMOTION.ReadNodeMotionKeyFrames(reader, nns_SUBMOTION);
                    break;

                case 2U:
                    AppMain.NNS_SUBMOTION.ReadCameraMotionKeyFrames(reader, nns_SUBMOTION);
                    break;

                case 3U:
                    break;

                case 4U:
                    AppMain.NNS_SUBMOTION.ReadLightMotionKeyFrames(reader, nns_SUBMOTION);
                    break;

                default:
                    if (motionType != 8U)
                    {
                        if (motionType == 16U)
                        {
                            AppMain.NNS_SUBMOTION.ReadMaterialMotionKeyFrames(reader, nns_SUBMOTION);
                        }
                    }
                    else
                    {
                        AppMain.NNS_SUBMOTION.ReadMorthMotionKeyFrames(reader, nns_SUBMOTION);
                    }
                    break;
                }
                reader.BaseStream.Seek(position, 0);
            }
            return(nns_SUBMOTION);
        }
Exemplo n.º 4
0
 public NNS_SUBMOTION(AppMain.NNS_SUBMOTION subMotion)
 {
     this.fType         = subMotion.fType;
     this.fIPType       = subMotion.fIPType;
     this.Id            = subMotion.Id;
     this.StartFrame    = subMotion.StartFrame;
     this.EndFrame      = subMotion.EndFrame;
     this.StartKeyFrame = subMotion.StartKeyFrame;
     this.EndKeyFrame   = subMotion.EndKeyFrame;
     this.nKeyFrame     = subMotion.nKeyFrame;
     this.KeySize       = subMotion.KeySize;
     this.pKeyList      = subMotion.pKeyList;
 }
Exemplo n.º 5
0
        public static AppMain.NNS_SUBMOTION Read(
            BinaryReader reader,
            uint motionType,
            long data0Pos)
        {
            AppMain.NNS_SUBMOTION submotion = new AppMain.NNS_SUBMOTION();
            submotion.fType         = reader.ReadUInt32();
            submotion.fIPType       = reader.ReadUInt32();
            submotion.Id            = reader.ReadInt32();
            submotion.StartFrame    = reader.ReadSingle();
            submotion.EndFrame      = reader.ReadSingle();
            submotion.StartKeyFrame = reader.ReadSingle();
            submotion.EndKeyFrame   = reader.ReadSingle();
            submotion.nKeyFrame     = reader.ReadInt32();
            submotion.KeySize       = reader.ReadInt32();
            uint num = reader.ReadUInt32();

            if (num != 0U)
            {
                long position = reader.BaseStream.Position;
                reader.BaseStream.Seek(data0Pos + (long)num, SeekOrigin.Begin);
                switch (motionType)
                {
                case 1:
                    AppMain.NNS_SUBMOTION.ReadNodeMotionKeyFrames(reader, submotion);
                    break;

                case 2:
                    AppMain.NNS_SUBMOTION.ReadCameraMotionKeyFrames(reader, submotion);
                    break;

                case 4:
                    AppMain.NNS_SUBMOTION.ReadLightMotionKeyFrames(reader, submotion);
                    break;

                case 8:
                    AppMain.NNS_SUBMOTION.ReadMorthMotionKeyFrames(reader, submotion);
                    break;

                case 16:
                    AppMain.NNS_SUBMOTION.ReadMaterialMotionKeyFrames(reader, submotion);
                    break;
                }
                reader.BaseStream.Seek(position, SeekOrigin.Begin);
            }
            return(submotion);
        }
Exemplo n.º 6
0
 public AppMain.NNS_SUBMOTION Assign(AppMain.NNS_SUBMOTION subMotion)
 {
     if (this != subMotion)
     {
         this.fType         = subMotion.fType;
         this.fIPType       = subMotion.fIPType;
         this.Id            = subMotion.Id;
         this.StartFrame    = subMotion.StartFrame;
         this.EndFrame      = subMotion.EndFrame;
         this.StartKeyFrame = subMotion.StartKeyFrame;
         this.EndKeyFrame   = subMotion.EndKeyFrame;
         this.nKeyFrame     = subMotion.nKeyFrame;
         this.KeySize       = subMotion.KeySize;
         this.pKeyList      = subMotion.pKeyList;
     }
     return(this);
 }
Exemplo n.º 7
0
        private static void ReadMaterialMotionKeyFrames(
            BinaryReader reader,
            AppMain.NNS_SUBMOTION submotion)
        {
            int  fType1 = (int)submotion.fType;
            int  fType2 = (int)submotion.fType;
            uint num1   = submotion.fType & 4294967040U;
            uint num2   = submotion.fIPType & 3703U;

            if (((int)num1 & 256) != 0)
            {
                throw new NotImplementedException("Investigation needed");
            }
            if (((int)num1 & 3584) != 0)
            {
                switch (num2)
                {
                case 1:
                case 16:
label_8:
                    throw new NotImplementedException("Investigation needed");

                default:
                    switch (submotion.KeySize)
                    {
                    case 8:
                        submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        return;

                    case 16:
                        submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class5.Read(reader, submotion.nKeyFrame);
                        return;

                    default:
                        goto label_8;
                    }
                }
            }
            else
            {
                if (((int)num1 & 4096) != 0)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if (((int)num1 & 57344) != 0)
                {
                    switch (num2)
                    {
                    case 1:
                    case 16:
                        throw new NotImplementedException("Investigation needed");

                    default:
                        submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class5.Read(reader, submotion.nKeyFrame);
                        break;
                    }
                }
                else
                {
                    if (((int)num1 & 65536) != 0)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    if (((int)num1 & 131072) != 0)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    if (((int)num1 & 1835008) != 0)
                    {
                        switch (num2)
                        {
                        case 1:
                        case 16:
                            throw new NotImplementedException("Investigation needed");

                        default:
                            submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class5.Read(reader, submotion.nKeyFrame);
                            break;
                        }
                    }
                    else
                    {
                        if (((int)num1 & 2097152) != 0)
                        {
                            throw new NotImplementedException("Investigation needed");
                        }
                        if (((int)num1 & 4194304) != 0)
                        {
                            switch (num2)
                            {
                            case 1:
                                break;

                            case 16:
                                break;

                            default:
                                if (submotion.KeySize != 8)
                                {
                                    break;
                                }
                                submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                                break;
                            }
                        }
                        else if (((int)num1 & 25165824) != 0)
                        {
                            switch (num2)
                            {
                            case 1:
                                throw new NotImplementedException("Investigation needed");

                            case 16:
                                submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class2.Read(reader, submotion.nKeyFrame);
                                break;

                            default:
                                submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                                break;
                            }
                        }
                        else
                        {
                            if (((int)num1 & 33554432) != 0)
                            {
                                throw new NotImplementedException("Investigation needed");
                            }
                            throw new NotImplementedException("Investigation needed");
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
        private static void ReadNodeMotionKeyFrames(
            BinaryReader reader,
            AppMain.NNS_SUBMOTION submotion)
        {
            uint num1  = submotion.fType & 3U;
            int  fType = (int)submotion.fType;
            uint num2  = submotion.fType & 4294967040U;
            uint num3  = submotion.fIPType & 3703U;

            if (((int)num2 & 1792) != 0)
            {
                if (1U == num1)
                {
                    switch (num3)
                    {
                    case 1:
                    case 16:
                        throw new NotImplementedException("Investigation needed");

                    default:
                        submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        break;
                    }
                }
                else
                {
                    if (2U == num1)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    throw new NotImplementedException("Investigation needed");
                }
            }
            else if (((int)num2 & 30720) != 0)
            {
                if (1U == num1)
                {
                    submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class13.Read(reader, submotion.nKeyFrame);
                }
                else if (2U != num1)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                else if (num3 == 1U)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                else if (num3 == 512)
                {
                    submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class16.Read(reader, submotion.nKeyFrame);
                }
                else
                {
                    submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class14.Read(reader, submotion.nKeyFrame);
                }

                Console.WriteLine("{0}, {1}, {2}", num1, submotion.KeySize, num3);
            }
            else if (((int)num2 & 229376) != 0)
            {
                if (1U == num1)
                {
                    switch (num3)
                    {
                    case 1:
                    case 16:
                        throw new NotImplementedException("Investigation needed");

                    default:
                        submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        break;
                    }
                }
                else
                {
                    if (2U == num1)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    throw new NotImplementedException("Investigation needed");
                }
            }
            else
            {
                if (((int)num2 & 786432) != 0)
                {
                    if (1U == num1)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    if (2U == num1)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    throw new NotImplementedException("Investigation needed");
                }
                if (((int)num2 & 1048576) == 0)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if (1U == num1)
                {
                    submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class11.Read(reader, submotion.nKeyFrame);
                }
                else
                {
                    if (2U != num1)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    if (submotion.KeySize != 8)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    submotion.pKeyList = (object)AppMain.NNS_MOTION_KEY_Class16.Read(reader, submotion.nKeyFrame);
                }
            }
        }
Exemplo n.º 9
0
        // Token: 0x060020EC RID: 8428 RVA: 0x001400D8 File Offset: 0x0013E2D8
        private static void ReadMaterialMotionKeyFrames(BinaryReader reader, AppMain.NNS_SUBMOTION submotion)
        {
            uint num  = submotion.fType;
            uint num2 = submotion.fType;
            uint num3 = submotion.fType & 4294967040U;
            uint num4 = submotion.fIPType & 3703U;

            if ((num3 & 256U) != 0U)
            {
                throw new NotImplementedException("Investigation needed");
            }
            if ((num3 & 3584U) != 0U)
            {
                uint num5 = num4;
                if (num5 != 1U && num5 != 16U)
                {
                    int keySize = submotion.KeySize;
                    if (keySize == 8)
                    {
                        submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        return;
                    }
                    if (keySize != 12)
                    {
                        if (keySize == 16)
                        {
                            submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class5.Read(reader, submotion.nKeyFrame);
                            return;
                        }
                    }
                }
                throw new NotImplementedException("Investigation needed");
            }
            if ((num3 & 4096U) != 0U)
            {
                throw new NotImplementedException("Investigation needed");
            }
            if ((num3 & 57344U) != 0U)
            {
                uint num6 = num4;
                if (num6 != 1U && num6 != 16U)
                {
                    submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class5.Read(reader, submotion.nKeyFrame);
                    return;
                }
                throw new NotImplementedException("Investigation needed");
            }
            else
            {
                if ((num3 & 65536U) != 0U)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if ((num3 & 131072U) != 0U)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if ((num3 & 1835008U) != 0U)
                {
                    uint num7 = num4;
                    if (num7 != 1U && num7 != 16U)
                    {
                        submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class5.Read(reader, submotion.nKeyFrame);
                        return;
                    }
                    throw new NotImplementedException("Investigation needed");
                }
                else
                {
                    if ((num3 & 2097152U) != 0U)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    if ((num3 & 4194304U) != 0U)
                    {
                        uint num8 = num4;
                        if (num8 == 1U || num8 == 16U)
                        {
                            return;
                        }
                        int keySize2 = submotion.KeySize;
                        if (keySize2 != 8)
                        {
                            return;
                        }
                        submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        return;
                    }
                    else if ((num3 & 25165824U) != 0U)
                    {
                        uint num9 = num4;
                        if (num9 == 1U)
                        {
                            throw new NotImplementedException("Investigation needed");
                        }
                        if (num9 == 16U)
                        {
                            submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class2.Read(reader, submotion.nKeyFrame);
                            return;
                        }
                        submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        return;
                    }
                    else
                    {
                        if ((num3 & 33554432U) != 0U)
                        {
                            throw new NotImplementedException("Investigation needed");
                        }
                        throw new NotImplementedException("Investigation needed");
                    }
                }
            }
        }
Exemplo n.º 10
0
        // Token: 0x060020E8 RID: 8424 RVA: 0x0013FEB4 File Offset: 0x0013E0B4
        private static void ReadNodeMotionKeyFrames(BinaryReader reader, AppMain.NNS_SUBMOTION submotion)
        {
            uint num  = submotion.fType & 3U;
            uint num2 = submotion.fType;
            uint num3 = submotion.fType & 4294967040U;
            uint num4 = submotion.fIPType & 3703U;

            if ((num3 & 1792U) != 0U)
            {
                if (1U == num)
                {
                    uint num5 = num4;
                    if (num5 != 1U && num5 != 16U)
                    {
                        submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        return;
                    }
                    throw new NotImplementedException("Investigation needed");
                }
                else
                {
                    if (2U == num)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    throw new NotImplementedException("Investigation needed");
                }
            }
            else if ((num3 & 30720U) != 0U)
            {
                if (1U == num)
                {
                    submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class13.Read(reader, submotion.nKeyFrame);
                    return;
                }
                if (2U != num)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                uint num6 = num4;
                if (num6 != 1U)
                {
                    submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class14.Read(reader, submotion.nKeyFrame);
                    return;
                }
                throw new NotImplementedException("Investigation needed");
            }
            else if ((num3 & 229376U) != 0U)
            {
                if (1U == num)
                {
                    uint num7 = num4;
                    if (num7 != 1U && num7 != 16U)
                    {
                        submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class1.Read(reader, submotion.nKeyFrame);
                        return;
                    }
                    throw new NotImplementedException("Investigation needed");
                }
                else
                {
                    if (2U == num)
                    {
                        throw new NotImplementedException("Investigation needed");
                    }
                    throw new NotImplementedException("Investigation needed");
                }
            }
            else if ((num3 & 786432U) != 0U)
            {
                if (1U == num)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if (2U == num)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                throw new NotImplementedException("Investigation needed");
            }
            else
            {
                if ((num3 & 1048576U) == 0U)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if (1U == num)
                {
                    submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class11.Read(reader, submotion.nKeyFrame);
                    return;
                }
                if (2U != num)
                {
                    throw new NotImplementedException("Investigation needed");
                }
                if (submotion.KeySize == 8)
                {
                    submotion.pKeyList = AppMain.NNS_MOTION_KEY_Class16.Read(reader, submotion.nKeyFrame);
                    return;
                }
                throw new NotImplementedException("Investigation needed");
            }
        }