diff --git a/Input/inputHandler.c b/Input/inputHandler.c index a2317ca..f3eebac 100644 --- a/Input/inputHandler.c +++ b/Input/inputHandler.c @@ -71,6 +71,9 @@ void mouseInput(InputHandler *inputHandler, List *sprites, Texture2D *texture, C inputHandler->rectStart.x = GetMousePosition().x; inputHandler->rectStart.y = GetMousePosition().y; inputHandler->pressed = 1; + + // Cursorsprite is changed to "down" + inputHandler->cursorSprite->texture = (inputHandler->cursorTextures) + 1; } } @@ -81,6 +84,8 @@ void mouseInput(InputHandler *inputHandler, List *sprites, Texture2D *texture, C if(IsMouseButtonReleased(MOUSE_BUTTON_LEFT)){ inputHandler->pressed = 0; + // Cursorsprite is rechanged to normal + inputHandler->cursorSprite->texture = (inputHandler->cursorTextures); float width = GetMousePosition().x - inputHandler->rectStart.x; float height = GetMousePosition().y - inputHandler->rectStart.y; diff --git a/Input/inputHandler.h b/Input/inputHandler.h index 9a08585..41bb017 100644 --- a/Input/inputHandler.h +++ b/Input/inputHandler.h @@ -11,6 +11,8 @@ typedef struct InputHandler{ Vector2 cursorPos; Vector2 selectedTile; int selectedLayer; + Texture2D *cursorTextures; + Sprite *cursorSprite; } InputHandler; void mouseInput(InputHandler *inputHandler, List *sprites, Texture2D *texture, Camera2D *camera, IsometricMap *map); diff --git a/assets/cursor.gif b/assets/cursor.gif new file mode 100644 index 0000000..9a140e0 Binary files /dev/null and b/assets/cursor.gif differ diff --git a/assets/cursor_down.gif b/assets/cursor_down.gif new file mode 100644 index 0000000..b29e875 Binary files /dev/null and b/assets/cursor_down.gif differ diff --git a/assets/cursor_fist.gif b/assets/cursor_fist.gif new file mode 100644 index 0000000..ddd5870 Binary files /dev/null and b/assets/cursor_fist.gif differ diff --git a/assets/cursor_open.gif b/assets/cursor_open.gif new file mode 100644 index 0000000..a5081dc Binary files /dev/null and b/assets/cursor_open.gif differ diff --git a/assets/worker/worker-0.png b/assets/worker/worker-0.png new file mode 100644 index 0000000..bdb2e07 Binary files /dev/null and b/assets/worker/worker-0.png differ diff --git a/assets/worker/worker-1.png b/assets/worker/worker-1.png new file mode 100644 index 0000000..633fb2c Binary files /dev/null and b/assets/worker/worker-1.png differ diff --git a/assets/worker/worker-10.png b/assets/worker/worker-10.png new file mode 100644 index 0000000..a0364cf Binary files /dev/null and b/assets/worker/worker-10.png differ diff --git a/assets/worker/worker-11.png b/assets/worker/worker-11.png new file mode 100644 index 0000000..fb7829f Binary files /dev/null and b/assets/worker/worker-11.png differ diff --git a/assets/worker/worker-12.png b/assets/worker/worker-12.png new file mode 100644 index 0000000..942e61f Binary files /dev/null and b/assets/worker/worker-12.png differ diff --git a/assets/worker/worker-13.png b/assets/worker/worker-13.png new file mode 100644 index 0000000..dd3c9ba Binary files /dev/null and b/assets/worker/worker-13.png differ diff --git a/assets/worker/worker-14.png b/assets/worker/worker-14.png new file mode 100644 index 0000000..cf1f9fb Binary files /dev/null and b/assets/worker/worker-14.png differ diff --git a/assets/worker/worker-15.png b/assets/worker/worker-15.png new file mode 100644 index 0000000..4f6846f Binary files /dev/null and b/assets/worker/worker-15.png differ diff --git a/assets/worker/worker-16.png b/assets/worker/worker-16.png new file mode 100644 index 0000000..1e9e0cb Binary files /dev/null and b/assets/worker/worker-16.png differ diff --git a/assets/worker/worker-17.png b/assets/worker/worker-17.png new file mode 100644 index 0000000..b16dc07 Binary files /dev/null and b/assets/worker/worker-17.png differ diff --git a/assets/worker/worker-18.png b/assets/worker/worker-18.png new file mode 100644 index 0000000..bc8e758 Binary files /dev/null and b/assets/worker/worker-18.png differ diff --git a/assets/worker/worker-19.png b/assets/worker/worker-19.png new file mode 100644 index 0000000..566ecb9 Binary files /dev/null and b/assets/worker/worker-19.png differ diff --git a/assets/worker/worker-2.png b/assets/worker/worker-2.png new file mode 100644 index 0000000..0f8c280 Binary files /dev/null and b/assets/worker/worker-2.png differ diff --git a/assets/worker/worker-20.png b/assets/worker/worker-20.png new file mode 100644 index 0000000..3a3755b Binary files /dev/null and b/assets/worker/worker-20.png differ diff --git a/assets/worker/worker-21.png b/assets/worker/worker-21.png new file mode 100644 index 0000000..cdceaf8 Binary files /dev/null and b/assets/worker/worker-21.png differ diff --git a/assets/worker/worker-22.png b/assets/worker/worker-22.png new file mode 100644 index 0000000..3be0fda Binary files /dev/null and b/assets/worker/worker-22.png differ diff --git a/assets/worker/worker-23.png b/assets/worker/worker-23.png new file mode 100644 index 0000000..2a1740d Binary files /dev/null and b/assets/worker/worker-23.png differ diff --git a/assets/worker/worker-24.png b/assets/worker/worker-24.png new file mode 100644 index 0000000..93cdfbf Binary files /dev/null and b/assets/worker/worker-24.png differ diff --git a/assets/worker/worker-25.png b/assets/worker/worker-25.png new file mode 100644 index 0000000..5a3edfc Binary files /dev/null and b/assets/worker/worker-25.png differ diff --git a/assets/worker/worker-26.png b/assets/worker/worker-26.png new file mode 100644 index 0000000..3d713c4 Binary files /dev/null and b/assets/worker/worker-26.png differ diff --git a/assets/worker/worker-27.png b/assets/worker/worker-27.png new file mode 100644 index 0000000..5dce7b8 Binary files /dev/null and b/assets/worker/worker-27.png differ diff --git a/assets/worker/worker-28.png b/assets/worker/worker-28.png new file mode 100644 index 0000000..acaef65 Binary files /dev/null and b/assets/worker/worker-28.png differ diff --git a/assets/worker/worker-29.png b/assets/worker/worker-29.png new file mode 100644 index 0000000..2ee4e93 Binary files /dev/null and b/assets/worker/worker-29.png differ diff --git a/assets/worker/worker-3.png b/assets/worker/worker-3.png new file mode 100644 index 0000000..8fb1ff9 Binary files /dev/null and b/assets/worker/worker-3.png differ diff --git a/assets/worker/worker-30.png b/assets/worker/worker-30.png new file mode 100644 index 0000000..b371e86 Binary files /dev/null and b/assets/worker/worker-30.png differ diff --git a/assets/worker/worker-31.png b/assets/worker/worker-31.png new file mode 100644 index 0000000..ec61a53 Binary files /dev/null and b/assets/worker/worker-31.png differ diff --git a/assets/worker/worker-32.png b/assets/worker/worker-32.png new file mode 100644 index 0000000..030e1f4 Binary files /dev/null and b/assets/worker/worker-32.png differ diff --git a/assets/worker/worker-33.png b/assets/worker/worker-33.png new file mode 100644 index 0000000..65fdeba Binary files /dev/null and b/assets/worker/worker-33.png differ diff --git a/assets/worker/worker-34.png b/assets/worker/worker-34.png new file mode 100644 index 0000000..3c1c102 Binary files /dev/null and b/assets/worker/worker-34.png differ diff --git a/assets/worker/worker-35.png b/assets/worker/worker-35.png new file mode 100644 index 0000000..04fa0ea Binary files /dev/null and b/assets/worker/worker-35.png differ diff --git a/assets/worker/worker-36.png b/assets/worker/worker-36.png new file mode 100644 index 0000000..90e9253 Binary files /dev/null and b/assets/worker/worker-36.png differ diff --git a/assets/worker/worker-37.png b/assets/worker/worker-37.png new file mode 100644 index 0000000..85f21e9 Binary files /dev/null and b/assets/worker/worker-37.png differ diff --git a/assets/worker/worker-38.png b/assets/worker/worker-38.png new file mode 100644 index 0000000..8fe108f Binary files /dev/null and b/assets/worker/worker-38.png differ diff --git a/assets/worker/worker-39.png b/assets/worker/worker-39.png new file mode 100644 index 0000000..3e94341 Binary files /dev/null and b/assets/worker/worker-39.png differ diff --git a/assets/worker/worker-4.png b/assets/worker/worker-4.png new file mode 100644 index 0000000..ef2285c Binary files /dev/null and b/assets/worker/worker-4.png differ diff --git a/assets/worker/worker-40.png b/assets/worker/worker-40.png new file mode 100644 index 0000000..50028fc Binary files /dev/null and b/assets/worker/worker-40.png differ diff --git a/assets/worker/worker-41.png b/assets/worker/worker-41.png new file mode 100644 index 0000000..8fd22de Binary files /dev/null and b/assets/worker/worker-41.png differ diff --git a/assets/worker/worker-42.png b/assets/worker/worker-42.png new file mode 100644 index 0000000..ff266e4 Binary files /dev/null and b/assets/worker/worker-42.png differ diff --git a/assets/worker/worker-43.png b/assets/worker/worker-43.png new file mode 100644 index 0000000..aeea36a Binary files /dev/null and b/assets/worker/worker-43.png differ diff --git a/assets/worker/worker-44.png b/assets/worker/worker-44.png new file mode 100644 index 0000000..9d9376f Binary files /dev/null and b/assets/worker/worker-44.png differ diff --git a/assets/worker/worker-45.png b/assets/worker/worker-45.png new file mode 100644 index 0000000..e9c9c65 Binary files /dev/null and b/assets/worker/worker-45.png differ diff --git a/assets/worker/worker-46.png b/assets/worker/worker-46.png new file mode 100644 index 0000000..6f367a2 Binary files /dev/null and b/assets/worker/worker-46.png differ diff --git a/assets/worker/worker-47.png b/assets/worker/worker-47.png new file mode 100644 index 0000000..a80970a Binary files /dev/null and b/assets/worker/worker-47.png differ diff --git a/assets/worker/worker-48.png b/assets/worker/worker-48.png new file mode 100644 index 0000000..436f8d9 Binary files /dev/null and b/assets/worker/worker-48.png differ diff --git a/assets/worker/worker-49.png b/assets/worker/worker-49.png new file mode 100644 index 0000000..8d927a0 Binary files /dev/null and b/assets/worker/worker-49.png differ diff --git a/assets/worker/worker-5.png b/assets/worker/worker-5.png new file mode 100644 index 0000000..d69bc7a Binary files /dev/null and b/assets/worker/worker-5.png differ diff --git a/assets/worker/worker-50.png b/assets/worker/worker-50.png new file mode 100644 index 0000000..037583b Binary files /dev/null and b/assets/worker/worker-50.png differ diff --git a/assets/worker/worker-51.png b/assets/worker/worker-51.png new file mode 100644 index 0000000..28fa49f Binary files /dev/null and b/assets/worker/worker-51.png differ diff --git a/assets/worker/worker-52.png b/assets/worker/worker-52.png new file mode 100644 index 0000000..eee1e53 Binary files /dev/null and b/assets/worker/worker-52.png differ diff --git a/assets/worker/worker-53.png b/assets/worker/worker-53.png new file mode 100644 index 0000000..39187c2 Binary files /dev/null and b/assets/worker/worker-53.png differ diff --git a/assets/worker/worker-54.png b/assets/worker/worker-54.png new file mode 100644 index 0000000..2f6e414 Binary files /dev/null and b/assets/worker/worker-54.png differ diff --git a/assets/worker/worker-55.png b/assets/worker/worker-55.png new file mode 100644 index 0000000..7212332 Binary files /dev/null and b/assets/worker/worker-55.png differ diff --git a/assets/worker/worker-56.png b/assets/worker/worker-56.png new file mode 100644 index 0000000..6fdb1c9 Binary files /dev/null and b/assets/worker/worker-56.png differ diff --git a/assets/worker/worker-57.png b/assets/worker/worker-57.png new file mode 100644 index 0000000..3f99196 Binary files /dev/null and b/assets/worker/worker-57.png differ diff --git a/assets/worker/worker-58.png b/assets/worker/worker-58.png new file mode 100644 index 0000000..7b0a857 Binary files /dev/null and b/assets/worker/worker-58.png differ diff --git a/assets/worker/worker-59.png b/assets/worker/worker-59.png new file mode 100644 index 0000000..628ad78 Binary files /dev/null and b/assets/worker/worker-59.png differ diff --git a/assets/worker/worker-6.png b/assets/worker/worker-6.png new file mode 100644 index 0000000..71299f7 Binary files /dev/null and b/assets/worker/worker-6.png differ diff --git a/assets/worker/worker-60.png b/assets/worker/worker-60.png new file mode 100644 index 0000000..89f48b3 Binary files /dev/null and b/assets/worker/worker-60.png differ diff --git a/assets/worker/worker-61.png b/assets/worker/worker-61.png new file mode 100644 index 0000000..5871ed2 Binary files /dev/null and b/assets/worker/worker-61.png differ diff --git a/assets/worker/worker-62.png b/assets/worker/worker-62.png new file mode 100644 index 0000000..72c11c1 Binary files /dev/null and b/assets/worker/worker-62.png differ diff --git a/assets/worker/worker-63.png b/assets/worker/worker-63.png new file mode 100644 index 0000000..ec28ce1 Binary files /dev/null and b/assets/worker/worker-63.png differ diff --git a/assets/worker/worker-64.png b/assets/worker/worker-64.png new file mode 100644 index 0000000..e0d8d1e Binary files /dev/null and b/assets/worker/worker-64.png differ diff --git a/assets/worker/worker-7.png b/assets/worker/worker-7.png new file mode 100644 index 0000000..5a738a7 Binary files /dev/null and b/assets/worker/worker-7.png differ diff --git a/assets/worker/worker-8.png b/assets/worker/worker-8.png new file mode 100644 index 0000000..8904e98 Binary files /dev/null and b/assets/worker/worker-8.png differ diff --git a/assets/worker/worker-9.png b/assets/worker/worker-9.png new file mode 100644 index 0000000..3cf523d Binary files /dev/null and b/assets/worker/worker-9.png differ diff --git a/assets/worker/worker.png b/assets/worker/worker.png new file mode 100644 index 0000000..f3787b9 Binary files /dev/null and b/assets/worker/worker.png differ diff --git a/inputHandler.o b/inputHandler.o new file mode 100644 index 0000000..fe219d8 Binary files /dev/null and b/inputHandler.o differ diff --git a/isometricMap.o b/isometricMap.o new file mode 100644 index 0000000..14953d5 Binary files /dev/null and b/isometricMap.o differ diff --git a/isometricRenderer.o b/isometricRenderer.o new file mode 100644 index 0000000..aaed56a Binary files /dev/null and b/isometricRenderer.o differ diff --git a/list.o b/list.o new file mode 100644 index 0000000..b6b631b Binary files /dev/null and b/list.o differ diff --git a/main.c b/main.c index 052b2a5..cdbe057 100644 --- a/main.c +++ b/main.c @@ -11,15 +11,34 @@ int main(){ InitWindow(800, 450, "basic window"); - - Texture2D texture; - texture = LoadTexture("assets/amulet.png"); - + Texture2D amulet; + amulet = LoadTexture("assets/amulet.png"); + + Image worker1flip = LoadImage("assets/worker/worker-1.png"); + ImageFlipHorizontal(&worker1flip); + Image worker2flip = LoadImage("assets/worker/worker-2.png"); + ImageFlipHorizontal(&worker2flip); + Image worker3flip = LoadImage("assets/worker/worker-3.png"); + ImageFlipHorizontal(&worker3flip); + + Texture2D worker[8]; + worker[6] = LoadTexture("assets/worker/worker-0.png"); + worker[5] = LoadTexture("assets/worker/worker-1.png"); + worker[7] = LoadTextureFromImage(worker1flip); + worker[4] = LoadTexture("assets/worker/worker-2.png"); + worker[0] = LoadTextureFromImage(worker2flip); + worker[3] = LoadTexture("assets/worker/worker-3.png"); + worker[1] = LoadTextureFromImage(worker3flip); + worker[2] = LoadTexture("assets/worker/worker-4.png"); + + Texture2D cursorTextures[2]; + cursorTextures[0] = LoadTexture("assets/cursor.gif"); + cursorTextures[1] = LoadTexture("assets/cursor_down.gif"); List *sprites = ListInit(); //ListPrintForward(sprites); - Sprite cursorSprite = {&texture, 450, 225}; + Sprite cursorSprite = {&(cursorTextures[0]), 450, 225}; InputHandler inputHandler; inputHandler.pressed = 0; @@ -30,6 +49,8 @@ int main(){ inputHandler.selectedTile.x = 0; inputHandler.selectedTile.y = 0; inputHandler.selectedLayer = 0; + inputHandler.cursorTextures = cursorTextures; + inputHandler.cursorSprite = &cursorSprite; Camera2D camera = { 0 }; camera.target = (Vector2){0, 0}; @@ -47,6 +68,8 @@ int main(){ IsometricMapAddTile(Layer4, 2, 2, 1); + // Hides the operating systems own cursor + HideCursor(); SetTargetFPS(60); while(!WindowShouldClose()){ @@ -67,12 +90,12 @@ int main(){ EndMode2D(); // Moving cursor Sprite to Mouse Pos and drawing it - cursorSprite.x = inputHandler.cursorPos.x - texture.width / 2; - cursorSprite.y = inputHandler.cursorPos.y - texture.height / 2; + cursorSprite.x = inputHandler.cursorPos.x; + cursorSprite.y = inputHandler.cursorPos.y; DrawSprite(&cursorSprite); // User Input Handling - mouseInput(&inputHandler, sprites, &texture, &camera, map); + mouseInput(&inputHandler, sprites, worker+4, &camera, map); keyboardInput(&inputHandler, &camera); // Sprites move towards their destination @@ -96,12 +119,24 @@ int main(){ movement = Vector2Scale(movement, movementSpeed); current->data.x += movement.x; current->data.y += movement.y; + + // Change sprite according to direction + Vector2 nullvektor = {0,0}; + float f = Vector2Angle(movement, nullvektor); + printf("Angle: %f\n", f); + f /= 3.14; + f *= 3.5; + f += 3.5; + int index = (int) f; + current->data.texture = worker + index; } } current = current->next; } + DrawFPS(GetScreenWidth() - 95, 10); + EndDrawing(); } diff --git a/main.o b/main.o new file mode 100644 index 0000000..0426fdc Binary files /dev/null and b/main.o differ diff --git a/spiel b/spiel new file mode 100755 index 0000000..e236264 Binary files /dev/null and b/spiel differ diff --git a/sprite.c b/sprite.c index 36295eb..fb668c9 100644 --- a/sprite.c +++ b/sprite.c @@ -22,7 +22,8 @@ void SpriteAdd(Sprite *sprites, int *spriteAmount, Texture2D *texture, int x, in void DrawSprite(Sprite *sprite){ if(sprite->selected){ - DrawTexture(*sprite->texture, sprite->x, sprite->y, BLACK); + DrawTexture(*sprite->texture, sprite->x, sprite->y, WHITE); + //DrawTexture(*sprite->texture, sprite->x, sprite->y, BLACK); } else{ DrawTexture(*sprite->texture, sprite->x, sprite->y, WHITE); diff --git a/sprite.o b/sprite.o new file mode 100644 index 0000000..0dac02d Binary files /dev/null and b/sprite.o differ diff --git a/tile.o b/tile.o new file mode 100644 index 0000000..b7873fa Binary files /dev/null and b/tile.o differ