코드워커(GTA)

CodeWalker(CW)는 Grand Theft Auto V를 위한 오픈 소스 모딩 애플리케이션입니다.
개요
이 소프트웨어는 실시간 절차적 우주 엔진인 "Galaxia"를 개발한 것으로도 알려진 Dexyfex가 제작했습니다. 2017년 초에 개발이 시작되었으며, 처음에는 대화형 정사영/2D 지도 생성 도구로 설계되었으나, 빠르게 3D 지도 뷰어 및 편집기로 발전했습니다. 이 프로그램은 사용자가 다양한 GTA V 파일 형식을 탐색, 추출 및 편집할 수 있도록 지원합니다.
가장 최신의 공식 릴리스 빌드는 2018년 3월 14일에 출시된 29버전(r29)이지만, 이후 차기 공식 릴리스 빌드를 위한 40회 이상의 개발 업데이트가 진행되었습니다. 개발 업데이트는 비교적 자주 이루어지며, 다른 사용자들이 다운로드하여 사용할 수 있도록 dexyfex/CodeWalker의 GitHub위키백과↗에 커밋위키백과↗됩니다.
이 애플리케이션은 오픈 소스위키백과↗이며, 다른 사용자가 소프트웨어 코드를 다운로드, 추출 및 수정할 수 있습니다. CodeWalker의 대다수 기능은 제작자에 의해 구현되었으나, 추가 파일 형식 지원 및 기존 기능에 대한 수정과 개선을 포함한 여러 추가 기능은 호스트의 Discord위키백과↗ 서버나 Git위키백과↗을 통해 다른 사용자들(기여자)에 의해 제출되었습니다.
응용 프로그램
CodeWalker는 여러 개의 개별 실행 가능한 애플리케이션으로 나뉘어 있어, 사용자가 다양한 파일을 다른 방식으로 보고 탐색할 수 있습니다.
CodeWalker (3D 지도 뷰어)
CodeWalker의 주 목적은 GTA V의 산 안드레아스 세계를 렌더링하는 것입니다. 자유 카메라를 사용하여 사용자가 세계를 탐색할 수 있도록 합니다.
보기(View)
보기 모드를 변경하여 World 뷰, Ymap 뷰, Object 뷰 등 렌더링할 3D 객체를 제어할 수 있습니다. 이를 통해 사용자는 개별 에셋, 지도 섹션 또는 게임 세계 전체(기본값)를 탐색할 수 있습니다.
3D 지도 뷰어에는 렌더링 대상을 추가로 제어하기 위한 다양한 옵션과 슬라이더가 포함되어 있습니다:
- LOD(HD, OrphanHD, LOD위키백과↗(세부 수준), SLOD(슈퍼 세부 수준) 포함)
- 필터 옵션(스크립트 맵, 시간대별 맵 등)
- DLC 맵 활성화/비활성화.
마커(Markers)
이 애플리케이션은 세계의 특정 지점에 마커를 설정하는 데 사용할 수 있습니다. 마커는 현재 카메라 위치를 기준으로 설정하거나 특정 좌표를 입력하여 추가할 수 있습니다. 사용자는 추가된 좌표로 이동할 수도 있습니다.
선택(Selection)
사용자는 선택 모드에서 다양한 게임 세계 요소를 보고, 선택하고, 상호작용할 수 있습니다:
- 선택/보기 모드:
기타 옵션
애플리케이션 동작, 카메라 및 제어 방식에 대한 옵션을 사용할 수 있습니다:
선택 모드에 관계없이 화면에 영구적으로 표시되는 도우미 기능을 활성화할 수 있습니다:
- 기차 경로
- 차량 생성기
- 인구 밀집 구역
- 스켈레톤위키백과↗
- 마커 스타일(설정된 마커용)
렌더링 및 디스플레이 모드를 제어하는 기타 옵션도 사용할 수 있습니다:
- 렌더링 모드(단일 텍스처, 정점 법선위키백과↗, 정점 탄젠트, 정점 색상, 텍스처 좌표 등)
- 텍스처 샘플러(확산, 노멀위키백과↗, 반사위키백과↗, 높이 맵위키백과↗, 안개 등)
- 와이어프레임위키백과↗ 모드
- HD 텍스처링
- 근거리/원거리 클리핑
조명 및 음영 제어 설정도 가능합니다:
- 디퍼드 셰이딩위키백과↗
- HDR 렌더링
- 그림자
- 스카이돔
- HD 조명
- 자연광/인공 조명
- 시간대/빛의 방향
- 날씨
- 구름
CodeWalker Ped Viewer
CodeWalker Ped Viewer는 별도의 CodeWalker 애플리케이션으로, 게임 내 보행자(Ped) 및 동물 모델을 탐색하고 볼 수 있게 해줍니다. 사용자는 해당 보행자의 의상 구성 요소를 선택하고, 보행자의 LOD 모델과 텍스처를 확인하며, 애니메이션을 미리 볼 수 있습니다.
사용 가능한 보행자에는 GTA V와 GTA 온라인 DLC의 게임 내(IG) 및 컷신(CS/CSB) 보행자, 그리고 동물이 포함됩니다.
구성 요소
선택한 GTA V 보행자에 따라 다양한 구성 요소 옵션을 사용할 수 있으며, 각 항목은 드롭다운 메뉴로 분류되어 있습니다:
Head(머리)Berd(수염)Hair(머리카락)Uppr(상체)Lowr(하체)Hand(손)Feet(발)Teef(치아/입)Accs(액세서리: 가방, 벨트 등)TaskDecl(데칼: 배지, 스티커 및 기타 데칼)Jbib(재킷/턱받이)
애니메이션

애니메이션 필드를 통해 선택한 보행자에게 모든 애니메이션을 재생할 수 있습니다. 기본적으로 보행자의 사전 설정 애니메이션 클립 사전(보행자의 peds.meta 파일 내 ClipDictionaryName 항목에 정의됨)이 로드되며 해당 사전의 개별 애니메이션을 즉시 선택하고 미리 볼 수 있습니다. 하지만 사용자가 다른 클립 사전의 파일 경로를 입력하여 거기서 애니메이션 클립을 재생할 수도 있어 흥미로운 결과를 얻을 수 있습니다.
CodeWalker Vehicle Viewer
CodeWalker Vehicle Viewer는 게임 내 차량 모델을 탐색하고 볼 수 있는 별도의 CodeWalker 애플리케이션입니다. 사용자는 차량의 충돌 모델, 깨진 유리창 파편, 와이어프레임, 정점 정보 및 텍스처를 볼 수 있습니다. 차량의 제조사와 이름도 표시됩니다(글로벌 텍스트 파일에서 가져오며 HUD에 표시되는 내용과 같습니다).
기능은 다음과 같습니다:
- 고세부 프래그먼트 - 더 상세한 모델 렌더링(가까이 있을 때 렌더링, Enhanced 버전 모델 개선 사항)
- 충돌 메시 - 모든 충돌 경계 및 메시 렌더링(더미 충돌 경계 및 바퀴 포함)
- 스켈레톤 - 모든 골격 뼈 및 관계선 렌더링
- 창문 파손 맵 - 차량 유리창 파편 및 파손 맵 렌더링(절차적으로 깨진 창문 유리 파편을 생성하는 데 사용)
-
그레인저 3600LX에 렌더링된 충돌 메시 예시.
-
버스에 렌더링된 창문 파손 맵 예시.
CodeWalker RPF Explorer
CodeWalker RPF Explorer는 GTA V의 게임 파일을 전반적으로 탐색하고 편집할 수 있는 별도의 CodeWalker 애플리케이션입니다. 왼쪽의 계층 구조 트리와 함께 윈도우 탐색기위키백과↗와 유사한 인터페이스를 사용하는 파일 관리자위키백과↗ 시스템을 갖추고 있습니다.
게임 파일 탐색은 파일이나 폴더를 클릭하여 원활하게 수행됩니다. 사용자는 계층 구조 트리에서 폴더를 확장하거나 축소하여 탐색 전 하위 내용을 미리 볼 수 있습니다. "검색" 기능을 사용하여 입력한 텍스트가 포함된 파일이나 폴더 이름을 찾을 수도 있습니다. 검색 결과 목록을 선택, 복사 또는 내보내기 할 수 있습니다.
대부분의 파일 형식은 더블 클릭으로 열어 미리 볼 수 있습니다. 편집 모드가 활성화된 경우, RPF Explorer의 최신 버전에서는 대부분의 텍스트 또는 메타 기반 파일 내용을 편집할 수 있습니다.
이전 버전에서는 파일 추출만 가능했으나, 최신 버전에서는 선택한 파일을 우클릭하여 많은 파일 형식을 XML 형식으로 내보낼 수 있습니다. 내보낸 파일은 "XML" 접미사가 붙으며 메모장위키백과↗이나 Notepad++위키백과↗ 같은 기본 텍스트 편집기에서 편집한 후 다시 가져올 수 있습니다. 파일 유형에 따라 내보낸 XML에는 DDS위키백과↗ 텍스처나 WAV위키백과↗ 사운드 파일과 같은 다른 에셋이 포함된 폴더가 함께 제공될 수 있습니다. 파일 내보내기 및 가져오기는 드래그 앤 드롭위키백과↗을 지원합니다. 파일 가져오기나 편집을 하려면 "편집 모드"가 활성화되어 있어야 합니다.
RPF Explorer는 초기 CodeWalker 3D 애플리케이션에서도 접근할 수 있는 여러 도구를 제공합니다:
- 이진 검색(Binary search)
- 오디오 탐색기(Audio Explorer)
- JenkGen
- JenkInd

RPF Explorer는 다음과 같은 테마위키백과↗를 지원합니다:
- 기본값(Windows)
- 파란색
- 밝은색
- 어두운색
이전 RPF 브라우저(Old RPF Browser)
빌드 버전 27(r27) 이전까지 CodeWalker의 파일 브라우저(당시 "CodeWalker Explorer")는 전용 이진 검색 도구와 유사한 이진 검색 시스템을 사용했습니다. 게임 파일을 탐색하려면 사용자가 먼저 GTA V 폴더를 스캔하여 패키지 파일(.rpf) 목록을 생성해야 했으며, 각 파일을 확장하여 탐색할 수 있었습니다. 이후 업데이트 전까지는 파일 미리보기를 지원하지 않았으나, 기본 메타데이터, 지도 데이터, 텍스처 파일 등 특정 유형의 파일을 내보낼 수는 있었습니다. 또한 텍스처 사전(ytd)에 포함된 텍스처를 볼 수 있는 텍스처 미리보기 도구도 지원되었습니다.
RPF 브라우저는 버전 28(r28)에 추가된 현재의 RPF Explorer 애플리케이션으로 사실상 대체되었으나, 현재 RPF Explorer의 "도구" 섹션에서 "Old RPF Browser"라는 이름으로 여전히 접근할 수 있습니다.
도구
CodeWalker dev44에서 사용할 수 있는 도구 목록입니다.
| 도구 | 설명 | 이미지 예시 |
|---|---|---|
| 선택 정보 | 선택 정보는 3D 뷰어에서 선택된 엔티티 객체에 대한 정보를 표시합니다. 사용자가 선택한 엔티티의 계층 구조와 사용하는 셰이더 및 텍스처를 탐색할 수 있게 합니다. | |
| 프로젝트 창 | 프로젝트 창은 새로운 모드를 위한 프로젝트를 생성, 관리 및 유지하는 데 사용됩니다. CodeWalker 프로젝트는 .cwproj 파일 확장자로 저장하고 열 수 있습니다. 프로젝트는 ymap(지도), ytyp(아키타입), ybn(충돌 경계), ynd(경로 노드), ynv(내비게이션 메시), 기차, 시나리오 및 오디오 데이터 파일의 생성 및 편집을 지원합니다.
|
|
| 컷신 뷰어 | 컷신(.cut)을 컷신 뷰어를 사용하여 실시간으로 탐색하고 재생할 수 있습니다. 오디오 재생 및 자막위키백과↗도 지원됩니다. 컷신에 사용된 객체와 애니메이션 목록도 표시됩니다.
|
|
| 오디오 탐색기 | 오디오 탐색기는 오디오 데이터 파일 항목을 탐색하는 데 사용됩니다. 선택한 오디오 항목의 계층 구조를 표시합니다. 항목은 오디오 데이터 파일 확장자와 오디오 항목 유형별로 탐색할 수 있습니다. | |
| 세계 검색 | 세계 검색 도구를 사용하면 특정 엔티티나 아키타입을 검색하여 그 용도와 세계 내 위치를 모두 찾을 수 있습니다. 도구는 개별 지도 파일 내의 일치 항목 목록을 생성합니다. 선택한 결과는 마커를 사용하여 지도에 표시하거나 직접 이동할 수 있습니다. 결과는 텍스트 파일로 내보낼 수도 있습니다. | |
| 이진 검색 | 세계 검색과 유사하게, 이진 검색은 일치 항목을 검색합니다. 사용자는 텍스트나 16진수 해시를 입력하여 검색할 수 있으며, 특정 파일 유형으로 검색 범위를 제한하거나 게임 전체를 대상으로 광범위하게 검색할 수 있습니다. 개별 파일 내에서 일치 항목을 검색하며, 파일이 충분히 작으면 일치 항목의 미리보기가 생성됩니다. 더 큰 파일의 경우 파일을 직접 내보낼 수 있습니다. 이진 검색은 파일 시스템 검색을 사용하여 GTA V 디렉토리 외부의 파일 및 폴더에서도 수행할 수 있습니다. | |
| JenkGen | JenkGen은 Jenkins hash generator(젠킨스 해시 생성기)의 약자로, 입력값을 기반으로 해시를 생성하는 작은 도구입니다. 생성기는 UTF-8위키백과↗ 또는 ASCII위키백과↗ 인코딩을 사용하여 서명된 정수값과 서명되지 않은 정수값(QWORD 및 DWORD 아키텍처 사용) 및 16진수 값을 생성합니다. 이 도구는 GTA V 내에서 많은 양의 해시를 생성하는 데 사용되는 해싱 알고리즘인 젠킨스 해시 함수위키백과↗의 이름을 따서 명명되었습니다. | adder"를 젠킨스 해시 함수로 변환한 예시로, 16진수 해시값 "0xB779A091"이 생성됩니다. |
| JenkInd | JenkInd는 Jenkins index lookup(젠킨스 인덱스 조회)의 약자로, 서명된 정수값 및 서명되지 않은 정수값, 16진수 해시값의 역방향 검색을 수행하는 작은 도구입니다. 해시와 일치하는 문자열이 글로벌 텍스트 파일(.gxt2)이나 Jenk 인덱스 데이터베이스 자체에 정의되어 있으면 잠재적인 일치 결과가 나열됩니다.
|
0xB779A091"에 대한 해시 조회 예시로, 글로벌 텍스트 및 Jenk 인덱스 조회 결과인 "adder"가 표시됩니다. |
| 추출 옵션 | ||
|---|---|---|
| 스크립트 추출 | 원시 파일 추출 | 셰이더 추출 |
| 다양한 파일 유형을 빠르게 추출하는 도구도 CodeWalker 도구 모음에서 사용할 수 있습니다. | ||
CodeX
CodeX는 CodeWalker의 후속작으로 설계된 차세대 모딩 애플리케이션으로, Grand Theft Auto IV, Grand Theft Auto V, 맥스 페인 3위키백과↗, 레드 데드 리뎀션 2위키백과↗를 포함한 여러 락스타 게임즈 타이틀과 폴아웃 4위키백과↗, 엘더스크롤 4: 오블리비언위키백과↗, 사이버펑크 2077위키백과↗과 같은 다른 게임들을 지원합니다. 2020년 초에 개발이 시작되었습니다.
현재 초기 개발 단계에 있으며 dexyfex의 Patreon.com 후원자만 사용할 수 있습니다. CodeWalker와 비교하여 CodeX는 완전히 처음부터 다시 구축되었으며 향상된 렌더링 시스템, 선택 시스템 및 편집 도구 개선 사항을 갖추고 있습니다.
최신 버전인 CodeX dev019는 폴아웃 4 지원과 RDR2의 PSO/RSC 메타데이터 리소스 및 XML 파일 편집 기능을 추가했습니다. 개발 빌드와 오픈 소스 코드는 앞서 언급한 후원자를 위해 CodeWalker Discord에서 배포됩니다.