日記
2014年01月15日
ONScripter for Win 20131223
ONScripter for Win を更新しました。
なんか色々とありますが関係あるのは1つのみです。
> savedir 命令を実装しました。この命令を使用したゲームを実行していた場合には、セーブデータの保存場所が変わるので、事前にスクリプトの savedir 命令の引数で指定された場所に手動でセーブデータ(save*.dat, gloval.sav, kidoku.dat, NScrflog.dat, NScrllog.dat)を移動してください。
セーブフォルダをスクリプトで指定出来るようになっています。
人によっては待ち望んでいた機能実装かもしれませんね。
なんか色々とありますが関係あるのは1つのみです。
> savedir 命令を実装しました。この命令を使用したゲームを実行していた場合には、セーブデータの保存場所が変わるので、事前にスクリプトの savedir 命令の引数で指定された場所に手動でセーブデータ(save*.dat, gloval.sav, kidoku.dat, NScrflog.dat, NScrllog.dat)を移動してください。
セーブフォルダをスクリプトで指定出来るようになっています。
人によっては待ち望んでいた機能実装かもしれませんね。
2013年12月12日
TLG Susie Plug-in v0.01
TLG 画像の Susie Plug-in です。車輪の再発明ではありますが、
既存のものよりデコードが速かったので公開してみます。
VC++2010 の最適化能力が当時のよりも高いから?
因みに透過画像において指定色を背景として合成する機能はありません。
iftlg001.zip
既存のものよりデコードが速かったので公開してみます。
VC++2010 の最適化能力が当時のよりも高いから?
因みに透過画像において指定色を背景として合成する機能はありません。
iftlg001.zip
2013年10月03日
ONScripter for Win 20130929
ONScripter for Win を更新しました。
色々とバグ修正されているようですが、
めぼしい機能追加としてはこの二つでしょうか。
> バグ報告「NSLuaの動作不良」を元に、luacall reset を実装しました。
> バグ報告「各種コマンド/形式の対応について」を元に、savescreenshot, savescreenshot2 命令において任意のファイル名を指定できるようにしました。
スクショで任意のファイル名を指定出来るのは大きいかもしれませんね。
差分ソースは以前の物と変わってないので更新してません。
色々とバグ修正されているようですが、
めぼしい機能追加としてはこの二つでしょうか。
> バグ報告「NSLuaの動作不良」を元に、luacall reset を実装しました。
> バグ報告「各種コマンド/形式の対応について」を元に、savescreenshot, savescreenshot2 命令において任意のファイル名を指定できるようにしました。
スクショで任意のファイル名を指定出来るのは大きいかもしれませんね。
差分ソースは以前の物と変わってないので更新してません。
2013年04月10日
各種スクリプト
Lua | Squirrel | PHP | Ruby | Perl | Python | VBScript | JavaScript |
---|---|---|---|---|---|---|---|
178ms | 258ms | 231ms | 280ms | 457ms | 495ms | 343ms | 576ms |
以前にもやった Windows のローカル上で様々なスクリプトを使って、
素数を1000個数えるコードの速度を計測してみました。
「Lua」と「Squirrel」は組み込み言語の面目躍如といった所か、
双方共になかなかの速度が出ています。
LL 系では「PHP」と「Ruby」が頭1つ飛びぬけていますね。
「VBScript」は何もインストールせずに使える事を考えると、
この速度はなかなかのものだと思います。
まぁ演算速度だけ見ても微妙に仕方がないのですが。
次は文字列演算や正規表現とかも試してみたいですね。
2013年02月07日
ONScripter for Win 20130202
ONScripter for Win を更新しました。
色々バグなど修正されていますが、目玉はこちらかと思います。
> NSLua の NL_dofile, NSGetSkip, NSGetWindowSize, NSTimer, NSGetKey, NSUpdate, NSSpClear, NSSpGetInfo, NSSpGetPos, NSSpLoad, NSSpMove, NSSpVisible 命令を実装しました。
これで NSExec に頼ってた部分をかなり削る事が出来ますね。
NSExec では文字列演算やパース作業が入ってしまうので、
NSLua にある命令の方を使う事をオススメします。
nslua2.zip
以前公開してた NSLua のサンプルから
今回対応した命令の部分を置き変えました。
ご興味のある方はこちらをご覧下さい。
ここまでくると NSOggPlay とか欲しくなりますね。
色々バグなど修正されていますが、目玉はこちらかと思います。
> NSLua の NL_dofile, NSGetSkip, NSGetWindowSize, NSTimer, NSGetKey, NSUpdate, NSSpClear, NSSpGetInfo, NSSpGetPos, NSSpLoad, NSSpMove, NSSpVisible 命令を実装しました。
これで NSExec に頼ってた部分をかなり削る事が出来ますね。
NSExec では文字列演算やパース作業が入ってしまうので、
NSLua にある命令の方を使う事をオススメします。
nslua2.zip
以前公開してた NSLua のサンプルから
今回対応した命令の部分を置き変えました。
ご興味のある方はこちらをご覧下さい。
ここまでくると NSOggPlay とか欲しくなりますね。
2013年01月15日
ONScripter for Win 20130112
ONScripter for Win を更新しました。
前回の NSLua で起きていた問題 が今回修正されています。
そして更に! Ogapee氏が配布している Android 版ですが、
こちらも NSLua を有効にして公開してくれました。
これで NSLua を実用的に使える目途が立ってきましたね。
それと最近の ONS では解像度周りが色々仕様が変わっていたようで、
ons.ini を使うとサイズ取得が変になっていたので修正しました。
前回の NSLua で起きていた問題 が今回修正されています。
そして更に! Ogapee氏が配布している Android 版ですが、
こちらも NSLua を有効にして公開してくれました。
これで NSLua を実用的に使える目途が立ってきましたね。
それと最近の ONS では解像度周りが色々仕様が変わっていたようで、
ons.ini を使うとサイズ取得が変になっていたので修正しました。
2012年10月19日
ONScripter for Win 20121016
久々に ONScripter for Win を更新しました。
ついでに Lua のライブラリをリンクさせて使えるようにしましたよ!
こいつをゴリゴリ使って非同期で動かしてやるぜーっと思ったら、
NSLua 用の命令は対応してない物が多いみたいですね。
という訳で NSExec を多用してみるテスト。
・・・
うん、BGM は結構実用的な感じになったんじゃない?
いい感じでフェードインやらフェードアウトさせられたよ。
でもスプライトが… print で更新すると文字が描画されない所が出るし、
ここは機転を利かせて texton だ!って使ってみたら今度はチカチカ…。
え、これどうにもならんの? 仕様的にダメなの? やだー
折角スプライトの座標とか Lua 側で管理して、
座標移動命令では最終座標の指定だけで済むようにしたのに。
という訳で興味のある人用にサンプルスクリプトをアップしておきます。
非同期用命令の引数は system.lua の方に解説を入れてあります。
(BGM_01.ogg は自分で用意してね)
こうしたらいいよ!ってのがあったら是非教えて下さい。
10/20 03:33 追記
fuさんの指摘でスクリプトの erasetextwindow 0 を
使う場所が間違がっていた事に気づきました。
こちらの方を修正する事でチカチカするのは回避出来ました。
でも NS ではうまくいくのに ONS では文字が描画されない場合が…
久しぶりに Ogapee 氏に聞いてみるか。
という訳でサンプルスクリプトの方を修正してあります。
nslua.zip 0.txt
ついでに Lua のライブラリをリンクさせて使えるようにしましたよ!
こいつをゴリゴリ使って非同期で動かしてやるぜーっと思ったら、
NSLua 用の命令は対応してない物が多いみたいですね。
という訳で NSExec を多用してみるテスト。
・・・
うん、BGM は結構実用的な感じになったんじゃない?
いい感じでフェードインやらフェードアウトさせられたよ。
でもスプライトが… print で更新すると文字が描画されない所が出るし、
ここは機転を利かせて texton だ!って使ってみたら今度はチカチカ…。
え、これどうにもならんの? 仕様的にダメなの? やだー
折角スプライトの座標とか Lua 側で管理して、
座標移動命令では最終座標の指定だけで済むようにしたのに。
という訳で興味のある人用にサンプルスクリプトをアップしておきます。
非同期用命令の引数は system.lua の方に解説を入れてあります。
(BGM_01.ogg は自分で用意してね)
こうしたらいいよ!ってのがあったら是非教えて下さい。
10/20 03:33 追記
fuさんの指摘でスクリプトの erasetextwindow 0 を
使う場所が間違がっていた事に気づきました。
こちらの方を修正する事でチカチカするのは回避出来ました。
でも NS ではうまくいくのに ONS では文字が描画されない場合が…
久しぶりに Ogapee 氏に聞いてみるか。
という訳でサンプルスクリプトの方を修正してあります。
nslua.zip 0.txt
;$V2000G1000S960,540L10000 *define game *start erasetextwindow 0 setwindow2 #FFFFFF bg #808080,1 BGM "BGM_01.ogg",5000,100,1 BGM再生ああああああああああああああああああああ@ BGM_VOL 50,5000 BGM音量ああああああああああああああああああああ@ BGM_STOP 5000 BGM停止ああああああああああああああああああああ@ SP 1,"アナログマ.jpg",300,220,0 SP 2,"アナログマ.jpg",500,220,0 Lua非同期テスト@ SP_XYA 1,1000,300,220,255 SP_XYA 2,1000,500,220,255 画像表示あああああああああああああああああああああ@ SP_XYA 1,2000,200,200,255 SP_XYA 2,2000,300,300,255 画像移動あああああああああああああああああああああ@ SP_DEL 1,2000,400,400 SP_DEL 2,2000,200,200 画像消去あああああああああああああああああああああ@ end |
2010年11月20日
組み込み言語
来年になったら時間が出来るので、imageUtility のスクリプト処理に、
Lua と Squirrel を組み込んでみようと思う。
多分、こういう事をするには持ってこいなプログラムなので。
まぁ全ては自分のエンジンの為なのですが。
Lua と Squirrel を組み込んでみようと思う。
多分、こういう事をするには持ってこいなプログラムなので。
まぁ全ては自分のエンジンの為なのですが。
2010年10月08日
久方ぶり
最近、仕事が忙しくて完全に放置状態でしたが、
imageUtility の機能追加やら修正が溜まってきたので、
ここいらで一旦リリースします。
今回より VC++2010 でコンパイルしています。
Win2000 で動かなくなるけど最適化がすこぶる良いので。
んでもってネイティブで TLG に対応しました。
圧縮も出来るのって本家の「krkrtpc.exe」以外では初な気が。
本家よりも圧縮時間が短くなったのは VC++2010 のお陰かな。
解凍は SIMD 命令のお陰か「if_tlg.spi」より速いです。
まぁ一般人には全くもって使い道のない代物ですが、
その道の人には結構有用なのではないかと思われる。
さてさて知ってた事ではあるのですが、
サイズ的にも速度的にも良質なフォーマットですよね。
という訳で他のフォーマットと比べてみました。
Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
吉里吉里でゲーム作るなら断然 TLG ですね。
画像が数GB とかあったら、結構差が出るかと。
まぁ差分化してしまうと、その差も微妙になりますが…。
でも速度的なアドバンテージもありますしね。
imageUtility の機能追加やら修正が溜まってきたので、
ここいらで一旦リリースします。
今回より VC++2010 でコンパイルしています。
Win2000 で動かなくなるけど最適化がすこぶる良いので。
んでもってネイティブで TLG に対応しました。
圧縮も出来るのって本家の「krkrtpc.exe」以外では初な気が。
本家よりも圧縮時間が短くなったのは VC++2010 のお陰かな。
解凍は SIMD 命令のお陰か「if_tlg.spi」より速いです。
まぁ一般人には全くもって使い道のない代物ですが、
その道の人には結構有用なのではないかと思われる。
さてさて知ってた事ではあるのですが、
サイズ的にも速度的にも良質なフォーマットですよね。
という訳で他のフォーマットと比べてみました。
Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
吉里吉里でゲーム作るなら断然 TLG ですね。
画像が数GB とかあったら、結構差が出るかと。
まぁ差分化してしまうと、その差も微妙になりますが…。
でも速度的なアドバンテージもありますしね。