W.Deeの2004年7月の日記

kikyou.info»日記

誠に勝手ながら、kikyou.infoは2017年12月いっぱいをもって閉鎖します。ながらくありがとうございました。

最新月 : 2008年10月
2003年 [             3    4    5    6    7    8    9   10   11   12  ] 月
2004年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2005年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2006年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2007年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2008年 [   1    2    3    4    5    6    7    8    9   10   11   12  ] 月
2009年 [   1    2    3    4    5    6    7    8    9   10   11       ] 月
前月の日記  次月の日記

2004年7月8日

Wineで吉里吉里を動かす

Wineで吉里吉里を動かしてみようという実験です。Wineはx86ベースのUnix系OS(Linuxとか)でWindowsプログラムを動かせるようにするものです。

KNOPPIX3.4日本語版で割と手間をかけずにWineが動きそうなのでお手軽に実験してみました。

KNOPPIX installer to Windows2000,XPを使ってとりあえずWinXPのNTFS上にインストール。

起動するとNTFSはリードオンリーでマウントされるので、とりあえずおもむろに吉里吉里の実行可能ファイルを指定して実行。初回の起動だと~/.wineが無いからだと思いますが、設定プログラムが起動するので何も考えずにボタンを押して設定完了。

で、なんとなく動くんですが、「マウスカーソルが画面の中央に固定される」「Layer.drawTextで日本語が化ける」という問題が出てきました。

「マウスカーソルが画面の中央に固定される」はDirectInputがらみだとおもいますが、これは吉里吉里側に-wheel=messageを指定して回避。

「Layer.drawTextで日本語が化ける」のはよく理由がわからんのですが、~/.wine/config で [version] セクションで "Windows" = "win2k" として win2k として振る舞わせるようにしたうえ、-aamethod=res4 (あるいはres8) のオプションを吉里吉里側につけて回避できました。

knoppix上のwineで吉里吉里を動かしたときのスクリーンショット

スクリーンショットでは -dibtype=dibsect を指定してありますがこれはあんまり効果がありませんでした。

ちなみに文字描画が異様に遅いです。あとトランジションが異様に重いときがあります。

終了時にフリーズしたりサウンドがならないなど、まだまだ安定性では問題がありますが、とりあえずこんなもんでも動きましたということで。まだ「吉里吉里はx86系CPUのUNIX系OSでも動くんです!」と豪語するには至れません。

それにしても、数年前にもWineで試した事があったのですが、そのときは起動すらしませんでした。今回はFate/stay nightの体験版も動きました。感激モノですね。

  • 2004-07-08 12:02 薫 : Wineというのがあったんですね。RedHatLinux9を使ってるんですけど、これにWineを入れても動くということですかね。見たとこ、X WindowはKDEですね。わたしも試してみます。
  • 2004-07-08 23:15 W.Dee : こんにちわ。うーん、X86ベースのRHLなら動くでしょうね。それ以外だとQEMUとの併用で動くようになるといいですね。KNOPPIXはKDEです。ちなみに私はXはほとんどいじったことないです。

2004年7月4日

新しいブレンドモード

2004年5月13日の日記にも書きましたが、ブラーなどを実装するに先駆けて新しいブレンドモードを作り込んでいますが、ブレンド関数だけを数えたら、このモードの追加だけでざっと50個ぐらいあるのでなかなか大変です。新しいブレンドモードは従来のpixel alphaと区別する為にadditive alphaと呼んでいます。レイヤタイプは従来のltTransparentに対してたぶんltAdditiveAlphaになると思います。

画像演算用の低レベルな関数群は内部でtvpglと呼んでいるのですが、このモードの追加で約180個の関数群になりました。いつのまにやらこんなに。といってもほとんどはC言語で記述されていて、そのうちのよく使う物だけがMMXなどを使ったアセンブラでも記述され、CPUの種類によって使い分けられるようになります。

あとはこれを吉里吉里上で使えるようにします。

たぶん二つのα合成モードがあることは混乱を招くので、ちゃんとドキュメンテーションをしないとなりません。とにかく大変なのでbeta2が出るのは相当先のような気がします。

2004年7月3日

対クラック

まあ、いたちごっこであることは分かっていますが、技術的には面白いところが多々ありますね。

XP3暗号化

前にも述べましたが、XP3暗号化の需要があることは認識しています。

吉里吉里SDKはそれ自体はXP3の暗号化・復号化機能を持ってませんが、外部のDLLを使用することにより暗号化することができるようになっています。サンプルはソースの/base/win32/plugin_kit/xp3filterにあります。

あ、前述の通り2.23 beta 1でインターフェースが変わりますのでご注意ください。サンプルは非常に単純な物です。耐クラック性はほとんどありません。技術的興味により作った、もうちょっと耐性があるのは手元にあります。興味のある方はご一報ください。ただ、これはこれでキワモノなので、すべての方に公開という訳ではありません。

xp3は展開ソフト(Susieプラグインなど)が広く出回るようになってしまいました。xp3のフォーマットを変えたり暗号化機能を追加したとしても、一時的に「展開可能なソフトが無い状態」ができるだけであって、いずれは展開ソフトは出回ってしまいます。吉里吉里はソースが公開されているのでなおさらです。

一応xp3には「プロテクト」フラグというのがあって、「展開しないでくれ」という意志を示すことができるのですが、意志を示すことができるだけで実質は暗号化するわけでもありません。ただそこで展開しようとすることは著作者の意図と反しているわけですから、展開の行為自体は立場的に弱いはずです。

それ以上の保護を望めば外部DLLでの暗号化ということになります。暗号化の方法は自由に変えられる機構になっているのでオリジナルの形式のxp3を作れます。展開しようとする側は、著作者が意図して暗号化したものを無理矢理展開するわけですから、いっそう立場的に弱くなります。まあ、これも気休め程度にしかならないですけどね。

暗号化による保護はかなり難しいということを、制作者側としては認識しておく必要があります。そもそも無法者の世界では法が通りませんので、法的に有効だと思われる手段でも意味が無いことが多いです。有償であれ無償であれ「公開する」ってことは公開することのリスクも当然背負うってことですね。あらかじめそのリスクまでを計算に入れて制作をしなければなりません。吉里吉里みたいに公開をリスクと思わないような方向性もありますけど。

吉里吉里 2.23 beta 1

もうそろそろ、出そうかなと思ってます。

変更点はXP3(吉里吉里ネイティブのアーカイブ形式)暗号化インターフェースが変わったぐらいです。