กระเบื้อง · bei.pm
รูปแบบไฟล์ที่อธิบายไว้ในหน้านี้อิงจากการวิเคราะห์ทางเทคนิคของทรัพย์สินทางปัญญาจาก 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) | เวอร์ชัน / ธง? | นี่อาจเป็นการระบุเวอร์ชันของรูปแบบไฟล์; ในไฟล์ทั้งหมดที่ฉันมีอยู่ที่นี่มีค่า |
0x000c | uint(32) | ความกว้าง (ความละเอียดแนวนอน) | ระบุว่าไฟล์ภาพกว้างเท่าไหร่ (เป็นพิกเซล). สำหรับทุกๆ บ่อน้ำใน Outpost 2 ค่าที่คาดว่าจะได้ที่นี่คือ |
0x0010 | uint(32) | ความสูง (ความละเอียดแนวตั้ง) | ระบุว่าไฟล์ภาพมีความสูงเท่าไร (เป็นพิกเซล). ในทุกๆ บ่อน้ำของ Outpost 2 ค่าที่คาดว่าจะพบที่นี่คือ |
0x0014 | uint(32) | ความลึกของสี? | ความหมายของค่าดังกล่าวยังไม่เป็นที่รู้จัก เนื่องจากมันปรากฏในไฟล์ที่ตรวจสอบทั้งหมดว่ามีค่า |
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 ทั้งทางซ้ายและขวา (ซึ่งใช้สำหรับการเกิดหน่วยที่มองไม่เห็น).
เพิ่มเติมคือ วงจรวัน-คืนจะอัปเดตเฉพาะหนึ่งคอลัมน์ของแผนที่ในแต่ละรอบเกม.
วงจรวัน-คืนที่เร็วขึ้นจึงมีลักษณะดังนี้: