CSPspEmu.Hle.Formats.audio.At3.MaiAT3PlusCoreDecoder.MAPCDSF_splitePack0_Route1 C# (CSharp) Method

MAPCDSF_splitePack0_Route1() static private method

static private MAPCDSF_splitePack0_Route1 ( MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info ) : int
mbr0 MaiBitReader
chn_info MaiAT3PlusCoreDecoderChnInfo
return int
        static int MAPCDSF_splitePack0_Route1(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;

            for (uint a0 = 0; a0 < (uint)chn_info.acc_table_now.inner.unk2; a0++)
            {
                if (chn_info.inner_pack_table0_check_table[a0] != 0)
                {
                    for (uint a1 = 0; a1 < (uint)chn_info.acc_table_now.table[a0].num_uk; a1++)
                    {
                        int atmp0 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_14[0], mbr0);
                        if ((atmp0 & 0x80) != 0) atmp0 |= unchecked((int)0xFFFFFF00);
                        else atmp0 &= 0xFF;

                        if (a1 < (uint)chn_info.chn_ref.acc_table_now.table[a0].num_uk)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk3 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[a1].unk3 + atmp0;
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk3 &= 0x3FF;
                        }
                        else
                        {
                            if (chn_info.chn_ref.acc_table_now.table[a0].num_uk <= 0)
                            {
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk3 = atmp0;
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk3 &= 0x3FF;
                            }
                            else
                            {
                                int tmp0 = chn_info.chn_ref.acc_table_now.table[a0].num_uk - 1;
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk3 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[tmp0].unk3 + atmp0;
                                chn_info.acc_table_now.table[a0].ptr0[a1].unk3 &= 0x3FF;
                            }
                        }
                    }
                }
            }

            return rs;
        }
MaiAT3PlusCoreDecoder