character: add GetSpritesheet for getting struct by name

This commit is contained in:
Sebastian Krzyszkowiak 2018-04-15 23:00:17 +02:00
parent c9efd7afe2
commit c77c91e570
2 changed files with 12 additions and 1 deletions

View file

@ -78,6 +78,17 @@ SYMBOL_EXPORT void EnqueueSpritesheet(struct Game* game, struct Character* chara
character->successor = strdup(name); 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) { SYMBOL_EXPORT void LoadSpritesheets(struct Game* game, struct Character* character) {
PrintConsole(game, "Loading spritesheets for character %s...", character->name); PrintConsole(game, "Loading spritesheets for character %s...", character->name);
struct Spritesheet* tmp = character->spritesheets; struct Spritesheet* tmp = character->spritesheets;

View file

@ -107,6 +107,7 @@ struct Character {
void SelectSpritesheet(struct Game* game, struct Character* character, char* name); void SelectSpritesheet(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);
void DrawCharacter(struct Game* game, struct Character* character); 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); 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 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 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 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); void SetCharacterConfines(struct Game* game, struct Character* character, int x, int y);
float GetCharacterX(struct Game* game, struct Character* character); float GetCharacterX(struct Game* game, struct Character* character);