main
Jonathan Hager 3 years ago
parent 722547c883
commit e3ffb48906
Signed by: JonathanHager
GPG Key ID: 34881E488569708C

@ -58,7 +58,7 @@ void mouseInput(Game *game){
InputHandler *inputHandler = game->inputHandler;
List *sprites = game->sprites;
Camera2D *camera = game->camera;
IsometricMap **layers = *game->layers;
IsometricMap **layers = game->layers;
Texture2D *texture = game->worker +4;
inputHandler->cursorPos.x = GetMousePosition().x;
@ -135,7 +135,7 @@ void mouseInput(Game *game){
width = abs(width);
height = abs(height);
printf("Auswahl: x: %f, y: %f, w: %f, h: %f\n", rect.x, rect.y, width, height);
//printf("Auswahl: x: %f, y: %f, w: %f, h: %f\n", rect.x, rect.y, width, height);
// TODO: update to World Coordinates
float deltaX;
@ -148,7 +148,7 @@ void mouseInput(Game *game){
deltaX = currPos.x - camera->target.x - (rect.x + camera->target.x);
deltaY = currPos.y - camera->target.y - (rect.y + camera->target.y);
printf("deltaX: %f, deltaY: %f\n", deltaX, deltaY);
//printf("deltaX: %f, deltaY: %f\n", deltaX, deltaY);
if(deltaX > 0 && deltaX < width && deltaY > 0 && deltaY < height){
current->data.selected = 1;

@ -19,11 +19,11 @@ IsometricMap * IsometricMapInit(int layer){
map->heightBounds = 100;
map->layer = layer;
Tile*** tiles = (Tile***)malloc(map->widthBounds*sizeof(Tile*));
int n = 0;
for(n=0; n < map->widthBounds; n++){
tiles[n] = (Tile**)malloc(map->heightBounds*sizeof(Tile*));
}
Tile*** tiles = (Tile***)malloc(map->widthBounds*sizeof(Tile*));
int n = 0;
for(n=0; n < map->widthBounds; n++){
tiles[n] = (Tile**)malloc(map->heightBounds*sizeof(Tile*));
}
int i = 0;
int j = 0;
@ -38,6 +38,7 @@ IsometricMap * IsometricMapInit(int layer){
}
map->tiles = tiles;
return map;
}

@ -3,6 +3,7 @@
#include "isometricMap.h"
#include "../Input/inputHandler.h"
#include <stdio.h>
#include <stdlib.h>
// @param deprecated
void IsometricRendererDrawMap(IsometricRenderer *renderer, int height){
@ -56,6 +57,7 @@ void IsometricRendererRenderIsometricMap(IsometricMap **map, InputHandler *input
int textureId = map[n]->tiles[i][j]->textureId;
DrawTexture(map[n]->tileTextures[textureId], x, y, WHITE);
free(offset);
}
}
}

@ -1,8 +1,6 @@
CC = gcc
FLAGS = -lraylib -lGL -lm -lpthread -ldl -lrt -lX11
spiel: main.o sprite.o inputHandler.o isometricRenderer.o isometricMap.o tile.o list.o game.o
$(CC) -o spiel main.o sprite.o inputHandler.o isometricRenderer.o isometricMap.o tile.o list.o game.o $(FLAGS)

@ -0,0 +1,11 @@
#ifndef TEXTUREATLAS_H_
#define TEXTUREATLAS_H_
#include "raylib.h"
typedef struct TextureAtlas{
Texture2D cursorTextures[2];
Texture2D workerTextures[7];
//Texture2D[] mapTextures;
} TextureAtlas;
#endif

@ -8,17 +8,14 @@
#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;
//game->cursorSprite = (Sprite *) malloc(sizeof(Sprite));
game->cursorSprite = SpriteCreate(game->cursorTextures, 450, 225);
@ -52,13 +49,14 @@ Game * GameInit(){
game->inputHandler->cursorSprite = game->cursorSprite;
game->camera = (Camera2D *) malloc(sizeof(Camera2D));
game->camera->target = (Vector2){0, 0};
game->camera->target.x = 0;
game->camera->target.y = 0;
game->camera->rotation = 0.0f;
game->camera->zoom = 1.0f;
game->sprites = ListInit();
game->layers = ((IsometricMap ***) malloc(10*sizeof(IsometricMap *)));
game->layers = ((IsometricMap **) malloc(10*sizeof(IsometricMap *)));
// Test Layers ---
int n = 0;
@ -66,7 +64,7 @@ Game * GameInit(){
int j = 0;
for(n = 0; n < 10; n++){
(*(game->layers))[n] = IsometricMapInit(n);
((game->layers))[n] = IsometricMapInit(n);
}
for(n = 0; n <= 10; n++){
@ -74,16 +72,16 @@ Game * GameInit(){
for(j = 0; j < 100; j++){
switch(n){
case 0:
IsometricMapAddTile((*(game->layers))[n], i, j, 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);
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);
IsometricMapAddTile(((game->layers))[n], i, j, 1);
}
break;
}
@ -96,9 +94,9 @@ Game * GameInit(){
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);
IsometricMapAddTile(((game->layers))[n], i, j, 0);
if(n == 9){
IsometricMapAddTile((*(game->layers))[n], i, j, 1);
IsometricMapAddTile(((game->layers))[n], i, j, 1);
}
}
}

@ -11,7 +11,7 @@ typedef struct Game{
struct List *sprites;
struct InputHandler *inputHandler;
struct Camera2D *camera;
struct IsometricMap ***layers;
struct IsometricMap **layers;
} Game;
Game * GameInit();

BIN
game.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
list.o

Binary file not shown.

@ -26,9 +26,9 @@ int main(){
BeginMode2D(*(game->camera));
IsometricRendererRenderIsometricMap(*game->layers, game->inputHandler);
IsometricRendererRenderIsometricMap(game->layers, game->inputHandler);
ListDrawAllSprites(game->sprites, *game->layers[0], game->camera);
ListDrawAllSprites(game->sprites, game->layers[0], game->camera);
EndMode2D();

BIN
main.o

Binary file not shown.

BIN
spiel

Binary file not shown.

Binary file not shown.

BIN
tile.o

Binary file not shown.
Loading…
Cancel
Save