Remove some further Unknown Unknown identifications.

This commit is contained in:
Ottermandias 2022-06-11 22:11:38 +02:00
parent c3a3a2cd35
commit bf58c6b098
2 changed files with 14 additions and 2 deletions

View file

@ -44,6 +44,7 @@ internal class GamePathParser : IGamePathParser
, { ObjectType.Character, new Regex[]{ new(@"chara/human/c(?'race'\d{4})/obj/(?'type'[a-z]+)/(?'typeabr'[a-z])(?'id'\d{4})/texture/(?'minus'(--)?)(v(?'variant'\d{2})_)?c\k'race'\k'typeabr'\k'id'(_(?'slot'[a-z]{3}))?(_[a-z])?_[a-z]\.tex")
, new(@"chara/human/c(?'race'\d{4})/obj/(?'type'[a-z]+)/(?'typeabr'[a-z])(?'id'\d{4})/texture")
, new(@"chara/common/texture/skin(?'skin'.*)\.tex")
, new(@"chara/common/texture/(?'catchlight'catchlight)(.*)\.tex")
, new(@"chara/common/texture/decal_(?'location'[a-z]+)/[-_]?decal_(?'id'\d+).tex") } } } }
, { FileType.Model, new Dictionary< ObjectType, Regex[] >()
{ { ObjectType.Weapon, new Regex[]{ new(@"chara/weapon/w(?'id'\d{4})/obj/body/b(?'weapon'\d{4})/model/w\k'id'b\k'weapon'\.mdl") } }
@ -223,6 +224,11 @@ internal class GamePathParser : IGamePathParser
private static GameObjectInfo HandleCustomization( FileType fileType, GroupCollection groups )
{
if( groups[ "catchlight" ].Success )
{
return GameObjectInfo.Customization( fileType, CustomizationType.Iris );
}
if( groups[ "skin" ].Success )
{
return GameObjectInfo.Customization( fileType, CustomizationType.Skin );

View file

@ -290,10 +290,16 @@ internal class ObjectIdentification : IObjectIdentifier
case CustomizationType.DecalFace:
set[ $"Customization: Face Decal {info.PrimaryId}" ] = null;
break;
case CustomizationType.Iris when race == ModelRace.Unknown:
set[ $"Customization: All Eyes (Catchlight)" ] = null;
break;
default:
{
var customizationString =
$"Customization: {race} {gender} {info.BodySlot} ({info.CustomizationType}) {info.PrimaryId}";
var customizationString = race == ModelRace.Unknown
|| info.BodySlot == BodySlot.Unknown
|| info.CustomizationType == CustomizationType.Unknown
? "Customization: Unknown"
: $"Customization: {race} {gender} {info.BodySlot} ({info.CustomizationType}) {info.PrimaryId}";
set[ customizationString ] = null;
break;
}