mirror of
https://github.com/mauiaaron/apple2.git
synced 2025-08-07 13:25:22 +00:00
Fix some broken preference handling
This commit is contained in:
@@ -77,10 +77,13 @@ static void prefsChangeCallback(const char *domain)
|
|||||||
|
|
||||||
- (void)loadPrefsForDomain:(const char *)domain
|
- (void)loadPrefsForDomain:(const char *)domain
|
||||||
{
|
{
|
||||||
[self.cpuSlider setDoubleValue:cpu_scale_factor];
|
float fVal, fValDisplay;
|
||||||
[self.cpuSliderLabel setStringValue:[NSString stringWithFormat:@"%.0f%%", cpu_scale_factor*100]];
|
fVal = prefs_parseFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE, &fVal) ? fVal/100 : 1.0;
|
||||||
if (cpu_scale_factor == CPU_SCALE_FASTEST)
|
fValDisplay = fVal;
|
||||||
|
if (fVal >= CPU_SCALE_FASTEST)
|
||||||
{
|
{
|
||||||
|
fVal = CPU_SCALE_FASTEST;
|
||||||
|
fValDisplay = CPU_SCALE_FASTEST_PIVOT;
|
||||||
[self.cpuMaxChoice setState:NSOnState];
|
[self.cpuMaxChoice setState:NSOnState];
|
||||||
[self.cpuSlider setEnabled:NO];
|
[self.cpuSlider setEnabled:NO];
|
||||||
}
|
}
|
||||||
@@ -89,11 +92,15 @@ static void prefsChangeCallback(const char *domain)
|
|||||||
[self.cpuMaxChoice setState:NSOffState];
|
[self.cpuMaxChoice setState:NSOffState];
|
||||||
[self.cpuSlider setEnabled:YES];
|
[self.cpuSlider setEnabled:YES];
|
||||||
}
|
}
|
||||||
|
[self.cpuSlider setFloatValue:fVal];
|
||||||
|
[self.cpuSliderLabel setStringValue:[NSString stringWithFormat:@"%.0f%%", fValDisplay*100]];
|
||||||
|
|
||||||
[self.altSlider setDoubleValue:cpu_altscale_factor];
|
fVal = prefs_parseFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE_ALT, &fVal) ? fVal/100 : 1.0;
|
||||||
[self.altSliderLabel setStringValue:[NSString stringWithFormat:@"%.0f%%", cpu_altscale_factor*100]];
|
fValDisplay = fVal;
|
||||||
if (cpu_altscale_factor == CPU_SCALE_FASTEST)
|
if (fVal >= CPU_SCALE_FASTEST)
|
||||||
{
|
{
|
||||||
|
fVal = CPU_SCALE_FASTEST;
|
||||||
|
fValDisplay = CPU_SCALE_FASTEST_PIVOT;
|
||||||
[self.altMaxChoice setState:NSOnState];
|
[self.altMaxChoice setState:NSOnState];
|
||||||
[self.altSlider setEnabled:NO];
|
[self.altSlider setEnabled:NO];
|
||||||
}
|
}
|
||||||
@@ -102,6 +109,8 @@ static void prefsChangeCallback(const char *domain)
|
|||||||
[self.altMaxChoice setState:NSOffState];
|
[self.altMaxChoice setState:NSOffState];
|
||||||
[self.altSlider setEnabled:YES];
|
[self.altSlider setEnabled:YES];
|
||||||
}
|
}
|
||||||
|
[self.altSlider setFloatValue:fVal];
|
||||||
|
[self.altSliderLabel setStringValue:[NSString stringWithFormat:@"%.0f%%", fValDisplay*100]];
|
||||||
|
|
||||||
#warning TODO : actually implement sound card choices
|
#warning TODO : actually implement sound card choices
|
||||||
[self.soundCardChoice deselectAllCells];
|
[self.soundCardChoice deselectAllCells];
|
||||||
@@ -133,17 +142,7 @@ static void prefsChangeCallback(const char *domain)
|
|||||||
{
|
{
|
||||||
NSSlider *slider = (NSSlider *)sender;
|
NSSlider *slider = (NSSlider *)sender;
|
||||||
double value = [slider doubleValue];
|
double value = [slider doubleValue];
|
||||||
if (slider == self.cpuSlider)
|
prefs_setFloatValue(PREF_DOMAIN_VM, (slider == self.cpuSlider) ? PREF_CPU_SCALE : PREF_CPU_SCALE_ALT, value*100);
|
||||||
{
|
|
||||||
prefs_setFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE, value);
|
|
||||||
[self.cpuSliderLabel setStringValue:[NSString stringWithFormat:@"%.0f%%", value*100]];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
prefs_setFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE_ALT, value);
|
|
||||||
[self.altSliderLabel setStringValue:[NSString stringWithFormat:@"%.0f%%", value*100]];
|
|
||||||
}
|
|
||||||
|
|
||||||
prefs_sync(PREF_DOMAIN_VM);
|
prefs_sync(PREF_DOMAIN_VM);
|
||||||
prefs_save();
|
prefs_save();
|
||||||
}
|
}
|
||||||
@@ -153,15 +152,13 @@ static void prefsChangeCallback(const char *domain)
|
|||||||
NSButton *maxButton = (NSButton *)sender;
|
NSButton *maxButton = (NSButton *)sender;
|
||||||
if (maxButton == self.cpuMaxChoice)
|
if (maxButton == self.cpuMaxChoice)
|
||||||
{
|
{
|
||||||
[self.cpuSlider setEnabled:([maxButton state] != NSOnState)];
|
|
||||||
double value = ([maxButton state] == NSOnState) ? CPU_SCALE_FASTEST : [self.cpuSlider doubleValue];
|
double value = ([maxButton state] == NSOnState) ? CPU_SCALE_FASTEST : [self.cpuSlider doubleValue];
|
||||||
prefs_setFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE, value);
|
prefs_setFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE, value*100);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
[self.altSlider setEnabled:([maxButton state] != NSOnState)];
|
|
||||||
double value = ([maxButton state] == NSOnState) ? CPU_SCALE_FASTEST : [self.altSlider doubleValue];
|
double value = ([maxButton state] == NSOnState) ? CPU_SCALE_FASTEST : [self.altSlider doubleValue];
|
||||||
prefs_setFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE_ALT, value);
|
prefs_setFloatValue(PREF_DOMAIN_VM, PREF_CPU_SCALE_ALT, value*100);
|
||||||
}
|
}
|
||||||
|
|
||||||
prefs_sync(PREF_DOMAIN_VM);
|
prefs_sync(PREF_DOMAIN_VM);
|
||||||
|
@@ -157,7 +157,8 @@ void video_init(void) {
|
|||||||
|
|
||||||
ASSERT_NOT_ON_CPU_THREAD();
|
ASSERT_NOT_ON_CPU_THREAD();
|
||||||
LOG("(re)setting render_thread_id : %lu -> %lu", (unsigned long)render_thread_id, (unsigned long)pthread_self());
|
LOG("(re)setting render_thread_id : %lu -> %lu", (unsigned long)render_thread_id, (unsigned long)pthread_self());
|
||||||
render_thread_id = pthread_self();
|
|
||||||
|
_video_setRenderThread(pthread_self());
|
||||||
|
|
||||||
currentBackend->init((void*)0);
|
currentBackend->init((void*)0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user