Outpost 2 ફાઈલ ફોર્મેટ્સ · bei.pm
આ પૃષ્ઠ પર વર્ણવવામાં આવેલા ફાઇલ ફોર્મેટો Dynamix, Inc. અને Sierra Entertainment ના બૌદ્ધિક માલમત્તાની તકનિકી વિશ્લેષણ પર આધારિત છે.
આ બૌદ્ધિક માલમત્તા હાલમાં Activision Publishing, Inc. / Activision Blizzard, Inc. ના માલિકીની છે અને હાલમાં Microsoft Corp. ના માલિકી ધરાવે છે.
આ માહિતી રિવર્સ એન્જિનિયરિંગ અને ડેટા વિશ્લેષણ દ્વારા ઐતિહાસિક ડેટા સાથે આર્કાઇવિંગ અને આંતરક્રિયાશીલતાના ઉદ્દેશથી એકઠી કરવામાં આવી છે.
અહીં કોઈ પણ માલિકીના અથવા ગુ秘密 સ્પષ્ટીકરણોનો ઉપયોગ કરવામાં આવ્યો નથી.
આ વિડીયો રમત હાલમાં gog.com પર ડાઉનલોડ માટે ખરીદી શકાય છે.
નીચેની લેખ શ્રેણી "આઉટપોસ્ટ 2: ડિવાઇડીડ ડેસ્ટિની" રિયલ ટાઇમ સ્ટ્રેટેજી રમતના ડેટા ફોર્મેટ્સ વિશે મારી જાણકારીને દસ્તાવેજ બનાવે છે, જે 1997માં સિયેરા દ્વારા પ્રકાશિત અને ડાયનેમિક્સ દ્વારા વિકસિત કરવામાં આવી હતી.
મને 01 નવેમ્બર 2015 થી 14 નવેમ્બર 2015 સુધી મુખ્યત્વે રમતના ડેટાની વિશ્લેષણમાં વ્યસ્ત રહેવું પડ્યું - અને તે સાથે શું શરૂ કરવું તે વિશે.
મારે પ્રાપ્ત થયેલ માહિતી મુજબ, ડાયનેમિક્સ - જેમ કે ઘણા વ્યાવસાયિક કંપનીઓ - કેટલાક ડેટા ફોર્મેટ્સ ખાસ કરીને આઉટપોસ્ટ 2 માટે વિકસિત ન કર્યા, પરંતુ તે જ રીતે અન્ય વિકાસોમાં જેમ કે મેકવોરિયર શ્રેણી (પરિવર્તિત)માં ઉપયોગ કર્યો.
આ ઉપરાંત, ડેટા ફોર્મેટ્સની નવીનતા પ્રાયોગિક રીતે મર્યાદિત છે અને સામાન્ય ફોર્મેટ્સ જેમ કે JFIF અને RIFFના લાંબા સમયથી ચાલતા સંકલ્પનાઓ પર આધારિત છે.
કોરા અને ડેટા ફોર્મેટ્સની વ્યાખ્યા માટે વધુ માહિતી શું શું છે? હેઠળ ઉપલબ્ધ છે.
અહીં આપેલા ડેટા સામાન્ય રીતે લિટલ એન્ડિયન તરીકે સમજવા માટે છે.
છેલ્લે, હું કહી શકું છું કે રિવર્સ એન્જિનિયરિંગ ખૂબ મજા આવી, ભલે તે સંપૂર્ણ ન હોય.
ખરેખર, હું પણ ભલામણ કરી શકું છું કે તમે આ રમતને પોતે રમો, કારણ કે તે રસપ્રદ રમત મિકેનિક્સ પ્રદાન કરે છે.
પરિચય
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) | મેજિક બાઈટ્સ | આ માહિતી દર્શાવે છે કે આગલા ડેટા બ્લોકમાં શું અપેક્ષા રાખવી. જાણતો મૂલ્યો:
|
0x0004 | uint(24) | બ્લોક-લંબાઈ | આ માહિતી ધરાવે છે કે આગળની ડેટા બ્લોકની કદ (બાઇટમાં) કેટલી મોટી છે. અહીં માત્ર શુદ્ધ ઉપયોગી ડેટાનો ઉલ્લેખ છે - 8 હેડર બાઇટ તેમાં શામેલ નથી. |
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-બાઇટથી સમાપ્ત થયેલ ફાઈલના નામોની યાદી છે, જે - ઓછામાં ઓછા આ ઉપલબ્ધ ડેટા ઘટકમાં - ફક્ત 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) | ઝંડા |
વોલ્યુમ બ્લોક એક કન્ટેનર છે, જે ફાઇલોને સ્થાન આપે છે. તે ફક્ત એક જ વખત - બ્લોક ફોર્મેટના કારણે - ફાઇલના કદની પુનરાવર્તિત માહિતી ધરાવે છે અને પછી સીધા ઉપયોગી ડેટા આવે છે.
ટાઇલ્સ
એડ્ર | 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) | ઝંડા |
ટાઇલ્સ એ એક Outpost-2-વિશિષ્ટ બિટમેપ ગ્રાફિક ફોર્મેટ છે. તે 13 ટાઇલસેટ્સમાં વિસ્તૃત થાય છે, જેને "વેલ્સ" કહેવામાં આવે છે (well0000.bmp
થી well0012.bmp
), જે maps.vol નામના વોલ્યુમમાં જોવા મળે છે.
તેમાં ટાઇલ્સેટ્સ / વેલ્સમાં નીચેના સામગ્રી સામેલ છે:
ફાઇલનું નામ | સામગ્રી |
---|---|
well0000.bmp | 32x32px માપની નિલી ગ્રાફિક - તમારી ઈમેજ લોડર કાર્યરત છે કે નહીં તે ચકાસવા માટે આદર્શ |
well0001.bmp | હળવા ખિસકોલી, હળવા ખિસકોલી પર પર્વત શ્રેણીઓ અને હળવા ખિસકોલીમાં અસંખ્ય ક્રેટના વેરિયન્ટ્સનો સમાવેશ કરે છે |
well0002.bmp | હળવા ખિસકોલી પર મૂકી શકાય તેવા 'Doodads' - એટલે કે તત્વો, જે ખિસકોલી પર બંધારણ તરીકે અથવા ખોલવા માટે મૂકી શકાય છે, જેમાં વનસ્પતિ પણ સામેલ છે |
well0003.bmp | હળવા ખિસકોલી પર એક પતળા જેવી રચના શામેલ છે |
well0004.bmp | અંધકાળા ખિસકોલી, અંધકાળા ખિસકોલી પર પર્વત શ્રેણીઓ અને અંધકાળા ખિસકોલીમાં અસંખ્ય ક્રેટના વેરિયન્ટ્સનો સમાવેશ કરે છે |
well0005.bmp | અંધકાળા ખિસકોલી પર મૂકી શકાય તેવા 'Doodads' - એટલે કે તત્વો, જે અંધકાળા ખિસકોલી પર બંધારણ તરીકે અથવા ખોલવા માટે મૂકી શકાય છે |
well0006.bmp | અંધકાળા ખિસકોલી પર એક પતળા જેવી રચના અને હળવા અને અંધકાળા ખિસકોલી વચ્ચેના સમન્વયોને શામેલ કરે છે |
well0007.bmp | લાવાની સામેલ છે, જેમાં દરેક 4-5 ફ્રેમની એનિમેશન છે |
well0008.bmp | બાળુ અનેSandboxમાં અસંખ્ય ક્રેટના વેરિયન્ટ્સનો સમાવેશ કરે છે |
well0009.bmp | બાળુ પર મૂકી શકાય તેવા 'Doodads' - એટલે કે તત્વો, જેSandbox પર બંધારણ તરીકે અથવા ખોલવા માટે મૂકી શકાય છે |
well0010.bmp | હળવા અને અંધકાળા ખિસકોલી વચ્ચે 48 સમન્વયોને શામેલ કરે છે |
well0011.bmp | મેપના ધ્રુવ કાપા, અંધકાળા ખિસકોલી સાથેની નીચાણમાં |
well0012.bmp | મેપના ધ્રુવ કાપા, હળવા ખિસકોલી સાથેની નીચાણમાં |
એક યોગ્ય અમલ માટે, ટાઇલ્સને અગાઉથી રેન્ડર કરવાનો અને તેમને કેચ કરવાનો સલાહ નથી, કારણ કે દિવસ/રાત ચક્ર માટેના ડેટાને હજુ પણ સંપાદિત કરવું પડશે - અને આ માટે ઘણી બધી માહિતી એકઠી થશે.
ટાઇલ્સ 8bpp ગ્રાફિક્સ છે જેમની ઇન્ડેક્સ કરેલી પાલેટ છે અને જે 32x32 પિક્સલના રિઝોલ્યુશનમાં છે, જે એકબીજા સાથે ક્રમમાં છે. આ રીતે બનાવવામાં આવેલા ટાઇલસેટમાં વધુથી વધુ
મુખ્ય કન્ટેનર 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) | સંસ્કરણ / ધ્વજો? | આમાં ફાઇલ ફોર્મેટના સંસ્કરણની માહિતી હોઈ શકે છે; મારી પાસે ઉપલબ્ધ તમામ ફાયલોમાં અહીંનો મૂલ્ય |
0x000c | uint(32) | વિશાળતા (આડકતારી ઉકેલ) | યુક્તિ કરે છે કે છબી ફાઈલની પહોળાઈ કેટલી છે (પિક્સલમાં). આઉટપોસ્ટ 2 ના તમામ વેલ્સમાં, અહીંનો મૂલ્ય |
0x0010 | uint(32) | ઊંચાઈ (આનુતરું ઉકેલો) | એ જણાવે છે કે તસવીર ફાઇલ કેટલી ઊંચી છે (પિક્સલમાં). આઉટપોસ્ટ 2 ના તમામ વેલ્સમાં અહીં કિંમત |
0x0014 | uint(32) | રંગની ઊંડાઈ? | આ મૂલ્યની મહત્તા અજાણ છે. કારણ કે તે તમામ પરીક્ષિત ફાઇલોમાં |
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-બિટમેપ્સમાં મળતી ગ્રાફિક્સનો ડેટા મૂલ્ય રંગ પેલેટમાં રંગના ઇન્ડેક્સને દર્શાવે છે.
આ રમત એન્જિન ટાઇલ્સને *શાયદ* માંગ મુજબ કેળવે છે.
આ, 32 અલગ અલગ ટાઇલ્સની અંકગણતરીને કારણે દિવસ-રાત ચક્રને કારણે છે. આ દરમિયાન, સ્પષ્ટ રીતે તેજસ્વિતાના મૂલ્યમાંથી 'કેટલાક' ઘટાડવામાં આવે છે. ચોક્કસ મૂલ્યો હજુ સુધી જાણી શકાયા નથી, હું આ ગણતરીની આધારભૂત પર કાર્ય કરી રહ્યો છું.
v *= (daylight / 48) + 0.25;
પિક્સલનાં HSV ડેટા સાથે, જ્યાં 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) | જન્ડા | શાયદ, જેમ કે સામાન્ય રીતે, ફલેગ્સ. મને કોઈ ફલેગ્સની જાણ નથી; કારણ કે બધા જાણીતા મૂલ્યો |
PRT
નો અર્થ ચોક્કસ કયો છે મને ખબર નથી; ઉદાહરણ તરીકે 'પેલેટ અને સ્ત્રોત કોષ્ટક' હોઈ શકે છે - કારણ કે આ ફાઇલ - જે op2_art.prt તરીકે મળતી છે maps.vol માં - આવી જ છે, અથવા આ કાર્યને સારી રીતે વર્ણવશે.
આ ફાઇલમાં પેલેટની યાદી, તમામ ઉપયોગમાં લેવાયેલા બિટમેપ્સ અંગેની કોષ્ટક, તમામ એનિમેશન વ્યાખ્યાઓ અને કેટલીક અજ્ઞાત માહિતીનો સામેલ છે. તે અત્યાર સુધીના કન્ટેનર ફોર્મેટને ઢીલા રીતે અનુસરે છે, કારણ કે તમામ ડેટા રેકોર્ડ આ સ્કીમાનું પાલન નથી કરતા.
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) | ઝંડા | સમભવત:, જેમ કે સામાન્ય રીતે, ફ્લેગ્સ. મારે કોઈ ફ્લેગ્સની જાણ નથી; કારણ કે બધા જ મને જાણીતા મૂલ્યો |
પેલેટ માહિતી વાંચવું ખૂબ જ આરસ છે.
તેમાં દરેકમાં એક હેડર અને એક ડેટા સેગમેન્ટ હોય છે.
પાલેટ હેડર
એડ્ર | 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) | ઝંડા | સમભવત:, જેમ કે સામાન્ય રીતે, ફ્લેગ્સ. મારે કોઈ ફ્લેગ્સની જાણ નથી; કારણ કે બધા જ મને જાણીતા મૂલ્યો |
0x0008 | uint(32) | પેલેટ ફોર્મેટ સંસ્કરણ? | શબ્દશઃ એ વ્યાખ્યિત કરે છે કે કયો પેલેટ ફોર્મેટ્સ સંસ્કરણ પેલેટને અનુસરે છે. બધા Outpost2 પેલેટમાં સંસ્કરણ |
પેલેટ ડેટા
એડ્ર | 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) | અજ્ઞાત - ધ્વજ? | આ મૂલ્યનો અર્થ શું છે તે સ્પષ્ટ નથી, કારણ કે તે સ્પષ્ટપણે મૂળભૂત રીતે |
પાલેટ્સ વિશે વધુ કહી શકાય છે કે, એનિમેશન્સ માટે ઉપયોગમાં લેવાતા પાલેટ્સ માટે નીચેની નિયમો લાગુ છે:
- પ્રથમ રંગ હંમેશા પારદર્શક છે, ત્યાં જે પણ મૂલ્ય આપવામાં આવ્યું છે તે બિનમહત્વપૂર્ણ છે.
-
પાલેટ્સ 1-8 માં 1-24 ના પાલેટના પ્રવેશોને ખેલાડીના રંગ તરીકે માનવામાં આવે છે.
રંગો ખેલાડી 1 થી બહાર ક્યાંથી આવે છે તે મને સ્પષ્ટ નથી.
હું અનુમાન કરું છું કે બાકીના રંગો હાર્ડકોડેડ છે.
બીટમેપ્સ
એડ્ર | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | કરેક્ટર | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
ઓફસેટ | ડેટા પ્રકાર | નામ | વર્ણન |
---|---|---|---|
0x0000 | uint(32) | લક્ષ્યિત પહોળાઈ | પિક્સેલ ડેટા રેખાઓની પહોળાઈ બાઇટમાં દર્શાવે છે - કારણ કે આ 4-બાઇટની સીમાઓને અનુકૂળ કરવામાં આવી છે. આથી, કોઈ નિશ્ચિત છબી રેખાને ઝડપી રીતે ઓપન કરવું શક્ય છે. આ મૂલ્ય અલગથી શા માટે સંગ્રહિત થાય છે, જ્યારે તેને ગણતરી કરી શકાય, તે અસ્પષ્ટ છે. |
0x0004 | uint(32) | ઓફસેટ | બિટમૅપમાં પ્રથમ પંક્તિનો ઑફસેટ દર્શાવે છે |
0x0008 | uint(32) | ઊંચાઈ | છબીની ઊંચાઈ પિક્સેલમાં દર્શાવે છે |
0x000c | uint(32) | વિસ્તાર | છબીની પહોળાઈ પિક્સલમાં દર્શાવે છે |
0x0010 | uint(16) | ટાઇપ | છબીની જાત દર્શાવે છે. અહીં તે એક બિટમાસ્ક લાગે છે:
|
0x0012 | uint(16) | પેલેટ | મુકાબલો આપે છે કે કઈ પીઆરટી ફાઇલમાંથી પેલેટનો ઉપયોગ કરવો જોઈએ |
PRT ફાઈલની આ ડેટા રચના દર્શાવે છે કે સ્પ્રાઇટ્સ માટે વપરાતા બિટમેપ્સ કેવી રીતે રચાયેલ છે. આ બિટમેપ્સ એક જ ઘટક તરીકે કાર્ય કરે છે, જેમાંથી ઘણા એક સ્પ્રાઇટના એનિમેશન ફ્રેમમાં જોડાયેલા છે.
સ્પષ્ટ છબી ડેટા તે સામે op2_art.BMPમાં રમતના ડિરેક્ટરીમાં છુપાયેલા છે.
આ બિટમેપ ફાઇલમાં એક (મુખ્યત્વે યોગ્ય) RIFF-બિટમેપ હેડર કેમ છે, તે સ્પષ્ટ નથી. શક્યતઃ આઉટપોસ્ટ 2 ગ્રાફિક્સ લોડ કરવા માટે સિસ્ટમ-API નો ઉપયોગ કરે છે, જેમાં આ હેડરને કાળજીપૂર્વક અપનાવીને સંબંધિત, બદલાતી ફિલ્ડને ઓવરરાઈટ કરવામાં આવે છે.
PIXEL ડેટા BMP ફાઈલમાં સ્થાને છે ઓફ્સેટ + uint32-ઓફ્સેટ, જે BMP ફાઈલમાં સરનામા 0x000A પર જોવા મળે છે (RIFF-બિટમેપ ડેટા ઓફ્સેટ), અને ફરીથી ઉપરથી ખાબકીને ડાબી તરફ અને જમણી તરફની કતારમાં છે.
મોનોક્રોમ 1bpp ગ્રાફિક્સ એવી રીતે કળા કરી શકાય છે કે રંગ 0 પૂર્ણ પારદર્શક છે, તેમજ રંગ 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) | બાઉન્ડિંગ બોક્સ: ડાબા | બાઉન્ડિંગ બોક્સનો ડાબો આરંભ (પિક્સેલમાં) દર્શાવે છે. |
0x0008 | uint(32) | બાઉન્ડિંગ બોક્સ: ઉપર | ઉપરના શરૂઆતના (પીક્સલમાં) બાઉન્ડિંગ બોક્સ દર્શાવે છે. |
0x000c | uint(32) | બાઉન્ડિંગ બોક્સ: પહોળાઈ | આ Bounding Box ની પહોળાઈ (પિક્સલમાં) દર્શાવે છે. |
0x0010 | uint(32) | બાઉન્ડિંગ બોક્સ: ઊંચાઈ | પિક્સલમાં બાઉન્ડિંગ બોક્સ ની ઊંચાઈ દર્શાવે છે. |
0x0014 | uint(32) | ઓફસેટ: X | એનિમેશનનું આડકતરી કેન્દ્ર દર્શાવે છે |
0x0018 | uint(32) | ઓફસેટ: Y | એનિમેશનનો ઊભો મધ્યબિંદુ દર્શાવે છે |
0x001c | uint(32) | અજ્ઞાત 2 | અજ્ઞાત માહિતી |
0x0020 | uint(32) | ફ્રેમોની સંખ્યા | આ એનિમેશનમાં કેટલા એનિમેશન ફ્રેમ્સ સમાવિષ્ટ છે તે દર્શાવે છે |
0x0024 | uint(32) | વિન્ડોઝની સંખ્યા | કેટલા વિન્ડોઝને çizવા માટે લાગુ કરવાં તે નિર્દેશ કરે છે |
ઉચ્ચતમ સ્તરની માહિતી, જે એનિમેશનની છે, મુખ્યત્વે વ્યવસ્થાપન ડેટા છે - બાઉન્ડિંગબોક્સ તે વાહન/ભવનની નિશાનની અવ્યાખ્યા દર્શાવે છે, જ્યારે તે પસંદ કરવામાં આવે છે અને સાથે સાથે સૂચવે છે કે કયો વિસ્તાર ક્લિક કરવો જોઈએ.
ઓફસેટ મુખ્યત્વે "ઝીરો પોઈન્ટ"ને નિર્ધારિત કરે છે; તે બિંદુ, જે રમતની આંતરિક અવ્યાખ્યાઓમાં ઉમેરવામાં કિંવાતા જમણાં ઉપાડવો જોઈએ. ગણિતીય રીતે કહી શકાય છે: આ ઓફસેટ અહીં અવ્યાખ્યા મૂળને દર્શાવે છે.
વિન્ડોઝમાં, જેમ કે ઓફસેટમાં, દરેક (પ્રત્યેક વિન્ડો માટે) 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 દર્શાવે છે કે કેવી રીતે એક પ્લાયમાઉથ પરિવહન, જે સામાન્ય ખનિજથી ભરેલું છે, ખાલી કરવામાં આવે છે. આ એક જ قليلة એનિમેશનમાંના છે, જે વિન્ડો ફંક્શનાલિટીની ઉપયોગ કરે છે.
અને આ રીતે સંપૂર્ણ એનિમેશનને જોડવામાં આવી શકે છે.
દુઃખદ રીતે, ઉપરની લોડિંગ હૂક સાથે હજુ એક સમસ્યા છે, કારણ કે અહીં ગ્રાફિક પ્રકારની માહિતીમાં સંબંધિત બિટ સેટ નથી.
અહીં રમણीय રીતે એનિમેટેડ કેટલાક વધુ સ્પ્રાઇટ્સ છે:
યૂઝર-ઇન્ટરફેસ
હવે રમતનું યુઝર-ઇન્ટરફેસ બાકી છે, જે બ્રશ્ડ મેટલ લુકમાં છે.
પણ અહીં પણ સ્પષ્ટ છે કે Dynamixએ આચરણને નવી રીતે શોધવું પડ્યું નથી; અહીં ફક્ત Windows દ્વારા પૂરી પાડવામાં આવતી User32 અને GDI32 API નો ઉપયોગ કરવામાં આવ્યો નથી - ખાસ કરીને User32 તરફથી સંસાધન વ્યવસ્થાપનનો ઉપયોગ કરવામાં આવ્યો છે.
આને ઉદાહરણ તરીકે Angus Johnson દ્વારા ફ્રીવેર તરીકે વિકસિત Resource Hacker જેવી પ્રોગ્રામો દ્વારા કાઢી શકાય છે, અથવા - જો તમે Linux / Mac OS પર Wine નો ઉપયોગ કરવાથી કાંટો છો - તો icoutilsમાં સમાવિષ્ટ wrestool ની મદદથી કાઢી શકાય છે.
ફાઈલનું નામ | વસ્તુ |
---|---|
Outpost2.exe | માત્ર રમ game's આઇકોન છે, જે ન્યૂ ટેરા સમક્ષની અવકાશ સ્ટેશન દર્શાવે છે |
op2shres.dll | સીમાઓ, બટન, રેડિયો-બટનો અને ચેકબોક્સ જેવા નિયંત્રણોના ગ્રાફિક્સ સિવાય, સંવાદ પૃષ્ઠભૂમિઓ, વાર્તા-મિશન લખાણો માટે accompanying ચિત્રો અને મુખ્ય મેનૂ પૃષ્ઠભૂમિ ગ્રાફિક્સનો સમાવેશ કરે છે |
out2res.dll | ઇંગેમ વિન્ડો ડેકોરેશન, સામાન્ય અને ખાસ ધાતુ માટે આઇકોન, લોડિંગ સ્ક્રીન, સંવાદ માટે ગ્રાફિક્સ તેમજ વધારે કર્સર ગ્રાફિક્સ, રમતની ડિરેક્ટરીમાં એનિમેટેડને પરિભાષિત કરે છે |