#include "bucket.h" #include "stdio.h" #include "stdlib.h" #include "../sprite.h" #include "../IsometricMap/tile.h" Bucket * BucketInit(Sprite *sprite, Tile *tile){ Bucket *bucket = malloc(sizeof(Bucket)); if(sprite != 0){ bucket->type = 0; bucket->sprite = sprite; bucket->tile = 0; bucket->depth = sprite->x + sprite->y + sprite->z; } else if(tile != 0){ bucket->type = 1; bucket->sprite = 0; bucket->tile = tile; // TODO: Aktuell wird die Depth an der oberen Ecke berechnet, müsste es die untere sein? Oder eher die Mitte? Das scheint mir problematisch zu sein :o bucket->depth = tile->x * 32 + tile->y * 32 + tile->z; } bucket->next = 0; bucket->prev = 0; return bucket; } void BucketInsert(Bucket *head, Bucket *new){ } void BucketRemove(Bucket *new){ new->next->prev = new->prev; new->prev->next = new->next; free(new); }