crop/patch

切り出し命令
あるスプライトの一部を指定し、その部分を別のスプライトに貼り付ける命令です。

lsp 200,":a;image.bmp",0,0
lsp 201,":a;>560,140,#FFFFFF",0,0
; (コピー元スプライト番号),(セル番号),(マスク番号),(コピー開始x),(コピー開始y),(コピー先スプライト番号),(セル番号),(マスク番号)
exec_dll "sp.dll/crop,200,0,0,70,40,201,0,0"
exec_dll "sp.dll/crop,200,0,1,70,40,201,0,1"
; 実体部分とマスク部分の両方をコピーする。

コピー元画像の指定した座標から、コピー先がいっぱいになるまでをコピーします。

実行例

200 201

顔グラフィックができました。

応用例

部分的な加工を実現するための基本になる命令です。
加工したい部分をこれで切りだしておいて、それを様々に加工後、元の画像に重ね合わせるなどします。

patch

貼りつけ命令
cropと対になることを想定して作られた命令です。
cropと同じ書式で、コピー先とコピー元を入れ替えた動作をします。
つまり、

  • cropで切り出す。
  • 切り出したスプライトを色々加工する。
  • patchで戻す。(cropの時と同じパラメータを与える)

このように処理できます。