Beispiel #1
0
        public StructureHeaderNode method_3()
        {
            var @class = new StructureHeaderNode();

            @class.method_3(new UnicodeStructureNode("title", Title));
            if (Songs.Count == 0)
            {
                @class.method_3(new ArrayPointerNode("songs", new FloatListNode(true)));
            }
            else
            {
                var list = new List <int>();
                foreach (var current in Songs)
                {
                    list.Add(QbSongClass1.AddKeyToDictionary(current.Name));
                }
                @class.method_3(new ArrayPointerNode("songs", new TagArray(list)));
            }
            if (Boss)
            {
                @class.method_3(new TagStructureNode(0, "boss"));
            }
            if (Encorep1)
            {
                @class.method_3(new TagStructureNode(0, "encorep1"));
            }
            if (Encorep2)
            {
                @class.method_3(new TagStructureNode(0, "encorep2"));
            }
            if (AerosmithEncoreP1)
            {
                @class.method_3(new TagStructureNode(0, "aerosmith_encore_p1"));
            }
            if (Level != null && Level != "No Preset Stage")
            {
                @class.method_3(new TagStructureNode("level", Level));
            }
            if (Defaultunlocked != 0)
            {
                @class.method_3(new IntegerStructureNode("defaultunlocked", Defaultunlocked));
            }
            if (!CompletionMovie.Equals(""))
            {
                @class.method_3(new AsciiStructureNode("completion_movie", CompletionMovie));
            }
            if (!SetlistIcon.Equals("No Icon"))
            {
                @class.method_3(new TagStructureNode("setlist_icon", SetlistIcon));
            }
            if (Nocash)
            {
                @class.method_3(new TagStructureNode(0, "nocash"));
            }
            if (Unlockall)
            {
                @class.method_3(new TagStructureNode(0, "unlockall"));
            }
            return(@class);
        }
Beispiel #2
0
        public StructureHeaderNode method_3()
        {
            StructureHeaderNode @class = new StructureHeaderNode();

            @class.method_3(new UnicodeStructureNode("title", this.title));
            if (this.songs.Count == 0)
            {
                @class.method_3(new ArrayPointerNode("songs", new FloatListNode(true)));
            }
            else
            {
                List <int> list = new List <int>();
                foreach (GH3Song current in this.songs)
                {
                    list.Add(QbSongClass1.smethod_9(current.name));
                }
                @class.method_3(new ArrayPointerNode("songs", new TagArray(list)));
            }
            if (this.boss)
            {
                @class.method_3(new TagStructureNode(0, "boss"));
            }
            if (this.encorep1)
            {
                @class.method_3(new TagStructureNode(0, "encorep1"));
            }
            if (this.encorep2)
            {
                @class.method_3(new TagStructureNode(0, "encorep2"));
            }
            if (this.aerosmith_encore_p1)
            {
                @class.method_3(new TagStructureNode(0, "aerosmith_encore_p1"));
            }
            if (this.level != null && this.level != "No Preset Stage")
            {
                @class.method_3(new TagStructureNode("level", this.level));
            }
            if (this.defaultunlocked != 0)
            {
                @class.method_3(new IntegerStructureNode("defaultunlocked", this.defaultunlocked));
            }
            if (!this.completion_movie.Equals(""))
            {
                @class.method_3(new AsciiStructureNode("completion_movie", this.completion_movie));
            }
            if (!this.setlist_icon.Equals("No Icon"))
            {
                @class.method_3(new TagStructureNode("setlist_icon", this.setlist_icon));
            }
            if (this.nocash)
            {
                @class.method_3(new TagStructureNode(0, "nocash"));
            }
            if (this.unlockall)
            {
                @class.method_3(new TagStructureNode(0, "unlockall"));
            }
            return(@class);
        }
Beispiel #3
0
 public string method_2()
 {
     if (QbSongClass1.smethod_3(this.int_0))
     {
         return(QbSongClass1.smethod_5(this.int_0));
     }
     return("0x" + base.IntToHex32Bit(this.int_0));
 }
Beispiel #4
0
 public void Add(GH3Song gh3Song_0)
 {
     if (!base.ContainsKey(gh3Song_0.getSongName()))
     {
         base.Add(gh3Song_0.getSongName(), gh3Song_0);
         QbSongClass1.smethod_9(gh3Song_0.getSongName());
     }
 }
Beispiel #5
0
 public string imethod_9()
 {
     if (!QbSongClass1.ContainsKey(imethod_7()))
     {
         return("0x" + KeyGenerator.ValToHex32Bit(imethod_7()));
     }
     return(QbSongClass1.GetDictString(imethod_7()));
 }
Beispiel #6
0
 public string method_2()
 {
     if (QbSongClass1.ContainsKey(Int0))
     {
         return(QbSongClass1.GetDictString(Int0));
     }
     return("0x" + IntToHex32Bit(Int0));
 }
Beispiel #7
0
 public override string GetText()
 {
     if (QbSongClass1.smethod_3(this.int_0))
     {
         return(QbSongClass1.smethod_5(this.int_0) + " (Script)");
     }
     return(KeyGenerator.ValToHex32bit(this.int_0) + " (Script Tag)");
 }
Beispiel #8
0
 public void Add(Gh3Song gh3Song0)
 {
     if (!ContainsKey(gh3Song0.GetSongName()))
     {
         base.Add(gh3Song0.GetSongName(), gh3Song0);
         QbSongClass1.AddKeyToDictionary(gh3Song0.GetSongName());
     }
 }
Beispiel #9
0
 public override string GetText()
 {
     if (QbSongClass1.ContainsKey(Int0))
     {
         return(QbSongClass1.GetDictString(Int0) + " (Script)");
     }
     return(KeyGenerator.ValToHex32Bit(Int0) + " (Script Tag)");
 }
Beispiel #10
0
 public string imethod_9()
 {
     if (!QbSongClass1.smethod_3(this.imethod_7()))
     {
         return("0x" + KeyGenerator.ValToHex32bit(this.imethod_7()));
     }
     return(QbSongClass1.smethod_5(this.imethod_7()));
 }
Beispiel #11
0
 public int imethod_7()
 {
     if (base.Parent != null && base.Parent is zzPakNode1 && !(base.Parent as zzPakNode1).bool_0)
     {
         return(QbSongClass1.smethod_9((base.Parent as zzPakNode1).vmethod_0() + base.Text));
     }
     return(this.int_3);
 }
Beispiel #12
0
 public int imethod_7()
 {
     if (Parent != null && Parent is ZzPakNode1 && !(Parent as ZzPakNode1).Bool0)
     {
         return(QbSongClass1.AddKeyToDictionary((Parent as ZzPakNode1).vmethod_0() + Text));
     }
     return(_int3);
 }
Beispiel #13
0
        public override void vmethod_0()
        {
            zzGenericNode1 @class = this.class318_0.zzGetNode1("scripts\\guitar\\guitar_events.qb");

            ((StructureHeaderNode)@class.method_5 <TagStructureNode>(new TagStructureNode("event", "star_power_on")).Parent).method_5 <TagStructureNode>(new TagStructureNode("scr")).method_9(this.bool_0 ? "guitarevent_starpoweroff" : "guitarevent_starpoweron");
            if (!this.bool_0)
            {
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("hit_note_fx")).int_0 = QbSongClass1.smethod_9("hit_note_fx_empty");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_starsequencebonus")).int_0      = QbSongClass1.smethod_9("guitarevent_starsequencebonus_empty");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_multiplier4xon_spawned")).int_0 = QbSongClass1.smethod_9("guitarevent_multiplier4xon_spawned_empty");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("first_gem_fx")).int_0         = QbSongClass1.smethod_9("first_gem_fx_empty");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("hit_note_fx_original")).int_0 = QbSongClass1.smethod_9("hit_note_fx");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_starsequencebonus_original")).int_0      = QbSongClass1.smethod_9("guitarevent_starsequencebonus");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_multiplier4xon_spawned_original")).int_0 = QbSongClass1.smethod_9("guitarevent_multiplier4xon_spawned");
                @class.method_5 <ScriptRootNode>(new ScriptRootNode("first_gem_fx_original")).int_0 = QbSongClass1.smethod_9("first_gem_fx");
                return;
            }
            @class.method_5 <ScriptRootNode>(new ScriptRootNode("hit_note_fx")).int_0 = QbSongClass1.smethod_9("hit_note_fx_original");
            @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_starsequencebonus")).int_0      = QbSongClass1.smethod_9("guitarevent_starsequencebonus_original");
            @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_multiplier4xon_spawned")).int_0 = QbSongClass1.smethod_9("guitarevent_multiplier4xon_spawned_original");
            @class.method_5 <ScriptRootNode>(new ScriptRootNode("first_gem_fx")).int_0 = QbSongClass1.smethod_9("first_gem_fx_original");
            ScriptRootNode class2 = @class.method_5 <ScriptRootNode>(new ScriptRootNode("hit_note_fx_empty"));

            if (class2 != null)
            {
                class2.int_0 = QbSongClass1.smethod_9("hit_note_fx");
            }
            else
            {
                @class.method_3(new ScriptRootNode("hit_note_fx", "scripts\\guitar\\guitar_events.qb", new QbScriptNode()));
            }
            class2 = @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_starsequencebonus_empty"));
            if (class2 != null)
            {
                class2.int_0 = QbSongClass1.smethod_9("guitarevent_starsequencebonus");
            }
            else
            {
                @class.method_3(new ScriptRootNode("guitarevent_starsequencebonus", "scripts\\guitar\\guitar_events.qb", new QbScriptNode()));
            }
            class2 = @class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_multiplier4xon_spawned_empty"));
            if (class2 != null)
            {
                class2.int_0 = QbSongClass1.smethod_9("guitarevent_multiplier4xon_spawned");
            }
            else
            {
                @class.method_3(new ScriptRootNode("guitarevent_multiplier4xon_spawned", "scripts\\guitar\\guitar_events.qb", new QbScriptNode()));
            }
            class2 = @class.method_5 <ScriptRootNode>(new ScriptRootNode("first_gem_fx_empty"));
            if (class2 != null)
            {
                class2.int_0 = QbSongClass1.smethod_9("first_gem_fx");
                return;
            }
            @class.method_3(new ScriptRootNode("first_gem_fx", "scripts\\guitar\\guitar_events.qb", new QbScriptNode()));
        }
Beispiel #14
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 #15
0
 public void method_3(string string_1)
 {
     if (string_1 == null)
     {
         this.string_0 = null;
         return;
     }
     this.string_0 = string_1;
     this.int_0    = QbSongClass1.smethod_6(string_1);
 }
Beispiel #16
0
 public zzCocoaNode12(string string_0)
 {
     base.Text               = KeyGenerator.GetFileName(string_0);
     this.int_2              = QbSongClass1.smethod_9(string_0.Substring(string_0.LastIndexOf('.')));
     this.int_3              = QbSongClass1.smethod_9(string_0);
     this.int_4              = QbSongClass1.smethod_9(KeyGenerator.GetFileNameNoExt(string_0));
     base.ImageIndex         = 39;
     base.SelectedImageIndex = 39;
     this.byte_0             = null;
 }
Beispiel #17
0
        public override string GetText()
        {
            string text = (base.Nodes.Count > 0) ? base.method_2(0).GetText() : "NULL";

            if (QbSongClass1.smethod_3(this.int_0))
            {
                return(QbSongClass1.smethod_5(this.int_0) + " = " + text);
            }
            return("0x" + KeyGenerator.ValToHex32bit(this.int_0) + " (Tag) = " + text);
        }
Beispiel #18
0
 public void method_3(string string1)
 {
     if (string1 == null)
     {
         _string0 = null;
         return;
     }
     _string0 = string1;
     Int0     = QbSongClass1.smethod_6(string1);
 }
Beispiel #19
0
 public ZzCocoaNode12(string string0)
 {
     Text               = KeyGenerator.GetFileName(string0);
     _int2              = QbSongClass1.AddKeyToDictionary(string0.Substring(string0.LastIndexOf('.')));
     _int3              = QbSongClass1.AddKeyToDictionary(string0);
     _int4              = QbSongClass1.AddKeyToDictionary(KeyGenerator.GetFileNameNoExt(string0));
     ImageIndex         = 39;
     SelectedImageIndex = 39;
     _byte0             = null;
 }
Beispiel #20
0
        public void method_13(ZzGenericNode1 class3080)
        {
            var list  = new List <int>();
            var list2 = new List <ZzUnkNode294>();

            foreach (var current in Keys)
            {
                list.Add(QbSongClass1.AddKeyToDictionary(current));
                list2.Add(base[current].vmethod_5());
            }
            ((TagArray)class3080.method_5(new ArrayPointerRootNode("gh3_songlist")).method_7()).method_12(list);
            class3080.method_5(new StructurePointerRootNode("permanent_songlist_props")).method_7().method_9(list2);
        }
Beispiel #21
0
 public void method_0(Gh3Song gh3Song0, bool bool0)
 {
     if (!ContainsKey(gh3Song0.GetSongName()))
     {
         base.Add(gh3Song0.GetSongName(), gh3Song0);
         QbSongClass1.AddKeyToDictionary(gh3Song0.GetSongName());
         return;
     }
     if (base[gh3Song0.GetSongName()].IsEditable() && bool0)
     {
         base[gh3Song0.GetSongName()].vmethod_0(gh3Song0);
     }
 }
Beispiel #22
0
        public void method_13(zzGenericNode1 class308_0)
        {
            List <int>          list  = new List <int>();
            List <zzUnkNode294> list2 = new List <zzUnkNode294>();

            foreach (string current in base.Keys)
            {
                list.Add(QbSongClass1.smethod_9(current));
                list2.Add(base[current].vmethod_5());
            }
            ((TagArray)class308_0.method_5 <ArrayPointerRootNode>(new ArrayPointerRootNode("gh3_songlist")).method_7()).method_12(list);
            class308_0.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("permanent_songlist_props")).method_7().method_9(list2);
        }
Beispiel #23
0
 public void method_0(GH3Song gh3Song_0, bool bool_0)
 {
     if (!base.ContainsKey(gh3Song_0.getSongName()))
     {
         base.Add(gh3Song_0.getSongName(), gh3Song_0);
         QbSongClass1.smethod_9(gh3Song_0.getSongName());
         return;
     }
     if (base[gh3Song_0.getSongName()].isEditable() && bool_0)
     {
         base[gh3Song_0.getSongName()].vmethod_0(gh3Song_0);
     }
 }
Beispiel #24
0
 public zzCocoaNode12(int int_6, int int_7, int int_8, int int_9, int int_10, int int_11, Enum35 enum35_1)
 {
     base.Text               = (QbSongClass1.smethod_3(int_9) ? KeyGenerator.GetFileName(QbSongClass1.smethod_5(int_9)) : ("0x" + KeyGenerator.ValToHex32bit(int_9)));
     this.int_2              = int_6;
     this.int_0              = int_7;
     this.int_1              = int_8;
     this.int_3              = int_9;
     this.int_4              = int_10;
     this.int_5              = int_11;
     this.enum35_0           = enum35_1;
     base.ImageIndex         = 39;
     base.SelectedImageIndex = 39;
     this.byte_0             = null;
 }
Beispiel #25
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 #26
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 #27
0
 private void method_19()
 {
     if (this.string_1 != null)
     {
         this.class318_0 = new zzPakNode2(this.string_1, false);
     }
     using (Stream26 stream = new Stream26(File.Open(this.string_0, FileMode.Open, FileAccess.Read, FileShare.Read)))
     {
         int num  = 0;
         int num2 = (int)stream.Length;
         if (num2 == 0)
         {
             throw new Exception("Pak File is empty!");
         }
         int int_ = stream.ReadInt();
         stream._reverseEndianness = (this.bool_2 = (!QbSongClass1.smethod_3(int_) || !QbSongClass1.smethod_5(int_).StartsWith(".")));
         this.bool_3 = ((long)stream.ReadInt() < stream.Length);
         Enum35 @enum = (Enum35)stream.ReadIntAt(28);
         this.bool_1 = ((@enum & Enum35.flag_3) == Enum35.flag_0);
         this.int_0  = stream.ReadIntAt(this.bool_1 ? 12 : 16, this.bool_2 && (@enum & Enum35.flag_4) == Enum35.flag_0 && (@enum & Enum35.flag_5) == Enum35.flag_0);
         while (true)
         {
             Enum35 enum2 = (Enum35)stream.ReadIntAt(num + 28, false);
             bool   bool_ = this.bool_2 && (enum2 & Enum35.flag_4) == Enum35.flag_0 && (enum2 & Enum35.flag_5) == Enum35.flag_0;
             int    num3  = stream.ReadIntAt(num, bool_);
             if (QbSongClass1.smethod_3(num3) && (QbSongClass1.smethod_5(num3).Equals(".last") || QbSongClass1.smethod_5(num3).Equals("last")))
             {
                 break;
             }
             int num4 = stream.ReadInt(bool_);
             if (!this.bool_3)
             {
                 num4 = num4 - num2 + num;
             }
             if (num4 < 0)
             {
                 num4 = 0;
             }
             int int_2 = stream.ReadInt(bool_);
             int num5  = stream.ReadIntAt(num + (this.bool_1 ? 16 : 12), bool_);
             int num6  = stream.ReadIntAt(num + 20, bool_);
             int int_3 = stream.ReadInt(bool_);
             stream.Position += 4L;
             if ((enum2 & Enum35.flag_3) != Enum35.flag_0)
             {
                 this.bool_1 = false;
                 string text = this.stream26_0.ReadString(160);
                 int    num7 = text.IndexOf('\0');
                 if (num7 >= 0)
                 {
                     text = text.Substring(0, num7);
                 }
                 if (QbSongClass1.smethod_3(num3) && !QbSongClass1.smethod_5(num3).EndsWith(".qb.ngc") && !QbSongClass1.smethod_5(num3).EndsWith(".qb.ps2"))
                 {
                     if (!this.bool_2)
                     {
                         if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ps2", ""), true))
                         {
                             QbSongClass1.smethod_9(text);
                         }
                         else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".qb", ""), true))
                         {
                             QbSongClass1.smethod_9(text);
                         }
                     }
                     else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".ngc", ""), true))
                     {
                         QbSongClass1.smethod_9(text);
                     }
                     else if (num5 == KeyGenerator.GetQbKey(text = text.Replace("/", "\\").Replace(".qb", ""), true))
                     {
                         QbSongClass1.smethod_9(text);
                     }
                 }
                 else
                 {
                     string text2 = "abcdefghijklmnopqrstuvwxyz";
                     for (int i = 0; i < text2.Length; i++)
                     {
                         char c = text2[i];
                         if (num5 == KeyGenerator.GetQbKey(c + text, true))
                         {
                             QbSongClass1.smethod_9(c + text);
                         }
                     }
                 }
                 if (num6 == KeyGenerator.GetQbKey(text = KeyGenerator.GetFileNameNoExt(text), true))
                 {
                     QbSongClass1.smethod_9(text);
                 }
             }
             TreeNode treeNode;
             if (QbSongClass1.smethod_3(num3) && QbSongClass1.smethod_5(num3).EndsWith("qb"))
             {
                 treeNode = new Class309(num3, num4, int_2, num5, num6, int_3, enum2);
             }
             else if (QbSongClass1.smethod_3(num3) && QbSongClass1.smethod_5(num3).Contains("qs"))
             {
                 treeNode = new Class328(num3, num4, int_2, num5, num6, int_3, enum2);
             }
             else
             {
                 treeNode = new zzCocoaNode12(num3, num4, int_2, num5, num6, int_3, enum2);
             }
             if (QbSongClass1.smethod_3(num5))
             {
                 base.method_1 <TreeNode>(QbSongClass1.smethod_5(num5), treeNode);
             }
             else
             {
                 base.method_5(num5, (Interface12)treeNode);
             }
             num += (((enum2 & Enum35.flag_3) != Enum35.flag_0) ? 192 : 32);
         }
     }
     this.stream26_0 = new Stream26(File.Open(this.string_2, FileMode.Open, FileAccess.Read, FileShare.Read));
     if (this.stream26_0.Length == 0L)
     {
         throw new Exception("Pab File is empty!");
     }
 }
Beispiel #28
0
 public ScriptRootNode(string string0, string string1, QbScriptNode class2750) : this(
         QbSongClass1.AddKeyToDictionary(string0), QbSongClass1.AddKeyToDictionary(string1), class2750)
 {
 }
Beispiel #29
0
 public ScriptRootNode(string string0) : this(QbSongClass1.AddKeyToDictionary(string0))
 {
 }
Beispiel #30
0
        private void method_4()
        {
            if (this.stream26_0 == null)
            {
                this.stream26_0 = new Stream26(File.Open(this.string_0, FileMode.Open, FileAccess.Read, FileShare.Read));
            }
            this.class318_0 = ((this.string_1 != null) ? new zzPakNode2(this.string_1, false) : this);
            if (this.stream26_0.Length == 0L)
            {
                throw new Exception("Pak File is empty!");
            }
            int num  = 0;
            int num2 = this.stream26_0.ReadInt();

            this.stream26_0._reverseEndianness = (this.bool_2 = (!QbSongClass1.smethod_3(num2) || !QbSongClass1.smethod_5(num2).StartsWith(".")));
            Enum35 @enum = (Enum35)this.stream26_0.ReadIntAt(28);

            this.bool_1 = ((@enum & Enum35.flag_3) == Enum35.flag_0);
            this.int_0  = this.stream26_0.ReadIntAt(this.bool_1 ? 12 : 16, this.bool_2 && (@enum & Enum35.flag_4) == Enum35.flag_0 && (@enum & Enum35.flag_5) == Enum35.flag_0);
            if (this.bool_4 && this.string_0 != null)
            {
                string text = KeyGenerator.GetFileName(this.string_0);
                if (text.Contains("_song"))
                {
                    QbSongClass1.smethod_10(text.Substring(0, text.LastIndexOf("_song.pak")).ToLower());
                }
                else if (!this.bool_1)
                {
                    QbSongClass1.smethod_10(text.Substring(0, text.LastIndexOf(".pak")).ToLower());
                }
            }
            while (true)
            {
                Enum35 enum2 = (Enum35)this.stream26_0.ReadIntAt(num + 28);
                bool   flag  = this.bool_2 && (enum2 & Enum35.flag_4) == Enum35.flag_0 && (enum2 & Enum35.flag_5) == Enum35.flag_0;
                int    int_  = this.stream26_0.ReadIntAt(num, flag);
                if (QbSongClass1.smethod_3(int_))
                {
                    if (QbSongClass1.smethod_5(int_).Equals(".last"))
                    {
                        return;
                    }
                    if (QbSongClass1.smethod_5(int_).Equals("last"))
                    {
                        break;
                    }
                }
                int int_2 = this.stream26_0.ReadInt(flag) + num;
                int int_3 = this.stream26_0.ReadInt(flag);
                int num3  = this.stream26_0.ReadIntAt(num + (this.bool_1 ? 16 : 12), flag);
                int num4  = this.stream26_0.ReadIntAt(num + 20, flag);
                int int_4 = this.stream26_0.ReadInt(flag);
                this.stream26_0.Position += 4L;
                if ((enum2 & Enum35.flag_3) != Enum35.flag_0)
                {
                    this.bool_1 = false;
                    string text2 = this.stream26_0.ReadString(160);
                    int    num5  = text2.IndexOf('\0');
                    if (num5 >= 0)
                    {
                        text2 = text2.Substring(0, num5);
                    }
                    if (QbSongClass1.smethod_3(int_) && !QbSongClass1.smethod_5(int_).EndsWith(".qb.ngc") && !QbSongClass1.smethod_5(int_).EndsWith(".qb.ps2"))
                    {
                        if (!this.bool_2)
                        {
                            if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".ps2", ""), true))
                            {
                                QbSongClass1.smethod_9(text2);
                            }
                            else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".qb", ""), true))
                            {
                                QbSongClass1.smethod_9(text2);
                            }
                        }
                        else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".ngc", ""), true))
                        {
                            QbSongClass1.smethod_9(text2);
                        }
                        else if (num3 == KeyGenerator.GetQbKey(text2 = text2.Replace("/", "\\").Replace(".qb", ""), true))
                        {
                            QbSongClass1.smethod_9(text2);
                        }
                    }
                    else
                    {
                        string text3 = "abcdefghijklmnopqrstuvwxyz";
                        for (int i = 0; i < text3.Length; i++)
                        {
                            char c = text3[i];
                            if (num3 == KeyGenerator.GetQbKey(c + text2, true))
                            {
                                QbSongClass1.smethod_9(c + text2);
                            }
                        }
                    }
                    if (num4 == KeyGenerator.GetQbKey(text2 = KeyGenerator.GetFileNameNoExt(text2), true))
                    {
                        QbSongClass1.smethod_9(text2);
                    }
                }
                TreeNode treeNode;
                if (QbSongClass1.smethod_3(int_) && QbSongClass1.smethod_5(int_).Contains("qb"))
                {
                    treeNode = new Class309(int_, int_2, int_3, num3, num4, int_4, enum2);
                }
                else if (QbSongClass1.smethod_3(int_) && QbSongClass1.smethod_5(int_).Contains("qs"))
                {
                    treeNode = new Class328(int_, int_2, int_3, num3, num4, int_4, enum2);
                }
                else
                {
                    treeNode = new zzCocoaNode12(int_, int_2, int_3, num3, num4, int_4, enum2);
                }
                if (this.bool_4)
                {
                    if (QbSongClass1.smethod_3(num3))
                    {
                        base.method_1 <TreeNode>(QbSongClass1.smethod_5(num3), treeNode);
                    }
                    else
                    {
                        this.method_5(num3, (Interface12)treeNode);
                    }
                }
                else
                {
                    this.list_0.Add((Interface12)treeNode);
                }
                num += (((enum2 & Enum35.flag_3) != Enum35.flag_0) ? 192 : 32);
            }
        }