private void WallProperty_TextChanged(object sender, EventArgs e) { if (isLocked) { return; } TextBox textBox = (TextBox)sender; WClip clip = datafile.WClips[ElementNumber]; double value; char[] hack; if (double.TryParse(textBox.Text, out value)) { switch (textBox.Tag) { case "1": int totalTimeFix = (int)(value * 65536); clip.PlayTime = new Fix(totalTimeFix); break; case "2": hack = textBox.Text.ToCharArray(); Array.Clear(clip.Filename, 0, 13); Array.Copy(hack, clip.Filename, Math.Min(13, hack.Length)); break; } } }
public void Update(int number, WClip clip, EditorHAMFile hamFile, PIGFile piggyFile, Palette palette) { isLocked = true; wclipID = number; this.clip = clip; this.hamFile = hamFile; this.palette = palette; TotalTimeTextBox.Text = clip.PlayTime.ToString(); UIUtil.SafeFillComboBox(OpenSoundComboBox, clip.OpenSound + 1); UIUtil.SafeFillComboBox(CloseSoundComboBox, clip.CloseSound + 1); FilenameTextBox.Text = new string(clip.Filename); NumFramesTextBox.Text = clip.NumFrames.ToString(); ExplodesCheckBox.Checked = clip.Explodes; ShootableCheckBox.Checked = clip.Blastable; OnPrimaryTMapCheckBox.Checked = clip.PrimaryTMap; HiddenCheckBox.Checked = clip.SecretDoor; if (!transactionManager.TransactionInProgress) { FrameSpinner.Value = 0; UpdateWallFrame(0); } else { UpdateWallFrame((int)FrameSpinner.Value); } isLocked = false; }
public void UpdateWClipPanel(int num) { WClip clip = datafile.WClips[num]; wclipPanel.Update(num, clip, datafile, datafile.piggyFile, palette); txtElemName.Text = "<unnamed>"; }
private void WallFlag_CheckedChanged(object sender, EventArgs e) { if (isLocked) { return; } CheckBox checkBox = (CheckBox)sender; WClip clip = datafile.WClips[ElementNumber]; int bit = int.Parse((string)checkBox.Tag); if ((clip.Flags & bit) != 0) { clip.Flags &= (short)~bit; } else { clip.Flags |= (short)bit; } }
//--------------------------------------------------------------------- // WALL UPDATORS //--------------------------------------------------------------------- private void WallComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (isLocked) { return; } ComboBox comboBox = (ComboBox)sender; WClip clip = datafile.WClips[ElementNumber]; switch (comboBox.Tag) { case "1": clip.OpenSound = (short)(comboBox.SelectedIndex - 1); break; case "2": clip.CloseSound = (short)(comboBox.SelectedIndex - 1); break; } }
public override bool Apply() { lastTexture = datafile.Textures[deleteNum]; lastValue = datafile.TMapInfo[deleteNum]; datafile.Textures.RemoveAt(deleteNum); datafile.TMapInfo.RemoveAt(deleteNum); references.Clear(); if (datafile.Textures.Count != 0) { //Change every reference to the deleted element for (int i = 0; i < datafile.EClips.Count(); i++) { EClip temp = datafile.EClips[i].Clone(); //Change references that exactly reference the object to -1 if (datafile.EClips[i].ChangingObjectTexture == deleteNum) { datafile.EClips[i].ChangingWallTexture = -1; references.Add(new ChangedHAMReference(temp, datafile.EClips, i)); } //Change references to further elements by subtracting one else if (datafile.EClips[i].ChangingObjectTexture > deleteNum) { datafile.EClips[i].ChangingWallTexture--; references.Add(new ChangedHAMReference(temp, datafile.EClips, i)); } } for (int i = 0; i < datafile.TMapInfo.Count(); i++) { TMAPInfo temp = datafile.TMapInfo[i].Clone(); //Change references that exactly reference the object to -1 if (datafile.TMapInfo[i].DestroyedID == deleteNum) { datafile.TMapInfo[i].DestroyedID = -1; references.Add(new ChangedHAMReference(temp, datafile.TMapInfo, i)); } //Change references to further elements by subtracting one else if (datafile.TMapInfo[i].DestroyedID > deleteNum) { datafile.TMapInfo[i].DestroyedID--; references.Add(new ChangedHAMReference(temp, datafile.TMapInfo, i)); } } for (int i = 0; i < datafile.WClips.Count(); i++) { WClip temp = datafile.WClips[i].Clone(); bool change = false; //Change references that exactly reference the object to -1 for (int j = 0; j < datafile.WClips[i].NumFrames; j++) { if (datafile.WClips[i].Frames[j] == deleteNum) { datafile.WClips[i].Frames[j] = 0; change = true; } //Change references to further elements by subtracting one else if (datafile.WClips[i].Frames[j] > deleteNum) { datafile.WClips[i].Frames[j]--; change = true; } } if (change) { references.Add(new ChangedHAMReference(temp, datafile.WClips, i)); } } } return(true); }