Dethrace는 1997년의 운전/대혼란 게임인 Carmageddon이 어떻게 뒤에서 작동하는지 배우고 현대 시스템에서 기본적으로 실행되도록 재구성하려는 시도입니다.
(업데이트 알림을 받으려면 Discord나 Twitter에서 팔로우하세요!)
이전 내부 빌드에 대한 Watcom 디버그 기호는 Carmageddon Splat Pack 확장 CD 릴리스에서 DETHRSC.SYM
이라는 이름으로 발견되었습니다. 불행하게도 기호는 알려진 어떤 실행 파일과도 일치하지 않았습니다. 즉, 흥미롭긴 했지만 게임을 리버스 엔지니어링하는 데 즉시 사용할 수는 없었습니다.
이것은 Watcom 디버거에서 본 모습입니다. 모든 메소드의 이름은 존재하지만 그들이 가리키는 코드 위치는 정크였습니다.
Carmageddon 커뮤니티의 CrayzKirk는 이를 선택하여 DOS 실행 파일의 많은 기능과 데이터 구조를 디버깅 기호와 일치시키는 많은 힘든 작업을 수동으로 수행했습니다.
우리는 원래 어셈블리 코드를 기능별로 동등한 C 코드로 천천히 대체하고 있습니다.
아니, 글쎄요, 적어도 저는 그렇게 생각하지 않습니다. 기호 덤프에 따른 원본 파일은 c:DETHRACE
에 저장되었으며 기호 파일은 DETHSRC.SYM
이라고 합니다. 8.3 파일 이름과 호환되도록 "a"를 제거했을 수도 있습니다.
Dethrace에는 어떤 콘텐츠도 함께 제공되지 않습니다. 원본 게임의 데이터에 액세스해야 합니다. 원본 CD가 없으면 GoG.com에서 Carmageddon을 구입할 수 있습니다.
dethrace
다양한 프리웨어 데모도 지원합니다:
Dethrace는 SDL2에 의존합니다. SDL을 설치하는 가장 쉬운 방법은 즐겨 사용하는 패키지 관리자를 이용하는 것입니다.
OSX:
brew install SDL2
리눅스:
apt-get install libsdl2-dev
Carmageddon 설치 디렉터리에서 Dethrace를 지정하세요.
export DETHRACE_ROOT_DIR=/path/to/carmageddon
Dethrace는 git 하위 모듈을 사용하므로 초기 복제 후에 해당 하위 모듈을 가져와야 합니다.
git clone https://github.com/dethrace-labs/dethrace
cd dethrace
git submodule update --init --recursive
Dethrace는 빌드 파일을 생성하기 위해 cmake를 사용합니다.
빌드 파일을 생성하려면(일반적으로 한 번만 필요함):
mkdir build
cd build
cmake ..
cmake가 플랫폼에 대한 빌드 파일을 생성하면 빌드를 실행합니다. 예를 들어:
make
먼저 카마게돈 게임 콘텐츠 사본이 필요합니다. 필요한 경우 zip 파일을 추출합니다.
Dethrace는 최상위 Carmageddon 폴더에 위치할 것으로 예상됩니다. 거기에 원본 CARMA.EXE
있으면 올바른 폴더가 있다는 것을 알 수 있습니다. Windows를 사용하는 경우 SDL2.dll
도 같은 폴더에 배치해야 합니다.
Dethrace는 GOG CD 오디오 규칙을 지원합니다. Carmageddon 폴더에 Track02.ogg
, Track03.ogg
등의 파일이 포함된 MUSIC
폴더가 있는 경우 Dethrace는 원본 CD 오디오 기능 대신 해당 파일을 사용합니다.
처음부터 출시까지
Dethrace가 공개 도메인으로 공개되었습니다. Dethrace가 제공하는 문서와 기능은 Carmageddon의 소유권이 제공하는 자산으로만 활용될 수 있습니다.
이 저장소의 소스 코드는 비상업적 용도로만 사용됩니다. 귀하가 소스 코드를 사용하는 경우 해당 코드 또는 그 파생물에 대한 액세스에 대해 다른 사람에게 비용을 청구할 수 없습니다.
Dethrace 및 그 유지 관리 담당자는 SCi, 스테인레스 소프트웨어 또는 THQ Nordic과 연관되거나 보증되지 않습니다.