kitgit

tirbofish/dropbear · commit

31165a80c92ec191e1959bde608471d3b0355dcd

wip: eucalyptus-core/scene.rs is the only one not done, all bindings completed

Unverified

Thribhu K <4tkbytes@pm.me> · 2026-02-15 09:50

view full diff

diff --git a/crates/dropbear-engine/src/asset.rs b/crates/dropbear-engine/src/asset.rs
index acdc1f1..bd7821a 100644
--- a/crates/dropbear-engine/src/asset.rs
+++ b/crates/dropbear-engine/src/asset.rs
@@ -66,6 +66,7 @@ pub struct AssetRegistry {
     model_labels: HashMap<String, Handle<Model>>,
 }
 
+#[repr(C)]
 #[derive(Debug, Clone)]
 #[dropbear_macro::repr_c_enum]
 pub enum AssetKind {
@@ -203,6 +204,10 @@ impl AssetRegistry {
         
         self.add_texture_with_label(label, texture)
     }
+
+    pub fn get_label_from_texture_handle(&self, handle: Handle<Texture>) -> Option<String> {
+        self.texture_labels.iter().find_map(|(label, h)| if *h == handle { Some(label.clone()) } else { None })
+    }
 }
 
 /// Model stuff
diff --git a/crates/dropbear-engine/src/entity.rs b/crates/dropbear-engine/src/entity.rs
index 72f7486..61621c0 100644
--- a/crates/dropbear-engine/src/entity.rs
+++ b/crates/dropbear-engine/src/entity.rs
@@ -225,6 +225,10 @@ impl MeshRenderer {
         self.import_scale = scale;
     }
 
+    pub fn import_scale(&self) -> f32 {
+        self.import_scale
+    }
+
     pub fn set_model(&mut self, model: Handle<Model>) {
         self.handle = model;
     }
@@ -237,6 +241,10 @@ impl MeshRenderer {
         self.texture_override = Some(texture);
     }
 
+    pub fn texture_override(&self) -> Option<Handle<Texture>> {
+        self.texture_override
+    }
+
     pub fn is_texture_attached(&self, texture: Handle<Texture>) -> bool {
         let registry = ASSET_REGISTRY.read();
         
diff --git a/crates/dropbear-macro/src/lib.rs b/crates/dropbear-macro/src/lib.rs

Large diffs are not rendered by default. Showing the first 50 of 17303 lines. Show full diff