17 Oct 2016
This commit is contained in:
parent
388818b661
commit
a951cf6f46
|
@ -32,6 +32,7 @@ BRUSH MODELS
|
|||
|
||||
#define IDEXTRAHEADER (('H'<<24)+('S'<<16)+('A'<<8)+'X') // little-endian "XASH"
|
||||
#define EXTRA_VERSION 2 // because version 1 was occupied by old versions of XashXT
|
||||
#define EXTRA_VERSION_3 3 // same as version 2 but with old lightmap resolution (1 luxel per 16 pixels)
|
||||
|
||||
#define DELUXEMAP_VERSION 1
|
||||
#define IDDELUXEMAPHEADER (('T'<<24)+('I'<<16)+('L'<<8)+'Q') // little-endian "QLIT"
|
||||
|
|
|
@ -2665,17 +2665,23 @@ Mod_LoadBrushModel
|
|||
*/
|
||||
static void Mod_LoadBrushModel( model_t *mod, const void *buffer, qboolean *loaded )
|
||||
{
|
||||
int i, j;
|
||||
int sample_size;
|
||||
char *ents;
|
||||
dheader_t *header;
|
||||
dmodel_t *bm;
|
||||
int i, j;
|
||||
int sample_size;
|
||||
char *ents;
|
||||
dheader_t *header;
|
||||
dextrahdr_t *extrahdr;
|
||||
dmodel_t *bm;
|
||||
|
||||
if( loaded ) *loaded = false;
|
||||
header = (dheader_t *)buffer;
|
||||
loadmodel->type = mod_brush;
|
||||
i = header->version;
|
||||
|
||||
// BSP31 and BSP30 have different offsets
|
||||
if( i == XTBSP_VERSION )
|
||||
extrahdr = (dextrahdr_t *)((byte *)buffer + sizeof( dheader31_t ));
|
||||
else extrahdr = (dextrahdr_t *)((byte *)buffer + sizeof( dheader_t ));
|
||||
|
||||
switch( i )
|
||||
{
|
||||
case 28: // get support for quake1 beta
|
||||
|
@ -2687,7 +2693,9 @@ static void Mod_LoadBrushModel( model_t *mod, const void *buffer, qboolean *load
|
|||
sample_size = 16;
|
||||
break;
|
||||
case XTBSP_VERSION:
|
||||
sample_size = 8;
|
||||
if( extrahdr->id == IDEXTRAHEADER && extrahdr->version == EXTRA_VERSION_3 )
|
||||
sample_size = 16;
|
||||
else sample_size = 8;
|
||||
break;
|
||||
default:
|
||||
MsgDev( D_ERROR, "%s has wrong version number (%i should be %i)", loadmodel->name, i, HLBSP_VERSION );
|
||||
|
|
Reference in New Issue