// Token: 0x0600007E RID: 126 RVA: 0x0000D42C File Offset: 0x0000B62C public static void DrawBlendedTextMenuEntry(TextMenu tMenu, int rowNum, int xPos, int yPos, int textHighL) { int num = tMenu.entryStart[rowNum]; for (int i = 0; i < tMenu.entrySize[rowNum]; i++) { GraphicsSystem.DrawBlendedSprite(xPos + (i << 3), yPos, 8, 8, (int)((int)(tMenu.textData[num] & '\u000f') << 3), (int)((int)(tMenu.textData[num] >> 4) << 3) + textHighL, TextSystem.textMenuSurfaceNo); num++; } }
// Token: 0x0600007B RID: 123 RVA: 0x0000D2D8 File Offset: 0x0000B4D8 public static void EditTextMenuEntry(TextMenu tMenu, char[] inputTxt, int rowNum) { int i = 0; int num = tMenu.entryStart[rowNum]; tMenu.entrySize[rowNum] = 0; while (i < inputTxt.Length) { if (inputTxt[i] != '\0') { tMenu.textData[num] = inputTxt[i]; num++; tMenu.entrySize[rowNum]++; i++; } else { i = inputTxt.Length; } } }
// Token: 0x06000079 RID: 121 RVA: 0x0000D190 File Offset: 0x0000B390 public static void AddTextMenuEntryMapped(TextMenu tMenu, char[] inputTxt) { int i = 0; tMenu.entryStart[(int)tMenu.numRows] = tMenu.textDataPos; tMenu.entrySize[(int)tMenu.numRows] = 0; while (i < inputTxt.Length) { if (inputTxt[i] != '\0') { ushort num = (ushort)inputTxt[i]; int j = 0; while (j < 1024) { if (TextSystem.fontCharacterList[j].id == (int)num) { num = (ushort)j; j = 1025; } else { j++; } } if (j == 1024) { num = 0; } tMenu.textData[tMenu.textDataPos] = (char)num; tMenu.textDataPos++; tMenu.entrySize[(int)tMenu.numRows]++; i++; } else { i = inputTxt.Length; } } tMenu.numRows += 1; }
// Token: 0x06000078 RID: 120 RVA: 0x0000D0FC File Offset: 0x0000B2FC public static void AddTextMenuEntry(TextMenu tMenu, char[] inputTxt) { int i = 0; tMenu.entryStart[(int)tMenu.numRows] = tMenu.textDataPos; tMenu.entrySize[(int)tMenu.numRows] = 0; while (i < inputTxt.Length) { if (inputTxt[i] != '\0') { tMenu.textData[tMenu.textDataPos] = inputTxt[i]; tMenu.textDataPos++; tMenu.entrySize[(int)tMenu.numRows]++; i++; } else { i = inputTxt.Length; } } tMenu.numRows += 1; }
// 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: 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: 0x06000077 RID: 119 RVA: 0x0000D0E8 File Offset: 0x0000B2E8 public static void SetupTextMenu(TextMenu tMenu, int numRows) { tMenu.textDataPos = 0; tMenu.numRows = (ushort)numRows; }
// Token: 0x06000075 RID: 117 RVA: 0x0000CC80 File Offset: 0x0000AE80 public static void LoadTextFile(TextMenu tMenu, char[] fileName, byte mapCode) { bool flag = false; FileData fData = new FileData(); if (FileIO.LoadFile(fileName, fData)) { tMenu.textDataPos = 0; tMenu.numRows = 0; tMenu.entryStart[(int)tMenu.numRows] = tMenu.textDataPos; tMenu.entrySize[(int)tMenu.numRows] = 0; byte b = FileIO.ReadByte(); if (b == 255) { b = FileIO.ReadByte(); while (!flag) { b = FileIO.ReadByte(); ushort num = (ushort)b; b = FileIO.ReadByte(); num += (ushort)(b << 8); ushort num2 = num; if (num2 != 10) { if (num2 == 13) { tMenu.numRows += 1; if (tMenu.numRows > 511) { flag = true; } else { tMenu.entryStart[(int)tMenu.numRows] = tMenu.textDataPos; tMenu.entrySize[(int)tMenu.numRows] = 0; } } else { if (mapCode == 1) { int i = 0; while (i < 1024) { if (TextSystem.fontCharacterList[i].id == (int)num) { num = (ushort)i; i = 1025; } else { i++; } } if (i == 1024) { num = 0; } } tMenu.textData[tMenu.textDataPos] = (char)num; tMenu.textDataPos++; tMenu.entrySize[(int)tMenu.numRows]++; } } if (!flag) { flag = FileIO.ReachedEndOfFile(); if (tMenu.textDataPos >= 10240) { flag = true; } } } } else { ushort num = (ushort)b; ushort num3 = num; if (num3 != 10) { if (num3 == 13) { tMenu.numRows += 1; tMenu.entryStart[(int)tMenu.numRows] = tMenu.textDataPos; tMenu.entrySize[(int)tMenu.numRows] = 0; } else { if (mapCode == 1) { int i = 0; while (i < 1024) { if (TextSystem.fontCharacterList[i].id == (int)num) { num = (ushort)i; i = 1025; } else { i++; } } if (i == 1024) { num = 0; } } tMenu.textData[tMenu.textDataPos] = (char)num; tMenu.textDataPos++; tMenu.entrySize[(int)tMenu.numRows]++; } } while (!flag) { b = FileIO.ReadByte(); num = (ushort)b; ushort num4 = num; if (num4 != 10) { if (num4 == 13) { tMenu.numRows += 1; if (tMenu.numRows > 511) { flag = true; } else { tMenu.entryStart[(int)tMenu.numRows] = tMenu.textDataPos; tMenu.entrySize[(int)tMenu.numRows] = 0; } } else { if (mapCode == 1) { int i = 0; while (i < 1024) { if (TextSystem.fontCharacterList[i].id == (int)num) { num = (ushort)i; i = 1025; } else { i++; } } if (i == 1024) { num = 0; } } tMenu.textData[tMenu.textDataPos] = (char)num; tMenu.textDataPos++; tMenu.entrySize[(int)tMenu.numRows]++; } } if (!flag) { flag = FileIO.ReachedEndOfFile(); if (tMenu.textDataPos >= 10240) { flag = true; } } } } tMenu.numRows += 1; FileIO.CloseFile(); } }