/[RomCheater]/trunk/RomCheater.RVACalculator/RVACalculatorDockControl.cs
ViewVC logotype

Diff of /trunk/RomCheater.RVACalculator/RVACalculatorDockControl.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 668 by william, Mon Jun 17 04:49:09 2013 UTC revision 669 by william, Mon Jun 17 05:11:25 2013 UTC
# Line 91  namespace RomCheater.RVACalculator Line 91  namespace RomCheater.RVACalculator
91              if (result != DialogResult.OK) { return; }              if (result != DialogResult.OK) { return; }
92    
93                            
94              ICheatList list = new ICheatList();              ICheatList2 list = new ICheatList2();
95              list.RVA = txtRVA.ToUInt32();              list.RVA = txtRVA.ToUInt32();
96              List<ICheatEntry> cheats = new List<ICheatEntry>();              List<ICheatEntry2> cheats = new List<ICheatEntry2>();
97              foreach (ListViewItem li in lstCheats.Items)              foreach (ListViewItem li in lstCheats.Items)
98              {              {
99                  cheats.Add(new ICheatEntry(li.Text, Convert.ToUInt32(li.SubItems[1].Text, 16)));                  cheats.Add(new ICheatEntry2(li.Text, Convert.ToUInt32(li.SubItems[1].Text, 16), Convert.ToUInt32(li.SubItems[2].Text, 16)));
100              }              }
101    
102              list.Cheats = cheats;              list.Cheats = cheats;
# Line 107  namespace RomCheater.RVACalculator Line 107  namespace RomCheater.RVACalculator
107                  {                  {
108                      try                      try
109                      {                      {
110                            fs.Seek(0, SeekOrigin.Begin);
111                          BinaryFormatter bin = new BinaryFormatter();                          BinaryFormatter bin = new BinaryFormatter();
112                          bin.Serialize(fs, list);                          bin.Serialize(fs, list);
113                      }                      }
# Line 115  namespace RomCheater.RVACalculator Line 116  namespace RomCheater.RVACalculator
116                          logger.Error.WriteLine("Failed to save file: {0}", CheatSaver.FileName);                          logger.Error.WriteLine("Failed to save file: {0}", CheatSaver.FileName);
117                          logger.VerboseError.WriteLine(ex.ToString());                          logger.VerboseError.WriteLine(ex.ToString());
118                          MessageBox.Show(string.Format("Failed to save: '{0}'", new FileInfo(CheatSaver.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Error);                          MessageBox.Show(string.Format("Failed to save: '{0}'", new FileInfo(CheatSaver.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
119                            return;
120                      }                      }
121                  }                  }
122                  MessageBox.Show(string.Format("Successfully saved file: '{0}'", new FileInfo(CheatSaver.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Information);                  MessageBox.Show(string.Format("Successfully saved file: '{0}'", new FileInfo(CheatSaver.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Information);
# Line 137  namespace RomCheater.RVACalculator Line 139  namespace RomCheater.RVACalculator
139                  {                  {
140                      try                      try
141                      {                      {
142                            ICheatList2 list = new ICheatList2();
143                          BinaryFormatter bin = new BinaryFormatter();                          BinaryFormatter bin = new BinaryFormatter();
144                          var list = (ICheatList)bin.Deserialize(fs);                          try
145                            {
146                                fs.Seek(0, SeekOrigin.Begin);
147                                var t_list = (ICheatList2)bin.Deserialize(fs);
148                                list = t_list;
149                            }
150                            catch (Exception)
151                            {
152                                fs.Seek(0, SeekOrigin.Begin);
153                                var t_list = (ICheatList)bin.Deserialize(fs);
154                                list = new ICheatList2(t_list);
155                            }
156    
157                          txtRVA.Value = list.RVA;                          txtRVA.Value = list.RVA;
158                          result = MessageBox.Show("Clear existing Cheats?", "", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3);                          result = MessageBox.Show("Clear existing Cheats?", "", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button3);
# Line 168  namespace RomCheater.RVACalculator Line 182  namespace RomCheater.RVACalculator
182                          logger.Error.WriteLine("Failed to load file: {0}", CheatLoader.FileName);                          logger.Error.WriteLine("Failed to load file: {0}", CheatLoader.FileName);
183                          logger.VerboseError.WriteLine(ex.ToString());                          logger.VerboseError.WriteLine(ex.ToString());
184                          MessageBox.Show(string.Format("Failed to open: '{0}'", new FileInfo(CheatLoader.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Error);                          MessageBox.Show(string.Format("Failed to open: '{0}'", new FileInfo(CheatLoader.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Error);
185                            return;
186                      }                      }
187                  }                  }
188                  MessageBox.Show(string.Format("Successfully opened file: '{0}'", new FileInfo(CheatLoader.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Information);                  MessageBox.Show(string.Format("Successfully opened file: '{0}'", new FileInfo(CheatLoader.FileName).Name), "", MessageBoxButtons.OK, MessageBoxIcon.Information);
# Line 193  namespace RomCheater.RVACalculator Line 208  namespace RomCheater.RVACalculator
208                  index++;                  index++;
209              }              }
210          }          }
211            private void btnCopyAll_Click(object sender, EventArgs e)
212            {
213                ICheatList2 list = new ICheatList2();
214                list.RVA = txtRVA.ToUInt32();
215                List<ICheatEntry2> cheats = new List<ICheatEntry2>();
216                foreach (ListViewItem li in lstCheats.Items)
217                {
218                    cheats.Add(new ICheatEntry2(li.Text, Convert.ToUInt32(li.SubItems[1].Text, 16), Convert.ToUInt32(li.SubItems[2].Text, 16)));
219                }
220                StringBuilder builder = new StringBuilder();
221                builder.AppendFormat("RVA: 0x{0:x8}", list.RVA);
222                builder.AppendLine();
223                foreach (ColumnHeader t in lstCheats.Columns)
224                {
225                    builder.AppendFormat("{0}:\t", t.Name);
226                }
227                builder.AppendLine();
228                foreach (var cheat in list.Cheats)
229                {
230                    builder.AppendFormat("{0}\t{1}\t{2}", cheat.CheatName, cheat.CheatAddress, cheat.PhysicalAddress);
231                    builder.AppendLine();
232                }
233                Clipboard.SetText(builder.ToString());
234    
235            }
236          private void RVACalculatorDockControl_Shown(object sender, EventArgs e)          private void RVACalculatorDockControl_Shown(object sender, EventArgs e)
237          {          {
238              //const int t = 100;              //const int t = 100;
# Line 217  namespace RomCheater.RVACalculator Line 256  namespace RomCheater.RVACalculator
256              public uint CheatAddress;              public uint CheatAddress;
257          }          }
258          [Serializable]          [Serializable]
259            private struct ICheatEntry2
260            {
261                public ICheatEntry2(string name, uint address, uint physical)
262                {
263                    CheatName = name;
264                    CheatAddress = address;
265                    PhysicalAddress = physical;
266                }
267                public string CheatName;
268                public uint CheatAddress;
269                public uint PhysicalAddress;
270            }
271            [Serializable]
272          private struct ICheatList          private struct ICheatList
273          {          {
274                public ICheatList(ICheatList2 t)
275                {
276                    RVA = t.RVA;
277                    List<ICheatEntry> cheats = new List<ICheatEntry>();
278                    t.Cheats.ForEach(c => cheats.Add(new ICheatEntry(c.CheatName,c.CheatAddress)));
279                    Cheats = cheats;
280                }
281                public ICheatList(uint rva, List<ICheatEntry> cheats)
282                {
283                    RVA = rva;
284                    Cheats = cheats;
285                }
286              public uint RVA;              public uint RVA;
287              public List<ICheatEntry> Cheats;              public List<ICheatEntry> Cheats;
288          }          }
289            [Serializable]
290            private struct ICheatList2
291            {
292                public ICheatList2(ICheatList t)
293                {
294                    RVA = t.RVA;
295                    List<ICheatEntry2> cheats = new List<ICheatEntry2>();
296                    t.Cheats.ForEach(c => cheats.Add(new ICheatEntry2(c.CheatName, c.CheatAddress, c.CheatAddress)));
297                    Cheats = cheats;
298                }
299                public ICheatList2(uint rva, List<ICheatEntry2> cheats)
300                {
301                    RVA = rva;
302                    Cheats = cheats;
303                }
304                public uint RVA;
305                public List<ICheatEntry2> Cheats;
306            }
307          
308    
309      }      }
310  }  }

Legend:
Removed from v.668  
changed lines
  Added in v.669

  ViewVC Help
Powered by ViewVC 1.1.22