กระเบื้อง · bei.pm

เผยแพร่เมื่อ 19/11/2015·อัปเดตเมื่อ 13/02/2025·ไทย
ข้อความนี้ได้รับการแปลโดยอัตโนมัติผ่าน OpenAI GPT-4o Mini

รูปแบบไฟล์ที่อธิบายไว้ในหน้านี้อิงจากการวิเคราะห์ทางเทคนิคของทรัพย์สินทางปัญญาจาก Dynamix, Inc. และ Sierra Entertainment.
ทรัพย์สินทางปัญญาในปัจจุบันเป็นส่วนหนึ่งของกลุ่ม Activision Publishing, Inc. / Activision Blizzard, Inc. และในขณะนี้เป็นของ Microsoft Corp..

ข้อมูลเหล่านี้ถูกรวบรวมผ่าน การวิศวกรรมย้อนกลับ และ การวิเคราะห์ข้อมูล เพื่อวัตถุประสงค์ในการจัดเก็บข้อมูลและความสามารถในการทำงานร่วมกันกับข้อมูลประวัติศาสตร์.
ไม่มีสเปคที่เป็นกรรมสิทธิ์หรือเป็นความลับถูกใช้.

เกมนี้สามารถซื้อได้ในราคาเป็นดาวน์โหลดที่ gog.com.

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF อักขระ
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
ออฟเซ็ต ชนิดข้อมูล ชื่อฟิลด์ข้อมูล คำอธิบาย
0x0000 uint(32) แมจิกไบต์
0x0004 uint(24) ความยาวของบล็อก
0x0007 uint(8) ธง

Tile เป็นรูปแบบกราฟิก Bitmap ที่เฉพาะเจาะจงสำหรับ Outpost-2 ซึ่งมีทั้งหมด 13 Tilesets เรียกว่า "wells" (well0000.bmp ถึง well0012.bmp) ซึ่งอยู่ภายใน Volume maps.vol

โดย Tilesets / Wells จะมีเนื้อหาดังต่อไปนี้:

ชื่อไฟล์ เนื้อหา
well0000.bmp กราฟิกขนาด 32x32 พิกเซล สีฟ้า - เหมาะสำหรับทดสอบว่า Image-Loader ทำงานได้หรือไม่
well0001.bmp ประกอบด้วยหินสีอ่อน เทือกเขาบนหินสีอ่อน และหลากหลายรูปแบบของหลุมอุกกาบาตในหินสีอ่อน
well0002.bmp ประกอบด้วย 'Doodads' บนหินสีอ่อน - ซึ่งเป็นองค์ประกอบที่สามารถวางเพื่อสร้างความหลากหลาย (หรือวางเป็นโครงสร้าง เช่น กำแพง) บนหินสีอ่อน รวมถึงพืชพรรณด้วย
well0003.bmp ประกอบด้วยโครงสร้างแบบเปลือกบนหินสีอ่อน
well0004.bmp ประกอบด้วยหินสีเข้ม เทือกเขาบนหินสีเข้ม และหลากหลายรูปแบบของหลุมอุกกาบาตในหินสีเข้ม
well0005.bmp ประกอบด้วย 'Doodads' บนหินสีเข้ม - ซึ่งเป็นองค์ประกอบที่สามารถวางเพื่อสร้างความหลากหลาย (หรือวางเป็นโครงสร้าง เช่น กำแพง) บนหินสีเข้ม
well0006.bmp ประกอบด้วยโครงสร้างแบบเปลือกบนหินสีเข้ม รวมถึงการเปลี่ยนผ่านระหว่างหินสีอ่อนและหินสีเข้ม
well0007.bmp ประกอบด้วยลาวา รวมถึงเฟรมอนิเมชัน 4-5 เฟรมของลาวา
well0008.bmp ประกอบด้วยทรายและหลากหลายรูปแบบของหลุมอุกกาบาตในทราย
well0009.bmp ประกอบด้วย 'Doodads' บนทราย - ซึ่งเป็นองค์ประกอบที่สามารถวางเพื่อสร้างความหลากหลาย (หรือวางเป็นโครงสร้าง เช่น กำแพง) บนทราย
well0010.bmp ประกอบด้วยการเปลี่ยนผ่าน 48 ครั้งจากทรายไปยังหินสีอ่อนและหินสีเข้ม
well0011.bmp ประกอบด้วยขั้วโลกของแผนที่ โดยมีหินสีเข้มเป็นพื้นฐาน
well0012.bmp ประกอบด้วยขั้วโลกของแผนที่ โดยมีหินสีอ่อนเป็นพื้นฐาน

แนะนำให้ไม่เรนเดอร์ Tiles ล่วงหน้าเพื่อเก็บข้อมูลในแคช เพราะข้อมูลสำหรับวงจรวัน/คืนยังต้องได้รับการประมวลผล - และจะมีข้อมูลจำนวนมากเกิดขึ้น

Tiles เป็นกราฟิกแบบ 8bpp ที่มีพาเลตต์แบบดัชนี ขนาด 32x32 พิกเซล ซึ่งจัดเรียงอยู่ในแนวตั้ง ใน Tileset ที่เกิดขึ้นสามารถมีมากกว่านั้นได้

คอนเทนเนอร์หลักประกอบด้วย 2 ส่วน: head และ data.

หัวข้อกระเบื้อง

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF อักขระ
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ออฟเซ็ต ชนิดข้อมูล ชื่อฟิลด์ข้อมูล คำอธิบาย
0x0000 uint(32) แมจิกไบต์
0x0004 uint(24) ความยาวของบล็อก
0x0007 uint(8) ธง
0x0008 uint(32) เวอร์ชัน / ธง?

นี่อาจเป็นการระบุเวอร์ชันของรูปแบบไฟล์; ในไฟล์ทั้งหมดที่ฉันมีอยู่ที่นี่มีค่า 0x02

0x000c uint(32) ความกว้าง (ความละเอียดแนวนอน)

ระบุว่าไฟล์ภาพกว้างเท่าไหร่ (เป็นพิกเซล).

สำหรับทุกๆ บ่อน้ำใน Outpost 2 ค่าที่คาดว่าจะได้ที่นี่คือ 0x20 หรือ 32.

0x0010 uint(32) ความสูง (ความละเอียดแนวตั้ง)

ระบุว่าไฟล์ภาพมีความสูงเท่าไร (เป็นพิกเซล).

ในทุกๆ บ่อน้ำของ Outpost 2 ค่าที่คาดว่าจะพบที่นี่คือ 0x20 หรือ 32.

0x0014 uint(32) ความลึกของสี?

ความหมายของค่าดังกล่าวยังไม่เป็นที่รู้จัก

เนื่องจากมันปรากฏในไฟล์ที่ตรวจสอบทั้งหมดว่ามีค่า 8 อาจจะหมายถึงการกำหนดความลึกของสี

0x0018 uint(32) ความลึกสี 2?

ความหมายของค่าดังกล่าวไม่เป็นที่รู้จัก

อาจจะเป็น 'เป้าหมาย' ความลึกของสี

จากข้อมูลเหล่านี้จะมีไฟล์พาเลตต์ที่อยู่ในรูปแบบ RIFF ที่ได้มาตรฐานเพิ่มเติม ไฟล์สเปคที่แน่นอนสามารถพบได้ - เนื่องจากพาเลตต์ปรากฏที่อื่นด้วย - ที่ พาเลตต์.

ข้อมูลกระเบื้อง

Adr x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF อักขระ
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
ออฟเซ็ต ชนิดข้อมูล ชื่อฟิลด์ข้อมูล คำอธิบาย
0x0000 uint(32) แมจิกไบต์
0x0004 uint(24) ความยาวของบล็อก
0x0007 uint(8) ธง

สุดท้ายนี้ข้อมูลพิกเซลที่เปลือยเปล่าจะถูกจัดเรียงจากมุมซ้ายบนไปยังมุมขวาล่างตามแถว
ค่าข้อมูลในกราฟิกที่โดยทั่วไปมีรูปแบบเป็น 8bpp-Bitmaps จะตรงกับดัชนีของสีในพาเลตสี

ข้อมูลพิกเซลเริ่มต้นจากมุมซ้ายบนและสิ้นสุดที่มุมขวาล่าง

เอนจินเกมจะทำการวาด Tiles ในแบบ *ตามความต้องการ*.
สิ่งนี้ดูเหมือนจะเกี่ยวข้องกับวงจรวัน-คืน ซึ่งมีการแบ่งระดับของ Tiles ออกเป็น 32 ระดับ โดยจะมีการลดค่าความสว่างลง 'เล็กน้อย' ในแต่ละครั้ง ค่าที่แน่นอนยังไม่สามารถกำหนดได้ ฉันกำลังทำงานบนพื้นฐานการคำนวณ

v *= (daylight / 48) + 0.25;

โดยใช้ข้อมูล HSV ของพิกเซล โดยที่ daylight เป็นค่าระหว่าง 0-31 และ v เป็นค่าระหว่าง 0-1. านอกจากนี้ต้องคำนึงว่าบนแผนที่ยังมีขอบ 16 Tiles ทั้งทางซ้ายและขวา (ซึ่งใช้สำหรับการเกิดหน่วยที่มองไม่เห็น).

เพิ่มเติมคือ วงจรวัน-คืนจะอัปเดตเฉพาะหนึ่งคอลัมน์ของแผนที่ในแต่ละรอบเกม.
วงจรวัน-คืนที่เร็วขึ้นจึงมีลักษณะดังนี้:

การแสดงภาพของวงจรวัน-คืน