getscreenshotはどの画像を取得するか

getscreenshotを実行した時、スクリーンショットが専用領域に保存される。このスクリーンショットとはどの画像か、と言う問題。

実験

00.txt
;mode800
*define
deletemenu

game
*start

getscreenshot 800,600
savescreenshot "before.bmp"

bg "image.png",0
getscreenshot 800,600
savescreenshot "now.bmp"

print 1
getscreenshot 800,600
savescreenshot "after.bmp"

end
結果

before.bmpとnow.bmpは真っ黒だった。
after.bmpのみがimage.pngと一致した。

結論

getscreenshotは実際に表示されている画像を取得する。内部で変更があってprint待ちだったとしてもそれは影響しない。