CSPspEmu.Hle.Modules.libatrac3plus.sceAtrac3plus.sceAtracReinit C# (CSharp) Method

sceAtracReinit() private method

private sceAtracReinit ( int at3Count, int at3plusCount ) : int
at3Count int
at3plusCount int
return int
        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;
        }