BarbieHorseAdventuresMysteryRide.asl 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. state("Barbie Horse")
  2. {
  3. byte loading : 0x37720C;
  4. string90 CurMiniGame : 0x0037933C, 0x90;
  5. string110 CurAudio : "fmod.dll", 0x0003B044, 0x212;
  6. string100 CurMap : 0x36F5ED;
  7. }
  8. init
  9. {
  10. vars.doneMaps = new List<string>();
  11. vars.OldMinigame = string.Empty;
  12. }
  13. startup
  14. {
  15. settings.Add("Loc", true, "Split on leaving Prairie Town & Entering Cave?");
  16. if (timer.CurrentTimingMethod == TimingMethod.RealTime) // stolen from dude simulator 3, basically asks the runner to set their livesplit to game time
  17. {
  18. var timingMessage = MessageBox.Show
  19. (
  20. "This game uses Time without Loads (Game Time) as the main timing method.\n"+
  21. "LiveSplit is currently set to show Real Time (RTA).\n"+
  22. "Would you like to set the timing method to Game Time? This will make verification easier",
  23. "LiveSplit | Barbie Horse Adventures: Mystery Ride",
  24. MessageBoxButtons.YesNo,MessageBoxIcon.Question
  25. );
  26. if (timingMessage == DialogResult.Yes)
  27. {
  28. timer.CurrentTimingMethod = TimingMethod.GameTime;
  29. }
  30. }
  31. }
  32. update
  33. {
  34. current.Minigame = current.CurMiniGame.ToUpper();
  35. if ((current.Minigame.Contains("SUBGAMES")) && (current.loading == 1))
  36. {
  37. vars.OldMinigame = current.Minigame;
  38. }
  39. }
  40. start
  41. {
  42. return ((current.Minigame != old.CurMiniGame) && (current.CurMiniGame.Contains("Worlds")) && (current.loading == 0));
  43. }
  44. split
  45. {
  46. if ((current.Minigame != vars.OldMinigame) && (!vars.doneMaps.Contains(vars.OldMinigame)) && (vars.OldMinigame.Contains("SUBGAMES")) && (current.loading ==1))
  47. {
  48. vars.doneMaps.Add(vars.OldMinigame);
  49. return true;
  50. }
  51. if (((settings["Loc"]) && (current.CurMap.Contains("=LnW") || (current.CurMap.Contains("=DnW")))) && (current.loading == 1) && (!vars.doneMaps.Contains(current.CurMap)))
  52. {
  53. print("split on" + current.CurMap);
  54. vars.doneMaps.Add(current.CurMap);
  55. return true;
  56. }
  57. return (current.CurAudio == "\\VOICEOVER\\ENGLISH\\GENERALAUDIO_103.WAV");
  58. }
  59. reset
  60. {
  61. return (current.CurMiniGame == "\\FRONTEND\\UP_ARROW_GOLD.PNG");
  62. }
  63. onReset
  64. {
  65. vars.OldMinigame = String.Empty;
  66. vars.doneMaps.Clear();
  67. }
  68. isLoading
  69. {
  70. return (current.loading == 1);
  71. }