From 463c51be85a3ac8992db19afccd7acef08735075 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sun, 15 Aug 2021 11:45:23 +0200 Subject: [PATCH] Convert getDefaultRenderSettings into default constructor Allows us to completely get rid of the custom Gson instance and is more idiomatic anyway. --- .../com/replaymod/render/RenderSettings.java | 26 +++++++++++++++++++ .../render/gui/GuiRenderSettings.java | 15 +++-------- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/replaymod/render/RenderSettings.java b/src/main/java/com/replaymod/render/RenderSettings.java index 943534df..e83d4947 100644 --- a/src/main/java/com/replaymod/render/RenderSettings.java +++ b/src/main/java/com/replaymod/render/RenderSettings.java @@ -174,6 +174,32 @@ public class RenderSettings { private final boolean highPerformance; + public RenderSettings() { + this( + RenderSettings.RenderMethod.DEFAULT, + RenderSettings.EncodingPreset.MP4_CUSTOM, + 1920, + 1080, + 60, + 20 << 20, + null, + true, + false, + false, + false, + null, + 360, + 180, + false, + false, + false, + RenderSettings.AntiAliasing.NONE, + "", + RenderSettings.EncodingPreset.MP4_CUSTOM.getValue(), + false + ); + } + public RenderSettings( RenderMethod renderMethod, EncodingPreset encodingPreset, diff --git a/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java b/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java index 144fa47c..38d80a27 100644 --- a/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java +++ b/src/main/java/com/replaymod/render/gui/GuiRenderSettings.java @@ -2,8 +2,6 @@ package com.replaymod.render.gui; import com.google.common.base.Preconditions; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.InstanceCreator; import com.google.gson.JsonSyntaxException; import com.replaymod.core.ReplayMod; import com.replaymod.render.RenderSettings; @@ -330,15 +328,13 @@ public class GuiRenderSettings extends AbstractGuiPopup { } RenderSettings settings = null; try { - settings = new GsonBuilder() - .registerTypeAdapter(RenderSettings.class, (InstanceCreator) type -> getDefaultRenderSettings()) - .create().fromJson(json, RenderSettings.class); + settings = new Gson().fromJson(json, RenderSettings.class); } catch (JsonSyntaxException e) { LOGGER.error("Parsing render settings:", e); LOGGER.error("Raw JSON: {}", json); } if (settings == null) { - settings = getDefaultRenderSettings(); + settings = new RenderSettings(); } load(settings); } @@ -506,7 +502,7 @@ public class GuiRenderSettings extends AbstractGuiPopup { /* encodingPreset can be null from a previously supported and later removed preset */ boolean invalidEncodingPreset = encodingPreset == null || !encodingPreset.isSupported(); if (invalidEncodingPreset) { - encodingPreset = getDefaultRenderSettings().getEncodingPreset(); + encodingPreset = new RenderSettings().getEncodingPreset(); } encodingPresetDropdown.setSelected(encodingPreset); videoWidth.setValue(settings.getTargetVideoWidth()); @@ -626,11 +622,6 @@ public class GuiRenderSettings extends AbstractGuiPopup { return ReplayModRender.instance.getRenderSettingsPath(); } - private RenderSettings getDefaultRenderSettings() { - return new RenderSettings(RenderSettings.RenderMethod.DEFAULT, RenderSettings.EncodingPreset.MP4_CUSTOM, 1920, 1080, 60, 20 << 20, null, - true, false, false, false, null, 360, 180, false, false, false, RenderSettings.AntiAliasing.NONE, "", RenderSettings.EncodingPreset.MP4_CUSTOM.getValue(), false); - } - @Override public void open() { super.open();