Skip to content

Commit 3136e0d

Browse files
committed
Use a model instance to prevent rendering destroyed subobjects
1 parent 7318221 commit 3136e0d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

code/scripting/api/objs/shipclass.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)