void InitializeTextBlock(uint pointer, BinaryReader file, int blockNo, int textBlockNo)
{
uint commandPointer = (uint)(pointer + blockNo * 12);
uint textBlocksPointer = (uint)(pointer + blockNo * 12 + 4);
commandPointer = Lib.Tools.GetPointerFromFile(commandPointer, RAMOFFSET, file);
commandPointer -= (RAMOFFSET);
textBlocksPointer = Lib.Tools.GetPointerFromFile(textBlocksPointer, RAMOFFSET, file);
textBlocksPointer -= (RAMOFFSET);
//Debug.WriteLine(blockNo.ToString() + " - " + (commandPointer).ToString("X2") + " - " + textBlocksPointer.ToString("X2"));
file.BaseStream.Seek(textBlocksPointer, SeekOrigin.Begin);
int nameNo;
int unknown1;
int voiceNo;
int unknown2;
uint textPointer;
string text;
textBlockNo = 0;
while (true)
{
file.BaseStream.Seek(textBlocksPointer, SeekOrigin.Begin);
if (file.BaseStream.Position == file.BaseStream.Length)
break;
nameNo = Lib.Tools.GetHalfWordFromFile(file);
unknown1 = Lib.Tools.GetHalfWordFromFile(file);
voiceNo = Lib.Tools.GetHalfWordFromFile(file);
unknown2 = Lib.Tools.GetHalfWordFromFile(file);
textPointer = Lib.Tools.GetPointerFromFile(file);
textBlocksPointer = (uint)file.BaseStream.Position;
if (textPointer < 0x8014B700 || textPointer > 0x80170000)
break;
text = Lib.Tools.GetTextFromFile(textPointer, RAMOFFSET, file);
mainBlocks[blockNo][textBlockNo] = new DialogueEntry(nameNo, voiceNo, unknown1, unknown2, text, textBlocksPointer - 4);
textBlockNo += 1;
}
}