engine-c: bigger impact/explosion blooms
This commit is contained in:
parent
d1da64d84b
commit
6ac07fe3a6
5 changed files with 67 additions and 48 deletions
|
|
@ -986,13 +986,16 @@ void snapshot_capture(Game *g, const char *path) {
|
|||
if (sx < -12 || sy < -12 || sx > g_sw + 12 || sy > g_sh + 12) continue;
|
||||
float a = p->life / (p->max_life > 0 ? p->max_life : 1.0f);
|
||||
if (a < 0.10f) continue;
|
||||
int sz = (p->kind == 1) ? 9 : (p->kind == 3) ? 5 : (p->kind == 0) ? 7 : 4;
|
||||
/* larger bloom discs — fire/smoke read as KKND2 explosion cores */
|
||||
int sz = (p->kind == 1) ? 14 : (p->kind == 3) ? 7 : (p->kind == 0) ? 11 : 5;
|
||||
uint8_t r = (uint8_t)(p->r * a), gv = (uint8_t)(p->g * a), b = (uint8_t)(p->b * a);
|
||||
if (p->kind == 0 || p->kind == 1) {
|
||||
disc(sx, sy, sz + 2, r / 2, gv / 2, b / 2);
|
||||
disc(sx, sy, sz + 3, r / 2, gv / 2, b / 2);
|
||||
disc(sx, sy, sz + 1, r, gv, b);
|
||||
if (p->kind == 1 && a > 0.45f)
|
||||
disc(sx, sy - 1, sz / 2 + 1, 255, (uint8_t)(220 * a), 80);
|
||||
if (p->kind == 1 && a > 0.40f)
|
||||
disc(sx, sy - 2, sz / 2 + 2, 255, (uint8_t)(230 * a), 90);
|
||||
if (p->kind == 1 && a > 0.65f)
|
||||
disc(sx + 1, sy - 3, sz / 3 + 1, 255, 255, 180);
|
||||
} else {
|
||||
fill_rect(sx - sz/2, sy - sz/2, sz + 1, sz + 1, r, gv, b);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue