Vitaのトトリ2周目クリアした。
1周目は時間がかなりギリギリで北の村に着くくらいが精一杯だったので2周目は効率良くプレイした結果、主なストーリーは一通り見れたっぽい。 しかしストーリーだいたい見て最高ランクまで到達しちゃったあたりで半年も残っちゃったんだけど、 塔の上にいる強いボス群とか追加で出てきたオルトガラクセンとかのおまけ的な奴らは強くて倒せん。
最後までいくともう強い敵を倒す以外にやることなくなるのは残念ですな。まあやることはやった感があるのでこれ以上の周回も必要あるまい。 てかVita版で追加されたというコスチュームがオルトガラクセンで超強いやつら倒さないと全く手に入らないというのはしんどくないですか。
なんだかんだでOpenGLとGLES2両対応できるようにしてみた。
思った以上にGLES2と同じコードがそのまま動いたのでびっくりした。glShaderSource
の引数が微妙に違ったのと、glEnable(GL_VERTEX_PROGRAM_POINT_SIZE)
しないと頂点シェーダで点のサイズ設定できなかったくらいで、あとはGLES2のコードそのままで動いた。こんなにいっしょだったっけか?
OpenTKがOpenGLのコンテキスト作るかGLES2のコンテキスト作るかを動的に指定できなかったのも手元でなんとか対処してみた。すごく気をつけて使えばGLES2のコンテキストも作れるようになったという感じだが。真っ当な対処をするなら設計から直さないといけないが、まあそこまでもいらないだろう。
あんまり見た目は変わってない。 次はゲーム外のメニュー画面とかを作っていかなきゃいけない感じでとてもめんどい。 メニュー画面を作りやすいように簡単なレイアウトマネージャを作った方がいいのかな。
他に作らないといけないのはステージエディタ的な物か。これもこれで大変なんだよな。マップが2Dだったらまだ楽だったんだが。
ERRORになったチャンネルに対して視聴リクエストを送った時には再接続するようにした。 これの原因はだいたい予想通りだったので簡単に修正できたが、視聴リクエストにトラッカーのアドレス指定が含まれていた場合にはそいつを新しいトラッカーのアドレスに設定できるようにした。
IPアドレスが違っているのに同じチャンネルIDになるチャンネルって普通は作られないはずだけど、できないわけでもないからな。
pcwmpから再接続を実行しても再接続されないというのを調査する。以前対応したはずだよなーと思ったが、実際試してみると確かにちゃんと動いてるみたいだ。よくわからなかったので追加情報がない限りは動いてることにしてクローズしといた。
それを調べてるときにviewxmlで出力してるチャンネルのuptimeとかにすごい変な値が出てたのを修正した。TimeSpanのTotalSecondsを出力すべきところにTimeSpanのToStringを出しておかしくなってた。
HTML UIでポート開放状態がNGになってしまう件を再度調べてみる。以前調べた時には問題無さそうだったんだが、やっぱり現象は出てるんだよなぁ。
サーバから出力してる値は確かにfirewalled = true
になってるようだというのを確認してJavaScriptを確認してみると……。
firewalled==true
の時OK出力してるじゃねーか!逆だよ!!
条件を逆に書いてるというのはよくある間違いなので仕方ないんだが、この話の恐しい点は以前ここを確認して問題ないんだけどなーとか言ってるところである。 今回はソースを開いた瞬間に逆じゃねーか!と思わずつっこんだぐらいにすぐ気付いたのに、前回はちゃんと見てたはずなのに気付いていないという。ど、どういうことなの……。
バグではないけど起動時にGUIが表示されるのがうざいという人がいて、確かにPeerCastだと起動時にはステータスアイコンしか表示されないようで同じような動作にしてほしいというのは理解できる。だが起動時にウィンドウ表示されないのは初回とかにわかりづらいんだよねぇ。 設定で起動時の表示ON/OFF指定できるようにすればいいか……できた。
今回はそんなもん。あとちょいチャンネルリストの表示をいじったくらい。
ERRORになってるチャンネルを自動切断というのはどこの機能として入れるとしっくりくるのか思いつかないので実装できていない。早めに入れたいんだが。
ERRORになってるチャンネルが配信終了によってERRORになってるのか、単に接続失敗になってERRORになってるのか判別できるようにして欲しいとのこと。内部的に判断はできると思うので表示できるように考えましょうか。
インストーラが欲しいという人がいて、インストーラどうやって作ろうか問題が再燃した。いろいろ検討したがWiXEditで作ってみて問題あるようならまた他の方法を考えようということにした。
とりあえず明日は29日なので今コミットされてる状態でリリースしてしまおう。