From 02d65e6b7ce7a0e6bae054bd321c68dda1cb0de3 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Tue, 7 Jan 2025 22:56:34 +0100 Subject: static typing for resources --- doc/protocol.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'doc') diff --git a/doc/protocol.md b/doc/protocol.md index cd4694e..bb20a05 100644 --- a/doc/protocol.md +++ b/doc/protocol.md @@ -14,20 +14,22 @@ type. The following bytes are the parameters. `Vec` is stored as u32 element count followed by the elements. `Res` is used to denote 256-bit resource hash referring to data of type T. `Obj` refers -128-bit game objects IDs. +128-bit game objects IDs. `String` is stored like `Vec` but contains UTF-8 +encoded text. ```rs -00 connect(identity: u128) -ff disconnect() -01 request_resource(name: Res) -02 respond_resource(data: Vec) -03 add(id: Obj, prefab: Res) -04 remove(id: Obj) -05 position(id: Obj, pos: Vec3, rot: Vec3) -06 pose(id: Obj, params: Vec) -07 parent(parent: Obj, child: Obj) -08 sound(id: Obj, data: Vec) -09 prefab_index(res: Res) +0x00 connect(identity: u128) +0xff disconnect() +0x01 request_resource(name: Res) +0x02 respond_resource(data: Vec) +0x03 add(id: Obj, prefab: Res) +0x04 remove(id: Obj) +0x05 position(id: Obj, pos: Vec3, rot: Vec3) +0x06 pose(id: Obj, params: Vec) +0x07 parent(parent: Obj, child: Obj) +0x08 sound(id: Obj, data: Vec) +0x09 prefab_index(res: Res) +0x0a prefab_name(res: Res, name: String) ``` ## Resources -- cgit v1.2.3-70-g09d2