diff --git a/crates/content/src/lib.rs b/crates/content/src/lib.rs index 0d6eec6..2eb45f7 100644 --- a/crates/content/src/lib.rs +++ b/crates/content/src/lib.rs @@ -208,6 +208,8 @@ impl Content { part::sprite::Sprite::build(root.sprite.take().unwrap(), &mut content)?; } + // TODO: enforce sprite and image limits + if root.ship.is_some() { part::ship::Ship::build(root.ship.take().unwrap(), &mut content)?; } diff --git a/crates/render/src/texturearray.rs b/crates/render/src/texturearray.rs index b73a9f5..d3cf856 100644 --- a/crates/render/src/texturearray.rs +++ b/crates/render/src/texturearray.rs @@ -105,8 +105,9 @@ impl TextureArray { println!("sending to gpu"); let mut image_counter = 0; + let mut sprite_counter = 0; for t in &ct.sprites { - sprite_data.data[image_counter as usize] = SpriteData { + sprite_data.data[sprite_counter] = SpriteData { frame_count: t.frames.len() as u32, repeatmode: t.repeat.as_int(), aspect: t.aspect, @@ -114,6 +115,7 @@ impl TextureArray { first_frame: image_counter, _padding: Default::default(), }; + sprite_counter += 1; // Insert texture location data for path in &t.frames {