DX2D StarCraft 모작

스타크래프트 구버전 리소스(스프라이트) 추출하기

2022. 10. 14. 03:36

스타크래프트 게임 모작 등으로 스프라이트 데이터를 추출하고자 하는 분들을 위해 작성합니다.

1. 준비물


  1. 스타크래프트 게임 내부의 다음 3개 파일

    리마스터는 추출이 불가능하므로 구버전 설치 또는 립버전에서 뽑아오면 된다.

  1. Total Commander 프로그램 설치

    https://www.ghisler.com/

  1. Total Commander mpq 플러그인 다운로드

    https://totalcmd.net/plugring/mpq.html

  1. PyMS 다운로드

    https://github.com/poiuyqwert/PyMS#installation

2. Total Commander로 mpq파일 압축 풀기


  1. Total Commander를 설치했으면 다운받은 mpq 플러그인(wcx_mpq) 파일의 압축을 풀어준다.

  1. mpq.wcx 파일과 ListFile.txt를 Total Commander 설치경로에 옮겨 준다.

    따로 경로를 지정하지 않았을 경우 C:\Program Files\totalcmd 경로에 설치되어 있다.

  1. 상단 메뉴의 Configuration - Option을 열어준다.

  1. Packer 서브메뉴로 들어가서 ‘Configure packer extension WCXs’ 버튼을 클릭한다.

  1. 오른쪽 위 입력란에 ‘mpq’를 적어주고, ‘New type’ 버튼을 누른다.

  1. 아까 옮겨놨던 mpq.wcx 파일을 선택해준다.

  1. 추가되었으면 OK 버튼을 눌러서 설정을 완료한다.

  1. 이제 준비해놓은 mpq 파일이 있는 경로로 들어가서

  1. 더블클릭하면 이제 내부로 들어가진다.

  1. 복사가 조금 불편하다. ctrl + a 하면 선택되었다는 표시로 파일명이 빨개지는데,

    이 때 아래의 ‘Copy’ 버튼을 누르면 가운데 창에서 원하는 위치에 압축을 풀어줄 수 있다.

  1. 같은 방법으로 StarDat.mpq, BroodWar.mpq, BrooDat.mpq 파일 모두 압축풀어주면 된다.

    브루드워에서 추가된 신버전 파일들이라 중복되는 것이므로

    StarDat에서 추출한 파일이 있는 폴더에 BrooWar, BrooDat 순서로 파일을 덮어씌워 준다.

  1. 추출 완료.

3. 스프라이트 추출하기


이번에는 PyMS를 사용해줘야 한다.

  1. PyMS 깃헙에 들어가서

    https://github.com/poiuyqwert/PyMS#installation

    쭉 내리다 보면 이와 같이 필요 파이썬 버전이 적혀있다. 들어가서 이 버전대로 깔아준다.

  1. 설치됐으면 터미널을 열어준다.(명령 프롬프트도 상관없음)

  1. py -2.7 을 입력한다. 아래처럼 >>>로 바뀌뀌고 버전이 2.7.12로 나오면 제대로 설치된 것이다.

    혹시나 명령어가 안먹으면 구글에 ‘파이썬 환경변수 추가’를 검색해서 하고온 뒤 다시 해보면 아마 될 것이다.

  1. 이제 아까 다운받은 PyMS를 압축을 풀어주고, 압축 풀린 폴더에 우클릭한뒤 ‘터미널에서 열기’를 클릭

  1. py -2.7 -m pip install -r requirements.txt

    터미널에서 위 명령어를 입력한다. 알아서 필요한 파이썬 플러그인을 설치해준다.

  1. 폴더 안에 들어가서 PyGRP.pyw를 더블클릭하면 아마 연결 프로그램 선택창이 나올텐데, 파이썬과 관련된 연결프로그램을 골라주면 아마 알아서 실행될것이다.

    혹시나 안된다면 아까 열었던 터미널에서 py -2.7 PyGRP.pyw 를 입력해 주면 다음과 같은 프로그램이 실행된다.

  1. 스프라이트를 추출해줄 프로그램 실행 완료

3. 스프라이트 추출하기


이제 스프라이트를 추출할수 있다.

스프라이트 파일은 ‘.grp’ 확장자로 되어 있다. 이걸 열어준다.

인게임 유닛들의 스프라이트는 unit 폴더 안에 있다.

예시로 unit/thingy/esflarge.grp 파일을 열어보면 (아비터의 스테이시스 필드 스킬 이펙트)

이런식으로 불러오기가 된다.

그런데 뭔가 이상하다. 아비터의 스테이시스 필드는 파란색 계열인데 빨간색으로 출력되고 있다.

왼쪽 아래의 ‘팔레트’가 달라서 그렇다.

팔레트를 어떤 것을 선택하느냐에 따라 저장된 .grp 데이터의 색감이 변경되는 구조이다.

하나씩 변경하다 보면 ‘bfire.pal’이 스테이시스 필드 스킬의 팔레트인 것을 확인할 수 있다.

이걸 하나하나 일일히 알려주기에는 양이 너무 많으므로 생략하겠다.

어차피 이걸 추출하고 있다는것은 분명히 스타크래프트를 많이 해보셨을 것이기 때문에 팔레트를 바꾸다 보면 금방 찾아낼것이다.

  • 대략적인 팔레트 정보는 다음과 같다.
    • bfire(blue) → 일반적으로 프로토스 계열의 이펙트로 많이 사용
    • gfire(green) → 일반적으로 저그 계열의 이펙트로 많이 사용
    • ofire(orange) → 일반적으로 테란 계열의 이펙트로 많이 사용
    • Icons → 말그대로 아이콘
    • Terrain → 지형(베스핀가스 같은것들)에 적용
    • Units → 마젠타 색상 컬러키를 가진 유닛 스프라이트가 출력됨
    • Wireframe → 와이어프레임에 사용(오브젝트의 체력에따라 파츠 손상도 표시하는 그거)

팔레트를 맞췄으면 이제 추출을 해주면 된다.

  1. Ctrl + A를 눌러 전체 프레임을 선택해주고
  1. 하단의 드롭다운 메뉴에서 Single BMP(FrameSets 를 선택해준 뒤에
  1. 3번의 아이콘을 클릭해서 Export BMP를 해주면 된다.

cf)드롭다운 메뉴에서 One BMP Per Frame 하면 한 장당 파일 하나로 생성 가능한데 너무 복잡해지므로 가급적이면 한장에 다 떄려넣는 Single BMP를 선택해 주자.

Single BMP(Vertical)은 절대로 사용하지말것. 세로로 엄청 길게 파일을 생성한다.

그럼 아래와 같은 결과물을 얻을수 있다

<프로그램 사용법 요약>

  1. 파일 열어준다
  1. 팔레트 골라준다
  1. 프레임 전부 선택해주고
  1. Single BMP(Framesets) 인지 확인한 후
  1. Export BMP로 변환

TIP


  • 리소스 이름 파일 네이밍이 실제 유닛 이름과 다른 경우가 매우 많다. 한눈에 뭔지 잘 모르겠으면

    [site:www.stormcoast-fortress.net] ‘파일명’ 으로 검색해보자. 대부분 나온다.

  • 인터페이스 같은 경우는 .pcx 파일 형태로 되어있고, 꿀뷰나 알씨로도 열어볼수 있으며 변환도 가능하다.

  • 초상화 같은 경우는 portrait 폴더 안에 .smk 형태로 저장되어 있는데, 열기도 복잡하고 이미지형태로 바꾸는것도 복잡한데다가

    그냥 네이버나 구글에 검색해서 gif 파일 갖다 쓰는게 더 빠를수도 있다.

요약


  1. Total Commander 프로그램 설치후 MPQ 플러그인을 등록해서 MPQ파일 압축을 해제
  1. PyMS를 설치하고 PyGRP.pyw를 실행해서 .grp 파일을 .bmp 파일로 변환


Uploaded by N2T

hyrule
hyrule
hyrule
C++ 프로그래밍 공부
hyrule
전체
오늘
어제
  • 분류 전체보기 (205)
    • C++기초 (50)
    • WIN32API FrameWork (109)
      • 한단계씩 직접 구현 (82)
      • 원본 (15)
      • 코드별 설명 개별저장(검색용) (12)
    • 자습 (21)
    • C++ TIPS (11)
    • 연습 노트 (3)
    • ETC (6)
    • DX2D StarCraft 모작 (1)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • notion
  • 스타크래프트
  • C++
  • Tistory
  • hello
  • Windows 11

최근 댓글

최근 글

hELLO · Designed By 정상우.
hyrule
스타크래프트 구버전 리소스(스프라이트) 추출하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.