@dcl/protocol 1.0.0-22669986637.commit-fb11819 → 1.0.0-22672716807.commit-22c32c9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,6 +17,7 @@ export interface Packet {
17
17
  | { $case: "playerEmote"; playerEmote: PlayerEmote }
18
18
  | { $case: "sceneEmote"; sceneEmote: SceneEmote }
19
19
  | { $case: "movementCompressed"; movementCompressed: MovementCompressed }
20
+ | { $case: "lookAtPosition"; lookAtPosition: LookAtPosition }
20
21
  | undefined;
21
22
  protocolVersion: number;
22
23
  }
@@ -50,15 +51,68 @@ export interface Movement {
50
51
  movementBlendValue: number;
51
52
  slideBlendValue: number;
52
53
  isGrounded: boolean;
54
+ /** deprecated */
53
55
  isJumping: boolean;
56
+ jumpCount: number;
54
57
  isLongJump: boolean;
55
58
  isLongFall: boolean;
56
59
  isFalling: boolean;
57
60
  isStunned: boolean;
61
+ glideState: Movement_GlideState;
58
62
  rotationY: number;
59
63
  /** interpolation */
60
64
  isInstant: boolean;
61
65
  isEmoting: boolean;
66
+ /** head-sync (enabled flags + world-space yaw and pitch angles, in degrees) */
67
+ headIkYawEnabled: boolean;
68
+ headIkPitchEnabled: boolean;
69
+ headYaw: number;
70
+ headPitch: number;
71
+ }
72
+
73
+ export enum Movement_GlideState {
74
+ PROP_CLOSED = 0,
75
+ OPENING_PROP = 1,
76
+ GLIDING = 2,
77
+ CLOSING_PROP = 3,
78
+ UNRECOGNIZED = -1,
79
+ }
80
+
81
+ export function movement_GlideStateFromJSON(object: any): Movement_GlideState {
82
+ switch (object) {
83
+ case 0:
84
+ case "PROP_CLOSED":
85
+ return Movement_GlideState.PROP_CLOSED;
86
+ case 1:
87
+ case "OPENING_PROP":
88
+ return Movement_GlideState.OPENING_PROP;
89
+ case 2:
90
+ case "GLIDING":
91
+ return Movement_GlideState.GLIDING;
92
+ case 3:
93
+ case "CLOSING_PROP":
94
+ return Movement_GlideState.CLOSING_PROP;
95
+ case -1:
96
+ case "UNRECOGNIZED":
97
+ default:
98
+ return Movement_GlideState.UNRECOGNIZED;
99
+ }
100
+ }
101
+
102
+ export function movement_GlideStateToJSON(object: Movement_GlideState): string {
103
+ switch (object) {
104
+ case Movement_GlideState.PROP_CLOSED:
105
+ return "PROP_CLOSED";
106
+ case Movement_GlideState.OPENING_PROP:
107
+ return "OPENING_PROP";
108
+ case Movement_GlideState.GLIDING:
109
+ return "GLIDING";
110
+ case Movement_GlideState.CLOSING_PROP:
111
+ return "CLOSING_PROP";
112
+ case Movement_GlideState.UNRECOGNIZED:
113
+ default:
114
+ return "UNRECOGNIZED";
115
+ }
62
116
  }
63
117
 
64
118
  export interface MovementCompressed {
@@ -66,12 +120,50 @@ export interface MovementCompressed {
66
120
  temporalData: number;
67
121
  /** bit-compressed: position + velocity */
68
122
  movementData: number;
123
+ /** bit-compressed: enabled flags + yaw + pitch */
124
+ headSyncData: number;
69
125
  }
70
126
 
71
127
  export interface PlayerEmote {
72
128
  incrementalId: number;
73
129
  urn: string;
74
130
  timestamp: number;
131
+ /** true means the emote has been stopped in the sender's client */
132
+ isStopping?:
133
+ | boolean
134
+ | undefined;
135
+ /** true when it is not the first time the looping animation plays */
136
+ isRepeating?:
137
+ | boolean
138
+ | undefined;
139
+ /** identifies an interaction univocaly, established when the start animation is triggered */
140
+ interactionId?:
141
+ | number
142
+ | undefined;
143
+ /** -1 means it does not use an outcome animation */
144
+ socialEmoteOutcome?:
145
+ | number
146
+ | undefined;
147
+ /** to a social emote started by other user */
148
+ isReacting?:
149
+ | boolean
150
+ | undefined;
151
+ /** wallet address of the user that initiated social emote */
152
+ socialEmoteInitiator?:
153
+ | string
154
+ | undefined;
155
+ /** wallet address of the user whose avatar is the target of a directed emote */
156
+ targetAvatar?: string | undefined;
157
+ }
158
+
159
+ /** Message sent to force an avatar to look at a position */
160
+ export interface LookAtPosition {
161
+ timestamp: number;
162
+ /** world position */
163
+ positionX: number;
164
+ positionY: number;
165
+ positionZ: number;
166
+ targetAvatarWalletAddress: string;
75
167
  }
76
168
 
77
169
  export interface SceneEmote {
@@ -96,6 +188,11 @@ export interface ProfileResponse {
96
188
  export interface Chat {
97
189
  message: string;
98
190
  timestamp: number;
191
+ /**
192
+ * Extension: optional forwarded_from to identify the original sender when
193
+ * messages are forwarded through an SFU
194
+ */
195
+ forwardedFrom?: string | undefined;
99
196
  }
100
197
 
101
198
  export interface Scene {
@@ -176,6 +273,9 @@ export namespace Packet {
176
273
  case "movementCompressed":
177
274
  MovementCompressed.encode(message.message.movementCompressed, writer.uint32(98).fork()).ldelim();
178
275
  break;
276
+ case "lookAtPosition":
277
+ LookAtPosition.encode(message.message.lookAtPosition, writer.uint32(106).fork()).ldelim();
278
+ break;
179
279
  }
180
280
  if (message.protocolVersion !== 0) {
181
281
  writer.uint32(88).uint32(message.protocolVersion);
@@ -276,6 +376,13 @@ export namespace Packet {
276
376
  movementCompressed: MovementCompressed.decode(reader, reader.uint32()),
277
377
  };
278
378
  continue;
379
+ case 13:
380
+ if (tag !== 106) {
381
+ break;
382
+ }
383
+
384
+ message.message = { $case: "lookAtPosition", lookAtPosition: LookAtPosition.decode(reader, reader.uint32()) };
385
+ continue;
279
386
  case 11:
280
387
  if (tag !== 88) {
281
388
  break;
@@ -316,6 +423,8 @@ export namespace Packet {
316
423
  ? { $case: "sceneEmote", sceneEmote: SceneEmote.fromJSON(object.sceneEmote) }
317
424
  : isSet(object.movementCompressed)
318
425
  ? { $case: "movementCompressed", movementCompressed: MovementCompressed.fromJSON(object.movementCompressed) }
426
+ : isSet(object.lookAtPosition)
427
+ ? { $case: "lookAtPosition", lookAtPosition: LookAtPosition.fromJSON(object.lookAtPosition) }
319
428
  : undefined,
320
429
  protocolVersion: isSet(object.protocolVersion) ? Number(object.protocolVersion) : 0,
321
430
  };
@@ -353,6 +462,10 @@ export namespace Packet {
353
462
  (obj.movementCompressed = message.message?.movementCompressed
354
463
  ? MovementCompressed.toJSON(message.message?.movementCompressed)
355
464
  : undefined);
465
+ message.message?.$case === "lookAtPosition" &&
466
+ (obj.lookAtPosition = message.message?.lookAtPosition
467
+ ? LookAtPosition.toJSON(message.message?.lookAtPosition)
468
+ : undefined);
356
469
  message.protocolVersion !== undefined && (obj.protocolVersion = Math.round(message.protocolVersion));
357
470
  return obj;
358
471
  }
@@ -440,6 +553,16 @@ export namespace Packet {
440
553
  movementCompressed: MovementCompressed.fromPartial(object.message.movementCompressed),
441
554
  };
442
555
  }
556
+ if (
557
+ object.message?.$case === "lookAtPosition" &&
558
+ object.message?.lookAtPosition !== undefined &&
559
+ object.message?.lookAtPosition !== null
560
+ ) {
561
+ message.message = {
562
+ $case: "lookAtPosition",
563
+ lookAtPosition: LookAtPosition.fromPartial(object.message.lookAtPosition),
564
+ };
565
+ }
443
566
  message.protocolVersion = object.protocolVersion ?? 0;
444
567
  return message;
445
568
  }
@@ -607,13 +730,19 @@ function createBaseMovement(): Movement {
607
730
  slideBlendValue: 0,
608
731
  isGrounded: false,
609
732
  isJumping: false,
733
+ jumpCount: 0,
610
734
  isLongJump: false,
611
735
  isLongFall: false,
612
736
  isFalling: false,
613
737
  isStunned: false,
738
+ glideState: 0,
614
739
  rotationY: 0,
615
740
  isInstant: false,
616
741
  isEmoting: false,
742
+ headIkYawEnabled: false,
743
+ headIkPitchEnabled: false,
744
+ headYaw: 0,
745
+ headPitch: 0,
617
746
  };
618
747
  }
619
748
 
@@ -652,6 +781,9 @@ export namespace Movement {
652
781
  if (message.isJumping === true) {
653
782
  writer.uint32(88).bool(message.isJumping);
654
783
  }
784
+ if (message.jumpCount !== 0) {
785
+ writer.uint32(192).int32(message.jumpCount);
786
+ }
655
787
  if (message.isLongJump === true) {
656
788
  writer.uint32(96).bool(message.isLongJump);
657
789
  }
@@ -664,6 +796,9 @@ export namespace Movement {
664
796
  if (message.isStunned === true) {
665
797
  writer.uint32(120).bool(message.isStunned);
666
798
  }
799
+ if (message.glideState !== 0) {
800
+ writer.uint32(184).int32(message.glideState);
801
+ }
667
802
  if (message.rotationY !== 0) {
668
803
  writer.uint32(133).float(message.rotationY);
669
804
  }
@@ -673,6 +808,18 @@ export namespace Movement {
673
808
  if (message.isEmoting === true) {
674
809
  writer.uint32(144).bool(message.isEmoting);
675
810
  }
811
+ if (message.headIkYawEnabled === true) {
812
+ writer.uint32(152).bool(message.headIkYawEnabled);
813
+ }
814
+ if (message.headIkPitchEnabled === true) {
815
+ writer.uint32(160).bool(message.headIkPitchEnabled);
816
+ }
817
+ if (message.headYaw !== 0) {
818
+ writer.uint32(173).float(message.headYaw);
819
+ }
820
+ if (message.headPitch !== 0) {
821
+ writer.uint32(181).float(message.headPitch);
822
+ }
676
823
  return writer;
677
824
  }
678
825
 
@@ -760,6 +907,13 @@ export namespace Movement {
760
907
 
761
908
  message.isJumping = reader.bool();
762
909
  continue;
910
+ case 24:
911
+ if (tag !== 192) {
912
+ break;
913
+ }
914
+
915
+ message.jumpCount = reader.int32();
916
+ continue;
763
917
  case 12:
764
918
  if (tag !== 96) {
765
919
  break;
@@ -788,6 +942,13 @@ export namespace Movement {
788
942
 
789
943
  message.isStunned = reader.bool();
790
944
  continue;
945
+ case 23:
946
+ if (tag !== 184) {
947
+ break;
948
+ }
949
+
950
+ message.glideState = reader.int32() as any;
951
+ continue;
791
952
  case 16:
792
953
  if (tag !== 133) {
793
954
  break;
@@ -809,6 +970,34 @@ export namespace Movement {
809
970
 
810
971
  message.isEmoting = reader.bool();
811
972
  continue;
973
+ case 19:
974
+ if (tag !== 152) {
975
+ break;
976
+ }
977
+
978
+ message.headIkYawEnabled = reader.bool();
979
+ continue;
980
+ case 20:
981
+ if (tag !== 160) {
982
+ break;
983
+ }
984
+
985
+ message.headIkPitchEnabled = reader.bool();
986
+ continue;
987
+ case 21:
988
+ if (tag !== 173) {
989
+ break;
990
+ }
991
+
992
+ message.headYaw = reader.float();
993
+ continue;
994
+ case 22:
995
+ if (tag !== 181) {
996
+ break;
997
+ }
998
+
999
+ message.headPitch = reader.float();
1000
+ continue;
812
1001
  }
813
1002
  if ((tag & 7) === 4 || tag === 0) {
814
1003
  break;
@@ -831,13 +1020,19 @@ export namespace Movement {
831
1020
  slideBlendValue: isSet(object.slideBlendValue) ? Number(object.slideBlendValue) : 0,
832
1021
  isGrounded: isSet(object.isGrounded) ? Boolean(object.isGrounded) : false,
833
1022
  isJumping: isSet(object.isJumping) ? Boolean(object.isJumping) : false,
1023
+ jumpCount: isSet(object.jumpCount) ? Number(object.jumpCount) : 0,
834
1024
  isLongJump: isSet(object.isLongJump) ? Boolean(object.isLongJump) : false,
835
1025
  isLongFall: isSet(object.isLongFall) ? Boolean(object.isLongFall) : false,
836
1026
  isFalling: isSet(object.isFalling) ? Boolean(object.isFalling) : false,
837
1027
  isStunned: isSet(object.isStunned) ? Boolean(object.isStunned) : false,
1028
+ glideState: isSet(object.glideState) ? movement_GlideStateFromJSON(object.glideState) : 0,
838
1029
  rotationY: isSet(object.rotationY) ? Number(object.rotationY) : 0,
839
1030
  isInstant: isSet(object.isInstant) ? Boolean(object.isInstant) : false,
840
1031
  isEmoting: isSet(object.isEmoting) ? Boolean(object.isEmoting) : false,
1032
+ headIkYawEnabled: isSet(object.headIkYawEnabled) ? Boolean(object.headIkYawEnabled) : false,
1033
+ headIkPitchEnabled: isSet(object.headIkPitchEnabled) ? Boolean(object.headIkPitchEnabled) : false,
1034
+ headYaw: isSet(object.headYaw) ? Number(object.headYaw) : 0,
1035
+ headPitch: isSet(object.headPitch) ? Number(object.headPitch) : 0,
841
1036
  };
842
1037
  }
843
1038
 
@@ -854,13 +1049,19 @@ export namespace Movement {
854
1049
  message.slideBlendValue !== undefined && (obj.slideBlendValue = message.slideBlendValue);
855
1050
  message.isGrounded !== undefined && (obj.isGrounded = message.isGrounded);
856
1051
  message.isJumping !== undefined && (obj.isJumping = message.isJumping);
1052
+ message.jumpCount !== undefined && (obj.jumpCount = Math.round(message.jumpCount));
857
1053
  message.isLongJump !== undefined && (obj.isLongJump = message.isLongJump);
858
1054
  message.isLongFall !== undefined && (obj.isLongFall = message.isLongFall);
859
1055
  message.isFalling !== undefined && (obj.isFalling = message.isFalling);
860
1056
  message.isStunned !== undefined && (obj.isStunned = message.isStunned);
1057
+ message.glideState !== undefined && (obj.glideState = movement_GlideStateToJSON(message.glideState));
861
1058
  message.rotationY !== undefined && (obj.rotationY = message.rotationY);
862
1059
  message.isInstant !== undefined && (obj.isInstant = message.isInstant);
863
1060
  message.isEmoting !== undefined && (obj.isEmoting = message.isEmoting);
1061
+ message.headIkYawEnabled !== undefined && (obj.headIkYawEnabled = message.headIkYawEnabled);
1062
+ message.headIkPitchEnabled !== undefined && (obj.headIkPitchEnabled = message.headIkPitchEnabled);
1063
+ message.headYaw !== undefined && (obj.headYaw = message.headYaw);
1064
+ message.headPitch !== undefined && (obj.headPitch = message.headPitch);
864
1065
  return obj;
865
1066
  }
866
1067
 
@@ -881,19 +1082,25 @@ export namespace Movement {
881
1082
  message.slideBlendValue = object.slideBlendValue ?? 0;
882
1083
  message.isGrounded = object.isGrounded ?? false;
883
1084
  message.isJumping = object.isJumping ?? false;
1085
+ message.jumpCount = object.jumpCount ?? 0;
884
1086
  message.isLongJump = object.isLongJump ?? false;
885
1087
  message.isLongFall = object.isLongFall ?? false;
886
1088
  message.isFalling = object.isFalling ?? false;
887
1089
  message.isStunned = object.isStunned ?? false;
1090
+ message.glideState = object.glideState ?? 0;
888
1091
  message.rotationY = object.rotationY ?? 0;
889
1092
  message.isInstant = object.isInstant ?? false;
890
1093
  message.isEmoting = object.isEmoting ?? false;
1094
+ message.headIkYawEnabled = object.headIkYawEnabled ?? false;
1095
+ message.headIkPitchEnabled = object.headIkPitchEnabled ?? false;
1096
+ message.headYaw = object.headYaw ?? 0;
1097
+ message.headPitch = object.headPitch ?? 0;
891
1098
  return message;
892
1099
  }
893
1100
  }
894
1101
 
895
1102
  function createBaseMovementCompressed(): MovementCompressed {
896
- return { temporalData: 0, movementData: 0 };
1103
+ return { temporalData: 0, movementData: 0, headSyncData: 0 };
897
1104
  }
898
1105
 
899
1106
  export namespace MovementCompressed {
@@ -904,6 +1111,9 @@ export namespace MovementCompressed {
904
1111
  if (message.movementData !== 0) {
905
1112
  writer.uint32(16).int64(message.movementData);
906
1113
  }
1114
+ if (message.headSyncData !== 0) {
1115
+ writer.uint32(24).int32(message.headSyncData);
1116
+ }
907
1117
  return writer;
908
1118
  }
909
1119
 
@@ -928,6 +1138,13 @@ export namespace MovementCompressed {
928
1138
 
929
1139
  message.movementData = longToNumber(reader.int64() as Long);
930
1140
  continue;
1141
+ case 3:
1142
+ if (tag !== 24) {
1143
+ break;
1144
+ }
1145
+
1146
+ message.headSyncData = reader.int32();
1147
+ continue;
931
1148
  }
932
1149
  if ((tag & 7) === 4 || tag === 0) {
933
1150
  break;
@@ -941,6 +1158,7 @@ export namespace MovementCompressed {
941
1158
  return {
942
1159
  temporalData: isSet(object.temporalData) ? Number(object.temporalData) : 0,
943
1160
  movementData: isSet(object.movementData) ? Number(object.movementData) : 0,
1161
+ headSyncData: isSet(object.headSyncData) ? Number(object.headSyncData) : 0,
944
1162
  };
945
1163
  }
946
1164
 
@@ -948,6 +1166,7 @@ export namespace MovementCompressed {
948
1166
  const obj: any = {};
949
1167
  message.temporalData !== undefined && (obj.temporalData = Math.round(message.temporalData));
950
1168
  message.movementData !== undefined && (obj.movementData = Math.round(message.movementData));
1169
+ message.headSyncData !== undefined && (obj.headSyncData = Math.round(message.headSyncData));
951
1170
  return obj;
952
1171
  }
953
1172
 
@@ -959,12 +1178,24 @@ export namespace MovementCompressed {
959
1178
  const message = createBaseMovementCompressed();
960
1179
  message.temporalData = object.temporalData ?? 0;
961
1180
  message.movementData = object.movementData ?? 0;
1181
+ message.headSyncData = object.headSyncData ?? 0;
962
1182
  return message;
963
1183
  }
964
1184
  }
965
1185
 
966
1186
  function createBasePlayerEmote(): PlayerEmote {
967
- return { incrementalId: 0, urn: "", timestamp: 0 };
1187
+ return {
1188
+ incrementalId: 0,
1189
+ urn: "",
1190
+ timestamp: 0,
1191
+ isStopping: undefined,
1192
+ isRepeating: undefined,
1193
+ interactionId: undefined,
1194
+ socialEmoteOutcome: undefined,
1195
+ isReacting: undefined,
1196
+ socialEmoteInitiator: undefined,
1197
+ targetAvatar: undefined,
1198
+ };
968
1199
  }
969
1200
 
970
1201
  export namespace PlayerEmote {
@@ -978,6 +1209,27 @@ export namespace PlayerEmote {
978
1209
  if (message.timestamp !== 0) {
979
1210
  writer.uint32(29).float(message.timestamp);
980
1211
  }
1212
+ if (message.isStopping !== undefined) {
1213
+ writer.uint32(32).bool(message.isStopping);
1214
+ }
1215
+ if (message.isRepeating !== undefined) {
1216
+ writer.uint32(40).bool(message.isRepeating);
1217
+ }
1218
+ if (message.interactionId !== undefined) {
1219
+ writer.uint32(48).int32(message.interactionId);
1220
+ }
1221
+ if (message.socialEmoteOutcome !== undefined) {
1222
+ writer.uint32(56).int32(message.socialEmoteOutcome);
1223
+ }
1224
+ if (message.isReacting !== undefined) {
1225
+ writer.uint32(64).bool(message.isReacting);
1226
+ }
1227
+ if (message.socialEmoteInitiator !== undefined) {
1228
+ writer.uint32(74).string(message.socialEmoteInitiator);
1229
+ }
1230
+ if (message.targetAvatar !== undefined) {
1231
+ writer.uint32(82).string(message.targetAvatar);
1232
+ }
981
1233
  return writer;
982
1234
  }
983
1235
 
@@ -1009,6 +1261,55 @@ export namespace PlayerEmote {
1009
1261
 
1010
1262
  message.timestamp = reader.float();
1011
1263
  continue;
1264
+ case 4:
1265
+ if (tag !== 32) {
1266
+ break;
1267
+ }
1268
+
1269
+ message.isStopping = reader.bool();
1270
+ continue;
1271
+ case 5:
1272
+ if (tag !== 40) {
1273
+ break;
1274
+ }
1275
+
1276
+ message.isRepeating = reader.bool();
1277
+ continue;
1278
+ case 6:
1279
+ if (tag !== 48) {
1280
+ break;
1281
+ }
1282
+
1283
+ message.interactionId = reader.int32();
1284
+ continue;
1285
+ case 7:
1286
+ if (tag !== 56) {
1287
+ break;
1288
+ }
1289
+
1290
+ message.socialEmoteOutcome = reader.int32();
1291
+ continue;
1292
+ case 8:
1293
+ if (tag !== 64) {
1294
+ break;
1295
+ }
1296
+
1297
+ message.isReacting = reader.bool();
1298
+ continue;
1299
+ case 9:
1300
+ if (tag !== 74) {
1301
+ break;
1302
+ }
1303
+
1304
+ message.socialEmoteInitiator = reader.string();
1305
+ continue;
1306
+ case 10:
1307
+ if (tag !== 82) {
1308
+ break;
1309
+ }
1310
+
1311
+ message.targetAvatar = reader.string();
1312
+ continue;
1012
1313
  }
1013
1314
  if ((tag & 7) === 4 || tag === 0) {
1014
1315
  break;
@@ -1023,6 +1324,13 @@ export namespace PlayerEmote {
1023
1324
  incrementalId: isSet(object.incrementalId) ? Number(object.incrementalId) : 0,
1024
1325
  urn: isSet(object.urn) ? String(object.urn) : "",
1025
1326
  timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1327
+ isStopping: isSet(object.isStopping) ? Boolean(object.isStopping) : undefined,
1328
+ isRepeating: isSet(object.isRepeating) ? Boolean(object.isRepeating) : undefined,
1329
+ interactionId: isSet(object.interactionId) ? Number(object.interactionId) : undefined,
1330
+ socialEmoteOutcome: isSet(object.socialEmoteOutcome) ? Number(object.socialEmoteOutcome) : undefined,
1331
+ isReacting: isSet(object.isReacting) ? Boolean(object.isReacting) : undefined,
1332
+ socialEmoteInitiator: isSet(object.socialEmoteInitiator) ? String(object.socialEmoteInitiator) : undefined,
1333
+ targetAvatar: isSet(object.targetAvatar) ? String(object.targetAvatar) : undefined,
1026
1334
  };
1027
1335
  }
1028
1336
 
@@ -1031,6 +1339,13 @@ export namespace PlayerEmote {
1031
1339
  message.incrementalId !== undefined && (obj.incrementalId = Math.round(message.incrementalId));
1032
1340
  message.urn !== undefined && (obj.urn = message.urn);
1033
1341
  message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1342
+ message.isStopping !== undefined && (obj.isStopping = message.isStopping);
1343
+ message.isRepeating !== undefined && (obj.isRepeating = message.isRepeating);
1344
+ message.interactionId !== undefined && (obj.interactionId = Math.round(message.interactionId));
1345
+ message.socialEmoteOutcome !== undefined && (obj.socialEmoteOutcome = Math.round(message.socialEmoteOutcome));
1346
+ message.isReacting !== undefined && (obj.isReacting = message.isReacting);
1347
+ message.socialEmoteInitiator !== undefined && (obj.socialEmoteInitiator = message.socialEmoteInitiator);
1348
+ message.targetAvatar !== undefined && (obj.targetAvatar = message.targetAvatar);
1034
1349
  return obj;
1035
1350
  }
1036
1351
 
@@ -1043,6 +1358,126 @@ export namespace PlayerEmote {
1043
1358
  message.incrementalId = object.incrementalId ?? 0;
1044
1359
  message.urn = object.urn ?? "";
1045
1360
  message.timestamp = object.timestamp ?? 0;
1361
+ message.isStopping = object.isStopping ?? undefined;
1362
+ message.isRepeating = object.isRepeating ?? undefined;
1363
+ message.interactionId = object.interactionId ?? undefined;
1364
+ message.socialEmoteOutcome = object.socialEmoteOutcome ?? undefined;
1365
+ message.isReacting = object.isReacting ?? undefined;
1366
+ message.socialEmoteInitiator = object.socialEmoteInitiator ?? undefined;
1367
+ message.targetAvatar = object.targetAvatar ?? undefined;
1368
+ return message;
1369
+ }
1370
+ }
1371
+
1372
+ function createBaseLookAtPosition(): LookAtPosition {
1373
+ return { timestamp: 0, positionX: 0, positionY: 0, positionZ: 0, targetAvatarWalletAddress: "" };
1374
+ }
1375
+
1376
+ export namespace LookAtPosition {
1377
+ export function encode(message: LookAtPosition, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
1378
+ if (message.timestamp !== 0) {
1379
+ writer.uint32(13).float(message.timestamp);
1380
+ }
1381
+ if (message.positionX !== 0) {
1382
+ writer.uint32(21).float(message.positionX);
1383
+ }
1384
+ if (message.positionY !== 0) {
1385
+ writer.uint32(29).float(message.positionY);
1386
+ }
1387
+ if (message.positionZ !== 0) {
1388
+ writer.uint32(37).float(message.positionZ);
1389
+ }
1390
+ if (message.targetAvatarWalletAddress !== "") {
1391
+ writer.uint32(42).string(message.targetAvatarWalletAddress);
1392
+ }
1393
+ return writer;
1394
+ }
1395
+
1396
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): LookAtPosition {
1397
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
1398
+ let end = length === undefined ? reader.len : reader.pos + length;
1399
+ const message = createBaseLookAtPosition();
1400
+ while (reader.pos < end) {
1401
+ const tag = reader.uint32();
1402
+ switch (tag >>> 3) {
1403
+ case 1:
1404
+ if (tag !== 13) {
1405
+ break;
1406
+ }
1407
+
1408
+ message.timestamp = reader.float();
1409
+ continue;
1410
+ case 2:
1411
+ if (tag !== 21) {
1412
+ break;
1413
+ }
1414
+
1415
+ message.positionX = reader.float();
1416
+ continue;
1417
+ case 3:
1418
+ if (tag !== 29) {
1419
+ break;
1420
+ }
1421
+
1422
+ message.positionY = reader.float();
1423
+ continue;
1424
+ case 4:
1425
+ if (tag !== 37) {
1426
+ break;
1427
+ }
1428
+
1429
+ message.positionZ = reader.float();
1430
+ continue;
1431
+ case 5:
1432
+ if (tag !== 42) {
1433
+ break;
1434
+ }
1435
+
1436
+ message.targetAvatarWalletAddress = reader.string();
1437
+ continue;
1438
+ }
1439
+ if ((tag & 7) === 4 || tag === 0) {
1440
+ break;
1441
+ }
1442
+ reader.skipType(tag & 7);
1443
+ }
1444
+ return message;
1445
+ }
1446
+
1447
+ export function fromJSON(object: any): LookAtPosition {
1448
+ return {
1449
+ timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1450
+ positionX: isSet(object.positionX) ? Number(object.positionX) : 0,
1451
+ positionY: isSet(object.positionY) ? Number(object.positionY) : 0,
1452
+ positionZ: isSet(object.positionZ) ? Number(object.positionZ) : 0,
1453
+ targetAvatarWalletAddress: isSet(object.targetAvatarWalletAddress)
1454
+ ? String(object.targetAvatarWalletAddress)
1455
+ : "",
1456
+ };
1457
+ }
1458
+
1459
+ export function toJSON(message: LookAtPosition): unknown {
1460
+ const obj: any = {};
1461
+ message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1462
+ message.positionX !== undefined && (obj.positionX = message.positionX);
1463
+ message.positionY !== undefined && (obj.positionY = message.positionY);
1464
+ message.positionZ !== undefined && (obj.positionZ = message.positionZ);
1465
+ message.targetAvatarWalletAddress !== undefined &&
1466
+ (obj.targetAvatarWalletAddress = message.targetAvatarWalletAddress);
1467
+ return obj;
1468
+ }
1469
+
1470
+ export function create<I extends Exact<DeepPartial<LookAtPosition>, I>>(base?: I): LookAtPosition {
1471
+ return LookAtPosition.fromPartial(base ?? {});
1472
+ }
1473
+
1474
+ export function fromPartial<I extends Exact<DeepPartial<LookAtPosition>, I>>(object: I): LookAtPosition {
1475
+ const message = createBaseLookAtPosition();
1476
+ message.timestamp = object.timestamp ?? 0;
1477
+ message.positionX = object.positionX ?? 0;
1478
+ message.positionY = object.positionY ?? 0;
1479
+ message.positionZ = object.positionZ ?? 0;
1480
+ message.targetAvatarWalletAddress = object.targetAvatarWalletAddress ?? "";
1046
1481
  return message;
1047
1482
  }
1048
1483
  }
@@ -1319,7 +1754,7 @@ export namespace ProfileResponse {
1319
1754
  }
1320
1755
 
1321
1756
  function createBaseChat(): Chat {
1322
- return { message: "", timestamp: 0 };
1757
+ return { message: "", timestamp: 0, forwardedFrom: undefined };
1323
1758
  }
1324
1759
 
1325
1760
  export namespace Chat {
@@ -1330,6 +1765,9 @@ export namespace Chat {
1330
1765
  if (message.timestamp !== 0) {
1331
1766
  writer.uint32(17).double(message.timestamp);
1332
1767
  }
1768
+ if (message.forwardedFrom !== undefined) {
1769
+ writer.uint32(26).string(message.forwardedFrom);
1770
+ }
1333
1771
  return writer;
1334
1772
  }
1335
1773
 
@@ -1354,6 +1792,13 @@ export namespace Chat {
1354
1792
 
1355
1793
  message.timestamp = reader.double();
1356
1794
  continue;
1795
+ case 3:
1796
+ if (tag !== 26) {
1797
+ break;
1798
+ }
1799
+
1800
+ message.forwardedFrom = reader.string();
1801
+ continue;
1357
1802
  }
1358
1803
  if ((tag & 7) === 4 || tag === 0) {
1359
1804
  break;
@@ -1367,6 +1812,7 @@ export namespace Chat {
1367
1812
  return {
1368
1813
  message: isSet(object.message) ? String(object.message) : "",
1369
1814
  timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1815
+ forwardedFrom: isSet(object.forwardedFrom) ? String(object.forwardedFrom) : undefined,
1370
1816
  };
1371
1817
  }
1372
1818
 
@@ -1374,6 +1820,7 @@ export namespace Chat {
1374
1820
  const obj: any = {};
1375
1821
  message.message !== undefined && (obj.message = message.message);
1376
1822
  message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1823
+ message.forwardedFrom !== undefined && (obj.forwardedFrom = message.forwardedFrom);
1377
1824
  return obj;
1378
1825
  }
1379
1826
 
@@ -1385,6 +1832,7 @@ export namespace Chat {
1385
1832
  const message = createBaseChat();
1386
1833
  message.message = object.message ?? "";
1387
1834
  message.timestamp = object.timestamp ?? 0;
1835
+ message.forwardedFrom = object.forwardedFrom ?? undefined;
1388
1836
  return message;
1389
1837
  }
1390
1838
  }