public Form_CPUs( Dictionary <KmtCharacter, NameImg> dictt_character, Dictionary <KmtVehicle, NameImg> dictt_vehicle, KmtCPUEntryList cpuentries) { InitializeComponent(); foreach (KeyValuePair <KmtCharacter, NameImg> entry in dictt_character) { dict_character.Add(entry.Key, entry.Value.Name); Character.Items.Add(entry.Value.Name); } foreach (KeyValuePair <KmtVehicle, NameImg> entry in dictt_vehicle) { dict_vehicle.Add(entry.Key, entry.Value.Name); Vehicle.Items.Add(entry.Value.Name); } for (int n = 0; n < cpuentries.Count; n += 1) { KmtCPUEntry entry = cpuentries[n]; Row_Add(entry.Character, entry.Vehicle); } }
KmtEntry cloneentry(KmtEntry entry) { KmtEntry newentry = new KmtEntry(); newentry.CameraMode = entry.CameraMode; newentry.CannonFlag = entry.CannonFlag; newentry.Character = entry.Character; newentry.ControllerRestriction = entry.ControllerRestriction; newentry.Course = entry.Course; newentry.EngineClass = entry.EngineClass; newentry.GameMode = entry.GameMode; newentry.Minimap = entry.Minimap; newentry.MissionRunFile = entry.MissionRunFile; newentry.Score = entry.Score; newentry.TimeLimit = entry.TimeLimit; newentry.Vehicle = entry.Vehicle; for (int m = 0; m < entry.CPUs.Count; m += 1) { KmtCPUEntry cpu = entry.CPUs[m]; KmtCPUEntry newcpu = new KmtCPUEntry(); newcpu.Character = cpu.Character; newcpu.Vehicle = cpu.Vehicle; newentry.CPUs.Add(cpu); } return(newentry); }
bool usermadechanges() { KmtEntryList entrylist = msv_Program.Missions(); if (openkmt == null) { return(entrylist.Count > 0); } if (entrylist.Count != openkmt.Entries.Count) { return(true); } for (int n = 0; n < entrylist.Count; n += 1) { KmtEntry newentry = entrylist[n]; KmtEntry oldentry = openkmt.Entries[n]; if ( newentry.CameraMode != oldentry.CameraMode | newentry.CannonFlag != oldentry.CannonFlag | newentry.Character != oldentry.Character | newentry.ControllerRestriction != oldentry.ControllerRestriction | newentry.Course != oldentry.Course | newentry.EngineClass != oldentry.EngineClass | newentry.GameMode != oldentry.GameMode | newentry.Minimap != oldentry.Minimap | newentry.MissionRunFile != oldentry.MissionRunFile | newentry.Score != oldentry.Score | newentry.TimeLimit != oldentry.TimeLimit | newentry.Vehicle != oldentry.Vehicle ) { return(true); } if (newentry.CPUs.Count != oldentry.CPUs.Count) { return(true); } for (int m = 0; m < newentry.CPUs.Count; m += 1) { KmtCPUEntry newcpu = newentry.CPUs[m]; KmtCPUEntry oldcpu = newentry.CPUs[m]; if (newcpu.Character != oldcpu.Character | newcpu.Vehicle != oldcpu.Vehicle) { return(true); } } } return(false); }
private static byte[] missioncode(KmtEntry mission) { byte[] ushort_getbytes(ushort value) { byte[] newbyte = BitConverter.GetBytes(value); Array.Reverse(newbyte); return(newbyte); } byte[] uint_getbytes(uint value) { byte[] newbyte = BitConverter.GetBytes(value); Array.Reverse(newbyte); return(newbyte); } List <byte> newbytes = new List <byte>(); newbytes.AddRange(ushort_getbytes(mission.MissionRunFile)); newbytes.AddRange(ushort_getbytes((ushort)mission.GameMode)); newbytes.Add((byte)mission.Course); newbytes.Add((byte)mission.Character); newbytes.Add((byte)mission.Vehicle); newbytes.Add((byte)mission.EngineClass); for (int n = 0x08; n < 0x2C; n += 1) { newbytes.Add(0x00); } newbytes.AddRange(ushort_getbytes(mission.TimeLimit)); newbytes.Add(0x00); newbytes.Add(mission.ControllerRestriction); newbytes.AddRange(uint_getbytes(mission.Score)); for (int n = 0x34; n < 0x48; n += 1) { newbytes.Add(0x00); } newbytes.AddRange(ushort_getbytes((ushort)mission.CameraMode)); newbytes.AddRange(ushort_getbytes((ushort)mission.Minimap)); for (int n = 0x4C; n < 0x50; n += 1) { newbytes.Add(0x00); } newbytes.AddRange(ushort_getbytes(mission.CannonFlag)); for (int n = 0x52; n < 0x58; n += 1) { newbytes.Add(0x00); } newbytes.AddRange(ushort_getbytes((ushort)mission.CPUs.Count)); int offset = 0x5A; for (int n = 0; n < mission.CPUs.Count; n += 1) { KmtCPUEntry cpu = mission.CPUs[n]; newbytes.Add((byte)cpu.Character); newbytes.Add((byte)cpu.Vehicle); offset += 2; } for (int n = offset; n < 0x70; n += 1) { newbytes.Add(0x00); } return(newbytes.ToArray()); }