Outpost 2 ទម្រង់ឯកសារ · bei.pm

អត្ថបទនេះត្រូវបានបកប្រែនៅក្នុងរបៀបស្វ័យប្រវត្តិដោយ OpenAI GPT-4o Mini

ទ្រព្យសម្បត្តិយោងដែលបានពិពណ៌នានៅលើទំព័រនេះ គឺអាស្រ័យលើការវិភាគបច្ចេកទេសនៃទ្រព្យសម្បត្តិចិត្តវិញ្ញាណពី Dynamix, Inc. និង Sierra Entertainment
ទ្រព្យសម្បត្តិចិត្តវិញ្ញាណនេះបច្ចុប្បន្នគឺជាផ្នែកនៃ Activision Publishing, Inc.- / Activision Blizzard, Inc.-មាស និងនៅសព្វថ្ងៃមានអង្គកាន់បន្ទុកដោយ Microsoft Corp.

ព័ត៍មានបានប្រមូលផ្តុំតាមរយៈ Reverse Engineering និង ការវិភាគទិន្នន័យ ដើម្បីគោលបំណងក្នុងការថែរក្សា និងអន្តរកម្មជាមួយទិន្នន័យប្រវត្តិសាស្ត្រ។
មិនមានការប្រើប្រាស់ស្ដង់ដារដែលជាកម្មសិទ្ធិឬជាឯកសារសម្ងាត់ណាមួយទេ។

ល្បែងនេះអាចទិញបាននៅ gog.com ជាសម្រាប់ទាញយក។

សិល្បៈនៃការលេង

អត្ថបទជួរដូចខាងក្រោមបានឯកភាពដឹងពីការស្រាវជ្រាវរបស់ខ្ញុំអំពីទម្រង់ទិន្នន័យនៅក្នុងហ្គេមយុទ្ធសាស្ត្រ "Outpost 2: Divided Destiny" ដែលត្រូវបានបង្ហាញនៅឆ្នាំ 1997 ដោយ Sierra និងអភិវឌ្ឍន៍ដោយ Dynamix។

ខ្ញុំបានអភិវឌ្ឍការវិភាគទិន្នន័យនៃហ្គេមនេះ ចាប់តាំងពីថ្ងៃទី ០១ ខែវិច្ឆិកា ឆ្នាំ ២០១៥ ដល់ថ្ងៃទី ១៤ ខែវិច្ឆិកា ឆ្នាំ ២០១៥។

នៅក្នុងព័ត៌មានដែលខ្ញុំអាចទទួលបានរហូតមកនេះ Dynamix - ដូចជាក្រុមហ៊ុនពាណិជ្ជកម្មច្រើនផ្សេងទៀត - មិនបានបង្កើតទម្រង់ទិន្នន័យពិសេសសម្រាប់ Outpost 2 ទេ ប៉ុន្តែបានប្រើនៅក្នុងការអភិវឌ្ឍន៍ផ្សេងៗដូចជាស៊េរី Mechwarrior (បានកែប្រែ)។
ក្រៅពីនេះ ក៏អាចកំណត់បានថា កម្លាំងនៃការបង្កើតទម្រង់ទិន្នន័យមានការកំណត់ ហើយជាញឹកញាប់គឺផ្អែកលើគំនិតដែលមានរយៈពេលយូរ និងទម្រង់ធម្មតាដូចជា 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 '):
    សូរ
  • 0x686C6F76 ('VOLH'):
    ក្បាលសូរ
  • 0x736C6F76 ('VOLS'):
    ខ្សែសូរ
  • 0x696C6F76 ('VOLI'):
    ព័ត៌មានសូរ
  • 0x4B4C4256 ('BLCK'):
    ប្លុកសូរ
  • 0x504D4250 ('PBMP'):
    ទិន្នន័យក្រាហ្វិក
  • 0x4C415050 ('PPAL'):
    ក្រុមពណ៌
  • 0x4C415043 ('CPAL'):
    កុងតឺន័រពណ៌
  • 0x64616568 ('head'):
    ក្បាល
  • 0x61746164 ('data'):
    ទិន្នន័យប្រើប្រាស់
0x0004 uint(24) ប្រវែងប្លុក

មានព័ត៌មានអំពីទំហំ (ក្នុង Byte) នៃប្លុកទិន្នន័យដែលបន្ទាប់មក។

នៅទីនេះគឺមានន័យថា គឺជាទិន្នន័យនៃការប្រើប្រាស់ទាំងមូល - 8 Header-Byte មិនត្រូវបានរាប់បញ្ចូល។

0x0007 uint(8) បង់គោល?

មិនមានព័ត៌មានច្បាស់លាស់ថាប្លុកនេះមានគោលបំណងអ្វីទេ។

ក្នុងការប្រមូលផ្តុំតម្លៃនេះភាគច្រើនមានតម្លៃ 0x80 ហើយក្នុងឯកសារផ្សេងទៀតភាគច្រើនមានតម្លៃ 0x00។ វាបង្ហាញថា វា​អាច​ជា​កំណត់សំឡេងមួយ។

មេឌៀ

វ៉ូល្យូម គឺជាកុងតឺនរស់សម្រាប់ទិន្នន័យសម្រាប់ហ្គេម ដែលមានគំនិតស្រដៀងនឹងទ្រង់ទ្រាយសារពើភ័ណ្ឌ ដូចជា Tarball។ យ៉ាងហោចណាស់ នៅក្នុង Outpost 2 ទ្រង់ទ្រាយនេះគ្រាន់តែស្គាល់ថា ជាឯកសារ - គ្មានថតឯកសារ។ អាចមានការសម្តែងថា អាចប្រែប្រួលឯកសារ ដោយប្រើឈ្មោះឯកសារដែលសមស្រប។

វ៉ូល្យូម ត្រូវបានកំណត់ពី Volume-Header និងវ៉ូល្យូមប្លុកច្រើនដែលត correspond នឹងឯកសារពិតប្រាកដ។

"វ៉ូល្យូម" គឺជាឯកសារដែលមានបញ្ចប់ '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) កម្រាល

គេហៅថា Volume Header មិនមានទិន្នន័យប្រើប្រាស់នៅក្នុងខ្លួនវាទេ។
វាផ្តល់ជារង្វង់ប៉ុណ្ណោះ។

ជា​ទិន្នន័យដំបូងក្នុង Volume Header គួរត្រូវមាន Volume Strings; បន្ទាប់មកគឺជាព័ត៌មាន Volume។

ខ្សែភាពយន្តបរិមាណ

អាសយដ្ឋាន 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) ប្រវែង Payload

បង្ហាញអំពីចំនួន Bytes ដែលមាននៅក្នុងទិន្នន័យខាងក្រោមដែលជាទិន្នន័យប្រើប្រាស់ពិតប្រាកដ។

ទិន្នន័យដែលនៅសល់ក្នុងបញ្ជី Volume-Strings ត្រូវបានចាត់ទុកថាជា garbage

នៅក្នុងឯកសារដែលមានកាលបរិច្ឆេទពេលក្រោយ ទិន្នន័យ 'នៅសល់' ទាំងនេះគឺ 0x00 ដែលអាចបង្ហាញពីកង្វល់ក្នុងការបង្កើតឧបករណ៍ក្នុងអំឡុងពេលអភិវឌ្ឍន៍ល្បែង នោះគឺមានន័យថា អ្នកអភិវឌ្ឍន៏បានយកចិត្តទុកដាក់ទៅលើការកំណត់តម្លៃដែលត្រឹមត្រូវរបស់ Buffer តែម្តង នៅពេលដែលវាមិនមានឥទ្ធិពលដល់ល្បែងនោះទេ ថាតើទិន្នន័យបានកំណត់តម្លៃឬអត់។

0x000c uint(8)[] បញ្ជីឈ្មោះឯកសារ

នេះគឺជាបញ្ជីឈ្មោះឯកសារដែលបានបញ្ចប់ដោយ 0-Byte ដែលគ្មានទំហំ ដែល - យ៉ាងហោចណាស់នៅក្នុងទិន្នន័យបច្ចុប្បន្ននេះ - គ្រាន់តែរំពឹងថាអក្សរ ASCII ។

មិនចាំបាច់ត្រូវការពិនិត្យយ៉ាងជ្រាលជ្រៅទិន្នន័យនេះនៅពេលបំបែកទិន្នន័យទេ ពីព្រោះនៅក្នុងព័ត៌មានវ៉ុល នោះមានការរោងចរណ៍នៃកន្លែងឈ្មោះឯកសារនៅពេលដែលត្រូវបានយោងដោយផ្ទាល់។

Volume Strings គឺជាបញ្ជីនៃឈ្មោះឯកសារ ដែលមានក្នុង volume នេះ។

ព័ត៌មានចំនួន

អាសយដ្ឋាន 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 = តារាងចំណាត់ថ្នាក់ឯកសារ)។

ចំនួនឯកសារនឹងត្រូវបានគណនាដោយការបែងចែកទំហំប្លុកដោយប្រវែងនៃការចុះបញ្ជី - ១៤ បាយ។

ការចុះបញ្ជីនីមួយៗមានសំណុំពីរបៀបដូចតទៅ៖

អាសយដ្ឋាន 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) ទំហំឯកសារ

បញ្ជាក់ពីទំហំឯកសារនៅក្នុងប៊ីត។

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) សំបុត្រសញ្ជាក

ជាត្បូងនោះគឺជារូបភាព Bitmap ដែលមានលក្ខណៈពិសេសសម្រាប់ Outpost-2។ វាបន្តអំឡុង 13 Tilesets ឈ្មោះថា "wells" (well0000.bmp ដល់ well0012.bmp), ដែលស្ថិតនៅក្នុងបរិមាណ maps.vol

ក្នុងនោះ Tilesets / Wells មានអ្វីខ្លះ:

ឈ្មោះឯកសារ មាតិការទាំងអស់
well0000.bmp រូបភាពខៀវទំហំ 32x32px - សមស្របសម្រាប់សាកល្បងថាតើកម្មវិធីភ្ជាប់រូបភាពរបស់ខ្លួនដំណើរការបានឬអត់
well0001.bmp មានថ្មភ្លឺ, ភូតភ្នំលើថ្មភ្លឺ និងវ៉ារីយ៉ង់ច្រើននៃគំនូសប៉ះក្នុងថ្មភ្លឺ
well0002.bmp មាន 'Doodads' នៃថ្មភ្លឺ - គឺជាធាតុដែលអាចដាក់ជារចនាសម្ព័ន្ធ (ឬដាក់ដោយចេតនា) លើថ្មភ្លឺ, រួមមានសាឡាងផ្ការៀនផងដែរ
well0003.bmp មានរចនាសម្ព័ន្ធស្រដៀងក្រហមលើថ្មភ្លឺ
well0004.bmp មានថ្មអូស, ភូតភ្នំលើថ្មអូស និងវ៉ារីយ៉ង់ច្រើននៃគំនូសប៉ះក្នុងថ្មអូស
well0005.bmp មាន 'Doodads' នៃថ្មអូស - គឺជាធាតុដែលអាចដាក់ជារចនាសម្ព័ន្ធ (ឬដាក់ដោយចេតនា) លើថ្មអូស
well0006.bmp មានរចនាសម្ព័ន្ធស្រដៀងក្រហមលើថ្មអូស, រួមមានការផ្លាស់ប្តូរវិញពីថ្មភ្លឺទៅថ្មអូស
well0007.bmp មានឡាវាដែលមានរូបភាពសកម្មភាព 4-5 ស៊ុប
well0008.bmp មានអំបិល និងវ៉ារីយ៉ង់ច្រើននៃគំនូសប៉ះក្នុងអំបិល
well0009.bmp មាន 'Doodads' នៃអំបិល - គឺជាធាតុដែលអាចដាក់ជារចនាសម្ព័ន្ធ (ឬដាក់ដោយចេតនា) លើអំបិល
well0010.bmp មានការផ្លាស់ប្តូរពីអំបិលទៅថ្មភ្លឺ និងថ្មអូសចំនួន 48
well0011.bmp មានកំពូលទឹកទឹកកករបស់ផែនទី, ជាមួយនឹងថ្មអូសជា​ប្រដាប់ដី
well0012.bmp មានកំពូលទឹកទឹកកករបស់ផែនទី, ជាមួយនឹងថ្មភ្លឺជា​ប្រដាប់ដី

វាជាការល្អមួយសម្រាប់ការអនុវត្តន៍ឲ្យបានត្រឹមត្រូវ គឺមិនគួរបង្ហាញ Tiles មុនដើម្បីកណ្តាលសម្រាប់ការផ្ទុក ក្រោយពេលដែលទិន្នន័យសម្រាប់វដ្តថ្ងៃ/យប់ត្រូវតែត្រូវបានកែសម្រួល - ហើយមានទិន្នន័យច្រើនណាស់នឹងកើតមាន។

Tile គឺជាគំនូរ 8bpp ដែលមានកណ្តាលពណ៌បញ្ជីក្នុងទំហំ 32x32 ភីកសែល ដែលត្រូវបានរៀបចំជាទូទៅ។ នៅក្នុង Tileset ដែលបានបង្កើតឡើង អាចមានច្រើនជាងនេះ

កុងតឺន័រ Haupt មានរាងកាយពី 2 ផ្នែក៖ head និង data

ក្បាលកម្រាល

អាសយដ្ឋាន 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 តើតម្លៃ 0x2032 នឹងត្រូវបានរំពឹងទុកនៅទីនេះ។

0x0010 uint(32) កម្ពស់ (ការបញ្ចូលទ្រង់ទ្រាយទេពកថា)

បង្ហាញពីកម្រិតនៃឯកសារូបភាព (នៅក្នុងពិច្ជារ៉េ).

នៅក្នុងវេលទាំងអស់នៃ Outpost 2 ត្រូវរំពឹងថាទិន្នន័យនេះមានតម្លៃ 0x2032.

0x0014 uint(32) ជំហានពណ៌?

ន័យនៃតម្លៃនេះមិនត្រូវបានដឹងទេ។

ព្រោះវាកាន់តែមានតម្លៃ 8 នៅក្នុងឯកសារទាំងអស់ដែលបានពិនិត្យ គេអាចជាទិន្នន័យអំពីជណ្តើរពណ៌មួយ។

0x0018 uint(32) ជំរាបសួរ ការពណ៌ជ្រាល 2?

ន័យនៃតម្លៃនេះមិនបានដឹងប្រាកដទេ។

អាចជាតម្លៃបណ្តាញ 'គោលដៅ' ។

បន្ទាប់ពីព័ត៌មានเหล่านี้ មានឯកសារពណ៌ដែលមានរូបរាងជា RIFF នៅក្នុងទ្រង់ទ្រាយស្តង់ដ៍។ ការបញ្ជាក់អំពីពណ៌នេះអាចរកឃើញបាន - ពីព្រោះពណ៌នឹងបង្ហាញនៅកន្លែងផ្សេងទៀត - នៅក្រោម ក្រុមពណ៌.

ទិន្នន័យកង្ហារនេះ

អាសយដ្ឋាន 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-Bitmap នោះគឺស្មើនឹងសមាជិកនៃពណ៌ក្នុងក្រុមពណ៌។

ទិន្នន័យប៊ិចតចាប់ផ្តើមពីខាងឆ្វេង-លើ និងបញ្ចប់នៅខាងស្តាំ-ខាងក្រោម។

ម៉ាស៊ីនលេងហ្គេមកំពុងគូសTiles ដោយ*ប្រហែល*តាមតម្រូវការ។
នេះហាក់ដូចជាអាស្រ័យលើវដ្តថ្ងៃ-យប់ ដែលមានការបំបែកជាប្រភេទ 32 រាងសម្រាប់Tiles មួយៗ។ នៅពេលនេះ មិនថាតើតម្លៃភ្លឺប្រាជ្ញាអង្កេត 'បន្តិច' ត្រូវបានដកចេញ។ តម្លៃពិតប្រាកដមិនអាចកំណត់បាននៅឡើយ ខ្ញុំកំពុងធ្វើការលើមូលដ្ឋានកំណត់តម្លៃ

v *= (daylight / 48) + 0.25;

ជាមួយទិន្នន័យHSV នៃPixel ខណៈដែល daylight ជាតម្លៃពី 0-31 និង v ជាតម្លៃពី 0-1។ ក្រៅពីនេះ ត្រូវគិតថានៅលើផែនទី មានដែនសំបូរដែលមាន 16 Tilesទៅឆ្វេង និងឆ្វេង (ដែលមានគោលបំណងសម្រាប់ការបង្កើតអង្គភាពក្នុងគោលដៅឥតមិនខាន)។

បន្ថែមពីនេះ វដ្តថ្ងៃ-យប់ត្រូវអាប់ដេតតែជួរដេកមួយនៃផែនទីសម្រាប់រាល់វគ្គហ្គេម។
វដ្តថ្ងៃ-យប់ដែលលឿនសូមមើលដូចខាងក្រោម៖

ការបង្ហាញនូវវដ្តថ្ងៃ-យប់

PRT

អាសយដ្ឋាន 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) តុចក់

ប្រហែលជា ដូចជាធម្មតា Flags។

តែលោកខ្ញុំមិនដឹងពី Flags ទេ; ពីព្រោះតម្លៃទាំងអស់ដែលខ្ញុំដឹងមាន 0x00 សមស្រប ដូច្នេះវាក៏អាចជាការសន្មត់បានថា ចំនួន Palette គឺអាចជាតម្លៃ uint(32) យ៉ាងសាមញ្ញ។

តើ PRT មានន័យដូចម្តេចពិតប្រាកដខ្ញុំមិនដឹងទេ; តែអាចនឹងមានន័យដូចជា 'Palette and Ressource Table' - ព្រោះឯកសារនេះ - ដែលអាចរកបានជា op2_art.prt ក្នុង maps.vol - គឺជាឯកសារដែលមានលក្ខណៈដូច្នេះ ឬវាអាចពិពណ៌នាអំពីមុខងារនេះបានយ៉ាងល្អ។

ឯកសារនេះមានបញ្ជីស្ពាននានា បញ្ជីស្ពានទាំងអស់ដែលបានប្រើប្រាស់ Bitmaps ទាំងអស់ ការកំណត់ត្រាអនីមេ이션 និងទិន្នន័យមិនស្គាល់មួយចំនួន។ វាបន្តហើយបន្តនឹងទម្រង់ខុងតេនឌេរ ដែលក៏មានស្រាយតិចតួច ដោយមិនទាន់មានទិន្នន័យទាំងអស់ដែលអនុវត្តតាមគំរូនេះ។

ផ្នែក CPAL (ដែលអាចមានន័យថា Paletten-Container) គ្រាន់តែបញ្ចូលទិន្នន័យស្ពាន តាមរយៈការបញ្ជាក់ពីចំនួនស្ពានដែលមាននៅក្នុងទម្រង់ 8-Bit ដែលធម្មតាមានទំហំ 1052 បាយ។

ការបញ្ជាក់ 1052 បាយនេះមិនត្រូវបានចាត់ទុកថាជាការកំណត់ទេ ព្រោះទម្រង់ស្ពានអាចមានទំហំស្ពាននានាដែលខុសគ្នា។ វាត្រូវបានអនុវត្តតែសំរាប់ទិន្នន័យដែលចេញផ្សាយជាមួយ Outpost 2 ប៉ុណ្ណោះ។

ក្រោយពីបញ្ជីស្ពាន គឺមានបញ្ជី Bitmaps ដែលតាមដានដោយគ្មានពាក្យដើម និងការបញ្ជីអនីមេ이션តាមបន្ទាប់។
ទាំងពីរនេះនឹងចាប់ផ្តើមជាមួយ uint(32) (ឬប៉ុន្តែ uint24+uint8 flags?) ដែលមានចំនួនកំណត់ត្រា។

ក្រុមពណ៌

អាសយដ្ឋាន 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

អំពីពណ៌ក្នុងប៉ាលេត គឺមានតែសេចក្តីថ្លែងបន្ថែមថា សម្រាប់ប៉ាលេតដែលត្រូវបានប្រើសម្រាប់ការបញ្ជូន សេចក្តីឱ្យដឹងដូចខាងក្រោមគឺត្រូវអនុវត្ត:

  • ពណ៌ដំបូងគឺត ALWAYS មានភាពថ្លា មិនថាយ៉ាងណាដែលបានកំណត់ក្នុងតម្លៃនោះ។
  • ការបញ្ជូលពណ៌ក្នុងប៉ាលេត 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) ទទឹងដែលបានរៀបចំ

បង្ហាញពីទទឹងនៃបន្ទាត់ទិន្នន័យពិចលនៅក្នុងByte - ពីព្រោះវាត្រូវបានតំរូវឲ្យបង្វិលទៅកាន់ស៊ុម 4-Byte។

ដូច្នេះវាអាចធ្វើឲ្យមានភាពលឿនក្នុងការទៅរកបន្ទាត់រូបភាពជាក់លាក់មួយ។

ហេតុអ្វីបានជា​តម្លៃនេះ​ត្រូវ​បានរក្សាទុកឡែកពីគ្នា ទើបមានការគណនាអាចធ្វើបាន ហើយមិនច្បាស់តែម្ដង។
ប្រហែលជា​វាជាការប្រើប្រាស់សមត្ថភាពសម្រាប់កូដ Render។

0x0004 uint(32) ការបម្រុង

បង្ហាញពីការបញ្ជាក់អំពីការផ្លាស់ប្តូរនៃជួរដំបូងក្នុងបទបញ្ជា Bitmap

0x0008 uint(32) កម្ពស់

បញ្ជាក់ពីកម្ពស់រូបភាពក្នុងផិកសែល

0x000c uint(32) ទំហំពូក

បង្ហាញទំហំទ្បីនៃរូបភាពក្នុងភីគសែល

0x0010 uint(16) ប្រភេទ

បង្ហាញពីប្រភេទរូបភាព។ នៅទីនេះគឺដូចជារូបភាព Bitmask:

  • 0x04 ត្រូវបានកំណត់ ប្រសិនបើវាជារូបភាព 1bpp។
  • 0x40 ត្រូវបានកំណត់ ប្រសិនបើវាជារូបភាពដែលត្រូវបានអនុវត្តវីនដូរ។
0x0012 uint(16) គូសពណ៌

កំណត់ថា តើផាឡេតណាដែលត្រូវប្រើពីឯកសារ PRT

រចនាសម្ព័ន្ធទិន្នន័យនេះនៃឯកសារ PRT បង្ហាញពីរបៀបដែលប៊ីតម៉ាពេលត្រូវបានប្រើសម្រាប់Sprites ត្រូវបានកសាង។ ប៊ីតម៉ានេះគឺជាគ部分មួយ ដែលមានច្រើនត្រូវបានបង្កើតជាការចម្លងមួយនៃឯកសារអានីមេសន៍របស់Sprites ។

ទិន្នន័យរូបភាពជាក់លាក់គឺត្រូវបានលាក់នៅក្នុង op2_art.BMP នៅក្នុងថតហ្គេម។
ហេតុអ្វីបានជាឯកសារប៊ីតម៉ានេះមានក្បាលប៊ីតម៉ា RIFF (ដែលគឺជាការបញ្ជាក់ដែលទាំងមូលមានភាពត្រឹមត្រូវ) គឺមិនច្បាស់។ មានសង្ឃឹមថា Outpost 2 ប្រើ API នៃប្រព័ន្ធដើម្បីបញ្ចូលក្រាហ្វិក ដោយការបង្ហាញក្បាលនេះជាបណ្តោះអាសន្ន ហើយវាក៏ត្រូវបានជំនួសជាលក្ខណៈផ្ទៀងផ្ទាត់ដែលផ្លាស់ប្តូរ។

ទិន្នន័យប៊ីតនៅក្នុងឯកសារ BMP នៅទីតាំង Offset + uint32-Offset, ដែលអាចរកឃើញនៅក្នុងឯកសារ BMP នៅអាស័យដ្ឋាន 0x000A (RIFF-Bitmap-Datenoffset) គឺ អាចរកបាន ហើយវាក៏ត្រូវគ្នានឹងការរៀបចំជួរដេកពីខាងលើខាងឆ្វេងទៅខាងក្រោមផងដែរ។

គ្រាប់ប៊ីតមួយប៊ីត (1bpp) អាចគូរ បានដូចជា ថ្នាក់ទី 0 មានភាពโปร่งពេញ និងថ្នាក់ទី 1 ពីរ៉ែខ្មៅ/ប្រផេះមួយស្រាល ព្រោះគ្រាប់ប៊ីតមូដណែនាំ ត្រូវបានប្រើជាទូទៅសម្រាប់ស្រង៉ៃរថយន្ត និងអគារនៅក្នុងការអានីមេសន៍ ។

ដូច្នេះអ្នកអាចបន្ថែមរូបភាពច្រើនបាន។

ម៉ូឌុលស្នាក់នៅដែលមានការការពារ (Plymouth)

អានីមេសិន

ឥឡូវនេះយើងមកដល់ថ្នាក់ខ្ពស់នៃវិន័យក្នុងទ្រង់ទ្រាយទិន្នន័យ Outpost 2៖
ការផ្លាស់ប្តូរ។

listes des animations seront introduites par un en-tête global, qui sert principalement à la vérification des données. Après cela, suivent les définitions concrètes des animations, qui se divisent en 3 niveaux :

  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) ចំនួនក្រាម

មានចំនួន Frames ទាំងអស់ដែលគួរត្រូវមានប៉ុន្មាន?

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) ប្រអប់ដាក់គែរ: លើ

បង្ហាញចំណុចដើមខាងលើ (ក្នុង pixel) របស់ Bounding Box

0x000c uint(32) ប្រអប់កំណាត់: ទទឹង

បង្ហាញពីទទឹង (ក្នុងផិចសែល) នៃ Bounding Box

0x0010 uint(32) ប្រអប់កំណត់: កម្ពស់

បង្ហាញពីកម្ពស់ (ជាប៉ិកសែល) នៃ Bounding Box

0x0014 uint(32) អ៊ីមភ្លើង: X

បង្ហាញពីកណ្ដាលអនាមិកនៅផ្នែកទន្លេ

0x0018 uint(32) Offset: Y

បង្ហាញចំណុចកណ្តាលបញ្ឈរ នៃការបង្ហាញអាណីមេ이션

0x001c uint(32) អន្ដរាយ 2

ព័ត៌មានមិនស្គាល់

0x0020 uint(32) ចំនួនក្រាម

បង្ហាញថាមានប៉ុន្មានស៊ុបទិន្នន័យរូបភាគក្នុងអានីមេសិននេះ

0x0024 uint(32) ចំនួនវីនដូស

បញ្ជាក់អំពីចំនួនទ្វារដែលត្រូវប្រើនៅពេលគូស

ទិន្នន័យនៃជាតិស្រទាប់ខ្ពស់បំផុត អានីមេישן គឺជាទិន្នន័យគ្រប់គ្រងដែលមានសំខាន់ - Boundingbox បង្ហាញពីសមាសភាពនៃកូអូរដីណាតថ្មីសម្រាប់យានយន្ត/អាគារ នៅពេលដែលវាត្រូវបានជ្រើសរើស ហើយក៏បង្ហាញផងដែរ​ថាតើតំបន់ណាដែលអាចចុចបាន។

Offset កំណត់តំបន់ "ចំណុចសូន្យ"; ចំណុចដែលត្រូវកត់សម្គាល់លើកូអូរដីណាតក្នុងល្បែង ឬដកចេញ។ អ្នកអាចនិយាយថា Offset នៅទីនេះបង្ហាញពីចំណុចដើមនៃកូអូរដីណាត។

Windows ជាមួយនេះគឺដូចជាមួយ Offset ដែលមានតម្លៃ uint(32) ៤ ដែលបានកំណត់ តំបន់ដែលអាចប្រើបានសម្រាប់ Subframes។ ប៊ិចក្រៅ Windows មិនអាចគូរ បានទេ ប្រសិនបើវាត្រូវបានកំណត់សម្រាប់ Bitmap។

គ្រប់គ្រាន់

អាសយដ្ឋាន x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF អក្សរ
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ទីតាំង ប្រភេទទិន្នន័យ ការបញ្ជាក់ ការពន្យល់
0x0000 uint(8) ចំនួនសេវាកម្ម និង Toggle សម្រាប់ ជម្រើស ១, ២

តម្លៃនេះមាន:

  • 0x7F (Bitmaske): អត្រាសេវាផ្នែកតូចដែលត្រូវបានប្រើនៅក្នុងម៉ូឌែលនេះ
  • 0x80: ព័ត៌មានអំពីម是否មានជម្រើស 1 និង 2
0x0001 uint(8) អនុញ្ញាត 1 និង Toggle សម្រាប់ ជម្រើស 3, 4

តម្លៃនេះមាន:

  • 0x7F (Bitmaske): មិនស្គាល់ - ខ្ញុំសង្ស័យយ៉ាងខ្លាំងថាវាជាចំនួន Gameticks ដែលកំពុងកើតឡើងរហូតដល់ការបង្ហាញ Frame បន្ទាប់
  • 0x80: ព័ត៌មានអំពីការមានវត្តមានរបស់ជម្រើស 3 និង 4
0x0002 uint(8) ជាមួយជម្រើសទី ១

មិនដែលដឹង

0x0003 uint(8) ជម្រើស ២

មិនដែលដឹង

0x0004 uint(8) ជម្រើស ៣

មិនដែលដឹង

0x0005 uint(8) ជម្រើស ៤

មិនដែលដឹង

ស៊ុមរង

អាសយដ្ឋាន x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF អក្សរ
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ទីតាំង ប្រភេទទិន្នន័យ ការបញ្ជាក់ ការពន្យល់
0x0000 uint(16) Bitmap-Id

បង្ហាញថា ធ្វើដំណើរក្នុង Bitmap nào សម្រាប់ Subframe នេះ។

0x0002 uint(8) មិនស្គាល់ 1

មិនដឹងទេ - ប៉ុន្តែខ្ញុំសង្ស័យខ្លាំងថា នេះគឺជាការចាត់ថ្នាក់តាមលំដាប់នៃការបង្ហាញ (Z-Layer)។

0x0003 uint(8) អត្តសញ្ញាណស៊ុមរង

បង្ហាញថា យើងស្ថិតនៅក្នុង Subframe មួយណា

0x0004 sint(16) អាប់សេត - កណ្តាលខាងអុីស្ទរ៉ូ

បញ្ជាក់ថា កន្លែងណាដែលនៅក្នុងកម្រងនោះ ដែលគេត្រូវដាក់ស៊ុបទ្រង់ ឬក៏ត្រូវផ្លាស់ទីរូបភាពដោយប៉ុន្មានពីគុណមេត្រ នៅក្នុងទិសហូរយ៉ាងណា

0x0006 sint(16) អរ៉ាស - ទិសផ្ទុយ

បង្ហាញពីទីតាំងដែលនៅក្នុងគ្រាប់បាល់ដែលគួរត្រូវបានដាក់ស្ពានតូច ឬចំនួនពីកន្លែងដែលគំនូសប៊ីតម៉ាប់ត្រូវបានផ្លាស់ទីឡើងវិញតាមទិសផុសវិនាទី។

នេះអាចឲ្យយើងភ្ជាប់ស៊ុមចេញជា១ៗ និងស៊ុមចេញសរុបសម្រាប់អនុម័តសម្រាប់សកម្មភាពមួយ ដែលបង្ហាញពីសកម្មភាពមួយដែលស្មុគស្មាញ នៅក្នុងសកម្មភាពដែលមានលេខកូដ 500

អនិម៉េស្យុង 500

ការអានីមេសិន 500 បង្ហាញពីរបៀបដែលយានក្រុង Plymouth ដែលបានបម្រើជាមួយនឹងរ៉ែធម្មតា ត្រូវបានបញ្ចេញ។ វាជាអានីមេសិនមួយក្នុងចំនោមអានីមេសិនតិចតួចដែលប្រើប្រាស់មុខងារ Windowing។

ហើយដូចនេះ អានីមេសិនទាំងមូលអាចត្រូវបានប្រមូលផ្តុំ។
អាសូរ មានបញ្ហាមួយទៀតជាមួយទ្វារលើដែលត្រូវបញ្ចូលកាត់បន្ថយ ពីព្រោះនៅទីនេះ ប៊ីតដែលពាក់ព័ន្ធ មិនត្រូវបានកំណត់ក្នុងព័ត៌មានប្រភេទគ្រាប់រូបភាពទេ។

ទីនេះមានស្រាប់ស្រាប់គ្រាប់រូបភាពដ៏ស្រស់ស្អាតផ្សេងទៀតពីហ្គេម៖

ការបង្ហាញនៃការអានីមេសិន 500

ការអានីមេសិន 500 បានបញ្ចប់ការប្រមូលផ្តុំ

រោងចក្រប្រេសជឿន ព្លីមូត

កំពង់ផែអាកាស អេដិន

មណ្ឌលវេជ្ជសាស្ត្រ អេដិន

SCAT

កំពង់ផែអាកាស ព្លីមូត

អ៊ីស្តើរ​ហ្គេម:
អ្នកមិនសូវជឿន

អ៊ីស្តើរ​ហ្គេម:
ឌែនស ឌុក

ការបង្ហាញអ្នកប្រើ

ឥឡូវនេះ យើងកំពុងខ្វះចំពោះឧបករណ៍ប្រើប្រាស់របស់ហ្គេម ដែលមានរូបរាងក្នុងស្តង់ដារដែលមាន ម៉ែតាល់បួស

ប៉ុន្តែ នៅទីនេះក៏អាចមើលឃើញថា Dynamix មិនត្រូវការបង្កើតការងារថ្មីឡើយ; នៅទីនេះ មិនត្រឹមតែគ្រាន់តែប្រើប្រាស់ API User32 និង GDI32 ដែលផ្តល់ដោយ Windows ទេ - ជាពិសេស ត្រូវបានប្រើប្រាស់ការគ្រប់គ្រងធនធានពី User32 ផងដែរ។

វាត្រូវបានអាចដកស្រង់ឧបករណ៍ទាំងនេះ ដោយឧបករណ៍ដូចជា Angus Johnson ដែលអភិវឌ្ឍន៍ជា Freeware Resource Hacker ឬបើអ្នកមានខ្លាចប្រើប្រាស់ Wine នៅលើ Linux / Mac OS អាចប្រើប្រាស់ wrestool ដែលមាននៅក្នុង icoutils ដើម្បីដកស្រង់ផងដែរ។

ឈ្មោះឯកសារ មាតិកា
Outpost2.exe មានតែរូបតំណាងនៃហ្គេមដែលបង្ហាញអំពីស្ថានីយ៍អាកាសនៅមុខ New Terra
op2shres.dll មានក្រាហ្វិកសម្រាប់ធាតុគ្រប់គ្រងដូចជាការបន្ថែមស៊ុម ប៊ូតុង ប៊ូតុងវិទ្យុ និងប្រអប់ចុចបន្ថែម។ វាក៏មានផ្ទាំងផ្ទាំងព័ត៌មានសម្រាប់រូបភាពរួមខាងក្រោយសម្រាប់អត្ថបទបេសកកម្មរឿង និងក្រាហ្វិកផ្ទាំងផ្ទាំងមុខ
out2res.dll មានការតុបតែងកន្លែងក្នុងហ្គេម សញ្ញាសម្រាប់ទម្រង់ធម្មតានិងពិសេស ផ្ទាំងផ្ទាំងផ្ទាំងការផ្ទុក ក្រាហ្វិកសម្រាប់សន្ទនានិង ក្រាហ្វិក សញ្ញាបនប្បញ្ញត្តិជាច្រើន បន្ថែមពីរូបភាពរាងកាយដែលមាននៅក្នុងថតហ្គេម