mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-03-14 06:34:10 +00:00
Fixed a couple of func_groups with TrenchBroom related bugs
This commit is contained in:
parent
be5825d239
commit
1f2df87be7
4 changed files with 40 additions and 1 deletions
|
@ -49,6 +49,29 @@ You need to call exportImagesToTrenchBroom and exportModelsToTrenchBroom once an
|
|||
|
||||
* Added CMake options STANDALONE and DOOM_CLASSIC
|
||||
|
||||
* Added command convertMapQuakeToDoom `<map>` that expects a Quake 1 .map in the Valve220 format and does some Doom 3 specific fixes
|
||||
|
||||
* The gamecode ignores func_group entities if they were created by TrenchBroom instead to warn that there is no spawn function
|
||||
|
||||
* dmap / idMapFile move brushes of func_group entities to worldspawn before compiling the BSP.
|
||||
This also means func_group brushes are structural.
|
||||
If you want to optimize the BSP then move those to func_static instead which is the same as func_detail in Quake.
|
||||
|
||||
* Fixed that dmap failed writing the BSP .proc file if the command was interrupted by an error
|
||||
|
||||
[COMMUNITY]
|
||||
|
||||
Steve Saunders contributed
|
||||
|
||||
* Updated mac OS support
|
||||
|
||||
* Improved Vulkan / Molten support
|
||||
|
||||
* Fixed FFmpeg 5 compatibility for newer Linux distros
|
||||
|
||||
* Bink videos can play audio if they contain audio tracks (merged from DOOM BFA by Mr.GK)
|
||||
|
||||
|
||||
[ASSETS]
|
||||
|
||||
* Added TrenchBroom helper entityDefs like a Quake 3 style misc_model to comply with TrenchBroom's Solid/PointClass rules for editing entities
|
||||
|
|
|
@ -4022,6 +4022,17 @@ bool idGameLocal::InhibitEntitySpawn( idDict& spawnArgs )
|
|||
}
|
||||
}
|
||||
|
||||
// RB: TrenchBroom interop skip func_group entities
|
||||
{
|
||||
const char* name = spawnArgs.GetString( "classname" );
|
||||
const char* groupType = spawnArgs.GetString( "_tb_type" );
|
||||
|
||||
if( idStr::Icmp( name, "func_group" ) == 0 || idStr::Icmp( groupType, "func_group" ) == 0 )
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
@ -1730,7 +1730,10 @@ bool idMapFile::Parse( const char* filename, bool ignoreRegion, bool osPath )
|
|||
}
|
||||
|
||||
// move the primitives of any func_group entities to the worldspawn
|
||||
if( entities[0]->epairs.GetBool( "moveFuncGroups" ) )
|
||||
|
||||
// RB: TrenchBroom interop - especially those created by TrenchBroom and
|
||||
// they also won't be spawned by the gamecode
|
||||
if( entities[0]->epairs.GetBool( "moveFuncGroups" ) || valve220Format )
|
||||
{
|
||||
for( i = 1; i < entities.Num(); i++ )
|
||||
{
|
||||
|
|
|
@ -424,6 +424,7 @@ static void WriteOutputSurfaces( int entityNum, int areaNum )
|
|||
entity->epairs.GetString( "name", "", &name );
|
||||
if( !name[0] )
|
||||
{
|
||||
fileSystem->CloseFile( procFile );
|
||||
common->Error( "Entity %i has surfaces, but no name key", entityNum );
|
||||
}
|
||||
procFile->WriteFloatString( "model { /* name = */ \"%s\" /* numSurfaces = */ %i\n\n",
|
||||
|
@ -495,6 +496,7 @@ static void WriteOutputSurfaces( int entityNum, int areaNum )
|
|||
|
||||
if( surfaceNum >= numSurfaces )
|
||||
{
|
||||
fileSystem->CloseFile( procFile );
|
||||
common->Error( "WriteOutputSurfaces: surfaceNum >= numSurfaces" );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue