public int sceAtracReinit(int at3Count, int at3plusCount)
{
//int at3CountAlready = InjectContext.GetInstance<HleUidPoolManager>().List<Atrac>().Count(Atrac => Atrac.CodecType == CodecType.PSP_MODE_AT_3);
//int at3PlusCountAlready = InjectContext.GetInstance<HleUidPoolManager>().List<Atrac>().Count(Atrac => Atrac.CodecType == CodecType.PSP_MODE_AT_3_PLUS);
//
//if (at3CountAlready == at3Count && at3PlusCountAlready == at3plusCount)
//{
// throw (new SceKernelException(SceKernelErrors.ERROR_BUSY));
//}
InjectContext.GetInstance<HleUidPoolManager>().RemoveAll<Atrac>();
int Space = MAX_PSP_NUM_ATRAC_IDS;
MaxAtrac3Plus = 0;
MaxAtrac3 = 0;
for (int n = 0; n < at3plusCount; n++)
{
if (Space >= 2)
{
Space -= 2;
MaxAtrac3Plus++;
}
else
{
throw (new SceKernelException(SceKernelErrors.ERROR_OUT_OF_MEMORY));
}
}
for (int n = 0; n < at3Count; n++)
{
if (Space >= 1)
{
Space -= 1;
MaxAtrac3++;
}
else
{
throw (new SceKernelException(SceKernelErrors.ERROR_OUT_OF_MEMORY));
}
}
return 0;
}