예제 #1
0
        public string GenerateHtmlNecropolis(string dir, bool showEnemies)
        {
            Console.WriteLine("Generating Website: Necropolis");
            var sb = new StringBuilder();

            AddHeader(sb, Version, "Necropolis of Nostalgia");
            sb.AppendLine("<body>");
            AddMenuBar(sb, Version, VersionPostfix, Locale, Language, IconsWithItems, InGameIdDict);

            foreach (var floor in NecropolisFloors.FloorList)
            {
                int    floorNumberLong      = Int32.Parse(floor.RefString1.Split('_').Last());
                int    floorNumber          = (floorNumberLong - 1) % 10 + 1;
                int    floorStratumAsNumber = (floorNumberLong - 1) / 10 + 1;
                string floorStratum         = ((char)(floorStratumAsNumber + 64)).ToString();
                string html = NecropolisMaps[floor.RefString2].GetDataAsHtml(floorStratum, floorNumber, showEnemies ? Enemies : null, showEnemies ? EnemyGroups : null, showEnemies ? EncounterGroups : null, Version, VersionPostfix, Locale, Language, NecropolisTreasures, Items, InGameIdDict);
                sb.Append(html);
                sb.Append("<hr>");

                StringBuilder sb2 = new StringBuilder();
                AddHeader(sb2, Version, floorStratum + "-" + floorNumber + " - Necropolis of Nostalgia");
                sb2.Append("<body>");
                sb2.Append(html);
                AddFooter(sb2);
                sb2.Append("</body></html>");
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(showEnemies ? WebsiteSection.NecropolisEnemy : WebsiteSection.NecropolisMap, Version, VersionPostfix, Locale, Language, false, extra: floorStratum + floorNumber)), sb2.ToString(), Encoding.UTF8);
            }

            /*
             * foreach ( var treasureLayout in NecropolisTreasures.TreasureInfoList ) {
             *      sb.Append( "<hr>" );
             *      sb.Append( treasureLayout.GetDataAsHtml( Items, InGameIdDict ) );
             * }
             * //*/

            AddFooter(sb);
            sb.AppendLine("</body></html>");
            return(sb.ToString());
        }
        public static void AddMenuBar(StringBuilder sb, GameVersion Version, string versionPostfix, GameLocale locale, WebsiteLanguage websiteLanguage, IEnumerable <uint> IconsWithItems, Dictionary <uint, TSS.TSSEntry> InGameIdDict)
        {
            sb.AppendLine("<div id=\"header-name\">");
            sb.AppendLine("<a href=\"index.html\">Tales of Vesperia - Data &amp; Translation Guide</a>");
            sb.AppendLine("</div>");

            sb.AppendLine("<div id=\"topmenu\">");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Arte, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/main-01.png\" title=\"Artes\"></a>");
            //sb.AppendLine( "<a href=\"" + WebsiteGenerator.GetUrl( WebsiteSection.Equipment, Version, versionPostfix, locale, websiteLanguage, false ) + "\"><img src=\"menu-icons/main-02.png\" title=\"Equipment\"></a>" );
            //sb.AppendLine( "<a href=\"" + WebsiteGenerator.GetUrl( WebsiteSection.Item, Version, versionPostfix, locale, websiteLanguage, false ) + "\"><img src=\"menu-icons/main-03.png\" title=\"Items\"></a>" );
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Skill, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/main-04.png\" title=\"Skills\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Strategy, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/main-05.png\" title=\"Strategy\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Recipe, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/main-06.png\" title=\"Recipes\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Shop, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/main-02.png\" title=\"Shops\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Title, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/main-07.png\" title=\"Titles\"></a>");
            //sb.AppendLine( "<img src=\"menu-icons/main-08.png\" title=\"Library\">" );
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Synopsis, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/sub-09.png\" title=\"Synopsis\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.BattleBook, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/sub-14.png\" title=\"Battle Book\"></a>");
            //sb.AppendLine( "<a href=\"" + WebsiteGenerator.GetUrl( WebsiteSection.Enemy, Version, versionPostfix, locale, websiteLanguage, false ) + "\"><img src=\"menu-icons/sub-13.png\" title=\"Monster Book\"></a>" );
            //sb.AppendLine( "<a href=\"" + WebsiteGenerator.GetUrl( WebsiteSection.Item, Version, versionPostfix, locale, websiteLanguage, false ) + "\"><img src=\"menu-icons/sub-11.png\" title=\"Collector's Book\"></a>" );
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Location, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/sub-10.png\" title=\"World Map\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.SearchPoint, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"etc/U_ITEM_IRIKIAGRASS-64px.png\" title=\"Search Points\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Record, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/sub-08.png\" title=\"Records\"></a>");
            //sb.AppendLine( "<img src=\"menu-icons/main-09.png\" title=\"Save & Load\">" );
            //sb.AppendLine( "<img src=\"menu-icons/sub-06.png\" title=\"Save\">" );
            //sb.AppendLine( "<img src=\"menu-icons/sub-05.png\" title=\"Load\">" );
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Settings, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/sub-07.png\" title=\"Settings\"></a>");
            sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.GradeShop, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"item-categories/cat-01.png\" title=\"Grade Shop\"></a>");
            if (Version.HasPS3Content())
            {
                sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.NecropolisMap, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"menu-icons/weather-4-64px.png\" title=\"Necropolis of Nostalgia Maps\"></a>");
            }
            if (Version == GameVersion.PS3)
            {
                sb.AppendLine("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Trophy, Version, versionPostfix, locale, websiteLanguage, false) + "\"><img src=\"trophies/gold.png\" title=\"Trophies\"></a>");
            }
            sb.AppendLine("<br>");
            for (uint i = 2; i < 12; ++i)
            {
                sb.Append("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Item, Version, versionPostfix, locale, websiteLanguage, false, category: (int)i) + "\">");
                sb.Append("<img src=\"item-categories/cat-" + i.ToString("D2") + ".png\" title=\"" + InGameIdDict[33912572u + i].StringEngOrJpnHtml(Version, InGameIdDict, websiteLanguage) + "\" height=\"32\">");
                sb.Append("</a>");
            }
            sb.AppendLine();
            for (uint i = 0; i < 9; ++i)
            {
                sb.Append("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Enemy, Version, versionPostfix, locale, websiteLanguage, false, category: (int)i) + "\">");
                sb.Append("<img src=\"monster-categories/cat-" + i + ".png\" title=\"" + InGameIdDict[33912323u + i].StringEngOrJpnHtml(Version, InGameIdDict, websiteLanguage) + "\" height=\"32\">");
                sb.Append("</a>");
            }
            sb.AppendLine("<br>");
            foreach (uint i in IconsWithItems)
            {
                sb.Append("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.Item, Version, versionPostfix, locale, websiteLanguage, false, icon: (int)i) + "\">");
                sb.Append("<img src=\"item-icons/ICON" + i + ".png\" height=\"16\" width=\"16\">");
                sb.Append("</a>");
            }
            sb.AppendLine("<br>");
            sb.Append("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.ScenarioStoryIndex, Version, versionPostfix, locale, websiteLanguage, false) + "\">Story</a> / ");
            sb.Append("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.ScenarioSidequestIndex, Version, versionPostfix, locale, websiteLanguage, false) + "\">Sidequests</a> / ");
            sb.Append("<a href=\"" + WebsiteGenerator.GetUrl(WebsiteSection.SkitIndex, Version, versionPostfix, locale, websiteLanguage, false) + "\">Skits</a>");
            sb.AppendLine();
            sb.AppendLine("</div>");
            sb.AppendLine("<hr>");
            sb.AppendLine("<div id=\"content\">");
        }
예제 #3
0
        public static string ScenarioProcessGroupsToHtml(List <List <ScenarioData> > groups, ScenarioType type, GameVersion version, string versionPostfix, GameLocale locale, WebsiteLanguage websiteLanguage, Dictionary <uint, TSS.TSSEntry> inGameIdDict, uint[] iconsWithItems, bool phpLinks = false)
        {
            var sb = new StringBuilder();

            AddHeader(sb, version, "Scenario Index (" + type.ToString() + ")");
            sb.AppendLine("<body>");
            AddMenuBar(sb, version, versionPostfix, locale, websiteLanguage, iconsWithItems, inGameIdDict);
            sb.Append("<div class=\"scenario-index\">");

            sb.Append("<ul>");
            for (int i = 0; i < groups.Count; ++i)
            {
                var group = groups[i];

                string commonBegin = ScenarioData.FindMostCommonStart(group);
                sb.Append("<li>");
                if (type == ScenarioType.Maps)
                {
                    sb.Append(commonBegin.Split(new char[] { '_', '0' })[0]);
                }
                else
                {
                    if (commonBegin != "")
                    {
                        sb.Append(commonBegin);
                    }
                    else
                    {
                        sb.Append("Intro");
                    }
                }

                sb.Append("<ul>");
                for (int j = 0; j < group.Count; ++j)
                {
                    var scene = group[j];

                    sb.Append("<li>");
                    sb.Append("<a href=\"");
                    sb.Append(WebsiteGenerator.GetUrl(WebsiteSection.Scenario, version, versionPostfix, locale, websiteLanguage, phpLinks, extra: scene.EpisodeId));
                    sb.Append("\">");
                    sb.Append(scene.HumanReadableNameWithoutPrefix(commonBegin));
                    sb.Append("</a>");

                    foreach (var skit in scene.Skits)
                    {
                        sb.Append("<ul>");
                        sb.Append("<li>");
                        sb.Append("<a href=\"");
                        sb.Append(WebsiteGenerator.GetUrl(WebsiteSection.Skit, version, versionPostfix, locale, websiteLanguage, phpLinks, extra: skit.RefString));
                        sb.Append("\">");
                        if (websiteLanguage.WantsJp())
                        {
                            sb.Append(inGameIdDict[skit.StringDicIdName].GetStringHtml(0, version, inGameIdDict));
                        }
                        if (websiteLanguage.WantsBoth())
                        {
                            sb.Append(" (");
                        }
                        if (websiteLanguage.WantsEn())
                        {
                            sb.Append(inGameIdDict[skit.StringDicIdName].GetStringHtml(1, version, inGameIdDict));
                        }
                        if (websiteLanguage.WantsBoth())
                        {
                            sb.Append(")");
                        }
                        sb.Append("</a>");
                        sb.Append("</li>");
                        sb.Append("</ul>");
                    }

                    sb.Append("</li>");
                }
                sb.Append("</ul>");

                sb.Append("</li>");
            }
            sb.Append("</ul>");
            sb.Append("</div>");

            AddFooter(sb);
            sb.AppendLine("</body></html>");

            return(sb.ToString());
        }
예제 #4
0
        public static void ExportToWebsite(WebsiteGenerator site, WebsiteLanguage lang, string dir, WebsiteGenerator siteComparison = null)
        {
            Directory.CreateDirectory(dir);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Item, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlItems(), Encoding.UTF8);
            foreach (uint i in site.IconsWithItems)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Item, site.Version, site.VersionPostfix, site.Locale, lang, false, icon: (int)i)), site.GenerateHtmlItems(icon: i), Encoding.UTF8);
            }
            for (uint i = 2; i < 12; ++i)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Item, site.Version, site.VersionPostfix, site.Locale, lang, false, category: (int)i)), site.GenerateHtmlItems(category: i), Encoding.UTF8);
            }
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Enemy, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlEnemies(), Encoding.UTF8);
            for (int i = 0; i < 9; ++i)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Enemy, site.Version, site.VersionPostfix, site.Locale, lang, false, category: (int)i)), site.GenerateHtmlEnemies(category: i), Encoding.UTF8);
            }
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.EnemyGroup, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlEnemyGroups(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.EncounterGroup, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlEncounterGroups(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Skill, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlSkills(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Arte, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlArtes(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Synopsis, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlSynopsis(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Recipe, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlRecipes(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Location, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlLocations(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Strategy, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlStrategy(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Shop, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlShops(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Title, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlTitles(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.BattleBook, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlBattleBook(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Record, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlRecords(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Settings, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlSettings(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.GradeShop, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlGradeShop(), Encoding.UTF8);
            if (site.BattleVoicesEnd != null)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.PostBattleVoices, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlBattleVoicesEnd(), Encoding.UTF8);
            }
            if (site.TrophyEn != null && site.TrophyJp != null)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.Trophy, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlTrophies(), Encoding.UTF8);
            }
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.SkitInfo, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlSkitInfo(), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.SkitIndex, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlSkitIndex(), Encoding.UTF8);
            if (site.SearchPoints != null)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.SearchPoint, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlSearchPoints(), Encoding.UTF8);
                site.SearchPoints.GenerateMap(site.WorldMapImage).Save(dir + site.Version + @"-SearchPoint.png");
            }
            if (site.NecropolisFloors != null && site.NecropolisTreasures != null && site.NecropolisMaps != null)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.NecropolisMap, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlNecropolis(dir, false), Encoding.UTF8);
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.NecropolisEnemy, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlNecropolis(dir, true), Encoding.UTF8);
            }
            if (site.NpcDefs != null)
            {
                System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.StringDic, site.Version, site.VersionPostfix, site.Locale, lang, false)), site.GenerateHtmlNpc(), Encoding.UTF8);
            }

            string databasePath = Path.Combine(dir, "_db-" + site.Version + ".sqlite");

            System.IO.File.Delete(databasePath);
            new GenerateDatabase(site, new System.Data.SQLite.SQLiteConnection("Data Source=" + databasePath), siteComparison).ExportAll();

            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.ScenarioStoryIndex, site.Version, site.VersionPostfix, site.Locale, lang, false)), WebsiteGenerator.ScenarioProcessGroupsToHtml(site.ScenarioGroupsStory, ScenarioType.Story, site.Version, site.VersionPostfix, site.Locale, lang, site.InGameIdDict, site.IconsWithItems), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.ScenarioSidequestIndex, site.Version, site.VersionPostfix, site.Locale, lang, false)), WebsiteGenerator.ScenarioProcessGroupsToHtml(site.ScenarioGroupsSidequests, ScenarioType.Sidequests, site.Version, site.VersionPostfix, site.Locale, lang, site.InGameIdDict, site.IconsWithItems), Encoding.UTF8);
            System.IO.File.WriteAllText(Path.Combine(dir, WebsiteGenerator.GetUrl(WebsiteSection.ScenarioMapIndex, site.Version, site.VersionPostfix, site.Locale, lang, false)), WebsiteGenerator.ScenarioProcessGroupsToHtml(site.ScenarioGroupsMaps, ScenarioType.Maps, site.Version, site.VersionPostfix, site.Locale, lang, site.InGameIdDict, site.IconsWithItems), Encoding.UTF8);
        }