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

MAPCDSF_makeTable11C() static private method

static private MAPCDSF_makeTable11C ( MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info ) : int
mbr0 MaiBitReader
chn_info MaiAT3PlusCoreDecoderChnInfo
return int
        static int MAPCDSF_makeTable11C(MaiBitReader mbr0, MaiAT3PlusCoreDecoderChnInfo chn_info)
        {
            int rs = 0;
            int* stmp34 = stackalloc int[0x80];
            int l22 = 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)
                {
                    if (chn_info.acc_table_now.table[a0].num_uk > 0)
                    {
                        for (int a1 = 0; a1 < chn_info.chn_ref.acc_table_now.table[a0].num_uk; a1++)
                        {
                            stmp34[a1] = chn_info.chn_ref.acc_table_now.table[a0].ptr0[a1].unk3;
                        }

                        for (int a1 = 0; a1 < chn_info.acc_table_now.table[a0].num_uk; a1++)
                        {
                            int btmp0 = chn_info.acc_table_now.table[a0].ptr0[a1].unk3;
                            int dtmp0 = 0x400;
                            int mtmp0 = 0;
                            if ( chn_info.chn_ref.acc_table_now.table[a0].num_uk > 0)
                            {
                                for (int a2 = 0; a2 < chn_info.chn_ref.acc_table_now.table[a0].num_uk; a2++)
                                {
                                    int atmp0 = btmp0 - stmp34[a2];
                                    if (atmp0 < 0) atmp0 = 0 - atmp0;
                                    if (dtmp0 > atmp0)
                                    {
                                        dtmp0 = atmp0;
                                        mtmp0 = a2;
                                    }
                                }
                                if (dtmp0 < 8)
                                {
                                    chn_info.joint_chn_info.table11c[l22] = mtmp0;
                                }
                                else if (a1 < chn_info.chn_ref.acc_table_now.table[a0].num_uk)
                                {
                                    chn_info.joint_chn_info.table11c[l22] = a1;
                                }
                                else
                                {
                                    chn_info.joint_chn_info.table11c[l22] = -1;
                                }
                            }
                            else
                            {
                                if (a1 < chn_info.chn_ref.acc_table_now.table[a0].num_uk)
                                {
                                    chn_info.joint_chn_info.table11c[l22] = a1;
                                }
                                else
                                {
                                    chn_info.joint_chn_info.table11c[l22] = -1;
                                }
                            }

                            l22++;
                        }
                    }
                }
            }

            return rs;
        }
MaiAT3PlusCoreDecoder