@@ -22,6 +22,30 @@ public static async Task<List<int>> DownloadLastSubmitted(this RedumpClient clie
2222 return await client . CheckSingleWIPPage ( Constants . WipDumpsUrl , outDir , forceDownload , forceContinue ) ?? [ ] ;
2323 }
2424
25+ /// <summary>
26+ /// Download the specified range of WIP disc pages
27+ /// </summary>
28+ /// <param name="client">RedumpClient for connectivity</param>
29+ /// <param name="wipIds">Set of WIP IDs to download</param>
30+ /// <param name="outDir">Output directory to save data to</param>
31+ /// <param name="forceDownload">True to force all downloads, false otherwise</param>
32+ /// <returns>All WIP IDs in last submitted range, empty on error</returns>
33+ public static async Task < List < int > > DownloadWIPSet ( this RedumpClient client , List < int > wipIds , string ? outDir , bool forceDownload )
34+ {
35+ List < int > ids = [ ] ;
36+ foreach ( int id in wipIds )
37+ {
38+ bool downloaded = await client . DownloadSingleWIPID ( id , outDir , rename : true , forceDownload ) ;
39+ if ( downloaded )
40+ {
41+ ids . Add ( id ) ;
42+ DelayHelper . DelayRandom ( ) ;
43+ }
44+ }
45+
46+ return ids ;
47+ }
48+
2549 /// <summary>
2650 /// Download the specified range of WIP disc pages
2751 /// </summary>
@@ -30,8 +54,12 @@ public static async Task<List<int>> DownloadLastSubmitted(this RedumpClient clie
3054 /// <param name="forceDownload">True to force all downloads, false otherwise</param>
3155 /// <param name="minId">Starting ID for the range</param>
3256 /// <param name="maxId">Ending ID for the range (inclusive)</param>
33- /// <returns>All disc IDs in last submitted range, empty on error</returns>
34- public static async Task < List < int > > DownloadWIPRange ( this RedumpClient client , string ? outDir , bool forceDownload , int minId = 0 , int maxId = 0 )
57+ /// <returns>All WIP IDs that successfully downloaded, empty on error</returns>
58+ public static async Task < List < int > > DownloadWIPRange ( this RedumpClient client ,
59+ string ? outDir ,
60+ bool forceDownload ,
61+ int minId = 0 ,
62+ int maxId = 0 )
3563 {
3664 List < int > ids = [ ] ;
3765 for ( int id = minId ; id <= maxId ; id ++ )
0 commit comments