--------------------------------------------------------------------------------
 Hot Soup Processor スクリプトエディタ 外部ツール 開発マニュアル
--------------------------------------------------------------------------------

・はじめに

このマニュアルは、HSPのスクリプトエディタ(以下エディタと表記)専用の
外部ツールを開発する方法や、その注意点を書いたマニュアルです。
現在のエディタはβ版であるという性質上、仕様変更や不具合の可能性が
有るということをご承知下さい。



・基本仕様
エディタにアクセスするためのウィンドウ(非表示)を用意してありますので、
外部ツールはそのウィンドウのハンドルをFindWindow(Ex)で取得し、
そのウィンドウにメッセージを送り、情報取得や、操作を行うという形に
なります。
文字列の送受信は、パイプを介して行います。



・文書中の語句について
Footy: エディタが使用しているライブラリの名前で、この文書中では、
　　　 入力部分(HSPで作成できるinputのようなもの)のことを指します。



・アクセス手順
(1)FindWindow(Ex)で、ウィンドウハンドルを取得します。
(2)*文字列を扱う場合のみ* パイプを作成し、DuplicateHandleでエディタが
　 読込/書込できるハンドルを作成して下さい。
(3)SendMessageで必要とする情報を要求/行いたい操作を行って下さい。
(4)*文字列を扱う場合のみ* CloseHandleでハンドルを閉じる。
詳しくは、サンプルを参照して下さい。



・メッセージ リファレンス
HSED_GETVER(WM_APP) - 各種バージョンを取得
wParam: 必要なバージョン情報の種類(下に字下げして書いています)
lParam: wParamによって変化します
戻り値: wParamによって変化します。wParamが正しくなかった場合は、-1が返ります。

	wParam: HGV_PUBLICVER(0)
	lParam: 無視されます。
	戻り値: エディタのパブリック バージョンが返ります。
			16進数で上4桁メジャー バージョン、5〜6桁目マイナー バージョン
	        7〜8桁目βバージョン(βでなければ0)。(例:Ver1.02b3→0x00010203)
	　説明: パブリック バージョンは、HSP本体のバージョンと連動していますが、
			一致している保証はありませんのでご了承下さい。

	wParam: HGV_PRIVATEVER(1)
	lParam: 無視されます。
	戻り値: エディタのプライベート バージョンが返ります。
			形式はHGV_PUBLICVERと同じです。
	　説明: HSP本体のバージョンとは連動しておらず、hsp-dev MLで公開されるときに
	        設定されるバージョンとなっています。

	wParam: HGV_HSPCMPVER(2)
	lParam: エディタが書き込むパイプのハンドル
	戻り値: 成功時はパイプに書き込んだバイト数(NULL文字含む)、失敗時は-1
	　説明: hspcmp.dllから取得したバージョン情報(文字列)を、渡されたパイプに
	        書き込みます。

	wParam: HGV_FOOTYVER(3)
	lParam: 無視されます。
	戻り値: FootyライブラリのGetFootyVerの戻り値がそのまま返ります。、
	        バージョンを100倍(10進数)した数値が返ります。(例:Ver1.23→123)

	wParam: HGV_FOOTYBETAVER(4)
	lParam: 無視されます。
	戻り値: FootyライブラリのGetFootyBetaVerの戻り値がそのまま返ります。
	        エディタのマイナー バージョンVer1.04b3公開時では、
	        ベータ バージョンがそのまま返ります。(ver*.**β1→1)

HSED_GETWND(WM_APP + 0x100) - 各種ウィンドウのハンドルを取得
wParam: ハンドルが必要なウィンドウの種類(下に字下げして書いています)。
lParam: wParamによって変化します。
戻り値: 各種ウィンドウのハンドルが返ります。

	wParam: HGW_MAIN(0)
	lParam: 無視されます。
	　説明: メイン ウィンドウのウィンドウ ハンドルが返ります。

	wParam: HGW_CLIENT(1)
	lParam: 無視されます。
	　説明: クライアント ウィンドウ(タブの下にあります)のウィンドウ ハンドルが
	        返ります。

	wParam: HGW_TAB(2)
	lParam: 無視されます。
	　説明: タブ コントロールのウィンドウ ハンドルが返ります。

	wParam: HGW_EDIT(3)
	lParam: 取得したいFootyのIDを指定します。
	　説明: IDを指定したFootyのウィンドウ ハンドルが返ります。

	wParam: HGW_TOOLBAR(4)
	lParam: 無視されます。
	　説明: ツールバーのウィンドウ ハンドルが返ります。

	wParam: HGW_STATUSBAR(5)
	lParam: 無視されます。
	　説明: ステータスバーのウィンドウ ハンドルが返ります。