Пример #1
0
        public static void XFile(string arg)
        {
            using (FileStream stream = new FileStream(arg, FileMode.Open))
                using (BinaryReader reader = new BinaryReader(stream))
                {
                    XFile file = new XFile(reader);

                    string modelFormat = Config.GetValueOrDefault("Models", "Format", "DAE");
                    if (modelFormat == "OBJ")
                    {
                        bool splitMaterials = Config.GetValueOrDefault("OBJ", "SplitByMaterial", "False").ToLower() == "true";
                        Console.WriteLine("    Writing OBJ file...");
                        XUtils.ExportOBJ(file.Objects[0][1].Object, Path.ChangeExtension(arg, ".obj"), SharpDX.Matrix.RotationX(-SharpDX.MathUtil.PiOverTwo), true, ".dds", splitMaterials);
                    }
                    else if (modelFormat == "DAE")
                    {
                        BHDFile bhd = null;
                        if (File.Exists(Path.ChangeExtension(arg, ".bhd")))
                        {
                            Console.WriteLine("    Reading BHD...");
                            bhd = new BHDFile(Path.ChangeExtension(arg, ".bhd"));
                        }

                        /*if (bhd == null)
                         * {
                         *  Console.WriteLine("[ERROR]: No BHD file with matching name! Aborting.");
                         *  throw new Exception();
                         * }*/
                        Console.WriteLine("    Writing DAE file...");
                        bool stripUnusedMaterials = Config.GetValueOrDefault("DAE", "StripUnusedMaterials", "False").ToLower() == "true";
                        Collada.Utils.ExportCOLLADA(file, bhd, Path.ChangeExtension(arg, ".dae"), SharpDX.Matrix.RotationX(-SharpDX.MathUtil.PiOverTwo), true, ".dds", stripUnusedMaterials);
                    }
                    else if (modelFormat == "TXT")
                    {
                        Console.WriteLine("    Dumping X tokens...");
                        stream.Position = 0;
                        XHeader          header    = new XHeader(reader);
                        List <XTemplate> templates = new List <XTemplate>();
                        List <XObject>   objects   = new List <XObject>();
                        XReader          xreader   = new XReader(reader, header, templates, objects);

                        using (StreamWriter writer = new StreamWriter(Path.ChangeExtension(arg, ".txt")))
                        {
                            foreach (XToken token in xreader.Tokens)
                            {
                                writer.WriteLine(token.ToString());
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("    [ERROR]: Invalid model format specified in LOMNTool.ini! (LOMNTool.ini:[Models].Format)");
                    }
                }
        }
Пример #2
0
        private void response(HttpContext context)
        {
            string origin  = context.Request.Headers["Origin"];
            var    headers = new XHeader().ResponseHeaders(origin);

            foreach (var kv in headers)
            {
                responseAppendHeader(context, kv.Key, kv.Value);
            }
            context.Response.ContentType = "application/json;charset=utf-8";
        }
Пример #3
0
        private ResourceHandler getResourceHandler(IRequest request)
        {
            var    result  = new ResourceHandler();
            string origin  = request.Headers["Origin"];
            var    headers = new XHeader().ResponseHeaders(origin);

            foreach (var kv in headers)
            {
                responseAppendHeader(result, kv.Key, kv.Value);
            }
            return(result);
        }