■命令 rnd → rnd()という書式の関数になりました gettime → gettime()という書式の関数になりました peek → peek()という書式の関数になりました wpeek → wpeek()という書式の関数になりました notemax → notemaxというシステム変数(マクロ)になりました strlen → strlen()という書式の関数になりました sysinfo → sysinfo()という書式の関数になりました getpath → getpath()という書式の関数になりました strmid → strmid()という書式の関数になりました instr → instr()という書式の関数になりました ginfo → ginfo()という書式の関数になりました sndload → mmload命令という名称に変更されました snd → mmplay命令という名称に変更されました sndoff → mmstop命令という名称に変更されました skiperr → onerror命令による割り込みをお使いください objsend → 代替としてsendmsg命令が用意されています palfade → 代替命令は用意されていません palcopy → 代替命令は用意されていません getpal → palcolorと同機能になります text → "hsp3util.as"モジュールにてtext,emes命令を提供しています ■システム変数 csrx → ginfo_cxマクロに名称変更 csry → ginfo_cyマクロに名称変更 paluse → ginfo_paluseマクロに名称変更 dispx → ginfo_dispxマクロに名称変更 dispy → ginfo_dispyマクロに名称変更 rval → ginfo_rマクロに名称変更 gval → ginfo_gマクロに名称変更 bval → ginfo_bマクロに名称変更 winx → ginfo_winxマクロに名称変更 winy → ginfo_winyマクロに名称変更 cmdline → dir_cmdlineマクロに名称変更 windir → dir_winマクロに名称変更 curdir → dir_curマクロに名称変更 exedir → dir_exeマクロに名称変更 sysdir → dir_sysマクロに名称変更 prmx → ginfo命令の仕様変更により必要なくなりました prmy → ginfo命令の仕様変更により必要なくなりました ■loadlib関連命令 loadlib関連命令は、#uselib、#funcを利用したDLL呼び出しか、または callfunc関数による外部呼び出しに引き継がれます。 以下の命令は、HSP3ではサポートされていません。 (ll_poke、ll_peek等は、「dupptr命令+poke/peek命令」で代替が可能です。) ll_ret ll_retset ll_getptr ll_peek ll_peek1 ll_peek2 ll_peek4 ll_poke ll_callfunc ll_n ll_poke1 ll_poke2 ll_poke4 ll_libfree ll_callfnv ll_call ll_free ll_s ll_p ll_str ll_dll ll_func ll_type ll_z ll_libload ll_getproc ll_bin ■llmod関連命令 llmodに含まれる命令、マクロ等は継承されません。 同等の動作を行なうモジュールが「S Software」のページにて公開されています。 http://s-software.sakura.ne.jp/
・BMSCR構造体は、flagからcolorまでのフィールドのみ参照できます。 ・PVal構造体のflagフィールド(型タイプ値)やlenフィールド(配列情報)をDLL側で書き換えることはできません。 ・PVal構造体から文字列型の配列変数にアクセスすることはできません。これ以外の点においては、HSP ver2.61と同等の情報が受け渡されます。 HSP2.61互換のプラグインでは、以下のような制限が発生しますので注意してください。 また、プラグインの互換機能はすべてのHSP2.xプラグインの動作を保障するものではありません。
・プラグインから変数に値を代入する場合、バッファの自動拡張は行なわれません。 (バッファオーバーフローが発生しないように注意してください)フルセットのアーカイブには、ver2.61同梱プラグインのうち、hspda、hspdb、hspdx、 hspext、hspsock、hgimg(x)及びヘッダファイルが含まれています。 これらのプラグインは、ver2.61に同梱されているものとまったく同一のDLL ファイルで、3.0のプラグイン互換機能により動作しています。 (HSP同梱でないユーザー作成プラグインの互換性については、それぞれの仕様により異なります。)
#include "hsp261cmp.as" ;ver2.61互換を有効にするこれは、commonフォルダに存在する「hsp261cmp.as」で定義されている ver2.61互換マクロにより、3.0上で動作するよう適切な命令に変換するものです。 ただし、現状のver2.61互換マクロは、β版でありすべての記述をサポートして いるわけではありません。また、計算式の優先順位変更も行なわれません。 完全ではないものの、ある程度までのスクリプトであれば、そのまま3.0で 動作させることが可能です。