最終更新: mugekurieita 2018年04月21日(土) 16:18:00履歴
・テキストエディタ
XMLを作成・編集する時に使います。
・Visual Studio Community
C#のコードを書いたり、DLLを生成する時に使います。
インストール時に.NETデスクトップ開発を選択しておく必要があります。無い場合はメニューからファイル-プロジェクト-新しいプロジェクトと開いて、青文字の VisualStudioインストーラーを開く からインストールしてください
・ILSpy
ゲーム内部のソース(Assembly-CSharp.dll)を見る時に使います。
通常のほうだとちゃんとデコンパイルされない場合があるので、Zentar氏が作成した方を推奨します。
Zentar氏のILSpy:ダウンロード
XMLを作成・編集する時に使います。
・Visual Studio Community
C#のコードを書いたり、DLLを生成する時に使います。
インストール時に.NETデスクトップ開発を選択しておく必要があります。無い場合はメニューからファイル-プロジェクト-新しいプロジェクトと開いて、青文字の VisualStudioインストーラーを開く からインストールしてください
・ILSpy
ゲーム内部のソース(Assembly-CSharp.dll)を見る時に使います。
通常のほうだとちゃんとデコンパイルされない場合があるので、Zentar氏が作成した方を推奨します。
Zentar氏のILSpy:ダウンロード
[1-1]プロジェクト作成ウィンドウを開く
・メニューから「ファイル」→「新規作成」→「プロジェクト」を選択する。
[1-2]プロジェクトの種類の選択
・左側で「インストール済み」を選択し、「テンプレート」→「Visual C#」を選択する。
・右側で「クラス ライブラリ(.NET Framework)」を選択する。
[1-3]プロジェクト名とプロジェクトの場所の指定
・プロジェクト名はお好みで
今回は「TutorialMod」に指定
・プロジェクトの場所もお好みで
今回は「<RimWorldをインストールしたフォルダ>/Mods/<このMODのフォルダ>/Source」に指定
・「ソリューションのディレクトリを作成」「ソース管理に追加」のチェックを入れないで、「OK」ボタンを押す
・メニューから「ファイル」→「新規作成」→「プロジェクト」を選択する。
[1-2]プロジェクトの種類の選択
・左側で「インストール済み」を選択し、「テンプレート」→「Visual C#」を選択する。
・右側で「クラス ライブラリ(.NET Framework)」を選択する。
[1-3]プロジェクト名とプロジェクトの場所の指定
・プロジェクト名はお好みで
今回は「TutorialMod」に指定
・プロジェクトの場所もお好みで
今回は「<RimWorldをインストールしたフォルダ>/Mods/<このMODのフォルダ>/Source」に指定
・「ソリューションのディレクトリを作成」「ソース管理に追加」のチェックを入れないで、「OK」ボタンを押す
[2-1]プロパティを開く
・メニューから「プロジェクト」→「<プロジェクト名> のプロパティ」を選択する。*1
[2-2]アプリケーションの設定
・「アプリケーション」を選択する。
・ターゲット フレームワークを「.NET Framework 3.5」に指定する。
・ターゲット フレームワークの変更のウィンドウが出てきたら「はい」を選択する。
・アセンブリ名と規定の名前空間はお好みで
[2-3]ビルドの設定
・「ビルド」を選択する。
・構成を「すべての構成」に指定する。
・出力パスを「<RimWorldをインストールしたフォルダ>/Mods/<このMODのフォルダ>/Assemblies」に指定する。
[1-3]のとおりにプロジェクトの場所を指定した場合、「../../Assemblies」でもOK
・「詳細設定」ボタンを押し、デバッグ情報を「none」に指定する。
・メニューから「プロジェクト」→「<プロジェクト名> のプロパティ」を選択する。*1
[2-2]アプリケーションの設定
・「アプリケーション」を選択する。
・ターゲット フレームワークを「.NET Framework 3.5」に指定する。
・ターゲット フレームワークの変更のウィンドウが出てきたら「はい」を選択する。
・アセンブリ名と規定の名前空間はお好みで
[2-3]ビルドの設定
・「ビルド」を選択する。
・構成を「すべての構成」に指定する。
・出力パスを「<RimWorldをインストールしたフォルダ>/Mods/<このMODのフォルダ>/Assemblies」に指定する。
[1-3]のとおりにプロジェクトの場所を指定した場合、「../../Assemblies」でもOK
・「詳細設定」ボタンを押し、デバッグ情報を「none」に指定する。
[3-1]dllの追加
・メニューから「プロジェクト」→「参照の追加」を選択する。*2
・「Assembly-CSharp.dll」「UnityEngine.dll」を追加する。
これらのdllは「<RimWorldをインストールしたフォルダ>/RimWorldWin_Data/Managed」内にある。
[3-2]dllのプロパティの設定
・ソリューションエクスプローラーの参照の「Assembly-CSharp」を右クリックし、「プロパティ」を選択する。
・ローカルにコピーを「False」に設定する。*3
・ソリューションエクスプローラーの参照の「UnityEngine」も同様にローカルにコピーを「False」に設定する。
・メニューから「プロジェクト」→「参照の追加」を選択する。*2
・「Assembly-CSharp.dll」「UnityEngine.dll」を追加する。
これらのdllは「<RimWorldをインストールしたフォルダ>/RimWorldWin_Data/Managed」内にある。
[3-2]dllのプロパティの設定
・ソリューションエクスプローラーの参照の「Assembly-CSharp」を右クリックし、「プロパティ」を選択する。
・ローカルにコピーを「False」に設定する。*3
・ソリューションエクスプローラーの参照の「UnityEngine」も同様にローカルにコピーを「False」に設定する。
・詳しい内容はここでは省略。
[4-1]XMLを書く
・ThingDefなどを記述したXMLファイルを作成する。
[4-2]C#のコードを書く
・XMLファイルのDefで指定した自作クラスを作成する。
(例)ThingDefの<thingClass>、<comps>内の<li>のClass属性、<li>内の<compClass>などで指定したクラス
[4-1]XMLを書く
・ThingDefなどを記述したXMLファイルを作成する。
[4-2]C#のコードを書く
・XMLファイルのDefで指定した自作クラスを作成する。
(例)ThingDefの<thingClass>、<comps>内の<li>のClass属性、<li>内の<compClass>などで指定したクラス
[5-1]Releaseビルドをする
・メニューから「ビルド」→「構成マネージャー」を選択する。
・アクティブ ソリューション構成を「Release」に設定し、構成マネージャを閉じる。
・メニューから「ビルド」→「ソリューションのビルド」を選択する。
・[2-3]で指定した出力パスに「<アセンブリ名>.dll」が生成される。
・メニューから「ビルド」→「構成マネージャー」を選択する。
・アクティブ ソリューション構成を「Release」に設定し、構成マネージャを閉じる。
・メニューから「ビルド」→「ソリューションのビルド」を選択する。
・[2-3]で指定した出力パスに「<アセンブリ名>.dll」が生成される。
・RimWorld起動時に「Oops! The game crashed. The crash report folder named "****-**-**_****" next to game executable.(以下略)」が表示された場合、
「Assemblies」フォルダ内にpdbファイルがある可能性があります。
その場合、そのpdbファイルを削除し、[2-3]の「デバッグ情報を「none」に指定する。」を試してください。
「Assemblies」フォルダ内にpdbファイルがある可能性があります。
その場合、そのpdbファイルを削除し、[2-3]の「デバッグ情報を「none」に指定する。」を試してください。
公式フォーラムのMOD制作に関連するカテゴリです。
ピン留めされているSubjectを覗くとけっこう良さげ。
MOD作成の基本的なことやPawnのJobやUIの説明などがあります。
The Plague Gun(当たった相手をペストにする銃)を追加するMODの作成チュートリアル
環境構築からやっています。
既存のコードの処理を書き換えたり、privateフィールドやメソッドにアクセスするのに役立つライブラリ。
MOD制作に役立つライブラリ。
Harmonyを含んでいます。
ピン留めされているSubjectを覗くとけっこう良さげ。
MOD作成の基本的なことやPawnのJobやUIの説明などがあります。
The Plague Gun(当たった相手をペストにする銃)を追加するMODの作成チュートリアル
環境構築からやっています。
既存のコードの処理を書き換えたり、privateフィールドやメソッドにアクセスするのに役立つライブラリ。
MOD制作に役立つライブラリ。
Harmonyを含んでいます。
コメントをかく