アーカイブ

Archive for 2013年8月

Windows8でsambaのネットワークドライブが切断される件

Windows8、WindowsRTのマシンのネットワークドライブがしばらく放置すると切断され、
「ローカルデバイス名は既に使用されています」で再接続できなくなる件がようやく解消しました。

原因は単純に445/TCPの開け忘れだったのですが、むしろなんで最初だけ繋がっていたのかはよくわかりません。
挙動から推測するに初回は137-138/UDPと139/TCPを使って接続しに行き、再接続のタイミングではなぜか445/TCPしか使ってくれない?感じです。
繋がらないなら最初から繋がらないでくれると原因調査楽なんだけどなぁ・・・

Windows8が原因だと思っていたのですが、Windows7のマシンはネットワークドライブが切れるほど長時間起動しないので発生していなかったようです。

さて、これでメイン機をWindows8に移行する障害は何もなくなったのでほぼ全面新造しますかね・・・

カテゴリー:GNU/Linux

SpeechCastExを更新しました

実に2年ぶりくらいの更新である1.0.6.4をリリース。ダウンロードはここから
バージョンは1.0.6.4となっていますがベースは1.0.5で、本家1.0.6の変更点をバックポートしています。

最近、したらばが頻繁に重くなり別サイトへの避難の動きが頻発しているようなので、
今まではしたらば、わいわい、2ちゃんねるのみ対応だったSpeechCastExをその他の2ちゃんねる互換掲示板に対応させる改造を行いました。
急いで作った(雑に2行書き換えただけ)なのでどっかに粗が出ているかもしれません。

— 2013/9/3 23:17追記 —
やっぱり粗が出ていました。atchsでURL自動リンクがバグるという報告を受けて修正、1.0.6.5をリリースしました。

カテゴリー:プログラミング

東方でも壁抜けしたかった

禁忌「恋の迷路」ではありません。迷路は魔理沙でも実戦投入できるレベルです。
以前、配信中に魔理沙で迷路を壁抜けしてたら驚かれましたがキーボードでは回るより楽です。
キーボード、回るのが苦手なのでパゼストにしろ迷路にしろ回らないほうが安定するんですが、
今回の壁抜けには変態避け以外の意味が全くありません。

以下、東方輝針城のネタバレを含みます。
続きを読む…

カテゴリー:東方

インストーラを使わずにFedora18をインストールする

最近Fedora18のインストールをする機会がちょくちょくあるので。

ご存知の通りFedora18のインストーラは頻繁にクラッシュし、パーティション分割もままならないことが多々あります。
なので、最近はインストーラを使わずにyumだけでインストールしてしまうことが多くなりました。

用意するものはFedora18を普通にインストールしたUSBメモリのみ。
liveではなく、普通にインストールします。事前にgpartedをインストールしておくと便利です。
手順としてはほぼdebootstrapを使ってdebianを入れるのと同じです。雑に入れるだけならgroupinstallを使うとだいたい片付きます。

1. usbメモリからboot。この時、usbメモリがsdbとして認識されているとのちのち便利。
2. gpartedなりfdiskなりで適当にパーティションを分割。
3. 各個マウント。btrfsのサブボリュームを使うならここで作っとく。
4. インストール作業。以前は個別にパッケージを選択していましたが、わざわざそんなことしなくてもgroupinstallすれば一発でした。
# yum groupinstall –installroot=/mnt/install –releasever=/ “GNOME デスクトップ”
あるいは
# yum groupinstall –installroot=/mnt/install –releasever=/ “最小限のインストール”
など。
5. grubのインストール
# yum install –installroot=/mnt/install grub2
# mount -t devtmpfs devtmpfs /mnt/install/dev
# chroot /mnt/install
chroot# grub2-install
chroot# grub2-mkconfig > /boot/grub2/grub.cfg
6. fstab記述
7. /etc/resolv.confとか/etc/sysconfig/network-scriptsとか記述
再起動しておわり。極めて安定してインストールできます。以前ハマったdbusユーザーの問題も解決しているっぽい。
selinux無効状態でインストールして、再起動後にselinuxが有効になる場合起動に失敗するようです。注意。

カテゴリー:GNU/Linux

見た目と中身の経験値タイプが違うと

先日図鑑を揃える際に、13番目に飛ばしたフシギバナがやたらめったら最高レベル101になったので見た目と中身の経験値タイプについて調査してみました。

・レベルの計算は中身の経験値タイプを使う。ボックスから引き出した場合も同様。
・経験値最大値の計算には見た目の経験値タイプを使う。戦闘で経験値が入った場合、経験値最大値を超えたら経験値最大値に基いてキャップされる。
・レベルが100以外の時、ふしぎなアメを使うことができる。中身と見た目が違う場合では経験値が最大値でも使用出来る。
・ふしぎなアメを使用した場合は現在のレベルを+1した後、中身の経験値タイプで必要な経験値まで底上げする。
・見た目の経験値タイプの最大値を超えた場合、次の戦闘で入る経験値により最大値まで下がり、レベルが下がる。
割とよく知られた性質だと思います。
経験値タイプの組み合わせにより、最大レベルが100より下がってしまう場合があります。

で、これを表にまとめました。HTMLに起こすのが面倒だったので画像。
レベルと経験値タイプの対応表

左は普通よりちょっとおおい経験値表、右は経験値タイプから最高レベルを読む早見表です。
たとえば、見た目がシャワーズ(100万)、中身がピッピ(80万)の場合、最大経験値は100万で最高レベルは107です。
レベル107
アメを一個投与してみます。レベル108。
レベル108
ぴったり80万タイプの必要経験値に一致していますね。さて、レベルを下げてレベル100にすると?

まずはレベル99にセット。経験値は799999であと1与えればLv100です。
レベル99
そのままふしぎなアメでレベル100にしてみます。レベル100の場合限定で「つぎのレベルまで」が必ず0になるよう例外処理されている模様。
レベル100
追加のふしぎなアメは拒否。
つかっても こうかがないよ
そこのコラッタと1戦後。ばっちり経験値はいってます。
経験値800023

こちらは戦闘で経験値を入れた場合。
経験値24
経験値800023
ということで、こちらでも経験値は突き抜けます。どちらも経験値を入れ続ければレベル101に上がるはず。

応用例:かんたんなレベルの上げ方
経験値125万タイプの中身を一時的に経験値80万タイプに入れ変え。育てたいレベルの1つ前まで育てたら中身を戻す。不思議なアメを与えると経験値が調整されて正しくなる。
すごい需要無さそう。こんな面倒な手順踏むくらいならアメ発掘するわ。

カテゴリー:セレクトバグ

緑の図鑑を完成させた

配信にて緑1本で151匹集めきりました。雑なレポートはこちら
チートでのメモリ改変なしにペゾ、てへ、?????、ポケモンずかんなどを集めています。

タマムシに行く前に13番目で道具欄拡張をできるか、という実験も含めています。無事にハナダの段階で実行できました。
今回はペゾをハナダの右下隅で発掘したので、マサキ救出→泥棒イベントをフルでこなした後はそのままヤマブキに進んでいます。
ポケスタ金銀なしでもイワヤマ省略ができることを実証しました。

唯一失敗したと思ったのはライバルの名前にペゾ(文字コードとしては「お」)を仕込んでおけばマサキを省略できたことでしょうか。
行動範囲が格段に変わるのでまずペゾを入手できるようにするべきでした。反省。

図鑑としては化石を使えばなんでも作れるのですが、配信的に面白く無いのでいろいろパターンを変えました。
特に2匹目と3匹目のイーブイは以前に紹介した中身の種族入れ替えを使ったり、応用としてHPの値から技経由で種族に突っ込んだりと遊んでいます。
また、この作業中に副次的に、種族から技を引っ張りだす方法に転用できることに気づきました。調整不要でふぶき覚え放題はなかなかいいと思います。

全編録画をとっているので気が向いたらダイジェストとか作ります。

カテゴリー:セレクトバグ

技&進化テーブルを解析

「通信なしでユンゲラーが進化」という話を見て疑問に思ったので進化テーブルを解析しました。
進化テーブルに関しては全く情報がなく、昨日までテーブルの場所を特定できなかったのですが、
ちょっと方針を変えてみたら見つかりました。

・進化テーブルの場所
実は、習得技テーブルと混ざっています。0x3B5A3にサイドンの進化テーブルがあり、そこからスタート。

最初は分かりやすそうなイーブイの進化テーブルから解析しました。
イーブイをシャワーズに進化させ、0x69の出元をデバッガで探ります。
読み込み元が02 20 01 67 02 21 01 68 02 22 01 69 00、と非常に分かりやすいデータ列だったのですぐに進化テーブルだと分かったのですが、その後が問題。
当然次はブースター、サンダース、シャワーズと00 00 00が続くものだと思っていたのに蓋を開けてみると1B 62 1F 27 25 2C 2D 24 00となっていました。いったいなんだこりゃ。
いろいろ調べた結果、これはイーブイの習得技テーブルでした。BWでのイーブイ系の習得技テーブルは暗唱できるくらい覚えてるのに全く気付かなかった。
ということで、0x3B5A3からの並びはこんなかんじです。
[サイドンの進化テーブル 0x00] [サイドンの技テーブル 0x00] [ガルーラの進化テーブル 0x00] [ガルーラの技テーブル 0x00] ・・・

さて、非常に見づらいので見やすく表示するプログラムを作り、進化テーブルを眺めて以下の法則を得ました。
レベル進化: 01 [進化レベル] [進化先]
石進化: 02 [石のアイテム番号] 01 [進化先]
通信進化: 03 01 [進化先]

石進化と通信進化の01は何に使われているか不明。必ず01です。実はこれも進化条件のレベルなのかな?

さて、石進化における石のアイテム番号に当たる場所は必ず01なので、石なし進化と同じ条件ならサイドンを出した状態で戦闘を終えれば進化することになります。
結果はだめでした。 ユンゲラーとゴーストで試しましたが、どちらも進化せず。

というわけで、通信なし進化は進化ルーチンに未知のバグが無い限り不可能です。残念。

カテゴリー:セレクトバグ