nekodorif - specifications - kinoko interface


猫どりふ きのこ通知および各種情報取得仕様書

概要

:::伺かに橋本孔明氏作「きのこ」が生えていた場合、猫どりふ落下物は 伺か本体だけでなくきのこに対しても各種情報を通知します。

:::また、きのこから猫どりふに対し特定のメッセージを送信することで、落下物に関する詳細な情報を取得することができます。



猫どりふ落下物からの通知メッセージ

:::落下物関連のイベントが発生すると、きのこに対して以下のメッセージが通知されます。

RegisterWindowMessage("Nekodorif");

wParamにはイベント種別を示すコードが、lParamには落下物のウィンドウハンドルが格納されています。
wParamの値とイベントの対応は以下のとおりです。

0 可視領域内に出現
1 ヒット
2 再落下開始
3 ヒットした落下物が可視領域内から消滅
4 よけられてヒットしなかった落下物が可視領域内から消滅



落下物の情報取得

:::落下物のウィンドウハンドルに次のようなコードを用いてメッセージを送信することで、落下物に関する情報を取得できます。

・落下物のウィンドウハンドルはイベント発生メッセージのlParamを利用してください。
・メッセージの wParam には、GetCurrentProcessId() API の戻り値をそのまま指定します。
・メッセージの lParam には、最低200バイトを確保した char のポインタを指定します。

■落下物の名称

#define WM_NEKODORIF_GETNAME (WM_APP+101)

BOOL bSuccess;
char szString[200];

szString[0] = '\0';
bSuccess = (BOOL)SendMessage(hKinoko, WM_NEKODORIF_GETNAME,
  (WPARAM)GetCurrentProcessId(), (LPARAM)szString);

■落下物が主に対象としているゴースト名称

#define WM_NEKODORIF_GETFOR (WM_APP+102)

BOOL bSuccess;
char szString[200];

szString[0] = '\0';
bSuccess = (BOOL)SendMessage(hKinoko, WM_NEKODORIF_GETFOR,
  (WPARAM)GetCurrentProcessId(), (LPARAM)szString);

■落下物のカテゴリ

#define WM_NEKODORIF_GETCATEGORY (WM_APP+103)

BOOL bSuccess;
char szString[200];

szString[0] = '\0';
bSuccess = (BOOL)SendMessage(hKinoko, WM_NEKODORIF_GETCATEGORY,
  (WPARAM)GetCurrentProcessId(), (LPARAM)szString);

■落下物のターゲット(sakura.nameかkero.name)

#define WM_NEKODORIF_GETTARGET (WM_APP+104)

BOOL bSuccess;
char szString[200];

szString[0] = '\0';
bSuccess = (BOOL)SendMessage(hKinoko, WM_NEKODORIF_GETTARGET,
  (WPARAM)GetCurrentProcessId(), (LPARAM)szString);