Merge branch 'stable' into develop-1.7.10

This commit is contained in:
Jonas Herzig
2018-03-16 13:03:22 +01:00
10 changed files with 75 additions and 33 deletions

View File

@@ -30,24 +30,24 @@ cddfc1a07301f2fa07a5e1b6897e455d397d6d5c547d45082c267a1ee2c75f70 /com/github/Mod
7191124b8491d36b9fc1eb1a4e0f8ef710a4b98e27dde92854c24d45457fd9d0 /com/github/ModCoderPack/MCInjector/05aa80e/MCInjector-05aa80e.pom
ecf57aab63509ec0ce3937c2215bc3a2e3cb6357cd11095978db18bd3251731a /com/github/ModCoderPack/MCInjector/7258466/MCInjector-7258466.jar
dc7ed1f4f0ddd8f5ce3b449db944907a5eb2855dbbbc59b08dad1247ebafba33 /com/github/ModCoderPack/MCInjector/7258466/MCInjector-7258466.pom
6ebdbbf19772568d89e9655b5d64c26b1050d9326c8c2e61f64ab33b9650d56f /com/github/ReplayMod/ReplayStudio/1.10.2/24a6ad9/1.10.2-24a6ad9.jar
ab6a1dfa190ddfe8db5258c32363a9fee8e273b43478b948c8b79163d305b523 /com/github/ReplayMod/ReplayStudio/1.10.2/24a6ad9/1.10.2-24a6ad9.pom
01e9dee0e8ce43579f0cd9a360e9059d1443653e964dbe98ba5ac726657f1098 /com/github/ReplayMod/ReplayStudio/1.11.2/24a6ad9/1.11.2-24a6ad9.jar
e688800f492d466b3edf21e1d3a8e7e33f02094bc00af41a938a1901cb954a3d /com/github/ReplayMod/ReplayStudio/1.11.2/24a6ad9/1.11.2-24a6ad9.pom
e9a6a2d1ced27eb8c79c822fff17a2526b80a46565db7d80c291786e72aab2b6 /com/github/ReplayMod/ReplayStudio/1.11/24a6ad9/1.11-24a6ad9.jar
ec2508e54ebf32139af2de851f5ff953c5f9f20f8d0ad2a32d967ca36a3df170 /com/github/ReplayMod/ReplayStudio/1.11/24a6ad9/1.11-24a6ad9.pom
be3a00aeb83309589a5eb5f362c8be4c2a7618254bd83e4ad5e4c68979594134 /com/github/ReplayMod/ReplayStudio/1.12.1/24a6ad9/1.12.1-24a6ad9.jar
5b71b67fcfc0f9b841544fbdfc5341782e0b872137b7e6c580eeb255849b6ddd /com/github/ReplayMod/ReplayStudio/1.12.1/24a6ad9/1.12.1-24a6ad9.pom
a3b7366e9464df440b7d35aa763514d0d4f3561352ff46fd20d4fbd72199d9e4 /com/github/ReplayMod/ReplayStudio/1.12.2/24a6ad9/1.12.2-24a6ad9.jar
648c604e39a264df7fa7ec2a2e23316c6603ef0514f97ed2469e9fa0df8b2f88 /com/github/ReplayMod/ReplayStudio/1.12.2/24a6ad9/1.12.2-24a6ad9.pom
e879a28f1214a31a713a5e913a340c800924af8cef874f4c4b6fe87dfd168a5a /com/github/ReplayMod/ReplayStudio/1.12/24a6ad9/1.12-24a6ad9.jar
f76387ad6cf25314254e09a46fa4d3cf1316e73cc8d7dcc519ff043cedf5e011 /com/github/ReplayMod/ReplayStudio/1.12/24a6ad9/1.12-24a6ad9.pom
7bbfd0a7208a54a6504fcc55ab1923657290eb5f875b8a7a0e90b38c30ac3bf2 /com/github/ReplayMod/ReplayStudio/1.7.10/24a6ad9/1.7.10-24a6ad9.jar
0859e94b2301b922a5b3c708af5cfd3a5258472f0e96c1d5fa03d46ae1904a0d /com/github/ReplayMod/ReplayStudio/1.7.10/24a6ad9/1.7.10-24a6ad9.pom
a8004aa2fe87255b9de92d100347a76eda0c4922a082e1656a402825c21f29d4 /com/github/ReplayMod/ReplayStudio/1.8/24a6ad9/1.8-24a6ad9.jar
826c406986c4ffd5d2abd0b9c0b8184cdf65ac14aa1c8eb885c2ee7b34b9bc2d /com/github/ReplayMod/ReplayStudio/1.8/24a6ad9/1.8-24a6ad9.pom
2d828c6bf155a91c345b21202fe03d8ceaa5c3ad8db0e0c0cc8fde77adc465f6 /com/github/ReplayMod/ReplayStudio/1.9.4/24a6ad9/1.9.4-24a6ad9.jar
c5be0021f31bfd1e9c792b24f2811816430450b91e98452cef33392dda00696e /com/github/ReplayMod/ReplayStudio/1.9.4/24a6ad9/1.9.4-24a6ad9.pom
2a0317d30d61fb285cc53fa20e2e70f8415cd450bd7dd27316ede1958bd0026a /com/github/ReplayMod/ReplayStudio/1.10.2/464e18a/1.10.2-464e18a.jar
4d23573378855cb19ed826fbf64af7933176009968c346a0dc90db0aaf0b1085 /com/github/ReplayMod/ReplayStudio/1.10.2/464e18a/1.10.2-464e18a.pom
0c2fc451112aea29afea627c6f960c6c2d802bf9ce5171e13141d765cabd1bd3 /com/github/ReplayMod/ReplayStudio/1.11.2/464e18a/1.11.2-464e18a.jar
05897bc9d94d22c632d2f92acb61d3b5a4524bb2c87e084c843d48ec2859b5d0 /com/github/ReplayMod/ReplayStudio/1.11.2/464e18a/1.11.2-464e18a.pom
72a34922cd66c11c4828ea5a6a59a22c7e84704eba6d6569dcb7946c861c6150 /com/github/ReplayMod/ReplayStudio/1.11/464e18a/1.11-464e18a.jar
652eebb442f3735b6dd826f1dfc0b9b0a4a15cc5cbc8838829680593cd1d329c /com/github/ReplayMod/ReplayStudio/1.11/464e18a/1.11-464e18a.pom
09b16315282ff3d230473ef8c1ebc8ecbedecc9e1cfacc11a25c8cf33804df58 /com/github/ReplayMod/ReplayStudio/1.12.1/464e18a/1.12.1-464e18a.jar
1fce1aed0a6d8ec2d98963657affc067cb4e07c919dcb82b08c67567375da4fd /com/github/ReplayMod/ReplayStudio/1.12.1/464e18a/1.12.1-464e18a.pom
09f3bb46fcfe5717824ef98b1fe1ddd168dbaab9bb9733638b372eafdb38e8ea /com/github/ReplayMod/ReplayStudio/1.12.2/464e18a/1.12.2-464e18a.jar
8cfc8fadf77620baea61e9939466ec09c352628867562039fd3fb0d19077de7d /com/github/ReplayMod/ReplayStudio/1.12.2/464e18a/1.12.2-464e18a.pom
5a2768d35614ff979587e7cbfb1e47ee583d6abae5c37d987d092d937ddab1df /com/github/ReplayMod/ReplayStudio/1.12/464e18a/1.12-464e18a.jar
9a3839e479d182c36e0d1c50c5546f4ab2be874c0edf391b8c2da06f0f826b0d /com/github/ReplayMod/ReplayStudio/1.12/464e18a/1.12-464e18a.pom
4608a10f2be2d7d85b63497c0ef1b5c8b6240b219de72507a375349f4060a7c6 /com/github/ReplayMod/ReplayStudio/1.7.10/464e18a/1.7.10-464e18a.jar
932c417dead3f4fde2518ebd97bcb7911f5bdccc015bff8f8a02bbd0e0652150 /com/github/ReplayMod/ReplayStudio/1.7.10/464e18a/1.7.10-464e18a.pom
3e71190a4715c3b75c5cc0c370446ddcd140d0aed81f699a1bb8613d22828060 /com/github/ReplayMod/ReplayStudio/1.8/464e18a/1.8-464e18a.jar
25eec3876744c665225511ab1d6f786e2a763b18e99c29305cabed06187868e5 /com/github/ReplayMod/ReplayStudio/1.8/464e18a/1.8-464e18a.pom
12aab719873f618d2d9fecd39792b95391d33f2a63e59a6def4683603c941234 /com/github/ReplayMod/ReplayStudio/1.9.4/464e18a/1.9.4-464e18a.jar
02fff38653316815a7b0208959fa58d92ccd4ec9eef51b2c9d4b0d0383a72361 /com/github/ReplayMod/ReplayStudio/1.9.4/464e18a/1.9.4-464e18a.pom
bfdcda4cbf23f28392384818a1417c2d6df687e15ce77530ef96381393102f8a /com/github/SpongePowered/MixinGradle/dcfaf61/MixinGradle-dcfaf61.jar
3552e0c04817d91d1b6671a051d0e1d952c8b6a8eec57b54e829de9fa3ddf002 /com/github/SpongePowered/MixinGradle/dcfaf61/MixinGradle-dcfaf61.pom
c6ebd74cd6108b8c372c95b842725ee5bd6d3303ba26cb00f18bc92f80b47956 /com/github/tony19/named-regexp/0.2.3/named-regexp-0.2.3.jar

View File

@@ -44,7 +44,7 @@ popd # Back to root
./gradlew -Preprod $PROXY_SETTINGS -I gradle/reprod/init.gradle "$@"
if [ "$SIGNED_JAR" == "1" ]; then
if [ "$(git blame -p version.txt | head -n1 | cut -d' ' -f1)" == "$(git rev-parse HEAD)" ]; then
echo "Trying to fetch signature for resulting jar files.."
pushd versions
for ver in */; do

View File

@@ -36,6 +36,7 @@ import de.johni0702.minecraft.gui.popup.GuiYesNoPopup;
import de.johni0702.minecraft.gui.utils.Colors;
import net.minecraft.crash.CrashReport;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.util.ReadableDimension;
import javax.annotation.Nullable;
@@ -123,7 +124,8 @@ public class GuiReplayEditor extends GuiScreen {
return button;
}
public void save(File inputFile, PacketStream.FilterInfo...filters) {
@SafeVarargs
public final void save(File inputFile, Pair<PacketStream.FilterInfo, JsonObject>... filters) {
save(Utils.fileNameToReplayName(inputFile.getName()), (outputFile) -> {
Studio studio = new ReplayStudio();
File tmpDir = null;
@@ -146,7 +148,10 @@ public class GuiReplayEditor extends GuiScreen {
PacketStream stream = studio.createReplayStream(in, true);
stream.addFilter(new ProgressFilter(metaData.getDuration()));
for (PacketStream.FilterInfo info : filters) {
for (Pair<PacketStream.FilterInfo, JsonObject> pair : filters) {
PacketStream.FilterInfo info = pair.getLeft();
JsonObject config = pair.getRight();
info.getFilter().init(studio, config);
stream.addFilter(info.getFilter(), info.getFrom(), info.getTo());
LOGGER.debug("Added filter {}", info);
}

View File

@@ -22,6 +22,7 @@ import net.minecraft.client.resources.I18n;
import net.minecraft.crash.CrashReport;
import org.apache.commons.io.IOCase;
import org.apache.commons.io.filefilter.SuffixFileFilter;
import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.util.Dimension;
import java.io.File;
@@ -133,12 +134,11 @@ public class GuiTrimPanel extends GuiPanel {
ChangeTimestampFilter ctf = new ChangeTimestampFilter();
JsonObject config = new JsonObject();
config.addProperty("offset", -start);
ctf.init(null, config);
// Pass filters to save dialog
gui.save(inputReplays.getSelectedValue(),
new PacketStream.FilterInfo(new SquashFilter(), -1, start),
new PacketStream.FilterInfo(ctf, start, end),
new PacketStream.FilterInfo(new RemoveFilter(), end, -1)
Pair.of(new PacketStream.FilterInfo(new SquashFilter(), -1, start), new JsonObject()),
Pair.of(new PacketStream.FilterInfo(ctf, start, end), config),
Pair.of(new PacketStream.FilterInfo(new RemoveFilter(), end, -1), new JsonObject())
);
});
}

View File

@@ -23,15 +23,30 @@ import static com.replaymod.core.versions.MCVer.*;
public class ChunkLoadingRenderGlobal {
private final RenderGlobal hooked;
private final ChunkRenderDispatcher renderDispatcher;
private final JailingQueue<ChunkCompileTaskGenerator> workerJailingQueue;
private final CustomChunkRenderWorker renderWorker;
private ChunkRenderDispatcher renderDispatcher;
private JailingQueue<ChunkCompileTaskGenerator> workerJailingQueue;
private CustomChunkRenderWorker renderWorker;
private int frame;
@SuppressWarnings("unchecked")
public ChunkLoadingRenderGlobal(RenderGlobal renderGlobal) {
this.hooked = renderGlobal;
this.renderDispatcher = renderGlobal.renderDispatcher;
setup(renderGlobal.renderDispatcher);
}
public void updateRenderDispatcher(ChunkRenderDispatcher renderDispatcher) {
if (this.renderDispatcher != null) {
workerJailingQueue.freeAll();
this.renderDispatcher = null;
}
if (renderDispatcher != null) {
setup(renderDispatcher);
}
}
private void setup(ChunkRenderDispatcher renderDispatcher) {
this.renderDispatcher = renderDispatcher;
this.renderWorker = new CustomChunkRenderWorker(renderDispatcher, new RegionRenderCacheBuilder());
int workerThreads = renderDispatcher.listThreadedWorkers.size();

View File

@@ -10,6 +10,7 @@ import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
//#if MC<10904
@@ -67,5 +68,19 @@ public abstract class MixinRenderGlobal {
ci.cancel();
}
}
@Inject(method = "setWorldAndLoadRenderers", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/chunk/ChunkRenderDispatcher;stopWorkerThreads()V"))
private void stopWorkerThreadsAndChunkLoadingRenderGlobal(CallbackInfo ci) {
if (replayModRender_hook != null) {
replayModRender_hook.updateRenderDispatcher(null);
}
}
@Inject(method = "loadRenderers", at = @At(value = "RETURN"))
private void setupChunkLoadingRenderGlobal(CallbackInfo ci) {
if (replayModRender_hook != null) {
replayModRender_hook.updateRenderDispatcher(renderDispatcher);
}
}
}
//#endif

View File

@@ -95,7 +95,7 @@ public class ReplayHandler {
markers = new ArrayList<>(replayFile.getMarkers().or(Collections.emptySet()));
replaySender = new ReplaySender(this, replayFile, asyncMode);
replaySender = new ReplaySender(this, replayFile, false);
setup();
@@ -103,6 +103,8 @@ public class ReplayHandler {
overlay.setVisible(true);
FML_BUS.post(new ReplayOpenEvent.Post(this));
replaySender.setAsyncMode(asyncMode);
}
void restartedReplay() {

View File

@@ -1 +1 @@
2.1.1
2.1.2

View File

@@ -115,6 +115,8 @@ repositories {
configurations {
shade
compile.extendsFrom shade
shade.exclude group: 'com.google.code.gson', module: 'gson' // provided by MC
}
dependencies {
@@ -133,7 +135,7 @@ dependencies {
def studioVersion = "${(int)(mcVersion/10000)}.${(int)(mcVersion/100)%100}" + (mcVersion%100==0 ? '' : ".${mcVersion%100}")
if (studioVersion == '1.8.9') studioVersion = '1.8'
shade("com.github.ReplayMod.ReplayStudio:$studioVersion:24a6ad9"){
shade("com.github.ReplayMod.ReplayStudio:$studioVersion:464e18a"){
exclude group: 'com.google.guava', module: 'guava' // provided by MC
exclude group: 'org.projectlombok', module: 'lombok' // runtime only for @SneakyThrows which isn't used
}

View File

@@ -65,7 +65,10 @@ static def convertSource(Map<String, String> kws, Map<String, Integer> vars, Lis
}
}
} else if (trimmed.startsWith(kws.ifdef)) {
ifStack.push(null)
def result = vars.containsKey(trimmed.substring(kws.ifdef.length()))
ifStack.push(result)
indentStack.push(getIndent(line))
active &= result
} else if (trimmed.startsWith(kws.endif)) {
if (ifStack.isEmpty()) {
throw new ParserException("Unexpected endif in line $n of $fileName")