void InitializeBlock(uint pointer, BinaryReader file, int mainBlockNo)
{
// Seek to Choices Position
pointer -= (RAMOFFSET);
string[] textArray = new string[5];
uint textPointer;
int blockNo = 0;
// Seek to Start of choices blocks
while (true)
{
textArray = new string[5];
file.BaseStream.Seek(pointer, SeekOrigin.Begin);
if (file.BaseStream.Position == file.BaseStream.Length)
break;
textPointer = Lib.Tools.GetPointerFromFile(file);
if (textPointer < 0x8014B700 || textPointer > 0x80170000)
break;
textArray[0] = Lib.Tools.GetTextFromFile(textPointer, RAMOFFSET, file);
for (int i = 1; i < 5; i++)
{
file.BaseStream.Seek(pointer + (i * 4), SeekOrigin.Begin);
textPointer = Lib.Tools.GetPointerFromFile(file);
if (textPointer != 0)
textArray[i] = Lib.Tools.GetTextFromFile(textPointer, RAMOFFSET, file);
}
pointer += 0x4 * 0x5;
mainBlocks[mainBlockNo][blockNo] = new DialogueChoicesEntry(textArray);
blockNo += 1;
}
}