mref

特殊なメモリを変数に割り当てる

mref p1,p2

p1=変数名 : 割り当てられる変数名
p2=0~(0) : リソースID (割り当てるメモリ内容)

解説

p1で指定された変数に、p2で指定したメモリ内容を割り当てます。

     値  : 対応するリソース
 --------------------------------------------------
   0~ 7 : ローカルパラメータ#1~8(数値)
    64   : システム変数stat
    65   : システム変数refstr
    66   : ウィンドウ内画像データ(VRAM)
    67   : 現在のウィンドウ情報(BMSCR構造体)
    68   : HSPのシステム情報(HSPCTX構造体)
    69   : パレット情報
    96~ : ウィンドウID0~の情報(BMSCR構造体)

リソースID64,65のシステム変数は、たとえば「mref i,64」とした場合、変数
aがシステム変数 statと同等になり、値を代入することができるようになりま
す。これにより、ユーザー定義命令内の計算結果などをシステム変数に反映し
て、呼び出し元に返すことができます。

リソース66のウインドウ内画像データ(VRAMデータ)は、表示されている画像を
内容とする配列変数になります。
これにより、 poke,peek命令などで画像データに直接アクセスが可能になりま
す。

リソース67以降も同様に HSPの内部データに直接アクセスできるようにするも
のですが、通常は使う必要はありません。 DLLへ渡すためのパラメータ準備の
ためなど、ごく限られた用途のために用意されているもので、ほとんどの人は
使うことはないはずです。

ローカルパラメータは、ユーザー定義命令(#deffunc)で新規に追加された命令
のパラメータ内容を取得するためのものです。
パラメータのタイプ(数値、変数、文字列)に従って取得することが可能です。
ローカルパラメータ取得は、HSP2.xまでのパラメーター取得方法との互換のた
めに用意されています。(一部のリソースタイプには互換性がありません。)
HSP3.0以降では、ユーザー定義命令(#deffunc)のエイリアス機能を使用するこ
とを推奨しています。

関連項目

dupクローン変数を作成
dupptrポインタからクローン変数を作成
#deffunc新規命令を登録する

サンプル逆引き (1)

libptr.hsp

情報

バージョン3.0
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.0標準命令
タイプ内蔵命令
グループ特殊代入命令
hs ファイルhsphelp\i_mem.hs