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;
|
||||
};
|
||||
|
||||
Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame) {
|
||||
Sprite* sprite_new_empty() {
|
||||
Sprite* self = malloc(sizeof(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->origin = (Vector){0.5f, 0.5f};
|
||||
self->origin = VectorFrom(0.5f);
|
||||
self->tile_index = initial_frame;
|
||||
self->flip_state = SDL_FLIP_NONE;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
// Forward declaration of the private sprite struct
|
||||
typedef struct Sprite Sprite;
|
||||
|
||||
extern Sprite* sprite_new_empty();
|
||||
extern Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame);
|
||||
extern void sprite_destroy(Sprite* sprite);
|
||||
|
||||
|
|
Loading…
Reference in a new issue