HSP : Hot Soup Processor ver3.2 / onion software 1997-2009(c)

# 拡張プラグイン・モジュール一覧

1. はじめに
2. 拡張プラグイン
   1. HSPEXT.DLL
   2. HSPINET.DLL
   3. HGIMG3.hrt
   4. E3DHSP.DLL
   5. OBAQ.DLL
   6. HSPCV.DLL
   7. HSPDB.DLL
   8. HSPDA.DLL
   9. HSPDX.DLL
   10. HSPCMP.DLL
   11. HSP3IMP.DLL
   12. HSPOGG.DLL
   13. HSPSOCK.DLL
   14. HGIMG.DLL/HGIMGX.DLL
3. モジュール
   1. d3module
   2. llmod3
   3. hsp3util.as
   4. hsp261cmp.as
   5. form_decode.as
   6. mod_getenv.as
   7. mod_img.as
   8. hspmath.as
   9. mod_fontdlg.as
   10. mod_aht.as
   11. mod_joystick.as
   12. mod_menu.as
   13. mod_picfont.as
   14. mod_rss.as
   15. mod_stbar.as
   16. Win32API定義
4. その他の拡張プラグイン
5. 拡張プラグインの仕様

## はじめに

HSPでは、拡張プラグイン及びモジュールという形で機能を追加していくことが可能です。 これにより、HSP本体だけでは実現できない処理が可能になります。

HSP拡張プラグインは、標準でDLLまたはHPIの拡張子を持つファイルとなっています。 このファイルは、必ずHSP本体(HSP3.EXE)と同じディレクトリに存在していなければ なりません。 また、EXEファイル作成の際にPACKFILEに入れて、1つのEXEファイルにすることは できません。拡張プラグインを使用するEXEファイルを作成した場合は、EXEファイルと 同じディレクトリに拡張プラグインを置いてください。

モジュールは、拡張プラグインと同様に機能を追加するためのファイルですが、 ソーススクリプトに追加する形で使用します。 HSP拡張プラグインと違い、モジュールの場合は、EXEファイルと同じディレクトリに ファイルを置く必要はありません。

拡張プラグインは、標準で以下のものが同梱されています。 それぞれのプラグインについての使い方詳細は、別途テキストを参照してください。

## 拡張プラグイン

### HSPEXT.DLL

HSPEXT.DLLの紹介
拡張プラグイン | HSPEXT.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
標準の機能以外を幅広くサポートする、機能拡張プラグインです。 この拡張DLLを使用することにより、40種類以上の新規命令が追加され、 レジストリ操作、簡易数学関数、シリアル通信、拡張画像操作、 拡張ファイルアクセスなど多くの機能がHSPからコントロールできるようになります。 さらにアプリケーションキャプチャー命令の搭載により、HSP以外のアプリケーションを コントロールすることが可能になります。 これらの命令は、HSP単体では実現できないようなツール、ユーティリティの 作成に役立つものが多く、さらに高度なアプリケーション開発が可能になります。 詳しくは、別途ドキュメント「hspext.txt」を参照してください。

### HSPINET.DLL

HSPINET.DLLの紹介
拡張プラグイン | HSPINET.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
インターネットアクセスのためのプラグインです。 http、ftpサーバーへ手軽にアクセスすることが可能になります。 指定したページにあるデータの取得はもちろん、プロキシサーバーを介してのアクセスや、 更新日時の取得など豊富なオプションが用意されています。 ftp接続時は、ディレクトリ一覧からftpコマンド送信まで細かい操作を行なうことができます。 また、他にもファイルのCRC42、MD5値を取得する命令などが装備されています。 詳しくは、別途ドキュメント「hspinet.txt」を参照してください。

### HGIMG3.hrt

HGIMG3.hrtの紹介
拡張ランタイム | HGIMG3.hrt | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
高機能2D・3D画像処理機能付きランタイムです。 2D・3Dグラフィック表示をサポートしたDirectX専用のプラグインになります。 スプライトを使用した2Dゲームから、3Dモデルを使った本格的なソフトまで幅広く 利用することができます。 HSP3HG.hrtで追加される主な機能は以下の通りです。 DirectX、フルカラーモードを対象とした高度な描画システム 2Dスプライト、3Dポリゴンなどを共通の命令で設定可能な描画エンジン 2Dスプライトの回転拡大縮小、α合成、透明色抜き処理、タイリング(BG表示) 3D座標上の2Dスプライトと3Dポリゴンを混在可能なワールド管理 3Dの階層構造を持ったポリゴンモデルの管理が可能 ボーンを用いた3Dワンスキンモデルのアニメーション表示が可能 アニメ風のレンダリング(トゥーンシェーディング)表示が可能 BMP、JPG、GIF、PNG、DDS、TGA、TIFF形式のテクスチャサポート アンチエイリアスを含めた日本語フォントのテクスチャレンダリング機能 アルファチャンネルを含むテクスチャ画像のサポート スプライトの表示、移動の管理および衝突判定機能 HSP3に対応した浮動小数によるジオメトリ演算 イベントリスト登録機能により自由度の高い自律処理を実現可能 使いやすい直接描画命令を装備 ストリーム再生を含むサウンド機能を装備 詳しくは、別途ドキュメント「hgimg3.txt」を参照してください。

### E3DHSP3.DLL

Easy3D for HSP3の紹介
拡張プラグイン | Easy3D for HSP3 | Ver3.0.2.0 | 作者:おちゃっこ | 作者のページ
--- | --- | --- | --- | ---
DirectXで３Ｄゲームを作るためのプラグインです。 高度なアニメーション表示や、レンダリング表示を始め、接触判定など ゲームで必要となる処理をすべて内包した高機能描画プラグインです。 同時に開発されているツール、RokDeBone2と組み合わせることで、 手軽に3Dゲームを開発する環境が整います。 このプラグインは、おちゃっこ氏が製作したものをHSP本体に同梱しています。 プラグインについてのご意見や感想などは、onion softwareではなく、おちゃっこ氏に フィードバックされるようお願いします。 詳しくは、別途ドキュメント「doclib/easy3d/index.htm」を参照してください。

### OBAQ.DLL

OBAQ for HSP3の紹介
拡張プラグイン | OBAQ for HSP3 | Ver3.2 | 作者:Zener Works, Inc./kuni/onitama | 作者のページ
--- | --- | --- | --- | ---
物理エンジン(OBAQ)が持つ機能を手軽に利用することができるプラグインです。 OBAQを使用することにより、2Dベースによる剛体の衝突、重力シミューレーションを扱うことができます。 OBAQは誰にでも手軽に、物理演算による自然な動きを実現することができるよう、2Dに特化し、設定や命令もシンプルにまとめられています。 精度の高い技術計算というよりも、ゲームやデモンストレーション等をサポートするためのお手軽なシステムと考えてください。 OBAQには、スプライトマネージャーを内蔵しており、標準機能のみを使用したスプライト描画を手軽に行なうことができます。 また、表示座標をユーザーが管理することにより、DirectX等を使った表示システムにも対応可能です。 詳しくは、別途ドキュメント「obaq.txt」を参照してください。

### HSPCV.DLL

HSPCV.DLLの紹介
拡張プラグイン | HSPCV.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
OpenCVが持つ機能を 手軽に利用することができるプラグインです。 HSPCVを使用することにより、高度な画像処理やアルゴリズムを扱うことができます。 他にも、各種フォーマット(PNG、JPEG、TIFF等)の読み書き、及び ムービー(avi)ファイル操作やUSBカメラ等のキャプチャデバイス読み込みなど 映像に関する多くの機能を提供しています。 HSPCV.DLLで追加される主な機能は以下の通りです。 任意サイズの画像イメージ操作(コピー、加算、減算、乗算ほか) 画像イメージの高品質なリサイズ、スムージング、回転 画像イメージからの閾値による抽出、反転、色変換 各種フォーマットに対応した画像ファイルの読み込み、保存 USBカメラ等のキャプチャデバイス経由の画像取得 avi動画ファイルの読み込み、保存 顔抽出等の画像認識 任意の画像に近い領域を抽出するテンプレートマッチング 詳しくは、別途ドキュメント「hspcv.txt」を参照してください。

### HSPDB.DLL

HSPDB.DLLの紹介
拡張プラグイン | HSPDB.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
データベースアクセスのためのプラグインです。 ODBCを経由して各種データベースへ アクセスすることが可能になります。 対応するODBCドライバがあれば、Oracle・MS-SQL Server・dBase・Paradoxなどの データベースにアクセスして、SQLによるコントロール、データの受け渡しを行なうことができます。 HSPDBを使用するためには、WindowsにODBCおよび対応ドライバが インストールされている必要があります。 詳しくは、別途ドキュメント「hspdb.txt」を参照してください。

### HSPDA.DLL

HSPDA.DLLの紹介
拡張プラグイン | HSPDA.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
各種データアクセスのためのプラグインです。 大量の文字列や数値をまとめてデータ管理する場合に威力を発揮します。 特に数値や文字列のソート機能は、大量のデータでも短時間で並び替えが可能です。 また、ソーススクリプトで使用している変数データの一部またはすべてをファイルに書き出し、 読み込みを行なう機能を持っています。 その他にも、CSV形式のファイルを配列に変換したり検索する機能、実数の乱数発生などが 用意されています。 詳しくは、別途ドキュメント「hspda.txt」を参照してください。

### HSPDX.DLL

HSPDX.DLLの紹介
拡張プラグイン | HSPDX.DLL | Ver3.1 | 作者:おにたま/Shinagawa | 作者のページ
--- | --- | --- | --- | ---
DirectX対応の2D描画プラグインです。 豊富なスプライト制御命令を持っているので、面倒な角度ごとの移動、自由落下、衝突判定などを 1つの命令で実行できます。 これにより、2Dキャラクタを使ったゲーム、デモなどの作成を手軽に行なうことができます。 このプラグインは、Shinagawa氏が改変、更新したものをHSP本体に同梱しています。 プラグインについてのご意見や感想などは、onion softwareではなく、 Sinagawa氏にフィードバックされるようお願いします。 詳しくは、別途ドキュメント「hspdx.txt」を参照してください。

### HSPCMP.DLL

HSPCMP.DLLの紹介
拡張プラグイン | HSPCMP.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
HSPシステム機能を持つプラグインです。 スクリプトエディタが持つHSP関連機能（コンパイル、実行、オブジェクト作成、実行ファイル作成）を コントロール可能です。HSPのシステム機能をHSPのスクリプトから制御することで、 それぞれのユーザーに合った独自のカスタマイズやバッチ処理が可能になります。 HSP3.1の新機能である、AHT(拡張テンプレート)のためのサポート機能も持っています。 詳しくは、別途ドキュメント「hspcmp.txt」を参照してください。

### HSP3IMP.DLL

HSP3IMP.DLLの紹介
拡張プラグイン | HSP3IMP.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
HSPランタイム機能を持つプラグインです。 HSP3IMP.DLLの動作画面は、指定されたウィンドウの子ウィンドウとして機能するので、 パーツを貼り付ける要領で、HSP3の画面を利用することが可能です。 また、HSPだけでなく、C/C++といった一般的な言語で作成されたアプリケーションに HSPの機能を付加することができます。 詳しくは、別途ドキュメント「hsp3imp.txt」を参照してください。

### HSPOGG.DLL

HSPOGG.DLLの紹介
拡張プラグイン | HSPOGG.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
DirectSoundに対応したサウンド再生のためのプラグインです。 HGIMG3で使用することができるサウンド機能命令(dmm〜)と同等の機能を持っています。 3D機能などは使用しないが、サウンド機能のみ利用したい時や、 他の描画系プラグインと組み合わせたい時などに使用することができます。 詳しくは、別途ドキュメント「hspogg.txt」を参照してください。

### HSPSOCK.DLL

HSPSOCK.DLLの紹介
拡張プラグイン | HSPSOCK.DLL | Ver3.1 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
TCP/IPソケット通信用プラグインです。 この拡張DLLを使用することにより、LANやインターネットを通じてデータの送受信を行なうことが 可能になり、簡単なクライアント・サーバーソフトを作成することもできます。 他のマシンとのコミュニケーションに、インターネットのクライアントに、 ネット対応のゲームなど多くの場面に活用することができるでしょう。 詳しくは、別途ドキュメント「hspsock.txt」を参照してください。

### HGIMG.DLL/HGIMGX.DLL

HGIMG.DLL/HGIMGX.DLLの紹介
拡張プラグイン | HGIMG.DLL/HGIMGX.DLL | Ver2.61 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
HGIMG3よりも古い形式の画像処理プラグインです。 このプラグインは、HSP2.61でサポートされていたもので、互換性の問題などで、 HGIMG3が使用できない場合に利用することを想定しています。 通常は、HGIMG3が上位互換で作成されているので、そちらをご使用下さい。 簡単なものであれば、HGIMG.DLL用のソースは、そのままHGIMG3に移行することができます。 HGIMG.DLLはフルカラー、パレットモードでの2D・3Dグラフィック表示をサポートします。 スプライトを使用した2Dゲームから、3Dモデルを使った本格的なソフトまで幅広く 利用することができます。HGIMG.DLLで追加される主な機能は以下の通りです。 フルカラー、パレットモード、DirectXの有無などを切り替え可能なアーキテクチャ 2Dスプライト、3Dポリゴンなどを共通の命令で設定可能な描画エンジン 回転拡大縮小、α合成、透明色抜き処理、タイリング(BG表示)などの特殊効果サポート 3D座標上の2Dスプライトと3Dポリゴンを混在可能なワールド管理 3Dの階層構造を持ったポリゴンモデル表示、およびアニメーション管理 文字フォントテクスチャをもとにメッセージを合成表示 スプライトの表示、移動の管理および衝突判定機能 await命令より細かい単位でのウェイトと処理の負荷検出機能 CPU処理や描画の負荷が変わってもアニメーションの速度を一定に保つ(フォールオフレンダリング) 32bit float精度によるジオメトリ演算 MX形式、DXF形式による3Dモデル表示、MA形式によるアニメーションデータの読み込み 詳しくは、別途ドキュメント「hgimg.txt」を参照してください。

## モジュール

### d3module

d3moduleの紹介
拡張モジュール | d3module | Ver1.66 | 作者:S.Programs | 作者のページ
--- | --- | --- | --- | ---
HSPの標準ランタイムで簡易3D表示を行なうためのモジュールです。 DirectXや3Dアクセラレータに依存せず、多くの環境で同じ実行結果を得ることができるため、 手軽に3D的な表示を利用したい時などに威力を発揮します。 また、d3module と HSPLetを使用すれば、HSPの知識だけで ブラウザ上で動作する3Dアプレットを作成できるのもメリットの1つです。 このモジュールは、S.Programs氏が製作したものをHSP本体に同梱しています。 モジュールについてのご意見や感想などは、onion softwareではなく、 S.Programs氏にフィードバックされるようお願いします。 詳しくは、別途ドキュメント「d3module.txt」を参照してください。

### llmod3

llmod3の紹介
拡張モジュール | llmod3 | Ver3.2 | 作者:tom/芝やん/OpenHSP | 作者のページ
--- | --- | --- | --- | ---
HSP3.0以前に使用されていたllmod(tomさん作)の命令群をHSP3で使用可能にするモジュールです。 拡張オブジェクトからシステムの設定など多くの機能をサポートしています。 llmod3は、common/llmod3フォルダにある以下のファイルから構成されています。 about.as aboutモジュール msgdlg.as dialog(type 0)拡張モジュール unicode.as Unicode関連のモジュール winver.as Version取得モジュール multiopen.as dialog(type 16,17)拡張モジュール(複数のファイル名を取得できるようにしたもの) scrsvr.as スクリーンセーバー関連モジュール obj.as オブジェクト関連モジュール img.as イメージ関連のモジュール treebox.as ツリーボックス作成モジュール progbox.as プログレスボックス作成モジュール trackbox.as トラックボックス作成モジュール udbtn.as アップダウンボックス作成モジュール listview.as リストビュー作成モジュール console.as コンソールウィンドウ作成モジュール dragdrop.as ドラッグ&ドロップモジュール ime.as IME関連のモジュール input.as インプット関連のモジュール misc.as その他 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### hsp3util.as

hsp3util.asの紹介
拡張モジュール | hsp3util.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
HSP3で使用するための便利な命令が定義されています。 文字列を１文字づつ表示したり、修飾を行なうtext命令、emes命令や、 日付や時刻を文字列で取得するgettimestr、getdatestr命令、 BMPファイルのパレットを取り出すbmppalette命令が追加されます。 また、配列と複数行文字列を相互変換するための命令も装備されています。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### hsp261cmp.as

hsp261cmp.asの紹介
拡張モジュール | hsp261cmp.as | Ver3.0 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
HSP2.61互換の命令セットを定義します。 あくまでも、HSP2.61に近い記述が可能になるだけで、一部の命令や動作は 完全な互換にはならないので、ご注意下さい。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### form_decode.as

form_decode.asの紹介
拡張モジュール | form_decode.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
cgiで送信されたURLエンコードを元の文字列に戻すためのform_decode命令が追加されます。 HSPCLを使用してcgiを作成する時に便利なモジュールです。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_getenv.as

mod_getenv.asの紹介
拡張モジュール | mod_getenv.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
環境変数の値を変数に取得するためのgetenv命令が追加されます。 cgiなどで実行時の環境変数を参照したい時に利用することができます。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_img.as

mod_img.asの紹介
拡張モジュール | mod_img.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
画像を読み込むためのimgload命令が追加されます。 BMP,JPEG,GIF,ICO,PNGフォーマットを読み込むことが可能です。 (ただし、packfileからの読み込みはサポートしていないので注意してください) 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### hspmath.as

hspmath.asの紹介
拡張モジュール | hspmath.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
高度な数学計算を行なうための定数やマクロが定義されています。 円周率πなどの定数や、ラジアン・度の相互変換などの関数が追加されます。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_fontdlg.as

mod_fontdlg.asの紹介
拡張モジュール | mod_fontdlg.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
標準でサポートされていない、フォント選択ダイアログを表示するためのモジュールです。 手軽にフォント選択のコモンダイアログを呼び出すことができます。 詳しくは、モジュールのソーススクリプトを参照してください。

### mod_aht.as

mod_aht.asの紹介
拡張モジュール | mod_aht.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
スクリプトのAHT記述の解析及びサポートを行なうためのモジュールです。 Peasエディタや、かんたん入力などの機能を実装するために使用しています。 詳しくは、モジュールのソーススクリプトを参照してください。

### mod_joystick.as

mod_joystick.asの紹介
拡張モジュール | mod_joystick.as | Ver3.2 | 作者:MIA | 作者のページ
--- | --- | --- | --- | ---
Windowsに接続されたジョイスティックの状態を取得するためのモジュールです。 アナログ状態の検出が可能な、joyGetPosEx及びstick命令互換の値を取得可能な、jstick命令が追加されます。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_menu.as

mod_menu.asの紹介
拡張モジュール | mod_menu.as | Ver3.2 | 作者:HSPWiKi | 作者のページ
--- | --- | --- | --- | ---
メニューバーを作成し、選択などの動作をサポートするためのモジュールです。 Windowsがサポートするメニューバーの基本的な機能を利用することができます。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_picfont.as

mod_picfont.asの紹介
拡張モジュール | mod_picfont.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
0〜9、A〜Zなどの基本的な文字フォントを画像で持ち、それを表示するためのモジュールです。 自作の文字フォントを利用する際に使用することができます。 また、既存のフォントを画像に変換するサンプル(mkfont.hsp)も付属しています。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_rss.as

mod_rss.asの紹介
拡張モジュール | mod_rss.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
XMLパーサー(MSXML)を使用してRSSを読み込むためのモジュールです。 ネットワークURLを直接指定してRSSを取得することができます。 詳しくは、モジュールのソーススクリプト及び命令ヘルプを参照してください。

### mod_stbar.as

mod_stbar.asの紹介
拡張モジュール | mod_stbar.as | Ver3.2 | 作者:おにたま | 作者のページ
--- | --- | --- | --- | ---
ステータスバーを作成し設定するためのモジュールです。 詳しくは、モジュールのソーススクリプトを参照してください。

### Win32API定義

Win32API定義の紹介
拡張モジュール | Win32API定義 | Ver3.2 | 作者:sakura/おにたま | 作者のページ
--- | --- | --- | --- | ---
Win32APIの呼び出し定義ファイルです。 このファイルを#include命令により取り込むことで、システム定義の関数を呼び出すことができるようになります。 advapi32.as advapi32.dll定義 comctl32.as comctl32.dll定義 comdlg32.as comdlg32.dll定義 gdi32.as gdi32.dll定義 kernel32.as kernel32.dll定義 shell32.as shell32.dll定義 user32.as user32.dll定義 winmm.as winmm.dll定義 詳しくは、モジュールのソーススクリプト及びWin32APIヘルプを参照してください。

## その他の拡張プラグイン

HSP拡張プラグインは、仕様が公開されていて、ユーザーの方たちが制作した 多くのプラグインが存在します。 HSPの可能性を大きく広げるプラグインが、HSPオフィシャルホームページでも多数紹介されています。

拡張プラグイン・ツールの紹介（HSPTV!）

  http://hsp.tv/make/tool.html

## 拡張プラグインの仕様

HSP拡張プラグインを作成するための詳細な仕様については、HSP開発キット(HSPSDK)を別途ダウンロードして マニュアルを参照してください。

HSPダウンロードリスト（HSPTV!）

  http://hsp.tv/make/downlist.html