From: Jay Freeman (saurik) Date: Thu, 20 Oct 2011 04:18:15 +0000 (+0000) Subject: Added some really complex path scanning code. X-Git-Tag: v0.9.3902~17 X-Git-Url: https://git.saurik.com/winterboard.git/commitdiff_plain/f6bf440fdece2a9ec61589c3c9d226b514e60ed8 Added some really complex path scanning code. --- diff --git a/Library.mm b/Library.mm index 505851f..badc882 100644 --- a/Library.mm +++ b/Library.mm @@ -248,14 +248,40 @@ static NSArray *$useScale$(NSArray *files, bool use = true) { if (Scale_ == 1) return files; - NSMutableArray *scaled([NSMutableArray arrayWithCapacity:([files count] * 2)]); + NSString *idiom(IsWild_ ? @"ipad" : @"iphone"); + + NSMutableArray *scaled([NSMutableArray arrayWithCapacity:([files count] * 4)]); for (NSString *file in files) { - if (use && Scale_ == 2) - [scaled addObject:[NSString stringWithFormat:@"%@@2x.%@", [file stringByDeletingPathExtension], [file pathExtension]]]; - if ([file hasSuffix:@"@2x~iphone.png"]) - [scaled addObject:[[file substringWithRange:NSMakeRange(0, [file length] - 11)] stringByAppendingPathExtension:@"png"]]; - [scaled addObject:file]; + NSString *base([file stringByDeletingPathExtension]); + NSString *extension([file pathExtension]); + + if (use) { + if (Scale_ == 2) { + [scaled addObject:[NSString stringWithFormat:@"%@@2x~%@.%@", base, idiom, extension]]; + if (!IsWild_) + [scaled addObject:[NSString stringWithFormat:@"%@@2x.%@", base, extension]]; + } + + [scaled addObject:[NSString stringWithFormat:@"%@~%@.%@", base, idiom, extension]]; + + // if (!IsWild_) <- support old themes + [scaled addObject:file]; + } else if ([base hasSuffix: @"@2x"]) { + [scaled addObject:[NSString stringWithFormat:@"%@~iphone.%@", base, extension]]; + [scaled addObject:file]; + + NSString *rest([base substringWithRange:NSMakeRange(0, [base length] - 3)]); + [scaled addObject:[NSString stringWithFormat:@"%@~iphone.%@", rest, extension]]; + [scaled addObject:[rest stringByAppendingPathExtension:extension]]; + } else { + // XXX: this code isn't really complete + + [scaled addObject:file]; + + if ([base hasSuffix:@"~iphone"]) + [scaled addObject:[[base substringWithRange:NSMakeRange(0, [base length] - 7)] stringByAppendingPathExtension:extension]]; + } } return scaled;