diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-09-09 22:29:14 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-09-10 19:11:27 -0700 |
| commit | 054c967e4a06bbbf79359bae701e1b467625839c (patch) | |
| tree | b03cacbfbca32fc0b55772cd269422fa65e9803e /src/content/materials/mod.rs | |
| parent | ba59c1a12f2c1ee39b32736953844e6158282c88 (diff) | |
Diffstat (limited to 'src/content/materials/mod.rs')
| -rw-r--r-- | src/content/materials/mod.rs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/content/materials/mod.rs b/src/content/materials/mod.rs index 11c0cca..6338827 100644 --- a/src/content/materials/mod.rs +++ b/src/content/materials/mod.rs @@ -39,6 +39,10 @@ pub struct MaterialDef { pub density: u8, pub form: MaterialForm, pub sim_update: Option<fn(ctx: &mut UpdateCtx) -> PostUpdateAction>, + + // lighting + pub emission: (u8, u8, u8, u8), + pub opacity: u8, } static MATERIALS: [MaterialDef; 11] = [ @@ -49,6 +53,9 @@ static MATERIALS: [MaterialDef; 11] = [ // form usually but not always determines the update fn form: MaterialForm::Void, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0x00, }, MaterialDef { name: "Sand", @@ -56,6 +63,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 50, form: MaterialForm::Powder, sim_update: Some(powder::sim_update), + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xE0, }, MaterialDef { name: "Dirt", @@ -63,6 +73,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 55, form: MaterialForm::Solid, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xE0, }, MaterialDef { name: "Stone", @@ -70,6 +83,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 115, form: MaterialForm::Solid, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xFF, }, MaterialDef { name: "Wood", @@ -77,6 +93,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 60, form: MaterialForm::Solid, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xFF, }, MaterialDef { name: "Water", @@ -84,6 +103,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 40, form: MaterialForm::Liquid, sim_update: Some(liquid::sim_update), + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0x70, }, // TODO this is not a material MaterialDef { @@ -93,6 +115,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 50, form: MaterialForm::Gas, sim_update: Some(fire::sim_update), + + emission: (0xFF, 0x00, 0x00, 0x00), + opacity: 0x00, }, MaterialDef { name: "Smoke", @@ -100,6 +125,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 15, form: MaterialForm::Gas, sim_update: Some(gas::sim_update), + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0x10, }, MaterialDef { name: "Steel", @@ -107,6 +135,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 150, form: MaterialForm::Solid, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xE0, }, MaterialDef { name: "TNT", @@ -114,6 +145,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 55, form: MaterialForm::Solid, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xE0, }, MaterialDef { name: "Cloth", @@ -121,6 +155,9 @@ static MATERIALS: [MaterialDef; 11] = [ density: 25, form: MaterialForm::Solid, sim_update: None, + + emission: (0x00, 0x00, 0x00, 0x00), + opacity: 0xE0, }, ]; |
