* entity based structural/detail filters depend on brushtypes="quake" in .game to make detail surfaceflags usable for quake 1

This commit is contained in:
Garux 2018-04-10 20:51:41 +03:00
parent 417051921e
commit 652de9bb8f
2 changed files with 6 additions and 11 deletions

View File

@ -396,10 +396,12 @@ bool filter( const Entity& entity ) const {
filter_entity_world g_filter_entity_world; filter_entity_world g_filter_entity_world;
#include "qerplugin.h"
void Entity_InitFilters(){ void Entity_InitFilters(){
add_entity_filter( g_filter_entity_world, EXCLUDE_WORLD ); add_entity_filter( g_filter_entity_world, EXCLUDE_WORLD );
add_entity_filter( g_filter_entity_func_group, EXCLUDE_FUNC_GROUPS ); add_entity_filter( g_filter_entity_func_group, EXCLUDE_FUNC_GROUPS );
if( g_gameType == eGameTypeQuake1 ){ if( string_equal( GlobalRadiant().getRequiredGameDescriptionKeyValue( "brushtypes" ), "quake" ) ){
add_entity_filter( g_filter_entity_func_detail, EXCLUDE_DETAILS ); add_entity_filter( g_filter_entity_func_detail, EXCLUDE_DETAILS );
add_entity_filter( g_filter_entity_not_func_detail, EXCLUDE_STRUCTURAL ); add_entity_filter( g_filter_entity_not_func_detail, EXCLUDE_STRUCTURAL );
} }
@ -444,13 +446,7 @@ void Entity_Construct( EGameType gameType ){
} }
Entity_InitFilters(); Entity_InitFilters();
LightType lightType = LIGHTTYPE_DEFAULT; const LightType lightType = g_gameType == eGameTypeRTCW? LIGHTTYPE_RTCW : g_gameType == eGameTypeDoom3? LIGHTTYPE_DOOM3 : LIGHTTYPE_DEFAULT;
if ( g_gameType == eGameTypeRTCW ) {
lightType = LIGHTTYPE_RTCW;
}
else if ( g_gameType == eGameTypeDoom3 ) {
lightType = LIGHTTYPE_DOOM3;
}
Light_Construct( lightType ); Light_Construct( lightType );
MiscModel_construct(); MiscModel_construct();
Doom3Group_construct(); Doom3Group_construct();

View File

@ -1233,13 +1233,12 @@ void BrushFilters_construct(){
add_brush_filter( g_filter_brush_visportal, EXCLUDE_VISPORTALS ); add_brush_filter( g_filter_brush_visportal, EXCLUDE_VISPORTALS );
add_brush_filter( g_filter_brush_areaportal, EXCLUDE_AREAPORTALS ); add_brush_filter( g_filter_brush_areaportal, EXCLUDE_AREAPORTALS );
add_brush_filter( g_filter_brush_translucent, EXCLUDE_TRANSLUCENT ); add_brush_filter( g_filter_brush_translucent, EXCLUDE_TRANSLUCENT );
if( !string_equal( GlobalRadiant().getRequiredGameDescriptionKeyValue( "entities" ), "quake" ) ){ /* conditional for entity based struct/det filters; see entity plugin */ if( !string_equal( GlobalRadiant().getRequiredGameDescriptionKeyValue( "brushtypes" ), "quake" ) ){ /* conditional for entity based structural/detail filters; see entity plugin */
add_brush_filter( g_filter_brush_detail, EXCLUDE_DETAILS ); add_brush_filter( g_filter_brush_detail, EXCLUDE_DETAILS );
add_brush_filter( g_filter_brush_detail, EXCLUDE_STRUCTURAL, true ); add_brush_filter( g_filter_brush_detail, EXCLUDE_STRUCTURAL, true );
} }
else{ if( string_equal( GlobalRadiant().getRequiredGameDescriptionKeyValue( "entities" ), "quake" ) )
add_brush_filter( g_filter_brush_liquids_q1, EXCLUDE_LIQUIDS ); add_brush_filter( g_filter_brush_liquids_q1, EXCLUDE_LIQUIDS );
}
add_brush_filter( g_filter_brush_lightgrid, EXCLUDE_LIGHTGRID ); add_brush_filter( g_filter_brush_lightgrid, EXCLUDE_LIGHTGRID );
add_brush_filter( g_filter_brush_decals, EXCLUDE_DECALS ); add_brush_filter( g_filter_brush_decals, EXCLUDE_DECALS );
} }