cisqua.dll は、Cisqua 構成要素となる DLL の機能をプログラムから実行時に呼び出す関数を提供しています。 Cisqua の公開している API は、必ず cq が接頭辞となります。 cisqua.dll の関数を呼び出すには cisqua.h ヘッダファイルをインクルードしてください。
Cisqua API は、主に初期化情報を取得するためのプロパティ関数、エラー処理用関数、イベント関数に大別できます。
関数 | 解説 |
---|---|
PCTSTR cqGetTitle(VOID); | このゲームのタイトル名を取得します。 |
LONG cqGetMaxFPS(VOID); | このゲームの描画処理に要求される最大 FPS を取得します。 |
DWORD cqGetWidth(VOID); | ゲーム画面の幅を取得します。 |
DWORD cqGetHeight(VOID); | ゲーム画面の高さを取得します。 |
BOOL cqGetFullScr(VOID); | フルスクリーンで起動するかどうかを取得します。 |
PCTSTR cqGetLayerDLL(VOID); | デフォルトのレイヤ用DLLのパスを取得します。 |
LOGFONT * cqGetDefaultFont(VOID); | デフォルトのフォントを取得します。 |
DWORD cqGetSaveCount(VOID); | セーブファイルとして保存可能な最大数を取得します。 |
PCTSTR cqGetSavePath(VOID); | セーブファイルを保存するフォルダ、またはパスを取得します。 |
PCTSTR cqGetSaveName(VOID); | セーブファイルの名前を取得します。 |
PCTSTR cqGetScripterPath(VOID); | ゲーム制御を担当するスクリプトDLLのパスを取得します。 |
PCTSTR cqGetScriptCmd(VOID); | スクリプトの初期化時に渡すコマンド文字列を取得します。 |
関数 | 解説 |
---|---|
VOID cqSetErrorChacher(CQ_CHACHER); | エラーを受けるコールバック関数を設定します。 |
CQ_CHACHER cqGetErrorChacher(VOID); | エラーを受けるコールバック関数を取得します。 |
BOOL cqThrowErrorMessage(PCTSTR, PCTSTR); | 例外が発生したことを通知します。 |
関数 | 解説 |
---|---|
HINSTANCE cqGetScripter(VOID); | スクリプト用 DLL のインスタンスハンドルを返します。 |
BOOL cqInitScripter(PCTSTR, cqILayer); | スクリプト用 DLL を初期化します。 |
BOOL cqDrawNext(VOID); | ゲームスクリプト DLL に次の場面に移行することを要求します。 |
BOOL cqMouseDown(DWORD, LONG , LONG); | マウスボタンがゲーム画面上で押されたことをゲームスクリプト DLL に通知します。 |
BOOL cqMouseUp(DWORD , LONG, LONG); | マウスボタンがゲーム画面上で離されたことをゲームスクリプト DLL に通知します。 |
BOOL cqMouseMove(LONG , LONG); | マウスカーソルがゲーム画面上で移動したことをゲームスクリプト DLL に通知します。 |
BOOL cqKeyDown(int); | キーボードのキーが押されたことをゲームスクリプト DLL に通知します。 |
BOOL cqKeyUp(int vkey); | キーボードのキーが離されたことをゲームスクリプト DLL に通知します。 |
BOOL cqSave(PCTSTR); | 指定したファイルに現在のゲームデータを保存します。 |
BOOL cqLoad(PCTSTR); | 指定したファイルからゲームデータを読み込みます。 |
BOOL cqCanSave(VOID); | ゲームスクリプト DLL がデータの保存に対応しているかどうかを取得します。 |
BOOL cqCanLoad(VOID); | ゲームスクリプト DLL がデータの読み込みに対応しているかどうかを取得します。 |
関数 | 解説 |
---|---|
DWORD cqGetTemplateLayerSize(VOID); | テンプレートレイヤのインスタンスのバッファに必要なバイトサイズを返します。 |
VOID cqGetTemplateLayer(PVOID); | 指定したバッファにテンプレートレイヤのインスタンスを転送します。 |
cqILayer cqCreateLayer(PCTSTR , LONG, LONG, LONG, LONG); | 設定されているレイヤ用 DLL にレイヤオブジェクトの生成を要求します。 |
VOID cqDrawLayer(HDC, cqILayer); | レイヤの内容をデバイスコンテキストに転送します。 |
関数 | 解説 |
---|---|
VOID cqAddVariable(PCTSTR, const VOID *, DWORD); | 新しい変数をシステムに登録します。 |
BOOL cqRemoveVariable(PCTSTR); | 変数をメモリから解放します。 |
VOID cqRemoveAllVariable(VOID); | 全ての変数をメモリから解放します。 |
DWORD cqGetVariableCount(VOID); | システムに登録されている変数の数を取得します。 |
PCTSTR cqGetVariableName(DWORD); | インデックスから変数名を取得します。 |
VOID * cqGetVariable(PCTSTR); | 変数名に対応しているデータを取得します。 |
DWORD cqGetVariableSize(PCTSTR); | 変数名に対応するデータのバッファサイズを取得します。 |
LONG cqFindVariable(PCTSTR); | 変数が存在するかどうかを調べます |
このゲームのタイトル名を取得します。 通常は、ゲーム画面のコンテナのタイトルバーなどに描画されるべきです。
PCTSTR cqGetTitle(VOID);
このゲームの描画処理に要求される最大 FPS を取得します。 通常は 60 程度が推奨されますが、滑らかな描画が要求されない場合は 30 程度に下げた方が CPU の使用率に余裕ができます。
LONG cqGetMaxFPS(VOID);
ゲーム画面の幅を取得します。 コンテナの枠はこれに含まれません。
DWORD cqGetWidth(VOID);
ゲーム画面の高さを取得します。 コンテナの枠はこれに含まれません。
DWORD cqGetHeight(VOID);
フルスクリーンで起動するかどうかを取得します。
BOOL cqGetFullScr(VOID);
デフォルトのレイヤ用DLLのパスを取得します。
PCTSTR cqGetLayerDLL(VOID);
デフォルトのフォントを取得します。
LOGFONT * cqGetDefaultFont(VOID);
セーブファイルとして保存可能な最大数を取得します。
DWORD cqGetSaveCount(VOID);
セーブファイルを保存するフォルダ、またはパスを取得します。
PCTSTR cqGetSavePath(VOID);
セーブファイルの名前を取得します。
PCTSTR cqGetSaveName(VOID);
ゲーム制御を担当するスクリプトDLLのパスを取得します。
PCTSTR cqGetScripterPath(VOID);
スクリプトの初期化時に渡すコマンド文字列を取得します。
PCTSTR cqGetScriptCmd(VOID);
Cisqua またはそれに関連するシステム内で発生したエラーを受けるコールバック関数を設定します。
VOID cqSetErrorChacher(CQ_CHACHER chacher);
エラーを受けるコールバック関数を取得します。
CQ_CHACHER cqGetErrorChacher(VOID);
Cisqua に対して、仕様想定外の例外が発生したことを通知します。 このメッセージは cqSetErrorChacher で最後に設定されたエラー受信用関数にコールバックされます。
BOOL cqThrowErrorMessage(PCTSTR errorType , PCTSTR message);
スクリプト用 DLL のインスタンスハンドルを返します。
HINSTANCE cqGetScripter(VOID);
スクリプト用 DLL を初期化します。 ゲームを再起動する場合にもこの関数を利用することができます。
BOOL cqInitScripter(PCTSTR, cqILayer);
ゲームスクリプト DLL に次の場面に移行することを要求します。 この関数は、通常コンテナから1秒間に 1 〜 最大 FPS までの範囲で呼び出します。
BOOL cqDrawNext(VOID);
マウスボタンがゲーム画面上で押されたことをゲームスクリプト DLL に通知します。 この関数の座標 x と y は、ゲーム画面上の相対座標でなければなりません。
BOOL cqMouseDown(DWORD button , LONG x , LONG y);
マウスボタンがゲーム画面上で離されたことをゲームスクリプト DLL に通知します。
BOOL cqMouseUp(DWORD button , LONG x , LONG y);
マウスカーソルがゲーム画面上で移動したことをゲームスクリプト DLL に通知します。
BOOL cqMouseMove(LONG x , LONG y);
キーボードのキーが押されたことをゲームスクリプト DLL に通知します。
BOOL cqKeyDown(int vkey);
キーボードのキーが離されたことをゲームスクリプト DLL に通知します。
BOOL cqKeyUp(int vkey);
指定したファイルに現在のゲームデータを保存します。
BOOL cqSave(PCTSTR filePath);
指定したファイルからゲームデータを読み込みます。
BOOL cqLoad(PCTSTR filePath);
ゲームスクリプト DLL がデータの保存に対応しているかどうかを取得します。 この関数が TRUE を返す場合 cqSave() 関数を安全に呼び出すことができます。
BOOL cqCanSave();
ゲームスクリプト DLL がデータの読み込みに対応しているかどうかを取得します。 この関数が TRUE を返す場合 cqLoad() 関数を安全に呼び出すことができます。
BOOL cqCanLoad();
テンプレートレイヤのインスタンスのバッファに必要なバイトサイズを返します cqGetTemplateLayer() 関数に渡すバッファへのポインタは、少なくともこの関数が返すサイズの領域を保障しなければなりません。
DWORD cqGetTemplateLayerSize();
バッファにテンプレートレイヤのインスタンスを転送します。 この関数によって layer はテンプレートレイヤで初期化されます。 layer を cqILayer 型にキャストして安全に利用することができます。
VOID cqGetTemplateLayer(PVOID layer);
指定したパスの DLL モジュールから、レイヤオブジェクトを生成するコンストラクタ関数を検索して実行します。 成功した場合は、モジュール独自の cqILayer オブジェクトを返します。
cqILayer cqCreateLayer(PCTSTR moduleName , LONG x LONG y LONG width LONG height);
レイヤの内容をデバイスコンテキストに転送します。
VOID cqDrawLayer(HDC hdc , cqILayer layer);
Cisqua 起動中にシステムやゲームスクリプト DLL など各種プラグインが共有する変数を登録します。 変数は、指定した文字列とデータを関連付ける辞書として機能します。 バッファはそのままシステムにコピーされるため、元のデータは解放しても問題はありません。
既存の変数と同じ名前だった場合は、既存の変数が削除されて新しいデータで上書きされます。
VOID cqAddVariable(PCTSTR name, const PVOID buffer, DWORD size);
登録されている変数をメモリから削除します。
BOOL cqRemoveVariable(PCTSTR name);
全ての変数をメモリから解放します。
VOID cqRemoveAllVariable();
システムに登録されている変数の数を取得します。
DWORD cqGetVariableCount();
インデックスから変数名を取得します。 インデックスは登録された順番で、ソートされていません。 この関数は登録されている変数を列挙するなどのデバッグ用です。
PCTSTR cqGetVariableName(DWORD index);
指定した変数名に関連付けられているバッファ領域へのポインタを取得します。 この関数が返したバッファは Cisqua によって管理されています。 解放しないでください。
PVOID cqGetVariable(PCTSTR name);
変数名に対応するデータのバッファサイズを取得します。
DWORD cqGetVariableSize(PCTSTR name);
指定した名前の変数が存在するかどうか、検索します。
LONG cqFindVariable(PCTSTR name);