کاشی‌ها · 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 به صورت دانلودی خریداری شود.

آدرس 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) پرچم‌ها

تایل‌ها یک فرمت گرافیکی بیت‌مپ خاص بازی Outpost-2 هستند. آنها شامل ۱۳ مجموعه تایل به نام "چاه‌ها" (well0000.bmp تا well0012.bmp) می‌باشند که در داخل حجم maps.vol قرار دارند.

این مجموعه‌های تایل / چاه‌ها شامل موارد زیر هستند:

نام فایل محتوا
well0000.bmp گرافیکی به اندازه ۳۲x۳۲ پیکسل به رنگ آبی - ایده‌آل برای آزمایش اینکه آیا بارگذار تصویر شما کار می‌کند
well0001.bmp حاوی سنگ‌های روشن، رشته‌کوه‌ها بر روی سنگ‌های روشن و بی‌شماری از انواع دهانه‌های برخوردی در سنگ‌های روشن
well0002.bmp حاوی 'دوداد' سنگ‌های روشن - عناصری که می‌توانند برای تزیین (یا عمداً به عنوان ساختار، مانند دیوارها) بر روی سنگ‌های روشن قرار بگیرند، از جمله گیاهان
well0003.bmp حاوی ساختار پوسته‌ای بر روی سنگ‌های روشن
well0004.bmp حاوی سنگ‌های تیره، رشته‌کوه‌ها بر روی سنگ‌های تیره و بی‌شماری از انواع دهانه‌های برخوردی در سنگ‌های تیره
well0005.bmp حاوی 'دوداد' سنگ‌های تیره - عناصری که می‌توانند برای تزیین (یا عمداً به عنوان ساختار، مانند دیوارها) بر روی سنگ‌های تیره قرار بگیرند
well0006.bmp حاوی ساختار پوسته‌ای بر روی سنگ‌های تیره، همچنین انتقال‌ها بین سنگ‌های روشن و تیره
well0007.bmp حاوی مواد مذاب شامل ۴-۵ فریم انیمیشن از آن
well0008.bmp حاوی شن و بی‌شماری از انواع دهانه‌های برخوردی در شن
well0009.bmp حاوی 'دوداد' شن - عناصری که می‌توانند برای تزیین (یا عمداً به عنوان ساختار، مانند دیوارها) بر روی شن قرار بگیرند
well0010.bmp حاوی هر کدام ۴۸ انتقال از شن به سنگ‌های روشن و تیره
well0011.bmp حاوی قطب‌های نقشه، با سنگ‌های تیره به عنوان زیرساخت
well0012.bmp حاوی قطب‌های نقشه، با سنگ‌های روشن به عنوان زیرساخت

این توصیه می‌شود که برای پیاده‌سازی دقیق، کاشی‌ها را از پیش رندر نکنید تا بتوانید آنها را کش کنید، زیرا داده‌ها برای چرخه روز/شب هنوز باید پردازش شوند - و حجم بسیار زیادی از داده‌ها تولید خواهد شد.

کاشی‌ها گرافیک‌های ۸ بیتی با پالت ایندکس شده به ابعاد ۳۲x۳۲ پیکسل هستند که به صورت افقی کنار هم قرار گرفته‌اند. با این حال، در یک مجموعه کاشی ایجاد شده می‌توان به مراتب بیشتر از اینها وجود داشته باشد.

ظرفیت اصلی از ۲ بخش تشکیل شده است: head و data.

عنوان کاشی‌ها

آدرس 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) عمق رنگ ۲؟

معنی این مقدار نامشخص است.

ممکن است این یک 'هدف' عمق رنگ باشد.

بر اساس این اطلاعات یک فایل پالت به فرمت استاندارد RIFF تهیه خواهد شد. مشخصات دقیق آن - زیرا پالت‌ها در جاهای دیگر نیز وجود دارند - در پالت‌ها یافت می‌شود.

داده‌های کاشی‌ها

آدرس 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-Bitmap وجود دارند، معادل با شاخص رنگ در پالت رنگ است.

داده‌های پیکسل از بالا سمت چپ شروع و در پایین سمت راست به پایان می‌رسند.

انجین بازی احتمالاً *به صورت درخواستی* کاشی‌ها را ترسیم می‌کند.
به نظر می‌رسد این موضوع به چرخه روز و شب مربوط باشد که ۳۲ درجه مختلف از کاشی‌ها را شامل می‌شود. به نظر می‌رسد که از مقدار روشنایی به‌طور 'کمی' کم می‌شود. مقادیر دقیق هنوز مشخص نشده‌اند، من بر اساس محاسبات زیر کار می‌کنم

v *= (daylight / 48) + 0.25;

با داده‌های HSV پیکسل‌ها، که در آن daylight یک مقدار بین ۰-۳۱ است و v یک مقدار بین ۰-۱. علاوه بر این، باید در نظر گرفت که در نقشه هر طرف یک حاشیه ۱۶ کاشی به سمت چپ و راست وجود دارد (که برای تولید نامرئی واحدها استفاده می‌شود).

علاوه بر این، به نظر می‌رسد چرخه روز و شب در هر چرخه بازی تنها یک ستون از نقشه را به‌روزرسانی می‌کند.
یک چرخه روز و شب تسریع شده به شکل زیر است:

تصویرسازی از چرخه روز و شب