From 6084172b5e2509fab23ff146eedbc6e30adf735a Mon Sep 17 00:00:00 2001 From: Zeno Rogue <zeno@attnam.com> Date: Wed, 22 May 2019 01:14:39 +0200 Subject: [PATCH] 2D3D:: Space Rocks has no grid, but stars both down and up --- graph.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/graph.cpp b/graph.cpp index 06c3b8c0..8d92ee43 100644 --- a/graph.cpp +++ b/graph.cpp @@ -4582,8 +4582,8 @@ int ceiling_category(cell *c) { ld camera_level; -int get_skybrightness() { - ld s = 1 - (camera_level - geom3::WALL) / -2; +int get_skybrightness(int mul = 1) { + ld s = 1 - mul * (camera_level - geom3::WALL) / -2; if(s > 1) return 255; if(s < 0) return 0; return int(s * 255); @@ -4606,6 +4606,16 @@ void draw_ceiling(cell *c, const transmatrix& V, int fd, color_t& fcol, color_t& auto sky = draw_shapevec(c, V, shFullFloor.levels[SIDE_SKY], 0x000000FF + 0x100 * (sk/17), PPR::SKY); if(sky) sky->tinf = NULL, sky->flags |= POLY_INTENSE; } + if(c->land == laAsteroids) { + if(fieldpattern::fieldval_uniq(c) % 9 < 3) { + auto &downstar = queuepolyat(V * zpush(-0.5-geom3::SKY), shNightStar, 0xFFFFFFFF, PPR::SKY); + downstar.tinf = NULL; + downstar.flags |= POLY_INTENSE; + } + sk = get_skybrightness(-1); + auto sky = draw_shapevec(c, V * MirrorZ, shFullFloor.levels[SIDE_SKY], 0x000000FF + 0x100 * (sk/17), PPR::SKY); + if(sky) sky->tinf = NULL, sky->flags |= POLY_INTENSE; + } return; } @@ -6191,7 +6201,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) { queuechr(V, 1, ch, darkenedby(asciicol, darken), 2); } - if(vid.grid || c->land == laAsteroids) draw_grid_at(c, V); + if(vid.grid || (c->land == laAsteroids && !(WDIM == 2 && GDIM == 3))) draw_grid_at(c, V); if(onradar && WDIM == 2) addradar(V, ch, darkenedby(asciicol, darken), 0); #endif