หลังจากย้อนกลับวิศวกรรมไฟล์ .d2i จาก Dofus เพื่อความสนุกสนาน ฉันจึงตัดสินใจสร้างโปรแกรมอ่านแบบง่ายสำหรับพวกเขา
ขึ้นอยู่กับเวอร์ชัน 2.10
ขณะนี้มีเวอร์ชัน TypeScript แล้ว: https://github.com/crimson-med/d2i-reader
Dim MyReader As New FastReader( "MyFile.d2i" , True )
MyReader.GetText( 41903 )
MyReader.Dispose()
โหลดปกติ:
โหลดเร็ว:
รูปแบบ D2I เป็นรูปแบบที่ Ankama ใช้เพื่อจัดเก็บสตริงอักขระ เช่น ชื่อรายการหรือกล่องโต้ตอบ และอื่นๆ ไฟล์นี้จะแตกต่างกันไปขึ้นอยู่กับภาษา แต่โครงสร้างยังคงเหมือนเดิม
ไฟล์ประกอบด้วย 4 ส่วนหลัก:
แต่ละส่วนเหล่านี้ประกอบด้วยดัชนี ( 4 ไบต์ ) ที่ให้ขนาดของข้อมูลที่ตามมายกเว้นข้อมูลเพิ่มเติม
ข้อมูลประกอบด้วย 3 ส่วน:
ดัชนีตั้งแต่อัปเดต 2.4X มีความซับซ้อนมากขึ้นด้วยการใช้ตัวกำกับเสียง (สตริงอักขระที่ไม่มีเครื่องหมายเน้นเสียงหรือตัวพิมพ์ใหญ่)
ข้อความ UI คือข้อความที่ได้รับในบางแพ็คเกจ แต่ไม่อนุญาตให้มี ID (จำนวนเต็มซึ่งชี้ไปที่ข้อความ)
ตัวอย่าง: ui.message.check0
เนื่องจากไม่มีเวลาดูจริงๆ จึงไม่ทราบเนื้อหาหรือประโยชน์ของมันในขณะนี้