private bool ForceAddScrollPlmData() { if (ActivePlm.PlmID == Plm.ScrollID && ActivePlm.MyScrollPlmData == null) { ScrollPlmData newData = new ScrollPlmData(); newData.MyPlms.Add(ActivePlm); ScrollPlmDatas.Add(newData); ActivePlm.MyScrollPlmData = null; ChangesMade = true; return(true); } return(false); }
// Read all scroll plm datas from ROM. private void ReadScrollPlmDatas(Rom rom) { List <int> addressesPC = new List <int> (); foreach (PlmSet p in PlmSets) { int plmCount = p.PlmCount; for (int i = 0; i < plmCount; i++) { int address = Tools.LRtoPC(p.Plms [i].ScrollDataPtr); if (address != 0) // Skip non-scroll PLMs { addressesPC.Add(address); } } } Tools.RemoveDuplicates(addressesPC); ScrollPlmDatas.Clear(); for (int n = 0; n < addressesPC.Count; n++) { ScrollPlmDatas.Add(new ScrollPlmData()); ScrollPlmDatas [n].ReadFromROM(rom, addressesPC [n]); } }