static Database() { var dbFile = Path.GetFullPath(Path.Combine(Settings.ConfigDirectory, "mapleseed.db")); if (LiteDatabase == null) { DbFileStream = Helper.FileOpenStream(dbFile); LiteDatabase = new LiteDatabase(DbFileStream); SettingsCollection = LiteDatabase.GetCollection <Config>("Settings"); } if (GraphicPacks == null) { GraphicPacks = new GraphicPackDatabase(LiteDatabase); } WiiuTitleDatabase.Load(); DownloadManager = new DownloadManager(WiiuClient.DownloadTitleTask); Task.Run(async() => { while (DatabaseLoaded == null || DatabaseCount < MaxDatabaseCount) { await Task.Delay(250); } DatabaseLoaded?.Invoke(new object[] { GraphicPacks }, EventArgs.Empty); }); }
static Database() { if (string.IsNullOrEmpty(DatabaseFileLocation)) { DatabaseFileLocation = Helper.FullPath(Settings.ConfigDirectory, "mapleseed.db"); } InitializeDatabase(); VersionCheck(); WiiuTitleDatabase.Load(); if (GraphicPacks == null) { GraphicPacks = new GraphicPackDatabase(LiteDatabase); } if (DownloadManager == null) { DownloadManager = new DownloadManager(WiiuClient.DownloadTitleTask); } Task.Run(async() => { while (DatabaseLoaded == null || DatabaseCount < MaxDatabaseCount) { await Task.Delay(250); } DatabaseLoaded?.Invoke(new object[] { GraphicPacks }, EventArgs.Empty); }); }
/// <summary> /// Creates a blank ticket using the referenced title /// </summary> /// <param name="title">The title</param> /// <returns></returns> public static byte[] Create(TitleKey title) { if (string.IsNullOrEmpty(title.titleID)) { return(null); } var tiktem = ("00010004d15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11a" + "d15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed" + "15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11a" + "d15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed" + "15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11a" + "d15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed" + "15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11ad15ea5ed15abe11a" + "d15ea5ed15abe11a00000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000000000000526f6f74" + "2d434130303030303030332d585330303030303030630000000000000000000000000000" + "000000000000000000000000000000000000000000000000feedfacefeedfacefeedface" + "feedfacefeedfacefeedfacefeedfacefeedfacefeedfacefeedfacefeedfacefeedface" + "feedfacefeedfacefeedface010000cccccccccccccccccccccccccccccccc0000000000" + "0000000000000000aaaaaaaaaaaaaaaa0000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000000" + "000000000001000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000000010014000000ac" + "000000140001001400000000000000280000000100000084000000840003000000000000" + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000" + "000000000000000000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000").HexToBytes(); var tikdata = new List <byte>(tiktem); switch (title.ContentType) { case "DLC": PatchDlc(ref tikdata); break; case "Demo": PatchDemo(ref tikdata); break; } var versions = WiiuTitleDatabase.GetVersions($"00050000{title.Lower8Digits()}"); tikdata.InsertRange(TK + 0xA6, versions[0].ToBytes()); tikdata.InsertRange(TK + 0x9C, title.titleID.ToUpper().HexToBytes()); tikdata.InsertRange(TK + 0x7F, title.titleKey.ToUpper().HexToBytes()); return(tikdata.ToArray()); }
public static Title FindTitle(string id) { if (string.IsNullOrEmpty(id)) { return(null); } var list = GetLibraryList(); var titles = list.Where(x => x.ID == id.ToUpper()).ToList(); if (!titles.Any()) { titles = WiiuTitleDatabase.Find(id).ToList(); } return(titles.FirstOrDefault()); }
private static async Task <IEnumerable <Title> > GetTitles() { return(await WiiuTitleDatabase.All()); }