feat(sprite): sprite now has a sprite_new_empty function
This commit is contained in:
parent
54efa7c83e
commit
fa38d1a7ca
|
@ -19,16 +19,23 @@ struct Sprite {
|
||||||
SDL_RendererFlip flip_state;
|
SDL_RendererFlip flip_state;
|
||||||
};
|
};
|
||||||
|
|
||||||
Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame) {
|
Sprite* sprite_new_empty() {
|
||||||
Sprite* self = malloc(sizeof(Sprite));
|
Sprite* self = malloc(sizeof(Sprite));
|
||||||
|
|
||||||
ASSERT_RETURN(self != NULL, NULL, "Failed to allocate memory for new sprite.");
|
ASSERT_RETURN(self != NULL, NULL, "Failed to allocate memory for new sprite.");
|
||||||
|
*self = (Sprite){
|
||||||
|
.spritesheet = NULL,
|
||||||
|
.tile_index = 0,
|
||||||
|
.origin = ZeroVector,
|
||||||
|
.flip_state = SDL_FLIP_NONE,
|
||||||
|
};
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame) {
|
||||||
|
Sprite* self = sprite_new_empty();
|
||||||
self->spritesheet = sheet;
|
self->spritesheet = sheet;
|
||||||
self->origin = (Vector){0.5f, 0.5f};
|
self->origin = VectorFrom(0.5f);
|
||||||
self->tile_index = initial_frame;
|
self->tile_index = initial_frame;
|
||||||
self->flip_state = SDL_FLIP_NONE;
|
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
// Forward declaration of the private sprite struct
|
// Forward declaration of the private sprite struct
|
||||||
typedef struct Sprite Sprite;
|
typedef struct Sprite Sprite;
|
||||||
|
|
||||||
|
extern Sprite* sprite_new_empty();
|
||||||
extern Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame);
|
extern Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame);
|
||||||
extern void sprite_destroy(Sprite* sprite);
|
extern void sprite_destroy(Sprite* sprite);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue