strange bug and playermodels
[carveJwlIkooP6JGAAIwe30JlM.git] / model.h
diff --git a/model.h b/model.h
index 34963be69e49ef7e5d67c4c20241c24e7ef6baa0..c054d18127e27e85113a7437cff74f3748ac465a 100644 (file)
--- a/model.h
+++ b/model.h
@@ -310,9 +310,10 @@ static void mdl_load_array_file_buffer( mdl_context *mdl, mdl_array *arr,
          if( l != 1 ) mdl_load_fatal_corrupt( mdl );
       }
       else {
-         assert( stride >= arr->item_size );
          vg_warn( "Applying alignment fixup to array @%p [%u -> %u] x %u\n", 
                   buffer, arr->item_size, stride, arr->item_count );
+         if( stride < arr->item_size )
+            vg_fatal_error( "not safe\n" );
 
          for( u32 i=0; i<arr->item_count; i++ ){
             u64 l = fread( buffer+i*stride, arr->item_size, 1, mdl->file );
@@ -325,7 +326,10 @@ static void mdl_load_array_file_buffer( mdl_context *mdl, mdl_array *arr,
 static void mdl_load_array_file( mdl_context *mdl, mdl_array_ptr *ptr, 
                                  mdl_array *arr, void *lin_alloc, u32 stride )
 {
-   assert( stride >= arr->item_size );
+   if( stride < arr->item_size ){
+      vg_error( "Structure max: %u. Got: %u\n", stride, arr->item_size );
+      vg_fatal_error( "not safe\n" );
+   }
 
    if( arr->item_count ){
       u32 size = stride*arr->item_count;