Example #1
0
        private void GenerateAliases(bool isDownscaled = false)
        {
            this.IsDownscaled = isDownscaled;
            var xmlData = BinaryDataUtil.SolveFile(this, this.OUTPUT_PATH, "assets");

            if (xmlData == null)
            {
                return;
            }

            var assets = xmlData.SelectSingleNode("//assets");

            for (int i = 0; i < assets.ChildNodes.Count; i++)
            {
                var node = assets.ChildNodes.Item(i);

                if (node == null)
                {
                    continue;
                }

                if (IsSmallFurni && node.OuterXml.Contains("_64_"))
                {
                    continue;
                }

                if (!IsSmallFurni && node.OuterXml.Contains("_32_"))
                {
                    continue;
                }

                var eliasAlias = new EliasAsset(this, node);
                eliasAlias.Parse();

                if (eliasAlias.ShockwaveAssetName == null && !eliasAlias.IsIcon && !eliasAlias.IsShadow)
                {
                    continue;
                }

                Assets.Add(eliasAlias);
            }

            foreach (var eliasAlias in Assets)
            {
                if (eliasAlias.IsIcon)
                {
                    continue;
                }

                eliasAlias.WriteAssets();
                eliasAlias.WriteFlippedAssets();
                eliasAlias.WriteImageNames();
                eliasAlias.WriteRegPointData();
            }

            this.SantiyCheckFrames();
        }
Example #2
0
        private void SantiyCheckFrames()
        {
            if (IsWallItem)
            {
                return;
            }

            List <string> assetTypes = new List <string>();

            for (int i = 0; i < Assets.Count; i++)
            {
                var asset = Assets[i];

                if (asset.IsIcon)
                {
                    continue;
                }

                if (asset.IsShadow)
                {
                    continue;
                }

                string[] data   = asset.ShockwaveAssetName.Replace((this.IsSmallFurni ? "s_" : "") + Sprite + "_", "").Split('_');
                string   member = (this.IsSmallFurni ? "s_" : "") + Sprite + "_" + data[0] + "_" + data[1] + "_" + data[2] + "_" + data[3] + "_" + data[4];

                if (!assetTypes.Contains(member))
                {
                    assetTypes.Add(member);
                }
                else
                {
                    continue;
                }

                /*Console.WriteLine("-----------");
                *  Console.WriteLine("Finding: " + member + "_0");
                *
                *  foreach (var a in Assets)
                *  {
                *   Console.WriteLine(a.ShockwaveAssetName);
                *  }
                *
                *  Console.WriteLine("-----------");*/

                if (Assets.Count(f => f.ShockwaveAssetName == (member + "_0")) == 0)
                {
                    if (asset.IsMemberAlias)
                    {
                        string[] sourceData   = asset.ShockwaveSourceAliasName.Replace(Sprite + "_", "").Split('_');
                        string   sourceMember = Sprite + "_" + sourceData[0] + "_" + sourceData[1] + "_" + sourceData[2] + "_" + sourceData[3] + "_" + sourceData[4];

                        var newAsset = new EliasAsset(this, asset.Node);
                        newAsset.Parse();
                        newAsset.IsMemberAlias            = true;
                        newAsset.ShockwaveAssetName       = (member + "_0");
                        newAsset.ShockwaveSourceAliasName = (sourceMember + "_0");
                        Assets.Add(newAsset);

                        //Console.WriteLine("Added to memberalias: " + newAsset.ShockwaveAssetName + " => " + newAsset.ShockwaveSourceAliasName);
                    }
                    else
                    {
                        //Console.WriteLine("Added source: " + (member + "_0"));

                        Bitmap bmp = new Bitmap(1, 1);
                        bmp.Save(Path.Combine(IMAGE_PATH, (member + "_0") + ".png"), ImageFormat.Png);
                        File.WriteAllText(Path.Combine(IMAGE_PATH, (member + "_0") + ".txt"), "0,0");
                    }
                }
            }
        }