private void objectListView_CellEditFinished(object sender, CellEditEventArgs e) { if (e.NewValue.GetType() == typeof(ETextureGroup)) { ETextureGroup textureGroup = (ETextureGroup)e.NewValue; if (textureGroup != ETextureGroup.None) { (e.RowObject as ImportableFile).SetState(ImportableFile.EObjectState.Ready); } } }
/// <summary> /// Taken from game files /engine/textures/texturegroups.xml /// </summary> /// <param name="textureGroup"></param> /// <returns></returns> public static ETextureCompression GetTextureCompressionFromTextureGroup(ETextureGroup textureGroup) { switch (textureGroup) { case ETextureGroup.SystemNoMips: return(ETextureCompression.TCM_None); case ETextureGroup.MimicDecalsNormal: case ETextureGroup.FoliageDiffuse: case ETextureGroup.WorldDiffuseWithAlpha: case ETextureGroup.Particles: case ETextureGroup.WorldSpecular: case ETextureGroup.BillboardAtlas: //case ETextureGroup.TerrainDiffuseAtlas: // found in engine.xml but not in wcc enum /shrug case ETextureGroup.GUIWithAlpha: case ETextureGroup.CharacterDiffuseWithAlpha: case ETextureGroup.HeadDiffuseWithAlpha: return(ETextureCompression.TCM_DXTAlpha); case ETextureGroup.SpecialQuestDiffuse: case ETextureGroup.TerrainDiffuse: case ETextureGroup.GUIWithoutAlpha: case ETextureGroup.WorldDiffuse: case ETextureGroup.ParticlesWithoutAlpha: case ETextureGroup.CharacterDiffuse: case ETextureGroup.CharacterEmissive: case ETextureGroup.HeadDiffuse: case ETextureGroup.HeadEmissive: case ETextureGroup.DiffuseNoMips: return(ETextureCompression.TCM_DXTNoAlpha); //case ETextureGroup.TerrainNormalAtlas: // found in engine.xml but not in wcc enum /shrug case ETextureGroup.DetailNormalMap: case ETextureGroup.WorldNormalHQ: case ETextureGroup.SpecialQuestNormal: case ETextureGroup.CharacterNormalHQ: case ETextureGroup.HeadNormalHQ: return(ETextureCompression.TCM_NormalsHigh); case ETextureGroup.NormalmapGloss: case ETextureGroup.CharacterNormalmapGloss: case ETextureGroup.NormalsNoMips: return(ETextureCompression.TCM_NormalsGloss); case ETextureGroup.TerrainNormal: case ETextureGroup.CharacterNormal: case ETextureGroup.HeadNormal: return(ETextureCompression.TCM_Normals); case ETextureGroup.QualityOneChannel: return(ETextureCompression.TCM_QualityR); case ETextureGroup.QualityTwoChannels: return(ETextureCompression.TCM_QualityRG); case ETextureGroup.QualityColor: return(ETextureCompression.TCM_QualityColor); case ETextureGroup.Default: case ETextureGroup.Font: case ETextureGroup.Flares: case ETextureGroup.WorldNormal: case ETextureGroup.PostFxMap: //case ETextureGroup.TerrainSpecial: // found in engine.xml but not in wcc enum /shrug default: throw new NotImplementedException(); } }