よく見たらldで失敗してた。
g++ -o xclannad xlovesys.o system/libsystem.a scn2k/libscn2k.a window/libwindow.a font/libfont.a music2/libmusic.a -lfreetype -lz -lSDL -lpthread -lSDL_mixer -lsmpeg -lSDL -lpthread -lvorbisfile -lvorbis -logg -ljpeg -lpng -lz -pthread
font/libfont.a(font_peer_x11.o): In function `XKFont::PeerX11::GlyphCreate(unsigned int, XKFont::Glyph*)’:
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:389: undefined reference to `XShmGetImage’
font/libfont.a(font_peer_x11.o): In function `~PeerX11′:
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:365: undefined reference to `XShmDetach’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:365: undefined reference to `XShmDetach’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:365: undefined reference to `XShmDetach’
font/libfont.a(font_peer_x11.o): In function `PeerX11′:
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:317: undefined reference to `XShmQueryExtension’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:320: undefined reference to `XShmCreateImage’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:337: undefined reference to `XShmAttach’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:317: undefined reference to `XShmQueryExtension’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:320: undefined reference to `XShmCreateImage’
/home/takky/xclannad-0.07g/font/font_peer_x11.cc:337: undefined reference to `XShmAttach’
collect2: ld はステータス 1 で終了しました
make: *** [xclannad] エラー 1
どうやらライブラリが足りないっぽい。Xshm系ルーチンがよく解らなかったので調べてみると、X11の拡張ルーチンだった。よくコマンド行を見てみると、X11関係のライブラリが指定されてないし。configure時に何か指定しないと駄目なのか謎です。中身を見てみるとX11関係も入ってるので、それで追加されるであろうライブラリをMakefileのLDFLAGSに加えてみたら問題なくリンクできました。
インストールし、ゲームCDを挿入し、CDをマウントし、xclannadを実行してみると…即死でした。表示されるルートパスがデフォルト値となっており、うちがいじったソースのパスは反映されてないみたいです。仕方ないので起動引数にルートパスを設定したら無事動作しました。フルスクリーンも-fオプションで問題なく起動を確認。ゲーム中に切り替えられるみたいですけど、READMEにはやばそうな記述もあるので無茶しないほうがいいみたい。
ウインドモードで起動すると、タイトル行の表示がヤバいっぽい。うちはUTF-8環境なのでEUCで漢字を出そうとしてるのかもね。まあ、ゲームに支障なさそうですのでこのままでいいです。
一度クリアしたゲームですけど、久々にプレイしてみるのもいいかも。
月別アーカイブ: 2007年9月
xclannadその3
最初のコンパイルエラーが出たときのメッセージが違ってた。先に書いた奴はコメントアウトしたときのです。下記が最初に出た奴。
g++ -c -I.. -g -O2 -DHAVE_CONFIG_H -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -pthread -O2 -o scn2k_grp.o scn2k_grp.cc
scn2k_grp.cc:104: error: extra qualification ‘GrpObj::’ on member ‘ParseMoji’
make[1]: *** [scn2k_grp.o] エラー 1
今期アニメ
元がアダルトゲームで、フルアニメーションで展開されるということと、話の展開とエンディングなどが素晴らしいと評判が高いゲームのアニメ化でした。序盤はアダルトゲームがアニメ化されたソフト感でつないでましたが、9話以降は原作通りの鬱展開に。AT-Xでも年齢制限を設けての放送したとか。元々三角関係を描いたものですので、どのように転んでも誰かが傷つくわけで、見ていて痛いというのを楽しむものでした。
うちはゲームは一通りやったつもりです。アニメを知ってからやったのですけど、エンディングはいくつか印象的なのがありました。アニメではどれを持ってくるのかが非常に楽しみだったりします。(これを書いてる時点で最終話は未放送)
主人公が結構優柔不断で、それにより周りが振り回されるのもわかりますが、それぞれの娘がいろいろな策を練って迫ってくるのもなかなかすごいと思う。まあ、主人公がはっきりとした態度を示してしまった時点でエンディングですけどね。
このアニメは久々の大作と思いました。何度も見ようとは思いませんが、一度は見てもいいかと思う。ただ、それなりの心の準備をしてからがよろしいかと。
このアニメは最初から狙ってますのでそれに違和感を感じてはいけません。一応英語を教えるという話ですけど、出てくる英語はマニア過ぎて一般では英訳されないものばかりです。まあ、そういうものと思うしか。
このアニメのポイントは狙ってるのはわかるけど、しっかりとしたメインストーリーがあります。語ってるのはごくわずかですけど、土台があることはいいことです。エロ的にはマニア過ぎますけど、ロリ&スクール水着か。変身シーンはお約束のスッパ状態です。TV大阪では放送時に薄い霧を入れたとか。(愛知版はまさにスッパというのはネタだったみたいですけどね)話の途中でもエロシーン満載だったものもありますが、さすがにまずいのか消しマークがかなり入ってました。DVDでは消しがないといいのですが。つか、入ってたらどうでもよくなる気がする。
NHK教育で放送されたアニメ。めがねをかけた子供たちが居る町。めがねは情報端末で、めがねを通して電脳世界見るのが当たり前となった世界での話です。電脳空間にも古い空間が存在し、そこにある石ころみないなメタバグというものを巡って話が進んでいきます。
話のつくりはしっかりしてると思いました。雰囲気的に、子供たちがめがねを使って電脳世界で遊んでるだけですが、それを取り巻く話が不可解で重く、うまく演出されてると思いました。
gdb
結構コンパイルに時間がかかった。早速作成中のプログラムをデバッグ。
起動してブレイクポイントを設定と思ってソースを出そうとしてみるも出ず。コマンドを間違ったか?と思って色々試すが間違ってないし。会社のマシンとかいろいろあるのでデバッガなど使うときはよくコマンドを間違えたりするのですけどね。で、ソースが出なかった原因がシンボルテーブルでした。開発中ソースはよく-gをつけてコンパイルしますけど、実際に動かすときはテーブルを外してしまいます。オプティマイザのバグによりバグが発生する時もありますけど、基本的に信じて動かすしかないので。それで大抵-gなしってのを忘れてたりするわけです。
今回はmemcmpするメモリ内の値が予想できないものになってそうという疑いがあったのでdisplayコマンドでブレイクポイントにヒットしたらメモリ内容を表示させるようにしてました。該当のデータが読み込まれ、ヒットしてみると原因がよく分かりました。
原因が分かるとデバッグも楽しいですけど、業務で解らんバグにハマるとブルーになりますよね。
クイーンズブレイド
http://queensblade.net/
ホビージャパンが出してる女キャラの対戦ゲームですが、中身を見せてもらう機会があり、中身を見たら…これはロストワールド?と思ってしまった。調べてみると、ロストワールドをベースにしてるらしいです。
ロストワールドというのは、20数年前にD&Dの傍でひっそり売られてたシリーズで、結構安かったこともあり仲間内で持ってる人が多かった気がする。高校生の頃で、4人の仲間内でプレイしてました。本になっていて、手のひらサイズで、自プレイヤー1冊、相手プレイヤー1冊の最低でも2冊ないとプレイできません。本にキャラクタのカードが入っていて、カードを手元に置き、本を相手と交換します。ゲームは遠距離と近距離があり、最初は遠距離通しで決まったページから開始します。カードに立ち位置から行動できるものを選び、その数字を同時に言い合いまして、開いたページから言われた番号の行き先を調べ、該当のページを開いて結果を判定するというゲームです。判定では自分にダメージだったり、特殊攻撃が決まったりとかあって番号を言う瞬間がドキドキ物です。相手のHPを0以下にすることで勝負が決まりますが、確か-5を超えるとキャラクタは次から使えなくなるというのがあったような。メモした数字を見間違ってキャラを失った記憶があります。自分でメモしてたわけでないので文句も言えず悲しい思いをした記憶が。
うちはプレートメールを着た騎士、サムライ、白竜を持ってましたが、竜は強すぎて一度もプレイする機会がありませんでした。ブレスが決まると相手はキャラロストなので誰もやりたがらないし。友人がユニコーンを持っていてそれと途中までやったのが最後だったかも。ユニコーンは戦士系の倍くらいのHPで二人相手で何とかバランスが保てたのでプレイ出来てましたけどね。うちはサムライが曲者で、相手の頭から振り下ろす攻撃が決まるとかぶとを割るという行為になり、それにより恩という数値が蓄積され、ロスト時に恩を使って新キャラを作れたと思います。それを仲間内は認めなくて恩を使うことは一切無かった気が。スケルトンなんかは骨を拾ってHP回復とかあったから使っても良いと思うのだが。
実は卒業アルバムに小さく写ってる写真にデュエル中のものがあったり。
そういえば、本題のクイーンズブレイドとロストワールドの混合も出来るとか。上位互換らしいです。個人的に思うに、これってコンピュータゲームとして作ったほうが売れる気がする。データをホビージャバンが提供してオンラインで対戦できれば面白いと思うけどね。本だったら1対3とか簡単だけど、ゲームだと難しいのだろうね。ロストワールドが見つかったらゲームを作ってみたい気がする。捨てられた可能性が大きいので見つからんだろうな。D&DとかクトゥルフとかのTRPGは手元に残ってるのだが。
ピンキー
忘れたけど、かなり前に注文してたピンキーが届いた。現時点での最新シリーズです。まあ、レギュラーですので一応ゲットです。
ePSXe
プレイステーションエミュレータを動かしてみようかと。
実際に動かすにはBIOSが必要。吸い出し方はProActionReplayがあれば出来ます。アクションリプレイといえば、メガドライブでよく使ってた記憶が。値の変動前と変動後のメモリー状態を取得して比較させ、それらしきアドレスの値を書き換えていろいろ遊んで重宝してた記憶が…まあ、これはおいて置いて、Windowsマシンへ持ち込んで準備です。
吸い出したBIOSを転送し、指定されたディレクトリに置き実行。Configを一通り設定し、ゲームCDを挿入してRUN CDROMで実行。いきなりセグメントフォルトで死にました。VIDEOの設定で、デフォルトだと駄目だったみたい。もうひとつのドライバを選択して実行したら動きました。
ゲームはLSDを起動。特に問題なく動いてるみたいです。リトルプリンセスを起動してみると、NIPPON ICHI SOFTWARE Presentsの表示が出て進行しませんでした。まあ、所詮エミュレーションなので、完璧に動くまで再現しないと駄目ってことですね。
実機はPS2で動かしてますけど、最近読み込みが甘くてハングするゲームが多発。そろそろ修理時期っぽい。手持ちはPSのゲームばかりなのでハードを引っ張り出せばいいのですけど、置き場所の問題で厳しかったり。もう少し完成度の高いエミュレータが欲しいところ。
フォントを追加
portageで管理されてるフォントはemergeでインストールできますが、MSのフォントは通常インストールできません。著作権の問題もあるので、自分のマシンに入ってるものを平行利用という形で使うしかないと思われます。
まず、フォントを/usr/share/fonts/配下の適当なディレクトリへコピーし、xorg.confのフォントパスを追加。置いたディレクトリ内でttmkfdirコマンドでfonts.scaleを生成。そしてmkfontdirコマンドでfonts.dirを作成します。このままだと日本語対応じゃないみたいで、fonts.dirを編集し、各設定の中でいろいろな言語用の設定があるので最後の部分を「jisx0208.1983-0」にした設定を付け加えればいけます。うちは再起動しましたが、システムのフォント設定にMSゴシックなどが加わりました。各アプリで使えるかは別ですが、一応GNOME上では使えるっぽい。
MSフォントはWindowsで作られたPDFを閲覧する場合必要なケースがあるそうで。うちは東風で事足りてるので満足ですが。