調査
- 日本語の環境で、そのままの状態では、何も起こらないことを確認した
- コメントによると、
「This mod is not compatible with non English game environments. If you want it to be compatible, you need to translate "initial" and "major" in the DLL into your language.」
とのことで、日本語に翻訳する必要がありそうと思った - modフォルダにソースファイルを発見した
- ソースファイル内に、
"initial"
と"major"
の文字列を発見した[MustTranslate]
とも書いてあり、やはり翻訳が必要の様だった - Assembliesフォルダに、DLLがある事を発見した。このMODはDLLの様だと思った
- xmlファイルはない様で、単純には日本語適用できそうにない気がした
"initial"
と"major"
が何を意味するのか不明だったが、どうやら、食中毒(初期症状)、食中毒(重大)
が、英語でFood posisoning(initial)、Food posisoning(major)
の様で、カッコ内の文字列に対応しているようだった- 英語環境では、食中毒でベッドに行けることが分かった
- DLL内文字列をバイナリエディタでいじれるか試してみたが、やっぱり無理だった
- よって、日本語環境で適用するには、再コンパイルが必要である気がしたので、やってみた
Visual Studio 2022 コミュニティ インストール
- クリーンインストールする機会があったので、参考までに。
- もしもこのためだけにVS2022をインストールする奇特な人がいたら以下参考
- Visual Studio 2022 コミュニティをダウンロード
- ダウンロードしたインストーラーを起動
- C#があればどれでもいいと思うが、.NETデスクトップ開発を選択する
- 個別のコンポーネントで”.NET Framework 4.7.2″が含まれていることを確認する
- インストールする
Bed Rest For Food Poisoning 再コンパイル
RimWorld mod作成環境構築の参考リンク
Bed Rest For Food Poisoning
のmodフォルダのソースファイルを一式コピー- 場所:
\steam\steamapps\workshop\content\2941002567901366\1.5\Source
- 場所:
- プロジェクトファイル「
Source.csproj
」を開く。以下環境設定- ソリューションエクスプローラーのレンチアイコン[プロパティ]をダブルクリック
- [アプリケーション]
- [アセンブリ] と [名前空間] が
BedRestForFoodPoisoning
を確認
- [アセンブリ] と [名前空間] が
- [ビルド]
- [出力パス] が
..\Assemblies\
を確認 - 「詳細」を開き、「デバッグ情報」を「なし」を確認
- [出力パス] が
- [アプリケーション]
- 必要DLLの導入/設定
- ソリューション エクスプローラーの「参照」を右クリックし「参照の追加」をクリック
- 「参照…」をクリック
- フォルダに移動
\steam\steamapps\common\RimWorld\RimWorldWin64_Data\Managed
- ファイル選択
Assembly-CSharp.dll
UnityEngine.CoreModule.dll
- 「追加」をクリック
- 「OK」をクリックして、参照マネージャーを閉じます
- ソリューション エクスプローラーの「参照」内、
[Assembly-CSharp]
を右クリックし、[プロパティ] ペインをひらく- [プロパティ] ペインにて、[ローカルにコピー] を [False] に設定する
[UnityEngine.CoreModule]
も、[プロパティ] ペインにて、[ローカルにコピー] を [False] に設定する
- ソリューション エクスプローラーの「参照」を右クリックし「参照の追加」をクリック
- ソリューションエクスプローラーのレンチアイコン[プロパティ]をダブルクリック
- HarmonyModのDLL追加
- HarmonyMod(https://github.com/pardeike/HarmonyRimWorld)をダウンロードし、適当な場所にコピー
- 参照、追加で、
\Current\Assemblies
の[0Harmony.dll]
、[HarmonyMod.dll]
を追加 [0Harmony]
、[HarmonyMod]
の[プロパティ] ペインにて、[ローカルにコピー] を [False] に設定する
- ここで、メニュー「ビルド」-「ソリューションのリビルド」してみる
- ビルド後のコマンド
[powershell -ExecutionPolicy Bypass ....\Deploy.ps1]
が不明だが、Sourceフォルダ同階層のAssemblies フォルダーにDLLが更新作成できていれば成功
- ビルド後のコマンド
Patch_HealthAIUtility.cs
ファイルを開き、"initial" 、 "major"
を、"初期症状"、"重大"
に変更する- 修正後
[MustTranslate] private static string initial = "初期症状"; [MustTranslate] private static string major = "重大";
- 修正後
- 再リビルドし、DLLを入れ替える
- 日本語環境で、
食中毒(初期症状)、食中毒(重大)
でベッドに行けるようになっていたら完了
コメント