parent
523df09ab8
commit
2b3a7e33a3
@ -1,116 +0,0 @@
|
||||
#include "isometricRenderer.h"
|
||||
#include "raylib.h"
|
||||
#include "isometricMap.h"
|
||||
#include "../Input/inputHandler.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "../game.h"
|
||||
#include "../List/list.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--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// parameter could be changed to only IsometricMap[]
|
||||
void IsometricRendererRenderIsometricMap(Game *game){
|
||||
|
||||
int windowWidth = GetScreenWidth();
|
||||
int windowHeight = GetScreenHeight();
|
||||
|
||||
// HARDCODED
|
||||
Vector2 topleft = {0, 0};
|
||||
IsometricMapProject(game->layers[0], game->camera, topleft.x, topleft.y, &topleft);
|
||||
Vector2 topright = {windowWidth, 0};
|
||||
IsometricMapProject(game->layers[0], game->camera, topright.x, topright.y, &topright);
|
||||
Vector2 botleft = {0, windowHeight};
|
||||
IsometricMapProject(game->layers[0], game->camera, botleft.x, botleft.y, &botleft);
|
||||
Vector2 botright = {windowWidth, windowHeight};
|
||||
IsometricMapProject(game->layers[0], game->camera, botright.x, botright.y, &botright);
|
||||
|
||||
// drawing some extra corner tiles
|
||||
// if extraTiles == 0 you can see flickering in the corners
|
||||
int extraTiles = 1;
|
||||
int n = 0;
|
||||
int itmp = (int)(topleft.x / game->layers[0]->textureWidth) - extraTiles;
|
||||
int jtmp = (int)(topright.y / game->layers[0]->textureHeight) - extraTiles;
|
||||
int maxI = (int)(botright.x / game->layers[0]->textureWidth) + extraTiles;
|
||||
int maxJ = (int)(botleft.y / game->layers[0]->textureHeight) + extraTiles;
|
||||
if (itmp < 0)
|
||||
{
|
||||
itmp = 0;
|
||||
}
|
||||
if (jtmp < 0)
|
||||
{
|
||||
jtmp = 0;
|
||||
}
|
||||
if (maxI > game->layers[0]->width)
|
||||
{
|
||||
maxI = game->layers[0]->width;
|
||||
}
|
||||
if (maxJ > game->layers[0]->height)
|
||||
{
|
||||
maxJ = game->layers[0]->height;
|
||||
}
|
||||
|
||||
int i = 0; // x
|
||||
int j = 0; // y
|
||||
|
||||
for (n = 0; n < 10; n++){
|
||||
for (j = jtmp; j < maxJ; j++){
|
||||
for (i = itmp; i < maxI; i++){
|
||||
if (game->layers[n]->tiles[i][j]->textureId == -1){
|
||||
}
|
||||
else{
|
||||
DrawTexture(
|
||||
game->layers[n]->tileTextures[game->layers[n]->tiles[i][j]->textureId],
|
||||
game->layers[n]->tiles[i][j]->offsetX,
|
||||
game->layers[n]->tiles[i][j]->offsetY,
|
||||
WHITE);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
/*
|
||||
Node *current = game->sprites->head;
|
||||
// Draw sprites that are over the tile
|
||||
while(current != 0 && current->data.y <= (j + 1) * game->layers[n]->textureWidth && current->data.y >= (j) * game->layers[n]->textureWidth){
|
||||
//if(current->data.z == n){
|
||||
DrawSpriteToWorld(¤t->data, game->layers, game->camera);
|
||||
//}
|
||||
current = current->next;
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,17 +0,0 @@
|
||||
#ifndef ISOMETRICRENDERER_H_
|
||||
#define ISOMETRICRENDERER_H_
|
||||
#include "raylib.h"
|
||||
#include "isometricMap.h"
|
||||
#include "../Input/inputHandler.h"
|
||||
#include "../game.h"
|
||||
|
||||
typedef struct IsometricRenderer{
|
||||
Texture *texture;
|
||||
} IsometricRenderer;
|
||||
|
||||
// @param deprecated
|
||||
void IsometricRendererDrawMap(IsometricRenderer *renderer, int height);
|
||||
|
||||
void IsometricRendererRenderIsometricMap(Game *game);
|
||||
|
||||
#endif
|
||||
@ -1,2 +0,0 @@
|
||||
#include "tile.h"
|
||||
|
||||
Loading…
Reference in new issue