Claimed floors: grey castle flagstones with an inlay in the owner's colour and engraving

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-07 22:01:02 +01:00
1 parent 72c44ae8d0
commit ad668ec123
35 files changed
+41 -53

No files matched your search

+12 -16
View File
@@ -350,23 +350,19 @@ const HD_TILES: [(u32, u32, &[u8], &[u8]); 9] = [
(T_DIAMOND, 2, include_bytes!("../assets/textures/diamond.png"), include_bytes!("../assets/textures/diamond-128.png")),
];
// The masters' claimed floors in the high-res style: five single tiles each of roughly hewn,
// worn-smooth castle flagstones (cut so they fit in any order), in the master's colour with
// engravings of their own and some of them cracked, chipped or broken. They go into cells of their own (from
// T_HDFLOOR on, five per master); a tile picks one by its position, weighted (plain slabs more
// often than the big engravings and the broken ones).
// (the claimed floor's cells, the first own cell, 64x64 slabs side by side, 128x128 ones, weights)
// The masters' claimed floors in the high-res style: the same grey, worn-smooth castle
// flagstones for everybody (cut so they fit in any order), every tile with a polished inlay in
// its master's colour and an engraving of their own (the player: a demon skull, Mossgrim: a
// mushroom, Lady Nightwell: a lily under the moon, Saffrax: an alchemical sun). Five tiles each:
// plain, cracked, chipped, broken, scratched. They go into cells of their own (from T_HDFLOOR on,
// five per master); a tile picks one by its position, weighted (plain ones most often).
// (the claimed floor's cells, the first own cell, 64x64 tiles side by side, 128x128 ones, weights)
pub const T_HDFLOOR: u32 = 224;
const HD_FLOORS: [(u32, u32, &[u8], &[u8], [u32; 5]); 4] = [
// every floor: plain, engraving, cracks, chipped, broken
// the player: red-brown stone, demonic runes and horned skulls
(T_CLAIM, T_HDFLOOR, include_bytes!("../assets/textures/floor-player.png"), include_bytes!("../assets/textures/floor-player-128.png"), [4, 1, 3, 2, 1]),
// Mossgrim: damp grey-green stone, moss in the joints, mushrooms and mould
(T_RIVAL1, T_HDFLOOR + 5, include_bytes!("../assets/textures/floor-mossgrim.png"), include_bytes!("../assets/textures/floor-mossgrim-128.png"), [4, 1, 3, 2, 1]),
// Lady Nightwell: blue-grey slate and marble, lilies and moons
(T_RIVAL2, T_HDFLOOR + 10, include_bytes!("../assets/textures/floor-nightwell.png"), include_bytes!("../assets/textures/floor-nightwell-128.png"), [4, 1, 3, 2, 1]),
// Saffrax: ochre sandstone, brass studs, alchemical sigils and suns
(T_RIVAL3, T_HDFLOOR + 15, include_bytes!("../assets/textures/floor-saffrax.png"), include_bytes!("../assets/textures/floor-saffrax-128.png"), [4, 1, 3, 2, 1]),
(T_CLAIM, T_HDFLOOR, include_bytes!("../assets/textures/floor-player.png"), include_bytes!("../assets/textures/floor-player-128.png"), [4, 2, 2, 1, 3]),
(T_RIVAL1, T_HDFLOOR + 5, include_bytes!("../assets/textures/floor-mossgrim.png"), include_bytes!("../assets/textures/floor-mossgrim-128.png"), [4, 2, 2, 1, 3]),
(T_RIVAL2, T_HDFLOOR + 10, include_bytes!("../assets/textures/floor-nightwell.png"), include_bytes!("../assets/textures/floor-nightwell-128.png"), [4, 2, 2, 1, 3]),
(T_RIVAL3, T_HDFLOOR + 15, include_bytes!("../assets/textures/floor-saffrax.png"), include_bytes!("../assets/textures/floor-saffrax-128.png"), [4, 2, 2, 1, 3]),
];
// the cell a tile at (x, z) shows in the high-res style: generated textures with four variants
@@ -2794,7 +2790,7 @@ mod hd_atlas_tests {
}
}
assert!(n.iter().all(|&k| k > 100), "{n:?}");
assert!(n[0] > n[1] * 2, "{n:?}");
assert!(n[0] > n[3] * 2, "{n:?}");
assert!((T_HDFLOOR + 15..T_HDFLOOR + 20).contains(&hd_tile(T_RIVAL3 + 2, 3, 7)));
// four variants by position, two variants keep theirs, others stay
assert_eq!(hd_tile(T_FLOOR + 3, 0, 0), T_FLOOR);