Outpost 2 दिनांकपत्रानि · bei.pm

अयं पाठः स्वयमेव OpenAI GPT-4o Mini द्वारा अनुवादितः अस्ति।

यस्यां पृष्ठे वर्णितानि फाइल्-रूपाणि तेषां तंत्रज्ञान-विश्लेषणं बौद्धिक-स्वामित्वस्य Dynamix, Inc.Sierra Entertainment इत्यस्मिन् आधारतः अस्ति।
बौद्धिक-स्वामित्वं अद्य Activision Publishing, Inc. / Activision Blizzard, Inc.-समूहस्य भागं अस्ति च वर्तमानं Microsoft Corp. इत्यस्मिन स्वाम्ये अस्ति।

अस्मिन् सूचनाः पुनः-यांत्रिकीदत्तान्वेषण च उपयोगेन संग्रहिता अतीतानां दत्तैः सञ्चयाय च परस्पर-संक्रियता-लाभाय।
कस्यापि विशेषाधिकारेण वा गोप्य-सूचनायाः उपयोगः न कृतः।

अयं खेलः वर्तमानकाले gog.com इत्यस्मिन् डाउनलोड-रूपेण क्रेतुं शक्यते।

खेलस्य कलाकृति

अस्मिन् अनुच्छेद-श्रृङ्खलायां "आउटपोस्ट २: विभक्त भाग्य" इत्यस्मिन् वास्तविक-काल-नीतिक्रिडायाम् डेटा-स्वरूपाणां विषये मम ज्ञानानि प्रलेखितानि सन्ति, यत् १९९७ तमे वर्षे सिएरा द्वारा प्रकाशितं च डाइनामिक्स द्वारा विकसितं च।

अहं ०१ नवम्बर २०१५ तः १४ नवम्बर २०१५ पर्यन्तं विशेषतः खेलस्य डेटा-विश्लेषणस्य सह तत्र किन्तु कृत्ये संलग्नः आसम्।

याः सूचना अहं यावत् प्राप्नुयामि, तदनुसारं डाइनामिक्स - यथा अन्यानि वाणिज्यिक-संस्थानानि - किञ्चित् डेटा-स्वरूपाणि विशेषतः आउटपोस्ट २ इत्यस्मिन् विकसितानि न, किन्तु अन्येषु विकासेषु, यथा मेचवारियः-श्रृङ्खले, (परिवर्तितानि) उपयुज्यन्ते।
स्वतन्त्रतया, एषः अपि निरीक्षितुं शक्यते यः डेटा-स्वरूपाणां नवोन्मेषशक्तिः प्रायः सीमितैव अस्ति च सामान्यस्वरूपाणां, यथा JFIF च RIFF च, पुरातन-कल्पनासु आधारितं अस्ति।

तालिकाः च डेटा-स्वरूपाणां व्याख्यायाः विषये अन्यानि सूचना किम् किम् अस्ति? अन्तर्गतं उपलब्धानि सन्ति।
अत्र प्रदत्तानि डेटा सामान्या-रूपेण लघु अन्तःक्रमणं (Little Endian) इव दृष्टव्यं।

अन्ततः, एषः विनोदः अस्ति यः रिवर्स् इंजिनियरिंग इत्यस्मिन् बहु आनन्दं ददाति, यद्यपि एषः पूर्णं न अस्ति।
निःसंकोचं, अहं अपि खेलं स्वयम् अपकर्षणं प्रदास्यामि, यः रोचकः खेल-यन्त्राणां ददाति।

परिचय

Outpost 2 द्वारा प्रयुक्त डेटा प्रारूपानि JFIF / PNG इत्यस्मिन् समान संरचनाम् उपनिशीदन्ति - एतेषां डेटा ब्लॉकेषु सदैव 8 बाइट् हैडरः अस्ति। अतः अहं तेषां विशिष्टस्थानस्य हैडराणि प्रलेखयितुं न यत्नं करोमि, केवलं अपभ्रंशानां प्रलेखनं करोमि।

प्रारूपं सदैव निम्नलिखितं अस्ति; वास्तविक उपयोगी डेटा तस्मिन् समाहितं अस्ति:

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स

अस्मिन् आगामी दत्तांशखण्डे किम् अपेक्षितं तदपर्यन्तं सूचना अस्ति।

ज्ञातानि मानानि:

  • 0x204C4F56 ('VOL '):
    आव volumen
  • 0x686C6F76 ('VOLH'):
    आव volumen-हेडर
  • 0x736C6F76 ('VOLS'):
    आव volumen-स्ट्रिङ्ग
  • 0x696C6F76 ('VOLI'):
    आव volumen-जानकारियाँ
  • 0x4B4C4256 ('BLCK'):
    आव volumen-ब्लोक
  • 0x504D4250 ('PBMP'):
    ग्राफिकदत्तांश
  • 0x4C415050 ('PPAL'):
    रङ्गपैलेट
  • 0x4C415043 ('CPAL'):
    रङ्गपैलेट-कोण्टेनर
  • 0x64616568 ('head'):
    हेडर
  • 0x61746164 ('data'):
    उपयोगदत्तांश
0x0004 uint(24) ब्लॉक-लम्बः

एषः तद्विषये जानकारीं समाहितः अस्ति यः दर्शयति यथा कियत् (बाइट्-मध्ये) निम्नलिखितः डेटा खण्डः अस्ति।

अत्र केवलं उपयोगकर्ता डेटा इव दिष्टम् अस्ति - अष्ट हेडर-बाइटः तत्र न समाविष्टाः सन्ति।

0x0007 uint(8) ध्वजाः?

अज्ञातं यत् एषः खंडः विशेषतः कस्य हेतुं कार्यं करोति।

आकृतिषु एषः मानः प्रायः 0x80 अस्ति, अन्येषु फाइलिषु प्रायः 0x00 अस्ति। एषः सङ्केतयति यत् एषः एकं ध्वज-समूहं अस्ति।

पृष्ठकानि

वोल्यूम्स् एषः खेलस्य दाताकण्टेनरः अस्ति, यः तर्हि तारबॉल इव एकस्मिन् आर्काइव् प्रारूपे अस्ति। अल्पं च, आउटपोस्ट् 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-byte-समाप्तसूचि नामानां यः - कम से कम अद्य प्रस्तुतदत्तांशे - केवल 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) दत्तपत्राणां चिह्नात् परिवर्तकः

सूचयति यत्र फ़ाइलनामसूच्याः (Volume-Strings) मध्ये फ़ाइलस्य नामस्यस्थानम् (!) अस्ति।

एषः उपयोगदत्तांशस्य प्रारम्भं प्रति सन्दर्भितम् अस्ति।

0x0004 uint(32) दत्तांश-ऑफ्सेट्

इदं निर्दिष्टं यत् सम्पूर्णं वॉल्यूम-फाइल-आन्तरे कति स्थानं फाइल-स्थितिः अस्ति।

0x0008 uint(32) फाइल-आकार

इति दर्शयति यथा कति बाइट्-मध्ये त dicha यः फ़ाइलः अस्ति।

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) झण्डाः

एक वॉल्यूम-ब्लॉक एक कंटेनर अस्ति, यः फाइल्स् गृहीतः। एषः केवलं पुनः - ब्लॉक-स्वरूपात् कारणात् - फाइल-आकारं सह प्रतिलिप्यते च अनन्तरं तत्र उपयोगदातुः प्रत्यक्षः अस्ति।

टाइल्स

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 50 42 4d 50 -- -- -- -- -- -- -- -- -- -- -- -- P B M P . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) ब्लॉक-लम्बता
0x0007 uint(8) ध्वजाः

इति Tiles एक Outpost-2 विशेष Bitmap-चित्रपृष्ठ प्रारूपः अस्ति। ते १३ Tilesets, "wells" इत्युच्यते (well0000.bmp तः well0012.bmp पर्यन्तम्), यः maps.vol नामकं क्षेत्रे स्थितं अस्ति।

अस्मिन् Tilesets / Wells इदं निम्नलिखितं अस्ति:

फाइलनाम सामग्री
well0000.bmp एक 32x32px आकार की, नीली ग्राफ़िक - यह परीक्षण के लिए आदर्श है कि क्या आपका इमेज-लोडर कार्य करता है
well0001.bmp हल्की चट्टान, हल्की चट्टान पर पर्वत श्रृंखलाएँ और हल्की चट्टान में अनगिनत क्रेटर के प्रकार शामिल हैं
well0002.bmp हल्की चट्टान के 'डूडैड्स' शामिल हैं - अर्थात वे तत्व जो हल्की चट्टान पर सजावट (या जानबूझकर संरचना, जैसे दीवारें) के रूप में रखे जा सकते हैं, जिसमें वनस्पति भी शामिल है
well0003.bmp हल्की चट्टान पर एक परतदार संरचना शामिल है
well0004.bmp गहरी चट्टान, गहरी चट्टान पर पर्वत श्रृंखलाएँ और गहरी चट्टान में अनगिनत क्रेटर के प्रकार शामिल हैं
well0005.bmp गहरी चट्टान के 'डूडैड्स' शामिल हैं - अर्थात वे तत्व जो गहरी चट्टान पर सजावट (या जानबूझकर संरचना, जैसे दीवारें) के रूप में रखे जा सकते हैं
well0006.bmp गहरी चट्टान पर एक परतदार संरचना, साथ ही हल्की और गहरी चट्टान के बीच के संक्रमण शामिल हैं
well0007.bmp लावा शामिल है जिसमें प्रत्येक के लिए 4-5 फ्रेम की एनीमेशन है
well0008.bmp बालू और बालू में अनगिनत क्रेटर के प्रकार शामिल हैं
well0009.bmp बालू के 'डूडैड्स' शामिल हैं - अर्थात वे तत्व जो बालू पर सजावट (या जानबूझकर संरचना, जैसे दीवारें) के रूप में रखे जा सकते हैं
well0010.bmp बालू से हल्की और गहरी चट्टान के लिए 48 संक्रमण शामिल हैं
well0011.bmp नक्शे के ध्रुवीय कवर शामिल हैं, जिसमें गहरी चट्टान आधार के रूप में है
well0012.bmp नक्शे के ध्रुवीय कवर शामिल हैं, जिसमें हल्की चट्टान आधार के रूप में है

सत्यं वदामि यः उचितं अस्ति यथाऽन्यतमा कार्यान्वयनस्य, त Tiles पूर्वं न प्रदर्शयन्तु यः तासां संग्रहणं कृते, यतः तस्य दिन/रात्रि-चक्रस्य दत्तांशाः अपि सम्पादनीयाः - च अत्यधिकानि दत्तांशानि उपसृष्टानि स्युः।

Tiles 8bpp-चित्राणि सन्ति, यानां सूचीकृतपैलेटः 32x32 पिक्सल्स परिमाणतः अस्ति, याः परस्परं व्यवस्थिताः सन्ति। तथापि एकस्मिन् Tileset-इत्यस्मिन् अधिकानि वस्तूनि स्युः।

मुख्य- контейнерः द्वे विभागे अस्ति: headdata च।

टाइल्स् शीर्षकः

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) ब्लॉक-लम्बता
0x0007 uint(8) ध्वजाः
0x0008 uint(32) संस्करण / ध्वजाः?

एषः कदाचित् दत्तापरिवर्तनस्य सङ्केतः भवितुं शक्नोति; यः सर्वेषु मया प्राप्य फाइलेषु अत्र मानं 0x02 स्थिता अस्ति

0x000c uint(32) चतुरस्रता (क्षैतिज समाधान)

प्रतिपादयति, यथा विस्तृतं चित्रदत्तांशं अस्ति (पिक्सेल्स् मध्ये).

सर्वेषां Wells Outpost 2 इत्यस्मिन् एषः मानः 0x20 वा 32 इति अपेक्षितः भविष्यति.

0x0010 uint(32) उच्‍चता (ऊर्ध्व गणना)

इदं सूचयति यत् चित्रफाइलस्य ऊर्ध्वता कति पिक्सेल् (पिक्सेल्) अस्ति।

सर्वेषां Outpost 2 इत्यस्मिन् वेल्स् मध्ये अत्र मूल्यं 0x20 यः च 32 इत्यस्मिन् अपेक्षितम् अस्ति।

0x0014 uint(32) रंगगहनता?

अस्मिन् मानस्य अर्थः अज्ञातः अस्ति।

यतः एषः सर्वेषां परीक्षितानां फाइल्सु मानं 8 धारयति, तर्हि एषः रंगगहनता सम्बन्धिनी होयेत्।

0x0018 uint(32) रङ्गगम्भीरता २?

अस्मिन मूल्ये का अर्थ ज्ञातं न अस्ति।

संभवतः एषः 'लक्ष्य' -रंगगहनता अस्ति।

एतेषां विवरणानां अनन्तरं एकं मानक-आरिफ्-आकारे उपलब्धं रंगपट्टिका फाईल अस्ति। सटीक-संविधानं तत्र दृश्यते - यः रंगपट्टाः अन्यत्र अपि दृश्यन्ते - पैलेट्‍स इत्यस्मिन् स्थले।

टाइल्स् दत्तांशाः

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) ब्लॉक-लम्बता
0x0007 uint(8) ध्वजाः

अन्ततः उज्ज्वल पिक्सेलदत्तांशाः, वाम-उपरतः रेखानुवृत्त्या दक्षिण-तले प्रदर्श्यन्ते।
अस्मिन् सामान्यतः 8bpp-बिटमैप्स् इत्यस्मिन् स्वरूपे विद्यमानानि चित्राणि दत्तमूल्यम् रंगपैलट् मध्ये रंगस्य अनुक्रमाङ्कस्य समस्यान्तः सन्ति।

पिक्सेलदत्तांशाः उर्ध्वतः वामपृष्ठे आरभ्य दक्षिणतले समाप्ताः।

ई खेल-इंजनः तैलों चित्रीकरोति *संभवतः* आवश्यकतानुसार।
एषः तदात्मनं रात्रिदिनचक्रस्य कारणात् अस्ति, यः 32 विभागानां तैलों ज्ञायते। एतेन प्रकाशमानमूल्यतः प्रतिवर्ष 'किञ्चित्' घट्यते। सटीकं मूल्यं ज्ञातुं न शक्यम्, अहं गणनार्थं कार्यं करोमि

v *= (daylight / 48) + 0.25;

पिक्सेलस्य HSV- données सह, यत्र daylight 0-31 पर्यन्तः मूल्यं अस्ति च v 0-1 मध्ये अस्ति। अस्मिन् अतिरिक्तं पृष्ठकस्य दाहिने च वामे 16 तैलों की एक सीमा अस्ति (यः अज्ञातं स्पाउनिंग् युनिट्स् हेतोः अस्ति) इत्यपि विचारणीयम्।

अतिरिक्तं रात्रिदिनचक्रः प्रति खेलचक्रे केवलं एकं स्तम्भं अद्यतनीकृत्य अस्ति।
त्वरितरात्रिदिनचक्रः एषः यथावत् दृश्यते:

रात्रिदिनचक्रस्य दृश्यांकनम्

पीआरटी

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 43 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- C P A L . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) पैलेट-लम्बता

सामान्य ब्लॉक स्वरूपस्य विपरीतं, अनेन फाइल मध्ये लभ्यमानानां पैलेट्स् संख्या दर्शयति - न च बाइट्स् मध्ये ब्लॉकस्य लम्बता।

0x0007 uint(8) ध्वजाः

संभवतः, यथा सामान्यं, ध्वजाः।

मम ज्ञाताः किन्तु कोऽपि ध्वजाः न सन्ति; यतः सर्वे ज्ञाताः मूल्याः 0x00 इव सन्ति, एषा च संभाव्यं, यः पालेटनां संख्या केवलं uint(32) अस्ति।

PRT इत्यस्मिन्नेव निश्चितं किं तु ज्ञातं नास्ति; उदाहरणार्थ 'Palette and Ressource Table' इति उचितं भवेः - यतः एषः पत्रकः op2_art.prt इति नाम्ना maps.vol मध्ये अस्ति, एषः तादृशः अस्ति, या च एषः कार्यं सम्यग् वर्णयितुमर्हति।

एषः पत्रकः पलेटानां सूचीं, सर्वेषां उपयुज्यमानैः बिटम्याप्स्, सर्वाणि एनिमेशनपरिभाषाः च अपि च किञ्चिद् अपरिचितानां दत्तांशानां च समाविष्टं अस्ति। एषः पूर्वं ज्ञातं कंटेनररूपं अनुवर्तते, यतः सर्वे दत्तांशाः एषम् esquema अनुसरन्ति न।

CPAL-खंडः (यः पलेटानां कंटेनरस्य सूचनां दाति) केवलं पलेटादत्तांशानां संकलनं करोति, यः दर्शयति यः कुत्र 1052 बाइट्-विशालस्य 8-बिट्-पलेटानां संख्या अस्ति।

1052-बाइट्-सूचना अयं बन्धकारी नास्ति, यतः पलेटानां रूपं भिन्नं पलेटानां आकाराणां अपेक्षा करोति। एषः केवलं तादृशं दत्तांशं विषये अस्ति, यः आऊटपोस्ट् 2 इत्यस्मिन् प्रदत्तं अस्ति।

पलेटानां सूचीं अनन्तरं त्वरितं च प्रारम्भिकं शीर्षकं विना, बिटम्याप्स् सूचीः त्वरितं आगच्छति; तस्य अनन्तरं एनिमेशनसूचयः अपि तादृशं आगच्छन्ति।
उभयं च प्रतिपदम् uint(32) (अथवा पुनः uint24+uint8 ध्वजः?) इत्यस्मिन् प्रारम्भं करोति, यः दत्तांशानां संख्या ददाति।

पैलेट्‍स

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 50 50 41 4c -- -- -- -- -- -- -- -- -- -- -- -- P P A L . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) पैलेट-लम्बा

सामान्य ब्लॉक प्रारूपस्य विपरीतः, एषः कागदपत्रे दृश्यमानानां पट्टिकानां संख्या दर्शयति - न तु बाइट्स् मध्ये ब्लॉकस्य दीर्घताम्।

0x0007 uint(8) ध्वजाः

संभवतः, यथा सामान्यं, ध्वजाः।

किन्तु मम ज्ञातानि ध्वजाः न सन्ति; यः सर्वे ज्ञाताः मानाः 0x00 प्रति अन्विताः सन्ति, अतः संभाव्यं अस्ति यः पलट्-संख्या केवलं एकं uint(32) अस्ति।

पैलेट-सूचनाः अत्यन्तं सरलतया पठनीयाः सन्ति।
ते प्रत्यक्षं एकं शीर्षकं च एकं डाटाः खण्डं च भवन्ति।

पैलेट्स-शीर्षक

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 68 65 61 64 -- -- -- -- -- -- -- -- -- -- -- -- h e a d . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) पैलेट-लम्बा

सामान्य ब्लॉक प्रारूपस्य विपरीतः, एषः कागदपत्रे दृश्यमानानां पट्टिकानां संख्या दर्शयति - न तु बाइट्स् मध्ये ब्लॉकस्य दीर्घताम्।

0x0007 uint(8) ध्वजाः

संभवतः, यथा सामान्यं, ध्वजाः।

किन्तु मम ज्ञातानि ध्वजाः न सन्ति; यः सर्वे ज्ञाताः मानाः 0x00 प्रति अन्विताः सन्ति, अतः संभाव्यं अस्ति यः पलट्-संख्या केवलं एकं uint(32) अस्ति।

0x0008 uint(32) पैलेट्-आकारः-संस्करणः?

संभवतः निर्दिष्टं यः पैलेट्-आकार-आवृत्तिं पालनं करोति।

सर्वे Outpost2-पैलेटः प्रायः आवृत्तिं 0x01 धारयन्ति।

पैलेट्-डेटा

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 64 61 74 61 -- -- -- -- -- -- -- -- -- -- -- -- d a t a . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) जादुई बाइट्स
0x0004 uint(24) ब्लॉक-दीर्घता
0x0007 uint(8) ध्वजाः

दत्तांश-विभागः प्रत्येक-पैलेट-प्रविष्टयः ग्रहीतुम् उपयुज्यते। पैलेट-प्रविष्टीनां संख्या खण्ड-दीर्घता / 4 इति मानात् प्राप्यते।

प्रत्येक-प्रविष्टिः एषः साधारणः रूपः अस्ति;

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 -- -- -- 04 -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(8) लाल-घटकः

रक्तांशस्य वर्णस्य सूचनां ददाति

0x0001 uint(8) ग्रीन-घटकः

वर्णस्य हरितांशं दर्शयति

0x0002 uint(8) नील-घटकम्

रङ्गस्य नीलांशं दर्शयति

0x0003 uint(8) अज्ञात - ध्वजाः?

एषः मूल्यः किमर्थं अस्ति इति स्पष्टं नास्ति, यः प्रत्यक्षतः मूलतः 0x04 अस्ति।

पालेटानां विषये अन्यतमा केवलं इदं केवलं वदन्ति, यदाऽनिमेषाणां कृते उपयुज्यमानाः पालेटाः एतेषां नियमाः अस्ति:

  • प्रथमं वर्णं सदैव पारदर्शकं अस्ति, यद्यपि तत्र किंचित् मूल्यं निर्दिष्टं अस्ति।
  • पालेटानां प्रविष्टयः 1-24, पालेटाः 1-8 इत्यस्मिन् खिलाडिनां वर्णं इव मननीयाः।
    यत्र वर्णाः खिलाडी 1-स्य बाह्ये विशिष्टं आगच्छन्ति, तत् मम न स्पष्टं।
    अहम् अनुमानयामि, यः अन्याः वर्णाः सहेतुकृताः सन्ति।

पालेटा-संदर्शिका

बिटमैपाः

अद्र् x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF अक्षराः
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
स्थानम् दत्तात्त्वम् नाम व्याख्या
0x0000 uint(32) संरेखित चौड़ाई

पिक्सेलदत्तांश-रेखायाः चौड्यां बाइटेषु निर्दिश्यते - यः चतुर्बाइटसमुदायेषु संरेखितः अस्ति।

अतः विशेषं चित्ररेखां शीघ्रं प्राप्यते।

यः मूल्यः पृथक् संचितः अस्ति, यद्विषये गणनं कर्तुं शक्यते, तस्य कारणं अस्पष्टं अस्ति।
संभवतः एषः रेंडर-कोडस्य उपन्यस्तिः अस्ति।

0x0004 uint(32) ऑफ्सेट्

Bitmapे प्रथमा रेखायाः अपस्मरणं दर्शयति

0x0008 uint(32) उच्चता

चित्रस्य ऊँचिं पिक्सेल् मध्ये दर्शयति

0x000c uint(32) व्यापकता

चित्रस्य विस्तीर्णता पिक्सले निर्दिशति

0x0010 uint(16) प्रकार

चित्रस्य प्रकारं दर्शयति। अत्र तु एषः बिट्मास्कः इति दृश्यते:

  • 0x04 स्थापितं अस्ति, यदा 1bpp-ग्रहणं अस्ति।
  • 0x40 स्थापितं अस्ति, यदा तु ग्राफिकं विंडोइंग् कार्यं कर्तुं आवश्यकं अस्ति।
0x0012 uint(16) पैलेट्

निश्चितं करोति, कस्य पॅलेट् PRT-फाइल्-āt उपयुज्यते

एषा डेटा संरचना PRT-फाइलस्य दर्शयति यथा स्प्राइटानां कृते प्रयुक्ताः बिटमैपाः निर्मिताः सन्ति। एते बिटमैपाः एकस्य अंशस्य रूपेण कार्यं करोति, येन अनेकानि एकत्रितानि स्प्राइटस्य एनिमेशनफ्रेमस्य कृते निर्मीयन्ते।

विशिष्टाः चित्रडेटाः तु op2_art.BMP नामकं क्रीडायाम् अङ्कणपङ्क्तौ वस्तुतः स्थिताः सन्ति।
यः कारणः एषः बिटमैपफाइलः एकं (अधिकतरं शुद्धं) RIFF-बिटमैपहेडरं धारयति, तस्य स्पष्टं नास्ति। सम्भवतः Outpost 2 प्रणाली-API-नां ग्राफिकानां लोडिंगस्य कृते उपयोगं करोति, यदनु एषः हेडरः अस्थायीं स्वीकर्तुं च यथाक्रमं परिवर्तनं करोति।

पिक्सेलडेटाः तु BMP-फाइलस्य स्थितौ ओफ्सेट् + uint32-ओफ्सेट्, यत् BMP-फाइलस्य 0x000A पते स्थितम् (RIFF-बिटमैप-डेटा-ओफ्सेट्), तत्र दृश्यन्ते - च पुनः वामकर्णात् दक्षिणकर्णतः पङ्क्तिक्रमानुसारं व्यवस्थिताः सन्ति।

मोनोक्रोम 1bpp-ग्राफिकाः एषां प्रकारेण चित्रीकृतुं शक्यन्ते, यथा रंगः 0 सम्पूर्णं पारदर्शिता, तथा रंगः 1 अर्धपारदर्शकं कृतक/धूसरं अस्ति, यः मोनोक्रोम-ग्राफिकाः सामान्यतः वाहनानि च भवनानि च छायायाः कृते एनिमेशनानां मध्ये उपयोगन्ते।

अनेन यदा चित्तानि संयोजयितुं शक्यन्ते।

सुरक्षितं आवासमोड्युलम् (Plymouth)

चित्रणानि

अस्मिन् क्षणं वयं Outpost 2 डेटा स्वरूपाणां विषये राजकक्ष्यां आगच्छामः:
अयं चानिमेशनाः।

एनिमेशनसूचयः एकेन वैश्विकहेडरेण प्रारम्भन्ते, यः मुख्यतः डेटा प्रमाणीकरणाय उपयुज्यते। तस्मिन् अनन्तरं विशिष्टानिमेशनपरिभाषाः त्रयस्तरे विभक्ताः सन्ति:

  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) का वामारम्भ (Pixel) सूचयति।

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 इति चिह्नं वाहनस्य/भवनस्य चारित्रं निर्दिशति, यदा तं चयनं कृतं अस्ति च, तदा सह तस्मिन् क्षेत्रे यः क्लिक्कायोग्यः अस्ति तं दर्शयति।

अधिकं मुख्यतः "शून्यबिन्दुं" निश्चितं करोति; यः बिन्दुः खेलान्तरगतं तत्त्वानां उपरि गणना कर्तुं वा घटितुं आवश्यकः अस्ति। गणितीयतया अपि वदामः: अधिकं अत्र तत्त्वाणां मूलं निर्दिशति।

विन्डोयः अपि अधिकस्य तस्मिन् समानाः (प्रत्येकं विन्डो) 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 (बिट्मास्क): अज्ञातम् - अहम् दृढं अनुमानयामि यः एषः खेलटिक्काणां संख्या अस्ति, याः व्यतीताः स्युः, यावत् आगामी फ्रेम् प्रदर्शितं भविष्यति
  • 0x80: तस्य विषये सूचना, यः वैकल्पिक 3 च 4 च अस्ति किं वा
0x0002 uint(8) वैकल्पिक 1

अज्ञात

0x0003 uint(8) वैकल्पिक २

अज्ञात

0x0004 uint(8) वैकल्पिक 3

अज्ञात

0x0005 uint(8) वैकल्पिक ४

अज्ञात

उपफ्रेम

अद्र् 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) ऑफसेट् - क्षैतिजम्

सूचयति यत्र फ्रेमे उपफ्रेमं स्थितव्यम्, अथवा कति पिक्सेलानि बिटमैपं क्षितिजतः विस्थापयितव्यम्।

0x0006 sint(16) आवर्तन - ऊर्ध्वगामिनि

सूचयति यत्र फ्रेमस्य अन्तर्गतं उपफ्रेमं स्थितुं प्रयोक्तव्यम्, अथवा कथं यावत् पिक्सलानि बिटमैपं ऊर्ध्वं स्थानान्तरितं भविष्यन्ति

अस्मिन्, वयं एककं फ्रेमं च सम्पूर्णानिमेशनं च यथान्यायं योजयितुं शक्नुमः, अत्र एकस्मिन उदाहरणे जटिलानिमेशनं, सूच्यते 500 इत्यस्मिन् प्रदर्शनम्।

अनिमेशन ५००

एनिमेशन 500 दर्शयति, यथा एकः Plymouth-परिवहनयन्त्रः, यः सामान्य-धातुना भारितः अस्ति, निर्गन्ति। एषः एकः गण्यः एनिमेशनः अस्ति यः विंडोइंग्-कार्यात्मकतां उपयोजयति।

एवं सम्पूर्णं एनिमेशनं संयोजितुं शक्यते।
दुर्भाग्यवशात् ऊर्ध्वे लोडलुके समस्यां अस्ति, यत्र सम्यग् बिट् ग्राफिक-प्रकार-सूचनायां न स्थापितः अस्ति।

अत्र किञ्चित् अन्याः, सुरम्याः एनिमेटेड् स्प्राइट्स् खेलात्:

एनिमेशन 500 इल्लustriयते

एनिमेशन 500 सम्पूर्णतया संयोजितम्

प्लीमाउथ भवन-कारखाना

एडेन अंतरिक्ष-हवाई अड्डा

एडेन चिकित्सा केंद्र

SCAT

प्लीमाउथ अंतरिक्ष-हवाई अड्डा

ईस्टर अंडा:
क्रिसमस पुरुष

ईस्टर अंडा:
डैन्स डॉग

उपयोगकर्ता-पृष्ठम्

अधुना खेलेनस्य उपयोजक-संविधानं अस्ति, यः घर्षितं धातु रूपेण स्थितः अस्ति।

किन्तु अत्र अपि स्पष्टं दृश्यते यः Dynamix चक्रं न पुनः आविष्कर्तुं आवश्यकं आसीत्; अत्र केवलं Windows द्वारा प्रदत्त User32 तथा GDI32-APIs उपयोगः न केवलं कृतः अस्ति - विशेषतः User32 द्वारा संसाधन-प्रबंधनम् अपि उपयुज्यते।

एषः सन्दर्भे Angus Johnson द्वारा मुक्तस्रोत रूपेण विकसितं Resource Hacker इत्यस्मिन् कार्यक्रमेण, अथवा यदि यः Linux / Mac OS मध्ये Wine चालनात् डरति, तर्हि icoutils मध्ये समाविष्टं wrestool इत्यस्मिन् साह्येन अपि निष्काशितुं शक्यते।

फाइलनाम सामग्री
Outpost2.exe केवल New Terra के सम्मुख स्थित अन्तरिक्ष केन्द्रस्य चिह्नं धारयति
op2shres.dll सीमाएँ, बटन, रेडियो-बटन तथा चेकबॉक्स इत्यादि हेतु ग्राफिक्स सह संवाद-पृष्ठभूमि, कथा-कार्य-लेखानां सहायक-चित्राणि च मुख्य-पृष्ठभूमि ग्राफिक्स सहित
out2res.dll गेमिङ्ग-खिड़की सजावट, सामान्य तथा विशेष धातुं हेतु चिह्नानि, लोडिंग-स्क्रीन, संवादानां ग्राफिक्स, तथा अन्य कर्सर ग्राफिक्स, अनिमेटेड गेम निर्देशिकायाम् अतिरिक्त