キモブロ

Please spy check please, Fucking retard

他の人のcfgと比較してcvarの設定の違いをキレイに見れるやつ作った。

概要

これは自分のcfgファイルと誰かのcfgファイルを指定すると、設定が違うcvarだけ表示できるというもの。2つのautoexec.cfgのパスを指定するとそれぞれ内部でexecしてるcfgを自動で探して読み込んで、その上で違いを表示してくれる。TF2向けに作ったけどたぶんL4D2でもdota2でも使える。

コード

ただしまだRubyで適当に作っただけ。WEBサービス化はするモチベーションあったらするみたいな感じで。
https://gist.github.com/3986233

使い方と利用例

まず自分のcfgと誰かのcfgを比較してみる

$ ruby ./cfg_diff.rb ./cfg1/autoexec.cfg ./hudcfg/cfg/autoexec.cfg
Only exist in b: sv_cheats = '0'
Diff: fps_max: a = '120', b = '132'
Diff: r_decals: a = '200', b = '100'
Diff: mat_shadowstate: a = '0', b = '1'
Diff: r_shadowmaxrendered: a = '0', b = '11'
Diff: r_shadowrendertotexture: a = '0', b = '1'
Diff: r_shadows: a = '0', b = '1'
Only exist in b: blink_duration = '0'
Diff: r_eyes: a = '0', b = '1'
Only exist in b: flex_rules = '0'
Only exist in b: flex_smooth = '0'
.. (省略)

大量に出力された。

  • Only exist in aてのは左側に指定したautoexec.cfgのみに存在するcvar。
    • 先ほど述べたようにautoexec.cfgからexecされているcfgに含まれているcvarも内部的に調査してくれている。
  • Diffってのはどちらのautoexec.cfgにも記載してあって、値が違うもの

というわけでgrepコマンドを使って2人のcfgのうち、値だけが違うものを抽出するにはこんなかんじで

$ ruby ./cfg_diff.rb ./cfg1/autoexec.cfg ./hudcfg/cfg/autoexec.cfg  | egrep '^Diff'
Diff: fps_max: a = '120', b = '132'
Diff: r_decals: a = '200', b = '100'
Diff: mat_shadowstate: a = '0', b = '1'
Diff: r_shadowmaxrendered: a = '0', b = '11'
Diff: r_shadowrendertotexture: a = '0', b = '1'
Diff: r_shadows: a = '0', b = '1'
Diff: r_eyes: a = '0', b = '1'
... (省略)

これを見れば分かる通り、

  • fps_maxが左側は120だが、右側は132と指定しており相違している
  • mat_shadowstateが左側は200だが、左側は100と指定しており相違している