engine-c: bigger impact/explosion blooms

This commit is contained in:
local-model/engine-L2-grok-4.5 2026-09-19 17:49:23 +02:00
parent d1da64d84b
commit 6ac07fe3a6
No known key found for this signature in database
5 changed files with 67 additions and 48 deletions

View file

@ -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);
}