@DarkDragon
This is what I have on record. I believe it is is all correct, but I would not mind outside verification, and amendments if needed.
//================================================== =====
//--- Instruction Processing Order and General Timing ---
================================================== =======
1. Instructions in Global script Init (if starting a new game)
2. Instructions in Global Script OnContinue (is resuming a game)
3. Instructions from FFCs that run on screen init, excluding draw instructions.
Note: Instructions are handled on a per-ffc basis, in ID order; so a script on ffc ID 1 runs,
then a script on ffc ID 2, up to ffc ID 32. If an ffc has no script, it is skipped.
4. Instructions immediately inside the run() function of a global active script, if the game has just loaded.
5. Instructions in the global active script's infinite loop prior to Waitdraw,
6. Instructions from an ffc script positioned after (an illegal)
Waitdraw() instruction in that script from the previous frame.
Note: Requires being on at least the second frame of a game session.
7. Screen bitmap drawing.
8. Enqueued Script Drawing from the global active script, (and from ffcs on the previous frame).
9.. Drawing Instructions in the global active script prior to Waitdraw().
10. Instructions in an ffc script, excluding draw commands.
Note: Instructions are handled on a per-ffc basis, in ID order; so a script on ffc ID 1 runs,
then a script on ffc ID 2, up to ffc ID 32. If an ffc has no script, it is skipped.
11. Screen Scrolling (2.50.2, or later)
12. Waitdraw() in a global active script.
13. Engine writing to Link->Dir and Link->Tile.
14. FFCs enqueue draws for the next frame.
Note: Instructions are handled on a per-ffc basis, in ID order; so a script on ffc ID 1 runs,
then a script on ffc ID 2, up to ffc ID 32. If an ffc has no script, it is skipped.
15. Instructions from item action scripts.
16. Instructions from item collect scripts.
17. Instructions in the global active script, called after Waitdraw()
17(b). Screen Scrolling ( 2.50.0, and 2.50.1 )]
18. Instructions in an OnExit script, if the game is exiting.
19. Return to (3).