mikoto が何となく読めてきた
ここ最近、ずーっと mikoto のローダをちくちく作っていた。一区切りしたら公開しようと思っていたのだが、ハマってしまいこのザマである。
しかしながらなんとかバカみたいなバグを取ることができたので公開する。
on OpenBSD
on OpenSolaris x86
原理(正しいとは限らない ;-) とか参考文献はソースに全部書いた。
ソース
読めることは読めるのだが、機能が全くと言っていいほど足りない。
フレームレートの処理は正しくないし複数のモーションは読めない。デフォームなんてしないし、アンカーの処理も甘い。
左右対称などの便利機能はもちろん対応していない。複雑な mikoto ファイルは恐らく読めずに死亡するはずである。
まさに「読めるだけ」なので注意してくだしあ。
でも移植性だけは何故かある。
Re:座椅子 (私信)
私のイメージは下図のような感じです。この格好のまま朝まで寝てたりしないものだろうかな、とw。
私も前は座椅子を使っていたんですが、姿勢がやたら悪くなって足と腰が痛くなってから机と椅子にしてます。
背もたれるところならどこでも寝てしまうのでやっぱり羨ましいです。
オートシェイプを SDL で読み込む
http://d.hatena.ne.jp/n7shi/20090520/1242814442
こちらのコードを眺めていて気づいたんです。オブジェクトが MemoryStream だったら SDL で表示できるんじゃね?、と。
というわけでやってみました。やってみましたが上手くいきませんでした。
Office のほうでコピーして、pp01 のほうで 左 Ctrl + V すると貼り付けられます。
上手くいっているように見えますが、参照元の id:n7shi さんのほうの
var ms = Clipboard.GetData("Office Drawing Shape Format") as MemoryStream;
これが何故か null になるというマジック。
なんとかならんのかとググった結果、以下のように PNG で取ってきたら取れたわけですがよく分からん。
IDataObject data = Clipboard.GetDataObject(); // クリップボードにあるデータがPNG形式か調べる if (data.GetDataPresent("PNG")) { // PNG形式でデータをMemoryStreamとして取得する MemoryStream ms = (MemoryStream)data.GetData("PNG"); return ms; }
奥が深いぜクリップボード。
C# で SDL + OpenGL するぞ
なんてことだ…。05/07 のエントリにいただいた id:n7shi さんのコメント通りにすれば 64bit Vista でも無問題じゃないですか…。
良いマシンを買ったんだからってことで今日一日かけて VMware を入れて Windows XP を入れて VC# 入れて開発環境を整えてしまいました。
まあそれはそれで全く無駄なわけじゃないんでいいんですが…。
カーソルキーで、透過処理に失敗した ゆっくりゆきぽ が動きます。Escape で終了。
64bit 用の DLL も入っているので、64bit Windows でも動きます。
コードを書いてみて分かりましたが、やっぱり C# は便利です。
64bit Vista で実行できる今となっては C# をメインで書かない理由が無くなりました。
今年こそは 3D モデルを動かすぞ
FreeBSD 7.1-RELEASE on DELL Inspiron mini 9 その2
昨日の続きです。
家には Aspire one もあって、これも無線 LAN を Intel 3945ABG に換装しています。
こちらは普通に動いているので、もしかしたらひょっとするよなーと思って
昨日 FreeBSD をインストールした Inspiron mini 9 に取り付けてみたら、動きました。orz
設定はこちら http://gihyo.jp/admin/clip/01/fdt/200805/02 と同じです。
昨日動かないとか書いちゃってスミマセン。まともな 3945ABG は動きました。ごめんなさい。
FreeBSD 7.1-RELEASE on DELL Inspiron mini 9
DELL Inspiron mini 9 の Ubuntu 版を買いました。
プリインストールされた Ubuntu はある程度普通の Ubuntu だと思っていたのですが、
パッケージにほとんど互換性が無いそうで http://www19.atwiki.jp/mini9/pages/29.html
なんだか急に面倒になってしまいました。
そこで、なんとなく BSD が好きなので FreeBSD 7.1-RELEASE をインストールしました。
FreeBSD は 4.9-RELEASE に触って以来です。
インストール自体は特に問題ないです。4.9-RELEASE のときのままでした。良いか悪いかはおいておいて。
動かしてみた結果、気付いた範囲では無線 LAN 以外は問題なし。
無線 LAN は Broadcom の BCM94312MCG というチップみたいなのですが、これが動きません。
NDISwrapper でも動きませんでした。同梱の Ubuntu ではなんで動いているのだろう、というか
そう言えば Ubuntu で試したけど結局接続できなかったなあ。壊れてるのかな。
でまあ必殺技として Intel の 3945ABG に交換してみたところ、刺さる刺さる。
不定期に OS ごと固まって電源を切るしか出来なくなってしまいました。謎。
よく分からないので追っかけてません。
2009.01.13 追記。他のパソコンで動いていた 3945ABG を取り付けてみたら動きました。
最初に試したものが初期不良っぽいです…ごめんなさい。
というわけでさっさと諦めて、転がっていた USB の Wifi アダプタを動作確認しました。
その結果をちょろっとまとめました。BSD_USB_Wifi - m107 wiki - Seesaa Wiki(ウィキ)
# 七誌さんのエントリに返信しようとしてあらぬ方向へ来てしまったなあ
# でもまあ普通の Unix はいずれ必要だし!と自分を納得させる