aboutsummaryrefslogtreecommitdiffstats
path: root/src/player.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/player.c')
-rw-r--r--src/player.c34
1 files changed, 2 insertions, 32 deletions
diff --git a/src/player.c b/src/player.c
index 18d18bc..5b68f0a 100644
--- a/src/player.c
+++ b/src/player.c
@@ -18,37 +18,6 @@ Player createPlayer()
};
}
-// TODO: clean this all up
-float getHeightOnMap(int x, int y, Model* map)
-{
- int v = (y * 1023 + x) * 18;
- float height = 0.0;
- float c = 0.0;
-
- for (int n = 1; n < 18; n += 3)
- {
- height += map->meshes[0].vertices[v + n];
- ++c;
- }
-
- return height / c;
-}
-
-// TODO: subpixel hackery
-// This is only for testing ideas.
-void idkkk(Player* player, Game* game)
-{
- Vector3 position = player->position;
- Image* map = &game->assets.images[HEIGHT_MAP_IMAGE];
-
- float toMapX = map->width / 1000.0;
- float toMapY = map->height / 1000.0;
- int pixelX = roundf(position.x * toMapX);
- int pixelY = roundf(position.z * toMapY);
-
- player->position.y = getHeightOnMap(pixelX, pixelY, &game->heightmap) + 2.0;
-}
-
// TODO: move magic numbers to settings
void updatePlayer(Player* player, Game* game)
{
@@ -104,5 +73,6 @@ void updatePlayer(Player* player, Game* game)
camera->position = player->position;
camera->target = Vector3Add(player->position, player->direction);
- idkkk(player, game);
+ player->position.y = getWorldHeightAtLocation(game->world, player->position.x,
+ player->position.z) + PLAYER_HEIGHT;
}