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:
1 parent
a701212299
commit
1094c7c5f2
2 files changed
+63
-29
No files matched your search
+19
-11
@@ -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| {
|
||||
|
||||
Reference in new issue
Block a user