public GameSettingsChecker(zzPakNode2 class318_0) { if (!class318_0.method_6(GameSettingsChecker._hashPath)) { return; } zzGenericNode1 @class = new zzGenericNode1(GameSettingsChecker._hashPath, KeyGenerator.smethod_8(class318_0.method_12(GameSettingsChecker._hashPath), "MaC39SubInfo1245")); this.version = new Version(@class.method_5 <UnicodeRootNode>(new UnicodeRootNode("version")).method_7()); float[] array = @class.method_5 <ArrayPointerRootNode>(new ArrayPointerRootNode("date")).method_7().method_7 <float>(); this.date = new DateTime((int)array[0], (int)array[1], (int)array[2]); this.unkBuffer = @class.method_5 <ArrayPointerRootNode>(new ArrayPointerRootNode("hash")).method_7().method_7 <int>(); class318_0.method_7(GameSettingsChecker._hashPath); using (Stream26 stream = class318_0.method_17()) { stream.Position = 0L; // Ignore checks for external tools modifying game settings because we're not children who will dictate how people can play their game // Possibly turn this on later softly for warning the player of possible data integrity issues // this._GameSettingsUntampered = Class244.smethod_53<int>(Class244.smethod_21(Class244.smethod_43(stream.stream_0)), this.int_0); this._GameSettingsUntampered = true; } GC.Collect(); this._AssemblyVersionMatches = (Assembly.GetExecutingAssembly().GetName().Version.CompareTo(this.version) == 0); this._LoadedSuccessfully = true; if (!this._AssemblyVersionMatches) { MessageBox.Show("The game settings were created under a different version."); } if (!this._GameSettingsUntampered) { MessageBox.Show("The game settings were modified by an external tool!"); } }
public void method_0() { byte[] byte_; ZIPManager.smethod_3(this.string_1, out byte_, "songs.info", "TGH9ZIP2PASS4MXKR"); zzGenericNode1 @class = new zzGenericNode1("songs", KeyGenerator.smethod_8(byte_, "SNG4AES4KEY9MXKR")); foreach (StructurePointerNode class302_ in @class.Nodes) { GH3Song gH3Song = new GH3Song(class302_); gH3Song.editable = true; this.gh3Songlist_0.method_0(gH3Song, this.string_0 != null); } ZIPManager.smethod_3(this.string_1, out byte_, "tier.info", "TGH9ZIP2PASS4MXKR"); this.gh3Tier_0.method_1(new GH3Tier((StructureHeaderNode) new zzGenericNode1("tier", KeyGenerator.smethod_8(byte_, "TIR4AES4KEY9MXKR")).Nodes[0], this.gh3Songlist_0)); if (this.string_0 != null) { List <string> list = new List <string>(); List <string> list2 = new List <string>(); foreach (GH3Song current in this.gh3Tier_0.songs) { if (current.editable) { list.Add(current.name + "_song.pak.xen"); list2.Add(this.string_0 + "songs\\" + current.name + "_song.pak.xen"); list.Add(current.name + ".dat.xen"); list2.Add(this.string_0 + "music\\" + current.name + ".dat.xen"); list.Add(current.name + ".fsb.xen"); list2.Add(this.string_0 + "music\\" + current.name + ".fsb.xen"); } } ZIPManager.smethod_11(this.string_1, list2, list, "TGH9ZIP2PASS4MXKR"); } }
public static void SignHash(zzPakNode2 pakNode) { if (pakNode.method_6(GameSettingsChecker._hashPath)) { pakNode.method_7(GameSettingsChecker._hashPath); } zzGenericNode1 @class = new zzGenericNode1(); @class.method_3(new UnicodeRootNode("version", GameSettingsChecker._hashPath, Assembly.GetExecutingAssembly().GetName().Version.ToString())); using (Stream26 stream = pakNode.method_17()) { stream.Position = 0L; @class.method_3(new ArrayPointerRootNode("hash", GameSettingsChecker._hashPath, new IntegerArrayNode(KeyGenerator.smethod_21(KeyGenerator.HashStream(stream._stream))))); } GC.Collect(); DateTime now = DateTime.Now; @class.method_3(new ArrayPointerRootNode("date", GameSettingsChecker._hashPath, new FloatArrayNode(new float[] { (float)now.Year, (float)now.Month, (float)now.Day }))); pakNode.method_1 <zzCocoaNode12>(GameSettingsChecker._hashPath, new zzCocoaNode12(GameSettingsChecker._hashPath, KeyGenerator.smethod_2(@class.method_8(), "MaC39SubInfo1245"))); }
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())); }
public override void vmethod_0() { Console.WriteLine("-=- " + this.ToString() + " -=-"); if (!this.bool_0) { this.bool_0 = this.class318_0.method_6("scripts\\guitar\\custom_menu\\guitar_custom_menu.qb"); } if (!this.bool_0) { Console.WriteLine("Creating Custom Menu."); this.class318_0.method_0("scripts\\guitar\\custom_menu\\guitar_custom_menu.qb", zzQbScriptZipperClass.smethod_3("guitar_custom_menu")); this.class318_0.method_0("scripts\\guitar\\custom_menu\\guitar_custom_gem_scale.qb", zzQbScriptZipperClass.smethod_3("guitar_custom_gem_scale")); this.class318_0.method_0("scripts\\guitar\\custom_menu\\guitar_custom_menu_credits.qb", zzQbScriptZipperClass.smethod_3("guitar_custom_menu_credits")); this.class318_0.method_0("scripts\\guitar\\custom_menu\\guitar_custom_menu_cutoff_viewer.qb", zzQbScriptZipperClass.smethod_3("guitar_custom_menu_cutoff_viewer")); this.class318_0.method_0("scripts\\guitar\\custom_menu\\guitar_custom_menu_gfx_options.qb", zzQbScriptZipperClass.smethod_3("guitar_custom_menu_gfx_options")); this.class318_0.method_0("scripts\\guitar\\custom_menu\\guitar_custom_menu_setlist_switcher.qb", zzQbScriptZipperClass.smethod_3("guitar_custom_menu_setlist_switcher")); zzGenericNode1 @class = this.class318_0.zzGetNode1(this.bool_1 ? "scripts\\guitar\\menu\\menu_main.qb" : "scripts\\guitar\\guitar_menu.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("create_main_menu"))); @class = this.class318_0.zzGetNode1("scripts\\guitar\\guitar_progression.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("get_progression_globals"))); @class = this.class318_0.zzGetNode1("scripts\\guitar\\guitar_gems.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("load_venue"))); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("start_gem_scroller"))); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("kill_gem_scroller"))); @class = this.class318_0.zzGetNode1("scripts\\guitar\\guitar_events.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("guitarevent_songwon_spawned"))); @class = this.class318_0.zzGetNode1("scripts\\game\\net\\guitar_net.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("net_write_single_player_stats"))); @class = this.class318_0.zzGetNode1("scripts\\guitar\\guitar_globaltags.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("setup_globaltags"))); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("setup_songtags"))); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("push_bandtags"))); @class = this.class318_0.zzGetNode1("scripts\\guitar\\menu\\menu_credits.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("scrolling_list_add_item"))); if (!this.bool_1) { zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("start_team_photos"))); } if (this.bool_1) { @class = this.class318_0.zzGetNode1("scripts\\guitar\\custom_menu\\guitar_custom_menu_cutoff_viewer.qb"); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("custom_menu_cutoff_viewer_create_paper"))); zzQbScriptZipperClass.smethod_1(@class.method_5 <ScriptRootNode>(new ScriptRootNode("custom_menu_cutoff_viewer_create_poster"))); } @class = this.class318_0.zzGetNode1("scripts\\guitar\\menu\\main_menu_flow.qb"); StructureHeaderNode class2 = new StructureHeaderNode(); class2.method_3(new TagStructureNode("action", "select_custom_menu")); class2.method_3(new TagStructureNode("flow_state", "custom_menu_fs")); class2.method_3(new TagStructureNode(0, "transition_right")); @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("main_menu_fs")).method_5 <ArrayPointerNode>(new ArrayPointerNode("actions")).method_8().method_3(class2); } }
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); }
public override void vmethod_0() { string text = "scripts\\guitar\\guitar_progression.qb"; zzGenericNode1 @class = this.class318_0.zzGetNode1(text); this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_career_songs"))); this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_general_songs"))); if (!this.bool_0) { this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_generalp2_songs"))); this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_generalp2_songs_coop"))); } this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("p1_career_progression"))); if (!this.bool_0) { this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("p2_career_progression"))); } this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("bonus_progression"))); this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("download_progression"))); this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("general_progression"))); if (!this.bool_0) { this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("generalp2_progression"))); this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("p2_coop_progression"))); } @class = this.class318_0.zzGetNode1(text = "scripts\\guitar\\guitar_download.qb"); this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_download_songs"))); if (!this.bool_0) { @class = this.class318_0.zzGetNode1(text = "scripts\\guitar\\guitar_coop.qb"); this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_coopcareer_songs"))); } @class = this.class318_0.zzGetNode1(text = "scripts\\guitar\\store_data.qb"); this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_bonus_songs"))); if (this.class318_0.method_6(text = "scripts\\guitar\\custom_menu\\guitar_custom_progression.qb")) { @class = this.class318_0.zzGetNode1(text); int num = @class.method_5 <IntegerRootNode>(new IntegerRootNode("custom_setlist_bitmask")).method_7(); for (int i = 0; i < 32; i++) { if (num >> i != 0) { this.gh3Songlist_0.method_4(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("gh3_custom" + (i + 1) + "_songs"))).CustomBit = 1 << i; this.gh3Songlist_0.method_5(text, @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("custom" + (i + 1) + "_progression"))); } } this.gh3Songlist_0.CustomBitMask = num; } @class = this.class318_0.zzGetNode1("scripts\\guitar\\custom_menu\\guitar_custom_menu_setlist_switcher.qb"); this.gh3Songlist_0.method_6((StructureArrayNode)@class.method_5 <ArrayPointerRootNode>(new ArrayPointerRootNode("custom_menu_setlist_switcher_progressions_" + (this.bool_0 ? "gha" : "gh3"))).method_7()); }
public void findEditableSongs(zzGenericNode1 class308_0, GH3Songlist gh3Songlist_0) { StructureHeaderNode @class = class308_0.method_5 <StructurePointerRootNode>(new StructurePointerRootNode("permanent_songlist_props")).method_7(); bool flag = class308_0.method_5 <TagStructureNode>(new TagStructureNode("band")) != null; base.Clear(); foreach (StructurePointerNode class2 in @class.Nodes) { GH3Song gH3Song = flag ? new GHASong(class2) : new GH3Song(class2); if (gh3Songlist_0 != null) { gH3Song.setEditable(!gh3Songlist_0.method_3(gH3Song.getSongName())); } gH3Song.setVisible(!GH3Songlist.IgnoreSongs.Contains(class2.int_0)); this.Add(gH3Song); } }
public override void vmethod_0() { Console.WriteLine("-=- " + this.ToString() + " -=-"); zzGenericNode1 @class = this.class318_0.zzGetNode1("scripts\\guitar\\menu\\menu_cheats.qb"); foreach (StructureHeaderNode current in @class.method_5 <ArrayPointerRootNode>(new ArrayPointerRootNode("guitar_hero_cheats")).method_7().method_8 <StructureHeaderNode>()) { bool flag = current.method_5 <TagStructureNode>(new TagStructureNode("name", "unlockall")) != null; bool flag2 = current.method_5 <TagStructureNode>(new TagStructureNode("name", "unlockalleverything")) != null; IntegerArrayNode class2 = current.method_5 <ArrayPointerNode>(new ArrayPointerNode("unlock_pattern")).method_8() as IntegerArrayNode; if (class2.Nodes.Count == 1) { this.bool_0 = true; Console.WriteLine("QB Database is already edited."); break; } class2.method_12(new int[] { flag ? 4096 : (flag2 ? 256 : 65536) }); } }
public void method_0(string string_0, zzGenericNode1 class308_0) { this.method_1 <Class309>(string_0, new Class309(string_0, class308_0)); }
public override void vmethod_0() { zzGenericNode1 @class = this.class318_0.zzGetNode1(this.gh3Songlist_0.gh3SetlistList[this.int_0].method_2()); @class.method_5 <StructurePointerRootNode>(new StructurePointerRootNode(this.int_0)).method_8(this.gh3Songlist_0.gh3SetlistList[this.int_0].method_6()); }
public GH3Songlist(zzGenericNode1 class308_0, GH3Songlist gh3Songlist_0) { this.findEditableSongs(class308_0, gh3Songlist_0); }
public override void vmethod_0() { Console.WriteLine("-=- " + this.ToString() + " -=-"); zzGenericNode1 @class = this._pakNode.zzGetNode1("scripts\\guitar\\guitar_globaltags.qb"); string[] array = new string[] { "Invo", "tma", "TomPudding", "MaXKilleR", "GameZelda" }; string[] array2 = new string[] { "D. Stowater", "Ginkel", "Bunny", "BMarvs", "CVance" }; string[] array3 = new string[] { "C. Ward", "Riggs", "davidicus", "B. Wiuff", "Pam D." }; KeyGenerator.smethod_56(array); Console.WriteLine("Randomized Names:"); int num = 0; while (num < 5 && !this.QbDatabaseAlreadyEdited) { Console.WriteLine(array[num]); UnicodeStructureNode class2 = @class.method_5 <UnicodeStructureNode>(new UnicodeStructureNode("name" + (num + 1))); if (class2.method_8().Equals(this.bool_1 ? array3[num] : array2[num])) { class2.method_9(array[num]); } else { this.QbDatabaseAlreadyEdited = true; Console.WriteLine("QB Database is already edited."); } num++; } if (!this.QbDatabaseAlreadyEdited) { zzGenericNode1 class3 = this._pakNode.zzGetNode1("scripts\\guitar\\guitar_memcard.qb"); Console.WriteLine("Changing Save File Size to 5MB."); class3.method_5 <IntegerStructureNode>(new IntegerStructureNode("fixed_size")).method_9(5242880); Console.WriteLine("Changing Save Folder Name."); class3.method_5 <UnicodeRootNode>(new UnicodeRootNode("memcard_content_name")).method_8(string.Format("Progress{0}", (new string[] { "A", "B", "C", "D", "E", "F" })[new List <string>(new string[] { "qb", "qb_f", "qb_i", "qb_s", "qb_g", "qb_k" }).IndexOf(KeyGenerator.GetFileNameNoExt(this._pakNode.string_0))])); } if (!this.QbDatabaseAlreadyEdited) { zzGenericNode1 class4 = this._pakNode.zzGetNode1("scripts\\guitar\\menu\\menu_setlist.qb"); Console.WriteLine("Changing Setlist Scroller."); zzQbScriptZipperClass.smethod_1(class4.method_5 <ScriptRootNode>(new ScriptRootNode("setlist_scroll"))); Console.WriteLine("Changing Tier Name Display."); zzQbScriptZipperClass.smethod_1(class4.method_5 <ScriptRootNode>(new ScriptRootNode("create_sl_assets"))); } if (!this.QbDatabaseAlreadyEdited) { zzGenericNode1 node = this._pakNode.zzGetNode1("scripts\\guitar\\guitar.qb"); node.method_5 <StructurePointerNode>(new StructurePointerNode("load_z_soundcheck")).method_5 <UnicodeStructureNode>(new UnicodeStructureNode("title")).method_9("Sound Check"); node.method_5 <StructurePointerNode>(new StructurePointerNode("load_z_credits")).method_5 <UnicodeStructureNode>(new UnicodeStructureNode("title")).method_9("Guitar Hero Tower"); node.method_5 <StructurePointerNode>(new StructurePointerNode("viewer")).method_5 <UnicodeStructureNode>(new UnicodeStructureNode("title")).method_9("Black Background"); node.method_5 <StructurePointerNode>(new StructurePointerNode("load_z_viewer")).method_5 <UnicodeStructureNode>(new UnicodeStructureNode("title")).method_9("Black Background"); } }
public override void vmethod_0() { zzGenericNode1 @class = this.class318_0.zzGetNode1("scripts\\guitar\\custom_menu\\guitar_custom_menu_setlist_switcher.qb"); @class.method_5 <ArrayPointerRootNode>(new ArrayPointerRootNode("custom_menu_setlist_switcher_progressions_" + (this.bool_0 ? "gha" : "gh3"))).method_8(this.gh3Songlist_0.method_7()); }
public override void vmethod_0() { zzGenericNode1 class308_ = this.class318_0.zzGetNode1("scripts\\guitar\\songlist.qb"); this.gh3Songlist_0.method_13(class308_); }