From b53018acc54a7b8812a0b9830562879071d05fa6 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sun, 21 Sep 2025 12:44:50 -0400 Subject: [Data] Annotate shuffleable ports --- proto/data.proto | 10 +++++++++- proto/human.proto | 8 +++++++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'proto') diff --git a/proto/data.proto b/proto/data.proto index 64e3ddc..bc3f669 100644 --- a/proto/data.proto +++ b/proto/data.proto @@ -87,6 +87,12 @@ enum PuzzleSymbol { QUESTION = 19; } +message Vec3d { + optional double x = 1; + optional double y = 2; + optional double z = 3; +} + message ProxyIdentifier { optional uint64 panel = 1; optional string answer = 2; @@ -181,8 +187,10 @@ message Port { optional string name = 3; optional string path = 4; - optional string orientation = 5; + optional Vec3d destination = 5; + optional double rotation = 8; optional AxisDirection gravity = 7; + optional bool no_shuffle = 9; optional uint64 required_door = 6; } diff --git a/proto/human.proto b/proto/human.proto index c247edf..748cf33 100644 --- a/proto/human.proto +++ b/proto/human.proto @@ -152,7 +152,13 @@ message HumanPort { optional string name = 1; optional string path = 2; - optional string orientation = 3; + optional bool no_shuffle = 7; + + // These specify how the player should be placed when a randomized entrance + // sends them to this port. "rotation" is in degrees and is counter-clockwise + // from the positive X axis. + optional Vec3d destination = 3; + optional double rotation = 6; optional AxisDirection gravity = 5 [default = Y_MINUS]; optional DoorIdentifier required_door = 4; -- cgit 1.4.1