@@ -902,6 +902,12 @@ void labviewer_render_model(float frametime)
902902 }
903903 }
904904 }
905+
906+ if (sip != NULL ) {
907+ if (Lab_viewer_flags & LAB_FLAG_DESTROYED_SUBSYSTEMS) {
908+ model_show_damaged (Lab_model_num, 1 );
909+ }
910+ }
905911
906912 if ( !( flagggs & MR_NO_LIGHTING ) && Cmdline_shadow_quality ) {
907913 polymodel *pm = model_get (Lab_model_num);
@@ -930,6 +936,7 @@ void labviewer_render_model(float frametime)
930936 for (k = 0 ; k < bank->num_slots ; k++) {
931937
932938 render_info.set_flags (render_flags);
939+ render_info.set_object_number (-1 );
933940 model_render_immediate (&render_info, Lab_weaponmodel_num[l], &vmd_identity_matrix, &bank->pnt [k]);
934941 }
935942 }
@@ -947,13 +954,15 @@ void labviewer_render_model(float frametime)
947954 if (Weapon_info[sip->secondary_bank_weapons [j]].wi_flags [Weapon::Info_Flags::External_weapon_lnch]) {
948955 for (k = 0 ; k < bank->num_slots ; k++) {
949956 render_info.set_flags (render_flags);
957+ render_info.set_object_number (-1 );
950958 model_render_immediate (&render_info, Lab_weaponmodel_num[l], &vmd_identity_matrix, &bank->pnt [k]);
951959 }
952960 } else {
953961 for (k = 0 ; k < bank->num_slots ; k++)
954962 {
955963 secondary_weapon_pos = bank->pnt [k];
956964 render_info.set_flags (render_flags);
965+ render_info.set_object_number (-1 );
957966 model_render_immediate (&render_info, Lab_weaponmodel_num[l], &vmd_identity_matrix, &secondary_weapon_pos);
958967 }
959968 }
@@ -976,12 +985,6 @@ void labviewer_render_model(float frametime)
976985// MIN((timer_get_milliseconds()-anim_timer_start)/1500.0f, 2.0f)
977986// );
978987
979- if (sip != NULL ) {
980- if (Lab_viewer_flags & LAB_FLAG_DESTROYED_SUBSYSTEMS) {
981- model_show_damaged (Lab_model_num, 1 );
982- }
983- }
984-
985988 // render weapon models if selected
986989 if (Lab_mode == LAB_MODE_SHIP && (Lab_viewer_flags & LAB_FLAG_SHOW_WEAPONS)) {
987990 int k,l;
@@ -1000,6 +1003,7 @@ void labviewer_render_model(float frametime)
10001003 w_bank *bank = &model_get (Lab_model_num)->gun_banks [j];
10011004 for (k = 0 ; k < bank->num_slots ; k++) {
10021005 render_info.set_flags (render_flags);
1006+ render_info.set_object_number (-1 );
10031007 model_render_immediate (&render_info, Lab_weaponmodel_num[l], &vmd_identity_matrix, &bank->pnt [k]);
10041008 }
10051009 }
@@ -1024,6 +1028,7 @@ void labviewer_render_model(float frametime)
10241028 {
10251029 secondary_weapon_pos = bank->pnt [k];
10261030 render_info.set_flags (render_flags);
1031+ render_info.set_object_number (-1 );
10271032 model_render_immediate (&render_info, Lab_weaponmodel_num[l], &vmd_identity_matrix, &secondary_weapon_pos);
10281033 }
10291034 }
@@ -1035,7 +1040,6 @@ void labviewer_render_model(float frametime)
10351040
10361041 render_info.set_debug_flags (Lab_model_debug_flags);
10371042 render_info.set_flags (flagggs);
1038- render_info.set_object_number (Lab_selected_object);
10391043
10401044 model_render_immediate (&render_info, Lab_model_num, &Lab_viewer_orient, &vmd_zero_vector, MODEL_RENDER_OPAQUE);
10411045 gr_opengl_deferred_lighting_end ();
0 commit comments