diff --git a/Entity/entity.c b/Entity/entity.c index 0638bc6..c5df0ad 100644 --- a/Entity/entity.c +++ b/Entity/entity.c @@ -5,41 +5,45 @@ #include "../Sprite/sprite.h" #include "../MapObject/building.h" #include "../definitions.h" -#include "../Textures/textureatlas.h" #include "entityacts.h" +#include "../game.h" -Entity * EntityInit(Sprite *sprite, int profession, TextureAtlas *atlas){ +Entity * EntityInit(Game *game, int profession, int x, int y){ Entity *new = malloc(sizeof(Entity)); - new->angle = 0; - new->sprite = sprite; - new->destX = 0; - new->destY = 0; - new->hasDestination = 0; - new->selected = 0; - new->next = 0; - new->prev = 0; - new->task = TaskInit(profession); - new->profession = profession; + int textureId = 0; + Animation ***animations = 0; switch(profession){ case PR_BUILDER: new->act = BuilderAct; + textureId = TE_WORKER; + animations = game->textures->animations[AN_WORKER]; + break; + case PR_LUMBERJACK: + new->act = LumberjackAct; + textureId = TE_LUMBERJACK; + animations = game->textures->animations[AN_LUMBERJACK]; break; default: printf("WARNING: ENTITYINIT MIT FALSCHER ID AUFGERUFEN!\n"); } + Sprite *newSprite = SpriteCreate(game->textures, textureId, x, y); + SpriteListInsert(game->sprites, newSprite); + new->sprite = newSprite; - Animation ***animations = 0; + new->animationHandler = AnimationHandlerInit(animations, &new->sprite->texture); - if(profession == PR_BUILDER){ - animations = atlas->animations[AN_WORKER]; - } - else{ - printf("\n\n\n\n\n\n\n\nEntityCreate mit falscher ID (%d) aufgerufen oder ID nicht bekannt!!!\n\n\n\n\n\n\n\n", profession); - } + new->angle = 0; + new->destX = 0; + new->destY = 0; + new->hasDestination = 0; + new->selected = 0; + new->next = 0; + new->prev = 0; - new->animationHandler = AnimationHandlerInit(animations, &new->sprite->texture); + new->task = TaskInit(profession); + new->profession = profession; return new; } diff --git a/Entity/entity.h b/Entity/entity.h index c1df302..a56be62 100644 --- a/Entity/entity.h +++ b/Entity/entity.h @@ -30,7 +30,7 @@ typedef struct EntityList{ Entity *tail; } EntityList; -Entity * EntityInit(Sprite *sprite, int profession, TextureAtlas *atlas); +Entity * EntityInit(Game *game, int profession, int x, int y); EntityList * EntityListInit(); void EntityMoveToDestination(Entity *entity); diff --git a/Entity/entityacts.c b/Entity/entityacts.c index d7185fa..a273ae9 100644 --- a/Entity/entityacts.c +++ b/Entity/entityacts.c @@ -1,6 +1,7 @@ #include "entityacts.h" #include "../Textures/animationHandler.h" #include "../MapObject/building.h" +#include "../MapObject/staticobjects.h" void BuilderAct(Game *game, Entity *entity){ Building *target = (Building *) entity->task->target; @@ -50,3 +51,56 @@ void BuilderAct(Game *game, Entity *entity){ } } } + +void LumberjackAct(Game *game, Entity *entity){ + StaticObject *target = (StaticObject *) entity->task->target; + + // Hat noch keinen Baum + if(entity->task->target == 0){ + AnimationChangeType(entity->animationHandler, AN_ENTITY_IDLE); + + if(entity->hasDestination == 1){ + entity->hasDestination = 0; + } + + // Prüft, ob einen Baum existiert + StaticObject *current = game->objects->head; + while(current != 0){ + if(current->id == SO_PINETREE){ + entity->hasDestination = 1; + entity->destX = current->sprite->x; + entity->destY = current->sprite->y; + + entity->task->target = current; + entity->task->progress = 0; + break; + } + current = current->next; + } + } + else if(entity->hasDestination == 1){ + EntityMoveToDestination(entity); + } + else{ + printf("%f\n", entity->task->progress); + // Is beim target angekommen + if(entity->task->progress == 0){ + // Angekommen, noch nicht mit arbeiten begonnen + AnimationChangeType(entity->animationHandler, AN_ENTITY_ARBEITEN); + entity->task->progress = 0.01; + } + else if(entity->task->progress >= 1.0){ + // Fertig mit arbeiten, Animation zu Idle zurück + AnimationChangeType(entity->animationHandler, AN_ENTITY_IDLE); + printf("Fertig\n"); + + StaticObjectListRemove(game, entity->task->target); + entity->task->target = 0; + entity->task->progress = 0; + + } + else{ + entity->task->progress += 0.2 * GetFrameTime(); + } + } +} diff --git a/Entity/entityacts.h b/Entity/entityacts.h index be5e21c..4d0320e 100644 --- a/Entity/entityacts.h +++ b/Entity/entityacts.h @@ -4,5 +4,6 @@ #include "../game.h" void BuilderAct(Game *game, Entity *entity); +void LumberjackAct(Game *game, Entity *entity); #endif diff --git a/Input/inputHandler.c b/Input/inputHandler.c index b2ddabe..36b416c 100644 --- a/Input/inputHandler.c +++ b/Input/inputHandler.c @@ -72,12 +72,12 @@ void mouseInput(Game *game){ //Baum StaticObject *tree = StaticObjectInit(game, SO_PINETREE, inputHandler->cursorWorldPos.x, inputHandler->cursorWorldPos.y); StaticObjectListInsert(game->objects, tree); - SpriteListPrintForward(game->sprites); } if(IsKeyPressed(KEY_H)){ //Holzkacker - + Entity *lumberjack = EntityInit(game, PR_LUMBERJACK, inputHandler->cursorWorldPos.x, inputHandler->cursorWorldPos.y); + EntityListInsert(game->entities, lumberjack); } // resetting last selected Tile to grass texture diff --git a/MapObject/staticobjects.c b/MapObject/staticobjects.c index 2fdb6b9..db3dbd8 100644 --- a/MapObject/staticobjects.c +++ b/MapObject/staticobjects.c @@ -51,21 +51,22 @@ void StaticObjectListInsert(StaticObjectList *objects, StaticObject *data){ } } -void StaticObjectListRemove(StaticObjectList *objects, StaticObject *remove){ +void StaticObjectListRemove(Game *game, StaticObject *remove){ if(remove == 0){ printf("WARNING: TRIED TO REMOVE NULLPOINTER\n"); + return; } - else if(objects->head == remove && objects->tail == remove){ - objects->head = 0; - objects->tail = 0; + else if(game->objects->head == remove && game->objects->tail == remove){ + game->objects->head = 0; + game->objects->tail = 0; } - else if(objects->head == remove){ + else if(game->objects->head == remove){ remove->next->prev = 0; - objects->head = remove->next; + game->objects->head = remove->next; } - else if(objects->tail == remove){ + else if(game->objects->tail == remove){ remove->prev->next = 0; - objects->tail = remove->prev; + game->objects->tail = remove->prev; } else{ remove->prev->next = remove->next; @@ -74,4 +75,8 @@ void StaticObjectListRemove(StaticObjectList *objects, StaticObject *remove){ remove->next = 0; remove->prev = 0; + + SpriteListRemove(game->sprites, remove->sprite); + free(remove->sprite); + free(remove); } diff --git a/MapObject/staticobjects.h b/MapObject/staticobjects.h index d489d09..9b8d6c4 100644 --- a/MapObject/staticobjects.h +++ b/MapObject/staticobjects.h @@ -21,6 +21,6 @@ StaticObjectList * StaticObjectListInit(); void StaticObjectListPrintForward(StaticObjectList *objects); void StaticObjectListInsert(StaticObjectList *objects, StaticObject *data); -void StaticObjectListRemove(StaticObjectList *objects, StaticObject *remove); +void StaticObjectListRemove(Game *game, StaticObject *remove); #endif diff --git a/Textures/textureatlas.c b/Textures/textureatlas.c index 905d82b..6150562 100644 --- a/Textures/textureatlas.c +++ b/Textures/textureatlas.c @@ -37,6 +37,11 @@ void TextureAtlasLoadTextures(Texture2D **textures){ case TE_PINETREE: textures[TE_PINETREE] = malloc(TE_MAPOBJECT_LENGTH * sizeof(Texture2D)); LoadMapObjectTextures(textures[TE_PINETREE], "pinetree"); + break; + case TE_LUMBERJACK: + textures[TE_LUMBERJACK] = malloc(TE_ENTITY_LENGTH * sizeof(Texture2D)); + LoadEntityTextures(textures[TE_LUMBERJACK], "lumberjack"); + break; default: printf("WARNING: TEXTUREATLAS TRIED LOADING NON DEFINED TEXTUREID!!\n"); } @@ -158,6 +163,10 @@ void TextureAtlasLoadAnimations(Animation ****animations, Texture2D **textures){ animations[AN_WORKER] = malloc(AN_ENTITY_AMOUNT * sizeof(Animation *)); LoadEntityAnimations(animations[AN_WORKER], textures[TE_WORKER], AN_WORKER); break; + case AN_LUMBERJACK: + animations[AN_LUMBERJACK] = malloc(AN_ENTITY_AMOUNT * sizeof(Animation *)); + LoadEntityAnimations(animations[AN_LUMBERJACK], textures[TE_LUMBERJACK], AN_LUMBERJACK); + break; default: printf("WARNING: TEXTUREATLAS TRIED LOADING NON DEFINED ANIMATION!!\n"); } diff --git a/Ui/onClickFunctions.c b/Ui/onClickFunctions.c index ee63090..d1d1412 100644 --- a/Ui/onClickFunctions.c +++ b/Ui/onClickFunctions.c @@ -42,11 +42,9 @@ void OnSelectedSpawnBuilding(Game *game, Selectable *selectable){ } void OnSelectedSpawnWorker(Game *game, Selectable *selectable){ if(IsMouseButtonDown(MOUSE_BUTTON_LEFT) && game->mouseOnUI == 0){ - Sprite *newSprite = SpriteCreate(game->textures, TE_WORKER, game->inputHandler->cursorWorldPos.x, game->inputHandler->cursorWorldPos.y); - Entity *entity = EntityInit(newSprite, PR_BUILDER, game->textures); - EntityListInsert(game->entities, entity); - SpriteListInsert(game->sprites, newSprite); + Entity *lumberjack = EntityInit(game, PR_BUILDER, game->inputHandler->cursorWorldPos.x, game->inputHandler->cursorWorldPos.y); + EntityListInsert(game->entities, lumberjack); selectable->state = SELECTABLE_STATE_DEFAULT; } -} \ No newline at end of file +} diff --git a/assets/entities/lumberjack/arbeiten-0.png b/assets/entities/lumberjack/arbeiten-0.png new file mode 100644 index 0000000..c77ad31 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-0.png differ diff --git a/assets/entities/lumberjack/arbeiten-1.png b/assets/entities/lumberjack/arbeiten-1.png new file mode 100644 index 0000000..274dce7 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-1.png differ diff --git a/assets/entities/lumberjack/arbeiten-10.png b/assets/entities/lumberjack/arbeiten-10.png new file mode 100644 index 0000000..e6ed964 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-10.png differ diff --git a/assets/entities/lumberjack/arbeiten-11.png b/assets/entities/lumberjack/arbeiten-11.png new file mode 100644 index 0000000..fcde808 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-11.png differ diff --git a/assets/entities/lumberjack/arbeiten-12.png b/assets/entities/lumberjack/arbeiten-12.png new file mode 100644 index 0000000..0308559 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-12.png differ diff --git a/assets/entities/lumberjack/arbeiten-13.png b/assets/entities/lumberjack/arbeiten-13.png new file mode 100644 index 0000000..161f3a1 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-13.png differ diff --git a/assets/entities/lumberjack/arbeiten-14.png b/assets/entities/lumberjack/arbeiten-14.png new file mode 100644 index 0000000..66d527b Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-14.png differ diff --git a/assets/entities/lumberjack/arbeiten-15.png b/assets/entities/lumberjack/arbeiten-15.png new file mode 100644 index 0000000..ae48e3f Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-15.png differ diff --git a/assets/entities/lumberjack/arbeiten-16.png b/assets/entities/lumberjack/arbeiten-16.png new file mode 100644 index 0000000..f80b78a Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-16.png differ diff --git a/assets/entities/lumberjack/arbeiten-17.png b/assets/entities/lumberjack/arbeiten-17.png new file mode 100644 index 0000000..72988b3 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-17.png differ diff --git a/assets/entities/lumberjack/arbeiten-18.png b/assets/entities/lumberjack/arbeiten-18.png new file mode 100644 index 0000000..8ca4f0d Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-18.png differ diff --git a/assets/entities/lumberjack/arbeiten-19.png b/assets/entities/lumberjack/arbeiten-19.png new file mode 100644 index 0000000..0414c05 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-19.png differ diff --git a/assets/entities/lumberjack/arbeiten-2.png b/assets/entities/lumberjack/arbeiten-2.png new file mode 100644 index 0000000..22fd8ae Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-2.png differ diff --git a/assets/entities/lumberjack/arbeiten-20.png b/assets/entities/lumberjack/arbeiten-20.png new file mode 100644 index 0000000..ad32148 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-20.png differ diff --git a/assets/entities/lumberjack/arbeiten-21.png b/assets/entities/lumberjack/arbeiten-21.png new file mode 100644 index 0000000..cb55e47 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-21.png differ diff --git a/assets/entities/lumberjack/arbeiten-22.png b/assets/entities/lumberjack/arbeiten-22.png new file mode 100644 index 0000000..e88aadf Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-22.png differ diff --git a/assets/entities/lumberjack/arbeiten-23.png b/assets/entities/lumberjack/arbeiten-23.png new file mode 100644 index 0000000..e9c251b Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-23.png differ diff --git a/assets/entities/lumberjack/arbeiten-24.png b/assets/entities/lumberjack/arbeiten-24.png new file mode 100644 index 0000000..88dadd4 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-24.png differ diff --git a/assets/entities/lumberjack/arbeiten-3.png b/assets/entities/lumberjack/arbeiten-3.png new file mode 100644 index 0000000..538caf2 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-3.png differ diff --git a/assets/entities/lumberjack/arbeiten-4.png b/assets/entities/lumberjack/arbeiten-4.png new file mode 100644 index 0000000..6abe4cb Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-4.png differ diff --git a/assets/entities/lumberjack/arbeiten-5.png b/assets/entities/lumberjack/arbeiten-5.png new file mode 100644 index 0000000..7a74248 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-5.png differ diff --git a/assets/entities/lumberjack/arbeiten-6.png b/assets/entities/lumberjack/arbeiten-6.png new file mode 100644 index 0000000..c5f88ea Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-6.png differ diff --git a/assets/entities/lumberjack/arbeiten-7.png b/assets/entities/lumberjack/arbeiten-7.png new file mode 100644 index 0000000..754e981 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-7.png differ diff --git a/assets/entities/lumberjack/arbeiten-8.png b/assets/entities/lumberjack/arbeiten-8.png new file mode 100644 index 0000000..ab3ab0f Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-8.png differ diff --git a/assets/entities/lumberjack/arbeiten-9.png b/assets/entities/lumberjack/arbeiten-9.png new file mode 100644 index 0000000..b35c07c Binary files /dev/null and b/assets/entities/lumberjack/arbeiten-9.png differ diff --git a/assets/entities/lumberjack/arbeiten.png b/assets/entities/lumberjack/arbeiten.png new file mode 100644 index 0000000..9fa2439 Binary files /dev/null and b/assets/entities/lumberjack/arbeiten.png differ diff --git a/assets/entities/lumberjack/die-0.png b/assets/entities/lumberjack/die-0.png new file mode 100644 index 0000000..bb660da Binary files /dev/null and b/assets/entities/lumberjack/die-0.png differ diff --git a/assets/entities/lumberjack/die-1.png b/assets/entities/lumberjack/die-1.png new file mode 100644 index 0000000..40d9d57 Binary files /dev/null and b/assets/entities/lumberjack/die-1.png differ diff --git a/assets/entities/lumberjack/die-10.png b/assets/entities/lumberjack/die-10.png new file mode 100644 index 0000000..a40571b Binary files /dev/null and b/assets/entities/lumberjack/die-10.png differ diff --git a/assets/entities/lumberjack/die-11.png b/assets/entities/lumberjack/die-11.png new file mode 100644 index 0000000..6848d2e Binary files /dev/null and b/assets/entities/lumberjack/die-11.png differ diff --git a/assets/entities/lumberjack/die-12.png b/assets/entities/lumberjack/die-12.png new file mode 100644 index 0000000..2bd123e Binary files /dev/null and b/assets/entities/lumberjack/die-12.png differ diff --git a/assets/entities/lumberjack/die-13.png b/assets/entities/lumberjack/die-13.png new file mode 100644 index 0000000..10ff758 Binary files /dev/null and b/assets/entities/lumberjack/die-13.png differ diff --git a/assets/entities/lumberjack/die-14.png b/assets/entities/lumberjack/die-14.png new file mode 100644 index 0000000..06d6375 Binary files /dev/null and b/assets/entities/lumberjack/die-14.png differ diff --git a/assets/entities/lumberjack/die-2.png b/assets/entities/lumberjack/die-2.png new file mode 100644 index 0000000..89a5172 Binary files /dev/null and b/assets/entities/lumberjack/die-2.png differ diff --git a/assets/entities/lumberjack/die-3.png b/assets/entities/lumberjack/die-3.png new file mode 100644 index 0000000..57b76a5 Binary files /dev/null and b/assets/entities/lumberjack/die-3.png differ diff --git a/assets/entities/lumberjack/die-4.png b/assets/entities/lumberjack/die-4.png new file mode 100644 index 0000000..8e64ffb Binary files /dev/null and b/assets/entities/lumberjack/die-4.png differ diff --git a/assets/entities/lumberjack/die-5.png b/assets/entities/lumberjack/die-5.png new file mode 100644 index 0000000..e4a57c3 Binary files /dev/null and b/assets/entities/lumberjack/die-5.png differ diff --git a/assets/entities/lumberjack/die-6.png b/assets/entities/lumberjack/die-6.png new file mode 100644 index 0000000..da12fe7 Binary files /dev/null and b/assets/entities/lumberjack/die-6.png differ diff --git a/assets/entities/lumberjack/die-7.png b/assets/entities/lumberjack/die-7.png new file mode 100644 index 0000000..4aa3a92 Binary files /dev/null and b/assets/entities/lumberjack/die-7.png differ diff --git a/assets/entities/lumberjack/die-8.png b/assets/entities/lumberjack/die-8.png new file mode 100644 index 0000000..2108a07 Binary files /dev/null and b/assets/entities/lumberjack/die-8.png differ diff --git a/assets/entities/lumberjack/die-9.png b/assets/entities/lumberjack/die-9.png new file mode 100644 index 0000000..c4cdc70 Binary files /dev/null and b/assets/entities/lumberjack/die-9.png differ diff --git a/assets/entities/lumberjack/die.png b/assets/entities/lumberjack/die.png new file mode 100644 index 0000000..35cb772 Binary files /dev/null and b/assets/entities/lumberjack/die.png differ diff --git a/assets/entities/lumberjack/lumberjack.png b/assets/entities/lumberjack/lumberjack.png new file mode 100644 index 0000000..b48f8de Binary files /dev/null and b/assets/entities/lumberjack/lumberjack.png differ diff --git a/assets/entities/lumberjack/walk-0.png b/assets/entities/lumberjack/walk-0.png new file mode 100644 index 0000000..e79916a Binary files /dev/null and b/assets/entities/lumberjack/walk-0.png differ diff --git a/assets/entities/lumberjack/walk-1.png b/assets/entities/lumberjack/walk-1.png new file mode 100644 index 0000000..d20d20b Binary files /dev/null and b/assets/entities/lumberjack/walk-1.png differ diff --git a/assets/entities/lumberjack/walk-10.png b/assets/entities/lumberjack/walk-10.png new file mode 100644 index 0000000..e8f0298 Binary files /dev/null and b/assets/entities/lumberjack/walk-10.png differ diff --git a/assets/entities/lumberjack/walk-11.png b/assets/entities/lumberjack/walk-11.png new file mode 100644 index 0000000..10515c0 Binary files /dev/null and b/assets/entities/lumberjack/walk-11.png differ diff --git a/assets/entities/lumberjack/walk-12.png b/assets/entities/lumberjack/walk-12.png new file mode 100644 index 0000000..9631020 Binary files /dev/null and b/assets/entities/lumberjack/walk-12.png differ diff --git a/assets/entities/lumberjack/walk-13.png b/assets/entities/lumberjack/walk-13.png new file mode 100644 index 0000000..fd4e8eb Binary files /dev/null and b/assets/entities/lumberjack/walk-13.png differ diff --git a/assets/entities/lumberjack/walk-14.png b/assets/entities/lumberjack/walk-14.png new file mode 100644 index 0000000..d74aa11 Binary files /dev/null and b/assets/entities/lumberjack/walk-14.png differ diff --git a/assets/entities/lumberjack/walk-15.png b/assets/entities/lumberjack/walk-15.png new file mode 100644 index 0000000..aa418c0 Binary files /dev/null and b/assets/entities/lumberjack/walk-15.png differ diff --git a/assets/entities/lumberjack/walk-16.png b/assets/entities/lumberjack/walk-16.png new file mode 100644 index 0000000..bb41259 Binary files /dev/null and b/assets/entities/lumberjack/walk-16.png differ diff --git a/assets/entities/lumberjack/walk-17.png b/assets/entities/lumberjack/walk-17.png new file mode 100644 index 0000000..ea19ebf Binary files /dev/null and b/assets/entities/lumberjack/walk-17.png differ diff --git a/assets/entities/lumberjack/walk-18.png b/assets/entities/lumberjack/walk-18.png new file mode 100644 index 0000000..1d06b94 Binary files /dev/null and b/assets/entities/lumberjack/walk-18.png differ diff --git a/assets/entities/lumberjack/walk-19.png b/assets/entities/lumberjack/walk-19.png new file mode 100644 index 0000000..998352c Binary files /dev/null and b/assets/entities/lumberjack/walk-19.png differ diff --git a/assets/entities/lumberjack/walk-2.png b/assets/entities/lumberjack/walk-2.png new file mode 100644 index 0000000..e096158 Binary files /dev/null and b/assets/entities/lumberjack/walk-2.png differ diff --git a/assets/entities/lumberjack/walk-20.png b/assets/entities/lumberjack/walk-20.png new file mode 100644 index 0000000..388230b Binary files /dev/null and b/assets/entities/lumberjack/walk-20.png differ diff --git a/assets/entities/lumberjack/walk-21.png b/assets/entities/lumberjack/walk-21.png new file mode 100644 index 0000000..082661b Binary files /dev/null and b/assets/entities/lumberjack/walk-21.png differ diff --git a/assets/entities/lumberjack/walk-22.png b/assets/entities/lumberjack/walk-22.png new file mode 100644 index 0000000..ca9cb49 Binary files /dev/null and b/assets/entities/lumberjack/walk-22.png differ diff --git a/assets/entities/lumberjack/walk-23.png b/assets/entities/lumberjack/walk-23.png new file mode 100644 index 0000000..0ad7285 Binary files /dev/null and b/assets/entities/lumberjack/walk-23.png differ diff --git a/assets/entities/lumberjack/walk-24.png b/assets/entities/lumberjack/walk-24.png new file mode 100644 index 0000000..6decfae Binary files /dev/null and b/assets/entities/lumberjack/walk-24.png differ diff --git a/assets/entities/lumberjack/walk-3.png b/assets/entities/lumberjack/walk-3.png new file mode 100644 index 0000000..db848e6 Binary files /dev/null and b/assets/entities/lumberjack/walk-3.png differ diff --git a/assets/entities/lumberjack/walk-4.png b/assets/entities/lumberjack/walk-4.png new file mode 100644 index 0000000..27b7356 Binary files /dev/null and b/assets/entities/lumberjack/walk-4.png differ diff --git a/assets/entities/lumberjack/walk-5.png b/assets/entities/lumberjack/walk-5.png new file mode 100644 index 0000000..58a95ed Binary files /dev/null and b/assets/entities/lumberjack/walk-5.png differ diff --git a/assets/entities/lumberjack/walk-6.png b/assets/entities/lumberjack/walk-6.png new file mode 100644 index 0000000..e666b68 Binary files /dev/null and b/assets/entities/lumberjack/walk-6.png differ diff --git a/assets/entities/lumberjack/walk-7.png b/assets/entities/lumberjack/walk-7.png new file mode 100644 index 0000000..ef5a4be Binary files /dev/null and b/assets/entities/lumberjack/walk-7.png differ diff --git a/assets/entities/lumberjack/walk-8.png b/assets/entities/lumberjack/walk-8.png new file mode 100644 index 0000000..79beb82 Binary files /dev/null and b/assets/entities/lumberjack/walk-8.png differ diff --git a/assets/entities/lumberjack/walk-9.png b/assets/entities/lumberjack/walk-9.png new file mode 100644 index 0000000..8b61b8a Binary files /dev/null and b/assets/entities/lumberjack/walk-9.png differ diff --git a/assets/entities/lumberjack/walk.png b/assets/entities/lumberjack/walk.png new file mode 100644 index 0000000..9183b00 Binary files /dev/null and b/assets/entities/lumberjack/walk.png differ diff --git a/cropEntity.sh b/cropEntity.sh new file mode 100755 index 0000000..dd3450a --- /dev/null +++ b/cropEntity.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +convertAnimation(){ + convert $1 +repage -crop 72x72 $1 +} + +mkdir assets/entities/$2 +convert $1 +repage -crop 360x360 assets/entities/$2/tmp.png + +mv $1 assets/entities/$2/$2.png +cd assets/entities/$2 + +mv tmp-0.png walk.png +mv tmp-1.png arbeiten.png +mv tmp-2.png die.png + +convertAnimation walk.png +convertAnimation arbeiten.png +convertAnimation die.png + diff --git a/definitions.h b/definitions.h index 8a42c86..9165b78 100644 --- a/definitions.h +++ b/definitions.h @@ -17,15 +17,17 @@ #define TE_BUILDING 2 #define TE_BAUSTELLE 3 #define TE_PINETREE 4 +#define TE_LUMBERJACK 5 -#define TE_AMOUNT 5 +#define TE_AMOUNT 6 #define TE_ENTITY_LENGTH 104 #define TE_MAPOBJECT_LENGTH 1 // Definitions for animations #define AN_WORKER 0 -#define AN_AMOUNT 1 +#define AN_LUMBERJACK 1 +#define AN_AMOUNT 2 #define AN_ENTITY_AMOUNT 3 #define AN_ENTITY_IDLE 0 @@ -40,6 +42,7 @@ // Defintions for professions #define PR_BUILDER 0 +#define PR_LUMBERJACK 1 // Definitions for Screen / View / Ui Stuff