1.透明色が黒(RGB=0)ではなくパレット番号0になっている。
2.画面幅が4の倍数でない場合に正常に描画されない。
環境
windows7
HSPversion3.32b及び3.5betaにて現象を確認しております。
以下のスクリプトは同じ画像を画面左側にgsquare、右側にgcopyにてコピーしています。
左右で結果が異なる事が確認できると思います。
上 通常のコピー
中 透明色付きコピー(gmode 2)
下 幅が4の倍数でない場合
screen 0,320,320,screen_palette buffer 1,320,320,screen_palette buffer 2,321,300,screen_palette dim x,4 dim y1,4 dim y2,4 dim y3,4 x = 0,149,149, 0 y1 = 0, 0, 29, 29 y2 = 50, 50, 79, 79 y3 = 100,100,129,129 //パレットの設定 repeat 3 gsel cnt palette 0, 255, 0, 0,0 ;赤 palette 1, 0, 255, 0,0 ;緑 palette 2, 0, 0, 255,0 ;青 palette 3, 255, 255, 255,0 ;白 palette 4, 0, 0, 0,0 ;黒 palette 5, 127, 127, 127,1 ;灰 palcolor 5 boxf loop //コピー元の作成 gsel 1 repeat 5 palcolor cnt boxf cnt * 30 , 0 , cnt * 30 + 30 , 30 loop gsel 2 repeat 5 palcolor cnt boxf cnt * 30 , 0 , cnt * 30 + 30 , 30 loop gsel 0 //通常のコピー gmode 1 gsquare 1,x,y1,x,y1 pos 170,0 gcopy 1,0,0,150,30 //抜き色あり gmode 2 gsquare 1,x,y2,x,y1 pos 170,50 gcopy 1,0,0,150,30 //コピー元の画面幅が4の倍数でない場合 gmode 1 gsquare 2,x,y3,x,y1 pos 170,100 gcopy 1,0,0,150,30 stop