खंड · bei.pm
इस पृष्ठ पर वर्णित फ़ाइल प्रारूप Dynamix, Inc. और Sierra Entertainment के बौद्धिक संपदा के तकनीकी विश्लेषण पर आधारित हैं।
आज बौद्धिक संपदा Activision Publishing, Inc. / Activision Blizzard, Inc. के अधीन है और वर्तमान में Microsoft Corp. के स्वामित्व में है।
जानकारियाँ रिवर्स इंजीनियरिंग और डेटा विश्लेषण के माध्यम से संग्रहित की गई हैं ताकि ऐतिहासिक डेटा के साथ संग्रहण और अंतःक्रियाशीलता सुनिश्चित हो सके।
किसी भी स्वामित्व या गोपनीय विशिष्टताओं का उपयोग नहीं किया गया है।
यह खेल वर्तमान में gog.com पर डाउनलोड के लिए खरीदा जा सकता है।
वॉल्यूम एक डेटा कंटेनर है जो खेल के लिए होता है, यह एक संग्रह प्रारूप की तरह है जैसे कि टारबॉल। कम से कम आउटपॉस्ट 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 वर्णों की अपेक्षा करती है। डेटा को पार्स करने के दौरान इस डेटा ब्लॉक का अधिक गहराई से विश्लेषण करने की आवश्यकता नहीं है, क्योंकि वॉल्यूम जानकारी में ही फ़ाइल नामों के ऑफ़सेट सीधे संदर्भित किए जाते हैं। |
वॉल्यूम स्ट्रिंग्स एक सूची है फाइल नामों की, जो वॉल्यूम के भीतर शामिल हैं।
वॉल्यूम जानकारी
ऐड्र | 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) | झंडे? | स्पष्ट रूप से फ़ाइल एन्कोडिंग के बारे में अतिरिक्त जानकारी प्रदान करता है।
|
वॉल्यूम ब्लॉक
ऐड्र | 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) | झंडे |
एक वॉल्यूम-ब्लॉक एक कंटेनर है, जो फ़ाइलों को समाहित करता है। इसमें केवल एक बार - ब्लॉक प्रारूप के कारण - फ़ाइल का आकार दोहराया गया है और उसके बाद सीधे उपयोग डेटा आते हैं।