今後の更新予定(あくまで予定)
LuaとNScripterの連携は簡単なところからはじめようと思っています。
- NScripter側からLuaの関数を呼べる(defsubのような形でluasub命令を作りました。)
- LuaからNScripterの命令を呼べる
- Luaから任意のDLLの任意の(lua_registerで登録できる形式の)関数が呼び出せる
- この機能を使って、いずれはグラフィック処理全体を高速なものに置き換える予定です。
↑今ここまで出来てます。↓おきたらやります
- Luaからマウス入力やキーボード入力を得る。
- テキスト表示文をLuaで横取りできるようにする
- たとえば、横取りしてstrspなどを使って表示するようにすれば、テキストウィンドウもスプライトとして扱えますし、外部DLLを用意すれば文字表示全体を置き換えられます。
- 横取りできる処理を増やしていく。アニメーション/セーブポイント/セーブ・ロード/閉じる/終了
- 最終的には、何もかも横取りできるようにします。
イメージとしては、NScripterがLuaの上で走っている、というのではなく、NScripterとLuaが並行して走っていて、互いに通信をして処理をしている、というものになります。相互通信のインターフェースはかなり単純にしてあります。
(いずれ全体をLuaでのっとるまでになったら、これはLuaの上でNScripterを動かしている、という形になるでしょうけど)。
ここでミソなのは、どこまで横取りしてどこまでデフォルトの機能に任せるかは選べるということです。いじりたいところだけLuaでいじればいいのです。LuaからNScripterの命令が呼べますから、使い方も難しくはないと思います。