123456789101112131415161718192021222324252627 |
- #include <compression.h>
- #include "sprite.h"
- #include <debug.h>
- #define Sprite_log(msg) dbg_sprintf(dbgout, "[Sprite] %s\n", msg)
- void Sprite_resize(struct Sprite* self, int width, int height){
- gfx_sprite_t* resized_data = gfx_MallocSprite(width, height);
- gfx_ScaleSprite(self->data, resized_data);
- free(self->data);
- self->data = resized_data;
- }
- void free_Sprite(Sprite* self){
- Sprite_log("Freeing sprite");
- free(self->data);
- free(self);
- }
- Sprite* new_Sprite(int width, int height, void* compressed_data){
- gfx_sprite_t* data = gfx_MallocSprite(width, height);
- Sprite* self = (Sprite*)malloc(sizeof(Sprite));
- zx7_Decompress(data, compressed_data);
- self->data = data;
- self->resize = &Sprite_resize;
- return self;
- }
|