2012年2月27日月曜日

つきよたけ

SHIORI-Luaブリッジ。続き。
とりあえずDllMainでスクリプトファイルを読み込んだり解放したりしてると、ファイルを読み直すタイミングがアレなことになるのでload/unloadに移動。

あとスクリプトは定義の有無をチェックできるようにしたので、
GET.OnMouseClick=OnMouseClick
と定義しておくと、GETコマンドでIDがOnMouseClickのときに、OnMouseClick関数を呼ぶ、みたいな動作を自動でやれるようになりました。



こんなかんじでshiori_init()にGET(とNOTIFY)コマンドの応答を定義できます。
固定文字列を返す(Valueだけ返せばいい時)とか、テーブルを返すなんてこともできるようにしました。

※上のコードで動くサンプルゴーストはこちら
今日のしゃしゃぶさん

2012年2月26日日曜日

SHIORI-Lua ブリッジ

load,unload,requestを呼ばれると、luaのそれぞれの名前の関数を呼び出して、結果を返すブリッジです。
SHIORIとして動くことを想定していますがSAORIにもなるかもしれません。

DLL自身と同じ階層にあるindex.luaを読みこみます。またpackage.pathをDLLのあるディレクトリに書き換えて起動するため、同じ階層にある別のファイルもrequireで読み込めます。

とりあえずサンプルとして頭と胸がつつけるだけのゴーストを用意してみました。
スクリプトはghost\master\tkytk_shioriにあります。

luaファイルの文字コードがUTF-8なのはShift-JISだとluaが正常に読み込めないためです(5.2時点でこの問題は放置されているようです)。

2012年2月20日月曜日

なんというかひどい。

まあ「ひどい」受け答えを目指しているのでひどいのは当然なのだが・・・いいのかこれで。
お相手は「絶対紳士GGG」さん。





頭が痛い。

2012年2月15日水曜日

ishizuki拡張

ishizuki.dllはTwitter用botのエンジンからの移植でランダムTweetとTL/リプライ反応の大きく二つの機能を持ってきてたのだけど、ランダムトークは里々の機能で実現したほうがすっきりするのでばっさりと削除。

そしてコミュニケート反応を一つのリスト(TALK_list.txt)とその派生(TALK_xxx.txt)だけに固定するんじゃなくて、TALKの部分を可変に。これでファイル群の使い分けができるぞっと。使うかどうかは知らない。

あと、luaの実験。yakinokoはparasol(というかyaci)をベースにしててあれはあれで個人的には使いやすいのだけど、流行り(?)に乗ってみようかなと。スクリプトの実行自体は成功してるので、あとはどうやってishizukiの定義と融合させるかを考えよう。

2012年2月13日月曜日

コンパイルオプションとかupxとか。


モニカ/乳毛先生を試してくださって、動かなかったと連絡をいただけたので対策。
まず姐御のところのLoadLibralyのエラーから。ぐぐってみるとどうやらコンパイルオプションで/MDを指定してたのが原因っぽい。これを/MTに変更(MDだとMSVCR80.DLLが必要)することで、どうやら解決。
もう一方ののいのいさんのところで「DLLがノートン先生に消される」問題は、心当たりがなさすぎてしばらく悩んだのだけど、結局upxをかけるのやめたら解決。
narで配布する場合はどうせZIP圧縮かかるから気にしなくていいだろうけど、オンラインアップデートでは非圧縮で渡すことになるのでちょっとサイズ気になる・・・けどまぁ仕方ないか。
ぐぐってみたらいろんなものをノートン先生はばっさばっさと消してくれるようです(汗

2012年2月7日火曜日

QNKその2

また伺かネタで。


なんとかできた、謎の会話もどきが発生する、そんな空間。
お相手は白夜さん(というか三日月さん)。ってえちい恰好していただいたままでしたね(汗

一応今回も↑の画像クリックでnarが落ちてきます。

2012年2月5日日曜日

QNK

急にネタがきたので。


ってことで乳毛先生です(ひでぇ)。正規表現ざっくり会話エンジンishizukiのサンプルとしてゆっくり色々足していきたいなと。
シェルはフリーシェル「赤い帽子の女の子」の「博士」です。

※一応画像をクリックするとnarがダウンロードできます。

美しい自転車

フレームだけでなくリムなんかも木製の自転車。

かっこよかったので貼っておこうかと。



もういっちょ。しかし2万ユーロで買われていったそう。すごい。
Google