aboutsummaryrefslogtreecommitdiff
path: root/src/gameScreen.c
diff options
context:
space:
mode:
authornathansmithsmith <nathansmith7@mailfence.com>2023-11-05 17:58:22 -0700
committernathansmithsmith <nathansmith7@mailfence.com>2023-11-05 17:58:22 -0700
commitc38a7c4bca5b1efcdc2fb83551c34f28a8069026 (patch)
tree7dc0f2cca1758f2373aa7da3fdd1f55c197516d5 /src/gameScreen.c
parent451887dabd71b6b9b8cdf2587fee31ec59c3675b (diff)
Better star system
Diffstat (limited to 'src/gameScreen.c')
-rw-r--r--src/gameScreen.c35
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);