CODWorldAtWar.asl 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. state("CoDWaW")
  2. {
  3. string50 CurrentLevelName : 0x5592B8;
  4. bool Loader : 0x3172284; // Originally an int
  5. int HasControlLevelMak : 0x14ED874; //Used to start the timer at the beginning of Mak once you gain control
  6. }
  7. startup
  8. {
  9. settings.Add("WAW", true, "All Missions");
  10. vars.missions = new Dictionary<string,string>
  11. {
  12. {"pel1", "Little Resistance"},
  13. {"pel2", "Hard Landing"},
  14. {"sniper", "Vendetta"},
  15. {"see1", "Their Land, Their Blood"},
  16. {"pel1a", "Burn 'em Out"},
  17. {"pel1b", "Relentless"},
  18. {"see2", "Blood and Iron"},
  19. {"ber1", "Ring of Steel"},
  20. {"ber2", "Eviction"},
  21. {"pby_fly", "Black Cats"},
  22. {"oki2", "Blowtorch & Corkscrew"},
  23. {"oki3","Breaking Point"},
  24. {"ber3","Heart of the Reich"},
  25. {"ber3b","Downfall"},
  26. };
  27. foreach (var Tag in vars.missions)
  28. {
  29. settings.Add(Tag.Key, true, Tag.Value, "WAW");
  30. }
  31. if (timer.CurrentTimingMethod == TimingMethod.RealTime) // stolen from dude simulator 3, basically asks the runner to set their livesplit to game time
  32. {
  33. var timingMessage = MessageBox.Show
  34. (
  35. "This game uses Time without Loads (Game Time) as the main timing method.\n"+
  36. "LiveSplit is currently set to show Real Time (RTA).\n"+
  37. "Would you like to set the timing method to Game Time? This will make verification easier",
  38. "LiveSplit | Call of Duty: World at War",
  39. MessageBoxButtons.YesNo,MessageBoxIcon.Question
  40. );
  41. if (timingMessage == DialogResult.Yes)
  42. {
  43. timer.CurrentTimingMethod = TimingMethod.GameTime;
  44. }
  45. }
  46. }
  47. init
  48. {
  49. vars.doneMaps = new List<string>(); // Coop runners can enter the wrong level by accident, so doneMaps needed
  50. }
  51. start
  52. {
  53. if ((current.CurrentLevelName == "mak") && (current.HasControlLevelMak == 16384))
  54. {
  55. vars.doneMaps.Clear();
  56. return true;
  57. }
  58. }
  59. onStart
  60. {
  61. vars.doneMaps.Clear();
  62. }
  63. isLoading
  64. {
  65. return (!current.Loader);
  66. }
  67. split
  68. {
  69. if ((current.CurrentLevelName != old.CurrentLevelName) && (settings[current.CurrentLevelName]) && (!vars.doneMaps.Contains(current.CurrentLevelName)))
  70. {
  71. vars.doneMaps.Add(current.CurrentLevelName);
  72. return true;
  73. }
  74. }
  75. reset
  76. {
  77. return (current.CurrentLevelName == "ui");
  78. }
  79. onReset
  80. {
  81. vars.doneMaps.Clear();
  82. }