#include "isometricRenderer.h" #include "raylib.h" #include "isometricMap.h" #include "../Input/inputHandler.h" #include #include #include "../game.h" // @param deprecated void IsometricRendererDrawMap(IsometricRenderer *renderer, int height){ printf("WARNING: Using deprecated Function IsometricRendererDrawMap!\n"); float originX = 0.0f; float originY = 0.0f; int i = 0; int j = 0; int amount = 1; for(i=0; i<=height; i++){ for(j=0; jtexture->width + j * renderer->texture->width; if(amount%2 == 1){ x -= renderer->texture->width/2; } float y = i * renderer->texture->height/4; DrawTexture(*renderer->texture, x, y, WHITE); } if(i < height/2){ amount++; } else{ amount--; } } } // parameter could be changed to only IsometricMap[] void IsometricRendererRenderIsometricMap(Game *game){ int n = 0; int i = 0; int j = 0; for(n = 0; n < 10; n++){ for(i=0; i < game->layers[n]->width; i++){ for(j=0; j < game->layers[n]->height; j++){ // if tile had texture id -1, it would be empty tile if(game->layers[n]->tiles[i][j]->textureId == -1){ } else{ int quarterTextureSize = game->layers[n]->textureWidth / 4; int halfTextureSize = game->layers[n]->textureWidth / 2; // SHOULD BE SET ONCE INITIALLY Vector2 *offset = IsometricMapCalcOffsetForTileAtEfficient(i,j, halfTextureSize, quarterTextureSize); // the higher the layer the higher it needs to be drawed offset->y -= n * quarterTextureSize; int textureId = game->layers[n]->tiles[i][j]->textureId; DrawTexture(game->layers[n]->tileTextures[textureId], offset->x, offset->y, WHITE); free(offset); } } } } }