From c77c91e570792f19d282cc1c14db3a68fa1d8de2 Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak Date: Sun, 15 Apr 2018 23:00:17 +0200 Subject: [PATCH] character: add GetSpritesheet for getting struct by name --- src/character.c | 11 +++++++++++ src/character.h | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/character.c b/src/character.c index cad5242..bfa20cd 100644 --- a/src/character.c +++ b/src/character.c @@ -78,6 +78,17 @@ SYMBOL_EXPORT void EnqueueSpritesheet(struct Game* game, struct Character* chara character->successor = strdup(name); } +SYMBOL_EXPORT struct Spritesheet* GetSpritesheet(struct Game* game, struct Character* character, char* name) { + struct Spritesheet* tmp = character->spritesheets; + while (tmp) { + if (!strcmp(tmp->name, name)) { + return tmp; + } + tmp = tmp->next; + } + return NULL; +} + SYMBOL_EXPORT void LoadSpritesheets(struct Game* game, struct Character* character) { PrintConsole(game, "Loading spritesheets for character %s...", character->name); struct Spritesheet* tmp = character->spritesheets; diff --git a/src/character.h b/src/character.h index 1bf53be..9a70f6f 100644 --- a/src/character.h +++ b/src/character.h @@ -107,6 +107,7 @@ struct Character { void SelectSpritesheet(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); +struct Spritesheet* GetSpritesheet(struct Game* game, struct Character* character, char* name); void DrawCharacter(struct Game* game, struct Character* character); void DrawScaledCharacterF(struct Game* game, struct Character* character, ALLEGRO_COLOR tint, float scalex, float scaley, int flags); @@ -123,7 +124,6 @@ void MoveCharacter(struct Game* game, struct Character* character, float x, floa void MoveCharacterF(struct Game* game, struct Character* character, float x, float y, float angle); void SetCharacterPosition(struct Game* game, struct Character* character, float x, float y, float angle); void SetCharacterPositionF(struct Game* game, struct Character* character, float x, float y, float angle); -void SetCharacterPivotPoint(struct Game* game, struct Character* character, float x, float y); void SetCharacterConfines(struct Game* game, struct Character* character, int x, int y); float GetCharacterX(struct Game* game, struct Character* character);