2.49b向けのマルチバイトパッチ

2.5での日本語表示を調べていて、内部的には2.49bとあまり変わっていないことがわかった。なので、むしろ2.49b向けに日本語パスを扱えるようにパッチを書いた。
http://gunload.web.fc2.com/blender/download.html
に置いております。自前で2.49bをビルドしていて興味のある方はどうぞ。
まだ不完全だろうけど、ひとつひとつ生のopen, fopenなどのファイルパスにアクセスする関数を文字コード変換版に置き換えていけば直るんでないかと。
年初にメイン環境がWindowsに移ったためWindowsXPでしかテストしていませんが、基本的に#ifdef WIN32なので問題ないか。


修正内容は、open, fopenのような関数にBLI_open, BLI_fopen等の皮を一枚かぶせてそこでutf-8SJISの変換をやってしまうという方式で統一した。極力内部にSJIS文字列が渡らないようにしている。
ひとつ悩ましい点があって、pythonスクリプトでファイルパスを扱うものを書いている場合に修正が必要になるということがある。blenderのファイルセレクタ等から渡ってきたファイルパス文字列に以下の処理を追加する必要がでる。

filepath=filepath.decode('utf8')

でもBlender使いは日本語のファイル名はすべてAsciiにリネームしてから使っていそうな気がするので、たいした問題ではないような気もする。そうでなければ文字化けのファイルセレクタから目的ファイルを位置で覚えて選択していることになるから。英語圏でAsciiしか使っていない人には影響出ないように書いたけど2.4系ってまだバージョンアップするのかな。