Stronger liquid swell, flow along rivers, brighter lava and new lava texture

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-05 15:08:51 +01:00
1 parent a701212299
commit 1094c7c5f2
2 files changed
+63 -29

No files matched your search

+19 -11
View File
@@ -622,19 +622,27 @@ fn gen_atlas() -> Image {
_ => shade((24, 50, 88), d),
})
});
// lava: glowing orange with dark crust plates (4x4 plates, seamless at the cell border)
// lava: molten orange with hot yellow streaks and darker red troughs, no black crust.
// Seamless (period 16) so it can flow across the tiles
cv.cell(T_LAVA + v, |x, y| {
let crust = rnd((x / 4 + (y / 4) % 2) % 4, y / 4, v + 130);
let edge = rnd(x, y, v + 131) * 0.25;
if crust + edge > 0.85 {
Some(shade((60, 22, 14), (rnd(x, y, v + 132) * 14.0) as i32))
} else if crust + edge > 0.7 {
Some(c(200, 60, 20))
} else if hash(x, y, v + 133) % 11 == 0 {
Some(c(255, 230, 120))
let tau = std::f32::consts::TAU;
let (fx, fy) = (x as f32 / 16.0, y as f32 / 16.0);
let o = v as f32 * 1.3;
let heat = (tau * (fx + fy * 2.0) + o).sin() * 0.45
+ (tau * (fx * 3.0 - fy) + (tau * fy * 2.0 + o).sin() * 1.2).sin() * 0.35
+ (tau * (fy * 3.0 + fx * 2.0) + o * 2.0).sin() * 0.2;
let d = (rnd(x, y, v + 134) * 16.0) as i32 - 8;
Some(if heat > 0.62 {
shade((255, 228, 120), d / 2)
} else if heat > 0.3 {
shade((255, 170, 55), d)
} else if heat > -0.35 {
shade((240, 110, 25), d)
} else if heat > -0.7 {
shade((200, 64, 18), d)
} else {
Some(shade((250, 130, 30), (rnd(x, y, v + 134) * 30.0) as i32 - 15))
}
shade((150, 40, 14), d)
})
});
// knight fortress walls: pale stone blocks with blue-grey mortar
cv.cell(T_FORTWALL + v, |x, y| {