Squirrel 関連

Dofile() が使えない件

似たような処理をまとめることができなかったんだが、理由が判明。 vm 初期化時に sq_open() -> sq_setprintfunc() -> sq_pushroottable() -> sqstd_register_iolob() とすすめないといけない。

stack でやるという構造だとそうなるわなー。 stack はわかりにくいよ。

古いバージョンでないと sq_wakeupvm() がこける件

  • 古いバージョンの引数は下記.
    • HRESULT sq_wakeupvm((HSQUIRRELVM v, SQBool resumedret, SQBool retval, SQBool raiseerror);
  • 新しい方は下記。
    • HRESULT sq_wakeupvm(HSQUIRRELVM v, SQBool resumedret, SQBool retval,SQBool raiseerror, SQBool throwerror);

増えた引数を、常識的に考えて true をわたしてたんだが、 false にしたら通るんでやんの。これはこれで根本的な解決が出来てない気がするが、まぁ... よしとしよう。

script 向け debug mode

毎度 flash を書くのは耐久的にあまりよろしくないので dummy reader をつくってちゃんと動くか確認するようにした。とりあえず debug build のみ対象にしたけど、release build 含めてもいいよなーとか思うんだがどうですかね。