diff --git a/IsometricMap/isometricRenderer.c b/IsometricMap/isometricRenderer.c index 5ebdbc7..9c4efd3 100644 --- a/IsometricMap/isometricRenderer.c +++ b/IsometricMap/isometricRenderer.c @@ -87,10 +87,8 @@ void IsometricRendererRenderIsometricMap(Game *game){ 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 (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){ } @@ -102,14 +100,17 @@ for (n = 0; n < 10; n++){ 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(¤t->data, game->layers, game->camera); - } - current = current->next; - } + } + /* + 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; + }*/ } } } diff --git a/animation.o b/animation.o index ad026d7..75e4a75 100644 Binary files a/animation.o and b/animation.o differ diff --git a/animationHandler.o b/animationHandler.o index e67c079..21f4c01 100644 Binary files a/animationHandler.o and b/animationHandler.o differ diff --git a/game.o b/game.o index f29972f..f438d02 100644 Binary files a/game.o and b/game.o differ diff --git a/inputHandler.o b/inputHandler.o index 7d10a54..16524a7 100644 Binary files a/inputHandler.o and b/inputHandler.o differ diff --git a/isometricMap.o b/isometricMap.o index c1456e4..6146850 100644 Binary files a/isometricMap.o and b/isometricMap.o differ diff --git a/isometricRenderer.o b/isometricRenderer.o index 6d3eff3..605d535 100644 Binary files a/isometricRenderer.o and b/isometricRenderer.o differ diff --git a/list.o b/list.o index ab15d01..75049e0 100644 Binary files a/list.o and b/list.o differ diff --git a/main.c b/main.c index 67b63c5..b81157c 100644 --- a/main.c +++ b/main.c @@ -33,7 +33,7 @@ int main(){ BeginMode2D(*(game->camera)); IsometricRendererRenderIsometricMap(game); - //ListDrawAllSprites(game->sprites, game->layers, game->camera); + ListDrawAllSprites(game->sprites, game->layers, game->camera); EndMode2D(); diff --git a/main.o b/main.o index acc321e..35ae907 100644 Binary files a/main.o and b/main.o differ diff --git a/spiel b/spiel index baa1861..ba9656b 100755 Binary files a/spiel and b/spiel differ diff --git a/sprite.c b/sprite.c index cef0a3d..8a85a13 100644 --- a/sprite.c +++ b/sprite.c @@ -38,7 +38,9 @@ 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->y}; + //Vector2 pos = {sprite->x, sprite->y}; + Vector2 pos = {sprite->x - sprite->texture->width, sprite->y - sprite->texture->height/2}; + 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 diff --git a/sprite.o b/sprite.o index 9d61044..1d11655 100644 Binary files a/sprite.o and b/sprite.o differ diff --git a/textureatlas.o b/textureatlas.o index 9e80d1e..ddd110b 100644 Binary files a/textureatlas.o and b/textureatlas.o differ diff --git a/tile.o b/tile.o index b7873fa..ab55776 100644 Binary files a/tile.o and b/tile.o differ