private void addItem_btn_Click(object sender, EventArgs e) { if (tabControl1.SelectedTab == tabPage2 && basketList_lv.Items.Count <= 120) { ListViewItem lvi = new ListViewItem(); BasketItem bi = new BasketItem(); lvi.Tag = bi; lvi.SubItems.Add(bi.Name); lvi.Text = basketList_lv.Items.Count + ""; basketList_lv.Items.Add(lvi); lvi.Selected = true; } else if (tabControl1.SelectedTab == tabPage3 && boxList_lv.Items.Count <= 10000) { ListViewItem lvi = new ListViewItem(); BoxItem bi = new BoxItem(); lvi.Tag = bi; lvi.SubItems.Add(bi.Name); lvi.Text = boxList_lv.Items.Count + ""; boxList_lv.Items.Add(lvi); lvi.Selected = true; } }
private void button1_Click(object sender, EventArgs e) { // ofd.Filter = "Ps3 Save (USR-DATA)|USR-DATA|All files (*.*)|*.*"; if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { if (saveDir != null) { ///////////////////////// // Encrypt ///////////////////////// gameID = ((string)SFO.getValue("SAVEDATA_DIRECTORY")).Split('-')[0]; Utility.encryptSave(gameID, saveDir); saveDir = null; } saveDir = folderBrowserDialog1.SelectedPath; if (!File.Exists(saveDir + @"\USR-DATA") || !File.Exists(saveDir + @"\ICON0.PNG") || !File.Exists(saveDir + @"\PARAM.SFO") || !File.Exists(saveDir + @"\PIC1.PNG") || !File.Exists(saveDir + @"\PARAM.PFD")) { saveDir = null; MessageBox.Show("錯誤的存檔"); return; } ///////////////////////// // SFO Block ///////////////////////// SFO = new ParamSFOParser(saveDir + @"\PARAM.SFO"); // tabPage4.BackgroundImage = Image.FromFile( saveDir + @"\PIC1.PNG" ); imageLabel.Image = Image.FromFile(saveDir + @"\ICON0.PNG"); TITLE.Text = (string)SFO.getValue("TITLE"); SUB_TITLE.Text = (string)SFO.getValue("SUB_TITLE"); DETAIL.Text = (string)SFO.getValue("DETAIL"); ///////////////////////// // Decrypt ///////////////////////// gameID = ((string)SFO.getValue("SAVEDATA_DIRECTORY")).Split('-')[0]; Utility.decryptSave(gameID, saveDir); // Get the output into a string // string result = proc.StandardOutput.ReadToEnd(); // ////////////////////// // SaveBlock ///////////////////////// boxList_lv.Items.Clear(); basketList_lv.Items.Clear(); BigEndianBinaryReader SaveDataFile = new BigEndianBinaryReader(new FileStream(saveDir + @"\USR-DATA", FileMode.Open)); SaveDataFile.BaseStream.Position = AtelierAyeshaDataType.CollectionBasketOffset; BasketItem basketTmp; for (int i = 0; i < 120; i++) { basketTmp = new BasketItem(SaveDataFile); if (basketTmp.ID == 0xFFFF) { break; } ListViewItem lvi = new ListViewItem(); lvi.Text = i + ""; lvi.SubItems.Add(basketTmp.Name); lvi.Tag = basketTmp; basketList_lv.Items.Add(lvi); } BoxItem boxTemp; SaveDataFile.BaseStream.Position = AtelierAyeshaDataType.BoxOffset; boxList_lv.BeginUpdate(); for (int i = 0; i < 10000; i++) { boxTemp = new BoxItem(SaveDataFile); if (boxTemp.ID == 0xFFFF || boxTemp.Count == 0) { break; } ListViewItem lvi = new ListViewItem(); lvi.Text = i + ""; lvi.SubItems.Add(boxTemp.Name); lvi.Tag = boxTemp; boxList_lv.Items.Add(lvi); } boxList_lv.EndUpdate(); // 錢 SaveDataFile.BaseStream.Position = AtelierAyeshaDataType.money; money_nud.Value = Convert.ToDecimal(SaveDataFile.ReadUInt32()); // pt1 SaveDataFile.BaseStream.Position = AtelierAyeshaDataType.pt; pt1_nud.Value = Convert.ToDecimal(SaveDataFile.ReadUInt32()); readExtensionFile(SaveDataFile.BaseStream); SaveDataFile.Close(); } }