VPKファイルの展開と圧縮してくれるrubyモジュール作った
VPKってのはValve Pakの略で、Valve製のゲーム(Left4Dead2とかPortal2)での素材を保存するために使われてるアーカイブ形式で、あえて圧縮はされてない(パフォーマンスのために)。拡張子ごとにデータがまとまってたりとか、ほんとにFPSに特化したファイルフォーマットって感じ。のパーサーを書いた。
https://github.com/kimoto/vpk
なんでこんなモノ書いたのかって言うと、Windowsでしかまともに動くvpk圧縮ツールがなかったから。Linux上でvpkを生成出来るようになれば、自動生成したHUDとかMODを簡単に公開できるようになるからね。インストールはgem install vpkで出来る。以下使い方
VPKファイルの展開
require 'vpk' vpk = VPK::VPKFile.new("./VPKのパス.vpk") vpk.extract_to("./どこに解凍するか")
VPKファイルをディレクトリから生成する
require 'vpk' vpk = VPK::VPKFile.archive("./ディレクトリのパス") vpk.write_to("./生成後のVPKのパス")