Pyorot

Draft Gecko Alias Syntax

Jun 4th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. ## Reload ##
  2. ifm [ba|<InputBuffer>] / 4000 == 0001 # if left (0001) or C+left (4001)
  3. {fileload.asm} # runs cf.fileLoadSelected(), loadToCurrent()
  4. [<Spawn> ] := w gr0 # load 4B location from GR 0
  5. [<Spawn>+4 ] := w gr1 # load 4B location ctd. from GR 1
  6. [<Spawn>+22] := w gr2 # load 4B room/layer/entrance/night? from GR 2
  7. [<Spawn>+26] := b gr3 # load 1B trial? from GR 3
  8. ifm [ba|<Spawn>] / 1757 == 4020 # if location is valid (custom mask for regex /[BDFS][0-4e]../)
  9. po := <ReloaderPtr> # set po (do this before next line to cut out an end-if code)
  10. ifm [ba|<InputBuffer>] == 4001 # if C+left
  11. [ba|<ReloadType>] := b 1 # set reload type to 1 = "from save" (gets zeroed after reload)
  12. 'ifptr # assert pointer (end-if)
  13. [*po|23c] := h 5 # trigger reload: write 2B literal 0x5 to *PA+23C
  14. endif ∞
  15.  
  16. ## Context Payload ##
  17. ifm [ba|<SettingsFlags> + 4] / FF00 = 0001
  18. # Scaldera
  19. if [ba|<Spawn>] == 42323030 # if ET boss room (B200)
  20. [ba|<Spawn>+24] := b 1001 # set entrance to 1
  21. po := <ScalderaPtr> # set PA to Scaldera (actor on heap?)
  22. ifptr # assert pointer
  23. grE := w [*po|10] # copy boss health (via GR E)
  24. [<FileA>+A5E] = h grE # to FA rupees
  25. endif 1 # endif ×1
  26.  
  27. # Skyloft (Layer 3) # for sidehop cs skip practice
  28. 'if [ba|<Spawn>] == 46303030 # if (4B) Skyloft (F000) (end-if)
  29. ifm [ba|<Spawn>+2E] / FF00 == 0003 # if (2B w/ mask) layer 3
  30. po := <ReloaderPtr> # set PA to reloader thingie
  31. ifptr # assert pointer
  32. [*po|2A2] = b 1 # write 1B "true" to reloader.saveprompt (0x2a2)
  33. endif 2 # endif ×2
  34.  
  35. endif ∞
Add Comment
Please, Sign In to add comment