From 36027c9a9f4945fceaeedac3d448339256a1956a Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sun, 25 Feb 2024 09:01:59 -0500 Subject: [PATCH] Write out a proper end of stream vertex element --- src/model.rs | 3 ++- src/model_vertex_declarations.rs | 14 ++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/model.rs b/src/model.rs index 082f63a..e102452 100755 --- a/src/model.rs +++ b/src/model.rs @@ -10,6 +10,8 @@ use binrw::BinReaderExt; use crate::{ByteBuffer, ByteSpan}; use crate::model_vertex_declarations::{vertex_element_parser, VERTEX_ELEMENT_SIZE, vertex_element_writer, VertexDeclaration, VertexElement, VertexType, VertexUsage}; +pub const NUM_VERTICES: u32 = 17; + #[binrw] #[derive(Debug)] #[brw(little)] @@ -836,7 +838,6 @@ impl MDL { impl ModelFileHeader { pub fn calculate_stack_size(&self) -> u32 { // From https://github.com/Ottermandias/Penumbra.GameData/blob/44021b93e6901c84b739bbf4d1c6350f4486cdbf/Files/MdlFile.cs#L11 - const NUM_VERTICES: u32 = 17; self.vertex_declaration_count as u32 * NUM_VERTICES * VERTEX_ELEMENT_SIZE as u32 } } diff --git a/src/model_vertex_declarations.rs b/src/model_vertex_declarations.rs index 72010cf..352619b 100644 --- a/src/model_vertex_declarations.rs +++ b/src/model_vertex_declarations.rs @@ -3,6 +3,7 @@ use std::io::SeekFrom; use binrw::{BinRead, BinResult, binrw, BinWrite}; +use crate::model::NUM_VERTICES; // Marker for end of stream (0xFF) const END_OF_STREAM: u8 = 0xFF; @@ -75,7 +76,7 @@ pub(crate) fn vertex_element_parser(count: u16) -> BinResult