Advertisement
ThePowerOfShrooms

Untitled

Jan 27th, 2017
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. local encrypt = loadAPI("encrypt")
  2. local theMSGBoxAPI = loadAPI("MessageBoxLogger")
  3. local starCount = -1
  4. local hasDied = false
  5. local gdata = loadSharedAPI("MAGLX2Global")
  6.  
  7. local function checkSettings()
  8. if gdata:get("MaGLX2HubTogglePlayerFilter") == nil then
  9. gdata:set("MaGLX2HubTogglePlayerFilter", 1)
  10. end
  11. if gdata:get("MaGLX2HubTogglePowerupFilter") == nil then
  12. gdata:set("MaGLX2HubTogglePowerupFilter", 1)
  13. end
  14. if gdata:get("MaGLX2HubToggleMountFilter") == nil then
  15. gdata:set("MaGLX2HubToggleMountFilter", 1)
  16. end
  17. if gdata:get("MaGLX2HubToggleLoseLives") == nil then
  18. gdata:set("MaGLX2HubToggleLoseLives", 1)
  19. end
  20. if gdata:get("MaGLX2HubToggleStars") == nil then
  21. gdata:set("MaGLX2HubToggleStars", 1)
  22. end
  23. if gdata:get("MaGLX2HubSavedLives") == nil then
  24. gdata:set("MaGLX2HubSavedLives", mem(0x00B2C5AC, FIELD_FLOAT))
  25. end
  26. if gdata:get("MaGLX2HubToggleDemoCounter") == nil then
  27. gdata:set("MaGLX2HubToggleDemoCounter", 1)
  28. end
  29. gdata:save()
  30. end
  31.  
  32. --On loading, copy the star counter from the saved variable.
  33. function onStart()
  34. checkSettings()
  35. local s = gdata:get("MAGLX2Stars")
  36. if (s ~= nil) then
  37. starCount = s
  38.  
  39. -- If we're increasing the star count... fill in dummy entries in the collected star list
  40. local oldStarCount = mem(0x00B251E0, FIELD_WORD)
  41. if (starCount > oldStarCount) then
  42. local starTablePtr = mem(0x00B25714, FIELD_DWORD)
  43. for starIdx=oldStarCount+1,starCount do
  44. local dummyLevelName = string.format("~#@_DUMMY%d_@#~.lvl", starIdx)
  45. mem(starTablePtr + (starIdx-1)*8, FIELD_STRING, dummyLevelName)
  46. mem(starTablePtr + (starIdx-1)*8 + 4, FIELD_WORD, 0)
  47. end
  48. end
  49.  
  50. mem(0x00B251E0, FIELD_WORD, starCount)
  51. end
  52. if (gdata:get(Level.filename() .. "-deaths") == nil) then
  53. gdata:set(Level.filename() .. "-deaths", 0)
  54. end
  55. if (gdata:get("totalDeaths") == nil) then
  56. gdata:set("totalDeaths", 0)
  57. end
  58. gdata:save()
  59. end
  60.  
  61. function onHUDDraw()
  62. if gdata:get("MaGLX2HubToggleDemoCounter") == 1 and Graphics.isHudActivated() then
  63. Text.print("DEMOS", 100, 25)
  64. Text.print(tostring(gdata:get(Level.filename() .. "-deaths")) .. " / " .. tostring(gdata:get("totalDeaths")), 100, 45)
  65. end
  66. end
  67.  
  68. function onLoop()
  69. if player:mem(0x13C, FIELD_DWORD) ~= 0 and not hasDied then
  70. gdata:set(Level.filename() .. "-deaths", gdata:get(Level.filename() .. "-deaths") + 1)
  71. gdata:set("totalDeaths", gdata:get("totalDeaths") + 1)
  72. gdata:save()
  73. hasDied = true
  74. end
  75. local stars = mem(0x00B251E0, FIELD_WORD)
  76. if (stars > starCount) then
  77. gdata:set("MAGLX2Stars", stars)
  78. gdata:save()
  79. Misc.saveGame()
  80. end
  81. starCount = stars
  82. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement