public static byte[] CorruptByte(byte[] ROM, CorruptionOptions CorruptOption, long i) { switch (CorruptOption) { case CorruptionOptions.RANDOM: ROM[i] = (byte)rnd.Next(0, 256); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case CorruptionOptions.RANDOMTILT: switch (rnd.Next(0, 3)) { case 0: ROM[i] = (byte)((byte)rnd.Next(0, 256) % (Byte.MaxValue + 1)); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case 1: int NewValue = (int)((ROM[i] + Program.Form.objForm2.IncreDecrenumbnightmare.Value) % (byte.MaxValue + 1)); ROM[i] = (byte)Math.Abs(NewValue); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case 2: NewValue = (int)((ROM[i] - Program.Form.objForm2.IncreDecrenumbnightmare.Value) % (byte.MaxValue + 1)); ROM[i] = (byte)Math.Abs(NewValue); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; default: MessageBox.Show("Default case hit on Nightmare Engine!"); break; } break; case CorruptionOptions.TILT: switch (rnd.Next(0, 2)) { case 0: int NewValue = (int)((ROM[i] + Program.Form.objForm2.IncreDecrenumbnightmare.Value) % (byte.MaxValue + 1)); ROM[i] = (byte)Math.Abs(NewValue); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case 1: NewValue = (int)((ROM[i] + Program.Form.objForm2.IncreDecrenumbnightmare.Value) % (byte.MaxValue + 1)); ROM[i] = (byte)Math.Abs(NewValue); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; } break; default: MessageBox.Show("Nightmare Engine returned default. This should not happen."); break; } return(ROM); }
public static byte[] CorruptByte(byte[] ROM, byte[] ROMMerge, CorruptionOptions CorruptionOption, long i) { if (Program.Form.objForm2.ReplaceByteWithSamePos.Checked) { if (Program.Form.objForm2.Mod256MergeEnginechkbox.Checked) { switch (CorruptionOption) { case CorruptionOptions.NONE: ROM[i] = (byte)(ROMMerge[i] % Byte.MaxValue + 1); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case CorruptionOptions.RANGE: ROM[i] = (byte)Math.Abs(ROM[i] - ROMMerge[i] % byte.MaxValue + 1); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; default: MessageBox.Show("Merge Engine returned default. This should not happen."); break; } } else { switch (CorruptionOption) { case CorruptionOptions.NONE: ROM[i] = ROMMerge[i]; Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case CorruptionOptions.RANGE: ROM[i] = (byte)Math.Abs(ROM[i] - ROMMerge[i]); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; default: MessageBox.Show("Merge Engine returned default. This should not happen."); break; } } } else { if (Program.Form.objForm2.Mod256MergeEnginechkbox.Checked) { switch (CorruptionOption) { case CorruptionOptions.NONE: ROM[i] = (byte)(ROMMerge[rnd.Next(0, ROMMerge.Length)] % Byte.MaxValue + 1); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case CorruptionOptions.RANGE: ROM[i] = (byte)Math.Abs(ROM[rnd.Next(0, ROMMerge.Length)] - ROMMerge[i] % byte.MaxValue + 1); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; default: MessageBox.Show("Merge Engine returned default. This should not happen."); break; } } else { switch (CorruptionOption) { case CorruptionOptions.NONE: ROM[i] = ROMMerge[rnd.Next(0, ROMMerge.Length)]; Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; case CorruptionOptions.RANGE: ROM[i] = (byte)Math.Abs(ROM[i] - ROMMerge[rnd.Next(0, ROMMerge.Length)]); Program.Form.StashItems.Add("[x] File(" + i + ").SET(" + ROM[i] + ")"); break; default: MessageBox.Show("Merge Engine returned default. This should not happen."); break; } } } return(ROM); }