נפחים · 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.

הוולומות הם מיכל נתונים עבור המשחק, דומה לפורמט ארכיון כמו Tarball. לפחות ב-Outpost 2, הפורמט מכיר רק קבצים - אין תיקיות. סביר להניח שניתן היה לדמות את זה באמצעות שמות קבצים מתאימים.

ווליום מורכב מהכותרת של הווליום וכן ממספר בלוקים של ווליום, שתואמים לקבצים הספציפיים.

"וולומות" הם הקבצים עם הסיומת 'vol' בתיקיית המשחק.

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 56 4f 4c 20 -- -- -- -- -- -- -- -- -- -- -- -- V O L . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) בייטים קסומים
0x0004 uint(24) אורך הבלוק
0x0007 uint(8) דגלים

כותרת נפח

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 76 6f 6c 68 -- -- -- -- -- -- -- -- -- -- -- -- v o l h . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) בייטים קסומים
0x0004 uint(24) אורך הבלוק
0x0007 uint(8) דגלים

כותרת הנפח עצמה אינה מכילה נתוני שימוש.
היא משמשת רק כמיכל.

כמו תאריך ראשון בכותרת הנפח צריכים להימצא מחרוזות הנפח; לאחר מכן מגיעות המידע על הנפח.

חוטי נפח

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) בייטים קסומים
0x0004 uint(24) אורך הבלוק
0x0007 uint(8) דגלים
אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 76 6f 6c 73 -- -- -- -- -- -- -- -- -- -- -- -- v o l s . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) בייטים קסומים
0x0004 uint(24) אורך הבלוק
0x0007 uint(8) דגלים
0x0008 uint(32) אורך הפלטון

ציין כמה בתים מהנתונים הבאים הם למעשה נתוני שימוש.

הנתונים הנותרים ברשימת מחרוזות הווליום נחשבים כנראה לזבל.

בקבצים עם תאריך מאוחר יותר, נתונים 'נשארים' אלו הם 0x00, מה שעשוי להצביע על ליקויים בשרשרת הכלים במהלך פיתוח המשחק, כלומר, שמפתח דאג רק מאוחר מאוד לאתחול הנכון של הבופרים, מכיוון שאין השפעה על המשחק אם הנתונים מאופסים או לא.

0x000c uint(8)[] רשימת שמות קבצים

מדובר ברשימה שמסתיימת ב-0 בייט של שמות קבצים, אשר - לפחות בחלק הנתונים הנוכחי - רק מצפה לתווים ASCII.

אין צורך לנתח את בלוק הנתונים הזה בצורה מדויקת בזמן הפארסינג, מכיוון שבפרטי הווליום בכל מקרה מתייחס ישירות ל-offsets של שמות הקבצים.

המחרוזות של הווליום הן רשימה של שמות קבצים שנמצאים בתוך הווליום.

מידע על עוצמה

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 76 6f 6c 69 -- -- -- -- -- -- -- -- -- -- -- -- v o l i . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) בייטים קסומים
0x0004 uint(24) אורך הבלוק
0x0007 uint(8) דגלים

מידע הווליום כולל פרטים מפורטים יותר על הקבצים. מדובר במובן מסוים על סוג של רשומת תיק FAT (FAT = טבלת הקצאת קבצים)

מספר הקבצים נגזר מגודל הבלוק חלקי אורך רשומות התיקיות - 14 בייט.

לכל רשומת תיק יש את המבנה הבא:

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) העתקת שמות קבצים

מציין באיזה אוףסט (!) בתוך רשימת שמות הקבצים (מחרוזות נפח) נמצא שם הקובץ.

זה מתייחס לתחילת בלוק הנתונים.

0x0004 uint(32) מיקום קובץ

מציין באיזה משקל בתוך קובץ הווליום כולו נמצא הקובץ.

0x0008 uint(32) גודל קובץ

מציין מה גודל הקובץ בבתים.

0x000c uint(16) דגלים?

נראה שיש מידע נוסף על קידוד הקבצים.

  • 0x03 מוגדר כאשר הקובץ דחוס. כאן כנראה נעשה שימוש בעץ הופרמן.
  • 0x80 נראה שתמיד מוגדר.

בלוק נפח

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 56 42 4c 48 -- -- -- -- -- -- -- -- -- -- -- -- V B L H . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(32) בייטים קסומים
0x0004 uint(24) אורך הבלוק
0x0007 uint(8) דגלים

בלוק נפח הוא מיכל, שמאחסן קבצים. הוא מכיל שוב - בשל פורמט הבלוק - בצורה מיותרת את גודל הקובץ ולאחר מכן מופיעות ישירות הנתונים בשימוש.