1656 日目(晴れ)昔作ったと思っているものが実は存在していなかったと知ると凹む
何かデバッグが上手くいかないと思って元データを調べたら、ドラクエ 3 の店屋構造体のレイアウトが 1 バイト余計 だった。つまり、間違いを含んでいたのは自作ツールではなく『ドラクエ命』の記述のほうだった。これは修正するのが厄介だ。
あと hexdump
の練習をしたほうがいい。今からでも遅くない。
2:25 消灯。就寝。
7:05 起床。納豆、梅粥、バナナ。歯を磨く。出勤。
7:45 現場。久々の不燃ゴミの日。それよりも通常ゴミの処理のほうが面倒だ。プラスチックを洗うのがきつい季節になりつつある。
残りの階の掃除機回し。外はほうき。
10:10 撤収。
10:20 ビッグエー墨田京島店。749 円。
- ざるそば
- 和風そば (150)
- オニオンとレタスのミックスサラダ
- 大根と水菜のミックスサラダ
- バナナ (3)
- 絹豆腐 (3)
- 梅粥
曳舟の部屋。PC を開く。
ドラクエ 3 の店屋ダンプデータを修正する。CSV の最後の列が要らない。Stack Exchange にいいのがあった:
text processing - Is there a command line spell to drop a column in a CSV-file?
11:15 ローカルでの修正を完了。他にもこういうのがありそうで怖い。ダンプツールの対応と並行して調べるのが良い。
11:30 足立区やよい図書館逃避行のビデオを Twitter に予約投稿。昼休み明け一発。
ダンプツールの説明文を考える。文章になるとツールの使い勝手の悪さをごまかせない。 複雑なテキスト入力が必要なのがおかしいのか。
12:00 豆腐、カットサラダ、ベビーチーズ二かけら、ざるそば、バナナ二本、砕け散った黒胡椒せん。
12:55 歯を磨く。
【B級順位戦1組】降級ルートからの脱出に成功! 羽生善治九段VS高見泰地七段【将棋ファン反応集】: 会長は降格待ったなしだと思っていたのがついこの間。
UNIX hexdump
ツールの解説を読む:
Making Sense of Hexdump | SUSE Communities
: この記述で十分だ。
- オプション
-s, --skip <offset>
で先頭指定バイトを飛ばす。 - オプション
-e, --format <format>
を使いこなしたい。M/N
表記は「オブジェクトサイズ」「個数」の意。M
を段階的に「細分」して書式を定める。- ドラクエ解析の場合には
%d
を使いたい物に対しては%u
を使うことになる。 - 文字列系書式
%s
,%c
,%_p
,%_u
, etc. も使わない。 %_a
は使う場合がある。
- ビットマスク指定機能はない。
- オプション
-n, --length <length>
でダンプ部分の長さをバイト数で指定する。
14:20 排便。
14:55 だいだい習得した。
# 習作
DQ3=/path/to/dq3.smc
size=8
num=0x33
hd -v -s 0x030900 -n $(($size * $num)) -e '1/1 "%06_ax: Type|Flag=%3u; Inventory=(" 6/1 "%02X," 1/1 "%02X" ")\n"' $DQ3
18:10 昼寝。
19:50 起床。外出。冬のように寒い。
20:15 コモディイイダ東向島店。2226 円。靴を一足調達しておく。
- 油淋鶏弁当
- メロンパン
- メンズスニーカー
曳舟の部屋。入浴。
風呂から出る。PC を開く。豆腐、カットサラダ、油淋鶏弁当、割れていないせんべい二枚、メロンパン。せんべいがけっこう手に入ったので、当分は無駄におかずを衝動買いしなくて済むだろう。
- ロマンシングサガ2 リベンジオブザセブン #9 昔の記憶を頼りにプレイ【ロマサガ2リメイク】【ネタバレ】【ゆっくり実況】: 一癖ある頭脳派キャラという感じの英雄が登場。
- 菜々河さんだけずるい!(笑)【なるるのゆっくり将棋実況】 : 寄せの手前くらい限定で、手がなんとなく読める。
22:00 歯を磨く。排便。
『ドラクエ命』に対する昼間の修正ブランチを GitHub にプッシュ。バグ修正が他にもあるだろうから今月を目処にプールしておく。
ダンプツール関連の作業。README 更新など。
引き続き逆アセンブルツールへ。WDM
命令で AssertionError が送出するくらいでまあまあ動作するようだが、何かがおかしい。
23:15 CLI を作っていなかったことが判明。作りかけで放置していたのか? これは次回バージョンで実装しよう。WDM
命令の件もそのときに解決する。ひとまずは応急処置とテスト追加を施す。