From d7eccba2055cd7784a0db6d9ee8692a4f3510931 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Sat, 15 Aug 2026 22:46:53 -0700 Subject: fire, optimize viewport rendering --- src/sim/materials/mod.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/sim/materials/mod.rs') diff --git a/src/sim/materials/mod.rs b/src/sim/materials/mod.rs index d2d0e0e..764318a 100644 --- a/src/sim/materials/mod.rs +++ b/src/sim/materials/mod.rs @@ -1,5 +1,6 @@ use crate::sim::sim::UpdateCtx; +mod fire; mod gas; mod sand; mod water; @@ -12,6 +13,7 @@ pub enum MaterialId { Wood, Water, Gas, + Fire, } pub struct MaterialDef { @@ -21,7 +23,7 @@ pub struct MaterialDef { pub sim_update: Option ()>, } -static MATERIALS: [MaterialDef; 5] = [ +static MATERIALS: [MaterialDef; 6] = [ MaterialDef { name: "Void", color: (0x00, 0x00, 0x00, 0x00), @@ -52,15 +54,23 @@ static MATERIALS: [MaterialDef; 5] = [ density: 10, sim_update: Some(gas::sim_update), }, + MaterialDef { + name: "Fire", + color: (0xFC, 0x66, 0x00, 0xAA), + // for now this matches wood + density: 50, + sim_update: Some(fire::sim_update), + }, ]; impl MaterialId { - pub const ALL: [MaterialId; 5] = [ + pub const ALL: [MaterialId; 6] = [ MaterialId::Void, MaterialId::Sand, MaterialId::Wood, MaterialId::Water, MaterialId::Gas, + MaterialId::Fire, ]; #[inline] pub fn def(self) -> &'static MaterialDef { -- cgit v1.3.1