SniperElite3.asl 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. state("SniperElite3", "Old")
  2. {
  3. int loading1 : 0x00628040, 0x0;
  4. string40 map : 0xA37ECD;
  5. }
  6. state("SniperElite3", "Current Version")
  7. {
  8. int loading1 : 0x846AEC;
  9. string40 map : 0x792655;
  10. }
  11. init
  12. {
  13. switch (modules.First().ModuleMemorySize)
  14. {
  15. case (9441280):
  16. version = "Current Version";
  17. break;
  18. }
  19. }
  20. startup
  21. {
  22. settings.Add("missions", true, "Missions");
  23. vars.missions = new Dictionary<string,string>
  24. {
  25. {"Oasis\\M02_Oasis.pc", "Gaberoun"},
  26. {"Halfaya_Pass\\M03_Halfaya_Pass.pc", "Halfaya Pass"},
  27. {"Fort\\M04_Fort.pc", "Fort Rifugio"},
  28. {"Siwa\\M05_Siwa.pc", "Siwa Oasis"},
  29. {"Kasserine_Pass\\M06_Kasserine_Pass.pc", "Kasserine Pass"},
  30. {"Airfield\\M07_Airfield.pc", "Pont Du Fahs Airfield"},
  31. {"Ratte_Factory\\M08_Ratte_Factory.pc", "Ratte Factory"},
  32. };
  33. foreach (var Tag in vars.missions)
  34. {
  35. settings.Add(Tag.Key, true, Tag.Value, "missions");
  36. };
  37. if (timer.CurrentTimingMethod == TimingMethod.RealTime) // stolen from dude simulator 3, basically asks the runner to set their livesplit to game time
  38. {
  39. var timingMessage = MessageBox.Show (
  40. "This game uses Time without Loads (Game Time) as the main timing method.\n"+
  41. "LiveSplit is currently set to show Real Time (RTA).\n"+
  42. "Would you like to set the timing method to Game Time? This will make verification easier",
  43. "LiveSplit | Sniper Elite 3",
  44. MessageBoxButtons.YesNo,MessageBoxIcon.Question
  45. );
  46. if (timingMessage == DialogResult.Yes)
  47. {
  48. timer.CurrentTimingMethod = TimingMethod.GameTime;
  49. }
  50. }
  51. }
  52. start
  53. {
  54. return ((current.map == "Siege_of_Tobruk\\M01_Siege_of_Tobruk.pc") && (current.loading1 == 1));
  55. }
  56. split
  57. {
  58. return ((settings[(current.map)]) && (current.map != old.map));
  59. }
  60. isLoading
  61. {
  62. return (current.loading1 == 0);
  63. }