予定メモ/進捗状況
- ns2でbmpを直接読む時に何かバグがあるらしい。ns2にbmpを格納すると容量がかなり大きくなるのであまり使わない機能だと思うけど、一段落ついたら修正します。
- 現在商業製品でns2を使って作業中。pngを使っています。
- 必要だったのでpngをα値を維持したまま左右もしくは上下に連結して保存するツールを作った。Luaスクリプトで連続実行できるので、好きなように連結できる。が、これは開発中のゲームエンジンをそのまま使って作ってるので、単独ツールとして公開するには無駄な部分が多すぎて、どう扱うか考え中。
- まあいいや、ということで試験公開。次期ゲームエンジン……を使ったPNG連結プログラム。自分が使う時用に公開しておきます。http://www.nscripter.com/pngrenketu.lzh
新しいエンジンについて
- SJIS版のLuaでも英語の(オリジナルの)プラグイン類はたぶんだいたい使えるのでこのままでも外のライブラリを使う分には問題ないと思うんだけど、一応内部的にUTF-8にして、もともとのLuaを使うようにしようかな。すると中身をシフトJISで動かしてるのはあまり意味がなくなるので、Unicodeでコンパイルしなおす必要があるけど、今の段階でその処理をするのは簡単なので今のうちにやる。OggもPNGも内部に持ってるのでそういう改造は比較的楽。
- 現状のNScripterではC++で書かれているような処理のうち、Luaで書いても問題なさそうなものをLuaで外部に出すことで、ユーザー側からいじれるようにして、その分システムカスタマイズ周りの仕様がすっきりするようにするのが狙い。このLuaスクリプトを使って、NScripterの(システムカスタマイズを伴わない)シナリオ演出スクリプト相当のものを作り上げるので、そちらはむしろ現状のNScripterより初心者向けのはず。
- 問題は、システムカスタマイズをやろうとしたときに、Luaの既存の入門コンテンツはほとんどがC言語を習熟しているのを前提にしていることだけど、これはまあ、そのうちなんとか。
- NScripterのマニュアルがとっちらかってる問題。アーカイブをns2、音楽再生をnsogg2、画像をnspngに絞った形ですっきりしたガイドを書いていきたいけど、時間がない。レガシーな機能の解説まで含んでいると大変なので。
- Lua上で行番号式のクラシックなBASIC言語を実装しようかなとか検討してる。作るのも簡単だし、プログラマじゃない人が使うにはLuaよりは敷居が低いだろうと思うので。
(メモ追記)
- TP.exeとSGE.exeを統合する。ついでにインストーラーくらいはSGE.exeで書けるようにしてもいいかも。(今の汎用インストーラーは、ちゃんと動くけどちょっと古くなってきてるからなあ)
- この場合二重起動の判定処理に工夫が必要→ミューテックスを二つ使って処理すればexeごとに別の判定ができるかも。
- SGE.exeにLua経由でSQLiteを組み込む(バインドライブラリにライセンスがMITのがある)。
- エラー処理をテキストエディタと連携することを考えていたが、テキストエディタは固定しないほうがよさそうな気がする。エラー処理関数をlua上でコールバックできるようにする。
- 関数をテーブルに分けて、他のライブラリとあわせて全部小文字の名前にする。