2009/04/23(木)Ver.1.2.1

BOD Manager Ver.1.2.1 になりました。
UOA ベンダーエージェント周りのヒドイバグを2個修正しています。
  • wide-brim-hat が入力されなかった
  • 帽子大口が入力されなかった
  • Golden インゴットのアイテムが入力されなかった
どれも、ベンダーエージェントによるデータ入力以外では発生しません。

こんな事を言うと身も蓋もありませんが、私は Ver.1.2 から実際に使い始めました。今まで使っていませんでした。でも UOA があると超楽チンです。

完成を見落としているものをいくつか見つけることができました。
BOD_barbed.png

B皮!と思ったけど PSC115 でした...。
他にも PSC110, Hルニなんかが完成してました。

さらに、今までなんとなく感じていた事を具体的な現実として突きつけられました。大口の出なさを見せ付けられて泣けてきます。
BOD_nolarge.png

皮ショーツ出過ぎ。

まー、やっと実用段階に乗ったということでこれからバルクこなしていきますよ!
あまたのBOD管理ツールでバンダナのローカライズに困ってるみんな!こっちに乗り換えてみないか!?
グレーゾーンにある UO の内部メモリを読んだりパケットをスニフする系のツールだと問題出ないのかもしれない。


構想を始めたのがいつだか忘れたけど、当初 SQLite を使ってスクリプト部分は全然少なくてすむ版を作ったのがいつだろう...。そして当時使っていたウェブスペースでは DBI::SQLite が使えず File_SDBM に乗り換えたりしたのが 10月か。それからずっと放置してたとはいえ、半年掛かってる...。思えば遠くに来たもんだ。

2009/04/23(木)G-XTH3

G-XTH3 の発売日が 5末に決まりました。(結構前に)
竹は G-XTH を応援しています。Wizardry といえば Ultima と双璧を成す RPG の大御所。
ページのサイドバーにバナー張ってみました。

どうやら次回作もすでに企画しているようで抜け目のない Team Muramasa に愛の声を!
馬小屋劇場から飛び出した村正八隊員は活躍するのか!?等、乞うご期待!



あと、BOD管理ツールが Ver.1.2 になったようです。
UOAベンダーエージェントのクリップボードデータを直接読み込めるようになったらしい。
コードの整理は行わずにそのまま突っ込んだらしい。

次はなんだろう、1.2.1 で入力項目無しの一覧表示オプションとかかな。

2009/04/22(水)続々・UO のジャーナル保存

UO のジャーナル変換プログラムを作ってみました。

UO Journal Fixer
UOJFixer.jpg


世の中には数多くあるし、HTML で色分けしてくれる便利なものもあるのでまぁ、自分用。
久しぶりに C どころか Win32 プログラムも楽しめたので満足しました。
さらに自分しか使わないんだけど、コマンドライン版の uojfix.exe は uojfixcli.exe として書き直す予定。

アイコンのデザインって難しい。

2009/04/20(月)UO のジャーナル保存:根本的に間違ってました

<CR> が 0x0d、<LF> が 0x0a。
なので言ってることもサンプルコードも根本的に間違い。<LF><CR> っていうのが改行コードのつもりで残るので、読めるけど行頭にゴミが入る、もしくは改行されない、というファイルが出来上がる。
他にも sizeof(char) でサイズ決めたり、char で変数宣言してるけど、意図的には単純に 1Byte 単位のデータが欲しいのであって char が欲しいのではない、とか。

で、UO のジャーナルは改行が 0x0d0a000d00 となっているのを 0x0d000a00 に置き換えるのが正解。
0x0d0a00 を 0x0d000a00 に置き換えて、0x0d00 を削除するのが簡単か。
どうなったらこういう改行コードが付くんだろ。

ということを踏まえて書き直して、UTF-8 への変換を書いて遊んでた。コードは長いので略。
ググって出てくる iconv(3) のサンプルもまともなものが少ないという悲しさよ。

2009/04/19(日)続・UOのジャーナル保存

UO をネタにプログラムで遊ぶ日記になってきた。

久しぶりに C を書きたくなったので、ミソな部分+αを書いてみた。
  • シングルバイトな<LF> を取り除いて
    • 諸悪の根源を除去
  • <CR> も邪魔なので取り除いて
  • ついでに <LF> が連続する場合も取り除いちゃう
というプログラム。

後は
  • UTF-16-LE な文字コードを UTF-8 か Shift-JIS に変換
    • マルチプラットフォームで文字コード変換できるライブラリってあるんかな
  • 処理結果をファイルに保存
    • 10行くらいの追加でとりあえず OK
すれば機能は十分。GUI が付けば完璧。やらんけど。

UO のジャーナルファイルは一度のゲームで数百KB 程度になるらしいので、一度に処理するバッファのサイズは 128KB くらいがちょうどいいのかなぁ。

続きを読む