rosalina: properly rewrite luminance-setting menu, etc.

This commit is contained in:
TuxSH
2020-07-14 22:10:13 +01:00
parent 362c4ffff1
commit 2af05220c2
8 changed files with 229 additions and 99 deletions

View File

@@ -109,20 +109,16 @@ Result KernelSetStateHook(u32 type, u32 varg1, u32 varg2, u32 varg3)
if(rosalinaState & 2)
hasStartedRosalinaNetworkFuncsOnce = true;
// 1: all applet/app/gsp/dsp... threads 4: hid/ir
if(varg1 & 1)
// 1: all applet/app/dsp/csnd... threads 2: gsp 4: hid/ir
for (u32 v = 4; v != 0; v >>= 1)
{
if (rosalinaState & 1)
rosalinaLockThreads(1);
else
rosalinaUnlockThreads(1);
}
if(varg1 & 4)
{
if (rosalinaState & 4)
rosalinaLockThreads(4);
else
rosalinaUnlockThreads(4);
if (varg1 & v)
{
if (rosalinaState & v)
rosalinaLockThreads(v);
else
rosalinaUnlockThreads(v);
}
}
break;

View File

@@ -104,10 +104,18 @@ bool rosalinaThreadLockPredicate(KThread *thread, u32 mask)
if (highTitleId != 0x00040130) // non-sysmodules
return true;
else
return lowTitleId == 0x1A02 || lowTitleId == 0x1C02 || lowTitleId == 0x2702; // dsp, gsp, csnd
return lowTitleId == 0x1A02 || lowTitleId == 0x2702; // dsp, csnd
}
if (mask & 2)
{
if (highTitleId != 0x00040130) // non-sysmodules
false;
return lowTitleId == 0x1C02; // gsp
}
if (mask & 4)
{
if (highTitleId != 0x00040130) // non-sysmodules
return false;
return lowTitleId == 0x1D02 || lowTitleId == 0x3302;
}