さすがに休日だけあって昼過ぎまで寝る。 黒いスニーカーを買わねばならぬことを思いだし、 2 時ごろようやく起き出す。 靴屋に行く前に図書館に本を返しにいくことにする。 ついでに本を借りる。 濱田靖一「イラストでみる組体操・組立体操」。 フェステの役づくりにするつもり。
昨年レッドウィングのワークブーツを 3 万円なりで購入した折、 会員になった靴屋へ。 靴だけでなくスウェットとかなンかもおいてあって、 靴屋というよりスポーツ洋品店てな趣の店である。 黒いスニーカーを探すっていうか、 もとよりスニーカーはアディダスと決めているのでその辺のコーナーへ。 できればオフィシャルかマスターズでも、 なにかの間違いでおいてないかと思ったが当然のように見当たらず。 しかしなんだね、ああいったオーソドックスでかついい感じの靴がなくなっちゃったってのは、 やっぱりナイキのエアなんとかが世の中を席巻しちまったせいですかね。 だいたいさ、バスケットの試合で履くならわからないでもないようなシューズを 普段から履いてる奴の気が知れないっての。 歩きにくいだろ、逆に。
あたしが足元を気にするようになった頃は、アディダスがブームでした。 今でこそラップなんてもンは当たり前に聴かれるようになりましたが、 まあ当時はいっときのはやりもん的なあつかいでした。 そのラップの歌い手のグループがヒットさせたプロモ・ビデオで履いていたのが アディダスのスーパースターっていうんで話題になったんですな。 しかも普通に履くんではなくて一回り小さ目のを履いて、 靴紐をあまずにベロを外に出すというか立てるという奇抜な履き方でした。 中途半端な訳知り顔のやつなんかは K-Swiss で真似してましたな。
今でこそスーパースターはどこででも手に入りますが、 当時は生産が終了していて手に入らなかったンです。 それはいてセンター街とか歩いたらもう注目の的だったらしいですな。 で、しばらくしてレプリカが再販されて今にいたるわけです。 オリジナルとの違いはべろのところのロゴがキンクロかシロクロかってとこ。 途中なんかデザインが変更されたことがあったような気がします。
で結局黒いのはスタンスミスのベロクロの奴となんか名前のわからないのしかない。 スタンスミスはベロクロンとこにでっかくロゴがかかれているのでパス。 もう一つのほうは展示品限りでしたがちょうどぴったりのサイズ。 ただワイズがやや狭かったものの、まあ履いてるうちに皮もなじむだろうと購入。 ついでにスウェットのパンツと、ジャケットも。
そういや下着も買わねばの娘だったのを思いだし、近くの服屋へ。 買い物ンでるとついでついでで余分に買いたくなるもの。 コール天のシャツが目についたがサイズが合わず、 隣においてあったネルシャツにする。 しかしこちらも気に入った柄にサイズがない。 ので、妥協して一枚。 気にいったのがなけりゃあ買わなきゃいいようなもンですが、 すでに買うというモードにスイッチがはいっちまうともういけませン。 なンですか一種の代償行為ですかねこれは。
さらについでにジーンズのコーナーへ行くとよさげなデニムシャツがぶら下がっている。 そういやシャンブレの袖のボタンが取れちまっていたななどと思いだし、購入。 ボタンが取れたからといって新しいのを買ってたらたまンないね。 取れたボタンが何やら特殊な形をしているので、代用がきかないのがきつい。 これ以上長居をしていると上から下までそろえてしまいそうなので、今日はこれまで。
帰ってからまた Shade でモデリング。 布をモデリングしてみてわかる自由曲面のありがたさ。 ああ、テクスチャとかマッピングとかもそっと凝ったほうがよいのだろうが、 時間がないので手抜き。反射率とか透過率を調整するのみ。
一段落して、久しぶりに新 OS で起動してメールをチェック。 8 日付けで vector サイトで公開しているソフト bmp2rgn に対する問合せのメールがきていることに気づく。 とりあえず現象が再現するデータを送っていただくように返信しておく。
体がしびれて起きられず、休みを取る。
小道具につかうでかいゴリラのぬいぐるみを稽古に持っていく。 何でうちにこんなもンがあるのか不明だが、あるんだからしかたがない。 稽古では組み体操の本を見ながらアクロバティックな動きの練習。 からだの小さいのがいるので振り回しやすくて結構。
bmp2rgn のデータ到着。 みた限りでは正常なデータである。 手元に開発環境が整っていないので、 明日用意して動かしてみることにする。
1 年ぶりくらいに Microsoft® Visual Studio® を起動。 つかい方を忘れちまっている。 ま、それ以前に bmp2rgn 自体、 開発環境なンぞつかわずに Meadow と nmake で作ってる。 添付したサンプルプログラムも MFC をつかっていない。 いやホント時代を逆行してるネ。 さすがに mingw はつかわなかったが、 mingw には、 stringstream クラスがつかえるようになったら移行しようと思ってた。 しかしその前に Java のほうに興味と仕事が移ってしまった。 で、今回はテストプログラムをつくらにゃならンので、 お手軽にウィザードで雛型を作成した次第。
しかし普通に動いてるね。再現しないヨ、どーも。
朝っぱらから父の様子がおかしいので、 妹に医者に看せるように連絡をいれておく。 と、どうやら入院させることにしたらしい。 1 年半程前に脳梗塞をおこしているので念の為である。 いっそのことポックリいってくれたほうが気が楽だ。 いや、親不孝だね俺も。 とはいえ実際問題、要介護が二人ンなったンじゃあ、たまったもンじゃあない。
早退して病院へ。 まだベッドが空かないらしく、点滴室で点滴を受けながら横になっていた。 みると顔に赤みがさしているので、まあ大丈夫だろうと素人判断。 脳梗塞をおこしたときは真っ白だったからねえ。 結局今日退院予定の爺さんの迎えが遅れているらしく、 8 時ごろンなってようやく病室に移れた。 よっぽど爺さんを引き取るのがいやだったのかい?
久しぶりに母の顔をじっくりみたが、だいぶやせたようだ。 腕も鶏がらのように細くなっていた。 こりゃあ長くないんじゃないかとふと思ったりする。 やはり身内が病気になると考えがマイナスに向かうようだ。 第一寝てるだけなんだからヘタするとおいらなんかより長生きするんじゃないかネ。 もっともそれで幸せとも限らないが。
現象が出るデータを間違えていたそうで、 新しいファイルが送られてきた。 ハイ、確かに再現しました。 しかもこの再現のしかたには思い当たるフシが。
そもそも Windows のビットマップオブジェクトは、
メモリ中では一行のバイト数を 32 ビットアラインメントに配置していると聞く。
多分描画速度向上のちょっとしたテクニックであろうことはたやすく察しがつく。
で、
勘違いしていたのは、
それがデバイス依存ビットマップ (DDB) での話だけだと思っていたこと。
デバイス非依存ビットマップ (DIB) でも同じ仕様であったようである。
Platform SDK で確認したらちゃんと
The scan lines are DWORD aligned, ...
とかこそっと書いてありやがる。
解決策はみっつ。
ま、1 は Out of 論外として。 2 はこんなデータ構造の設計をしたやからの軍門に下るような気がして業腹だ。 大体、 ワード境界に配置したからっていってそんなにパフォーマンスが違うものかね。 286 とか 386 とかの時代だったら違ったのかもしれんな。 納得。 それにしたってそんな余計なパディングを取り去る関数とか作っといたってバチはあたらんだろうに。 というわけで 3 番目の作戦をとることに。 つまり元はロードしたビットマップを 1 ピクセル 24 ビット(3 バイト) の DIB に変換していたわけだが、 これを 1 ピクセル 32 ビットの DIB に変換することにした。 データ的には約 1.3 倍増。 富豪である。
結局今日は外に出ても中途半端になると思われたのでパソコンの前にしがみつくことに。 こんなことしてないでせりふの一つもおぼえろよって気も。 んで久しぶりに EasyPackage 更新したろかと思ったら、 いつのまにかクローズしてたんですな。 お寂しい限りでございます。 やはりここは人任せにせず、あえて茨の道を選び、 ソースからコンパイルすんのがオトコの意地はど根性でやんしょうか。
でまあそれはさておき、X がバージョンアップ (4.2) したらしいので、 さっそくバイナリをゲットしてインストール。 なんか今回のバージョンから X_LOCALE オンになったようで、 EasyPackge のバイナリがあらかた日本語に対応できなくなった模様。
てなわけで、Canna をダウンロードしてコンパイルにチャレンジ。 しかししょっぱなからハマる。 ファイルが見つからないとか、 シンボルが重複しているとか。 適当に見当つけて変更してなんとかバイナリは出来上がったけど、 起動しようとしたら初期化に失敗したといって起動せず。 虚脱。