준비물
- dotPeek
- Visual Studio: '워크로드>데스크톱 및 모바일>.NET 데스크톱 개발'과 '개별 구성 요소>.NET Framework 4.7.1 SDK&타기팅 팩'를 선택하여 설치
- 산소미포함 모드 템플릿: 'C:\Users\사용자이름\Documents\Visual Studio 2019\Templates\ProjectTemplates'에 압축해제
- uTinyRipper: 산소미포함 v466654까지 지원한다.
- 산소미포함 v466654
- 산소미포함 최신버전
[리버스 엔지니어링 용도로 게임 파일 뜯기]
1. dotPeek으로 Assembly-CSharp.dll를 불러온다.
- 위치: C:\Program Files (x86)\Steam\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed
2. 불러온 Assembly-CSharp.dll에 우클릭하고 Export to Project... 선택
3. Create *.sln file과 Open project in Visual Studio를 선택하고 Export
4. Visual Studio가 자동으로 열린다.
[모드 만들기]
1. '파일>새로 만들기>프로젝트'에서 검색하여 ONI Mod 템플릿을 연다.
2. 'C:\Users\사용자 이름\source\repos\솔루션 이름(sln 파일이 위치한 폴더)'에 폴더 lib를 만들어 참조할 dll 파일들을 불러온다.
- 참조할 dll 종류: 0Harmony.dll, Assembly-CSharp.dll, Assembly-CSharp-firstpass.dll, Unity.TextMeshPro.dll, UnityEngine.CoreModule.dll, UnityEngine.dll, UnityEngine.ImageConversionModule.dll, UnityEngine.UI.dll
- dll 위치: C:\Program Files (x86)\Steam\steamapps\common\OxygenNotIncluded\OxygenNotIncluded_Data\Managed
3. 솔루션 탐색기에서 솔루션 밑에 있는 게 프로젝트이다. 프로젝트에 우클릭하고 빌드
4. mod.yaml은 모드 이름&설명, Patches.cs는 모드 내용
5. dotpeek으로 디컴파일했을 때랑 dnSpy로 디컴파일했을 때 다르다.
6. dnSpy가 코드 복붙에서 더 긍정적인 결과를 보인다.
7. dll은 Bin\Release에 있는 걸 사용
'산소미포함 > Modding' 카테고리의 다른 글
K-Parser와 Spriter를 이용한 사용자 정의 애니메이션 만들기 (0) | 2021.07.11 |
---|