Beispiel #1
0
 public override string GetText()
 {
     if (QbSongClass1.ContainsKey(Int0))
     {
         return(QbSongClass1.GetDictString(Int0) + " (Script)");
     }
     return(KeyGenerator.ValToHex32Bit(Int0) + " (Script Tag)");
 }
Beispiel #2
0
 public string method_2()
 {
     if (QbSongClass1.ContainsKey(Int0))
     {
         return(QbSongClass1.GetDictString(Int0));
     }
     return("0x" + IntToHex32Bit(Int0));
 }
Beispiel #3
0
 public string imethod_9()
 {
     if (!QbSongClass1.ContainsKey(imethod_7()))
     {
         return("0x" + KeyGenerator.ValToHex32Bit(imethod_7()));
     }
     return(QbSongClass1.GetDictString(imethod_7()));
 }
Beispiel #4
0
        public override string GetText()
        {
            var str = (Nodes.Count > 0) ? method_2(0).GetText() : "NULL";

            if (QbSongClass1.ContainsKey(Int0))
            {
                return(QbSongClass1.GetDictString(Int0) + " = " + str);
            }
            return(KeyGenerator.ValToHex32Bit(Int0) + " (Tag) = " + str);
        }
Beispiel #5
0
 public ZzCocoaNode12(int int6, int int7, int int8, int int9, int int10, int int11, Enum35 enum351)
 {
     Text = (QbSongClass1.ContainsKey(int9)
         ? KeyGenerator.GetFileName(QbSongClass1.GetDictString(int9))
         : ("0x" + KeyGenerator.ValToHex32Bit(int9)));
     _int2              = int6;
     _int0              = int7;
     _int1              = int8;
     _int3              = int9;
     _int4              = int10;
     _int5              = int11;
     _enum350           = enum351;
     ImageIndex         = 39;
     SelectedImageIndex = 39;
     _byte0             = null;
 }
Beispiel #6
0
 private void method_19()
 {
     if (String1 != null)
     {
         Class3180 = new ZzPakNode2(String1, false);
     }
     using (var stream = new Stream26(File.Open(String0, FileMode.Open, FileAccess.Read, FileShare.Read)))
     {
         var num  = 0;
         var num2 = (int)stream.Length;
         if (num2 == 0)
         {
             throw new Exception("Pak File is empty!");
         }
         var int_ = stream.ReadInt();
         stream.ReverseEndianness = (Bool2 = (!QbSongClass1.ContainsKey(int_) ||
                                              !QbSongClass1.GetDictString(int_).StartsWith(".")));
         Bool3 = (stream.ReadInt() < stream.Length);
         var @enum = (Enum35)stream.ReadIntAt(28);
         Bool1 = ((@enum & Enum35.Flag3) == Enum35.Flag0);
         Int0  = stream.ReadIntAt(Bool1 ? 12 : 16,
                                  Bool2 && (@enum & Enum35.Flag4) == Enum35.Flag0 && (@enum & Enum35.Flag5) == Enum35.Flag0);
         while (true)
         {
             var enum2 = (Enum35)stream.ReadIntAt(num + 28, false);
             var bool_ = Bool2 && (enum2 & Enum35.Flag4) == Enum35.Flag0 &&
                         (enum2 & Enum35.Flag5) == Enum35.Flag0;
             var num3 = stream.ReadIntAt(num, bool_);
             if (QbSongClass1.ContainsKey(num3) && (QbSongClass1.GetDictString(num3).Equals(".last") ||
                                                    QbSongClass1.GetDictString(num3).Equals("last")))
             {
                 break;
             }
             var num4 = stream.ReadInt(bool_);
             if (!Bool3)
             {
                 num4 = num4 - num2 + num;
             }
             if (num4 < 0)
             {
                 num4 = 0;
             }
             var int2 = stream.ReadInt(bool_);
             var num5 = stream.ReadIntAt(num + (Bool1 ? 16 : 12), bool_);
             var num6 = stream.ReadIntAt(num + 20, bool_);
             var int3 = stream.ReadInt(bool_);
             stream.Position += 4L;
             if ((enum2 & Enum35.Flag3) != Enum35.Flag0)
             {
                 Bool1 = false;
                 var text = Stream260.ReadString(160);
                 var num7 = text.IndexOf('\0');
                 if (num7 >= 0)
                 {
                     text = text.Substring(0, num7);
                 }
                 if (QbSongClass1.ContainsKey(num3) && !QbSongClass1.GetDictString(num3).EndsWith(".qb.ngc") &&
                     !QbSongClass1.GetDictString(num3).EndsWith(".qb.ps2"))
                 {
                     if (!Bool2)
                     {
                         if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ps2", ""),
                                                           true))
                         {
                             QbSongClass1.AddKeyToDictionary(text);
                         }
                         else if (num5 == KeyGenerator.GetQbKey(
                                      text = text.Replace("/", "\\").Replace(".qb", ""), true))
                         {
                             QbSongClass1.AddKeyToDictionary(text);
                         }
                     }
                     else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ngc", ""),
                                                            true))
                     {
                         QbSongClass1.AddKeyToDictionary(text);
                     }
                     else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".qb", ""),
                                                            true))
                     {
                         QbSongClass1.AddKeyToDictionary(text);
                     }
                 }
                 else
                 {
                     var text2 = "abcdefghijklmnopqrstuvwxyz";
                     for (var i = 0; i < text2.Length; i++)
                     {
                         var c = text2[i];
                         if (num5 == KeyGenerator.GetQbKey(c + text, true))
                         {
                             QbSongClass1.AddKeyToDictionary(c + text);
                         }
                     }
                 }
                 if (num6 == KeyGenerator.GetQbKey(text = KeyGenerator.GetFileNameNoExt(text), true))
                 {
                     QbSongClass1.AddKeyToDictionary(text);
                 }
             }
             TreeNode treeNode;
             if (QbSongClass1.ContainsKey(num3) && QbSongClass1.GetDictString(num3).EndsWith("qb"))
             {
                 treeNode = new Class309(num3, num4, int2, num5, num6, int3, enum2);
             }
             else if (QbSongClass1.ContainsKey(num3) && QbSongClass1.GetDictString(num3).Contains("qs"))
             {
                 treeNode = new Class328(num3, num4, int2, num5, num6, int3, enum2);
             }
             else
             {
                 treeNode = new ZzCocoaNode12(num3, num4, int2, num5, num6, int3, enum2);
             }
             if (QbSongClass1.ContainsKey(num5))
             {
                 method_1(QbSongClass1.GetDictString(num5), treeNode);
             }
             else
             {
                 method_5(num5, (INterface12)treeNode);
             }
             num += (((enum2 & Enum35.Flag3) != Enum35.Flag0) ? 192 : 32);
         }
     }
     Stream260 = new Stream26(File.Open(String2, FileMode.Open, FileAccess.Read, FileShare.Read));
     if (Stream260.Length == 0L)
     {
         throw new Exception("Pab File is empty!");
     }
 }
Beispiel #7
0
        private void method_4()
        {
            if (Stream260 == null)
            {
                Stream260 = new Stream26(File.Open(String0, FileMode.Open, FileAccess.Read, FileShare.Read));
            }
            Class3180 = ((String1 != null) ? new ZzPakNode2(String1, false) : this);
            if (Stream260.Length == 0L)
            {
                throw new Exception("Pak File is empty!");
            }
            var num  = 0;
            var num2 = Stream260.ReadInt();

            Stream260.ReverseEndianness = (Bool2 = (!QbSongClass1.ContainsKey(num2) ||
                                                    !QbSongClass1.GetDictString(num2).StartsWith(".")));
            var @enum = (Enum35)Stream260.ReadIntAt(28);

            Bool1 = ((@enum & Enum35.Flag3) == Enum35.Flag0);
            Int0  = Stream260.ReadIntAt(Bool1 ? 12 : 16,
                                        Bool2 && (@enum & Enum35.Flag4) == Enum35.Flag0 && (@enum & Enum35.Flag5) == Enum35.Flag0);
            if (Bool4 && String0 != null)
            {
                var text = KeyGenerator.GetFileName(String0);
                if (text.Contains("_song"))
                {
                    QbSongClass1.GenerateSongTrackStuff(text.Substring(0, text.LastIndexOf("_song.pak")).ToLower());
                }
                else if (!Bool1)
                {
                    QbSongClass1.GenerateSongTrackStuff(text.Substring(0, text.LastIndexOf(".pak")).ToLower());
                }
            }
            while (true)
            {
                var enum2 = (Enum35)Stream260.ReadIntAt(num + 28);
                var flag  = Bool2 && (enum2 & Enum35.Flag4) == Enum35.Flag0 && (enum2 & Enum35.Flag5) == Enum35.Flag0;
                var int_  = Stream260.ReadIntAt(num, flag);
                if (QbSongClass1.ContainsKey(int_))
                {
                    if (QbSongClass1.GetDictString(int_).Equals(".last"))
                    {
                        return;
                    }
                    if (QbSongClass1.GetDictString(int_).Equals("last"))
                    {
                        break;
                    }
                }
                var int2 = Stream260.ReadInt(flag) + num;
                var int3 = Stream260.ReadInt(flag);
                var num3 = Stream260.ReadIntAt(num + (Bool1 ? 16 : 12), flag);
                var num4 = Stream260.ReadIntAt(num + 20, flag);
                var int4 = Stream260.ReadInt(flag);
                Stream260.Position += 4L;
                if ((enum2 & Enum35.Flag3) != Enum35.Flag0)
                {
                    Bool1 = false;
                    var text2 = Stream260.ReadString(160);
                    var num5  = text2.IndexOf('\0');
                    if (num5 >= 0)
                    {
                        text2 = text2.Substring(0, num5);
                    }
                    if (QbSongClass1.ContainsKey(int_) && !QbSongClass1.GetDictString(int_).EndsWith(".qb.ngc") &&
                        !QbSongClass1.GetDictString(int_).EndsWith(".qb.ps2"))
                    {
                        if (!Bool2)
                        {
                            if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".ps2", ""),
                                                              true))
                            {
                                QbSongClass1.AddKeyToDictionary(text2);
                            }
                            else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".qb", ""),
                                                                   true))
                            {
                                QbSongClass1.AddKeyToDictionary(text2);
                            }
                        }
                        else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".ngc", ""),
                                                               true))
                        {
                            QbSongClass1.AddKeyToDictionary(text2);
                        }
                        else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".qb", ""),
                                                               true))
                        {
                            QbSongClass1.AddKeyToDictionary(text2);
                        }
                    }
                    else
                    {
                        var text3 = "abcdefghijklmnopqrstuvwxyz";
                        for (var i = 0; i < text3.Length; i++)
                        {
                            var c = text3[i];
                            if (num3 == KeyGenerator.GetQbKey(c + text2, true))
                            {
                                QbSongClass1.AddKeyToDictionary(c + text2);
                            }
                        }
                    }
                    if (num4 == KeyGenerator.GetQbKey(text2 = KeyGenerator.GetFileNameNoExt(text2), true))
                    {
                        QbSongClass1.AddKeyToDictionary(text2);
                    }
                }
                TreeNode treeNode;
                if (QbSongClass1.ContainsKey(int_) && QbSongClass1.GetDictString(int_).Contains("qb"))
                {
                    treeNode = new Class309(int_, int2, int3, num3, num4, int4, enum2);
                }
                else if (QbSongClass1.ContainsKey(int_) && QbSongClass1.GetDictString(int_).Contains("qs"))
                {
                    treeNode = new Class328(int_, int2, int3, num3, num4, int4, enum2);
                }
                else
                {
                    treeNode = new ZzCocoaNode12(int_, int2, int3, num3, num4, int4, enum2);
                }
                if (Bool4)
                {
                    if (QbSongClass1.ContainsKey(num3))
                    {
                        method_1(QbSongClass1.GetDictString(num3), treeNode);
                    }
                    else
                    {
                        method_5(num3, (INterface12)treeNode);
                    }
                }
                else
                {
                    List0.Add((INterface12)treeNode);
                }
                num += (((enum2 & Enum35.Flag3) != Enum35.Flag0) ? 192 : 32);
            }
        }
Beispiel #8
0
        public void method_18(Stream26 stream261, Stream26 stream262)
        {
            var num = 0;

            foreach (var current in List0)
            {
                num += (((current.imethod_14() & Enum35.Flag3) == Enum35.Flag0 ||
                         !QbSongClass1.ContainsKey(current.imethod_7()))
                    ? 32
                    : 192);
            }
            if (Bool1)
            {
                num = (num + 32 + 4095 & -4096);
            }
            else
            {
                num += (Bool2 ? 64 : 48);
            }
            var num2 = 0;
            var list = new List <INterface12>();

            foreach (var current2 in List0)
            {
                if (current2 is Class309 && (current2 as Class309).vmethod_8())
                {
                    var string_ = current2.imethod_9().Replace(".qb", ".qs");
                    if (!Class3180.method_6(string_))
                    {
                        if (!current2.imethod_18())
                        {
                            list.Add(new Class328(string_, (current2 as Class309).vmethod_10()));
                        }
                        else
                        {
                            list.Add(new Class328(string_));
                        }
                    }
                    else
                    {
                        var @interface = Class3180.method_10(string_);
                        if (@interface.imethod_18() || ((Class328)@interface).Dictionary0 !=
                            (current2 as Class309).vmethod_10())
                        {
                            ((Class328)@interface).Dictionary0 = (current2 as Class309).vmethod_10();
                        }
                    }
                }
            }
            if (list.Count != 0)
            {
                Class3180.List0.AddRange(list);
            }
            int num4;

            foreach (var current3 in List0)
            {
                var flag = Bool2 && (current3.imethod_14() & Enum35.Flag4) == Enum35.Flag0 &&
                           (current3.imethod_14() & Enum35.Flag5) == Enum35.Flag0;
                var num3 = current3.imethod_7();
                if (current3.imethod_4() != 0)
                {
                    stream261.WriteInt(current3.imethod_4(), flag);
                }
                else
                {
                    var text = QbSongClass1.GetDictString(num3);
                    if (!Bool1 && !text.EndsWith(".qb.ngc") && !text.EndsWith(".qb.ps2"))
                    {
                        stream261.WriteInt(1270999134, flag);
                    }
                    else if (text.Contains(".qb"))
                    {
                        stream261.WriteUInt(2817852868u, flag);
                    }
                    else
                    {
                        stream261.WriteInt(1952304453, flag);
                    }
                }
                if (this is ZzPabNode && Bool3)
                {
                    stream261.WriteInt((int)stream262.Length, flag);
                }
                else
                {
                    stream261.WriteInt(num - num2 + (int)stream262.Length, flag);
                }
                stream261.WriteInt(current3.imethod_2(), flag);
                if (Bool1)
                {
                    stream261.WriteInt(Int0, flag);
                }
                stream261.WriteInt(num3, flag);
                if (!Bool1)
                {
                    stream261.WriteInt(Int0, flag);
                }
                stream261.WriteInt(current3.imethod_10(), flag);
                stream261.WriteInt(current3.imethod_12(), flag);
                stream261.WriteInt((int)current3.imethod_14(), false);
                var flag2 = false;
                if ((current3.imethod_14() & Enum35.Flag3) != Enum35.Flag0 && QbSongClass1.ContainsKey(num3))
                {
                    flag2 = true;
                    var text2 = QbSongClass1.GetDictString(num3);
                    if (!current3.imethod_6().EndsWith(".qb.ngc") && !current3.imethod_6().EndsWith(".qb.ps2"))
                    {
                        if (Bool1)
                        {
                            text2 = text2.Replace("\\", "/");
                        }
                        else if (!Bool2)
                        {
                            text2 = text2.Replace("\\", "/") + (current3.imethod_6().EndsWith(".qb") ? "" : ".qb") +
                                    ".ps2";
                        }
                        else
                        {
                            text2 = text2.Replace("\\", "/") + (current3.imethod_6().EndsWith(".qb") ? "" : ".qb") +
                                    ".ngc";
                        }
                    }
                    else
                    {
                        text2 = text2.Substring(1);
                    }
                    stream261.WriteString(text2);
                    stream261.WriteNBytes(0, 160 - text2.Length);
                }
                stream262.WriteByteArray(method_14(current3));
                num4 = ((Bool2 || Bool1) ? smethod_0(stream262.Length, 5) : smethod_0(stream262.Length, 4));
                stream262.WriteNBytes(0, num4);
                num2 += (flag2 ? 192 : 32);
            }
            stream261.WriteUInt(Bool1 ? 749989691u : 3039057503u);
            if (this is ZzPabNode && Bool3)
            {
                stream261.WriteInt((int)stream262.Length);
            }
            else
            {
                stream261.WriteInt(num - num2 + (int)stream262.Length);
            }
            stream261.WriteInt(4);
            if (Bool1)
            {
                stream261.WriteInt(Int0);
                stream261.WriteUInt(2306521930u);
                stream261.WriteInt(1794739921);
                stream261.WriteNBytes(0, 8);
            }
            else
            {
                stream261.WriteNBytes(0, 4);
                stream261.WriteInt(Int0);
                stream261.WriteNBytes(0, 12);
            }
            num4 = (Bool1 ? smethod_0(stream261.Length, 12) : (Bool2 ? 32 : 16));
            stream261.WriteNBytes(0, num4);
            stream262.WriteNBytes(171, 4);
            stream262.WriteNBytes(0, 12);
            num4 = (Bool1 ? smethod_0(stream262.Length, 12) : ((int)stream262.Length % (Bool2 ? 32 : 16)));
            stream262.WriteNBytes(171, num4);
        }
Beispiel #9
0
 public static void smethod_1(ScriptRootNode class2740)
 {
     class2740.method_7().method_7(smethod_0(QbSongClass1.GetDictString(class2740.Int0)));
 }
Beispiel #10
0
        public void method_2()
        {
            _delegate90(0, "*.tex.xen");
            var treeNode = new TreeNode("Data");
            var files    = Directory.GetFiles(_dataDirectory.Remove(_dataDirectory.Length - 1), "*.tex.xen",
                                              SearchOption.AllDirectories);
            var array = files;

            for (var i = 0; i < array.Length; i++)
            {
                var text = array[i];
                method_3(treeNode, new List <string>(text.Substring(_dataDirectory.Length)
                                                     .Split(new[]
                {
                    '\\',
                    '/'
                }, StringSplitOptions.RemoveEmptyEntries)))
                .ToolTipText = text;
            }

            _delegate90(1, "*.img.xen");
            files = Directory.GetFiles(_dataDirectory.Remove(_dataDirectory.Length - 1), "*.img.xen",
                                       SearchOption.AllDirectories);
            var array2 = files;

            for (var j = 0; j < array2.Length; j++)
            {
                var text2 = array2[j];
                method_3(treeNode, new List <string>(text2.Substring(_dataDirectory.Length)
                                                     .Split(new[]
                {
                    '\\',
                    '/'
                }, StringSplitOptions.RemoveEmptyEntries)))
                .ToolTipText = text2;
            }

            var num  = QbSongClass1.AddKeyToDictionary(".tex");
            var num2 = QbSongClass1.AddKeyToDictionary(".img");

            files = Directory.GetFiles(_dataDirectory.Remove(_dataDirectory.Length - 1), "*.pak.xen",
                                       SearchOption.AllDirectories);
            var num3   = 0;
            var array3 = files;

            for (var k = 0; k < array3.Length; k++)
            {
                var text3 = array3[k];
                _delegate90(1 + (int)(98.0 * ++num3 / files.Length), KeyGenerator.GetFileName(text3));
                try
                {
                    using (var @class = File.Exists(text3.Replace(".pak.xen", ".pab.xen"))
                        ? new ZzPabNode(text3, text3.Replace(".pak.xen", ".pab.xen"), false)
                        : new ZzPakNode2(text3, false))
                    {
                        var list = new List <TreeNode>();
                        foreach (var current in @class.List0)
                        {
                            var num4 = current.imethod_7();
                            if (current.imethod_4() == num || current.imethod_4() == num2)
                            {
                                list.Add(new TreeNode(QbSongClass1.ContainsKey(num4)
                                    ? KeyGenerator.GetFileName(QbSongClass1.GetDictString(num4))
                                    : KeyGenerator.ValToHex32Bit(num4))
                                {
                                    ToolTipText = text3,
                                    Tag         = num4
                                });
                            }
                        }
                        if (list.Count > 0)
                        {
                            method_3(treeNode, new List <string>(text3.Substring(_dataDirectory.Length)
                                                                 .Split(new[]
                            {
                                '\\',
                                '/'
                            }, StringSplitOptions.RemoveEmptyEntries)))
                            .Nodes.AddRange(list.ToArray());
                        }
                    }
                }
                catch
                {
                }
                GC.Collect();
            }
            _delegate80(treeNode);
        }