Home -> HSP講座 -> HPI編序章

Let's make plug-in for hsp3!!

こんにちは、上大です。
ここではHSP3向けのプラグインの作り方を、サンプルを開発しながら解説します。
では、はじまりはじまり〜。

と、そのまえに、条件があります。

プラグインは DLL なので、HSPでは作成できません!!
ここではC++というプログラミング言語を使って解説するつもりです (ほとんど C ですが)
それが分からない場合は、どうにもなりませんので、まずはC言語あたりから勉強してください。
また、開発には「Visual C++ 2008(VC++9.0)」(無料版)か、「Borland C++ Compiler 5.5」を使用します。

※C言語の初級者レベルの知識だけでもなんとかなります。
 最低でも、変数、関数、構造体、ポインタ、関数ポインタ、くらいは理解して使えるようにしておくほうがいいです。
 逆に言うと、そのくらいでも作成できました ( 僕は )。あまり優れたものは作れませんが、C の練習になるかもしれません。


プラグインとは?

プラグインというのは、アプリケーションにない機能を追加するためのプログラムです。
HSP3プラグインは、HSPに「命令」「関数」「変数型」を追加できます。
でも「型」はなかなかめんどくさいので、あまり作りません。

……あれ? じゃあモジュールでもいいような……。
はい、命令や関数の定義はモジュールでもできます。[脚注]
しかし、プラグインはもっと動的な命令や関数を作成できます。
引数をいくつでも渡せる「可変長引数」や、引数の型を自由にできたり、命令形式でも関数形式でも呼び出せたりと、優れている部分がたくさんあります。
まとめていえば、HSPの標準命令と同じことがすべてできます。

// 好きな型の引数を受け取れる (#deffunc では作れない)
	mes 0 // 整数
	mes "hello" // 文字列

// 可変長引数
// strf 関数は好きな数の引数をとれる (#defcfunc では作れない)
	mes strf("%d/%s/%d", 2015, "Mar",18 )

他にも、C++の機能を自由に使えるというのも利点です。HSPの苦手な部分であるポインタの操作や Win32 API の呼び出しなどが簡単にできます。動作も非常に高速です (たぶん)。

これだけの利点があるのですから、作らない手はないでしょう! (実用するかどうかは別として)
それでは次から、開発の準備に入ります。


HSPSDK

SDK(Softwere Development Kit)とは、ソフトウェアを開発するときに使うツールです。
Windowsアプリケーションを開発するときは、WindowsSDKを使いますね。

HSP3プラグインを開発する時は、専用のSDK、HSPSDKを使用します。
これを使うと、HSPのシステム( ランタイム )の情報に、間接的ながら触ることができます。
公式サイト HSPTV! でダウンロード可能です。中身はC++のファイル群となっています。
※HSP3.2以降は、インストールしたフォルダに hspsdk が入っています。
+参照:ダウンロードリスト
HSPSDKをダウンロードしたら、適当なフォルダ( ここでは MakeHPI )のなかに解凍してください。


BCCの開発環境

余談ですが、BCCの方は、開発環境を自分で管理する必要があります。
そのため、ここでは BCC Developer という統合開発環境ソフトを紹介しておきます。
+参照:BCC Developerをダウンロードしに行く
非常に使いやすいソフトで、しかも無料です。
僕はコマンドラインを使うのは苦手なので、これを使うことにします。( MS-DOS時代は未経験…… )


おわりに

これで準備万端です。次からは早速開発していきましょう!


by 上大

トップへ   第一章へ