protected override string Generate(int offset, int length) { var bytes = LogCreator.GetLineByteLength(offset); var code = ""; switch (Data.GetFlag(offset)) { case FlagType.Opcode: code = Data.GetInstruction(offset); break; case FlagType.Unreached: case FlagType.Operand: case FlagType.Data8Bit: case FlagType.Graphics: case FlagType.Music: case FlagType.Empty: code = Data.GetFormattedBytes(offset, 1, bytes); break; case FlagType.Data16Bit: code = Data.GetFormattedBytes(offset, 2, bytes); break; case FlagType.Data24Bit: code = Data.GetFormattedBytes(offset, 3, bytes); break; case FlagType.Data32Bit: code = Data.GetFormattedBytes(offset, 4, bytes); break; case FlagType.Pointer16Bit: code = Data.GeneratePointerStr(offset, 2); break; case FlagType.Pointer24Bit: code = Data.GeneratePointerStr(offset, 3); break; case FlagType.Pointer32Bit: code = Data.GeneratePointerStr(offset, 4); break; case FlagType.Text: code = Data.GetFormattedText(offset, bytes); break; } return(Util.LeftAlign(length, code)); }