#include "game.h" #include "stdlib.h" #include "raylib.h" #include "sprite.h" #include "List/list.h" #include "Input/inputHandler.h" #include "IsometricMap/isometricMap.h" #include "stdio.h" Game * GameInit(){ Game *game = (Game *) malloc(sizeof(Game)); game->cursorTextures[0] = LoadTexture("assets/cursor.gif"); game->cursorTextures[1] = LoadTexture("assets/cursor_down.gif"); //game->cursorSprite = {&(cursorTextures[0]), 450, 225}; game->cursorSprite = (Sprite *) malloc(sizeof(Sprite)); game->cursorSprite->texture = &(game->cursorTextures[0]); game->cursorSprite->x = 450; game->cursorSprite->y = 225; 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); game->worker[6] = LoadTexture("assets/worker/worker-0.png"); game->worker[5] = LoadTexture("assets/worker/worker-1.png"); game->worker[7] = LoadTextureFromImage(worker1flip); game->worker[4] = LoadTexture("assets/worker/worker-2.png"); game->worker[0] = LoadTextureFromImage(worker2flip); game->worker[3] = LoadTexture("assets/worker/worker-3.png"); game->worker[1] = LoadTextureFromImage(worker3flip); game->worker[2] = LoadTexture("assets/worker/worker-4.png"); game->inputHandler = (InputHandler *) malloc(sizeof(InputHandler)); game->inputHandler->pressed = 0; game->inputHandler->rectStart.x = 0; game->inputHandler->rectStart.y = 0; game->inputHandler->cursorPos.x = 0; game->inputHandler->cursorPos.y = 0; game->inputHandler->cursorWorldPos.x = 0; game->inputHandler->cursorWorldPos.y = 0; game->inputHandler->cursorWorldTile.x = 0; game->inputHandler->cursorWorldTile.y = 0; game->inputHandler->selectedLayer = -1; game->inputHandler->cursorTextures = game->cursorTextures; game->inputHandler->cursorSprite = game->cursorSprite; game->camera = (Camera2D *) malloc(sizeof(Camera2D)); game->camera->target = (Vector2){0, 0}; game->camera->rotation = 0.0f; game->camera->zoom = 1.0f; game->sprites = ListInit(); game->layers = ((IsometricMap ***) malloc(10*sizeof(IsometricMap *))); // Test Layers --- int n = 0; int i = 0; int j = 0; for(n = 0; n < 10; n++){ (*(game->layers))[n] = IsometricMapInit(n); } for(n = 0; n <= 10; n++){ for(i = 0; i < 100; i++){ for(j = 0; j < 100; j++){ switch(n){ case 0: IsometricMapAddTile((*(game->layers))[n], i, j, 0); break; case 1: if(i > 35 && i < 50 && j > 45 && j < 60){ IsometricMapAddTile((*(game->layers))[n], i, j, 0); } break; case 2: if(i > 40 && i < 44 && j > 50 && j < 54){ IsometricMapAddTile((*(game->layers))[n], i, j, 1); } break; } } } } printf("ALARM\n"); for(n = 0; n <= 10; n++){ for(i = 0; i < 20-n*2; i++){ for(j = 0; j < 20-n*2; j++){ IsometricMapAddTile((*(game->layers))[n], i, j, 0); if(n == 9){ IsometricMapAddTile((*(game->layers))[n], i, j, 1); } } } } printf("ALARM\n"); // ------- return game; }