1. DefaultGameCore.ini 파일을 이용한 에디트

이넘 참...

C:\Program Files (x86)\Steam\SteamApps\common\XCom-Enemy-Unknown\Binaries\Win32

이 폴더에 있는 XComGame.exe 파일을 Resource Hacker를 이용을 해서 편집해야 한다는 것은 알려져 있다. 그런데 이렇게 수정을 해도 실제로 수정된 값이 먹지를 않는다.. 이유는 게임을 실행하면 Firaxis.com에 연결을 해서 거기에서 데이타를 받아오는데, 그 과정에서 XComGame.exe 파일을 덮어씌워버리기 때문에 그렇단다. 따라서 Resource Hacker를 이용을 해서 수정한 내용이 먹도록 하려면 세 가지 방법 중 하나를 선택을 해야 한단다..

1. 인터넷 연결을 끊어버린다.
2. 스팀을 Offline 모드로 실행한다.
3. hosts 파일을 편집한다.

2번 메뉴의 경우 Steam 메뉴에서 "오프라인으로 전환" 을 선택하면 된다... 그런데 이보다 더 간단한 방법이 있는데 세 번째 방법이다.

C:\Windows\System32\Drivers\etc
위 폴더를 찾아보면 hosts 라는 이름의 파일이 있다 이 파일을 메모장으로 열어준다.
그리고 맨 아래에 아래의 내용을 카피해서 붙여준다.

# Prevent XCOM Phone Home
127.0.0.1 prod.xcom.firaxis.com
127.0.0.1 65.118.245.165

그러면 이제 정상적으로 Resource Hacker를 이용을 해서 수정한 내용이 적용이 된다. 단 이렇게 하면 멀티는 불가능하다.
hosts 파일을 편집한 후 컴퓨터를 재부팅 할 필요는 없다. 편집하고 저장을 하자마자 편집 내용은 바로 적용이 된다.

관련 링크들:
Resource Hacker Homepage (영문)
Resource Hacker를 이용해서 XCOM 내용 편집하기 1 (한글)
Resource Hacker를 이용해서 XCOM 내용 편집하기 2 (한글)
모드 적용하는 방법 (영문)

기타.. 모딩과 관련된 내용들은

C:\Program Files (x86)\Steam\SteamApps\common\XCom-Enemy-Unknown\XComGame\Config

위 폴더 안에 있는 DefaultGameCore.ini 파일과 관련이 있다. 이 파일 이름으로 네이버나 구글등에서 검색을 하면 관련 내용들이 주루룩 나올것이다.

관련 링크들:
기타 XCOM EU에 대한 종합 정보 사이트 (한글)
기타 XCOM EU에 대한 종합 정보 사이트 (영문)

 

2. Cheat Engine Table을 이용한 메모리 에디트

이렇게 하면 DefaultGameCore.ini 파일로 건드릴 수 있는 부분들은 어느 정도 에디팅이 된다. 그런데 저격병의 테크트리를 분대시야를 찍었더니 게임을 하다보니까 저격병이 경계를 하지 못 하는 것과 이동을 한 후에 사격을 못 하는 것이 영 불편하다. 그래서 저격병이 경계와 이동 후 사격이 가능케 해 주는 능력을 찍으려니 분대시야 능력이 또 아쉽다. 그래서 이 두 가지 능력을 다 가지게 할 수 있을까 싶어서 알아봤는데.. DefaultGameCore.ini 파일에서는 에디트가 불가능한 것 같다. 결국 메모리 에디트로 눈길을 돌릴 수 밖에...

http://blog.naver.com/babo03101/50152873051

엑스컴 메모리 에디트는 아무리 검색을 해봐도 제대로 된 정보가 안 나온다. 유일하게 나온 것이 위의 블로그이다. 내용을 보아서는 위 블로그의 저자이신 행복한PD님은 치트엔진의 테이블을 사용을 하셨고, 그것으로 뭔가 에디팅을 성공 하신 것 같다. 그런데 어떻게 쓰는건지를 모르겠다...

Cheat Engine 포럼을 가보니 XCOM 에디트 테이블이 있다. 그런데.. 봐도 뭔 얘긴지 모르겠고 해도 뭔가 안 나온다.. 한참 들여다보고 있으니 이 파일을 사용하는 방법은 XCOM 병영 메뉴로 들어가서 특정 캐릭터의 개인 화면으로 넘어간 후 Barracks Soldier 메뉴를 선택하면 된단다. 그런데 나는 안 된다. OTL. 아마도 이 테이블이 만들어진 시점은 XCOM EU이 출시된 시점으로 SlingShop DLC가 발매되기 전이어서 그런 것 같다... 그래도 어떻게 써먹을 수 있는 방법이 없을지 끙끙대다 보니 그래도 한 가지 방법을 찾아낸 것이 있다.. 흐갸... Cheat Engine 포럼에 우리가 사용할 XComGame.CT 테이블을 올린 제작자가 남긴 팁이었는데 따라하니 된다. 그 방법을 남겨놓는다..

일단 치트엔진을 다운 받아서 설치를 해 놓은 상태를 가정하고 이야기를 풀어나간다. 치트엔진은 특정 프로그램의 메모리 상태를 직접 에디트 할 수 있는 매우 강력한 프로그램으로 필요에 따라서는 disassemble을 통해서 코드 자체를 편집을 할 수도 있어서 프로그램을 바꿀수도 있는 프로그램이다. 구글에서 Cheat Engine으로 검색하면 나온다. 이 글을 쓰는 2013년 8월 22 현재 최신 버전은 6.3이다. 무료 프로그램이지만 굉장히 강력한 프로그램으로 다운은 아래의 링크에서 받으면 되겠다. 파일 사이즈도 작고.. 하여튼 완소 프로그램이다. 보통 게임상의 돈과 같은 것을 메모리상으로 에디트 할 때는 치트 오메틱을 많이 사용하는 것 같다. 치트엔진은 치트오매틱과 비슷한 기능을 제공하면서 훨씬 다양한 기능을 제공한다.

http://cheatengine.org/downloads.php (영문)

 

치트 엔진의 설치를 마친 상태에서 아래의 사이트에서 XComGame dlc.CT 파일을 다운 받는다. 최신 업데이트인 업데이트 6을 받으면 될것이다. 치트엔진용 테이블 파일이다. 다운 받아서 그냥 더블클릭을 하면 치트엔진이 뜨면서 테이블 파일을 자동으로 불러올 것이다.

http://forum.cheatengine.org/viewtopic.php?t=558151&postorder=asc&start=180 (영문)


위의 XComGame dlc.CT 라는 파일이 다운받아졌다. 위 파일을 더블클릭 한다.



그러면 위와 같은 화면이 뜬다. 이제 XCOM 게임을 실행을 시킨다. 그리고 병영 메뉴로 이동을 한다. 중요하니 다시 강조.. 병영 메뉴로 이동을 한다. 그 상태에서 Alt+Tab 키를 눌러서 게임을 실행 한 상태에서 바탕화면으로 빠진다. 이제 치트엔진으로 현재 실행되어 있는 XCOM 게임을 불러와야 한다. 위와 FILE 메뉴 밑에 있는 컴퓨터 모양의 아이콘을 살포시 눌러준다.

 



XComGame.exe 파일을 선택을 한다. 그러면 치트엔진으로 XCOM 을 불러오게 된다. XCOM을 불러오는 과정에서 기존의 테이블 정보를 유지하겠느냐고 물어오는데.. 물론 유지한다고 해야 한다.

 



BARRACKS SOLDIER EDITOR 왼쪽의 체크박스를 클릭하면 다음과 같이 메뉴가 확장된다. 정상적으로 동작 하려면 오른쪽 <script> 밑으로 무슨 값들이 나와야 하는 것 같다. 그런데 2013년 8월에 Steam에서 구입을 한 XCOM은 일단 뭐가 안 된다.. 내가 구입한 패키지는 XCOM UE와 Slingshop DLC, Elite Pack이 포함되어 있는 버전이다. 이 때문에 한참 해맸다. 끙... Selected Solder ADDRESS에 정상적인 병사의 주소가 들어가야 하는 것 같은데.. 어쩐 일인지 저 주소가 정상적으로 동작하지 않는 것 같다.. 뭐 수동으로 찾아야지..

 



이제 병사의 정상적 주소를 찾아야 한다. XCOM 게임으로 다시 돌아간다. 그리고 병영 메뉴에서 자신이 고치고 싶은 병사를 선택을 해서 그 병사의 사용자 지정 메뉴로 이동한다. 그런 후에 음성 값을 4byte exact value로 검색을 한다. 1부터 시작해서 값을 바꿔가면서 검색을 해 주도록 한다.. 치트모드의 더 자세한 사용법은 치트모드의 사용 방법에 대해 다루는 다른 사이트들을 참고하기 바란다.

여기에서 주의할 점이 있는데 남성 캐릭터의 경우는 사용자 지정 메뉴의 음성 값을 그대로 검색하면 된다. 하지만 여성 캐릭터의 경우는 값이 다르다. 제작자가 여성 캐릭터는 남성과는 다르다는 말만 하고 어떻게 다른지는 안 알려줬다.. 그래서 여성 캐릭터의 값을 찾느라고 좀 해맸다. 여성 캐릭터의 값은 아래와 같이 찾아야 한다.

게임 안 화면상의 값 치트엔진에서 찾아야 할 값
1 12
2 13
3 14
4 49
5 50
6 51

게임 화면에 보이는 값이 3에서 4로 바뀔 때 치트엔진에서 찾아야 할 값은 14에서 49로 뛴다는 것이 함정이었다.. 이러니 값이 제대로 안 나오지 말이다.. 어쨋든 이렇게 찾으면 값이 보통 3개가 나온다. 그 중에서 끝이 10으로 끝나는 값이 제 값이란다. 나는 한 여성 캐릭터를 검색을 했는데 검색을 해보니 값이 3E1F1F10가 나왔다. 이렇게 나온 값에서 0x710을 뺀 값이 기본 주소이다.

 



0x710을 빼는 계산은 윈도우에 기본적으로 포함되어 있는 계산기를 이용하면 된다. 계산기를 실행을 하고 왼쪽 위의 보기 메뉴에서 프로그래머용(P)을 선택을 한다. 그런 후에 왼쪽에서 Hex에 체크를 한 후에 계산을 하면 된다. 필자는 기본 주소값으로 3E1F1800을 얻었다. 이 주소를 이용을 하면 병사들의 값을 수정할 수가 있다. 어떻게 수정해야 하는가?? 더 가보자..

 



아까 Selected Solder ADDRESS 행을 클릭한 상태에서 Ctrl+M 을 눌러준다. 그러면 위와 같은 메뉴가 뜬다. 여기에서 뭐 할 것은 없다. 이 창이 뜨면 다시 Ctrl+D 를 눌러주자.

 



그럼 위와 같이 비어있는 창이 하나가 뜬다. 저 위의 Group 1이라고 적혀있는 밑에 칸에 아까 구한 병사의 기본 주소를 넣어준다.

 



주소를 넣어 주었는데도 불구하고 아무런 일도 안 일어난다. 잘못된 것 아니다.. 그 후에 Structures 메뉴를 열어서 Barracks Soldier 메뉴를 선택을 해 준다. 그러면 아래와 같이 주르르 ~~ 뜬다.

 



이렇게 보면 뭐가 뭔지 모르겠다. 그런데 스크롤바를 밑으로 쭈욱 내리면 병사 에디트의 비밀들이 풀림을 알 수가 있다.

 



이제부터는 그 동안 갈고 닦은 영어 실력을 좀 발휘할 때가 되었다. 제일 왼쪽 값은 아까 찾은 병사의 기본 주소로부터의 offset이고 Description에 설명들이 나와 있다. 설명을 봐서 고치고 싶은 항목을 고쳐주면 된다. 내가 고치고 싶었던 것은 분대시야와 스냅샷을 동시에 가지는 것이었는데 분대시야는 영어로 Squad Sight이고 스냅샷은 Snap Shot이다. 두 값을 모두 1로 세팅을 해 주었다.

 

 



더 밑으로 내려가면 체력과 같은 기본적인 부분들도 보인다. HP: 체력, Aim: 조준, Defense: 방어, Movement: 이동력, Will: 의지 등이다.. 방어를 좀 높여보았다. 방어는 20은 반 엄폐, 40은 완전 엄폐 수준이란다.

 



상병 능력 중 분대시야와 스냅샷이 모두 사용할 수 있게 되었다. 그리고 아울러 방어도 40이 되었다.. 정상적으로 에디트가 되었음을 확인 할 수 있다.

Posted by yyht
,