private static IEnumerable <DjmainChartEvent> ReadInternal(Stream stream, int length) { var reader = new BinaryReader(stream); for (var i = 0; i < length / 4; i++) { var result = new DjmainChartEvent { Offset = reader.ReadUInt16(), Param0 = reader.ReadByte(), Param1 = reader.ReadByte() }; if (result.Offset == 0x7FFF) { yield break; } var isSound = (result.Param0 & 0xF) == 0x1 || (result.Param0 & 0xF) == 0x5; if (isSound) { if ((result.Param1 & 0x80) == 0) { continue; } result.Param1 &= 0x7F; } yield return(result); } }
private static IEnumerable <DjmainChartEvent> ReadInternal(Stream stream) { var reader = new BinaryReader(stream); for (var i = 0; i < MaxEventCount; i++) { var result = new DjmainChartEvent { Offset = reader.ReadUInt16(), Param0 = reader.ReadByte(), Param1 = reader.ReadByte() }; if (result.Offset == 0x7FFF) { yield break; } yield return(result); } }