•  Back 
  •  Line-A 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File6.18  Draw sprite                                                  TOS

 Name:          »Draw sprite«

 Line-A Nummer: $A00D

 Binding:       Bindings für draw_sprite

 Beschreibung:  Diese Line-A Funktion zeichnet ein Sprite auf den 
                Bildschirm. Die X Position wird in D0, die Y Position 
                in D1 übergeben. A0 zeigt auf eine Struktur des Typs 
                SDB, die den Aufbau des Sprites beschreibt. A2 zeigt 
                auf den Sprite-Save-Puffer, der zur Aufnahme des 
                geretteten Hintergrunds dient und mindestens die Größe 
                10 + 64 * Anzahl der Farbebenen haben muß. Das 
                Register A6 wird zerstört.

                typedef struct
                {
                  int16_t xhot,       /* X-Offset                   */
                          yhot,       /* Y-Offset                   */
                          form,       /* Format (1 = VDI, -1 = XOR) */
                          bgcol,      /* Hintergrundfarbe           */
                          fgcol,      /* Vordergrundfarbe           */
                          image[32];  /* Sprite-Image               */
                } SDB;

                 Variable Bedeutung

                 xhot   X-Koordinate des Aktionspunkts des Sprites, 
                        wie bei Transform mouse.
                 yhot   Y-Koordinate des Aktionspunkts des Sprites, 
                        wie bei Transform mouse.
                 form   1 für das VDI-Format und -1 für das XOR- 
                        Format.
                 bgcol  Die Farbe des Hintergrunds
                 fgcol  Die Farbe des Vordergrunds.
                 image  Die Daten für den Vordergrund und den 
                        Hintergrund des 16*16 Pixel großen Sprite. 
                        Dabei wird abwechselnd zuerst ein Wort des 
                        Hintergrunds und dann ein Wort des 
                        Vordergrunds gespeichert.

                Das Ergebnis auf dem Bildschirm ist abhängig von dem 
                in form bestimmten Format und kann für jeweils 1 Bit 
                aus den Vorgergrunddaten und Hintergrunddaten der 
                folgenden Tabelle entnommen werden. Old ist der 
                bisherige Bildpunkt, new der neue nach dem Zeichnen 
                des Sprite:

                 Vordergr.  Hintergr.  VDI-Format   XOR-Format 
                     0          0      new = old    new = old 
                     0          1      new = bgcol  new = bgcol 
                     1          0      new = fgcol  new = fgcol xor old 
                     1          1      new = fgcol  new = fgcol 

 Ergebnis:      Die Funktion liefert keinen Returnwert.

 Verfügbar:     Alle TOS-Versionen.

 Querverweis:   Binding   Transform mouse   Undraw sprite