#include "object.h" #include #define Object_log(msg) dbg_sprintf(dbgout, "[Object] %s\n", msg) void Object_update(Object* self){} void Object_draw(Object* self){ if(self->scale.x + self->scale.y != 0){ gfx_ScaledSprite_NoClip( self->sprite->data, self->x, self->y, self->scale.x, self->scale.y); }else{ gfx_Sprite_NoClip(self->sprite->data, self->x, self->y); } } int Object_width(Object* self){ return self->sprite->data->width * self->scale.x; } int Object_height(Object* self){ return self->sprite->data->height * self->scale.y; } void free_Object(Object* self){ Object_log("Freeing object"); free_Sprite(self->sprite); free(self); } Object* new_Object(int x, int y){ Object* self = (Object*)malloc(sizeof(Object)); self->x = x; self->y = y; self->scale.x = self->scale.y = 1; self->update = &Object_update; self->draw = &Object_draw; self->width = &Object_width; self->height = &Object_height; return self; }