From 5b9d5fdbe757f06dddb4f01d4861e56fe4fa2447 Mon Sep 17 00:00:00 2001 From: core Date: Sat, 6 Jan 2024 00:46:41 -0500 Subject: [PATCH] add beginnings of options UI, add RequestSave, SaveEligibility, SaveData packets --- server/src/packet.rs | 7 +++++++ starkingdoms-client/src/pages/Play.svelte | 16 ++++++++++++++++ starkingdoms-client/src/protocol.ts | 18 +++++++++++++++++- 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/server/src/packet.rs b/server/src/packet.rs index 886ce3df35c1f054ad73fa439c145d95231faab6..f130758ee715d827987441abcaf5a3a4e92ebe3b 100644 --- a/server/src/packet.rs +++ b/server/src/packet.rs @@ -83,6 +83,7 @@ pub enum Packet { released: bool, button: ButtonType, }, + RequestSave {}, // clientbound SpawnPlayer { id: u32, @@ -112,4 +113,10 @@ pub enum Packet { actor: String, content: String, }, + SaveEligibility { + eligible: bool, + }, + SaveData { + payload: Vec, + }, } diff --git a/starkingdoms-client/src/pages/Play.svelte b/starkingdoms-client/src/pages/Play.svelte index 423b2c434d89607bdc3ef98649fbee6f9dd41443..8d2fff8ecfb4299cd0d259c7b48c94b2b764d49f 100644 --- a/starkingdoms-client/src/pages/Play.svelte +++ b/starkingdoms-client/src/pages/Play.svelte @@ -94,6 +94,22 @@ +
+ + + + + Enables parts of the client intended only for StarKingdoms developers. + Buggy. Use at your own risk. + + +
+
diff --git a/starkingdoms-client/src/protocol.ts b/starkingdoms-client/src/protocol.ts index d9241931a47dd6b42301c8bc47c5e11b935b7dbd..55f7f3453840e59f1287efb09e7393729e6c41b0 100644 --- a/starkingdoms-client/src/protocol.ts +++ b/starkingdoms-client/src/protocol.ts @@ -83,6 +83,13 @@ export interface MessagePacket { actor: string; content: string; } +export interface RequestSavePacket {} +export interface SaveEligibilityPacket { + eligible: boolean; +} +export interface SaveDataPacket { + payload: Buffer; +} export enum PacketType { // serverbound @@ -90,6 +97,7 @@ export enum PacketType { SendMessage = "SendMessage", PlayerInput = "PlayerInput", PlayerMouseInput = "PlayerMouseInput", + RequestSave = "RequestSave", // clientbound SpawnPlayer = "SpawnPlayer", PlayerList = "PlayerList", @@ -99,6 +107,8 @@ export enum PacketType { DespawnPart = "DespawnPart", PlayerLeave = "PlayerLeave", Message = "Message", + SaveEligibility = "SaveEligibility", + SaveData = "SaveData", } export interface Packet { @@ -115,7 +125,10 @@ export interface Packet { | SendMessagePacket | MessagePacket | PlayerInputPacket - | PlayerMouseInputPacket; + | PlayerMouseInputPacket + | RequestSavePacket + | SaveEligibilityPacket + | SaveDataPacket; } export const SERVERBOUND = [ @@ -123,6 +136,7 @@ export const SERVERBOUND = [ PacketType.SendMessage, PacketType.PlayerInput, PacketType.PlayerMouseInput, + PacketType.RequestSave, ]; export const CLIENTBOUND = [ PacketType.SpawnPlayer, @@ -133,6 +147,8 @@ export const CLIENTBOUND = [ PacketType.DespawnPart, PacketType.PlayerLeave, PacketType.Message, + PacketType.SaveEligibility, + PacketType.SaveData, ]; export enum Direction {