private static void ConvertScbToGltf(FileConversionParameter parameter) { WadEntry staticObjectWadEntry = parameter.Parameter; StaticObject staticObject = StaticObject.ReadSCB(staticObjectWadEntry.GetDataHandle().GetDecompressedStream()); ModelRoot gltf = staticObject.ToGltf(); gltf.SaveGLB(Path.ChangeExtension(parameter.OutputPath, "glb")); }
private static void ConvertSimpleSkinToGltf(FileConversionParameter parameter) { WadEntry simpleSkinWadEntry = parameter.Parameter; SimpleSkin simpleSkin = new SimpleSkin(simpleSkinWadEntry.GetDataHandle().GetDecompressedStream()); ModelRoot gltf = simpleSkin.ToGltf(); gltf.SaveGLB(Path.ChangeExtension(parameter.OutputPath, "glb")); }
private static void ConvertMapGeometryToGltf(FileConversionParameter parameter) { WadEntry mapGeometryWadEntry = parameter.Parameter; MapGeometry mapGeometry = new MapGeometry(mapGeometryWadEntry.GetDataHandle().GetDecompressedStream()); ModelRoot gltf = mapGeometry.ToGLTF(); gltf.SaveGLB(Path.ChangeExtension(parameter.OutputPath, "glb")); }
private static void ConvertSimpleSkinWithSkeletonToGltf(FileConversionParameter parameter) { WadEntry simpleSkinWadEntry = parameter.Parameter; WadEntry skeletonWadEntry = parameter.AdditionalParameters.FirstOrDefault(x => x.Item1 == FileConversionAdditionalParameterType.Skeleton).Item2; SimpleSkin simpleSkin = new SimpleSkin(simpleSkinWadEntry.GetDataHandle().GetDecompressedStream()); Skeleton skeleton = new Skeleton(skeletonWadEntry.GetDataHandle().GetDecompressedStream()); ModelRoot gltf = simpleSkin.ToGltf(skeleton); gltf.SaveGLB(Path.ChangeExtension(parameter.OutputPath, "glb")); }
private static IEnumerable <string> ProcessLegacyDirList(WadEntry entry) { using Stream entryStream = entry.GetDataHandle().GetDecompressedStream(); using (BinaryReader br = new BinaryReader(entryStream)) { uint pathCount = br.ReadUInt32(); for (int i = 0; i < pathCount; i++) { yield return(Encoding.ASCII.GetString(br.ReadBytes(br.ReadInt32()))); } } }
private static void ConvertScbToObj(FileConversionParameter parameter) { WadEntry staticObjectWadEntry = parameter.Parameter; StaticObject staticObject = StaticObject.ReadSCB(staticObjectWadEntry.GetDataHandle().GetDecompressedStream()); var objs = staticObject.ToObj(); string baseName = Path.GetFileNameWithoutExtension(parameter.OutputPath); foreach ((string material, OBJFile obj) in objs) { string objPath = parameter.OutputPath.Replace(baseName, baseName + '_' + material); obj.Write(objPath); } }
public static string Get(WadEntry entry) { if (_hashtable.ContainsKey(entry.XXHash)) { return(_hashtable[entry.XXHash]); } else { Stream decompressedStream = entry.GetDataHandle().GetDecompressedStream(); string extension = LeagueUtilities.GetExtension(LeagueUtilities.GetExtensionType(decompressedStream)); return(string.Format("{0}.{1}", entry.XXHash.ToString("x16"), extension)); } }