irrlichtのクラス・列挙型をエクスポート
引き続き、前から順番にエクスポートしていくがひとつsqratの定数のエクスポート様式に合わせてスクリプトを変更した。
irr::video::EDT_SOFTWARE
をとりあえず
irr.video.EDT_SOFTWARE
としていたが都合により
irr.EDT.SOFTWARE
とすることにした。
現状のbind関数
void bindIrr(HSQUIRRELVM vm) { // enum Sqrat::Enumeration EDT(vm); EDT .Const(_SC("OPENGL"), irr::video::EDT_OPENGL) .Const(_SC("SOFTWARE"), irr::video::EDT_SOFTWARE) ; Sqrat::ConstTable(vm).Enum(_SC("EDT"), EDT); // irr Sqrat::Table irr(vm); irr.Func(_SC("createDevice"), &irr::createDevice); // core irr.Bind(_SC("dimension2d"), Sqrat::Class<irr::core::dimension2d<irr::u32> >(vm)); // video Sqrat::Table video(vm); irr.Bind(_SC("video"), video); // scene Sqrat::Table scene(vm); irr.Bind(_SC("scene"), scene); Sqrat::RootTable(vm).Bind(_SC("irr"), irr); }
実行
> debug\sqirr.exe 01.HelloWorld.nut
順調なエラーメッセージ無しで死亡。
デバッガで追ってみることにする。