mieki256's diary



2019/10/21(月) [n年前の日記]

#1 [python][pyxel] Pyxelをアップデートしてハマったり

Windows10 x64 1903上で、Python 2.7.15 を 2.7.17 に、3.7.1 を 3.7.5 に更新したついでに、Python でファミコンライクな2Dゲームが作れる pyxel というモジュールも 1.0.1 から 1.2.8 に更新したのだけど。

pyxel を使って以前作成した、画像やサウンド等を含んだリソースファイル (.pyxel) が開けなくなってしまった。pyxeleditor hoge.pyxel としても、何も出てこない。

_Pyxel 1.0 から 1.1 への移行方法 - kitao's blog

上記の記事によると、リソースファイルの拡張子が .pyxel から .pyxres に変更されたようで。pyxeleditor で旧フォーマットも開ける、と書いてあるように見受けられるのだけどな…。

拡張子を .pyxel から .pyxres に変更すれば読めるようになるのかなと試してみたけれど、
terminate called after throwing an instance of 'std::runtime_error'
  what():  bad zip
と表示されて強制終了してしまう。おそらく、今現在の .pyxres は実態が zip だけど、当時の .pyxel はそうではないので、zipファイルだろうと思い込んで開こうとしてなんだコレzipじゃねえぞと文句を言って終了しちゃうのかなと。

すると当時は、一体どういう仕様・フォーマットで、内容を保存していたのだろうか…。どこかに資料でもあるんだろうか。コンバータ・変換ツールの類を書く必要があるのでは。

そもそも本当に昔のバージョンなら開けるのだろうか。pyxel 1.0.2 に戻してみる。
pip uninstall pyxel
pip install pyxel==1.0.2
この状態で pyxeleditor hoge.pyxel をしてみたら、ちゃんと開けた。うーん。

以下の記事を目にして謎(?)が解けた。

_Pyxel 1.2.0 の紹介 - Qiita
_ひさびさにpyxelで遊ぼうと思ったら詰まった。|こいでみず|note

pyxel 1.1.x までは pyxeleditor で旧フォーマットも開けたけれど、pyxel 1.2.x からは旧フォーマットを切り捨てることにしたらしい…。現行フォーマットに変換したい場合は pyxel 1.1.8 を一旦インストールして、その版の pyxeleditor で開いて保存せよ、とのこと。
pip uninstall pyxel
pip install pyxel==1.1.8
pyxeleditor hoge.pyxel

以上、1 日分です。

過去ログ表示

Prev - 2019/10 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project