Farbborg-Animationsformat

Aus LaborWiki
Wechseln zu: Navigation, Suche

Aufbau

Das Format ist äußerst einfach gehalten und zur Ausführung auf Microcontrollern optimiert. Es gibt keine Sprünge oder Schleifen, somit kann die Anmationsdatei zeilenweise ausgelesen werden.

Zusätzlich zu dem Animationsdateien gibt es auch noch Playlisten. Eine Playlistdatei, ist ein Textdatei in der nur die Dateipfade der abzuspielenden Animationsdateien untereinander aufgelistet werden. Da das Implementierung des Fat-Dateisystems keine langen Dateinamen unterstüzt müssen die Dateienamen in dem 8.3 Format von MSDOS angesprochen werden. Außerdem ist der Pfad immer absolut anzugeben. z.B anims/neueanim.prn Als Verzeichnistrennzeichen wird ein einfaches Slash '/' verwendet.

Sprachelemente

Zeilen die mit Raute anfangen sind Kommentare

Befehle

Nach jedem Befehl kommt ein CariageReturn \b


Befehl 'i':

Voxelweise mit Farbwerten das Bild in den ersten Bildbuffer bringen

^ 00aaff 00aaff 00aaff 00aaff 00aaff
| 00aaff 00aaff 00aaff 00aaff 00aaff
y 00aaff 00aaff 00aaff 00aaff 00aaff  Unterste Ebene
| 00aaff 00aaff 00aaff 00aaff 00aaff       
| 00aaff 00aaff 00aaff 00aaff 00aaff       |
+----------------x------------------>      | 
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       | 
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
                                           |
  00aaff 00aaff 00aaff 00aaff 00aaff       | 
  00aaff 00aaff 00aaff 00aaff 00aaff       
  00aaff 00aaff 00aaff 00aaff 00aaff       z
  00aaff 00aaff 00aaff 00aaff 00aaff       
  00aaff 00aaff 00aaff 00aaff 00aaff       |
                                           |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
  00aaff 00aaff 00aaff 00aaff 00aaff       |
                                           |
  00aaff 00aaff 00aaff 00aaff 00aaff       v
  00aaff 00aaff 00aaff 00aaff 00aaff       
  00aaff 00aaff 00aaff 00aaff 00aaff  Oberste Ebene
  00aaff 00aaff 00aaff 00aaff 00aaff      
  00aaff 00aaff 00aaff 00aaff 00aaff      

Befehl "p": Farbpalette erweitern

Für jede Animaionsdatei gibt es eine Farbpallete, in der man einem druckbaren Zeichen einen RGB Farbwert zuweist. Dies ermöglicht eine kürzere Schreibweise

farbKürzel <uint8_t> farbWert <hexByte><hexByte><hexByte>

Zusätzlich sind da die folgenden Farbwerte automatisch definiert -R Rot -G Grün -B Blau -S Schwarz -W Weiß

Das Zeichen > markiert das Ende der Farbpalletten Erweiterung

""Befehl "I""" : Voxelweise mit Farbpallette das Bild in den ersten Bildbuffer.

    Unten        ----------- z ---------->         Oben
            
 ^ X X X X X   X X X X X   X X X X X   X X X X X   X X X X X	
 | X X X X X   X X X X X   X X X X X   X X X X X   X X X X X	
 y X X X X X   X X X X X   X X X X X   X X X X X   X X X X X	
 | X X X X X   X X X X X   X X X X X   X X X X X   X X X X X	
 | X X X X X   X X X X X   X X X X X   X X X X X   X X X X X	
 +--- x --->

Befehl 'C: Das gesamte Bild mit einem Palettenwert sezten

<uint_8>

Befehl 'c': Das gesamte Bild mit einer RGB-Farbe setzen

<hexByte> <hexByte> <hexByte>

Befehl 'S': Die Bildspeicher swapen zwecks double buffering und angegeben Zeit warten

<uint16_t> Milisekunden

Befehl 'F': Zwischen alten und neuen Bildspeichern in n Schritten a ms Millisekunden morphen/faden

<uint16_t> Milisekunden ms <uint16_t> Anzahl Schritte n

Zusätzlich gibt es auch noch Playlist Dateien. Diese haben die Endung .apl, fpr animation Plaliste. in Ihnen sind Kommentar durch ein #-Zeichen am Anfang der Zeile möglich. In jeder Zeile kann dort der Pfad zu einer .anim Datei (inclusive .anim) stehen, die allesamt nacheinander abgespielt werden.

# Beispiel Video

C 
S

S
250

S
250

V
0 0 0 W
2 2 2 R
4 4 4 W
>

S
250

S
250

v
1 1 1 0055ff
3 3 3 0055ff
2 1 2 0055ff
>

S
250

S
250

p
y ffff00
t 00ffff
m ff00ff
>

I
y S R S m   y S S S m   y S S S m   y S S S m   y S R S m
S R S R S   S S R S S   S S S S S   S S R S S   S R S R S
R S t S R   S R S R S   S S R S S   S R S R S   R S t S S
S R S R S   S S R S S   S S S S S   S S R S S   S R S R S
m S R S y   m S S S y   m S S S y   m S S S y   m S R S y

F
40
20

S
255

S
255

i
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff

00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff

00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff

00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff

00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff
00ffff 00ffff 00ffff 00ffff 00ffff

F
40
20

S
5000

C
S

F
40
20