mirror of
				https://github.com/SoPat712/YTLitePlus.git
				synced 2025-10-30 20:34:03 -04:00 
			
		
		
		
	Rewrite VersionSpooferLite.xm
Consistency with the uYouEnhanced version. also the new version spoofer code is structured better and isn’t poorly made.
This commit is contained in:
		 aricloverGitHub (INACTIVE)
					aricloverGitHub (INACTIVE)
				
			
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			 GitHub
						GitHub
					
				
			
						parent
						
							1e6153ed78
						
					
				
				
					commit
					0ccc3359c8
				
			| @@ -1,143 +1,49 @@ | ||||
| #import "../YTLitePlus.h" | ||||
|  | ||||
| typedef struct { | ||||
|     int version; | ||||
|     NSString *appVersion; | ||||
| } VersionMapping; | ||||
|  | ||||
| static VersionMapping versionMappings[] = { | ||||
|     {0, @"19.49.7"}, // Last v19 App Version | ||||
|     {1, @"19.28.1"}, // New 2024 Thin Outline Icons | ||||
|     {2, @"19.26.5"}, // Restore 2020's Thin Outline Icons | ||||
|     {3, @"18.49.3"}, // Last v18 App Version | ||||
|     {4, @"18.35.4"}, // Oldest Supported App Version (v18) - this is a replacement of v17.33.2. | ||||
|     {5, @"18.34.5"}, // Brings back Library Tab - Deprecated/Unsupported | ||||
|     {6, @"18.33.3"}, // Removes Playables in Explore - Deprecated/Unsupported | ||||
|     {7, @"18.18.2"}, // Fixes YTClassicVideoQuality + YTSpeed - Deprecated/Unsupported | ||||
|     {8, @"18.01.2"}, // First v18 App Version - Deprecated/Unsupported | ||||
|     {9, @"17.49.6"}, // Last v17 App Version - Deprecated/Unsupported | ||||
|     {10, @"17.38.10"}, // Fixes LowContrastMode + No Rounded Thumbnails - Deprecated/Unsupported | ||||
|     {11, @"17.33.2"} // Oldest Supported App Version (v17) - Deprecated/Unsupported | ||||
| }; | ||||
|  | ||||
| static int appVersionSpoofer() { | ||||
|     return [[NSUserDefaults standardUserDefaults] integerForKey:@"versionSpoofer"]; | ||||
| } | ||||
| static BOOL version0() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 0; | ||||
| } | ||||
| static BOOL version1() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 1; | ||||
| } | ||||
| static BOOL version2() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 2; | ||||
| } | ||||
| static BOOL version3() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 3; | ||||
| } | ||||
| static BOOL version4() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 4; | ||||
| } | ||||
| static BOOL version5() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 5; | ||||
| } | ||||
| static BOOL version6() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 6; | ||||
| } | ||||
| static BOOL version7() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 7; | ||||
| } | ||||
| static BOOL version8() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 8; | ||||
| } | ||||
| static BOOL version9() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 9; | ||||
| } | ||||
| static BOOL version10() { | ||||
|     return IsEnabled(@"enableVersionSpoofer_enabled") && appVersionSpoofer() == 10; | ||||
|  | ||||
| static BOOL isVersionSpooferEnabled() { | ||||
|     return IS_ENABLED(@"enableVersionSpoofer_enabled"); | ||||
| } | ||||
|  | ||||
| %group gVersion0 | ||||
| %hook YTVersionUtils // New 2024 Thin Outline Icons | ||||
| + (NSString *)appVersion { return @"19.28.1"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion1 | ||||
| %hook YTVersionUtils // Restore 2020's Thin Outline Icons | ||||
| + (NSString *)appVersion { return @"19.26.5"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion2 | ||||
| %hook YTVersionUtils // Last v18 App Version | ||||
| + (NSString *)appVersion { return @"18.49.3"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion3 | ||||
| %hook YTVersionUtils // Oldest Supported App Version (v18) - this is a replacement of v17.33.2. | ||||
| + (NSString *)appVersion { return @"18.35.4"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion4 | ||||
| %hook YTVersionUtils // Brings back Library Tab - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"18.34.5"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion5 | ||||
| %hook YTVersionUtils // Removes Playables in Explore - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"18.33.3"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion6 | ||||
| %hook YTVersionUtils // Fixes YTClassicVideoQuality + YTSpeed - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"18.18.2"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion7 | ||||
| %hook YTVersionUtils // First v18 App Version - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"18.01.2"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion8 | ||||
| %hook YTVersionUtils // Last v17 App Version - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"17.49.6"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion9 | ||||
| %hook YTVersionUtils // v17.38.10 Fixes LowContrastMode + No Rounded Thumbnails - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"17.38.10"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| %group gVersion10 | ||||
| %hook YTVersionUtils // Oldest Supported App Version (v17) - Deprecated/Unsupported | ||||
| + (NSString *)appVersion { return @"17.33.2"; } | ||||
| %end | ||||
| %end | ||||
|  | ||||
| # pragma mark - ctor | ||||
| %ctor { | ||||
|     %init; | ||||
|     if (version0()) { | ||||
|         %init(gVersion0); | ||||
|     } | ||||
|     if (version1()) { | ||||
|         %init(gVersion1); | ||||
|     } | ||||
|     if (version2()) { | ||||
|         %init(gVersion2); | ||||
|     } | ||||
|     if (version3()) { | ||||
|         %init(gVersion3); | ||||
|     } | ||||
|     if (version4()) { | ||||
|         %init(gVersion4); | ||||
|     } | ||||
|     if (version5()) { | ||||
|         %init(gVersion5); | ||||
|     } | ||||
|     if (version6()) { | ||||
|         %init(gVersion6); | ||||
|     } | ||||
|     if (version7()) { | ||||
|         %init(gVersion7); | ||||
|     } | ||||
|     if (version8()) { | ||||
|         %init(gVersion8); | ||||
|     } | ||||
|     if (version9()) { | ||||
|         %init(gVersion9); | ||||
|     } | ||||
|     if (version10()) { | ||||
|         %init(gVersion10); | ||||
| static NSString* getAppVersionForSpoofedVersion(int spoofedVersion) { | ||||
|     for (int i = 0; i < sizeof(versionMappings) / sizeof(versionMappings[0]); i++) { | ||||
|         if (versionMappings[i].version == spoofedVersion) { | ||||
|             return versionMappings[i].appVersion; | ||||
|         } | ||||
|     } | ||||
|     return nil; | ||||
| } | ||||
|  | ||||
| %hook YTVersionUtils | ||||
| + (NSString *)appVersion { | ||||
|     if (!isVersionSpooferEnabled()) { | ||||
|         return %orig; | ||||
|     } | ||||
|     int spoofedVersion = appVersionSpoofer(); | ||||
|     NSString *appVersion = getAppVersionForSpoofedVersion(spoofedVersion); | ||||
|     return appVersion ? appVersion : %orig; | ||||
| } | ||||
| %end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user