אנימציות · 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.

עכשיו אנחנו מגיעים לקטגוריה הגבוהה של הדיסציפלינות בתוך הפורמטים של Outpost 2:
האנימציות.

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

  1. אנימציה
    אנימציה היא המופע העליון; היא מייצגת אנימציה של יחידה, בניין או 'אנימציית חלקיקים' (מכת קומטה, מזג אוויר, פיצוץ) במצב התחלתי מסוים.
  2. פריים
    פריים הוא תמונה בודדת בתוך אנימציה. אנימציה יכולה לכלול פריים אחד או יותר.
  3. סאבפריים
    סאבפריים הוא המידע על כך שתמונה מסוימת צריכה להיות מצויירת בעמדה מסוימת של פריים בהתאם לקריטריונים מסוימים. פריים יכול לכלול סאבפריים אחד או יותר.

לאחר מכן מגיעות ההגדרות של האנימציות עצמן.

אדר 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(32) מספר רשומות אופציונליות

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

אנימציה

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

מידע לא מוכר

0x0004 uint(32) תיבת גבול: שמאל

מציין את ההתחלה השמאלית (בפיקסלים) של הBounding Box.

0x0008 uint(32) תיבת עיגון: למעלה

מציין את תחילת הגבול העליון (בפיקסלים) של Bounding Box.

0x000c uint(32) קופסת גבול: רוחב

מציין את הרוחב (בפיקסלים) של הBounding Box.

0x0010 uint(32) תיבת גבול: גובה

מציין את הגובה (בפיקסלים) של הBounding Box.

0x0014 uint(32) הסט: X

מציין את המרכז האופקי של האנימציה

0x0018 uint(32) היסט: Y

מציין את מרכז האנימציה האנכית

0x001c uint(32) לא ידוע 2

מידע לא מוכר

0x0020 uint(32) מספר מסגרות

מציין כמה מסגרי אנימציה כלולים באנימציה זו

0x0024 uint(32) מספר חלונות

מציין כמה חלונות יש להשתמש בעת הציור

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

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

בהתאם לחלונות, כמו גם עם ה-Offset, מדובר ב-4 ערכי uint(32) לכל חלון, המציינים אזור שיכול לשמש עבור תתי-מסגרות בודדות. מחוץ לחלונות, אם זה לא מיועד בביטמפה, אסור לצייר.

מסגרת

אדר x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF תו
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
הסטה סוג נתונים תיאור הסבר
0x0000 uint(8) מספר תתי מסגרת וכפתור החלפה עבור אופציה 1, 2

ערך זה מכיל:

  • 0x7F (מסיכת ביטים): מספר תתי המסגרות שמשתמשים בהן במסגרת זו
  • 0x80: המידע לגבי האם אופציונל 1 ו-2 קיימים
0x0001 uint(8) לא ידוע 1 וכפתור החלפה לאופציונלי 3, 4

ערך זה מכיל:

  • 0x7F (מסכת ביטים): לא ידוע - אני מניח באופן חזק שזהו מספר ה-Gameticks שעובר עד שמוצג הפריים הבא
  • 0x80: המידע לגבי אם אופציונלי 3 ו-4 קיימים
0x0002 uint(8) אופציונלי 1

לא ידוע

0x0003 uint(8) אופציונלי 2

לא ידוע

0x0004 uint(8) אופציונלי 3

לא ידוע

0x0005 uint(8) אופציונלי 4

לא ידוע

תת מסגרת

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

ציין איזו ביטמאפ יש להשתמש עבור תת-מסגרת זו

0x0002 uint(8) לא ידוע 1

לא ידוע - אני מניח באופן חזק שזה נוגע לעדיפות רינדור (שכבת Z).

0x0003 uint(8) תעודת משנה-מזהה

מציין באיזה תת-מסגרת אנו נמצאים

0x0004 sint(16) הסטה - אופקית

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

0x0006 sint(16) אופסט - אנכי

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

בעזרת זה אנחנו יכולים עכשיו להרכיב פריימים בודדים, כמו גם אנימציות שלמות בהתאם, כאן לדוגמה על אנימציה מורכבת יותר, האנימציה עם האינדקס 500, מדגימים

אנימציה 500

אנימציה 500 מראה כיצד מסחרית פלימות' המלאה במינרלים רגילים מתפרקת. זו אחת מהאנימציות הבודדות שעושות שימוש בפונקציה של חלונות.

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

הנה עוד כמה ספרייטים מעוצבים בצורה יפה מתוך המשחק:

רינדור של אנימציה 500 מראה

אנימציה 500 מורכבת במלואה

מפעל בניין פלימות'

נמל חלל עדן

מרכז רפואי עדן

SCAT

נמל חלל פלימות'

הפתעה:
סנטה קלאוס

הפתעה:
כלב דן