diff --git a/Natives/AboutLauncherViewController.h b/Natives/AboutLauncherViewController.h deleted file mode 100644 index cb83f604..00000000 --- a/Natives/AboutLauncherViewController.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - -@interface AboutLauncherViewController : UIViewController - -@end - diff --git a/Natives/AboutLauncherViewController.m b/Natives/AboutLauncherViewController.m deleted file mode 100644 index 0073074f..00000000 --- a/Natives/AboutLauncherViewController.m +++ /dev/null @@ -1,85 +0,0 @@ -#import "AboutLauncherViewController.h" -#import "UpdateHistoryViewController.h" - -#include "utils.h" - -#import - -@interface AboutLauncherViewController() -@end - -@implementation AboutLauncherViewController - -- (void)viewDidLoad -{ - [super viewDidLoad]; - setViewBackgroundColor(self.view); - [self setTitle:NSLocalizedString(@"login.menu.about", nil)]; - - // TODO: Move this into utils? - struct utsname systemInfo; - uname(&systemInfo); - NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; - NSString *currSysVer = [[UIDevice currentDevice] systemVersion]; - - if(@available (iOS 14.0, *)) { - // UIMenu on the main screen - } else { - self.navigationItem.rightBarButtonItems = @[ - [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"login.menu.sendlogs", nil) style:UIBarButtonItemStyleDone target:self action:@selector(latestLogShare)], - [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"login.menu.updates", nil) style:UIBarButtonItemStyleDone target:self action:@selector(updateHistory)] - ]; - } - - UITextView *textView = [[UITextView alloc] initWithFrame:self.view.frame]; - textView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; - textView.dataDetectorTypes = UIDataDetectorTypeLink; - textView.editable = NO; - [self.view addSubview:textView]; - - textView.text = [NSString stringWithFormat:@"version 2.1 %s (%s - %s) on %@ with iOS %@\n\n", CONFIG_TYPE, CONFIG_BRANCH, CONFIG_COMMIT, deviceModel, currSysVer]; - - [textView insertText: - @"Created by PojavLauncherTeam in 2022.\n" - @"Discord: https://discord.gg/x5pxnANzbX\n" - @"Subreddit: https://reddit.com/r/PojavLauncher\n" - @"TikTok: unavailable, we do not make videos on TikTok\n" - @"Wiki: https://pojavlauncherteam.github.io\n" - ]; - - if (getenv("POJAV_DETECTEDJB")) { - [textView insertText:@"Stay safe when jailbroken. "]; - } - [textView insertText:@"Make sure to install PojavLauncher from the official repositories to prevent the risk of malware.\n\n"]; - - NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; - [dateFormatter setDateFormat:@"MM-dd"]; - NSString* date = [dateFormatter stringFromDate:[NSDate date]]; - if([date isEqualToString:@"06-29"] || [date isEqualToString:@"06-30"] || [date isEqualToString:@"07-01"]) { - [textView insertText:@"May you rest in peace, Technoblade. The Minecraft community will always remember you."]; - } - - NSMutableAttributedString *newString = [[NSMutableAttributedString alloc] initWithString:textView.text]; - [newString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:NSMakeRange(0, newString.length)]; - [newString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:20] range:NSMakeRange(0, [textView.text rangeOfString:@"\n"].location)]; - textView.attributedText = newString; - - if (@available(iOS 13.0, *)) { - textView.textColor = UIColor.labelColor; - } -} - --(void)latestLogShare -{ - NSString *latestlogPath = [NSString stringWithFormat:@"file://%s/latestlog.old.txt", getenv("HOME")]; - UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"latestlog.txt", [NSURL URLWithString:latestlogPath]] applicationActivities:nil]; - activityViewController.popoverPresentationController.barButtonItem = self.navigationItem.rightBarButtonItems[0]; - [self presentViewController:activityViewController animated:YES completion:nil]; -} - -- (void)updateHistory { - UpdateHistoryViewController *vc = [[UpdateHistoryViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; -} - -@end diff --git a/Natives/AccountListViewController.m b/Natives/AccountListViewController.m index 6b444dfb..a2ff0d6e 100644 --- a/Natives/AccountListViewController.m +++ b/Natives/AccountListViewController.m @@ -72,7 +72,7 @@ } cell.imageView.contentMode = UIViewContentModeCenter; - [cell.imageView setImageWithURL:[NSURL URLWithString:[selected[@"profilePicURL"] stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"]] placeholderImage:[UIImage imageNamed:@"default_account_pfp"]]; + [cell.imageView setImageWithURL:[NSURL URLWithString:[selected[@"profilePicURL"] stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"]] placeholderImage:[UIImage imageNamed:@"DefaultAccount"]]; return cell; } diff --git a/Natives/Assets.xcassets/AppLogo-Vector.imageset/2021-05-07-10-41-54-2.png b/Natives/Assets.xcassets/AppLogo-Vector.imageset/2021-05-07-10-41-54-2.png new file mode 100644 index 00000000..2dd689f6 Binary files /dev/null and b/Natives/Assets.xcassets/AppLogo-Vector.imageset/2021-05-07-10-41-54-2.png differ diff --git a/Natives/Assets.xcassets/AppLogo-Vector.imageset/Contents.json b/Natives/Assets.xcassets/AppLogo-Vector.imageset/Contents.json new file mode 100644 index 00000000..6d1ccb1c --- /dev/null +++ b/Natives/Assets.xcassets/AppLogo-Vector.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "2021-05-07-10-41-54-2.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Natives/Assets.xcassets/DefaultAccount.imageset/Contents.json b/Natives/Assets.xcassets/DefaultAccount.imageset/Contents.json new file mode 100644 index 00000000..9953adc4 --- /dev/null +++ b/Natives/Assets.xcassets/DefaultAccount.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "default_account_pfp.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Natives/resources/default_account_pfp.png b/Natives/Assets.xcassets/DefaultAccount.imageset/default_account_pfp.png similarity index 100% rename from Natives/resources/default_account_pfp.png rename to Natives/Assets.xcassets/DefaultAccount.imageset/default_account_pfp.png diff --git a/Natives/Assets.xcassets/MenuJava.imageset/Contents.json b/Natives/Assets.xcassets/MenuJava.imageset/Contents.json new file mode 100644 index 00000000..f402ae4a --- /dev/null +++ b/Natives/Assets.xcassets/MenuJava.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_menu_java.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Natives/resources/ic_menu_java.png b/Natives/Assets.xcassets/MenuJava.imageset/ic_menu_java.png similarity index 100% rename from Natives/resources/ic_menu_java.png rename to Natives/Assets.xcassets/MenuJava.imageset/ic_menu_java.png diff --git a/Natives/Assets.xcassets/MenuSettings.imageset/Contents.json b/Natives/Assets.xcassets/MenuSettings.imageset/Contents.json new file mode 100644 index 00000000..d1240156 --- /dev/null +++ b/Natives/Assets.xcassets/MenuSettings.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "ic_menu_settings.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Natives/resources/ic_menu_settings.png b/Natives/Assets.xcassets/MenuSettings.imageset/ic_menu_settings.png similarity index 100% rename from Natives/resources/ic_menu_settings.png rename to Natives/Assets.xcassets/MenuSettings.imageset/ic_menu_settings.png diff --git a/Natives/Assets.xcassets/MousePointer.imageset/Contents.json b/Natives/Assets.xcassets/MousePointer.imageset/Contents.json new file mode 100644 index 00000000..1c985073 --- /dev/null +++ b/Natives/Assets.xcassets/MousePointer.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images" : [ + { + "filename" : "mouse_pointer.png", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Natives/resources/mouse_pointer.png b/Natives/Assets.xcassets/MousePointer.imageset/mouse_pointer.png similarity index 100% rename from Natives/resources/mouse_pointer.png rename to Natives/Assets.xcassets/MousePointer.imageset/mouse_pointer.png diff --git a/Natives/CMakeLists.txt b/Natives/CMakeLists.txt index 5f02c9d1..62cc13fd 100644 --- a/Natives/CMakeLists.txt +++ b/Natives/CMakeLists.txt @@ -109,7 +109,6 @@ add_executable(PojavLauncher input/ControllerInput.m input/KeyboardInput.m - AboutLauncherViewController.m AccountListViewController.m AppDelegate.m CustomControlsViewController.m @@ -122,7 +121,7 @@ add_executable(PojavLauncher LauncherNavigationController.m LauncherNewsViewController.m LauncherPreferences.m - LauncherPreferencesViewController2.m + LauncherPreferencesViewController.m LauncherPrefGameDirViewController.m LauncherSplitViewController.m LoginViewController.m @@ -132,7 +131,6 @@ add_executable(PojavLauncher SurfaceViewController+LogView.m SurfaceViewController+Navigation.m TrackedTextField.m - UpdateHistoryViewController.m egl_bridge.m input_bridge_v3.m ios_uikit_bridge.m diff --git a/Natives/JavaGUIViewController.m b/Natives/JavaGUIViewController.m index 4eb8305e..6c2f1c9c 100644 --- a/Natives/JavaGUIViewController.m +++ b/Natives/JavaGUIViewController.m @@ -105,7 +105,7 @@ const void * _CGDataProviderGetBytePointerCallbackAWT(void *info) { self.virtualMouseFrame = CGRectMake(screenBounds.size.width / 2, screenBounds.size.height / 2, 18, 27); self.mousePointerView = [[UIImageView alloc] initWithFrame:self.virtualMouseFrame]; self.mousePointerView.hidden = !self.virtualMouseEnabled; - self.mousePointerView.image = [UIImage imageNamed:@"mouse_pointer.png"]; + self.mousePointerView.image = [UIImage imageNamed:@"MousePointer"]; self.mousePointerView.userInteractionEnabled = NO; [self.view addSubview:self.mousePointerView]; */ diff --git a/Natives/LauncherMenuViewController.m b/Natives/LauncherMenuViewController.m index d3d22a68..6f9128a1 100644 --- a/Natives/LauncherMenuViewController.m +++ b/Natives/LauncherMenuViewController.m @@ -2,7 +2,7 @@ #import "AccountListViewController.h" #import "LauncherMenuViewController.h" #import "LauncherNewsViewController.h" -#import "LauncherPreferencesViewController2.h" +#import "LauncherPreferencesViewController.h" #import "UIButton+AFNetworking.h" #import "UIImageView+AFNetworking.h" @@ -20,7 +20,7 @@ // View controllers are put into an array to keep its state self.options = @[ [[LauncherNewsViewController alloc] init], - [[LauncherPreferencesViewController2 alloc] init] + [[LauncherPreferencesViewController alloc] init] ]; self.options[0].title = NSLocalizedString(@"News", nil); self.options[1].title = NSLocalizedString(@"Settings", nil); @@ -133,7 +133,7 @@ [(UIButton *)self.navigationItem.titleView setAttributedTitle:title forState:UIControlStateNormal]; NSURL *url = [NSURL URLWithString:[selected[@"profilePicURL"] stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"]]; - UIImage *placeholder = [UIImage imageNamed:@"default_account_pfp"]; + UIImage *placeholder = [UIImage imageNamed:@"DefaultAccount"]; [(UIButton *)self.navigationItem.titleView setImageForState:UIControlStateNormal withURL:url placeholderImage:placeholder]; [((UIButton *)self.navigationItem.titleView).imageView setImageWithURL:url placeholderImage:placeholder]; } diff --git a/Natives/LauncherNewsViewController.m b/Natives/LauncherNewsViewController.m index aa471fa0..5d2a63bd 100644 --- a/Natives/LauncherNewsViewController.m +++ b/Natives/LauncherNewsViewController.m @@ -8,7 +8,7 @@ @implementation LauncherNewsViewController - (NSString *)imageName { - return @"ic_menu_java"; + return @"MenuJava"; } - (void)viewDidLoad diff --git a/Natives/LauncherPreferencesViewController.h b/Natives/LauncherPreferencesViewController.h new file mode 100644 index 00000000..a5dac812 --- /dev/null +++ b/Natives/LauncherPreferencesViewController.h @@ -0,0 +1,5 @@ +#import + +@interface LauncherPreferencesViewController : UITableViewController + +@end diff --git a/Natives/LauncherPreferencesViewController2.m b/Natives/LauncherPreferencesViewController.m similarity index 98% rename from Natives/LauncherPreferencesViewController2.m rename to Natives/LauncherPreferencesViewController.m index 1197b1dc..af76ef78 100644 --- a/Natives/LauncherPreferencesViewController2.m +++ b/Natives/LauncherPreferencesViewController.m @@ -3,7 +3,7 @@ #import "DBNumberedSlider.h" #import "LauncherPreferences.h" -#import "LauncherPreferencesViewController2.h" +#import "LauncherPreferencesViewController.h" #import "LauncherPrefGameDirViewController.h" #import "TOInsetGroupedTableView.h" @@ -11,7 +11,7 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *); -@interface LauncherPreferencesViewController2() {} +@interface LauncherPreferencesViewController() {} @property(nonatomic) NSArray* prefSections; @property(nonatomic) NSArray*>* prefContents; @property(nonatomic) BOOL prefDetailVisible; @@ -19,10 +19,10 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *); @property CreateView typeButton, typeChildPane, typePickField, typeTextField, typeSlider, typeSwitch; @end -@implementation LauncherPreferencesViewController2 +@implementation LauncherPreferencesViewController - (NSString *)imageName { - return @"ic_menu_settings"; + return @"Menu"; } - (void)viewDidLoad @@ -347,7 +347,7 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *); #pragma mark initViewCreation, showAlert, checkWarn - (void)initViewCreation { - __weak LauncherPreferencesViewController2 *weakSelf = self; + __weak LauncherPreferencesViewController *weakSelf = self; self.typeButton = ^void(UITableViewCell *cell, NSString *key, NSDictionary *item) { BOOL destructive = [item[@"destructive"] boolValue]; diff --git a/Natives/LauncherPreferencesViewController2.h b/Natives/LauncherPreferencesViewController2.h deleted file mode 100644 index 053fb43f..00000000 --- a/Natives/LauncherPreferencesViewController2.h +++ /dev/null @@ -1,5 +0,0 @@ -#import - -@interface LauncherPreferencesViewController2 : UITableViewController - -@end diff --git a/Natives/LoginViewController.m b/Natives/LoginViewController.m index 28051129..cf5a743d 100644 --- a/Natives/LoginViewController.m +++ b/Natives/LoginViewController.m @@ -6,12 +6,10 @@ #import "authenticator/BaseAuthenticator.h" #import "AppDelegate.h" -#import "AboutLauncherViewController.h" #import "AccountListViewController.h" #import "LauncherFAQViewController.h" #import "LauncherSplitViewController.h" #import "LoginViewController.h" -#import "UpdateHistoryViewController.h" #import "LauncherPreferences.h" #import "ios_uikit_bridge.h" @@ -69,59 +67,36 @@ extern NSMutableDictionary *prefDict; CGFloat widthSplit = width / 4.0; CGFloat widthSplit2 = width / 2.0; - - UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"AppLogo"]]; - logoView.frame = CGRectMake(0, (rawHeight / 2) - 35, width, 70); + + UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"AppLogo-Vector"]]; + logoView.frame = CGRectMake(0, (rawHeight / 2) - 125, width, 250); [logoView setContentMode:UIViewContentModeScaleAspectFit]; logoView.autoresizingMask = AUTORESIZE; [self.view addSubview:logoView]; + UIImageView *workMarkView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"AppLogo"]]; + workMarkView.frame = CGRectMake(0, (rawHeight / 2) - 35, width, 70); + [workMarkView setContentMode:UIViewContentModeScaleAspectFit]; + workMarkView.autoresizingMask = AUTORESIZE; + [self.view addSubview:workMarkView]; + NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MM-dd"]; NSString* date = [dateFormatter stringFromDate:[NSDate date]]; - if(@available(iOS 14.0, *)) { - self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage systemImageNamed:@"info.circle"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] style:UIBarButtonItemStyleDone target:self action:@selector(aboutLauncher)]; - UIAction *option1 = [UIAction actionWithTitle:NSLocalizedString(@"login.menu.about", nil) image:[[UIImage systemImageNamed:@"eyes.inverse"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] identifier:nil - handler:^(__kindof UIAction * _Nonnull action) {[self aboutLauncher];}]; - UIAction *option2 = [UIAction actionWithTitle:NSLocalizedString(@"login.menu.sendlogs", nil) image:[[UIImage systemImageNamed:@"square.and.arrow.up"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] identifier:nil - handler:^(__kindof UIAction * _Nonnull action) {[self latestLogShare];}]; - UIAction *option3 = [UIAction actionWithTitle:NSLocalizedString(@"login.menu.updates", nil) image:[[UIImage systemImageNamed:@"arrow.triangle.2.circlepath.circle"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] identifier:nil - handler:^(__kindof UIAction * _Nonnull action) {[self updateHistory];}]; - UIMenu *menu = [UIMenu menuWithTitle:@"" image:nil identifier:nil - options:UIMenuOptionsDisplayInline children:@[option1, option2, option3]]; - self.navigationItem.rightBarButtonItem.action = nil; - self.navigationItem.rightBarButtonItem.primaryAction = nil; - self.navigationItem.rightBarButtonItem.menu = menu; + if(@available(iOS 13.0, *)) { + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage systemImageNamed:@"square.and.arrow.up"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] style:UIBarButtonItemStyleDone target:self action:@selector(latestLogShare)]; } else { - self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"login.menu.about", nil) style:UIBarButtonItemStyleDone target:self action:@selector(aboutLauncher)]; + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"login.menu.sendlogs", nil) style:UIBarButtonItemStyleDone target:self action:@selector(aboutLauncher)]; } - UIButton *button_faq = [UIButton buttonWithType:UIButtonTypeSystem]; - setButtonPointerInteraction(button_faq); - [button_faq setTitle:NSLocalizedString(@"FAQ", @"Frequently asked questions") forState:UIControlStateNormal]; - button_faq.autoresizingMask = AUTORESIZE_BTN; - button_faq.frame = CGRectMake(widthSplit2 - (((width - widthSplit * 2.0) / 2) / 2), (height - 80.0), (width - widthSplit * 2.0) / 2, 40.0); - if([date isEqualToString:@"06-29"] || [date isEqualToString:@"06-30"] || [date isEqualToString:@"07-01"]) { - button_faq.backgroundColor = [UIColor colorWithRed:67/255.0 green:0/255.0 blue:8/255.0 alpha:1.0]; - } else { - button_faq.backgroundColor = [UIColor colorWithRed:54/255.0 green:176/255.0 blue:48/255.0 alpha:1.0]; - } - button_faq.layer.cornerRadius = 5; - [button_faq setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; - [button_faq addTarget:self action:@selector(showFAQ) forControlEvents:UIControlEventTouchUpInside]; - if(@available (iOS 13.0, *)) { - button_faq.imageView.image = [[UIImage systemImageNamed:@"doc.text"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; - [button_faq setTintColor:UIColor.whiteColor]; - [button_faq setImage:button_faq.imageView.image forState:UIControlStateNormal]; - } - [self.view addSubview:button_faq]; - + CGRect frame = CGRectMake(widthSplit2 - (((width - widthSplit * 2.0) / 2) / 2), (height - 80.0), (width - widthSplit * 2.0) / 2, 40.0); + UIButton *button_login = [UIButton buttonWithType:UIButtonTypeSystem]; setButtonPointerInteraction(button_login); [button_login setTitle:NSLocalizedString(@"Sign in", nil) forState:UIControlStateNormal]; button_login.autoresizingMask = AUTORESIZE_BTN; - button_login.frame = CGRectMake(button_faq.frame.origin.x - button_faq.frame.size.width - 20, (height - 80.0), (width - widthSplit * 2.0) / 2, 40.0); + button_login.frame = CGRectMake(frame.origin.x - frame.size.width - 20, (height - 80.0), (width - widthSplit * 2.0) / 2, 40.0); if([date isEqualToString:@"06-29"] || [date isEqualToString:@"06-30"] || [date isEqualToString:@"07-01"]) { button_login.backgroundColor = [UIColor colorWithRed:67/255.0 green:0/255.0 blue:8/255.0 alpha:1.0]; } else { @@ -153,7 +128,7 @@ extern NSMutableDictionary *prefDict; setButtonPointerInteraction(button_accounts); [button_accounts setTitle:NSLocalizedString(@"Accounts", nil) forState:UIControlStateNormal]; button_accounts.autoresizingMask = AUTORESIZE_BTN; - button_accounts.frame = CGRectMake(button_faq.frame.origin.x + button_faq.frame.size.width + 20, (height - 80.0), (width - widthSplit * 2.0) / 2, 40.0); + button_accounts.frame = CGRectMake(frame.origin.x + frame.size.width + 20, (height - 80.0), (width - widthSplit * 2.0) / 2, 40.0); if([date isEqualToString:@"06-29"] || [date isEqualToString:@"06-30"] || [date isEqualToString:@"07-01"]) { button_accounts.backgroundColor = [UIColor colorWithRed:67/255.0 green:0/255.0 blue:8/255.0 alpha:1.0]; } else { @@ -418,18 +393,6 @@ extern NSMutableDictionary *prefDict; }]; } -- (void)aboutLauncher -{ - AboutLauncherViewController *vc = [[AboutLauncherViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; -} - -- (void)showFAQ -{ - LauncherFAQViewController *vc = [[LauncherFAQViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; -} - -(void)latestLogShare { NSString *latestlogPath = [NSString stringWithFormat:@"file://%s/latestlog.old.txt", getenv("POJAV_HOME")]; @@ -440,11 +403,6 @@ extern NSMutableDictionary *prefDict; [self presentViewController:activityViewController animated:YES completion:nil]; } -- (void)updateHistory { - UpdateHistoryViewController *vc = [[UpdateHistoryViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; -} - - (void)setPopoverProperties:(UIPopoverPresentationController *)controller sender:(UIButton *)sender { if (controller != nil) { controller.sourceView = sender; diff --git a/Natives/SurfaceViewController+Navigation.m b/Natives/SurfaceViewController+Navigation.m index d5ff4203..622969e2 100644 --- a/Natives/SurfaceViewController+Navigation.m +++ b/Natives/SurfaceViewController+Navigation.m @@ -1,4 +1,4 @@ -#import "LauncherPreferencesViewController2.h" +#import "LauncherPreferencesViewController.h" #import "SurfaceViewController.h" @implementation SurfaceViewController(Navigation) @@ -115,7 +115,7 @@ static CGPoint lastCenterPoint; } - (void)actionOpenPreferences { - LauncherPreferencesViewController2 *vc = [[LauncherPreferencesViewController2 alloc] init]; + LauncherPreferencesViewController *vc = [[LauncherPreferencesViewController alloc] init]; [self presentViewController:vc animated:YES completion:nil]; } diff --git a/Natives/SurfaceViewController.m b/Natives/SurfaceViewController.m index fcce7a49..0e39021a 100644 --- a/Natives/SurfaceViewController.m +++ b/Natives/SurfaceViewController.m @@ -157,7 +157,7 @@ BOOL slideableHotbar; self.mousePointerView = [[UIImageView alloc] initWithFrame:virtualMouseFrame]; self.mousePointerView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleRightMargin |UIViewAutoresizingFlexibleBottomMargin; self.mousePointerView.hidden = !virtualMouseEnabled; - self.mousePointerView.image = [UIImage imageNamed:@"mouse_pointer.png"]; + self.mousePointerView.image = [UIImage imageNamed:@"MousePointer"]; self.mousePointerView.userInteractionEnabled = NO; [self.rootView addSubview:self.mousePointerView]; diff --git a/Natives/UpdateHistoryViewController.h b/Natives/UpdateHistoryViewController.h deleted file mode 100644 index aeff9cbd..00000000 --- a/Natives/UpdateHistoryViewController.h +++ /dev/null @@ -1,6 +0,0 @@ -#import - -@interface UpdateHistoryViewController : UIViewController - -@end - diff --git a/Natives/UpdateHistoryViewController.m b/Natives/UpdateHistoryViewController.m deleted file mode 100644 index de9463d9..00000000 --- a/Natives/UpdateHistoryViewController.m +++ /dev/null @@ -1,127 +0,0 @@ -#import "UpdateHistoryViewController.h" - -#include "utils.h" - -@interface UpdateHistoryViewController () { -} --(UILabel *)uhContent:(bool)isHeading size:(int)size text:(NSString *)text width:(int)width; -@end - -@implementation UpdateHistoryViewController -CGFloat uhcurrY = 4.0; -- (void)viewDidLoad -{ - [super viewDidLoad]; - setViewBackgroundColor(self.view); - - [self setTitle:NSLocalizedString(@"login.menu.updates", nil)]; - - CGRect screenBounds = [[UIScreen mainScreen] bounds]; - CGFloat screenScale = [[UIScreen mainScreen] scale]; - - int width = (int) roundf(screenBounds.size.width); - int height = (int) roundf(screenBounds.size.height) - self.navigationController.navigationBar.frame.size.height; - int rawHeight = (int) roundf(screenBounds.size.height); - - UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, width, rawHeight)]; - [self.view addSubview:scrollView]; - scrollView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; - - uhcurrY = 4.0; - - [scrollView addSubview:[self uhContent:true size:25 text:@"Current version" width:width]]; - [scrollView addSubview:[self uhContent:true size:20 text:[NSString stringWithFormat:@"2.1 (%s)", CONFIG_TYPE] width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Changes" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Now shows when currently logging in\n" - "- Account list now displays profile picture and account type\n" - "- Play button is greyed out when launching\n" - "- Back button is hidden when launching\n" - "- New toggle to allow restarting JVM before launching\n" - "- Added WIP Demo mode support!\n" - "- Patch log4shell exploit in client\n" - "- Keyboard and mouse support deepened\n" - "- Custom controls UI completed\n" - "- Arc custom capes integration!\n" - "- Removed Mojang account login" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Fixes" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Slight changes to error messages\n" - "- Fix Makefile errors in `deploy` and `ipa`\n" - "- Fix some instances of Mojang login failing\n" - "- Fix NullPointerException when launching ≤1.6.4\n" - "- Fix NullPointerException when setting inherited fields\n" - "- Fix \"Share your logs\" not working\n" - "- Fix Fabric 1.17+ not launching\n" - "- Fix postinst issue on Procursus" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Issues" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Mouse support requires iOS 14.0 or later, keyboards require iOS 13.4 or later\n" - "- Old custom control .json files no longer work, remove to fix" width:width]]; - [scrollView addSubview:[self uhContent:true size:25 text:@"Previous versions" width:width]]; - [scrollView addSubview:[self uhContent:true size:20 text:@"2.0 - Raw Iron" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Changes" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- The Login view has been simplified to three easy buttons\n" - "- The Offline Account has been replaced with Local Account. Installing Minecraft now requires a Mojang or Microsoft account logged in.\n" - "- New FAQ page to show quick answers to questions\n" - "- New About view to show quick details, links, and update history\n" - "- Ability to send logs from within the launcher\n" - "- The Select Account screen is now a pop-up window\n" - "- New picker view to switch versions without typing them manually\n" - "- Support to show your locally installed clients\n" - "- New settings page to manage preferences\n" - "- OpenJDK 8 support, to allow older versions of modded Minecraft\n" - "- New mod installer, built into the launcher\n" - "- Unfinished in-launcher custom controls\n" - "- Move to /usr/share, for better rootFS compatibility\n" - "- New packaging format\n" - " - release, for iOS 14 and lower (full root access jailbreaks)\n" - " - release-rootless, for iOS 15 (Procursus rootless jailbreak)" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Fixes" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- WIP fix for typing on 1.12.2 and older\n" - "- The hotbar now works across GUI scales\n" - "- (With JDK 8) Forge 1.8.9 - 1.15.2 now work\n" - "- (With JDK 8) Vanilla 1.5.2 and under now work\n" - "- Buttons now scale correctly according to screen size" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Issues" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Crash if login to Microsoft fails\n" - "- Old custom control .json files no longer work, remove to fix\n" - "- Custom controls settings page is not complete, there may be some issues!\n" - "- An unknown issue might cause Taurine, 14.3, and A12+ to crash on launch." width:width]]; - [scrollView addSubview:[self uhContent:true size:20 text:@"1.2" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Changes" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Use new method for Microsoft login\n" - "- Added gl4es 1.1.5 as an option\n" - "- WIP custom controls (can be changed by placing at /var/mobile/Documents/.pojavlauncher/controlmap/default.json). Note that some functions may not work properly.\n" - "- WIP external mouse support\n" - "- Custom environment variables, in /var/mobile/Documents/.pojavlauncher/custom_env.txt\n" - "- Reduction of file size with removal of unused binaries\n" - "- Moved latestlog.txt and overrideargs.txt to /var/mobile/Documents/.pojavlauncher" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Fixes" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Fix file permission issues during install of package\n" - "- Hide home bar like Bedrock Edition\n" - "- Properly hide iPad status bar" width:width]]; - [scrollView addSubview:[self uhContent:true size:17 text:@"Issues" width:width]]; - [scrollView addSubview:[self uhContent:false size:0 text:@"- Crash if login to Microsoft fails\n" - "- Several Forge versions won’t work due to removed deprecated classes (see #67 and #68)\n" - "- Control buttons notch offset seems doubled\n" - "- Text input will not work on 1.12.2 and below" width:width]]; - [scrollView addSubview:[self uhContent:true size:20 text:@"See the GitHub for even earlier releases" width:width]]; - - - scrollView.contentSize = CGSizeMake(scrollView.frame.size.width, uhcurrY); - -} - --(UILabel *)uhContent:(bool)isHeading size:(int)size text:(NSString *)text width:(int)width { - UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(4.0, uhcurrY, width - 40, 30.0)]; - label.text = text; - label.lineBreakMode = NSLineBreakByWordWrapping; - label.numberOfLines = 0; - if(isHeading) { - [label setFont:[UIFont boldSystemFontOfSize:size]]; - } else { - [label sizeToFit]; - } - uhcurrY+=label.frame.size.height; - return label; -} - -@end diff --git a/Natives/resources/Assets.car b/Natives/resources/Assets.car index e6891c76..f3794583 100644 Binary files a/Natives/resources/Assets.car and b/Natives/resources/Assets.car differ