Files
PojavLauncher_iOS/Natives/LauncherPreferences.m
T

68 lines
2.4 KiB
Objective-C

#import "LauncherPreferences.h"
NSMutableDictionary *prefDict;
NSString* prefPath;
#if CONFIG_RELEASE == 1
# define CONFIG_TYPE @NO
#else
# define CONFIG_TYPE @YES
#endif
void loadPreferences() {
prefPath = [@(getenv("POJAV_HOME"))
stringByAppendingPathComponent:@"launcher_preferences.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath:prefPath]) {
prefDict = [[NSMutableDictionary alloc] init];
} else {
prefDict = [NSMutableDictionary dictionaryWithContentsOfFile:prefPath];
}
// set default value
setDefaultValueForPref(@"resolution", @(100));
setDefaultValueForPref(@"button_scale", @(100));
setDefaultValueForPref(@"selected_version", @"1.7.10");
setDefaultValueForPref(@"vertype_release", @YES);
setDefaultValueForPref(@"vertype_snapshot", @NO);
setDefaultValueForPref(@"vertype_oldalpha", @NO);
setDefaultValueForPref(@"vertype_oldbeta", @NO);
setDefaultValueForPref(@"time_longPressTrigger", @(400));
setDefaultValueForPref(@"default_ctrl", @"default.json");
setDefaultValueForPref(@"game_directory", @"default");
setDefaultValueForPref(@"java_args", @"");
setDefaultValueForPref(@"allocated_memory", [NSNumber numberWithFloat:roundf(([[NSProcessInfo processInfo] physicalMemory] / 1048576) * 0.30)]);
setDefaultValueForPref(@"debug_logging", CONFIG_TYPE);
setDefaultValueForPref(@"java_home", @"");
setDefaultValueForPref(@"renderer", @"libgl4es_114.dylib");
setDefaultValueForPref(@"option_warn", @YES);
setDefaultValueForPref(@"local_warn", @YES);
setDefaultValueForPref(@"mem_warn", @YES);
setDefaultValueForPref(@"java_warn", @YES);
setDefaultValueForPref(@"jb_warn", @YES);
setDefaultValueForPref(@"disable_gl4es_shaderconv", @NO);
[prefDict writeToFile:prefPath atomically:YES];
}
id getPreference(NSString* key) {
NSObject *object = prefDict[key];
if (object == [NSNull null] || object == nil) {
NSLog(@"LauncherPreferences: %@ is NULL", key);
}
return object;
}
void setDefaultValueForPref(NSString* key, id value) {
if (!prefDict[key]) {
prefDict[key] = value;
NSLog(@"[Pre-init] Set default value for key %@", value);
}
}
void setPreference(NSString* key, id value) {
prefDict[key] = value;
[prefDict writeToFile:prefPath atomically:YES];
}