のようなスクリプトを組み、Ctrl+F9で実行ファイルを自動生成します。
#include "hgimg3.as" hgini addbox model,10,10 regobj object,model repeat hgdraw hgsync 16 loop
そしてできたhsptmp.exeを起動します。
同じフォルダ内にhgimg3.dllがないのに問題なく動作します。なぜでしょうか。
…という質問を書きながら調べていたら、hgimg3.asのソースの先頭に
#runtime "hsp3hg"
という記述を見つけました、次いで#runtimeというプリプロセッサを調べると、 "実行に使用されるランタイムを設定する。" …つまりhgimgの機能が標準で使えるランタイムを使用しているわけですね。 HSPフォルダを調べると他にも"hsplet3"や"hsp3c"などのランタイムと思われるものを見つけました。 そこで質問なのですが、このランタムを自作することはできないでしょうか。 …という質問を書きながら調べていたら、「自作拡張ランタイム」というものがあることを知りました。 そしてこの製作方法は、HSP3.Xでは公式で公開されていないようですね。 最初の実験をした理由というのが、 "DLLをSystem32フォルダに入れれば、プログラムと同じフォルダに置かなくても良いのではないか" と考えたからです。そこで、hgimgではなくeasy3dを使って同じ実験をしてみました。
実行ファイルを生成するとやはり、単体では動きません。
そこで、ウィンドウズのSystem32フォルダに"e3dhsp3.dll"を入れてみると問題なく実行できました。
以上、今回"質問しようとしていたこと"でした。
指摘などあれば 教えてくださると幸いです。