private void button2_Click(object sender, EventArgs e) { if (AppSettings.Settings.IP_and_XDK_Name == "") { OutputMessenger.OutputMessage("XDK Name not set. Please set it in settings before continuing.", this); } else { XboxDebugCommunicator communicator = new XboxDebugCommunicator(AppSettings.Settings.IP_and_XDK_Name); communicator.Connect(); communicator.Freeze(); XboxMemoryStream stream = communicator.ReturnXboxMemoryStream(); EndianIO nio = new EndianIO(stream, EndianType.BigEndian); nio.Open(); int tagIndexByClassAndName = Map.GetTagIndexByClassAndName(cmbxClass.Text, cmbxName.Text); string str = "Null"; string name = "Null"; if (tagIndexByClassAndName != -1) { str = Map.Index_Items[tagIndexByClassAndName].Class; name = Map.Index_Items[tagIndexByClassAndName].Name; } for (int i = 0; i < IdentGrid.SelectedItems.Count; i++) { int num3 = int.Parse(IdentGrid.SelectedItems[i].SubItems[1].Text.Substring(2), NumberStyles.HexNumber) + Map.Map_Header.mapMagic; if (tagIndexByClassAndName != -1) { nio.Out.BaseStream.Position = num3; nio.Out.WriteAsciiString(str, 4); } nio.Out.BaseStream.Position = num3 + 12; if (tagIndexByClassAndName != -1) { nio.Out.Write(Map.Index_Items[tagIndexByClassAndName].Ident); } else { nio.Out.Write(-1); } } nio.Close(); stream.Close(); communicator.Unfreeze(); communicator.Disconnect(); OutputMessenger.OutputMessage("Sucessfully poked " + IdentGrid.SelectedItems.Count.ToString() + " tag references to: \"" + name + "." + str + "\"", IdentGrid); } }
public static void PrintCamDebugInfo(bool printingCam) { string xboxName = AppSettings.Settings.IP_and_XDK_Name; if (xboxName != "") { XboxDebugCommunicator communicator = new XboxDebugCommunicator(xboxName); communicator.Connect(); EndianIO nio = new EndianIO(communicator.ReturnXboxMemoryStream(), EndianType.BigEndian); nio.Open(); communicator.Freeze(); nio.Out.BaseStream.Position = 0x82191eecL; if (printingCam) { nio.Out.Write(0x60000000); } else { nio.Out.Write(0x419a01b0); } nio.Out.BaseStream.Position = 0x82191f04L; if (printingCam) { nio.Out.Write(0x60000000); } else { nio.Out.Write(0x419a01b0); } communicator.Unfreeze(); nio.Close(); communicator.Disconnect(); } else { MessageBox.Show("XDK name not set. Please set it in settings before continuing."); } }
public static void LoadMap(LevelOption Level_Map, GameBuild build) { string xboxName = AppSettings.Settings.IP_and_XDK_Name; if (xboxName != "") { XboxDebugCommunicator communicator = new XboxDebugCommunicator(xboxName); try { communicator.Connect(); } catch (Exception ex) { throw new Exception("Not Connected"); } EndianIO nio = new EndianIO(communicator.ReturnXboxMemoryStream(), EndianType.BigEndian); nio.Open(); communicator.Freeze(); if (build == GameBuild.PreBeta) { nio.Out.BaseStream.Position = 0x83b8dea8L; } else { nio.Out.BaseStream.Position = 0x8357d140L; } nio.Out.WriteAsciiString(beta_mapScenarioPaths[(int)Level_Map], 0x100); if (build == GameBuild.PreBeta) { nio.Out.BaseStream.Position = 0x83b7fe78L; } else { nio.Out.BaseStream.Position = 0x8356f110L; } if (Level_Map <= LevelOption.boneyard) { nio.Out.Write((int)AppSettings.Settings.Force_Load_MapType); } else { byte[] buffer = new byte[4]; buffer[3] = 2; nio.Out.Write(buffer); } if (build == GameBuild.PreBeta) { nio.Out.BaseStream.Position = 0x83b7fe6eL; } else { nio.Out.BaseStream.Position = 0x8356f106L; } nio.Out.Write((byte)1); communicator.Unfreeze(); nio.Close(); communicator.Disconnect(); } else { MessageBox.Show("XDK name not set. Please set it in settings before continuing."); } }