Pushed missing files

Started adding Replay Editor using johni0702's excellent ReplayStudio Library
Added fully functional GuiDropdown GUI Element (useable in other projects as well)
This commit is contained in:
Marius Metzger
2015-03-10 00:34:26 +01:00
parent b4ce266375
commit 9b69681ef0
21 changed files with 383 additions and 128 deletions

View File

@@ -0,0 +1,39 @@
package eu.crushedpixel.replaymod.studio;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import de.johni0702.replaystudio.Studio;
import de.johni0702.replaystudio.collection.PacketData;
import de.johni0702.replaystudio.filter.RemoveFilter;
import de.johni0702.replaystudio.filter.SquashFilter;
import de.johni0702.replaystudio.io.ReplayOutputStream;
import de.johni0702.replaystudio.stream.PacketStream;
import de.johni0702.replaystudio.studio.ReplayStudio;
public class StudioImplementation {
public static void trimReplay(InputStream replayFileStream, boolean isTmcpr, int beginning, int ending, File outputFile) throws IOException {
ReplayStudio studio = new ReplayStudio();
PacketStream stream = studio.createReplayStream(replayFileStream, isTmcpr);
stream.addFilter(new SquashFilter(), -1, beginning);
stream.addFilter(new RemoveFilter(), ending, -1);
outputFile.createNewFile();
FileOutputStream fos = new FileOutputStream(outputFile);
ReplayOutputStream out = new ReplayOutputStream(studio, fos);
PacketData packetData;
while((packetData = stream.next()) != null) {
out.write(packetData);
}
for(PacketData data : stream.end()) {
out.write(data);
}
out.close();
}
}