Example #1
0
 public teStructuredData GetStructuredData(ulong guid)
 {
     using (Stream stream = _tankHandler.OpenFile(guid)) {
         if (stream == null)
         {
             return(null);
         }
         return(new teStructuredData(stream));
     }
 }
Example #2
0
        public static void AllCMF(string[] args)
        {
            ushort[] types = args.Skip(2).Select(x => ushort.Parse(x, NumberStyles.HexNumber)).ToArray();

            Directory.CreateDirectory(AllCMFDir);
            foreach (KeyValuePair <ulong, ProductHandler_Tank.Asset> asset in TankHandler.Assets)
            {
                ushort type = teResourceGUID.Type(asset.Key);
                if (!types.Contains(type))
                {
                    continue;
                }
                try {
                    using (Stream stream = TankHandler.OpenFile(asset.Key)) {
                        if (stream == null)
                        {
                            continue;
                        }
                        string typeDir = Path.Combine(AllCMFDir, type.ToString("X3"));
                        Directory.CreateDirectory(typeDir);
                        using (Stream file = File.OpenWrite(Path.Combine(typeDir, teResourceGUID.AsString(asset.Key)))) {
                            stream.CopyTo(file);
                        }
                    }
                } catch (Exception e) {
                    Console.Out.WriteLine(e);
                }
            }
        }
Example #3
0
        public ModeResult Run(string[] args)
        {
            string gameDir = args[1];
            ushort type    = ushort.Parse(args[2], NumberStyles.HexNumber);

            ClientCreateArgs createArgs = new ClientCreateArgs {
                SpeechLanguage = "enUS",
                TextLanguage   = "enUS"
            };

            TankLib.TACT.LoadHelper.PreLoad();
            ClientHandler client = new ClientHandler(gameDir, createArgs);

            _tankHandler = (ProductHandler_Tank)client.ProductHandler;
            TankLib.TACT.LoadHelper.PostLoad(client);

            foreach (var asset in _tankHandler.Assets)
            {
                if (teResourceGUID.Type(asset.Key) != type)
                {
                    continue;
                }
                string filename = teResourceGUID.AsString(asset.Key);
                using (Stream stream = _tankHandler.OpenFile(asset.Key)) {
                    if (stream == null)
                    {
                        continue;
                    }
                    teStructuredData structuredData = new teStructuredData(stream);
                }
            }

            return(ModeResult.Success);
        }