@dcl/protocol 1.0.0-24444876160.commit-bea92dd → 1.0.0-24504493688.commit-6a96fbb

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.
Files changed (25) hide show
  1. package/out-js/decentraland/kernel/apis/restricted_actions.gen.d.ts +21 -0
  2. package/out-js/decentraland/kernel/apis/restricted_actions.gen.js +85 -6
  3. package/out-js/decentraland/kernel/apis/restricted_actions.gen.js.map +1 -1
  4. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.d.ts +21 -0
  5. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js +124 -4
  6. package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js.map +1 -1
  7. package/out-js/decentraland/sdk/components/avatar_shape.gen.d.ts +8 -0
  8. package/out-js/decentraland/sdk/components/avatar_shape.gen.js +35 -1
  9. package/out-js/decentraland/sdk/components/avatar_shape.gen.js.map +1 -1
  10. package/out-js/decentraland/sdk/components/common/input_action.gen.d.ts +1 -0
  11. package/out-js/decentraland/sdk/components/common/input_action.gen.js +6 -0
  12. package/out-js/decentraland/sdk/components/common/input_action.gen.js.map +1 -1
  13. package/out-ts/decentraland/kernel/apis/restricted_actions.gen.ts +89 -3
  14. package/out-ts/decentraland/kernel/comms/rfc4/comms.gen.ts +166 -2
  15. package/out-ts/decentraland/sdk/components/avatar_shape.gen.ts +34 -0
  16. package/out-ts/decentraland/sdk/components/common/input_action.gen.ts +6 -0
  17. package/package.json +3 -3
  18. package/proto/decentraland/kernel/apis/restricted_actions.proto +7 -0
  19. package/proto/decentraland/kernel/comms/rfc4/comms.proto +11 -0
  20. package/proto/decentraland/sdk/components/audio_analysis.proto +44 -0
  21. package/proto/decentraland/sdk/components/avatar_locomotion_settings.proto +21 -0
  22. package/proto/decentraland/sdk/components/avatar_shape.proto +5 -0
  23. package/proto/decentraland/sdk/components/common/input_action.proto +1 -0
  24. package/proto/decentraland/sdk/components/light_source.proto +1 -1
  25. package/proto/decentraland/sdk/components/virtual_camera.proto +2 -0
@@ -20,6 +20,7 @@ export interface TeleportToRequest {
20
20
 
21
21
  export interface TriggerEmoteRequest {
22
22
  predefinedEmote: string;
23
+ mask?: number | undefined;
23
24
  }
24
25
 
25
26
  export interface ChangeRealmRequest {
@@ -45,6 +46,7 @@ export interface CommsAdapterRequest {
45
46
  export interface TriggerSceneEmoteRequest {
46
47
  src: string;
47
48
  loop?: boolean | undefined;
49
+ mask?: number | undefined;
48
50
  }
49
51
 
50
52
  export interface SuccessResponse {
@@ -68,6 +70,9 @@ export interface CopyToClipboardRequest {
68
70
  export interface EmptyResponse {
69
71
  }
70
72
 
73
+ export interface StopEmoteRequest {
74
+ }
75
+
71
76
  function createBaseMovePlayerToRequest(): MovePlayerToRequest {
72
77
  return { newRelativePosition: undefined, cameraTarget: undefined, avatarTarget: undefined, duration: undefined };
73
78
  }
@@ -234,7 +239,7 @@ export namespace TeleportToRequest {
234
239
  }
235
240
 
236
241
  function createBaseTriggerEmoteRequest(): TriggerEmoteRequest {
237
- return { predefinedEmote: "" };
242
+ return { predefinedEmote: "", mask: undefined };
238
243
  }
239
244
 
240
245
  export namespace TriggerEmoteRequest {
@@ -242,6 +247,9 @@ export namespace TriggerEmoteRequest {
242
247
  if (message.predefinedEmote !== "") {
243
248
  writer.uint32(10).string(message.predefinedEmote);
244
249
  }
250
+ if (message.mask !== undefined) {
251
+ writer.uint32(16).uint32(message.mask);
252
+ }
245
253
  return writer;
246
254
  }
247
255
 
@@ -259,6 +267,13 @@ export namespace TriggerEmoteRequest {
259
267
 
260
268
  message.predefinedEmote = reader.string();
261
269
  continue;
270
+ case 2:
271
+ if (tag !== 16) {
272
+ break;
273
+ }
274
+
275
+ message.mask = reader.uint32();
276
+ continue;
262
277
  }
263
278
  if ((tag & 7) === 4 || tag === 0) {
264
279
  break;
@@ -269,12 +284,16 @@ export namespace TriggerEmoteRequest {
269
284
  }
270
285
 
271
286
  export function fromJSON(object: any): TriggerEmoteRequest {
272
- return { predefinedEmote: isSet(object.predefinedEmote) ? String(object.predefinedEmote) : "" };
287
+ return {
288
+ predefinedEmote: isSet(object.predefinedEmote) ? String(object.predefinedEmote) : "",
289
+ mask: isSet(object.mask) ? Number(object.mask) : undefined,
290
+ };
273
291
  }
274
292
 
275
293
  export function toJSON(message: TriggerEmoteRequest): unknown {
276
294
  const obj: any = {};
277
295
  message.predefinedEmote !== undefined && (obj.predefinedEmote = message.predefinedEmote);
296
+ message.mask !== undefined && (obj.mask = Math.round(message.mask));
278
297
  return obj;
279
298
  }
280
299
 
@@ -285,6 +304,7 @@ export namespace TriggerEmoteRequest {
285
304
  export function fromPartial<I extends Exact<DeepPartial<TriggerEmoteRequest>, I>>(object: I): TriggerEmoteRequest {
286
305
  const message = createBaseTriggerEmoteRequest();
287
306
  message.predefinedEmote = object.predefinedEmote ?? "";
307
+ message.mask = object.mask ?? undefined;
288
308
  return message;
289
309
  }
290
310
  }
@@ -575,7 +595,7 @@ export namespace CommsAdapterRequest {
575
595
  }
576
596
 
577
597
  function createBaseTriggerSceneEmoteRequest(): TriggerSceneEmoteRequest {
578
- return { src: "", loop: undefined };
598
+ return { src: "", loop: undefined, mask: undefined };
579
599
  }
580
600
 
581
601
  export namespace TriggerSceneEmoteRequest {
@@ -586,6 +606,9 @@ export namespace TriggerSceneEmoteRequest {
586
606
  if (message.loop !== undefined) {
587
607
  writer.uint32(16).bool(message.loop);
588
608
  }
609
+ if (message.mask !== undefined) {
610
+ writer.uint32(24).uint32(message.mask);
611
+ }
589
612
  return writer;
590
613
  }
591
614
 
@@ -610,6 +633,13 @@ export namespace TriggerSceneEmoteRequest {
610
633
 
611
634
  message.loop = reader.bool();
612
635
  continue;
636
+ case 3:
637
+ if (tag !== 24) {
638
+ break;
639
+ }
640
+
641
+ message.mask = reader.uint32();
642
+ continue;
613
643
  }
614
644
  if ((tag & 7) === 4 || tag === 0) {
615
645
  break;
@@ -623,6 +653,7 @@ export namespace TriggerSceneEmoteRequest {
623
653
  return {
624
654
  src: isSet(object.src) ? String(object.src) : "",
625
655
  loop: isSet(object.loop) ? Boolean(object.loop) : undefined,
656
+ mask: isSet(object.mask) ? Number(object.mask) : undefined,
626
657
  };
627
658
  }
628
659
 
@@ -630,6 +661,7 @@ export namespace TriggerSceneEmoteRequest {
630
661
  const obj: any = {};
631
662
  message.src !== undefined && (obj.src = message.src);
632
663
  message.loop !== undefined && (obj.loop = message.loop);
664
+ message.mask !== undefined && (obj.mask = Math.round(message.mask));
633
665
  return obj;
634
666
  }
635
667
 
@@ -645,6 +677,7 @@ export namespace TriggerSceneEmoteRequest {
645
677
  const message = createBaseTriggerSceneEmoteRequest();
646
678
  message.src = object.src ?? "";
647
679
  message.loop = object.loop ?? undefined;
680
+ message.mask = object.mask ?? undefined;
648
681
  return message;
649
682
  }
650
683
  }
@@ -951,6 +984,50 @@ export namespace EmptyResponse {
951
984
  }
952
985
  }
953
986
 
987
+ function createBaseStopEmoteRequest(): StopEmoteRequest {
988
+ return {};
989
+ }
990
+
991
+ export namespace StopEmoteRequest {
992
+ export function encode(_: StopEmoteRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
993
+ return writer;
994
+ }
995
+
996
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): StopEmoteRequest {
997
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
998
+ let end = length === undefined ? reader.len : reader.pos + length;
999
+ const message = createBaseStopEmoteRequest();
1000
+ while (reader.pos < end) {
1001
+ const tag = reader.uint32();
1002
+ switch (tag >>> 3) {
1003
+ }
1004
+ if ((tag & 7) === 4 || tag === 0) {
1005
+ break;
1006
+ }
1007
+ reader.skipType(tag & 7);
1008
+ }
1009
+ return message;
1010
+ }
1011
+
1012
+ export function fromJSON(_: any): StopEmoteRequest {
1013
+ return {};
1014
+ }
1015
+
1016
+ export function toJSON(_: StopEmoteRequest): unknown {
1017
+ const obj: any = {};
1018
+ return obj;
1019
+ }
1020
+
1021
+ export function create<I extends Exact<DeepPartial<StopEmoteRequest>, I>>(base?: I): StopEmoteRequest {
1022
+ return StopEmoteRequest.fromPartial(base ?? {});
1023
+ }
1024
+
1025
+ export function fromPartial<I extends Exact<DeepPartial<StopEmoteRequest>, I>>(_: I): StopEmoteRequest {
1026
+ const message = createBaseStopEmoteRequest();
1027
+ return message;
1028
+ }
1029
+ }
1030
+
954
1031
  export type RestrictedActionsServiceDefinition = typeof RestrictedActionsServiceDefinition;
955
1032
  export const RestrictedActionsServiceDefinition = {
956
1033
  name: "RestrictedActionsService",
@@ -1044,6 +1121,15 @@ export const RestrictedActionsServiceDefinition = {
1044
1121
  responseStream: false,
1045
1122
  options: {},
1046
1123
  },
1124
+ /** StopEmote will stop the current emote */
1125
+ stopEmote: {
1126
+ name: "StopEmote",
1127
+ requestType: StopEmoteRequest,
1128
+ requestStream: false,
1129
+ responseType: SuccessResponse,
1130
+ responseStream: false,
1131
+ options: {},
1132
+ },
1047
1133
  },
1048
1134
  } as const;
1049
1135
 
@@ -137,6 +137,36 @@ export interface PlayerEmote {
137
137
  incrementalId: number;
138
138
  urn: string;
139
139
  timestamp: number;
140
+ /** true means the emote has been stopped in the sender's client */
141
+ isStopping?:
142
+ | boolean
143
+ | undefined;
144
+ /** true when it is not the first time the looping animation plays */
145
+ isRepeating?:
146
+ | boolean
147
+ | undefined;
148
+ /** identifies an interaction univocaly, established when the start animation is triggered */
149
+ interactionId?:
150
+ | number
151
+ | undefined;
152
+ /** -1 means it does not use an outcome animation */
153
+ socialEmoteOutcome?:
154
+ | number
155
+ | undefined;
156
+ /** to a social emote started by other user */
157
+ isReacting?:
158
+ | boolean
159
+ | undefined;
160
+ /** wallet address of the user that initiated social emote */
161
+ socialEmoteInitiator?:
162
+ | string
163
+ | undefined;
164
+ /** wallet address of the user whose avatar is the target of a directed emote */
165
+ targetAvatar?:
166
+ | string
167
+ | undefined;
168
+ /** mask for which bones an animation applies to. */
169
+ mask?: number | undefined;
140
170
  }
141
171
 
142
172
  export interface SceneEmote {
@@ -161,6 +191,11 @@ export interface ProfileResponse {
161
191
  export interface Chat {
162
192
  message: string;
163
193
  timestamp: number;
194
+ /**
195
+ * Extension: optional forwarded_from to identify the original sender when
196
+ * messages are forwarded through an SFU
197
+ */
198
+ forwardedFrom?: string | undefined;
164
199
  }
165
200
 
166
201
  export interface Scene {
@@ -1287,7 +1322,19 @@ export namespace MovementCompressed {
1287
1322
  }
1288
1323
 
1289
1324
  function createBasePlayerEmote(): PlayerEmote {
1290
- return { incrementalId: 0, urn: "", timestamp: 0 };
1325
+ return {
1326
+ incrementalId: 0,
1327
+ urn: "",
1328
+ timestamp: 0,
1329
+ isStopping: undefined,
1330
+ isRepeating: undefined,
1331
+ interactionId: undefined,
1332
+ socialEmoteOutcome: undefined,
1333
+ isReacting: undefined,
1334
+ socialEmoteInitiator: undefined,
1335
+ targetAvatar: undefined,
1336
+ mask: undefined,
1337
+ };
1291
1338
  }
1292
1339
 
1293
1340
  export namespace PlayerEmote {
@@ -1301,6 +1348,30 @@ export namespace PlayerEmote {
1301
1348
  if (message.timestamp !== 0) {
1302
1349
  writer.uint32(29).float(message.timestamp);
1303
1350
  }
1351
+ if (message.isStopping !== undefined) {
1352
+ writer.uint32(32).bool(message.isStopping);
1353
+ }
1354
+ if (message.isRepeating !== undefined) {
1355
+ writer.uint32(40).bool(message.isRepeating);
1356
+ }
1357
+ if (message.interactionId !== undefined) {
1358
+ writer.uint32(48).int32(message.interactionId);
1359
+ }
1360
+ if (message.socialEmoteOutcome !== undefined) {
1361
+ writer.uint32(56).int32(message.socialEmoteOutcome);
1362
+ }
1363
+ if (message.isReacting !== undefined) {
1364
+ writer.uint32(64).bool(message.isReacting);
1365
+ }
1366
+ if (message.socialEmoteInitiator !== undefined) {
1367
+ writer.uint32(74).string(message.socialEmoteInitiator);
1368
+ }
1369
+ if (message.targetAvatar !== undefined) {
1370
+ writer.uint32(82).string(message.targetAvatar);
1371
+ }
1372
+ if (message.mask !== undefined) {
1373
+ writer.uint32(88).uint32(message.mask);
1374
+ }
1304
1375
  return writer;
1305
1376
  }
1306
1377
 
@@ -1332,6 +1403,62 @@ export namespace PlayerEmote {
1332
1403
 
1333
1404
  message.timestamp = reader.float();
1334
1405
  continue;
1406
+ case 4:
1407
+ if (tag !== 32) {
1408
+ break;
1409
+ }
1410
+
1411
+ message.isStopping = reader.bool();
1412
+ continue;
1413
+ case 5:
1414
+ if (tag !== 40) {
1415
+ break;
1416
+ }
1417
+
1418
+ message.isRepeating = reader.bool();
1419
+ continue;
1420
+ case 6:
1421
+ if (tag !== 48) {
1422
+ break;
1423
+ }
1424
+
1425
+ message.interactionId = reader.int32();
1426
+ continue;
1427
+ case 7:
1428
+ if (tag !== 56) {
1429
+ break;
1430
+ }
1431
+
1432
+ message.socialEmoteOutcome = reader.int32();
1433
+ continue;
1434
+ case 8:
1435
+ if (tag !== 64) {
1436
+ break;
1437
+ }
1438
+
1439
+ message.isReacting = reader.bool();
1440
+ continue;
1441
+ case 9:
1442
+ if (tag !== 74) {
1443
+ break;
1444
+ }
1445
+
1446
+ message.socialEmoteInitiator = reader.string();
1447
+ continue;
1448
+ case 10:
1449
+ if (tag !== 82) {
1450
+ break;
1451
+ }
1452
+
1453
+ message.targetAvatar = reader.string();
1454
+ continue;
1455
+ case 11:
1456
+ if (tag !== 88) {
1457
+ break;
1458
+ }
1459
+
1460
+ message.mask = reader.uint32();
1461
+ continue;
1335
1462
  }
1336
1463
  if ((tag & 7) === 4 || tag === 0) {
1337
1464
  break;
@@ -1346,6 +1473,14 @@ export namespace PlayerEmote {
1346
1473
  incrementalId: isSet(object.incrementalId) ? Number(object.incrementalId) : 0,
1347
1474
  urn: isSet(object.urn) ? String(object.urn) : "",
1348
1475
  timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1476
+ isStopping: isSet(object.isStopping) ? Boolean(object.isStopping) : undefined,
1477
+ isRepeating: isSet(object.isRepeating) ? Boolean(object.isRepeating) : undefined,
1478
+ interactionId: isSet(object.interactionId) ? Number(object.interactionId) : undefined,
1479
+ socialEmoteOutcome: isSet(object.socialEmoteOutcome) ? Number(object.socialEmoteOutcome) : undefined,
1480
+ isReacting: isSet(object.isReacting) ? Boolean(object.isReacting) : undefined,
1481
+ socialEmoteInitiator: isSet(object.socialEmoteInitiator) ? String(object.socialEmoteInitiator) : undefined,
1482
+ targetAvatar: isSet(object.targetAvatar) ? String(object.targetAvatar) : undefined,
1483
+ mask: isSet(object.mask) ? Number(object.mask) : undefined,
1349
1484
  };
1350
1485
  }
1351
1486
 
@@ -1354,6 +1489,14 @@ export namespace PlayerEmote {
1354
1489
  message.incrementalId !== undefined && (obj.incrementalId = Math.round(message.incrementalId));
1355
1490
  message.urn !== undefined && (obj.urn = message.urn);
1356
1491
  message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1492
+ message.isStopping !== undefined && (obj.isStopping = message.isStopping);
1493
+ message.isRepeating !== undefined && (obj.isRepeating = message.isRepeating);
1494
+ message.interactionId !== undefined && (obj.interactionId = Math.round(message.interactionId));
1495
+ message.socialEmoteOutcome !== undefined && (obj.socialEmoteOutcome = Math.round(message.socialEmoteOutcome));
1496
+ message.isReacting !== undefined && (obj.isReacting = message.isReacting);
1497
+ message.socialEmoteInitiator !== undefined && (obj.socialEmoteInitiator = message.socialEmoteInitiator);
1498
+ message.targetAvatar !== undefined && (obj.targetAvatar = message.targetAvatar);
1499
+ message.mask !== undefined && (obj.mask = Math.round(message.mask));
1357
1500
  return obj;
1358
1501
  }
1359
1502
 
@@ -1366,6 +1509,14 @@ export namespace PlayerEmote {
1366
1509
  message.incrementalId = object.incrementalId ?? 0;
1367
1510
  message.urn = object.urn ?? "";
1368
1511
  message.timestamp = object.timestamp ?? 0;
1512
+ message.isStopping = object.isStopping ?? undefined;
1513
+ message.isRepeating = object.isRepeating ?? undefined;
1514
+ message.interactionId = object.interactionId ?? undefined;
1515
+ message.socialEmoteOutcome = object.socialEmoteOutcome ?? undefined;
1516
+ message.isReacting = object.isReacting ?? undefined;
1517
+ message.socialEmoteInitiator = object.socialEmoteInitiator ?? undefined;
1518
+ message.targetAvatar = object.targetAvatar ?? undefined;
1519
+ message.mask = object.mask ?? undefined;
1369
1520
  return message;
1370
1521
  }
1371
1522
  }
@@ -1642,7 +1793,7 @@ export namespace ProfileResponse {
1642
1793
  }
1643
1794
 
1644
1795
  function createBaseChat(): Chat {
1645
- return { message: "", timestamp: 0 };
1796
+ return { message: "", timestamp: 0, forwardedFrom: undefined };
1646
1797
  }
1647
1798
 
1648
1799
  export namespace Chat {
@@ -1653,6 +1804,9 @@ export namespace Chat {
1653
1804
  if (message.timestamp !== 0) {
1654
1805
  writer.uint32(17).double(message.timestamp);
1655
1806
  }
1807
+ if (message.forwardedFrom !== undefined) {
1808
+ writer.uint32(26).string(message.forwardedFrom);
1809
+ }
1656
1810
  return writer;
1657
1811
  }
1658
1812
 
@@ -1677,6 +1831,13 @@ export namespace Chat {
1677
1831
 
1678
1832
  message.timestamp = reader.double();
1679
1833
  continue;
1834
+ case 3:
1835
+ if (tag !== 26) {
1836
+ break;
1837
+ }
1838
+
1839
+ message.forwardedFrom = reader.string();
1840
+ continue;
1680
1841
  }
1681
1842
  if ((tag & 7) === 4 || tag === 0) {
1682
1843
  break;
@@ -1690,6 +1851,7 @@ export namespace Chat {
1690
1851
  return {
1691
1852
  message: isSet(object.message) ? String(object.message) : "",
1692
1853
  timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
1854
+ forwardedFrom: isSet(object.forwardedFrom) ? String(object.forwardedFrom) : undefined,
1693
1855
  };
1694
1856
  }
1695
1857
 
@@ -1697,6 +1859,7 @@ export namespace Chat {
1697
1859
  const obj: any = {};
1698
1860
  message.message !== undefined && (obj.message = message.message);
1699
1861
  message.timestamp !== undefined && (obj.timestamp = message.timestamp);
1862
+ message.forwardedFrom !== undefined && (obj.forwardedFrom = message.forwardedFrom);
1700
1863
  return obj;
1701
1864
  }
1702
1865
 
@@ -1708,6 +1871,7 @@ export namespace Chat {
1708
1871
  const message = createBaseChat();
1709
1872
  message.message = object.message ?? "";
1710
1873
  message.timestamp = object.timestamp ?? 0;
1874
+ message.forwardedFrom = object.forwardedFrom ?? undefined;
1711
1875
  return message;
1712
1876
  }
1713
1877
  }
@@ -5,6 +5,40 @@ import { Color3 } from "../../common/colors.gen";
5
5
 
6
6
  export const protobufPackage = "decentraland.sdk.components";
7
7
 
8
+ /** Mask for which bones an animation applies to. */
9
+ export enum AvatarEmoteMask {
10
+ AEM_FULL_BODY = 0,
11
+ AEM_UPPER_BODY = 1,
12
+ UNRECOGNIZED = -1,
13
+ }
14
+
15
+ export function avatarEmoteMaskFromJSON(object: any): AvatarEmoteMask {
16
+ switch (object) {
17
+ case 0:
18
+ case "AEM_FULL_BODY":
19
+ return AvatarEmoteMask.AEM_FULL_BODY;
20
+ case 1:
21
+ case "AEM_UPPER_BODY":
22
+ return AvatarEmoteMask.AEM_UPPER_BODY;
23
+ case -1:
24
+ case "UNRECOGNIZED":
25
+ default:
26
+ return AvatarEmoteMask.UNRECOGNIZED;
27
+ }
28
+ }
29
+
30
+ export function avatarEmoteMaskToJSON(object: AvatarEmoteMask): string {
31
+ switch (object) {
32
+ case AvatarEmoteMask.AEM_FULL_BODY:
33
+ return "AEM_FULL_BODY";
34
+ case AvatarEmoteMask.AEM_UPPER_BODY:
35
+ return "AEM_UPPER_BODY";
36
+ case AvatarEmoteMask.UNRECOGNIZED:
37
+ default:
38
+ return "UNRECOGNIZED";
39
+ }
40
+ }
41
+
8
42
  /**
9
43
  * The AvatarShape component contains the information required to draw and animate avatar, acting as
10
44
  * a simplified GLTF container for this specific case.
@@ -17,6 +17,7 @@ export enum InputAction {
17
17
  IA_ACTION_4 = 11,
18
18
  IA_ACTION_5 = 12,
19
19
  IA_ACTION_6 = 13,
20
+ IA_MODIFIER = 14,
20
21
  UNRECOGNIZED = -1,
21
22
  }
22
23
 
@@ -64,6 +65,9 @@ export function inputActionFromJSON(object: any): InputAction {
64
65
  case 13:
65
66
  case "IA_ACTION_6":
66
67
  return InputAction.IA_ACTION_6;
68
+ case 14:
69
+ case "IA_MODIFIER":
70
+ return InputAction.IA_MODIFIER;
67
71
  case -1:
68
72
  case "UNRECOGNIZED":
69
73
  default:
@@ -101,6 +105,8 @@ export function inputActionToJSON(object: InputAction): string {
101
105
  return "IA_ACTION_5";
102
106
  case InputAction.IA_ACTION_6:
103
107
  return "IA_ACTION_6";
108
+ case InputAction.IA_MODIFIER:
109
+ return "IA_MODIFIER";
104
110
  case InputAction.UNRECOGNIZED:
105
111
  default:
106
112
  return "UNRECOGNIZED";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dcl/protocol",
3
- "version": "1.0.0-24444876160.commit-bea92dd",
3
+ "version": "1.0.0-24504493688.commit-6a96fbb",
4
4
  "description": "",
5
5
  "repository": "decentraland/protocol.git",
6
6
  "homepage": "https://github.com/decentraland/protocol#readme",
@@ -13,7 +13,7 @@
13
13
  "test": "./scripts/check-proto-compabitility.sh"
14
14
  },
15
15
  "devDependencies": {
16
- "@protobuf-ts/protoc": "^2.8.1",
16
+ "@protobuf-ts/protoc": "^2.11.0",
17
17
  "proto-compatibility-tool": "^1.1.2-20220925163655.commit-25bd040",
18
18
  "typescript": "^5.0.4"
19
19
  },
@@ -30,5 +30,5 @@
30
30
  "out-js",
31
31
  "public"
32
32
  ],
33
- "commit": "bea92dd298772aad8330927221920dec5baf7ba5"
33
+ "commit": "6a96fbb0ca9d93d71a0a54c7c83866166b4083a0"
34
34
  }
@@ -16,6 +16,7 @@ message TeleportToRequest {
16
16
 
17
17
  message TriggerEmoteRequest {
18
18
  string predefined_emote = 1;
19
+ optional uint32 mask = 2;
19
20
  }
20
21
 
21
22
  message ChangeRealmRequest {
@@ -40,6 +41,7 @@ message CommsAdapterRequest {
40
41
  message TriggerSceneEmoteRequest {
41
42
  string src = 1;
42
43
  optional bool loop = 2;
44
+ optional uint32 mask = 3;
43
45
  }
44
46
 
45
47
  message SuccessResponse {
@@ -60,6 +62,8 @@ message CopyToClipboardRequest {
60
62
 
61
63
  message EmptyResponse { }
62
64
 
65
+ message StopEmoteRequest { }
66
+
63
67
  service RestrictedActionsService {
64
68
  // MovePlayerTo will move the player to a position relative to the current scene.
65
69
  // If 'duration' field is used in the request, the success response depends on the
@@ -90,4 +94,7 @@ service RestrictedActionsService {
90
94
 
91
95
  // CopyToClipboard copies the provided text into the clipboard
92
96
  rpc CopyToClipboard(CopyToClipboardRequest) returns (EmptyResponse) {}
97
+
98
+ // StopEmote will stop the current emote
99
+ rpc StopEmote(StopEmoteRequest) returns (SuccessResponse) {}
93
100
  }
@@ -94,6 +94,14 @@ message PlayerEmote {
94
94
  uint32 incremental_id = 1;
95
95
  string urn = 2;
96
96
  float timestamp = 3;
97
+ optional bool is_stopping = 4; // true means the emote has been stopped in the sender's client
98
+ optional bool is_repeating = 5; // true when it is not the first time the looping animation plays
99
+ optional int32 interaction_id = 6; // identifies an interaction univocaly, established when the start animation is triggered
100
+ optional int32 social_emote_outcome = 7; // -1 means it does not use an outcome animation
101
+ optional bool is_reacting = 8; // to a social emote started by other user
102
+ optional string social_emote_initiator = 9; // wallet address of the user that initiated social emote
103
+ optional string target_avatar = 10; // wallet address of the user whose avatar is the target of a directed emote
104
+ optional uint32 mask = 11; // mask for which bones an animation applies to.
97
105
  }
98
106
 
99
107
  message SceneEmote {
@@ -126,6 +134,9 @@ message ProfileResponse {
126
134
  message Chat {
127
135
  string message = 1;
128
136
  double timestamp = 2;
137
+ // Extension: optional forwarded_from to identify the original sender when
138
+ // messages are forwarded through an SFU
139
+ optional string forwarded_from = 3;
129
140
  }
130
141
 
131
142
  message Scene {
@@ -0,0 +1,44 @@
1
+ syntax = "proto3";
2
+ package decentraland.sdk.components;
3
+
4
+ import "decentraland/sdk/components/common/id.proto";
5
+ option (common.ecs_component_id) = 1212;
6
+
7
+ enum PBAudioAnalysisMode {
8
+ MODE_RAW = 0;
9
+ MODE_LOGARITHMIC = 1;
10
+ }
11
+
12
+ message PBAudioAnalysis {
13
+
14
+ // Parameters section
15
+ PBAudioAnalysisMode mode = 1;
16
+
17
+ // Used only when mode == MODE_LOGARITHMIC
18
+ optional float amplitude_gain = 100;
19
+ optional float bands_gain = 101;
20
+ // End when mode == MODE_LOGARITHMIC
21
+
22
+ // End Parameters section
23
+
24
+ // Result section
25
+ float amplitude = 200;
26
+
27
+ // Protobuf doesn't support fixed arrays -> 8 band fields
28
+ float band_0 = 201;
29
+ float band_1 = 202;
30
+ float band_2 = 203;
31
+ float band_3 = 204;
32
+ float band_4 = 205;
33
+ float band_5 = 206;
34
+ float band_6 = 207;
35
+ float band_7 = 208;
36
+
37
+ // End Result section
38
+
39
+ // Future fields
40
+ // float spectral_centroid = 13;
41
+ // float spectral_flux = 14;
42
+ // bool onset = 15;
43
+ // float bpm = 16;
44
+ }
@@ -0,0 +1,21 @@
1
+ syntax = "proto3";
2
+
3
+ package decentraland.sdk.components;
4
+
5
+ import "decentraland/sdk/components/common/id.proto";
6
+
7
+ option (common.ecs_component_id) = 1211;
8
+
9
+ // The PBAvatarLocomotionSettings component allows scenes to modify locomotion settings defining things such
10
+ // as the avatar movement speed, jump height etc.
11
+ message PBAvatarLocomotionSettings {
12
+ optional float walk_speed = 1; // Maximum speed when walking (in meters per second)
13
+ optional float jog_speed = 2; // Maximum speed when jogging (in meters per second)
14
+ optional float run_speed = 3; // Maximum speed when running (in meters per second)
15
+ optional float jump_height = 4; // Height of a regular jump (in meters)
16
+ optional float run_jump_height = 5; // Height of a jump while running (in meters)
17
+ optional float hard_landing_cooldown = 6; // Cooldown time after a hard landing before the avatar can move again (in seconds)
18
+ optional float double_jump_height = 7; // Height of the double jump (in meters)
19
+ optional float gliding_speed = 8; // Maximum speed when gliding (in meters per second)
20
+ optional float gliding_falling_speed = 9; // Maximum falling speed when gliding (in meters per second)
21
+ }
@@ -42,3 +42,8 @@ message PBAvatarShape {
42
42
  optional bool show_only_wearables = 12; // hides the skin + hair + facial features (default: false)
43
43
  }
44
44
 
45
+ // Mask for which bones an animation applies to.
46
+ enum AvatarEmoteMask {
47
+ AEM_FULL_BODY = 0;
48
+ AEM_UPPER_BODY = 1;
49
+ }
@@ -17,6 +17,7 @@ enum InputAction {
17
17
  IA_ACTION_4 = 11;
18
18
  IA_ACTION_5 = 12;
19
19
  IA_ACTION_6 = 13;
20
+ IA_MODIFIER = 14;
20
21
  }
21
22
 
22
23
  // PointerEventType is a kind of interaction that can be detected.