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

MAPCDSF_splitePack2_Route2() static private method

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

            int l5 = 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 (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                    {
                        int atmp0 = (int)MAPCDSF_getHuffValue(MaiAT3PlusCoreDecoder_StaticData.MAPCDSD_huff_table_global_20[0], mbr0);

                        if ((atmp0 & 0x4) != 0)
                        {
                            atmp0 |= unchecked((int)0xFFFFFFF8);
                        }
                        else
                        {
                            atmp0 &= 0x7;
                        }

                        if (chn_info.joint_chn_info.table11c[l5 + a1] >= 0)
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = chn_info.chn_ref.acc_table_now.table[a0].ptr0[ chn_info.joint_chn_info.table11c[l5 + a1] ].unk1 + atmp0;
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 &= 0xF;
                        }
                        else
                        {
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 = atmp0 - 4;
                            chn_info.acc_table_now.table[a0].ptr0[a1].unk1 &= 0xF;
                        }
                    }

                    l5 += chn_info.acc_table_now.table[a0].num_uk;
                }
            }

            return rs;
        }
MaiAT3PlusCoreDecoder