hspdxfix
Version 0.19c
Date 2007/06/19
Author Sinagawa(original by onitama)
目次 (2 グループ / 75 ページ)
命令概要
es_exboxf
Direct3Dによる矩形描画
(p1,p2)-(p3,p4)の矩形範囲をp5の色で塗りつぶします。 p5は16進数6桁でRGB値を指定します。
p3,p4を省略するとgmode命令のサイズで塗りつぶしを行い、 p5を省略するとcolor命令で指定した色を使用します。
拡張画面制御命令
es_adir
スプライト移動方向設定
スプライトを自動的に移動させるための設定をします。
p1でスプライトNo.、p2で方向を指定します。 方向は、es_iniで指定した数値までで指定します。0が真下となり、反時計回りに増加していきます。
p3で移動スピードを%で指定します。
es_aim
スプライト参照座標設定
es_aim命令は、 es_adir命令と同じく指定した方向にスプライトを移動させるためのものです。
es_aim命令では、方向の替わりに移動する目標となるX,Y座標を指定します。スプライトは、現在の座標から、目標となる座標への方向を計算し移動を開始します。
es_ang
角度取得
システム変数statに(p1,p2)から見た(p3,p4)の方向が返ります。
es_aimを使っても方向を得ることはできますが、この命令を使えばスプライトを使わずに方向を得ることができます。
es_apos
スプライト移動設定
スプライトを自動的に移動させるための設定をします。
p1でスプライトNo.、p2,p3でX,Y方向の増分を指定します。
p4で移動スピードを%で指定します。p4を省略するか、100を指定した場合は、100%のスピードとなり、1フレームに(p2,p3)で指定した増分だけ移動し続けます。
es_area
スプライト有効エリア設定
スプライトの有効エリアを設定します。
スプライト座標が(p1,p2)-(p3,p4)の範囲内にないものは、 自動的に削除されます。
スプライトの表示範囲が設定されると(es_window命令)自動的に、 スプライト有効エリアも再設定されます。
es_bfcalc
ブレンドファクター算出(マクロ)
それぞれに指定するブレンドファクターをプラグインに渡す形に変換するためのマクロで、主にes_excopy命令で使うためのものです。指定する値は0~10もしくはヘッダファイルで定義されている、以下の定数名を使用します。
es_blink
スプライト点滅設定
点滅フラグ=1 : 点滅無し、カウントが0になったらスプライトを消滅させる
点滅フラグ=2 : 点滅あり、カウントが0になったら点滅をやめる
点滅フラグ=3 : 点滅あり、カウントが0になったらスプライトを消滅させる
スプライトの点滅を設定します。
es_bound
弾みやすさ設定
es_flag命令で自由落下移動をONにしたときに、 画面下部(または上部)で跳ね返る際の弾みやすさを設定します。この値が大きいほど跳ね返り時に勢いが失われなくなります。
p3は画面の上下端、あるいは左右端に当たった際に跳ね返りを行うか行わないかを設定できます。
es_boxf
矩形塗りつぶし
(p1,p2)-(p3,p4)の矩形範囲を現在選択されている色で塗りつぶします。
色の選択は、color命令で行ないます。
es_bufcheck
バッファロストチェック(モジュール)
フルスクリーンモードで動作中にAlt+Tabが押されるなどして、 別ウィンドウにフォーカスが移るとバッファが消失することがあります。
es_buffer
VRAMイメージ転送
属性スイッチ=0 : オフスクリーンバッファをVRAMに取る、
失敗した場合は、メインメモリに取る
属性スイッチ=1 : オフスクリーンバッファをメインメモリに取る
属性スイッチ=2 : オフスクリーンバッファをVRAMに取る
es_buffer_np
VRAMイメージ転送(パレット読み込みなし)
属性スイッチ=0 : オフスクリーンバッファをVRAMに取る、
失敗した場合は、メインメモリに取る
属性スイッチ=1 : オフスクリーンバッファをメインメモリに取る
属性スイッチ=2 : オフスクリーンバッファをVRAMに取る
es_buffer_pm
VRAMイメージ転送(近似色変換あり)
属性スイッチ=0 : オフスクリーンバッファをVRAMに取る、
失敗した場合は、メインメモリに取る
属性スイッチ=1 : オフスクリーンバッファをメインメモリに取る
属性スイッチ=2 : オフスクリーンバッファをVRAMに取る
es_bye
システム解放
HSPDXFIX.DLLシステムの切り離しをします。
画面モードをウインドゥモードに戻し、確保されていたメモリをすべて解放します。
これは、クリーンアップ関数としてHSP終了時に自動的に呼び出されます。
es_caps
DirectXシステム情報取得
DirectXのドライバがどのような機能を持っているかを調べて、 結果をp1で指定する変数に代入します。
p2の情報IDと、p3の情報ビットについての詳細は、hspdx.txtのDDCAPS一覧を参照してください。
es_check
衝突判定取得
スプライト同士の衝突判定を行ないます。
p2で指定されたスプライトNo.と衝突している(重なっている) スプライトを検索して、p1で指定した変数に結果を代入します。
p3で衝突判定の対象となるtype値を指定することができます。
es_chr
chr値設定
p1で指定したスプライトのキャラクタNo.を変更します。
es_clear
複数スプライト削除
p1で指定したスプライトNo. 以降のスプライトが削除され未登録になります。
p2で削除されるスプライトの数を指定することができます。
p1とp2の指定を省略した場合は、すべてのスプライトが削除されます。
es_clip
クリッピング範囲設定
描画命令のクリッピング範囲を設定します。
クリッピング範囲が反映される命令は、es_copy、es_zoom、es_excopyです。 なお、画面外に範囲を指定することはできません。
es_cls
画面クリア
この命令は、画面全体を指定した色でクリアします。
p1,p2,p3でクリアする色をRGBコードで指定可能です。
パレットモードでは、 指定したRGBに最も近い色を持つパレットでクリアされます。
p1,p2,p3の指定を省略すると、黒でクリアします。
es_copy
画像コピー
es_copy命令では、pos命令で指定した座標にgmodeで指定したモードで、 p1で指定したIDの(p2,p3)の座標から(p4,p5)のサイズの画像がコピーされます。
HSPのcopy命令とは若干違いがありますが、 ほぼ同じ記述でコピーが可能です。
es_cos
三角関数
変数p1に、角度p2のコサインを代入します。
p2の範囲はes_iniで設定した値までです。
得られる値は、小数部10ビットの固定小数です。つまり、本来得られるべき値を1024倍した整数が返ってきます。
es_cursor
マウスカーソル表示
マウスカーソルの表示を制御します。
通常、フルスクリーンモードではマウスカーソルは表示されませんが、この命令を実行することで必要に応じてカーソルの表示/非表示を切り替えることができます。
es_d3dopt
Direct3D描画オプション設定
p1=0 : クランプアドレッシングに設定する
p1=1 : ラップアドレッシングに設定する
p1=2 : ミラーアドレッシングに設定する
p2=0 : テクスチャの補間を行わない
p2=1 : テクスチャの補間を行う
p3=0 : パースペクティブ補正を無効にする
es_dialog
ダイアログ表示(マクロ)
フルスクリーンモードでダイアログを表示するためのマクロです。
このマクロ実行後はマウスカーソルを消去しますので、ウィンドウモードで実行しているときなどにはes_cursor命令で再度表示する必要があります。
パラメータの詳細についてはdialog標準命令を参照してください。
es_dist
2点間距離算出
(p2,p3)から(p4,p5)までの距離を求め、変数p1に代入します。計算結果は小数部8bitの固定小数です。
es_draw
スプライト描画
p3=0 : 通常の動作を行う
bit1 : スプライトを移動させない
bit2 : アニメーションを行わない
p4=0 : スプライトNo.順に描画する
p4=1 : 優先順位順に描画する
登録されているスプライトを画面に描画します。
es_effect
スプライト特殊効果設定
スプライトをDirect3D描画する際のエフェクトを設定します。省略されたパラメータは前回実行時の設定を保持します。
回転角の有効範囲はes_excopy命令と違って es_ini命令での設定に依存しますので注意してください。
es_effect2
スプライト特殊効果設定(マクロ)
es_effect 命令のパラメータをまとめてスクリプトを見やすくするためのマクロです。
パラメータの代入の仕方は次のようになっています。
es_excopy
Direct3D描画による画像コピー
オフスクリーンバッファIDp1の (p2,p3)から(p4,p5)のサイズの画像を(p6,p7)の大きさで、pos命令で指定した座標にコピーします。 (p4,p5)と(p6,p7)に異なる値を指定することで、拡大縮小コピーを行えます。
es_excopy2
Direct3D描画による画像コピー(マクロ)
es_excopy命令のパラメータをまとめてスクリプトを見やすくするためのマクロです。
パラメータの代入の仕方は次のようになっています。
es_exnew
新規スプライト取得
この命令は、スプライトNo.の中で使われていないNo.を検索します。
p2~p3で指定したNo.の間で空きのあるNo.を、p1で指定した変数に代入します。
空きがない場合は、-1が代入されます。
p4には検索するスプライトNo.の増分を指定します。
es_expat
キャラクタ画像定義(マクロ)
スプライトのキャラクタパターンを定義します。es_pat命令に、登録する画像のバッファNo.を指定できるようにしたものです。
マクロのため、es_pat命令と違いパラメータを省略できませんので注意してください。
es_exput
Direct3Dによるキャラクタ画面表示
スプライト用キャラクタパターンとして登録されている画像を表示します。
es_put命令のDirect3D対応版です。
この命令を実行するには、 es_screen命令でDirect3Dを使用するように指定する必要があります。
es_exput2
D3Dによるキャラクタ画面表示(マクロ)
es_exput命令のパラメータをまとめたマクロです。
パラメータの代入の仕方は次のようになっています。
es_fill
矩形塗りつぶし
es_boxf命令と同じく指定した矩形範囲を塗りつぶすための命令です。
異なる点は、es_fill命令では、塗りつぶす色をパレット番号あるいはRGB値で指定することです。
塗りつぶす大きさ(サイズ)は、gmode命令で指定したサイズになります。
es_find
スプライト検索
登録されているスプライトの中で指定したtype値を持つスプライトNo. を検索します。
p2のtype値には、複数のtypeを同時に指定することができます。
たとえば、type1とtype4を対象にする場合は、1+4で5を指定します。
es_flag
flag値設定
p1で指定したスプライトのflag値を変更します。
flag値は、スプライトが有効になっている場合は、 $100(256)が自動的に設定されています。通常は特にいじる必要はありません。
es_fmes
フォント指定文字列表示
カレントポジション(pos命令で指定されたX,Y座標)から、指定した文字列を表示します。
文字の色は、現在選択されている色(color命令で指定)になり、フォントはfont命令で選択されているものが使用されます。
p1には、描画を行うバッファNo.を指定します。
es_fmesbuf
バッファへのフォント指定文字列表示
p1で指定したIDのバッファのカレントポジション(pos命令で指定されたX,Y座標)へ、指定した文字列を表示します。
文字の色は、現在選択されている色(color命令で指定)になり、フォントはfont命令で選択されているものが使用されます。
es_gdi
GDI描画モード設定
描画モード=0 : GDI描画を終了する
描画モード=1 : GDI描画を開始する
この命令を実行して、 GDI描画を開始した時点でHSPの標準描画命令を使ってDirectXのスクリーンに点や線などを描画できるようになります。
es_get
スプライト情報取得
p1で指定した変数名に、p2のスプライトNo.の情報を代入します。
情報の種類は、p3のinfo numberで指定します。
[]内はヘッダファイルで定義されている定数です。
es_getbuf
VRAMイメージ読み出し
DirectXが管理する画像バッファの内容を、HSPのウインドゥに読み出しコピーします。
読み出しは、現在gsel命令で選択されているHSPのウインドゥIDに対して行なわれます。
p1で、DirectXのバッファIDを指定します。
es_getfps
FPS取得
1秒間にes_sync命令が実行された回数を、p1で指定した変数に代入します。
es_gravity
落下加速度設定
es_flag命令で自由落下移動をONにしたときの加速度を設定します。
p2、p3は1フレームごとに加算される移動量で、256で1ドットとなります。
p1に-1を指定すると、デフォルト値を設定することができます。
es_ini
システムの初期化
HSPDXFIX.DLLシステムの初期化を行ないます。
パラメータを省略すると、スプライトは512個まで、 キャラクタ定義数は1024個までを最大としてスプライトを初期化します。es_ini命令は何度でも実行することができるので、スプライトをすべてクリアしたい時などにも使用可能です。
es_kill
スプライト削除
p1で指定したスプライトNo.を削除します。
es_link
アニメーション設定
キャラクタのループアニメーションを設定するための命令です。
p1で指定したキャラクタNo.が、指定されたフレームだけ表示した後に、 p2で指定したキャラクタNo.に戻るように設定を行ないます。
es_mes
文字列表示
カレントポジション(pos命令で指定されたX,Y座標)から、指定した文字列を表示します。
es_fmes命令と似ていますが、 文字の色やフォントが選べないかわりに、こちらの方が高速に処理されます。
文字の色は、常に白(RGB=255)となり、標準フォントが使用されます。
es_mesbuf
バッファへの文字列表示
p1で指定したIDのバッファのカレントポジション(pos命令で指定されたX,Y座標)へ、指定した文字列を表示します。
es_fmes命令と似ていますが、文字の色やフォントが選べないかわりに、こちらの方が高速に処理されます。
文字の色は、常に白(RGB=255)となり、標準フォントが使用されます。
es_move
スプライト移動
p4=0 : アニメーションを行う
p4=1 : アニメーションを行わない
スプライトの移動を行います。 es_draw命令からスプライトの描画を抜いたもので、主に処理落ち時のフレームスキップに用います。
es_new
新規スプライト取得
この命令は、スプライトNo.の中で使われていないNo.を検索します。
p2で指定したNo.以降で空きのあるNo.を、p1で指定した変数に代入します。空きがない場合は、-1が代入されます。
この命令は、以前のバージョンとの互換性のために残された命令です。
es_offset
オフセット座標設定
すべてのスプライトの表示を、オフセット値で指定した数だけずらして表示します。
この命令で設定したオフセット値は、 es_draw命令で描画を行なった時に反映されます。
es_palcopy
パレット転送
現在gsel命令で選択されているHSP側のバッファのパレットをDirectX側のパレットに転送します。
es_palfade
パレットフェード
p1で画像の明るさを設定します。 p1が0の時が通常(設定パレットのまま)です。
p1がマイナス値になるほど画像は暗くなり、プラス値になるほど明るくなります。p1が-256で完全な黒になり、256で完全な白になります。
p2でフェードのスピードを指定することができます。
es_palset
パレット変更
パレットの色を設定します。p1で指定したパレット番号に、p2,p3,p4がそれぞれR,G,Bとなる色を設定します。
es_palset命令による設定変更は、命令実行時すぐには反映されません。
es_pat
キャラクタ画像定義
スプライトのキャラクタパターンを定義します。
p1で指定したキャラクタNo.に、 (p2,p3)の座標からes_sizeで設定した大きさのキャラクタが登録されます。
ここで対象となる画像は、直前にes_buffer命令でVRAMに転送された画像データとなります。
es_pos
スプライト座標設定
スプライトの座標を変更します。
p1でスプライトNo.を指定して、(p2,p3)でX,Y座標を設定します。
es_posは、設定済みのスプライトの座標だけを変更する命令です。
es_put
キャラクタ画面表示
スプライト用のキャラクタパターンとして登録されているデータを、指定した座標に表示します。
この命令は、スプライトとは関係なく画面にキャラクタを転送する命令です。
es_rgbcalc
RGB値算出(マクロ)
RGB値を一つの値にまとめるためのマクロです。
パラメータのチェックは行わないため、範囲外の値を代入するとおかしな値になりますので注意してください。
es_screen
画面モードの変更
画面の解像度を変更し、DirectXが使用可能な状態にします。
(p1,p2)で解像度を指定します。
p3はカラーモードを指定します。 パレットモードを使用する場合は8、ハイカラー以上を使用する場合は16,24,32のいずれかを指定します。
es_set
スプライト設定
スプライトを登録します。
p1は、スプライトNo.(0~511)、(p2,p3)は画面上でのスプライトの座標になります。
この座標を左上として、p4で指定したキャラクタNo.が表示されます。
スプライト座標は、-32767~32767までの範囲が設定可能です。
es_setp
スプライトパラメータ設定
スプライトの情報を直接変更します。p2についてはes_getの説明を参照してください。
es_showdia
GDIウィンドウ表示
フルスクリーンモードでダイアログを表示するための準備をします。
この命令を実行すると、 GDIがウィンドウを描画できるサーフェスが表示面にくるようにフリッピングを行い、以後dialog標準命令が画面に表示できるようになります。
es_sin
三角関数
変数p1に、角度p2のサインを代入します。
p2の範囲はes_iniで設定した値までです。
得られる値は、小数部10ビットの固定小数です。つまり、本来得られるべき値を1024倍した整数が返ってきます。
es_size
キャラクタサイズ指定
スプライトのキャラクタパターンを定義する際の、サイズを指定します。
(p1,p2)がキャラクタのX,Yサイズになります。
p3は当たり判定を行なう際のヒットチェック領域が、 何%になるかを指定します。100を指定すると、(p1,p2)で指定したサイズいっぱいにヒットチェックを行ないます。
es_sync
画面更新とウェイト
p2=0 : VSyncを待つ
p2=1 : VSyncを待たずにフリップする
p2=2 : VSyncを待たずにBltで裏画面の内容を表画面にコピーする
描画された画面を更新するとともに、 以前のes_sync命令実行時から経過した時間を測定して、システム変数statに返します。
es_timer
タイマー取得
Windowsを起動してからの経過時間をミリ秒単位で、 p1に指定した変数に代入します。精度は環境に依存します。
p2でタイマーの取得方法を選択できます。 0がtimeGetTime、1がGetTickCountでタイマーを取得します。
es_type
type値設定
p1で指定したスプライトのtype値を変更します。
type値についての詳細は、 hspdx.txtの「type値の設定について」を参照してください。
es_window
スプライト表示エリア設定
この命令により、スプライトを画面内の限られた範囲内にのみ表示することが可能です。指定した範囲内がスプライトの表示エリアになります。
スプライト以外の描画命令には、この範囲は適用されません。
es_xfer
バッファ間画像コピー
es_copy命令と同じく画像イメージのコピーを行ないますが、 コピー先を画面上だけではなく、別なバッファなども指定することができます。
p1で指定したバッファIDに、p2で指定したバッファIDのイメージを転送します。
es_zoom
拡大縮小画像コピー
es_zoom命令では、pos命令で指定した座標にgmodeで指定したモードで、 p1で指定したIDの(p2,p3)の座標から(p4,p5)のサイズの画像がコピーされます。
ただし、コピー先のサイズは(p6,p7)で指定したサイズが使われます。