Outpost 2 Formatae Filerum · bei.pm
Forma documentorum in hac pagina descripta fundantur in analysis technica iuris intellectualis Dynamix, Inc. et Sierra Entertainment.
Ius intellectuale hodie pars est massae Activision Publishing, Inc. / Activision Blizzard, Inc. et nunc in possessione Microsoft Corp..
Informationes collectae sunt per Reverse Engineering et Datenanalyse ad archiving et interoperabilitatem cum datis historicis.
Non sunt adhibitae specificationes proprietariae aut secretae.
Ludus nunc in gog.com emendus est ut download.
Sequentis series articulorum cognitiones meas de formatis datorum in ludo strategico reali "Outpost 2: Divided Destiny" documentat, qui anno 1997 a Sierra publicatus et a Dynamix evolutus est.
Ab 1 Novembris 2015 usque ad 14 Novembris 2015 potissimum analysi datorum ludi - et quid cum his fieret - incumbebam.
Ex informationibus, quas usque ad hoc tempus collegeram, Dynamix - sicut multi negotiatores commercialis - nonnulla formata datorum non specialiter ad Outpost 2 creavit, sed etiam in aliis evolutionibus, ut in serie Mechwarrior (modificata), adhibuit.
Independenter, constat etiam innovationem formarum datorum in limites quodammodo contineri et saepe in conceptibus diuturnis ex formatis vulgaribus, ut JFIF et RIFF, inniti.
Ad interpretationem tabularum et formarum datorum ulteriora informationes sub Quid est quid? parata sunt.
Datas hic indicatas in genere ut Little Endian intellegi debent.
Denique dicendum est, quod ingenium reversum multum laetitiae attulit, quamquam non plene perfectum est.
Naturale est etiam commendare, ut ludum ipsum luderetur, cum mechanica ludi iucunda praebeat.
Introductio
Datas formatum ab Outpost 2 usum habet structura similis JFIF / PNG - singula data blocca semper habent caput 8 Byte. Itaque mihi parcere constituo, ut singula capita ad locos specificos documentem et ibi tantum aberrationes documentem.
Formatum semper est sequens; ipsae utilitates in eo inclusae sunt:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | Continet informationem de eo, quid in proximo datae blocco expectandum sit. Notae notae:
|
0x0004 | uint(24) | Longitudo bloci | Continet informationem de magnitudine (in Byte) subsequentis datorum blocci. Quae solum data usui spectantia intelleguntur - octo Byte capitis in hoc non continentur. |
0x0007 | uint(8) | Vexilla? | Ignoratur, ad quid hic blocus exacte pertineat. In Voluminibus hic valor saepe est 0x80, in aliis fasciculis saepius 0x00. Hoc indicat, id esse set flagorum. |
Volumina
Volume sunt coniunctores datae pro ludo, similes formae archivorum ut exempli gratia Tarball. Saltem in Outpost 2, formatum tantum nota files cognoscit - nullas folders. Probabile est tamen haec per nomina files congrua simulare posse.
Volume constat ex capite Volume et pluribus Volume blocis, qui certis files respondent.
"Volumes" sunt files cum terminatione 'vol'
in directory ludi.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 4f | 4c | 20 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | O | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo blocci | |
0x0007 | uint(8) | Vexilla |
Caput Voluminis
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 68 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | h | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo blocci | |
0x0007 | uint(8) | Vexilla |
Caput Voluminis nullas notitias usui continet.
Ipsum tantum ut continens fungitur.
Primum datum in Capite Voluminis debent esse Volumen Seriae; postea sequuntur notitiae Voluminis.
Fasciae Voluminis
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo blocci | |
0x0007 | uint(8) | Vexilla |
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 73 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | s | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo blocci | |
0x0007 | uint(8) | Vexilla | |
0x0008 | uint(32) | Longitudo oneris | Indicat quot bytes sequentium datorum vere sint usui. Reliquae, remanentes datae lista voluminum-structurae manifeste sunt ut garbage aestimandae. In fasciculis cum posteriore data, haec 'data remanentia' 0x00 sunt, quod indicare potest incommoditates cum instrumentorum catena durante evolutione ludi, id est, quod tantum postea aliquis auctorum curam in recta initializatione buffers habuit, cum non afficiat ludum, utrum data initializata sint necne. |
0x000c | uint(8)[] | Index nominum fasciculorum | Hic est index nominum fasciculorum terminatus ad 0 bytes, qui - saltem in praesenti parte datorum - tantum signa ASCII expectare videtur. Non est necesse, cum datam perlegimus, hunc datorum blocum diligentius examinare, cum in informationibus volumine directe offsets nominum fasciculorum referantur. |
Volume Strings sunt index nominum fasciculorum, quae intra volumen continentur.
Informationes de Volume
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 76 | 6f | 6c | 69 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | v | o | l | i | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo blocci | |
0x0007 | uint(8) | Vexilla |
Informationes de Volume plura et accuratiora de fasciculis comprehendunt. Id est quodammodo quasi genus inscriptionis in indice FAT (FAT = Tabula Distributionis Fasciculorum).
Nummer fasciculorum ex magnitudine blocci divisa per longitudinem inscriptionum in indice - 14 Byte.
Inscriptiones in indice singulae hoc modo structuratae sunt:
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Offset nominum fasciculorum | Indicat, quo offset (!) intra indicem nominum file (Volume-Strings) nomina file reperiatur. Adinit ad initium blocki usuariorum. |
0x0004 | uint(32) | Offset fasciculi | Indicat ubi offset in tota fasciculorum volumine sit fasciculus. |
0x0008 | uint(32) | Magnitudo fasciculi | Indicat quantam magnitudinem fasciculus in Byte sit. |
0x000c | uint(16) | Vexilla? | Apparet informationes additamentarias de codificatione fasciculi indicari.
|
Volumen Loci
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 56 | 42 | 4c | 48 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | V | B | L | H | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo blocci | |
0x0007 | uint(8) | Vexilla |
In volumine blocto, container est, qui fasciculos capit. Solum iterum continet - ob formam blocki - redundantiam magnitudinis fasciculi et postea statim sequuntur data utilia.
Tabulae
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 42 | 4d | 50 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | B | M | P | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Longitudo Blocki | |
0x0007 | uint(8) | Vexilla |
Tiles ad formatum graphicae bitmap specificum Outpost-2 pertinent.
Illi per 13 tileseta, "wells" appellata, extenduntur
(well0000.bmp
ad well0012.bmp
),
quae in volumine maps.vol inveniuntur.
Tileseta / Wells sequentia continent:
Nomine Foli | Contentum |
---|---|
well0000.bmp | Graphica 32x32px, caerulea - idonea ut testis, an proprius imaginum onerator operet |
well0001.bmp | Continens lapidem clarum, montes in lapide claro et innumeras variantes craterum impactuum in lapide claro |
well0002.bmp | Continens 'Doodads' lapidis clari - id est elementa, quae ad levitatem (vel consape ut structura, ut muri) in lapide claro ponuntur, inter quae etiam vegetatio |
well0003.bmp | Continens structura crustacea in lapide claro |
well0004.bmp | Continens lapidem obscurum, montes in lapide obscuro et innumeras variantes craterum impactuum in lapide obscuro |
well0005.bmp | Continens 'Doodads' lapidis obscuri - id est elementa, quae ad levitatem (vel consape ut structura, ut muri) in lapide obscuro ponuntur |
well0006.bmp | Continens structura crustacea in lapide obscuro, necnon transitiones inter lapidem clarum et obscurum |
well0007.bmp | Continens lavam cum 4-5 imagines animatas eiusdem |
well0008.bmp | Continens arenam et innumeras variantes craterum impactuum in arena |
well0009.bmp | Continens 'Doodads' arenae - id est elementa, quae ad levitatem (vel consape ut structura, ut muri) in arena ponuntur |
well0010.bmp | Continens 48 transitiones inter arenam et lapidem claram et obscurum |
well0011.bmp | Continens polum glaciale mappa, cum lapide obscuro ut subiecto |
well0012.bmp | Continens polum glaciale mappa, cum lapide claro ut subiecto |
Convenit magni momenti ad accuratam exsecutionem, ne tiles antea renderentur ut haec cachen, cum data pro die/noctis cyclus adhuc tractanda sint - et valde multa data prodeunt.
Tile sunt 8bpp grafica cum paleta indexata ad 32x32 pixel resolutionem, quae inter se ordinantur. In tali condita tileset tamen multo plura possunt esse.
Container principalis ex duabus sectionibus consistit: head
et data
.
Caput Tesserarum
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Longitudo Blocki | |
0x0007 | uint(8) | Vexilla | |
0x0008 | uint(32) | Versio / Vexilla? | Hic potuit esse indicium versionis formae fasciculi; in omnibus fasciculis, quae mihi praesto erant, hic valor erat |
0x000c | uint(32) | Latitudo (Resolutio Horizontalis) | Indicat quam lata sit imago (in pixelis). In omnibus fontibus Outpost 2 hic valor |
0x0010 | uint(32) | Altitudo (Resolutio Verticalis) | Indicat quanta alta sit imago (in pixelis). In omnibus Wells Outpost 2 hic valor |
0x0014 | uint(32) | Profunditas coloris? | Significatio huius valoris incerta est. Quia in omnibus examinatis fasciculis valorem |
0x0018 | uint(32) | Profunditas colorum 2? | Significatio huius valoris incognita est. Fortasse ad 'metam' profunditatem coloris pertinet. |
Ex his indicibus sequitur adhuc file paletta in forma RIFF standardizata. Exacta specificatio invenitur - cum palettae etiam alibi appareant - sub Paletta.
Data Tegularum
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Magic Bytes | |
0x0004 | uint(24) | Longitudo Blocki | |
0x0007 | uint(8) | Vexilla |
Denique sequuntur iam purae datae pixellarum, a sinistra-suprema per lineas ad dextram-infernam.
Valor datae in graphicis, quae plerumque ut 8bpp-Bitmaps apparent, respondet Indici coloris in paletta colorum.
Engine ludi tiles *fortasse* on-demand describit.
Hoc videtur inter alia esse ob cyclus diei et noctis, qui 32 gradus singularum tiles habet. Apparenter ex valore claritatis 'paulum' detrahitur. Valor exacti nondum investigari potuit, operor iuxta fundamentum computationis
v *= (daylight / 48) + 0.25;
HSV data pixelorum, ubi daylight est valor a 0-31 et v est valor inter 0-1, considerari debet. Ad hoc, etiam considerandum est quod in mappa singulis 16 tiles ad sinistram et dextram (quae pro invisibili generatione unitatum servit) existunt.
Adde quod cyclus diei et noctis pro singulo cyclus ludi tantum unam columnam mappae renovat.
Cyclus diei et noctis acceleratus igitur talis est:
PRT
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 43 | 50 | 41 | 4c | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | C | P | A | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bites Magicae | |
0x0004 | uint(24) | Longitudo palettae | Indicat, contra formatum normale blockum, numerum palettarum in hac fasciculo inveniarum - non longitudinem blocki in byte. |
0x0007 | uint(8) | Vexilla | Probabiliter, ut solet, vexilla. Nulla tamen vexilla mihi nota sunt; quoniam omnes mihi noti valores |
Quod PRT
precise significet, mihi non constat; possibile esset, exempli gratia, 'Paletta et Tabula Rerum' - cum haec sit fasciculus - repertus ut op2_art.prt in maps.vol - quod talis est, vel potius hoc munus bene describeret.
Hic fasciculus continet indicem palettarum, tabulam omnium bitmaporum adhibitorum, omnes definitiones animationum, et etiam seriem datorum ignotorum. Formatui conservari solet, licet non omnes notitiae huic schemati pareant.
Pars CPAL
(fortasse pro Palettarum Container) tantum palettarum datos complectitur, indicans quantas palettas 8-Bit, quae plerumque 1052 Byte magnitudinis sunt, adsint.
Notatio 1052 Byte non habetur ut obligatoria, cum formatum palettarum diversae magnitudinis palettas praebere possit. Solum ad datam, quam Outpost 2 traditur, pertinet.
Post indices palettarum statim et sine introductorium caput, sequitur index bitmaporum; eodem modo sequuntur indices animationum.
Utraque singulis cum uint(32) (vel iterum uint24+uint8 flag?) incipit, qui numerum recordorum continet.
Palettea
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 50 | 50 | 41 | 4c | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | P | P | A | L | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo Palettarum | Indicat, contrarium ad formatum normale, numerum palettarum in hac fasciculo inventarum - non longitudinem blocki in byte. |
0x0007 | uint(8) | Vexilla | Fortasse, ut solet, vexilla. Nulla tamen vexilla mihi nota sunt; cum omnia mihi nota signa |
Informationes de palettis facile leguntur.
Eae ex capite et segmento datarum consistunt.
Caput Palettarum
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 68 | 65 | 61 | 64 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | h | e | a | d | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo Palettarum | Indicat, contrarium ad formatum normale, numerum palettarum in hac fasciculo inventarum - non longitudinem blocki in byte. |
0x0007 | uint(8) | Vexilla | Fortasse, ut solet, vexilla. Nulla tamen vexilla mihi nota sunt; cum omnia mihi nota signa |
0x0008 | uint(32) | Versio formae paletarum? | Definitur probabiliter, quae versio palatinum formatum palette sequitur. Omnes palettae Outpost2 videntur versionem |
Data Palettarum
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | 64 | 61 | 74 | 61 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | d | a | t | a | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Bytes Magici | |
0x0004 | uint(24) | Longitudo Blocki | |
0x0007 | uint(8) | Vexilla |
Seccio datae singulos entries paletarum accipit. Numerus entries paletarum ex longitudine blocki / 4 oritur.
Singuli entries hunc simplicem structura habent;
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | 04 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(8) | Componentis rubrae | Indicem partium rubri coloris ostendit |
0x0001 | uint(8) | Componentis viridis | Partem viridis coloris indicat |
0x0002 | uint(8) | Componens Caeruleum | Indicat partem caeruleam coloris |
0x0003 | uint(8) | Incognitus - Vexilla? | Incertum est, quid hic valor significet, cum videatur fundamentaliter |
Ad palettas autem dici solum oportet, quod pro animationibus adhibendis palettae sequentia praecepta valent:
- Prima color semper est TRANSPARENTIS, quidquid ibi valore apponitur.
-
Entries palettarum 1-24 in palettis 1-8 ut coloris lusoris computantur.
Ubi colores extra lusorem 1 proveniant, mihi incertum est.
Suspicor reliquos colores esse hardcoded.
Bitmapæ
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Latitudo directa | Indicat latitudinem linearum datae pixelorum in Byte - quia hae ad limites 4-Byte conformatae sunt. Ita celeriter fieri potest ut in lineam imaginis certam saltem. Cur hic valor separatim servetur, quamquam computari posset, non est perspicuum. |
0x0004 | uint(32) | Offset | Indicat offset primæ lineæ in Bitmap. |
0x0008 | uint(32) | Altitudo | Altitudinem imaginis in pixelis indicat |
0x000c | uint(32) | Latitudo | Indicat latitudinem imaginis in pixelibus |
0x0010 | uint(16) | Typus | Indicat genus imaginis. Hic videtur esse de bitmaska:
|
0x0012 | uint(16) | Paletta | Definitur, quae paletta ex PRT-fasciculo adhibenda sit |
Haec structura datae PRT-fasciculi indicat quomodo bitmaps pro sprites adhibitae structura sint. Hi bitmaps partes singulae sunt, ex quibus plures ad unam animationis frame sprite coniunguntur.
Concreta data imaginis inop2_art.BMP in directorio ludi latent.
Quare haec bitmap-fasciculus header RIFF (plerumque rectus) habeat, incertum est. Verisimiliter Outpost 2 APIs systematis ad grafica onera adhibet, dum hic header temporarie assumi solet et verba varia, quae mutantur, superatur.
Dati pixel in BMP-fasciculo in Offset + uint32-Offset, quod in BMP-fasciculo ad locum 0x000A (RIFF-Bitmap-dati offset) invenitur, adhibentur et rursus ordinantur in lineis a sinistra superius ad dextram inferius.
Monochrome 1bpp-imaginum ita depingi possunt, ut color 0 totalem transparentiam, et color 1 semitransparentem nigrum/griseum sit, cum monochromaticae imagines usus sint plerumque pro umbris vehiculorum et aedium in animationibus.
Itaque multa grafica iam componi possunt.
Animatioes
Nunc ad summam classem disciplinarum in formatibus datarum Outpost 2 venimus:
Ad animationes.
Indices animationum cum capite globali, qui praecipue ad verificationem datarum pertinet, inchoantur. Postea sequuntur definitiones animationum concretarum, quae in tres gradus dividuntur:
-
Animatio
Animatio est summa instantiarum; repraesentat animationem unius unitatis, aedium, aut 'animationis particulorum' (impactus cometae, tempestas, explosio) in certa condicione. -
Frame
Frame est imago una in animatio. Animatio potest continere unum vel plura Frames. -
Subframe
Subframe est informatio de eo, quod certa Bitmap sub certis criteriis ad certam positionem Frame delineanda sit. Frame potest continere unum vel plura Subframes.
Deinde iam sequuntur definiendae animationes propriae.
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Numerus animationum | Quot quot animatio datae sunt praesentes |
0x0004 | uint(32) | Numerus Frameorum | Quot quot frames in totum esse debent |
0x0008 | uint(32) | Numerus subframeorum | Quotquot subframes in totum esse debeant |
0x000c | uint(32) | Numerus entry optionalium | Quot quot "optionales inscriptio" adsunt. |
Animatio
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0010 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
0x0020 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(32) | Ignoratus 1 | Informationes incognitae |
0x0004 | uint(32) | Finestra Limiting: Sinistra | Significat sinistrum initium (in pixelis) Bounding Box indicare. |
0x0008 | uint(32) | Finestra Limitationis: Supremum | Praefert initium superius (in Pixel) Bounding Box. |
0x000c | uint(32) | Finestra Limitans: Latitudo | Indicat latitudinem (in pixelis) Bounding Box. |
0x0010 | uint(32) | Limen Quadratum: Altitudo | Indicat altitudinem (in Pixel) Bounding Box. |
0x0014 | uint(32) | Offset: X | Mediam horizontalem animationis indicat |
0x0018 | uint(32) | Offset: Y | Indicem medii verticalis animationis dat |
0x001c | uint(32) | Incognitus 2 | Informatio incognita |
0x0020 | uint(32) | Numerus Frameorum | Indicat quot animorum schemata in hac animatione contenta sint |
0x0024 | uint(32) | Numerus fenestrarum | Indicat quot fenestrae ad delineandum adhibendae sint |
Data summum stratum, animationis, praecipue sunt data administrativae - Boundingbox indicat coordinatas signi circum vehiculum/aedificium, cum id electum sit et simul indicat, qui locus cliccabilis esse debeat.
Offset praecipue determinat "punctum nullum"; punctum, quod in coordinationes ludorum computandum aut subtractum est. Potest etiam dici mathematico modo: offset hic indicat originem coordinatarum.
De fenestris, sicut de offset, agitur, quae sunt (per unamquamque fenestram) 4 uint(32)-valores, qui spatium indicant, quod pro singulis subframes adhiberi potest. Extra fenestras, si sit secundum bitmap ad id destinatum, non licet pingere.
Amplectens
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(8) | Numerus subframe et Toggle pro Optional 1, 2 | Hic valor continet:
|
0x0001 | uint(8) | Ignotum 1 et Toggle pro Optionali 3, 4 | Hic valor continet:
|
0x0002 | uint(8) | Optio 1 | Incognitum |
0x0003 | uint(8) | Optio 2 | Incognitum |
0x0004 | uint(8) | Optio 3 | Incognitum |
0x0005 | uint(8) | Optio 4 | Incognitum |
Substructura
Adr | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | characteres | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x0000 | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . |
Offset | Typus datae | Nomen | Explicatio |
---|---|---|---|
0x0000 | uint(16) | Bitmap-Id | Indicat quae Bitmap pro hoc Subframe adhibenda sit |
0x0002 | uint(8) | Ignoratus 1 | Ignoratum est - sed vehementer suspicor hoc ad prioritatem renderandi (Z-Layer) pertinere. |
0x0003 | uint(8) | Subframe-Id | Indicat in quo subframe sumus |
0x0004 | sint(16) | Offset - Horizontale | Indicat, ubi intra frame subframe collocari debeat, vel quoti pixel bitmap horizontaliter movenda sit. |
0x0006 | sint(16) | Offset - Verticalis | Indicat, ubi intra tabulam subtabula collocari debeat, vel quot pixelis bitmap verticaliter movetur. |
Quamobrem nunc possumus singula tabulata, ut etiam universas animationes, secundum componere, hic exemplari in animatio complexiore, animatione cum indice 500, demonstratur.
Animatio 500
Animatio 500 ostendit quomodo Plymouth-transportator, qui ore vulgaris onustus est, exoneretur. Haec est una ex paucis animationibus quae functionem fenestrationis utuntur.
Itaque tota animatio coniungi potest.
Desiderium tamen est problema cum superiori apice onerario, quod hic bit adaequatus in informatione typi graphici non est positus.
Hic sunt aliquot aliae, pulcherrime animatae spatia ex ludo:
Interfacies Usoris
Nunc desunt adhuc interface usoris ludi, quod in metallo politum consilio confectum est.
At etiam hic manifestum est Dynamix non debuisse novum rotam excogitare; hic non solum simpliciter usus est APIs User32 et GDI32 a Windows praebitis - praecipue administratio opum User32 adhibetur.
Haec exempli gratia per programmata, qualis est Angus Johnson ut Freeware elaboratum Resource Hacker, aut - si quis sub Linux / Mac OS usum Wine timet - auxilii in icoutils contenti wrestool extrahi possunt.
Nomen File | Contentus |
---|---|
Outpost2.exe | Solum iconem ludi continet, quod stationem cosmicam ante New Terra exhibet |
op2shres.dll | Praeter imagines elementorum ad usum, ut limites, bullas, bullas radios et tabulas, etiam dialogorum fundos, imagines comitantes pro textibus missionum fabularum et imaginem fundi pro menu principali continet |
out2res.dll | Decoramentum fenestrarum in ludo, iconas metallicorum communium et specialium, tabulam oneris, imagines dialogorum necnon plures imagines cursoris, addito animatis in directorio ludi continet |