mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-04-23 02:00:58 +00:00
Did a little Quake to Doom experiment
This commit is contained in:
parent
2ea2db396d
commit
cde21c018d
3 changed files with 844 additions and 7 deletions
|
@ -738,3 +738,45 @@ CONSOLE_COMMAND( convertMapToValve220, "Convert .map file to the Valve 220 map f
|
|||
|
||||
common->SetRefreshOnPrint( false );
|
||||
}
|
||||
|
||||
|
||||
CONSOLE_COMMAND( convertMapQuakeToDoom, "Convert Quake .map in Valve 220 map format for Doom 3 BFG", idCmdSystem::ArgCompletion_MapNameNoJson )
|
||||
{
|
||||
common->SetRefreshOnPrint( true );
|
||||
|
||||
if( args.Argc() != 2 )
|
||||
{
|
||||
common->Printf( "Usage: convertMapQuakeToDoom <map>\n" );
|
||||
return;
|
||||
}
|
||||
|
||||
idStr filename = args.Argv( 1 );
|
||||
if( !filename.Length() )
|
||||
{
|
||||
return;
|
||||
}
|
||||
filename.StripFileExtension();
|
||||
|
||||
idStr mapName;
|
||||
sprintf( mapName, "maps/%s.map", filename.c_str() );
|
||||
|
||||
idMapFile map;
|
||||
if( map.Parse( mapName, true, false ) )
|
||||
{
|
||||
map.ConvertQuakeToDoom();
|
||||
|
||||
idStrStatic< MAX_OSPATH > canonical = mapName;
|
||||
canonical.ToLower();
|
||||
|
||||
idStrStatic< MAX_OSPATH > extension;
|
||||
canonical.StripFileExtension();
|
||||
|
||||
//idStrStatic< MAX_OSPATH > convertedFileName;
|
||||
//convertedFileName = canonical;
|
||||
//convertedFileName += "_valve220";
|
||||
|
||||
map.Write( canonical, ".map" );
|
||||
}
|
||||
|
||||
common->SetRefreshOnPrint( false );
|
||||
}
|
||||
|
|
|
@ -711,7 +711,7 @@ idMapBrush* idMapBrush::ParseValve220( idLexer& src, const idVec3& origin )
|
|||
!src.Parse1DMatrix( 3, planepts[1].ToFloatPtr() ) ||
|
||||
!src.Parse1DMatrix( 3, planepts[2].ToFloatPtr() ) )
|
||||
{
|
||||
src.Error( "idMapBrush::ParseQ3: unable to read brush side plane definition" );
|
||||
src.Error( "idMapBrush::ParseValve220: unable to read brush side plane definition" );
|
||||
sides.DeleteContents( true );
|
||||
return NULL;
|
||||
}
|
||||
|
@ -730,13 +730,55 @@ idMapBrush* idMapBrush::ParseValve220( idLexer& src, const idVec3& origin )
|
|||
// read the material
|
||||
if( !src.ReadTokenOnLine( &token ) )
|
||||
{
|
||||
src.Error( "idMapBrush::ParseQ3: unable to read brush side material" );
|
||||
src.Error( "idMapBrush::ParseValve220: unable to read brush side material" );
|
||||
sides.DeleteContents( true );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
idToken matPrefix;
|
||||
idToken numberToken;
|
||||
if( token == "*" || token == "+" || token.type == TT_NUMBER )
|
||||
{
|
||||
// RB: try again for Quake 1 maps
|
||||
|
||||
matPrefix = token;
|
||||
|
||||
if( token == "+" )
|
||||
{
|
||||
if( !src.ReadTokenOnLine( &numberToken ) )
|
||||
{
|
||||
src.Error( "idMapBrush::ParseValve220: unable to read brush side material" );
|
||||
sides.DeleteContents( true );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if( numberToken.type == TT_NUMBER )
|
||||
{
|
||||
if( !src.ReadTokenOnLine( &token ) )
|
||||
{
|
||||
src.Error( "idMapBrush::ParseValve220: unable to read brush side material" );
|
||||
sides.DeleteContents( true );
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( !src.ReadTokenOnLine( &token ) )
|
||||
{
|
||||
src.Error( "idMapBrush::ParseValve220: unable to read brush side material" );
|
||||
sides.DeleteContents( true );
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// we have an implicit 'textures/' in the old format
|
||||
side->material = "textures/" + token;
|
||||
if( numberToken.type == TT_NUMBER )
|
||||
{
|
||||
side->material = "textures/" + numberToken + token;
|
||||
}
|
||||
else
|
||||
{
|
||||
side->material = "textures/" + token;
|
||||
}
|
||||
side->projection = idMapBrushSide::PROJECTION_VALVE220;
|
||||
|
||||
for( int axis = 0; axis < 2; axis++ )
|
||||
|
@ -1882,7 +1924,7 @@ int idMapFile::AddEntity( idMapEntity* mapEnt )
|
|||
idMapFile::FindEntity
|
||||
===============
|
||||
*/
|
||||
idMapEntity* idMapFile::FindEntity( const char* name )
|
||||
idMapEntity* idMapFile::FindEntity( const char* name ) const
|
||||
{
|
||||
for( int i = 0; i < entities.Num(); i++ )
|
||||
{
|
||||
|
@ -1900,7 +1942,7 @@ idMapEntity* idMapFile::FindEntity( const char* name )
|
|||
RB idMapFile::FindEntityAtOrigin
|
||||
===============
|
||||
*/
|
||||
idMapEntity* idMapFile::FindEntityAtOrigin( const idVec3& org )
|
||||
idMapEntity* idMapFile::FindEntityAtOrigin( const idVec3& org ) const
|
||||
{
|
||||
idBounds bo( org );
|
||||
bo.ExpandSelf( 0.125f );
|
||||
|
@ -1920,6 +1962,33 @@ idMapEntity* idMapFile::FindEntityAtOrigin( const idVec3& org )
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
=============
|
||||
RB from idGameEdit::GetUniqueEntityName
|
||||
|
||||
generates a unique name for a given classname
|
||||
=============
|
||||
*/
|
||||
const char* idMapFile::GetUniqueEntityName( const char* classname ) const
|
||||
{
|
||||
int id;
|
||||
static char name[1024];
|
||||
|
||||
// can only have MAX_GENTITIES, so if we have a spot available, we're guaranteed to find one
|
||||
for( id = 0; id < 99999; id++ )
|
||||
{
|
||||
idStr::snPrintf( name, sizeof( name ), "%s_%d", classname, id );
|
||||
if( FindEntity( name ) == NULL )
|
||||
{
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
// id == MAX_GENTITIES + 1, which can't be in use if we get here
|
||||
idStr::snPrintf( name, sizeof( name ), "%s_%d", classname, id );
|
||||
return name;
|
||||
}
|
||||
|
||||
/*
|
||||
===============
|
||||
idMapFile::RemoveEntity
|
||||
|
@ -3010,6 +3079,123 @@ bool idMapFile::ConvertToValve220Format()
|
|||
return true;
|
||||
}
|
||||
|
||||
bool idMapFile::ConvertQuakeToDoom()
|
||||
{
|
||||
idDict classTypeOverview;
|
||||
idStrList textureCollections;
|
||||
|
||||
int count = GetNumEntities();
|
||||
for( int j = 0; j < count; j++ )
|
||||
{
|
||||
idMapEntity* ent = GetEntity( j );
|
||||
if( ent )
|
||||
{
|
||||
idStr classname = ent->epairs.GetString( "classname" );
|
||||
|
||||
const idKeyValue* targetnamePair = ent->epairs.FindKey( "targetname" );
|
||||
if( targetnamePair )
|
||||
{
|
||||
ent->epairs.Set( "name", targetnamePair->GetValue() );
|
||||
ent->epairs.Delete( "targetname" );
|
||||
}
|
||||
|
||||
const idKeyValue* namePair = ent->epairs.FindKey( "name" );
|
||||
if( !namePair )
|
||||
{
|
||||
idStr uniqueName = GetUniqueEntityName( classname );
|
||||
|
||||
ent->epairs.Set( "name", uniqueName );
|
||||
}
|
||||
else
|
||||
{
|
||||
// is there a name clash with another entity?
|
||||
bool clash = false;
|
||||
|
||||
for( int i = 1; i < count; i++ )
|
||||
{
|
||||
if( i == j )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
idMapEntity* otherEnt = GetEntity( i );
|
||||
|
||||
const idKeyValue* otherNamePair = otherEnt->epairs.FindKey( "name" );
|
||||
if( otherNamePair && !otherNamePair->GetValue().IsEmpty() && idStr::Cmp( namePair->GetValue(), otherNamePair->GetValue() ) == 0 )
|
||||
{
|
||||
// both entities have the same name, give this one a new name
|
||||
idStr uniqueName = GetUniqueEntityName( classname );
|
||||
|
||||
ent->epairs.Set( "name", uniqueName );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( idStr::Icmp( classname, "func_wall" ) == 0 )
|
||||
{
|
||||
ent->epairs.Set( "classname", "func_static" );
|
||||
}
|
||||
|
||||
if( ent->GetNumPrimitives() > 0 )
|
||||
{
|
||||
const idKeyValue* namePair = ent->epairs.FindKey( "name" );
|
||||
ent->epairs.Set( "model", namePair->GetValue() );
|
||||
|
||||
// map Wad brushes names to proper Doom 3 compatible material names
|
||||
for( int i = 0; i < ent->GetNumPrimitives(); i++ )
|
||||
{
|
||||
idMapPrimitive* mapPrim;
|
||||
|
||||
mapPrim = ent->GetPrimitive( i );
|
||||
if( mapPrim->GetType() == idMapPrimitive::TYPE_BRUSH )
|
||||
{
|
||||
idMapBrush* brushPrim = static_cast<idMapBrush*>( mapPrim );
|
||||
for( int s = 0; s < brushPrim->GetNumSides(); s++ )
|
||||
{
|
||||
idMapBrushSide* side = brushPrim->GetSide( s );
|
||||
idStr matName;
|
||||
WadTextureToMaterial( side->GetMaterial(), matName );
|
||||
side->SetMaterial( matName );
|
||||
}
|
||||
}
|
||||
else if( mapPrim->GetType() == idMapPrimitive::TYPE_PATCH )
|
||||
{
|
||||
idMapPatch* patch = static_cast<idMapPatch*>( mapPrim );
|
||||
idMapFile::AddMaterialToCollection( patch->GetMaterial(), textureCollections );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
idMapEntity* worldspawn = GetEntity( 0 );
|
||||
if( worldspawn )
|
||||
{
|
||||
#if 1
|
||||
worldspawn->epairs.Set( "_tb_textures", "textures/common;textures/editor;textures/id1" );
|
||||
#else
|
||||
TODO
|
||||
|
||||
idStr list;
|
||||
for( int i = 0; i < textureCollections.Num(); i++ )
|
||||
{
|
||||
list += textureCollections[ i ];
|
||||
|
||||
if( i != ( textureCollections.Num() - 1 ) )
|
||||
{
|
||||
list += ";";
|
||||
}
|
||||
}
|
||||
|
||||
worldspawn->epairs.Set( "_tb_textures", list );
|
||||
#endif
|
||||
worldspawn->epairs.Set( "_tb_def", "builtin:DOOM-3-slim.fgd" );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void idMapFile::AddMaterialToCollection( const char* material, idStrList& textureCollections )
|
||||
{
|
||||
idStr withoutPath = material;
|
||||
|
@ -3021,4 +3207,608 @@ void idMapFile::AddMaterialToCollection( const char* material, idStrList& textur
|
|||
textureCollections.AddUnique( textureCollection );
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
const char* quakeName;
|
||||
const char* doomName;
|
||||
} quakeToDoom_t;
|
||||
|
||||
static quakeToDoom_t textureConvertNames[] =
|
||||
{
|
||||
// id1.wad
|
||||
{"textures/#04awater1", "textures/id1/04awater1"},
|
||||
{"textures/#04mwat1", "textures/id1/04mwat1"},
|
||||
{"textures/#04mwat2", "textures/id1/04mwat2"},
|
||||
{"textures/#04water1", "textures/id1/04water1"},
|
||||
{"textures/#04water2", "textures/id1/04water2"},
|
||||
{"textures/#lava1", "textures/id1/lava1"},
|
||||
{"textures/#slime", "textures/id1/slime"},
|
||||
{"textures/#slime0", "textures/id1/slime0"},
|
||||
{"textures/#slime1", "textures/id1/slime1"},
|
||||
{"textures/#teleport", "textures/id1/teleport"},
|
||||
{"textures/#water0", "textures/id1/water0"},
|
||||
{"textures/#water1", "textures/id1/water1"},
|
||||
{"textures/#water2", "textures/id1/water2"},
|
||||
{"textures/0_box_side", "textures/id1/0_box_side"},
|
||||
{"textures/0_box_top", "textures/id1/0_box_top"},
|
||||
{"textures/0_med100", "textures/id1/0_med100"},
|
||||
{"textures/0_med25", "textures/id1/0_med25"},
|
||||
{"textures/0_med25s", "textures/id1/0_med25s"},
|
||||
{"textures/0basebtn", "textures/id1/0basebtn"},
|
||||
{"textures/0butn", "textures/id1/0butn"},
|
||||
{"textures/0butnn", "textures/id1/0butnn"},
|
||||
{"textures/0button", "textures/id1/0button"},
|
||||
{"textures/0floorsw", "textures/id1/0floorsw"},
|
||||
{"textures/0light01", "textures/id1/0light01"},
|
||||
{"textures/0mtlsw", "textures/id1/0mtlsw"},
|
||||
{"textures/0planet", "textures/id1/0planet"},
|
||||
{"textures/0shoot", "textures/id1/0shoot"},
|
||||
{"textures/0slip", "textures/id1/0slip"},
|
||||
{"textures/0slipbot", "textures/id1/0slipbot"},
|
||||
{"textures/0sliptop", "textures/id1/0sliptop"},
|
||||
{"textures/1_box_side", "textures/id1/1_box_side"},
|
||||
{"textures/1_box_top", "textures/id1/1_box_top"},
|
||||
{"textures/1_med100", "textures/id1/1_med100"},
|
||||
{"textures/1_med25", "textures/id1/1_med25"},
|
||||
{"textures/1_med25s", "textures/id1/1_med25s"},
|
||||
{"textures/1basebtn", "textures/id1/1basebtn"},
|
||||
{"textures/1butn", "textures/id1/1butn"},
|
||||
{"textures/1butnn", "textures/id1/1butnn"},
|
||||
{"textures/1button", "textures/id1/1button"},
|
||||
{"textures/1floorsw", "textures/id1/1floorsw"},
|
||||
{"textures/1light01", "textures/id1/1light01"},
|
||||
{"textures/1mtlsw", "textures/id1/1mtlsw"},
|
||||
{"textures/1planet", "textures/id1/1planet"},
|
||||
{"textures/1shoot", "textures/id1/1shoot"},
|
||||
{"textures/1slip", "textures/id1/1slip"},
|
||||
{"textures/2_med100", "textures/id1/2_med100"},
|
||||
{"textures/2_med25", "textures/id1/2_med25"},
|
||||
{"textures/2butn", "textures/id1/2butn"},
|
||||
{"textures/2butnn", "textures/id1/2butnn"},
|
||||
{"textures/2button", "textures/id1/2button"},
|
||||
{"textures/2floorsw", "textures/id1/2floorsw"},
|
||||
{"textures/2light01", "textures/id1/2light01"},
|
||||
{"textures/2mtlsw", "textures/id1/2mtlsw"},
|
||||
{"textures/2planet", "textures/id1/2planet"},
|
||||
{"textures/2shoot", "textures/id1/2shoot"},
|
||||
{"textures/2slip", "textures/id1/2slip"},
|
||||
{"textures/3_med100", "textures/id1/3_med100"},
|
||||
{"textures/3_med25", "textures/id1/3_med25"},
|
||||
{"textures/3butn", "textures/id1/3butn"},
|
||||
{"textures/3butnn", "textures/id1/3butnn"},
|
||||
{"textures/3button", "textures/id1/3button"},
|
||||
{"textures/3floorsw", "textures/id1/3floorsw"},
|
||||
{"textures/3mtlsw", "textures/id1/3mtlsw"},
|
||||
{"textures/3planet", "textures/id1/3planet"},
|
||||
{"textures/3shoot", "textures/id1/3shoot"},
|
||||
{"textures/3slip", "textures/id1/3slip"},
|
||||
{"textures/4slip", "textures/id1/4slip"},
|
||||
{"textures/5slip", "textures/id1/5slip"},
|
||||
{"textures/6slip", "textures/id1/6slip"},
|
||||
{"textures/abasebtn", "textures/id1/abasebtn"},
|
||||
{"textures/abutn", "textures/id1/abutn"},
|
||||
{"textures/abutnn", "textures/id1/abutnn"},
|
||||
{"textures/abutton", "textures/id1/abutton"},
|
||||
{"textures/afloorsw", "textures/id1/afloorsw"},
|
||||
{"textures/amtlsw", "textures/id1/amtlsw"},
|
||||
{"textures/ashoot", "textures/id1/ashoot"},
|
||||
{"textures/adoor01_2", "textures/id1/adoor01_2"},
|
||||
{"textures/adoor02_2", "textures/id1/adoor02_2"},
|
||||
{"textures/adoor03_2", "textures/id1/adoor03_2"},
|
||||
{"textures/adoor03_3", "textures/id1/adoor03_3"},
|
||||
{"textures/adoor03_4", "textures/id1/adoor03_4"},
|
||||
{"textures/adoor03_5", "textures/id1/adoor03_5"},
|
||||
{"textures/adoor03_6", "textures/id1/adoor03_6"},
|
||||
{"textures/adoor09_1", "textures/id1/adoor09_1"},
|
||||
{"textures/adoor09_2", "textures/id1/adoor09_2"},
|
||||
{"textures/afloor1_3", "textures/id1/afloor1_3"},
|
||||
{"textures/afloor1_4", "textures/id1/afloor1_4"},
|
||||
{"textures/afloor1_8", "textures/id1/afloor1_8"},
|
||||
{"textures/afloor3_1", "textures/id1/afloor3_1"},
|
||||
{"textures/altar1_1", "textures/id1/altar1_1"},
|
||||
{"textures/altar1_3", "textures/id1/altar1_3"},
|
||||
{"textures/altar1_4", "textures/id1/altar1_4"},
|
||||
{"textures/altar1_6", "textures/id1/altar1_6"},
|
||||
{"textures/altar1_7", "textures/id1/altar1_7"},
|
||||
{"textures/altar1_8", "textures/id1/altar1_8"},
|
||||
{"textures/altarb_1", "textures/id1/altarb_1"},
|
||||
{"textures/altarb_2", "textures/id1/altarb_2"},
|
||||
{"textures/altarc_1", "textures/id1/altarc_1"},
|
||||
{"textures/arch7", "textures/id1/arch7"},
|
||||
{"textures/arrow_m", "textures/id1/arrow_m"},
|
||||
{"textures/az1_6", "textures/id1/az1_6"},
|
||||
{"textures/azfloor1_1", "textures/id1/azfloor1_1"},
|
||||
{"textures/azswitch3", "textures/id1/azswitch3"},
|
||||
{"textures/azwall1_5", "textures/id1/azwall1_5"},
|
||||
{"textures/azwall3_1", "textures/id1/azwall3_1"},
|
||||
{"textures/azwall3_2", "textures/id1/azwall3_2"},
|
||||
{"textures/basebutn3", "textures/id1/basebutn3"},
|
||||
{"textures/batt0sid", "textures/id1/batt0sid"},
|
||||
{"textures/batt0top", "textures/id1/batt0top"},
|
||||
{"textures/batt1sid", "textures/id1/batt1sid"},
|
||||
{"textures/batt1top", "textures/id1/batt1top"},
|
||||
{"textures/black", "textures/id1/black"},
|
||||
{"textures/bodiesa2_1", "textures/id1/bodiesa2_1"},
|
||||
{"textures/bodiesa2_4", "textures/id1/bodiesa2_4"},
|
||||
{"textures/bodiesa3_1", "textures/id1/bodiesa3_1"},
|
||||
{"textures/bodiesa3_2", "textures/id1/bodiesa3_2"},
|
||||
{"textures/bodiesa3_3", "textures/id1/bodiesa3_3"},
|
||||
{"textures/bricka2_1", "textures/id1/bricka2_1"},
|
||||
{"textures/bricka2_2", "textures/id1/bricka2_2"},
|
||||
{"textures/bricka2_4", "textures/id1/bricka2_4"},
|
||||
{"textures/bricka2_6", "textures/id1/bricka2_6"},
|
||||
{"textures/carch02", "textures/id1/carch02"},
|
||||
{"textures/carch03", "textures/id1/carch03"},
|
||||
{"textures/carch04_1", "textures/id1/carch04_1"},
|
||||
{"textures/carch04_2", "textures/id1/carch04_2"},
|
||||
{"textures/ceil1_1", "textures/id1/ceil1_1"},
|
||||
{"textures/ceiling1_3", "textures/id1/ceiling1_3"},
|
||||
{"textures/ceiling4", "textures/id1/ceiling4"},
|
||||
{"textures/ceiling5", "textures/id1/ceiling5"},
|
||||
{"textures/church1_2", "textures/id1/church1_2"},
|
||||
{"textures/church7", "textures/id1/church7"},
|
||||
{"textures/city1_4", "textures/id1/city1_4"},
|
||||
{"textures/city1_7", "textures/id1/city1_7"},
|
||||
{"textures/city2_1", "textures/id1/city2_1"},
|
||||
{"textures/city2_2", "textures/id1/city2_2"},
|
||||
{"textures/city2_3", "textures/id1/city2_3"},
|
||||
{"textures/city2_5", "textures/id1/city2_5"},
|
||||
{"textures/city2_6", "textures/id1/city2_6"},
|
||||
{"textures/city2_7", "textures/id1/city2_7"},
|
||||
{"textures/city2_8", "textures/id1/city2_8"},
|
||||
{"textures/city3_2", "textures/id1/city3_2"},
|
||||
{"textures/city3_4", "textures/id1/city3_4"},
|
||||
{"textures/city4_1", "textures/id1/city4_1"},
|
||||
{"textures/city4_2", "textures/id1/city4_2"},
|
||||
{"textures/city4_5", "textures/id1/city4_5"},
|
||||
{"textures/city4_6", "textures/id1/city4_6"},
|
||||
{"textures/city4_7", "textures/id1/city4_7"},
|
||||
{"textures/city4_8", "textures/id1/city4_8"},
|
||||
{"textures/city5_1", "textures/id1/city5_1"},
|
||||
{"textures/city5_2", "textures/id1/city5_2"},
|
||||
{"textures/city5_3", "textures/id1/city5_3"},
|
||||
{"textures/city5_4", "textures/id1/city5_4"},
|
||||
{"textures/city5_6", "textures/id1/city5_6"},
|
||||
{"textures/city5_7", "textures/id1/city5_7"},
|
||||
{"textures/city5_8", "textures/id1/city5_8"},
|
||||
{"textures/city6_3", "textures/id1/city6_3"},
|
||||
{"textures/city6_4", "textures/id1/city6_4"},
|
||||
{"textures/city6_7", "textures/id1/city6_7"},
|
||||
{"textures/city6_8", "textures/id1/city6_8"},
|
||||
{"textures/city8_2", "textures/id1/city8_2"},
|
||||
{"textures/citya1_1", "textures/id1/citya1_1"},
|
||||
{"textures/clip", "textures/common/clip"},
|
||||
{"textures/column01_3", "textures/id1/column01_3"},
|
||||
{"textures/column01_4", "textures/id1/column01_4"},
|
||||
{"textures/column1_2", "textures/id1/column1_2"},
|
||||
{"textures/column1_4", "textures/id1/column1_4"},
|
||||
{"textures/column1_5", "textures/id1/column1_5"},
|
||||
{"textures/comp1_1", "textures/id1/comp1_1"},
|
||||
{"textures/comp1_2", "textures/id1/comp1_2"},
|
||||
{"textures/comp1_3", "textures/id1/comp1_3"},
|
||||
{"textures/comp1_4", "textures/id1/comp1_4"},
|
||||
{"textures/comp1_5", "textures/id1/comp1_5"},
|
||||
{"textures/comp1_6", "textures/id1/comp1_6"},
|
||||
{"textures/comp1_7", "textures/id1/comp1_7"},
|
||||
{"textures/comp1_8", "textures/id1/comp1_8"},
|
||||
{"textures/cop1_1", "textures/id1/cop1_1"},
|
||||
{"textures/cop1_2", "textures/id1/cop1_2"},
|
||||
{"textures/cop1_3", "textures/id1/cop1_3"},
|
||||
{"textures/cop1_4", "textures/id1/cop1_4"},
|
||||
{"textures/cop1_5", "textures/id1/cop1_5"},
|
||||
{"textures/cop1_6", "textures/id1/cop1_6"},
|
||||
{"textures/cop1_7", "textures/id1/cop1_7"},
|
||||
{"textures/cop1_8", "textures/id1/cop1_8"},
|
||||
{"textures/cop2_1", "textures/id1/cop2_1"},
|
||||
{"textures/cop2_2", "textures/id1/cop2_2"},
|
||||
{"textures/cop2_3", "textures/id1/cop2_3"},
|
||||
{"textures/cop2_4", "textures/id1/cop2_4"},
|
||||
{"textures/cop2_5", "textures/id1/cop2_5"},
|
||||
{"textures/cop2_6", "textures/id1/cop2_6"},
|
||||
{"textures/cop3_1", "textures/id1/cop3_1"},
|
||||
{"textures/cop3_2", "textures/id1/cop3_2"},
|
||||
{"textures/cop3_4", "textures/id1/cop3_4"},
|
||||
{"textures/cop4_3", "textures/id1/cop4_3"},
|
||||
{"textures/cop4_5", "textures/id1/cop4_5"},
|
||||
{"textures/crate0_side", "textures/id1/crate0_side"},
|
||||
{"textures/crate0_top", "textures/id1/crate0_top"},
|
||||
{"textures/crate1_side", "textures/id1/crate1_side"},
|
||||
{"textures/crate1_top", "textures/id1/crate1_top"},
|
||||
{"textures/dem4_1", "textures/id1/dem4_1"},
|
||||
{"textures/dem4_4", "textures/id1/dem4_4"},
|
||||
{"textures/dem5_3", "textures/id1/dem5_3"},
|
||||
{"textures/demc4_4", "textures/id1/demc4_4"},
|
||||
{"textures/door01_2", "textures/id1/door01_2"},
|
||||
{"textures/door02_1", "textures/id1/door02_1"},
|
||||
{"textures/door02_2", "textures/id1/door02_2"},
|
||||
{"textures/door02_3", "textures/id1/door02_3"},
|
||||
{"textures/door02_7", "textures/id1/door02_7"},
|
||||
{"textures/door03_2", "textures/id1/door03_2"},
|
||||
{"textures/door03_3", "textures/id1/door03_3"},
|
||||
{"textures/door03_4", "textures/id1/door03_4"},
|
||||
{"textures/door03_5", "textures/id1/door03_5"},
|
||||
{"textures/door04_1", "textures/id1/door04_1"},
|
||||
{"textures/door04_2", "textures/id1/door04_2"},
|
||||
{"textures/door05_2", "textures/id1/door05_2"},
|
||||
{"textures/door05_3", "textures/id1/door05_3"},
|
||||
{"textures/dopeback", "textures/id1/dopeback"},
|
||||
{"textures/dopefish", "textures/id1/dopefish"},
|
||||
{"textures/dr01_1", "textures/id1/dr01_1"},
|
||||
{"textures/dr01_2", "textures/id1/dr01_2"},
|
||||
{"textures/dr02_1", "textures/id1/dr02_1"},
|
||||
{"textures/dr02_2", "textures/id1/dr02_2"},
|
||||
{"textures/dr03_1", "textures/id1/dr03_1"},
|
||||
{"textures/dr05_2", "textures/id1/dr05_2"},
|
||||
{"textures/dr07_1", "textures/id1/dr07_1"},
|
||||
{"textures/dung01_1", "textures/id1/dung01_1"},
|
||||
{"textures/dung01_2", "textures/id1/dung01_2"},
|
||||
{"textures/dung01_3", "textures/id1/dung01_3"},
|
||||
{"textures/dung01_4", "textures/id1/dung01_4"},
|
||||
{"textures/dung01_5", "textures/id1/dung01_5"},
|
||||
{"textures/dung02_1", "textures/id1/dung02_1"},
|
||||
{"textures/dung02_5", "textures/id1/dung02_5"},
|
||||
{"textures/ecop1_1", "textures/id1/ecop1_1"},
|
||||
{"textures/ecop1_4", "textures/id1/ecop1_4"},
|
||||
{"textures/ecop1_6", "textures/id1/ecop1_6"},
|
||||
{"textures/ecop1_7", "textures/id1/ecop1_7"},
|
||||
{"textures/ecop1_8", "textures/id1/ecop1_8"},
|
||||
{"textures/edoor01_1", "textures/id1/edoor01_1"},
|
||||
{"textures/elwall1_1", "textures/id1/elwall1_1"},
|
||||
{"textures/elwall2_4", "textures/id1/elwall2_4"},
|
||||
{"textures/emetal1_3", "textures/id1/emetal1_3"},
|
||||
{"textures/enter01", "textures/id1/enter01"},
|
||||
{"textures/exit01", "textures/id1/exit01"},
|
||||
{"textures/exit02_2", "textures/id1/exit02_2"},
|
||||
{"textures/exit02_3", "textures/id1/exit02_3"},
|
||||
{"textures/floor01_5", "textures/id1/floor01_5"},
|
||||
{"textures/grave01_1", "textures/id1/grave01_1"},
|
||||
{"textures/grave01_3", "textures/id1/grave01_3"},
|
||||
{"textures/grave02_1", "textures/id1/grave02_1"},
|
||||
{"textures/grave02_2", "textures/id1/grave02_2"},
|
||||
{"textures/grave02_3", "textures/id1/grave02_3"},
|
||||
{"textures/grave02_4", "textures/id1/grave02_4"},
|
||||
{"textures/grave02_5", "textures/id1/grave02_5"},
|
||||
{"textures/grave02_6", "textures/id1/grave02_6"},
|
||||
{"textures/grave02_7", "textures/id1/grave02_7"},
|
||||
{"textures/grave03_1", "textures/id1/grave03_1"},
|
||||
{"textures/grave03_2", "textures/id1/grave03_2"},
|
||||
{"textures/grave03_3", "textures/id1/grave03_3"},
|
||||
{"textures/grave03_4", "textures/id1/grave03_4"},
|
||||
{"textures/grave03_5", "textures/id1/grave03_5"},
|
||||
{"textures/grave03_6", "textures/id1/grave03_6"},
|
||||
{"textures/grave03_7", "textures/id1/grave03_7"},
|
||||
{"textures/ground1_1", "textures/id1/ground1_1"},
|
||||
{"textures/ground1_2", "textures/id1/ground1_2"},
|
||||
{"textures/ground1_5", "textures/id1/ground1_5"},
|
||||
{"textures/ground1_6", "textures/id1/ground1_6"},
|
||||
{"textures/ground1_7", "textures/id1/ground1_7"},
|
||||
{"textures/ground1_8", "textures/id1/ground1_8"},
|
||||
{"textures/key01_1", "textures/id1/key01_1"},
|
||||
{"textures/key01_2", "textures/id1/key01_2"},
|
||||
{"textures/key01_3", "textures/id1/key01_3"},
|
||||
{"textures/key02_1", "textures/id1/key02_1"},
|
||||
{"textures/key02_2", "textures/id1/key02_2"},
|
||||
{"textures/key03_1", "textures/id1/key03_1"},
|
||||
{"textures/key03_2", "textures/id1/key03_2"},
|
||||
{"textures/key03_3", "textures/id1/key03_3"},
|
||||
{"textures/lgmetal", "textures/id1/lgmetal"},
|
||||
{"textures/lgmetal2", "textures/id1/lgmetal2"},
|
||||
{"textures/lgmetal3", "textures/id1/lgmetal3"},
|
||||
{"textures/lgmetal4", "textures/id1/lgmetal4"},
|
||||
{"textures/light1_1", "textures/id1/light1_1"},
|
||||
{"textures/light1_2", "textures/id1/light1_2"},
|
||||
{"textures/light1_3", "textures/id1/light1_3"},
|
||||
{"textures/light1_4", "textures/id1/light1_4"},
|
||||
{"textures/light1_5", "textures/id1/light1_5"},
|
||||
{"textures/light1_7", "textures/id1/light1_7"},
|
||||
{"textures/light1_8", "textures/id1/light1_8"},
|
||||
{"textures/light3_3", "textures/id1/light3_3"},
|
||||
{"textures/light3_5", "textures/id1/light3_5"},
|
||||
{"textures/light3_6", "textures/id1/light3_6"},
|
||||
{"textures/light3_7", "textures/id1/light3_7"},
|
||||
{"textures/light3_8", "textures/id1/light3_8"},
|
||||
{"textures/m5_3", "textures/id1/m5_3"},
|
||||
{"textures/m5_5", "textures/id1/m5_5"},
|
||||
{"textures/m5_8", "textures/id1/m5_8"},
|
||||
{"textures/med100", "textures/id1/med100"},
|
||||
{"textures/med3_0", "textures/id1/med3_0"},
|
||||
{"textures/med3_1", "textures/id1/med3_1"},
|
||||
{"textures/met5_1", "textures/id1/met5_1"},
|
||||
{"textures/met5_2", "textures/id1/met5_2"},
|
||||
{"textures/met5_3", "textures/id1/met5_3"},
|
||||
{"textures/metal1_1", "textures/id1/metal1_1"},
|
||||
{"textures/metal1_2", "textures/id1/metal1_2"},
|
||||
{"textures/metal1_3", "textures/id1/metal1_3"},
|
||||
{"textures/metal1_4", "textures/id1/metal1_4"},
|
||||
{"textures/metal1_5", "textures/id1/metal1_5"},
|
||||
{"textures/metal1_6", "textures/id1/metal1_6"},
|
||||
{"textures/metal1_7", "textures/id1/metal1_7"},
|
||||
{"textures/metal2_1", "textures/id1/metal2_1"},
|
||||
{"textures/metal2_2", "textures/id1/metal2_2"},
|
||||
{"textures/metal2_3", "textures/id1/metal2_3"},
|
||||
{"textures/metal2_4", "textures/id1/metal2_4"},
|
||||
{"textures/metal2_5", "textures/id1/metal2_5"},
|
||||
{"textures/metal2_6", "textures/id1/metal2_6"},
|
||||
{"textures/metal2_7", "textures/id1/metal2_7"},
|
||||
{"textures/metal2_8", "textures/id1/metal2_8"},
|
||||
{"textures/metal3_2", "textures/id1/metal3_2"},
|
||||
{"textures/metal4_2", "textures/id1/metal4_2"},
|
||||
{"textures/metal4_3", "textures/id1/metal4_3"},
|
||||
{"textures/metal4_4", "textures/id1/metal4_4"},
|
||||
{"textures/metal4_5", "textures/id1/metal4_5"},
|
||||
{"textures/metal4_6", "textures/id1/metal4_6"},
|
||||
{"textures/metal4_7", "textures/id1/metal4_7"},
|
||||
{"textures/metal4_8", "textures/id1/metal4_8"},
|
||||
{"textures/metal5_1", "textures/id1/metal5_1"},
|
||||
{"textures/metal5_2", "textures/id1/metal5_2"},
|
||||
{"textures/metal5_3", "textures/id1/metal5_3"},
|
||||
{"textures/metal5_4", "textures/id1/metal5_4"},
|
||||
{"textures/metal5_5", "textures/id1/metal5_5"},
|
||||
{"textures/metal5_6", "textures/id1/metal5_6"},
|
||||
{"textures/metal5_8", "textures/id1/metal5_8"},
|
||||
{"textures/metal6_1", "textures/id1/metal6_1"},
|
||||
{"textures/metal6_2", "textures/id1/metal6_2"},
|
||||
{"textures/metal6_3", "textures/id1/metal6_3"},
|
||||
{"textures/metal6_4", "textures/id1/metal6_4"},
|
||||
{"textures/metalt1_1", "textures/id1/metalt1_1"},
|
||||
{"textures/metalt1_2", "textures/id1/metalt1_2"},
|
||||
{"textures/metalt1_7", "textures/id1/metalt1_7"},
|
||||
{"textures/metalt2_1", "textures/id1/metalt2_1"},
|
||||
{"textures/metalt2_2", "textures/id1/metalt2_2"},
|
||||
{"textures/metalt2_3", "textures/id1/metalt2_3"},
|
||||
{"textures/metalt2_4", "textures/id1/metalt2_4"},
|
||||
{"textures/metalt2_5", "textures/id1/metalt2_5"},
|
||||
{"textures/metalt2_6", "textures/id1/metalt2_6"},
|
||||
{"textures/metalt2_7", "textures/id1/metalt2_7"},
|
||||
{"textures/metalt2_8", "textures/id1/metalt2_8"},
|
||||
{"textures/metflor2_1", "textures/id1/metflor2_1"},
|
||||
{"textures/mmetal1_1", "textures/id1/mmetal1_1"},
|
||||
{"textures/mmetal1_2", "textures/id1/mmetal1_2"},
|
||||
{"textures/mmetal1_3", "textures/id1/mmetal1_3"},
|
||||
{"textures/mmetal1_5", "textures/id1/mmetal1_5"},
|
||||
{"textures/mmetal1_6", "textures/id1/mmetal1_6"},
|
||||
{"textures/mmetal1_7", "textures/id1/mmetal1_7"},
|
||||
{"textures/mmetal1_8", "textures/id1/mmetal1_8"},
|
||||
{"textures/mswtch_2", "textures/id1/mswtch_2"},
|
||||
{"textures/mswtch_3", "textures/id1/mswtch_3"},
|
||||
{"textures/mswtch_4", "textures/id1/mswtch_4"},
|
||||
{"textures/muh_bad", "textures/id1/muh_bad"},
|
||||
{"textures/nail0sid", "textures/id1/nail0sid"},
|
||||
{"textures/nail0top", "textures/id1/nail0top"},
|
||||
{"textures/nail1sid", "textures/id1/nail1sid"},
|
||||
{"textures/nail1top", "textures/id1/nail1top"},
|
||||
{"textures/nmetal2_1", "textures/id1/nmetal2_1"},
|
||||
{"textures/nmetal2_6", "textures/id1/nmetal2_6"},
|
||||
{"textures/plat_side1", "textures/id1/plat_side1"},
|
||||
{"textures/plat_stem", "textures/id1/plat_stem"},
|
||||
{"textures/plat_top1", "textures/id1/plat_top1"},
|
||||
{"textures/plat_top2", "textures/id1/plat_top2"},
|
||||
{"textures/quake", "textures/id1/quake"},
|
||||
{"textures/raven", "textures/id1/raven"},
|
||||
{"textures/rock0sid", "textures/id1/rock0sid"},
|
||||
{"textures/rock1_2", "textures/id1/rock1_2"},
|
||||
{"textures/rock1sid", "textures/id1/rock1sid"},
|
||||
{"textures/rock3_2", "textures/id1/rock3_2"},
|
||||
{"textures/rock3_7", "textures/id1/rock3_7"},
|
||||
{"textures/rock3_8", "textures/id1/rock3_8"},
|
||||
{"textures/rock4_1", "textures/id1/rock4_1"},
|
||||
{"textures/rock4_2", "textures/id1/rock4_2"},
|
||||
{"textures/rock5_2", "textures/id1/rock5_2"},
|
||||
{"textures/rockettop", "textures/id1/rockettop"},
|
||||
{"textures/rune1_1", "textures/id1/rune1_1"},
|
||||
{"textures/rune1_4", "textures/id1/rune1_4"},
|
||||
{"textures/rune1_5", "textures/id1/rune1_5"},
|
||||
{"textures/rune1_6", "textures/id1/rune1_6"},
|
||||
{"textures/rune1_7", "textures/id1/rune1_7"},
|
||||
{"textures/rune2_1", "textures/id1/rune2_1"},
|
||||
{"textures/rune2_2", "textures/id1/rune2_2"},
|
||||
{"textures/rune2_3", "textures/id1/rune2_3"},
|
||||
{"textures/rune2_4", "textures/id1/rune2_4"},
|
||||
{"textures/rune2_5", "textures/id1/rune2_5"},
|
||||
{"textures/rune_a", "textures/id1/rune_a"},
|
||||
{"textures/sfloor1_2", "textures/id1/sfloor1_2"},
|
||||
{"textures/sfloor3_2", "textures/id1/sfloor3_2"},
|
||||
{"textures/sfloor4_1", "textures/id1/sfloor4_1"},
|
||||
{"textures/sfloor4_2", "textures/id1/sfloor4_2"},
|
||||
{"textures/sfloor4_4", "textures/id1/sfloor4_4"},
|
||||
{"textures/sfloor4_5", "textures/id1/sfloor4_5"},
|
||||
{"textures/sfloor4_6", "textures/id1/sfloor4_6"},
|
||||
{"textures/sfloor4_7", "textures/id1/sfloor4_7"},
|
||||
{"textures/sfloor4_8", "textures/id1/sfloor4_8"},
|
||||
{"textures/shot0sid", "textures/id1/shot0sid"},
|
||||
{"textures/shot0top", "textures/id1/shot0top"},
|
||||
{"textures/shot1sid", "textures/id1/shot1sid"},
|
||||
{"textures/shot1top", "textures/id1/shot1top"},
|
||||
{"textures/skill0", "textures/id1/skill0"},
|
||||
{"textures/skill1", "textures/id1/skill1"},
|
||||
{"textures/skill2", "textures/id1/skill2"},
|
||||
{"textures/skill3", "textures/id1/skill3"},
|
||||
{"textures/sky1", "textures/id1/sky1"},
|
||||
{"textures/sky4", "textures/id1/sky4"},
|
||||
{"textures/slip1", "textures/id1/slip1"},
|
||||
{"textures/slip2", "textures/id1/slip2"},
|
||||
{"textures/slipbotsd", "textures/id1/slipbotsd"},
|
||||
{"textures/sliplite", "textures/id1/sliplite"},
|
||||
{"textures/slipside", "textures/id1/slipside"},
|
||||
{"textures/sliptopsd", "textures/id1/sliptopsd"},
|
||||
{"textures/stone1_3", "textures/id1/stone1_3"},
|
||||
{"textures/stone1_5", "textures/id1/stone1_5"},
|
||||
{"textures/stone1_7", "textures/id1/stone1_7"},
|
||||
{"textures/switch_1", "textures/id1/switch_1"},
|
||||
{"textures/swtch1_1", "textures/id1/swtch1_1"},
|
||||
{"textures/tech01_1", "textures/id1/tech01_1"},
|
||||
{"textures/tech01_2", "textures/id1/tech01_2"},
|
||||
{"textures/tech01_3", "textures/id1/tech01_3"},
|
||||
{"textures/tech01_5", "textures/id1/tech01_5"},
|
||||
{"textures/tech01_6", "textures/id1/tech01_6"},
|
||||
{"textures/tech01_7", "textures/id1/tech01_7"},
|
||||
{"textures/tech01_9", "textures/id1/tech01_9"},
|
||||
{"textures/tech02_1", "textures/id1/tech02_1"},
|
||||
{"textures/tech02_2", "textures/id1/tech02_2"},
|
||||
{"textures/tech02_3", "textures/id1/tech02_3"},
|
||||
{"textures/tech02_5", "textures/id1/tech02_5"},
|
||||
{"textures/tech02_6", "textures/id1/tech02_6"},
|
||||
{"textures/tech02_7", "textures/id1/tech02_7"},
|
||||
{"textures/tech03_1", "textures/id1/tech03_1"},
|
||||
{"textures/tech03_2", "textures/id1/tech03_2"},
|
||||
{"textures/tech04_1", "textures/id1/tech04_1"},
|
||||
{"textures/tech04_2", "textures/id1/tech04_2"},
|
||||
{"textures/tech04_3", "textures/id1/tech04_3"},
|
||||
{"textures/tech04_4", "textures/id1/tech04_4"},
|
||||
{"textures/tech04_5", "textures/id1/tech04_5"},
|
||||
{"textures/tech04_6", "textures/id1/tech04_6"},
|
||||
{"textures/tech04_7", "textures/id1/tech04_7"},
|
||||
{"textures/tech04_8", "textures/id1/tech04_8"},
|
||||
{"textures/tech05_1", "textures/id1/tech05_1"},
|
||||
{"textures/tech05_2", "textures/id1/tech05_2"},
|
||||
{"textures/tech06_1", "textures/id1/tech06_1"},
|
||||
{"textures/tech06_2", "textures/id1/tech06_2"},
|
||||
{"textures/tech07_1", "textures/id1/tech07_1"},
|
||||
{"textures/tech07_2", "textures/id1/tech07_2"},
|
||||
{"textures/tech08_1", "textures/id1/tech08_1"},
|
||||
{"textures/tech08_2", "textures/id1/tech08_2"},
|
||||
{"textures/tech09_3", "textures/id1/tech09_3"},
|
||||
{"textures/tech09_4", "textures/id1/tech09_4"},
|
||||
{"textures/tech10_1", "textures/id1/tech10_1"},
|
||||
{"textures/tech10_3", "textures/id1/tech10_3"},
|
||||
{"textures/tech11_1", "textures/id1/tech11_1"},
|
||||
{"textures/tech11_2", "textures/id1/tech11_2"},
|
||||
{"textures/tech12_1", "textures/id1/tech12_1"},
|
||||
{"textures/tech13_2", "textures/id1/tech13_2"},
|
||||
{"textures/tech14_1", "textures/id1/tech14_1"},
|
||||
{"textures/tech14_2", "textures/id1/tech14_2"},
|
||||
{"textures/tele_top", "textures/id1/tele_top"},
|
||||
{"textures/tlight01", "textures/id1/tlight01"},
|
||||
{"textures/tlight01_2", "textures/id1/tlight01_2"},
|
||||
{"textures/tlight02", "textures/id1/tlight02"},
|
||||
{"textures/tlight03", "textures/id1/tlight03"},
|
||||
{"textures/tlight05", "textures/id1/tlight05"},
|
||||
{"textures/tlight07", "textures/id1/tlight07"},
|
||||
{"textures/tlight08", "textures/id1/tlight08"},
|
||||
{"textures/tlight09", "textures/id1/tlight09"},
|
||||
{"textures/tlight10", "textures/id1/tlight10"},
|
||||
{"textures/tlight11", "textures/id1/tlight11"},
|
||||
{"textures/trigger", "textures/common/trigger"},
|
||||
{"textures/twall1_1", "textures/id1/twall1_1"},
|
||||
{"textures/twall1_2", "textures/id1/twall1_2"},
|
||||
{"textures/twall1_4", "textures/id1/twall1_4"},
|
||||
{"textures/twall2_1", "textures/id1/twall2_1"},
|
||||
{"textures/twall2_2", "textures/id1/twall2_2"},
|
||||
{"textures/twall2_3", "textures/id1/twall2_3"},
|
||||
{"textures/twall2_5", "textures/id1/twall2_5"},
|
||||
{"textures/twall2_6", "textures/id1/twall2_6"},
|
||||
{"textures/twall3_1", "textures/id1/twall3_1"},
|
||||
{"textures/twall5_1", "textures/id1/twall5_1"},
|
||||
{"textures/twall5_2", "textures/id1/twall5_2"},
|
||||
{"textures/twall5_3", "textures/id1/twall5_3"},
|
||||
{"textures/unwall1_8", "textures/id1/unwall1_8"},
|
||||
{"textures/uwall1_2", "textures/id1/uwall1_2"},
|
||||
{"textures/uwall1_3", "textures/id1/uwall1_3"},
|
||||
{"textures/uwall1_4", "textures/id1/uwall1_4"},
|
||||
{"textures/vine1_2", "textures/id1/vine1_2"},
|
||||
{"textures/wall11_2", "textures/id1/wall11_2"},
|
||||
{"textures/wall11_6", "textures/id1/wall11_6"},
|
||||
{"textures/wall14_5", "textures/id1/wall14_5"},
|
||||
{"textures/wall14_6", "textures/id1/wall14_6"},
|
||||
{"textures/wall16_7", "textures/id1/wall16_7"},
|
||||
{"textures/wall3_4", "textures/id1/wall3_4"},
|
||||
{"textures/wall5_4", "textures/id1/wall5_4"},
|
||||
{"textures/wall9_3", "textures/id1/wall9_3"},
|
||||
{"textures/wall9_8", "textures/id1/wall9_8"},
|
||||
{"textures/warch05", "textures/id1/warch05"},
|
||||
{"textures/wbrick1_4", "textures/id1/wbrick1_4"},
|
||||
{"textures/wbrick1_5", "textures/id1/wbrick1_5"},
|
||||
{"textures/wceiling4", "textures/id1/wceiling4"},
|
||||
{"textures/wceiling5", "textures/id1/wceiling5"},
|
||||
{"textures/wenter01", "textures/id1/wenter01"},
|
||||
{"textures/wexit01", "textures/id1/wexit01"},
|
||||
{"textures/wgrass1_1", "textures/id1/wgrass1_1"},
|
||||
{"textures/wgrnd1_5", "textures/id1/wgrnd1_5"},
|
||||
{"textures/wgrnd1_6", "textures/id1/wgrnd1_6"},
|
||||
{"textures/wgrnd1_8", "textures/id1/wgrnd1_8"},
|
||||
{"textures/window01_1", "textures/id1/window01_1"},
|
||||
{"textures/window01_2", "textures/id1/window01_2"},
|
||||
{"textures/window01_3", "textures/id1/window01_3"},
|
||||
{"textures/window01_4", "textures/id1/window01_4"},
|
||||
{"textures/window02_1", "textures/id1/window02_1"},
|
||||
{"textures/window03", "textures/id1/window03"},
|
||||
{"textures/window1_2", "textures/id1/window1_2"},
|
||||
{"textures/window1_3", "textures/id1/window1_3"},
|
||||
{"textures/window1_4", "textures/id1/window1_4"},
|
||||
{"textures/wiz1_1", "textures/id1/wiz1_1"},
|
||||
{"textures/wiz1_4", "textures/id1/wiz1_4"},
|
||||
{"textures/wizmet1_1", "textures/id1/wizmet1_1"},
|
||||
{"textures/wizmet1_2", "textures/id1/wizmet1_2"},
|
||||
{"textures/wizmet1_3", "textures/id1/wizmet1_3"},
|
||||
{"textures/wizmet1_4", "textures/id1/wizmet1_4"},
|
||||
{"textures/wizmet1_5", "textures/id1/wizmet1_5"},
|
||||
{"textures/wizmet1_6", "textures/id1/wizmet1_6"},
|
||||
{"textures/wizmet1_7", "textures/id1/wizmet1_7"},
|
||||
{"textures/wizmet1_8", "textures/id1/wizmet1_8"},
|
||||
{"textures/wizwin1_2", "textures/id1/wizwin1_2"},
|
||||
{"textures/wizwin1_8", "textures/id1/wizwin1_8"},
|
||||
{"textures/wizwood1_2", "textures/id1/wizwood1_2"},
|
||||
{"textures/wizwood1_3", "textures/id1/wizwood1_3"},
|
||||
{"textures/wizwood1_4", "textures/id1/wizwood1_4"},
|
||||
{"textures/wizwood1_5", "textures/id1/wizwood1_5"},
|
||||
{"textures/wizwood1_6", "textures/id1/wizwood1_6"},
|
||||
{"textures/wizwood1_7", "textures/id1/wizwood1_7"},
|
||||
{"textures/wizwood1_8", "textures/id1/wizwood1_8"},
|
||||
{"textures/wkey02_1", "textures/id1/wkey02_1"},
|
||||
{"textures/wkey02_2", "textures/id1/wkey02_2"},
|
||||
{"textures/wkey02_3", "textures/id1/wkey02_3"},
|
||||
{"textures/wmet1_1", "textures/id1/wmet1_1"},
|
||||
{"textures/wmet2_1", "textures/id1/wmet2_1"},
|
||||
{"textures/wmet2_2", "textures/id1/wmet2_2"},
|
||||
{"textures/wmet2_3", "textures/id1/wmet2_3"},
|
||||
{"textures/wmet2_4", "textures/id1/wmet2_4"},
|
||||
{"textures/wmet2_6", "textures/id1/wmet2_6"},
|
||||
{"textures/wmet3_1", "textures/id1/wmet3_1"},
|
||||
{"textures/wmet3_3", "textures/id1/wmet3_3"},
|
||||
{"textures/wmet3_4", "textures/id1/wmet3_4"},
|
||||
{"textures/wmet4_2", "textures/id1/wmet4_2"},
|
||||
{"textures/wmet4_3", "textures/id1/wmet4_3"},
|
||||
{"textures/wmet4_4", "textures/id1/wmet4_4"},
|
||||
{"textures/wmet4_5", "textures/id1/wmet4_5"},
|
||||
{"textures/wmet4_6", "textures/id1/wmet4_6"},
|
||||
{"textures/wmet4_7", "textures/id1/wmet4_7"},
|
||||
{"textures/wmet4_8", "textures/id1/wmet4_8"},
|
||||
{"textures/wood1_1", "textures/id1/wood1_1"},
|
||||
{"textures/wood1_5", "textures/id1/wood1_5"},
|
||||
{"textures/wood1_7", "textures/id1/wood1_7"},
|
||||
{"textures/wood1_8", "textures/id1/wood1_8"},
|
||||
{"textures/woodflr1_2", "textures/id1/woodflr1_2"},
|
||||
{"textures/woodflr1_4", "textures/id1/woodflr1_4"},
|
||||
{"textures/woodflr1_5", "textures/id1/woodflr1_5"},
|
||||
{"textures/wswamp1_2", "textures/id1/wswamp1_2"},
|
||||
{"textures/wswamp1_4", "textures/id1/wswamp1_4"},
|
||||
{"textures/wswamp2_1", "textures/id1/wswamp2_1"},
|
||||
{"textures/wswamp2_2", "textures/id1/wswamp2_2"},
|
||||
{"textures/wswitch1", "textures/id1/wswitch1"},
|
||||
{"textures/wwall1_1", "textures/id1/wwall1_1"},
|
||||
{"textures/wwood1_5", "textures/id1/wwood1_5"},
|
||||
{"textures/wwood1_7", "textures/id1/wwood1_7"},
|
||||
{"textures/z_exit", "textures/id1/z_exit"},
|
||||
|
||||
|
||||
// TODO add more wads like prototype, Makkon et cetera
|
||||
};
|
||||
|
||||
static const int numTextureConvertNames = sizeof( textureConvertNames ) / sizeof( textureConvertNames[0] );
|
||||
|
||||
void idMapFile::WadTextureToMaterial( const char* material, idStr& matName )
|
||||
{
|
||||
for( int i = 0 ; i < numTextureConvertNames ; i++ )
|
||||
{
|
||||
if( !idStr::Icmp( material, textureConvertNames[i].quakeName ) )
|
||||
{
|
||||
matName = textureConvertNames[i].doomName;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
matName = material;
|
||||
}
|
||||
|
||||
|
||||
// RB end
|
||||
|
|
|
@ -484,6 +484,9 @@ public:
|
|||
bool WriteJSON( const char* fileName, const char* ext, bool fromBasePath = true );
|
||||
bool ConvertToPolygonMeshFormat();
|
||||
bool ConvertToValve220Format();
|
||||
|
||||
// converts Wad texture names to valid Doom 3 materials and gives every entity a unique name
|
||||
bool ConvertQuakeToDoom();
|
||||
// RB end
|
||||
|
||||
// get the number of entities in the map
|
||||
|
@ -516,8 +519,8 @@ public:
|
|||
bool NeedsReload();
|
||||
|
||||
int AddEntity( idMapEntity* mapentity );
|
||||
idMapEntity* FindEntity( const char* name );
|
||||
idMapEntity* FindEntityAtOrigin( const idVec3& org ); // RB
|
||||
idMapEntity* FindEntity( const char* name ) const;
|
||||
idMapEntity* FindEntityAtOrigin( const idVec3& org ) const; // RB
|
||||
void RemoveEntity( idMapEntity* mapEnt );
|
||||
void RemoveEntities( const char* classname );
|
||||
void RemoveAllEntities();
|
||||
|
@ -528,6 +531,7 @@ public:
|
|||
}
|
||||
|
||||
static void AddMaterialToCollection( const char* material, idStrList& textureCollections );
|
||||
static void WadTextureToMaterial( const char* material, idStr& matName );
|
||||
|
||||
protected:
|
||||
float version;
|
||||
|
@ -540,6 +544,7 @@ protected:
|
|||
|
||||
private:
|
||||
void SetGeometryCRC();
|
||||
const char* GetUniqueEntityName( const char* classname ) const; // RB
|
||||
};
|
||||
|
||||
ID_INLINE idMapFile::idMapFile()
|
||||
|
|
Loading…
Reference in a new issue