スポンサーサイト

--–--–-- (--) --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

それでも僕はやってない

2015–02–11 (Wed) 13:32
Arma3の現代戦MOD、RHS:Escalationが人気なので、既存のミッションのユニットをRHSに置き換えることにしました。
何かの参考になればと思い、私のとった方法を書き残します。とても野暮ったい方法で作業をしましたので、もっとスマートな方法をご存知の方は是非教えてください。




この作業では、置き換え元のvanila(BI純正)のクラスネームと置き換え後のRHSのクラスネームが対応するような表を作成し、置換ソフトを利用してmission.sqmを一括で変更します。

まずBIKIのcfgVehiclesの項からvanillaのクラスネームを取得します。
このページの内容のうち、左側の親クラス名と右側のユニット画像は必要なく、真ん中のクラスネームのみを抽出する必要があります。
ページ内のコンテンツをクリップボードにコピーし、テキストエディタに貼り付けることで右側のユニット画像を削ぎ落とます。
さらに表計算ソフトに貼り付け、ソートすることで単語の前にスペースの入ったクラスネームと、そうでない親クラス名を並び替え、親クラスを削除します。
出来上がったクラスネーム一覧はcsvファイルに保存します。
なお、six config browserからは上手にクラスネームのみを一括取得することができませんでした。

textCopy.png


次に置き換え対象のクラスネームを取得します。
RHSではdocumentationが充実していますが、アメリカ兵など一部のユニットが欠けています。
欠けているクラスネームを取得するためには、該当ユニットが登場するミッションを作成し、mission.sqmを参照したり、addonから直接取得する必要があります。
addonから直接取得する際には、目当てのユニットが格納されているであろうpboファイルをelitenessで解凍し、その中に含まれているconfig.binをさらにelitenessで開き、cppファイル形式で保存します。
保存したファイルを表計算ソフトで開くと、下図3924行目のようにコロンで区切られたクラスネームを見つけることが出来ます。
下図で使用したRHSのrhsusf_c_troops.pboは歩兵ユニットとグループの両方を含んでいるファイルで、上3900行はグループの記述に使われていましたので、削除します。

cpp.png

そして、クラスネームの含まれる2番目のカラムを基準にソートすることで、下図のようにクラスネームと親クラスの一覧のみを抽出します。

cpp1.png

さらに、このconfig.cppでは"クラスネーム:親クラス"という形で記述されているため、コロン以下を「:*」のような置換処理で削除し、語頭の「class 」も置換処理で削除します。
"クラスネーム:親クラス"という並びの見方はgachopinさんに教わりました。ありがとうございました。

先に作成したvanilaのcsvファイルを表計算ソフトで開き、vanilaのクラスの右側に置き換え対象のクラスネームが対応するように書き加えます。
もちろん、複数のvanilaユニットが同じ置き換え対象と対応していても問題ありません。

ここまでの作業で私が作成したcsvファイルをtxtに変更したものがこちらです。
vanila2RHS02.txt


フリーの文書置換ソフトMultiReplaceをDLし、区切り文字を"/"から","に変更し、ここまでで作成したcsvファイルの内容を下図のように置換リストにペーストし、ミッションのsqmファイルを置換処理すれば作業は終了です。

mtR.png





« 本年も変わらぬご愛護をいただきたく | HOME |  日は登り落ち折り返し地点 »

コメント

コメントの投稿

 
管理者にだけ表示

トラックバック

トラックバックURL

http://monopod.blog38.fc2.com/tb.php/213-777e754d

⇒ この記事に対してトラックバックを送信する(FC2ブログユーザー)

 | HOME | 

プロフィール

Monotone

Author:Monotone
わーいぐだぐだランドでーっす

最新記事

最新コメント

月別アーカイブ

カテゴリ

検索フォーム

RSSリンクの表示

リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。