これから表示する予定のスクリーンショットを取得するプラグイン

http://www.eiji8pou.pics/download/nextscreenshot20110917.zip

説明

エフェクト型のプラグインですが、このプラグインは何もエフェクトを起こしません。それどころか、新しい画面への切り替えもしません。
このプラグインを使う際には、出力先のファイル名を指定します。拡張子はbmpにするのがよいでしょう。
そうすると、これから表示する予定の画面が、指定したファイル名で出力されます。

print 99,0,"nextscreenshot.dll/sample.bmp"
; これから表示される予定の画面が、sample.bmpに保存される。

なお、これを実行した後は表示が若干おかしくなるので、

  1. repaintを実行する
  2. その他、スプライト操作、立ち絵操作、背景操作等を行う

ことで正常化します。

サンプルスクリプト

00.txt

*define

	deletemenu
	game

*start

	bg "back.bmp",1
	ld c,":a;tatie.bmp",0
	; この時点で、画面には背景のみ、内部には立ち絵+背景

	print 99,0,"nextscreenshot.dll/sample.bmp"
	; 立ち絵+背景をsample.bmpに出力
	click

	repaint
	; 立ち絵+背景を実際に画面に出力
	; lspなどでも効果はある。
	click
end

使い道

ユーザーにスクリーンショットを作成させることを許可する場合、作成されるスクリーンショット著作権表示を重ねるのに使うとかが考えられます。
スクリーンショットを作成する時に、0番のスプライトで著作権表示をします。lspやstrspを使いますが、その際、printにこのプラグインを使います。その後、0番のスプライトを削除すれば、repaint等をせずとも元の状態に戻ります。

注意!

このdllは、VC++2008で作成しましたが、マシンがWindows7の64bitなので、もしかしたら32bitマシンで実行すると動かないかもしれません。人身御供募集。