From 7f1491f8840be49bc1a7b9e16dafe4f10dc9a0dd Mon Sep 17 00:00:00 2001 From: mittorn Date: Fri, 5 Apr 2019 15:56:05 +0700 Subject: [PATCH] ref_soft: Try fix crash on changelevel --- r_main.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/r_main.c b/r_main.c index 07fbd91c..7601f76f 100644 --- a/r_main.c +++ b/r_main.c @@ -208,7 +208,7 @@ static int R_TransEntityCompare( const cl_entity_t **a, const cl_entity_t **b ) rendermode2 = R_GetEntityRenderMode( ent2 ); // sort by distance - if( ent1->model->type != mod_brush || rendermode1 != kRenderTransAlpha ) + if( ent1->model && ent1->model->type != mod_brush || rendermode1 != kRenderTransAlpha ) { VectorAverage( ent1->model->mins, ent1->model->maxs, org ); VectorAdd( ent1->origin, org, org ); @@ -217,7 +217,7 @@ static int R_TransEntityCompare( const cl_entity_t **a, const cl_entity_t **b ) } else dist1 = 1000000000; - if( ent2->model->type != mod_brush || rendermode2 != kRenderTransAlpha ) + if( ent1->model && ent2->model->type != mod_brush || rendermode2 != kRenderTransAlpha ) { VectorAverage( ent2->model->mins, ent2->model->maxs, org ); VectorAdd( ent2->origin, org, org ); @@ -1824,6 +1824,12 @@ void R_NewMap (void) { int i; r_viewcluster = -1; + + tr.draw_list->num_solid_entities = 0; + tr.draw_list->num_trans_entities = 0; + tr.draw_list->num_beam_entities = 0; + tr.draw_list->num_edge_entities = 0; + R_ClearDecals(); // clear all level decals R_StudioResetPlayerModels();