hgimg3が出してるエラーだからonerrorでも捕まえられないし
エラーを無視する設定もないのでエラーを止める方法は分かりませんが
エラーが出ないように読み込んだファイルを編集してaddxfileする事は可能
テキストのxファイルならnoteload読み込んで
TextureFilename {
"ファイル名";
}
を見つけてexistでテクチャファイルがあるか確かめて無かったら
この部分を削除
処理が終わったらmemfileに読み込んだバッファ割り当ててaddxfile
サンプル
#include "hgimg3.as"
hgini
setpos HGOBJ_CAMERA, 0, -50, 50
screen 1,200,150:width ,,0,0
notesel xfil
noteload dir_exe+"\\sample\\hgimg3\\sb_bg1.x"
txidx1=0
repeat
txidx = instr(xfil,txidx1,"TextureFilename")
if txidx<0 {break}
txidx1+txidx
temp=instr(xfil,txidx1,">") //テクスチャファイル名とは違うTextureFilename を回避
if temp<0{
fnidx = instr(xfil,txidx1,"\"")+txidx1+1
fnsiz = instr(xfil,fnidx,"\"")
exist strmid(xfil,fnidx,fnsiz) //ファイル検索
mes strmid(xfil,fnidx,fnsiz)+" "+strsize
if strsize<0 or 1 {//テストだから or 1 でテクスチャファイルが見つかってもファイル指定部分削除
txidx2 = instr(xfil,txidx1,"}")+txidx1+1 //「extureFilename{〜}」のサイズ
memcpy xfil,xfil,strlen(xfil)-txidx2+1,txidx1,txidx2 //上のサイズ+1(文字列終端0の分)
}
txidx1=txidx2
}else{
txidx1+temp
}
await 0 ;ちょっとエラーチェックを省いてるので無限ループになった時の為に一応
loop
gsel 0,1
memfile xfil
addxfile m_xmodel,"MEM:a.x"
regobj b_obj, m_xmodel
*main
stick key,$3ff
hgdraw
hgsync 15
if key&128 : goto *owari
if key&2 : addpos HGOBJ_CAMERA,,,-1
if key&8 : addpos HGOBJ_CAMERA,,,1
if key&4 : addpos HGOBJ_CAMERA, 1
if key&1 : addpos HGOBJ_CAMERA, -1
goto *main
*owari
hgbye
end
後、DirectX自体には、命令一つでxモデルを読み込む
addxfileみたいなのは無いと思ったので、ビュワー側が
テクスチャファイル無かったら無視してるだけでしょう