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/carmageddonDethrace ใช้โมดูลย่อยของ git ดังนั้นเราต้องดึงมันออกมาหลังจากโคลนเริ่มต้น:
git clone https://github.com/dethrace-labs/dethrace
cd dethrace
git submodule update --init --recursiveDethrace ใช้ 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