You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.7 KiB

#include "isometricRenderer.h"
#include "raylib.h"
#include "isometricMap.h"
#include "../Input/inputHandler.h"
#include <stdio.h>
#include <stdlib.h>
#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; j<amount; j++){
float x = originX - amount/2 * renderer->texture->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--;
}
}
}
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(game->layers[n]->tiles[i][j]->textureId != -1){
Vector2 *offset = IsometricMapCalcOffsetForTileAt(i,j, game->layers[n]->textureWidth);
offset->y -= n * (game->layers[n]->textureHeight/4);
int textureId = game->layers[n]->tiles[i][j]->textureId;
DrawTexture(game->layers[n]->tileTextures[textureId], offset->x, offset->y, WHITE);
free(offset);
}
}
}
}
}