אנימציות · bei.pm
פורמטי הקבצים המתוארים בדף זה מבוססים על ניתוח טכני של זכויות יוצרים של Dynamix, Inc. ו- Sierra Entertainment.
זכויות היוצרים הן היום חלק מהמסה של Activision Publishing, Inc. / Activision Blizzard, Inc. ונמצאות כיום בבעלות Microsoft Corp..
המידע נאסף באמצעות הנדסה הפוכה ו- ניתוח נתונים לצורך ארכוב ואינטרופרטיביות עם נתונים היסטוריים.
לא נעשה שימוש במפרטים פרטיים או סודיים.
המשחק ניתן לרכישה כיום להורדה ב- gog.com.
עכשיו אנחנו מגיעים לקטגוריה הגבוהה של הדיסציפלינות בתוך הפורמטים של Outpost 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 | ערך זה מכיל:
|
0x0001 | uint(8) | לא ידוע 1 וכפתור החלפה לאופציונלי 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 מראה כיצד מסחרית פלימות' המלאה במינרלים רגילים מתפרקת. זו אחת מהאנימציות הבודדות שעושות שימוש בפונקציה של חלונות.
כך ניתן להרכיב את האנימציה המלאה.
לצערנו, ישנה בעיה עם מכסה הטעינה העליון, שכן הביט המתאים במידע על סוג הגרפיקה לא מוגדר כאן.
הנה עוד כמה ספרייטים מעוצבים בצורה יפה מתוך המשחק: