diff --git a/code/renderergl1/tr_bsp.c b/code/renderergl1/tr_bsp.c index 8e2b95af8..a4d35699d 100644 --- a/code/renderergl1/tr_bsp.c +++ b/code/renderergl1/tr_bsp.c @@ -1985,11 +1985,13 @@ void R_LoadLightGrid( const bspFile_t *bsp ) { return; } - w->lightGridData = bsp->lightGridData; + w->lightGridData = ri.Hunk_Alloc( bsp->numGridPoints * 8, h_low ); w->numGridPoints = bsp->numGridPoints; w->lightGridArray = bsp->lightGridArray; w->numGridArrayPoints = bsp->numGridArrayPoints; + Com_Memcpy( w->lightGridData, bsp->lightGridData, bsp->numGridPoints * 8 ); + // deal with overbright bits for ( i = 0 ; i < bsp->numGridPoints ; i++ ) { R_ColorShiftLightingBytes( 4, &w->lightGridData[i*8], &w->lightGridData[i*8] ); diff --git a/code/renderergl2/tr_bsp.c b/code/renderergl2/tr_bsp.c index f4b84cea9..3d68a7923 100644 --- a/code/renderergl2/tr_bsp.c +++ b/code/renderergl2/tr_bsp.c @@ -2533,11 +2533,13 @@ void R_LoadLightGrid( const bspFile_t *bsp ) { return; } - w->lightGridData = bsp->lightGridData; + w->lightGridData = ri.Hunk_Alloc( bsp->numGridPoints * 8, h_low ); w->numGridPoints = bsp->numGridPoints; w->lightGridArray = bsp->lightGridArray; w->numGridArrayPoints = bsp->numGridArrayPoints; + Com_Memcpy( w->lightGridData, bsp->lightGridData, bsp->numGridPoints * 8 ); + // deal with overbright bits for ( i = 0 ; i < bsp->numGridPoints ; i++ ) { R_ColorShiftLightingBytes( 4, &w->lightGridData[i*8], &w->lightGridData[i*8] );