एनिमेशन · bei.pm
इस पृष्ठ पर वर्णित फ़ाइल प्रारूप Dynamix, Inc. और Sierra Entertainment के बौद्धिक संपदा के तकनीकी विश्लेषण पर आधारित हैं।
आज बौद्धिक संपदा Activision Publishing, Inc. / Activision Blizzard, Inc. के अधीन है और वर्तमान में Microsoft Corp. के स्वामित्व में है।
जानकारियाँ रिवर्स इंजीनियरिंग और डेटा विश्लेषण के माध्यम से संग्रहित की गई हैं ताकि ऐतिहासिक डेटा के साथ संग्रहण और अंतःक्रियाशीलता सुनिश्चित हो सके।
किसी भी स्वामित्व या गोपनीय विशिष्टताओं का उपयोग नहीं किया गया है।
यह खेल वर्तमान में gog.com पर डाउनलोड के लिए खरीदा जा सकता है।
अब हम आउटपोस्ट 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) | बाउंडिंग बॉक्स: बाईं ओर | बाएँ किनारे (पिक्सेल में) बाउंडिंग बॉक्स को दर्शाता है। |
0x0008 | uint(32) | बाउंडिंग बॉक्स: ऊपर | ऊपर की शुरुआत (पिक्सल में) बाउंडिंग बॉक्स को निर्दिष्ट करता है। |
0x000c | uint(32) | बाउंडिंग बॉक्स: चौड़ाई | यह बाउंडिंग बॉक्स की चौड़ाई (पिक्सेल में) को दर्शाता है। |
0x0010 | uint(32) | बाउंडिंग बॉक्स: ऊँचाई | यह Bounding Box की ऊँचाई (पिक्सेल में) दर्शाता है। |
0x0014 | uint(32) | ऑफसेट: X | एनिमेशन का क्षैतिज केंद्र बिंदु निर्दिष्ट करता है |
0x0018 | uint(32) | ऑफसेट: Y | एनिमेशन का ऊर्ध्वाधर मध्य बिंदु बताता है |
0x001c | uint(32) | अज्ञात 2 | अज्ञात जानकारी |
0x0020 | uint(32) | फ्रेमों की संख्या | यह बताता है कि इस एनिमेशन में कितने एनिमेशन फ़्रेम शामिल हैं |
0x0024 | uint(32) | विंडो की संख्या | यह बताता है कि चित्रण करते समय कितनी खिड़कियों का उपयोग किया जाना चाहिए |
ऊपर की परत के डेटा, जो कि एनीमेशन से संबंधित हैं, मुख्य रूप से प्रशासनिक डेटा हैं - Boundingbox उस चिह्न के चारों ओर के समन्वय को दर्शाता है जो वाहन/भवन के लिए है, जब इसे चुना गया है और यह भी बताता है कि कौन सा क्षेत्र क्लिक करने योग्य होना चाहिए।
ऑफसेट मुख्य रूप से "शून्य बिंदु" को निर्धारित करता है; वह बिंदु जो खेल के अंदर के समन्वयों में जोड़ने या घटाने के लिए है। इसे गणितीय रूप से भी कहा जा सकता है: इस संदर्भ में, ऑफसेट समन्वय का मूल बिंदु है।
विंडोज़ भी, ठीक वैसे ही जैसे कि ऑफसेट, प्रत्येक (प्रति विंडो) 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) | Bitmap-आईडी | यह बताता है कि इस सबफ़्रेम के लिए कौन सी बिटमैप का उपयोग किया जाना चाहिए |
0x0002 | uint(8) | अज्ञात 1 | यह अज्ञात है - लेकिन मुझे मजबूत संदेह है कि यह एक रेंडर प्राथमिकता (Z-लेयर) से संबंधित है। |
0x0003 | uint(8) | सबस्ट्रेम-आईडी | यह बताता है कि हम किस उपफ्रेम में हैं |
0x0004 | sint(16) | ऑफसेट - क्षैतिज | यह दर्शाता है कि फ्रेम के भीतर सबफ्रेम कहाँ रखा जाना चाहिए, या बिटमैप को कितने पिक्सल horizontally स्थानांतरित किया जाना चाहिए |
0x0006 | sint(16) | ऑफसेट - वर्टिकल | यह बताता है कि फ्रेम के भीतर सबफ्रेम कहाँ रखा जाना चाहिए, या बिटमैप को कितने पिक्सल ऊर्ध्वाधर रूप से स्थानांतरित किया जाना चाहिए। |
इससे हम अब व्यक्तिगत फ्रेम और संपूर्ण एनिमेशन को मिलाकर बना सकते हैं, यहाँ एक जटिल एनिमेशन, इंडेक्स 500 के एनिमेशन के उदाहरण के रूप में प्रदर्शित किया गया है।
एनिमेशन 500
एनिमेशन 500 दिखाता है कि एक Plymouth-ट्रांसपोर्टर, जो सामान्य खनिजों से भरा हुआ है, कैसे उतारा जाता है। यह उन कुछ एनिमेशनों में से एक है जो विंडोइंग कार्यक्षमता का उपयोग करती है।
इस प्रकार पूरी एनिमेशन को जोड़ा जा सकता है।
दुर्भाग्यवश, ऊपरी लोडिंग हैच के साथ अभी भी एक समस्या है, क्योंकि यहाँ ग्राफ़िक प्रकार की जानकारी में उपयुक्त बिट सेट नहीं किया गया है।
यहाँ खेल से कुछ और, सुंदर एनिमेटेड स्प्राइट्स हैं: