2010年5月のエントリ

歯茎が腫れたので歯茎をめくって膿をとってもらった。根は大丈夫だったので保存治療になったけど,もう少しほっておいたら抜歯だったかも。

と書くと普通の日記なので無理矢理コンピュータの話に持って行くと,最近はアレですね。身体に不調があった場合,症状を検索するとだいたいどんな病気で治療法とか最悪ケースとかわかりますね。こういうときネットがない時代ってどうやってたんだろう,って思う。

掲示板のDirectPlay初期化の件。エラー処理を除くと以下のようなコードになっていて,Initializeで止まっていると思われる。多分DirectPlayを使用するゲームは全て動かないのだろう。Dumpを送ってもらえば何か分かるかも知れないが,何百MBとかだし,DirectPlayが原因と分かってMSに聞いたとしてももはやサポート外で答えてくれない気もする。

LogOut(_T("DirectPlay: 初期化開始"));

::CoCreateInstance(CLSID_DirectPlay8Peer, NULL, CLSCTX_INPROC_SERVER, IID_IDirectPlay8Peer, (LPVOID *)&m_pDirectPlay);

m_pDirectPlay->Initialize(this, MessageHandlerStatic, 0);

LogOut(_T("DirectPlay: 初期化完了"));

掲示板にはぱじさんの方から回答が出ているが,逆襲のもげぇたんの人数制限についてこっちに補足。マルチプレイ脱出ゲームの人数は本来もっと少なくてもいいと思っている。5人くらいがいいような気がするがそれだと入りづらい感じもするので,ゲームが成り立つぎりぎりの人数ということで7人に設定した。なのでこれ以上人数を増やすとゲームが成り立たなくなるわけで,チャットルームのためにゲーム性を犠牲にするのはちょっと違うかな,という話。

WPFのローカリゼーション。どうもMS的にはLocBamlを使う方法を推奨している感じがするが,リソースDLLをビルドしてからバイナリを編集するというのはちょっと気持ち悪い。ということでresxを使うことに。これで合ってるか分からないけどとりあえず最小限のやり方。

  • 最初から入っているResources.resxと同じようにResources.ja-JP.resxを作成し,Propertiesに入れておく。
  • 英語と日本語で同じNameのリソースを作成。
  • .csファイルからはProperties.Resources.XXXで参照する。
  • .xamlファイルからは「xmlns:s="clr-namespace:project.Properties"」のようにネームスペースを参照しておき,{x:Static s:Resources.XXX}として参照する。

なおこれだと言語はOSの表示言語に従うことになる。切り替えたい場合はThread.CurrentThread.CurrentUICultureで切り替えればいいはず。試してないけど。


ここまで作成したものをXPで試してみたが,xmlparseでエラーが発生し,起動できなかった。しばらく調べてみたが原因不明。まあXPは対象外にする予定だからまあいいか。

ゴールデンウィ。なんだか特命でアセンブラ書いてたりする。アセンブラを読むのは割と日常だが,書くのはPC-6001のZ80以来なので懐かしい。とりあえずブートの仕方をネットで探して組んでいるが,特に参考になるのがウイルスのコードだったりして複雑な気分。


長期休暇で実家にいるので久々にテレビと新聞を見ているわけだが,もはやネットな人とテレビな人では完全に住む世界が違う感じですね。きっしー(誰)の宮崎県が大変なことになってるけどどこもやってないし。仮に報道規制だとしても,ネットな人はいくらでも調べられるわけで,どんどん情報格差が広がってますね。

# 情報規制はデマらしい。つまりテレビ業界は口蹄疫なんて報道する価値なしと判断してたってことですね。