こんにちは、上大です。
ここではHSP3向けのプラグインの作り方を、サンプルを開発しながら解説します。
では、はじまりはじまり〜。
と、そのまえに、条件があります。
※C言語の初級者レベルの知識だけでもなんとかなります。
最低でも、変数、関数、構造体、ポインタ、関数ポインタ、くらいは理解して使えるようにしておくほうがいいです。
逆に言うと、そのくらいでも作成できました ( 僕は )。あまり優れたものは作れませんが、C の練習になるかもしれません。
プラグインというのは、アプリケーションにない機能を追加するためのプログラムです。
HSP3プラグインは、HSPに「命令」「関数」「変数型」を追加できます。
でも「型」はなかなかめんどくさいので、あまり作りません。
……あれ? じゃあモジュールでもいいような……。
はい、命令や関数の定義はモジュールでもできます。[脚注]
しかし、プラグインはもっと動的な命令や関数を作成できます。
引数をいくつでも渡せる「可変長引数」や、引数の型を自由にできたり、命令形式でも関数形式でも呼び出せたりと、優れている部分がたくさんあります。
まとめていえば、HSPの標準命令と同じことがすべてできます。
// 好きな型の引数を受け取れる (#deffunc では作れない) mes 0 // 整数 mes "hello" // 文字列 // 可変長引数 // strf 関数は好きな数の引数をとれる (#defcfunc では作れない) mes strf("%d/%s/%d", 2015, "Mar",18 )
他にも、C++の機能を自由に使えるというのも利点です。HSPの苦手な部分であるポインタの操作や Win32 API の呼び出しなどが簡単にできます。動作も非常に高速です (たぶん)。
これだけの利点があるのですから、作らない手はないでしょう! (実用するかどうかは別として)
それでは次から、開発の準備に入ります。
SDK(Softwere Development Kit)とは、ソフトウェアを開発するときに使うツールです。
Windowsアプリケーションを開発するときは、WindowsSDKを使いますね。
HSP3プラグインを開発する時は、専用のSDK、HSPSDKを使用します。
これを使うと、HSPのシステム( ランタイム )の情報に、間接的ながら触ることができます。
公式サイト HSPTV! でダウンロード可能です。中身はC++のファイル群となっています。
※HSP3.2以降は、インストールしたフォルダに hspsdk が入っています。
+参照:ダウンロードリスト
HSPSDKをダウンロードしたら、適当なフォルダ( ここでは MakeHPI )のなかに解凍してください。
余談ですが、BCCの方は、開発環境を自分で管理する必要があります。
そのため、ここでは BCC Developer という統合開発環境ソフトを紹介しておきます。
+参照:BCC Developerをダウンロードしに行く
非常に使いやすいソフトで、しかも無料です。
僕はコマンドラインを使うのは苦手なので、これを使うことにします。( MS-DOS時代は未経験…… )
これで準備万端です。次からは早速開発していきましょう!
by 上大