*EXECUTE SSTP GetCollision拡張 [#wadece4e]
EXECUTE SSTPにより当たり判定を簡単に取得するための方法です。
**リクエスト [#ze7fa377]
#pre{{
EXECUTE SSTP/1.4
Charset: Shift_JIS
Sender: TestSSTP
Command: GetCollision
Reference0: 1
}}
#pre{{
EXECUTE SSTP/1.4
Charset: Shift_JIS
Sender: TestSSTP
Command: GetCollision
DestHWnd: 156480
}}
以上のような形式で呼び出すと、下のような応答が返ります。~
Reference0はキャラID(sakura=0 kero=1)、またはDestHWndヘッダでキャラウィンドウそのものを指定してください。~
省略すると、過去互換のためID=0を指定したものと見なされます。
**レスポンス [#i51814ae]
#pre{{
SSTP/1.4 200 OK
Head: 10,10,100,100
Face: 100,100,200,200
Bust: 200,200,300,300
}}
当たり判定名: その矩形、のように:で区切られてデータが返ります。~
&color(red){ヘッダとしてではなく、空行を1つはさんだデータ本体として返ることに注意して下さい。};~
これは、同じ当たり判定名が複数ある可能性があること、当たり判定名自体がASCII文字以外も含まれる可能性があること、そして他のEXECUTEリクエストと形式を統一するためです。
当たり判定名は上述のように、
-連続していない領域の指示のためなどに、複数同じ名前のエントリが返る可能性がある
-当たり判定名はASCIIのみとは限らない
ことに注意してください。~
なお、ASCII文字以外の場合は、リクエスト時のCharsetエントリと同じ文字コードでデータが返されます。~
返される矩形は、surfaces.txtそのままではなく、ウィンドウの左上点基準であることに注意してください。~
SERIKO実装によっては、補正処理等により、surfaces.txtの内容と若干異なる場合があります。