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