Es geht weiter!

Nach fast einem Jahr Pause geht es nun weiter mit dem Projekt OctoAwesome! Das NoobDevTv-Team versucht wieder regelmäßig Donnerstags um 19 Uhr einen OctoAwesome-Stream auf den Streaming-Kanäle von NoobDevTv: Twitch, Youtube und Mixer. zu veranstalten! Die neu produzierten Folgen der nun dritten Staffel werden ab jetzt auf deren Youtube-Kanal veröffentlicht.

Chunk Serializer: Unterschied zwischen den Versionen

Aus OctoAwesome Wiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
[[Kategorie:Seitenindex]][[Kategorie:OctoAwesome.Runtime]][[Kategorie:Dokumentation]]
 
[[Kategorie:Seitenindex]][[Kategorie:OctoAwesome.Runtime]][[Kategorie:Dokumentation]]
 +
{{Überarbeiten}}
 
Zur Chunk-Serialisierung wird ein eigenes, selbst entwickeltes und speziell auf unsere Anforderungen optimiertes Dateiformat verwendet. '''Der Chunk-Serializer''' schreibt die daten binär mit Hilfe des BinaryWriters in die .chunk-Datei. Wie der Name schon sagt, wird jeweils nur ein Chunk auf einmal serialisiert. Der Speicherverbrauch einer Chunkdatei beträgt ~33KB.
 
Zur Chunk-Serialisierung wird ein eigenes, selbst entwickeltes und speziell auf unsere Anforderungen optimiertes Dateiformat verwendet. '''Der Chunk-Serializer''' schreibt die daten binär mit Hilfe des BinaryWriters in die .chunk-Datei. Wie der Name schon sagt, wird jeweils nur ein Chunk auf einmal serialisiert. Der Speicherverbrauch einer Chunkdatei beträgt ~33KB.
  
Zeile 11: Zeile 12:
 
* [https://github.com/tomwendel/octoawesome/blob/master/OctoAwesome/OctoAwesome.Runtime/ChunkSerializer.cs Die Implementierung auf GitHub]
 
* [https://github.com/tomwendel/octoawesome/blob/master/OctoAwesome/OctoAwesome.Runtime/ChunkSerializer.cs Die Implementierung auf GitHub]
 
* [http://doc.octoawesome.net/html/T_OctoAwesome_Runtime_ChunkSerializer.htm Dokumentation]
 
* [http://doc.octoawesome.net/html/T_OctoAwesome_Runtime_ChunkSerializer.htm Dokumentation]
 +
 +
[[Kategorie:Überarbeiten]]

Version vom 21. Februar 2016, 09:10 Uhr

Diese Seite bedarf einer Überarbeitung, da sie unvollständig oder fehlerhaft ist. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, sie zu verbessern, vermerke es auf der Diskussionsseite und entferne anschließend diese Markierung. Vielen Dank für Deine Mithilfe!

Zur Chunk-Serialisierung wird ein eigenes, selbst entwickeltes und speziell auf unsere Anforderungen optimiertes Dateiformat verwendet. Der Chunk-Serializer schreibt die daten binär mit Hilfe des BinaryWriters in die .chunk-Datei. Wie der Name schon sagt, wird jeweils nur ein Chunk auf einmal serialisiert. Der Speicherverbrauch einer Chunkdatei beträgt ~33KB.

Header

Im Header wird dem Programm mitgeteilt, welche Blocktypen auf dem Chunk verwendet werden. Zuerst wird ein Flag als byte geschrieben, was angibt ob mehr (1) oder weniger (0) als 255 Blocktypen verwendet werden. Heute immer 0 (mangels Angebot an Plugins). Danach wird die eigentliche Anzahl der Blocktypen entweder als byte (<255 Blocktypen) oder als ushort (>255 Blocktypen) geschrieben. Anschließend werden die Namen der Blocktypen als string geschrieben (z.B. OctoAwesome.Basics.GrassBlockDefinition).

Daten

Jetzt werden die eigentlichen Daten der Blöcke als lineares Array geschrieben: Zuerst der Index der BlockDefinition (Typumstellung genauso bei 255 Blocktypen, siehe oben). Blocktyp 0 ist ein leerer Luftblock. Dann folgt ein int mit beliebigen Metadaten, falls der Blocktyp dies mit BlockDefinition.HasMetadata anfordert.

Links