Dethrace เป็นความพยายามที่จะเรียนรู้ว่าเกมขับรถ/ทำร้ายร่างกาย Carmageddon ในปี 1997 ทำงานอยู่เบื้องหลังและสร้างมันขึ้นมาใหม่เพื่อให้ทำงานบนระบบสมัยใหม่ได้อย่างไร
(ติดตามเราบน Discord หรือ Twitter เพื่อรับการแจ้งเตือนการอัปเดต!)
สัญลักษณ์ดีบัก Watcom สำหรับบิลด์ภายในก่อนหน้านี้ถูกค้นพบชื่อ DETHRSC.SYM
ในซีดีส่วนขยาย Carmageddon Splat Pack น่าเสียดายที่สัญลักษณ์ไม่ตรงกับไฟล์ปฏิบัติการที่เผยแพร่ซึ่งเป็นที่รู้จัก ซึ่งหมายความว่าน่าสนใจ แต่ก็ไม่สามารถใช้งานได้ทันทีเพื่อย้อนกลับวิศวกรรมเกม
นี่คือสิ่งที่ดูเหมือนจากดีบักเกอร์ Watcom - มีชื่อของวิธีการทั้งหมดอยู่ แต่ตำแหน่งของโค้ดที่พวกเขาชี้ไปนั้นเป็นขยะ:
CrayzKirk จากชุมชน Carmageddon หยิบมันขึ้นมาและทำงานอย่างอุตสาหะอย่างมากโดยจับคู่ฟังก์ชันและโครงสร้างข้อมูลจำนวนมากใน DOS ที่สามารถเรียกใช้งานได้กับสัญลักษณ์การดีบักด้วยตนเอง
เรากำลังค่อยๆ แทนที่โค้ดแอสเซมบลีดั้งเดิมด้วยโค้ด C ที่เทียบเท่ากัน ทีละฟังก์ชัน
ไม่ อย่างน้อยฉันก็ไม่คิดอย่างนั้น ไฟล์ต้นฉบับตามการถ่ายโอนข้อมูลสัญลักษณ์ถูกจัดเก็บไว้ใน c:DETHRACE
และไฟล์สัญลักษณ์เรียกว่า DETHSRC.SYM
บางทีพวกเขาอาจลบ "a" เพื่อให้เข้ากันได้กับชื่อไฟล์ 8.3
Dethrace ไม่ได้จัดส่งพร้อมเนื้อหาใด ๆ คุณจะต้องเข้าถึงข้อมูลจากเกมต้นฉบับ หากคุณไม่มีซีดีต้นฉบับ คุณสามารถซื้อ Carmageddon จาก GoG.com
dethrace
ยังรองรับการสาธิตฟรีแวร์ต่างๆ:
Dethrace ขึ้นอยู่กับ SDL2 วิธีที่ง่ายที่สุดในการติดตั้ง SDL คือผ่านตัวจัดการแพ็คเกจที่คุณชื่นชอบ
OSX:
brew install SDL2
ลินุกซ์:
apt-get install libsdl2-dev
ชี้ Dethrace ไปที่ไดเร็กทอรีการติดตั้ง Carmageddon:
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
ขั้นแรก คุณต้องมีสำเนาเนื้อหาเกม Carmageddon แยกไฟล์ zip หากจำเป็น
Dethrace คาดว่าจะอยู่ในโฟลเดอร์ Carmageddon ระดับบนสุด คุณรู้ว่าคุณมีโฟลเดอร์ที่ถูกต้องเมื่อคุณเห็น CARMA.EXE
ดั้งเดิมอยู่ที่นั่น หากคุณใช้ Windows คุณต้องวาง SDL2.dll
ไว้ในโฟลเดอร์เดียวกันด้วย
Dethrace รองรับการประชุมเสียงซีดี GOG หากมีโฟลเดอร์ MUSIC
ในโฟลเดอร์ Carmageddon ที่มีไฟล์ Track02.ogg
, Track03.ogg
ฯลฯ Dethrace จะใช้ไฟล์เหล่านั้นแทนฟังก์ชันเสียงต้นฉบับของซีดี
ตั้งแต่เริ่มจนออกจำหน่าย
Dethrace ได้รับการเผยแพร่สู่สาธารณสมบัติ เอกสารและฟังก์ชันที่ Dethrace มอบให้นั้นสามารถใช้ได้เฉพาะกับทรัพย์สินที่ Carmageddon มอบให้เท่านั้น
ซอร์สโค้ดในพื้นที่เก็บข้อมูลนี้มีไว้สำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์เท่านั้น หากคุณใช้ซอร์สโค้ด คุณจะไม่เรียกเก็บเงินจากผู้อื่นในการเข้าถึงซอร์สโค้ดหรืองานลอกเลียนแบบใดๆ
Dethrace และผู้ดูแลใดๆ จะไม่เกี่ยวข้องหรือรับรองโดย SCi, Stainless Software หรือ THQ Nordic