1
0
forked from Clones/Controlify

🐛 Fix the controller default config syncing with the normal config after a serialization failure

This commit is contained in:
isXander
2023-07-10 17:00:15 +01:00
parent 4755e164ad
commit 23d65cb89d
2 changed files with 5 additions and 2 deletions

View File

@ -9,6 +9,7 @@ import dev.isxander.controlify.bindings.ControllerBindings;
import dev.isxander.controlify.controller.hid.ControllerHIDService; import dev.isxander.controlify.controller.hid.ControllerHIDService;
import dev.isxander.controlify.rumble.RumbleCapable; import dev.isxander.controlify.rumble.RumbleCapable;
import dev.isxander.controlify.utils.Log; import dev.isxander.controlify.utils.Log;
import org.apache.commons.lang3.SerializationUtils;
import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFW;
import java.util.Objects; import java.util.Objects;
@ -116,7 +117,7 @@ public abstract class AbstractController<S extends ControllerState, C extends Co
this.config = newConfig; this.config = newConfig;
} else { } else {
Log.LOGGER.error("Could not set config for controller " + name() + " (" + uid() + ")! Using default config instead."); Log.LOGGER.error("Could not set config for controller " + name() + " (" + uid() + ")! Using default config instead.");
this.config = defaultConfig(); this.config = SerializationUtils.clone(defaultConfig());
Controlify.instance().config().setDirty(); Controlify.instance().config().setDirty();
} }
} }

View File

@ -4,7 +4,9 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive; import com.google.gson.JsonPrimitive;
import dev.isxander.controlify.rumble.RumbleSource; import dev.isxander.controlify.rumble.RumbleSource;
public abstract class ControllerConfig { import java.io.Serializable;
public abstract class ControllerConfig implements Serializable {
public float horizontalLookSensitivity = 1f; public float horizontalLookSensitivity = 1f;
public float verticalLookSensitivity = 0.9f; public float verticalLookSensitivity = 0.9f;