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 & 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\">"); }
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()); }
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); }