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