diff --git a/src/main/java/emu/grasscutter/server/packet/send/PacketBeginCameraSceneLookNotify.java b/src/main/java/emu/grasscutter/server/packet/send/PacketBeginCameraSceneLookNotify.java index 096a91f89..e7ca4d6c9 100644 --- a/src/main/java/emu/grasscutter/server/packet/send/PacketBeginCameraSceneLookNotify.java +++ b/src/main/java/emu/grasscutter/server/packet/send/PacketBeginCameraSceneLookNotify.java @@ -1,61 +1,64 @@ -// package emu.grasscutter.server.packet.send; -// -// import emu.grasscutter.net.packet.BasePacket; -// import emu.grasscutter.net.packet.PacketOpcodes; -// import emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify; -// import emu.grasscutter.utils.Position; -// import java.util.ArrayList; -// import java.util.Collection; -// import lombok.Data; -// import lombok.NoArgsConstructor; -// -// public class PacketBeginCameraSceneLookNotify extends BasePacket { -// -// public PacketBeginCameraSceneLookNotify(CameraSceneLookNotify parameters) { -// super(PacketOpcodes.BeginCameraSceneLookNotify); -// var builder = -// BeginCameraSceneLookNotify.newBuilder() -// .setLookPos(parameters.lookPos.toProto()) -// .setFollowPos(parameters.followPos.toProto()) -// .setDuration(parameters.duration) -// .setIsAllowInput(parameters.isAllowInput) -// .setIsSetFollowPos(parameters.setFollowPos) -// .setIsSetScreenXy(parameters.isScreenXY) -// .setIsRecoverKeepCurrent(parameters.recoverKeepCurrent) -// .setIsChangePlayMode(parameters.isChangePlayMode) -// .setScreenY(parameters.screenY) -// .setScreenX(parameters.screenX) -// .setIsForce(parameters.isForce) -// .setIsForce(parameters.isForceWalk) -// .setEntityId(parameters.entityId) -// .addAllOtherParams(parameters.otherParams); -// this.setData(builder); -// } -// -// // TODO check default values -// // todo find missing field usages: -// // enum Unk2700_HIAKNNCKHJB (Unk2700_LNCHDDOOECD) -// // Unk3000_MNLLCJMPMNH (uint32) -// // Unk2700_DHAHEKOGHBJ (float) -// // Unk3000_IEFIKMHCKDH (uint32) -// // Unk3000_OGCLMFFADBD (float) -// -// @Data -// @NoArgsConstructor -// public static class CameraSceneLookNotify { -// Position lookPos = new Position(); -// Position followPos = new Position(); -// float duration = 0.0f; -// boolean isAllowInput = true; -// boolean setFollowPos = false; -// boolean isScreenXY = false; -// boolean recoverKeepCurrent = true; -// boolean isForceWalk = false; -// boolean isForce = false; -// boolean isChangePlayMode = false; -// float screenY = 0.0f; -// float screenX = 0.0f; -// int entityId = 0; -// Collection otherParams = new ArrayList<>(0); -// } -// } +package emu.grasscutter.server.packet.send; + +import emu.grasscutter.net.packet.BasePacket; +import emu.grasscutter.net.packet.PacketOpcodes; +import emu.grasscutter.net.proto.BeginCameraSceneLookNotifyOuterClass.BeginCameraSceneLookNotify; +import emu.grasscutter.utils.Position; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.Collection; + +public final class PacketBeginCameraSceneLookNotify extends BasePacket { + + public PacketBeginCameraSceneLookNotify(CameraSceneLookNotify parameters) { + super(PacketOpcodes.BeginCameraSceneLookNotify); + + var packet = + BeginCameraSceneLookNotify.newBuilder() + .setLookPos(parameters.lookPos.toProto()) + .setFollowPos(parameters.followPos.toProto()) + .setDuration(parameters.duration) + .setIsAllowInput(parameters.isAllowInput) + .setIsSetFollowPos(parameters.setFollowPos) + .setIsSetScreenXy(parameters.isScreenXY) + .setIsRecoverKeepCurrent(parameters.recoverKeepCurrent) + .setIsChangePlayMode(parameters.isChangePlayMode) + .setScreenY(parameters.screenY) + .setScreenX(parameters.screenX) + .setIsForce(parameters.isForce) + .setIsForce(parameters.isForceWalk) + .setEntityId(parameters.entityId) + .addAllOtherParams(parameters.otherParams); + + this.setData(packet); + } + + // TODO check default values + // todo find missing field usages: + // enum Unk2700_HIAKNNCKHJB (Unk2700_LNCHDDOOECD) + // Unk3000_MNLLCJMPMNH (uint32) + // Unk2700_DHAHEKOGHBJ (float) + // Unk3000_IEFIKMHCKDH (uint32) + // Unk3000_OGCLMFFADBD (float) + + @Data + @NoArgsConstructor + public static class CameraSceneLookNotify { + Position lookPos = new Position(); + Position followPos = new Position(); + float duration = 0.0f; + boolean isAllowInput = true; + boolean setFollowPos = false; + boolean isScreenXY = false; + boolean recoverKeepCurrent = true; + boolean isForceWalk = false; + boolean isForce = false; + boolean isChangePlayMode = false; + float screenY = 0.0f; + float screenX = 0.0f; + int entityId = 0; + Collection otherParams = new ArrayList<>(0); + } +}