public override List <ScriptAction> Load(Stream stream) { List <RealTouchCommand> commands = new List <RealTouchCommand>(); using (StreamReader reader = new StreamReader(stream, Encoding.UTF8, true, 1024, true)) { while (!reader.EndOfStream) { string line = reader.ReadLine(); RealTouchCommand command = RealTouchCommand.Parse(line); if (command != null) { commands.Add(command); } } } List <RawScriptAction> intermediateResult = ConvertToRawFunscript(commands); List <FunScriptAction> finalResult = intermediateResult.Select(raw => new FunScriptAction { TimeStamp = raw.TimeStamp, Position = raw.Position }).ToList(); //TODO Smooth movement (e.g. CH_Corruptors.ott @ 21:00) finalResult = RawScriptConverter.Convert(intermediateResult); return(finalResult.Cast <ScriptAction>().ToList()); }
public override List <ScriptAction> Load(Stream stream) { using (StreamReader reader = new StreamReader(stream, new UTF8Encoding(false))) { string content = reader.ReadToEnd(); FeelMeScript script = GetScriptContent(content); string scriptContent = TrimNonNumberCharacters(script.String); var kiirooScript = KiirooScriptConverter.Parse(scriptContent, script.PairSeparator, script.ValueSeparator); var rawScript = KiirooScriptConverter.Convert(kiirooScript); var funscript = RawScriptConverter.Convert(rawScript); return(funscript.Cast <ScriptAction>().ToList()); } }