HSP3のモジュール集です。 下にいくほど最近作ったモジュールです。 ご自由に組み込んでもらってかまいません。問題があるモジュールがあったら掲示板にお願いします。 但し、注意書きが書いてあるモジュールについては、注意書きを読んだ上で同意後に使用して下さい。 もしこちらで公開しているモジュールを使用したら、メールとかでこっそり知らせて下さるととても嬉しいのです。
HSP標準の色選択ダイアログでは、選択した色の保存が出来ないので作りました。 #defineのcrgbは月影ともさんのをそのまま利用させて頂いています。
MSNメッセンジャーのVersion7ぐらいから対応した曲名の表示で、メッセンジャーに向けて曲名を送ることができます。
RedHouseさんが作ったWinEx32.DLLをHSPで使用するモジュールです。 ファイルに含まれているWinEx32.hをHSP用に直してみました。 WinEx32.DLLは拡張子を調べることができます。 画像ファイル等の間違った拡張子のファイルの読み込みを防ぐことができます。 他のHSP以外に作られたDLLをHSPで使用するときの例にも使ってみるといいかもしれないです。
COMを使用するとUPXが何故か使用できなくなったので、作ってみました。 このモジュールを使用することでフォルダを選択するダイアログを表示させることが出来ます。 p2に指定する値は各自調べてください。 この指定する値で選べるフォルダが変わります。初期フォルダは難しかったので対応していません。
画像は使えませんが、文字のみclipget,clipsetが使用できます。hspextの命令と同じ使い方で使用できます。 このモジュールはみなりりさんが製作した"Clipboard Operator ver2.0β"を参考にしています。 また、みなりりさんのHPには画像も使用できるクリップボード操作モジュールもあります。 この"Clipboard Operator ver2.0β"の著作権はみなりりさんにあります。
tomさんが製作したWindowsのバージョン情報を調べる"winver"のHSP3用です。 "winver.as"の著作権はtomさんにあります。
tomさんが製作したマウス・キーボードを操作する"input"のHSP3用です。 "input.as"の著作権はtomさんにあります。 ドラッグなど、いくつかマクロ的な命令を増やしています。SendInputバージョンはサンプルにあります。
System.IO.Directory クラスの CreateDirectory メソッドもどきです。 フォルダがそこに存在しててもエラーが出ません。勝手に指定した階層までフォルダを作ります。 ちゃんと動作しますが、もしかしたら危険な方法かもしれないです。 多分大丈夫だと思いますが、危険と思った方はお手数ですが掲示板に書いておいてください。
アイコンにD&Dしたファイルを改行で分けたリストにして取得します。 9X系のショートパスからNT系のロングパスまで対応しています。 notesel系の命令群のnotemax、notegetを関数化したような自作関数も含まれています。
picload等で実際に読み込む前に画像の大きさや、実際の拡張子を調べることが出来ます。 ファイル形式はBMP,JPG,GIF,PNG,ICOに対応しています。 TIFFはファイル構造がよく分からなかったので対応していません。
MP3ファイルを調べるモジュールです。
MP3のファイルのヘッダ・タグを調べたくて作ってみました。
ビットレート、サンプリングレートはもちろん。ID3v1タグとID3v2タグの情報まで読み出します。
ID3v2タグはフレーム名を誤爆する可能性があります。
v2から修正されました。
WindowsAPIを使用してINIファイルを扱えるようになります。
psetを使用してHSPのline命令を再現するモジュール。役に立たないデス。
HSP3で基本的な2D画像処理を行い、画像効果を加えるフルカラー画面専用のモジュールです。 フィルタ処理・コントラスト変換・HSV変換・HLS変換・グレースケール変換・RGB変換・加算・減算・乗算・除算・半透明合成・アルファチャンネル利用の半透明合成・色数計算・ヒストグラム作成・メディアンフィルタ処理・メディアンカット・パレット減色・kuwaharaフィルタ・ピクセレート・誤差拡散法・組織ディザ法・細線化処理に対応しています。
gtt_time()で、モジュール起動時からの時間を返します。 このモジュールは、HSP標準のgettime関数を利用しています、 フリーのAlquadeLiteとMezegisはgettimeの時間の変更に対応していないので、 簡易的な加速機系の不正防止に利用してみるといいかもしれません。
qpc_time()で、モジュール起動時からの時間を返します。 普段時間を数える時はkernel32.dllのGetTickCount、winmm.dllのtimeGetTime、等を利用しますが、 このモジュールではQueryPerformanceCounterを利用して、1ms未満の値まで測ることが出来ます。 といっても、HSPで使う分には誤差などがありそうですが、もっと細かな値まで表示したいという方は使ってみてください。
HSP3標準命令のgzoomを完全再現。
ipmpackより簡単に画像処理を行うモジュールです。 ガンマ・コントラスト・明度・彩度に対応しています。
通信しているパケットを見るモジュールです。調べたいアドレスの設定は対応していません。 タイマー関数を使っているので、すでに使用しているプログラムに利用する時は、どちらかにOnTimerを統一するように改造して利用してください。 Windows2000以上の環境で動作します。
hspsock.dllっぽい動きをするモジュールです。モジュールなのでhspsock.dllは必要ありません。 sockgetc・sockputc以外の全ての命令を使用できます。 追加命令で33以上のソケットID番号も扱えるようになります。 sockopen等にノンブロッキングオプション等が追加されています。 現在ノンブロッキングからブロッキングに変更することや、 ノンブロッキングでsockeget(recv)連発がマズいということが分かり、公開中止中です。 コメントアウトだけしてあるので、興味ある方は持っていってください。 注意・著作権フリーですが、バグがあるのでこのままの使用は避けて下さい。
SetLayeredWindowAttributesを利用した半透明・指定色透過ウィンドウ。 また、UpdateLayeredWindowを利用したアルファブレンドウィンドウを、HSP上で簡単に利用することが出来るようになるモジュールです。 Windows2000以上の環境で動作します。
SMF(MIDI(*.mid))を再生するモジュールです。 MCIを利用していないので、パックファイルに含まれたmidも再生できるかもしれません。