@@ -1227,6 +1227,11 @@ ADE_FUNC(renderTechModel,
12271227
12281228 // Draw the ship!!
12291229 model_clear_instance (sip->model_num );
1230+
1231+ // Create an instance that can be used to clear out destroyed subobjects from rendering
1232+ int model_instance = model_create_instance (-1 , sip->model_num );
1233+ model_set_up_techroom_instance (sip, model_instance);
1234+
12301235 render_info.set_detail_level_lock (0 );
12311236
12321237 uint render_flags = MR_AUTOCENTER | MR_NO_FOGGING;
@@ -1236,7 +1241,7 @@ ADE_FUNC(renderTechModel,
12361241
12371242 render_info.set_flags (render_flags);
12381243
1239- model_render_immediate (&render_info, sip->model_num , &orient, &vmd_zero_vector);
1244+ model_render_immediate (&render_info, sip->model_num , model_instance, &orient, &vmd_zero_vector);
12401245
12411246 // OK we're done
12421247 gr_end_view_matrix ();
@@ -1296,6 +1301,11 @@ ADE_FUNC(renderTechModel2, l_Shipclass, "number X1, number Y1, number X2, number
12961301
12971302 // Draw the ship!!
12981303 model_clear_instance (sip->model_num );
1304+
1305+ // Create an instance that can be used to clear out destroyed subobjects from rendering
1306+ int model_instance = model_create_instance (-1 , sip->model_num );
1307+ model_set_up_techroom_instance (sip, model_instance);
1308+
12991309 render_info.set_detail_level_lock (0 );
13001310
13011311 uint render_flags = MR_AUTOCENTER | MR_NO_FOGGING;
@@ -1305,7 +1315,7 @@ ADE_FUNC(renderTechModel2, l_Shipclass, "number X1, number Y1, number X2, number
13051315
13061316 render_info.set_flags (render_flags);
13071317
1308- model_render_immediate (&render_info, sip->model_num , orient, &vmd_zero_vector);
1318+ model_render_immediate (&render_info, sip->model_num , model_instance, orient, &vmd_zero_vector);
13091319
13101320 // OK we're done
13111321 gr_end_view_matrix ();
0 commit comments