private void Setproperties_btn_Click(object sender, EventArgs e) { bg = (BackgroundEntry)tilesetListBox.SelectedItem; bool IsLevelBG = true; if (bg.id > 75 || bg.mappedTileset) { IsLevelBG = false; } SetBGPropertiesDialog newBg = new SetBGPropertiesDialog(bg.id, bg.name.Split(':')[1].Remove(0, 1), bg.GFXFileID, bg.PalFileID, bg.LayoutFileID, bg.BitmapOffset, bg.PaletteOffsets, IsLevelBG); if (newBg.Canceled) { return; } string listName = bg.topLayer ? "Foregrounds" : "Backgrounds"; if (bg.mappedTileset) { listName = "MappedTileset"; } if (string.IsNullOrWhiteSpace(newBg.bgName)) { ROM.UserInfo.removeListItem(listName, bg.id, true); string newName = LanguageManager.GetList(listName)[bg.id]; bool empty = false; if (string.IsNullOrWhiteSpace(newName.Split(':')[1])) { newName += " " + LanguageManager.Get("BackgroundList", "empty"); empty = true; } tilesetListBox.Items[tilesetListBox.SelectedIndex] = new BackgroundEntry(bg.topLayer, bg.id, newName, bg.mappedTileset, empty); return; } string NewFullName = string.Format("{0}: {1}", bg.id, newBg.bgName); if (!IsLevelBG) { NewFullName = string.Format("{0}: {1}@{2}@{3}@{4}@{5}@{6}@not_level_bg", bg.id, newBg.bgName, newBg.bgNCGID, newBg.bgNCLID, newBg.bgNSCID, newBg.bgBMPOffs, newBg.bgPALOffs); } else { ROM.SetFileIDFromTable(bg.id, bg.topLayer ? ROM.Data.Table_FG_NCG : ROM.Data.Table_BG_NCG, (ushort)newBg.bgNCGID); ROM.SetFileIDFromTable(bg.id, bg.topLayer ? ROM.Data.Table_FG_NCL : ROM.Data.Table_BG_NCL, (ushort)newBg.bgNCLID); ROM.SetFileIDFromTable(bg.id, bg.topLayer ? ROM.Data.Table_FG_NSC : ROM.Data.Table_BG_NSC, (ushort)newBg.bgNSCID); } ROM.UserInfo.setListItem(listName, bg.id, NewFullName, true); tilesetListBox.Items[tilesetListBox.SelectedIndex] = new BackgroundEntry(bg.topLayer, bg.id, NewFullName, false); }