diff options
author | nathansmithsmith <nathansmith7@mailfence.com> | 2023-11-05 17:58:22 -0700 |
---|---|---|
committer | nathansmithsmith <nathansmith7@mailfence.com> | 2023-11-05 17:58:22 -0700 |
commit | c38a7c4bca5b1efcdc2fb83551c34f28a8069026 (patch) | |
tree | 7dc0f2cca1758f2373aa7da3fdd1f55c197516d5 /src/gameScreen.c | |
parent | 451887dabd71b6b9b8cdf2587fee31ec59c3675b (diff) |
Better star system
Diffstat (limited to 'src/gameScreen.c')
-rw-r--r-- | src/gameScreen.c | 35 |
1 files changed, 4 insertions, 31 deletions
diff --git a/src/gameScreen.c b/src/gameScreen.c index 036107d..ce9bcb5 100644 --- a/src/gameScreen.c +++ b/src/gameScreen.c @@ -42,6 +42,8 @@ void initGameScreen(Game * game, GameScreen * gameScreen) { // Zoom view. gameScreen->zoomViewTexture = LoadRenderTexture(GAME_SCREEN_ZOOM_VIEW_SIZE, GAME_SCREEN_ZOOM_VIEW_SIZE); + + initStars(&gameScreen->stars); } void freeGameScreen(GameScreen * gameScreen) { @@ -243,40 +245,11 @@ void gameScreenHandleLevels(Game * game, GameScreen * gameScreen) { } } -void renderStars(Game * game) { - Entity * player = getEntityFromWorld(game->world, 0); - - float starSpacing = 30.0; - - Vector3 startPosition = player->position; - startPosition = Vector3Scale(startPosition, 1.0 / starSpacing); - startPosition = (Vector3){(int)startPosition.x, (int)startPosition.y, (int)startPosition.z}; - startPosition = Vector3Scale(startPosition, starSpacing); - - Vector3 endAt = Vector3Subtract(player->position, startPosition); - endAt = Vector3Zero(); - endAt = Vector3AddValue(endAt, 200.0); - - for (float z = -endAt.z; z < endAt.z; z += starSpacing) { - for (float y = -endAt.y; y < endAt.y; y += starSpacing) { - for (float x = -endAt.x; x < endAt.x; x += starSpacing) { - Vector3 starPosition = Vector3Add((Vector3){x, y, z}, startPosition); - float starDistance = Vector3Distance(player->position, starPosition); - - if (starDistance < 100.0) - continue; - - DrawPoint3D(starPosition, (Color){0xff, 0xff, 0xff, 0xff - (starDistance * 10.0)}); - } - } - } -} - void renderWorldGameScreen(Game * game, GameScreen * gameScreen) { BeginMode3D(game->cameras[gameScreen->mainCamera]); - //DrawModel(game->assets.models[SKY_ASSET], Vector3Zero(), 500.0, WHITE); - renderStars(game); + //DrawModel(game->assets.models[SKY_ASSET], getEntityFromWorld(game->world, 0)->position, 500.0, WHITE); + drawStars(game, &gameScreen->stars); // Draw world. drawWorld(&game->world, game); |