Weiß net, was wir gemacht ham, bin müde

main
Jonathan Hager 3 years ago
parent 8925d5cbec
commit da9b30b479
Signed by: JonathanHager
GPG Key ID: 34881E488569708C

@ -5,6 +5,7 @@
#include <stdio.h>
#include <stdlib.h>
#include "../game.h"
#include "../List/list.h"
// @param deprecated
void IsometricRendererDrawMap(IsometricRenderer *renderer, int height)
@ -43,29 +44,7 @@ void IsometricRendererDrawMap(IsometricRenderer *renderer, int height)
}
// 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{
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);
}
}
}
}
*/
void IsometricRendererRenderIsometricMap(Game *game){
int windowWidth = GetScreenWidth();
int windowHeight = GetScreenHeight();
@ -105,25 +84,31 @@ void IsometricRendererRenderIsometricMap(Game *game)
maxJ = game->layers[0]->height;
}
int i = 0;
int j = 0;
for (n = 0; n < 10; n++)
{
for (i = itmp; i < maxI; i++)
{
for (j = jtmp; j < maxJ; j++)
{
if (game->layers[n]->tiles[i][j]->textureId == -1)
{
int i = 0; // x
int j = 0; // y
for (n = 0; n < 10; n++){
Node *current = game->sprites->head;
for (j = jtmp; j < maxJ; j++){
for (i = itmp; i < maxI; i++){
if (game->layers[n]->tiles[i][j]->textureId == -1){
}
else
{
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);
}
// Draw sprites that are over the tile
while(current != 0 && current->data.y <= (j + 1) * game->layers[n]->textureWidth){
if(current->data.z == n){
DrawSpriteToWorld(&current->data, game->layers, game->camera);
}
current = current->next;
}
}
}
}

Binary file not shown.

Binary file not shown.

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.

@ -33,22 +33,7 @@ int main(){
BeginMode2D(*(game->camera));
IsometricRendererRenderIsometricMap(game);
ListDrawAllSprites(game->sprites, game->layers, game->camera);
/*
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
ListInsertSorted(game->sprites, SpriteCreate(game->textures, 1, 250 + c % 500, 250 + c % 500));
c+=10;
printf("Sprites: %d\n", c);
*/
//ListDrawAllSprites(game->sprites, game->layers, game->camera);
EndMode2D();

BIN
main.o

Binary file not shown.

BIN
spiel

Binary file not shown.

@ -38,7 +38,7 @@ void DrawSpriteToWorld(Sprite *sprite, IsometricMap **map, Camera2D *camera){
// Wir müssen beachten, dass sie nach den unprojezierten Screen-Koordinaten sortiert werden müssen.
// Macht es vielleicht sinn den Sprites auch einen Vector mit ihren Screen Koordinaten zu geben?
Vector2 pos = {sprite->x - sprite->texture->width, sprite->y - sprite->texture->height/2};
Vector2 pos = {sprite->x, sprite->y};
IsometricMapUnproject(map, camera, pos.x, pos.y, sprite->z, &pos);
// Also erst ab hier sortieren, mit den Werten aus dem pos Vector
// IsometricMap muss auch mit reingerechnet werden -> mögliche Container Lösung steht in der README

Binary file not shown.

Binary file not shown.

BIN
tile.o

Binary file not shown.
Loading…
Cancel
Save