add SwitchSpritesheet

This commit is contained in:
Sebastian Krzyszkowiak 2018-04-26 14:33:52 +02:00
parent 396e07a0ce
commit b0d2c59596
2 changed files with 10 additions and 0 deletions

View file

@ -71,6 +71,15 @@ SYMBOL_EXPORT void SelectSpritesheet(struct Game* game, struct Character* charac
PrintConsole(game, "ERROR: No spritesheets registered for %s with given name: %s", character->name, name); PrintConsole(game, "ERROR: No spritesheets registered for %s with given name: %s", character->name, name);
} }
SYMBOL_EXPORT void SwitchSpritesheet(struct Game* game, struct Character* character, char* name) {
int pos = character->pos;
SelectSpritesheet(game, character, name);
if (pos < character->spritesheets->frameCount) {
character->pos = pos;
character->frame = &character->spritesheet->frames[character->pos];
}
}
SYMBOL_EXPORT void EnqueueSpritesheet(struct Game* game, struct Character* character, char* name) { SYMBOL_EXPORT void EnqueueSpritesheet(struct Game* game, struct Character* character, char* name) {
if (character->successor) { if (character->successor) {
free(character->successor); free(character->successor);

View file

@ -105,6 +105,7 @@ struct Character {
// TODO: document functions // TODO: document functions
void SelectSpritesheet(struct Game* game, struct Character* character, char* name); void SelectSpritesheet(struct Game* game, struct Character* character, char* name);
void SwitchSpritesheet(struct Game* game, struct Character* character, char* name);
void EnqueueSpritesheet(struct Game* game, struct Character* character, char* name); void EnqueueSpritesheet(struct Game* game, struct Character* character, char* name);
void RegisterSpritesheet(struct Game* game, struct Character* character, char* name); void RegisterSpritesheet(struct Game* game, struct Character* character, char* name);
struct Spritesheet* GetSpritesheet(struct Game* game, struct Character* character, char* name); struct Spritesheet* GetSpritesheet(struct Game* game, struct Character* character, char* name);