// Token: 0x0600007F RID: 127 RVA: 0x0000D488 File Offset: 0x0000B688
        public static void DrawTextMenu(TextMenu tMenu, int xPos, int yPos)
        {
            int num;

            if (tMenu.numVisibleRows > 0)
            {
                num = (int)(tMenu.numVisibleRows + tMenu.visibleRowOffset);
            }
            else
            {
                tMenu.visibleRowOffset = 0;
                num = (int)tMenu.numRows;
            }
            if (tMenu.numSelections == 3)
            {
                tMenu.selection2 = -1;
                for (int i = 0; i < tMenu.selection1 + 1; i++)
                {
                    if (tMenu.entryHighlight[i] == 1)
                    {
                        tMenu.selection2 = i;
                    }
                }
            }
            switch (tMenu.alignment)
            {
            case 0:
                for (int i = (int)tMenu.visibleRowOffset; i < num; i++)
                {
                    switch (tMenu.numSelections)
                    {
                    case 1:
                        if (i == tMenu.selection1)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos, yPos, 0);
                        }
                        break;

                    case 2:
                        if (i == tMenu.selection1 || i == tMenu.selection2)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos, yPos, 0);
                        }
                        break;

                    case 3:
                        if (i == tMenu.selection1)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos, yPos, 0);
                        }
                        if (i == tMenu.selection2 && i != tMenu.selection1)
                        {
                            TextSystem.DrawStageTextEntry(tMenu, i, xPos, yPos, 128);
                        }
                        break;
                    }
                    yPos += 8;
                }
                return;

            case 1:
                for (int i = (int)tMenu.visibleRowOffset; i < num; i++)
                {
                    int xPos2 = xPos - (tMenu.entrySize[i] << 3);
                    switch (tMenu.numSelections)
                    {
                    case 1:
                        if (i == tMenu.selection1)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 0);
                        }
                        break;

                    case 2:
                        if (i == tMenu.selection1 || i == tMenu.selection2)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 0);
                        }
                        break;

                    case 3:
                        if (i == tMenu.selection1)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 0);
                        }
                        if (i == tMenu.selection2 && i != tMenu.selection1)
                        {
                            TextSystem.DrawStageTextEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        break;
                    }
                    yPos += 8;
                }
                return;

            case 2:
                for (int i = (int)tMenu.visibleRowOffset; i < num; i++)
                {
                    int xPos2 = xPos - (tMenu.entrySize[i] >> 1 << 3);
                    switch (tMenu.numSelections)
                    {
                    case 1:
                        if (i == tMenu.selection1)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 0);
                        }
                        break;

                    case 2:
                        if (i == tMenu.selection1 || i == tMenu.selection2)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 0);
                        }
                        break;

                    case 3:
                        if (i == tMenu.selection1)
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        else
                        {
                            TextSystem.DrawTextMenuEntry(tMenu, i, xPos2, yPos, 0);
                        }
                        if (i == tMenu.selection2 && i != tMenu.selection1)
                        {
                            TextSystem.DrawStageTextEntry(tMenu, i, xPos2, yPos, 128);
                        }
                        break;
                    }
                    yPos += 8;
                }
                return;

            default:
                return;
            }
        }
        // Token: 0x06000080 RID: 128 RVA: 0x0000D7B0 File Offset: 0x0000B9B0
        public static void LoadConfigListText(TextMenu tMenu, int listNo)
        {
            FileData fData = new FileData();

            char[] array = new char[32];
            if (FileIO.LoadFile("Data/Game/GameConfig.bin".ToCharArray(), fData))
            {
                byte b = FileIO.ReadByte();
                for (int i = 0; i < (int)b; i++)
                {
                    byte b2 = FileIO.ReadByte();
                }
                b = FileIO.ReadByte();
                for (int i = 0; i < (int)b; i++)
                {
                    byte b2 = FileIO.ReadByte();
                }
                b = FileIO.ReadByte();
                for (int i = 0; i < (int)b; i++)
                {
                    byte b2 = FileIO.ReadByte();
                }
                byte b3 = FileIO.ReadByte();
                for (int j = 0; j < (int)b3; j++)
                {
                    b = FileIO.ReadByte();
                    for (int i = 0; i < (int)b; i++)
                    {
                        byte b2 = FileIO.ReadByte();
                    }
                }
                for (int j = 0; j < (int)b3; j++)
                {
                    b = FileIO.ReadByte();
                    for (int i = 0; i < (int)b; i++)
                    {
                        byte b2 = FileIO.ReadByte();
                    }
                }
                b3 = FileIO.ReadByte();
                for (int j = 0; j < (int)b3; j++)
                {
                    b = FileIO.ReadByte();
                    byte b2;
                    for (int i = 0; i < (int)b; i++)
                    {
                        b2 = FileIO.ReadByte();
                    }
                    b2 = FileIO.ReadByte();
                    b2 = FileIO.ReadByte();
                    b2 = FileIO.ReadByte();
                    b2 = FileIO.ReadByte();
                }
                b3 = FileIO.ReadByte();
                for (int j = 0; j < (int)b3; j++)
                {
                    b = FileIO.ReadByte();
                    for (int i = 0; i < (int)b; i++)
                    {
                        byte b2 = FileIO.ReadByte();
                    }
                }
                b3 = FileIO.ReadByte();
                for (int j = 0; j < (int)b3; j++)
                {
                    b = FileIO.ReadByte();
                    int i;
                    for (i = 0; i < (int)b; i++)
                    {
                        byte b2 = FileIO.ReadByte();
                        array[i] = (char)b2;
                    }
                    array[i] = '\0';
                    if (listNo == 0)
                    {
                        TextSystem.AddTextMenuEntry(tMenu, array);
                    }
                }
                for (int k = 1; k < 5; k++)
                {
                    b3 = FileIO.ReadByte();
                    for (int j = 0; j < (int)b3; j++)
                    {
                        b = FileIO.ReadByte();
                        int  i;
                        byte b2;
                        for (i = 0; i < (int)b; i++)
                        {
                            b2 = FileIO.ReadByte();
                        }
                        b = FileIO.ReadByte();
                        for (i = 0; i < (int)b; i++)
                        {
                            b2 = FileIO.ReadByte();
                        }
                        b = FileIO.ReadByte();
                        for (i = 0; i < (int)b; i++)
                        {
                            b2       = FileIO.ReadByte();
                            array[i] = (char)b2;
                        }
                        array[i] = '\0';
                        b2       = FileIO.ReadByte();
                        if (listNo == k)
                        {
                            tMenu.entryHighlight[j] = b2;
                            TextSystem.AddTextMenuEntry(tMenu, array);
                        }
                    }
                }
                FileIO.CloseFile();
            }
        }
        // Token: 0x06000042 RID: 66 RVA: 0x0000A844 File Offset: 0x00008A44
        public static void OnlineLoadAchievementsMenu()
        {
            int num = 0;

            for (int i = 0; i < 12; i++)
            {
                num += EngineCallbacks.gameRef.achievementEarned[i];
            }
            TextSystem.SetupTextMenu(StageSystem.gameMenu[0], 0);
            TextSystem.SetupTextMenu(StageSystem.gameMenu[1], 0);
            switch (GlobalAppDefinitions.gameLanguage)
            {
            default:
            {
                string text = EngineCallbacks.achievementText[0] + "    (" + num.ToString() + "/12)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                text = EngineCallbacks.gamerscoreText[0] + "    (" + EngineCallbacks.gameRef.earnedGamerScore.ToString() + "/200)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                break;
            }

            case 1:
            {
                string text = EngineCallbacks.achievementText[1] + "    (" + num.ToString() + "/12)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                text = EngineCallbacks.gamerscoreText[1] + "    (" + EngineCallbacks.gameRef.earnedGamerScore.ToString() + "/200)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                break;
            }

            case 2:
            {
                string text = EngineCallbacks.achievementText[2] + "    (" + num.ToString() + "/12)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                text = EngineCallbacks.gamerscoreText[2] + "    (" + EngineCallbacks.gameRef.earnedGamerScore.ToString() + "/200)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                break;
            }

            case 3:
            {
                string text = EngineCallbacks.achievementText[3] + "    (" + num.ToString() + "/12)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                text = EngineCallbacks.gamerscoreText[3] + "    (" + EngineCallbacks.gameRef.earnedGamerScore.ToString() + "/200)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                break;
            }

            case 4:
            {
                string text = EngineCallbacks.achievementText[4] + "    (" + num.ToString() + "/12)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                text = EngineCallbacks.gamerscoreText[4] + "    (" + EngineCallbacks.gameRef.earnedGamerScore.ToString() + "/200)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                break;
            }

            case 5:
            {
                string text = EngineCallbacks.achievementText[5] + "    (" + num.ToString() + "/12)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                text = EngineCallbacks.gamerscoreText[5] + "    (" + EngineCallbacks.gameRef.earnedGamerScore.ToString() + "/200)";
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[0], text.ToCharArray());
                break;
            }
            }
            for (int i = 0; i < 12; i++)
            {
                ObjectSystem.objectEntityList[34 + i].value[1] = EngineCallbacks.gameRef.achievementEarned[i];
                ObjectSystem.objectEntityList[34 + i].frame    = (byte)EngineCallbacks.gameRef.achievementID[i];
                string text;
                if (EngineCallbacks.gameRef.achievementName[i] != null)
                {
                    text = EngineCallbacks.gameRef.achievementName[i] + "    (" + EngineCallbacks.gameRef.achievementGamerScore[i].ToString() + " G)";
                }
                else
                {
                    text = "Achievement Name    (" + EngineCallbacks.gameRef.achievementGamerScore[i].ToString() + " G)";
                }
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[1], text.ToCharArray());
                if (EngineCallbacks.gameRef.achievementDesc[i] != null)
                {
                    text = EngineCallbacks.gameRef.achievementDesc[i];
                }
                else
                {
                    text = "Achievement Description";
                }
                TextSystem.AddTextMenuEntryMapped(StageSystem.gameMenu[1], text.ToCharArray());
            }
        }