+static inline void
+insert_sprite(Sprite **head, Sprite *s)
+{
+ s->next = *head;
+ *head = s;
+}
+
+
+static inline Sprite *
+remove_sprite(Sprite **head)
+{
+ Sprite *s = *head;
+ *head = s->next;
+ return s;
+}
+
+
+static inline void
+draw_sprite(Sprite *s)
+{
+ SDL_Rect dest;
+ if(s->type == NONE) return;
+ dest.x = s->x; dest.y = s->y;
+ SDL_BlitSurface(s->image, NULL, surf_screen, &dest);
+}