summaryrefslogtreecommitdiff
path: root/test-client
diff options
context:
space:
mode:
Diffstat (limited to 'test-client')
-rw-r--r--test-client/main.ts20
-rw-r--r--test-client/protocol.ts14
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