diff options
Diffstat (limited to 'test-client')
-rw-r--r-- | test-client/main.ts | 20 | ||||
-rw-r--r-- | test-client/protocol.ts | 14 |
2 files changed, 17 insertions, 17 deletions
diff --git a/test-client/main.ts b/test-client/main.ts index e1313f8c..f0f481b4 100644 --- a/test-client/main.ts +++ b/test-client/main.ts @@ -131,7 +131,7 @@ function packet(p: PacketC) { case "version": console.log(`Protocol version: ${p.major}.${p.minor}`); break; - case "init": + case "joined": my_id = p.id break; case "data": @@ -257,12 +257,12 @@ function keyboard(ev: KeyboardEvent, down: boolean) { if (HANDLED_KEYS.includes(ev.code)) ev.preventDefault() if (!keys_down.has(KEY_INTERACT) && ev.code == KEY_INTERACT && down) set_interact(true) if (keys_down.has(KEY_INTERACT) && ev.code == KEY_INTERACT && !down) set_interact(false) - if (down && ev.code == "Numpad1") send({ type: "communicate", message: { text: "/start junior" }, persist: false }) - if (down && ev.code == "Numpad2") send({ type: "communicate", message: { text: "/start senior" }, persist: false }) - if (down && ev.code == "Numpad3") send({ type: "communicate", message: { text: "/start sophomore" }, persist: false }) - if (down && ev.code == "Numpad4") send({ type: "communicate", message: { text: "/start debug" }, persist: false }) - if (down && ev.code == "Numpad5") send({ type: "communicate", message: { text: "/start bus" }, persist: false }) - if (down && ev.code == "Numpad0") send({ type: "communicate", message: { text: "/end" }, persist: false }) + if (down && ev.code == "Numpad1") send({ player: my_id, type: "communicate", message: { text: "/start junior" }, persist: false }) + if (down && ev.code == "Numpad2") send({ player: my_id, type: "communicate", message: { text: "/start senior" }, persist: false }) + if (down && ev.code == "Numpad3") send({ player: my_id, type: "communicate", message: { text: "/start sophomore" }, persist: false }) + if (down && ev.code == "Numpad4") send({ player: my_id, type: "communicate", message: { text: "/start debug" }, persist: false }) + if (down && ev.code == "Numpad5") send({ player: my_id, type: "communicate", message: { text: "/start bus" }, persist: false }) + if (down && ev.code == "Numpad0") send({ player: my_id, type: "communicate", message: { text: "/end" }, persist: false }) if (down) keys_down.add(ev.code) else keys_down.delete(ev.code) } @@ -275,7 +275,7 @@ function close_chat() { } function toggle_chat() { if (chat) { - if (chat.value.length) send({ type: "communicate", message: { text: chat.value }, persist: false }) + if (chat.value.length) send({ player: my_id, type: "communicate", message: { text: chat.value }, persist: false }) chat.remove() canvas.focus() chat = null; @@ -300,14 +300,14 @@ export function get_interact_target(): V2 | undefined { function set_interact(edge: boolean) { if (edge) interacting = get_interact_target() - if (interacting) send({ type: "interact", pos: edge ? [interacting.x, interacting.y] : undefined }) + if (interacting) send({ player: my_id, type: "interact", pos: edge ? [interacting.x, interacting.y] : undefined }) if (!edge) interacting = undefined } function tick_update() { const p = players.get(my_id) if (!p) return - send({ type: "movement", pos: [p.position.x, p.position.y], direction: [p.direction.x, p.direction.y], boosting: p.boosting }) + send({ player: my_id, type: "movement", pos: [p.position.x, p.position.y], direction: [p.direction.x, p.direction.y], boosting: p.boosting }) } function frame_update(dt: number) { diff --git a/test-client/protocol.ts b/test-client/protocol.ts index bd32e497..353c9100 100644 --- a/test-client/protocol.ts +++ b/test-client/protocol.ts @@ -36,16 +36,16 @@ export interface Gamedata { } export type PacketS = - { type: "join", name: string, character: number } // Spawns your character. Dont send it to spectate. - | { type: "leave" } // Despawns your character - | { type: "movement", pos: Vec2, direction: Vec2, boosting: boolean } - | { type: "interact", pos?: Vec2 } // Interact with some tile. pos is a position when pressing and null when releasing interact button - | { type: "communicate", message?: Message, persist: boolean } // Send a message - | { type: "collide", player: PlayerID, force: Vec2 } // Apply force to another player as a result of a collision + { type: "join", name: string, character: number } // Spawns a new character. The server replies with "joined". Dont send it to spectate. + | { type: "leave", player: PlayerID } // Despawns a character + | { type: "movement", player: PlayerID, pos: Vec2, direction: Vec2, boosting: boolean } + | { type: "interact", player: PlayerID, pos?: Vec2 } // Interact with some tile. pos is a position when pressing and null when releasing interact button + | { type: "communicate", player: PlayerID, message?: Message, persist: boolean } // Send a message + | { type: "replay_tick", dt: number } // Steps forward in replay. export type PacketC = { type: "version", minor: number, major: number, supports_bincode?: boolean } // Sent once after connecting to ensure you client is compatible - | { type: "init", id: PlayerID } // You just connected. This is your id for this session. + | { type: "joined", id: PlayerID } // Informs you about the id of the character you spawned | { type: "data", data: Gamedata } // Game data was changed | { type: "add_player", id: PlayerID, name: string, position: Vec2, character: number } // Somebody else joined (or was already in the game) | { type: "remove_player", id: PlayerID } // Somebody left |