@dcl/protocol 1.0.0-23951495761.commit-bf007b9 → 1.0.0-23951927054.commit-814ceb0
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.
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.d.ts +39 -0
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js +248 -9
- package/out-js/decentraland/kernel/comms/rfc4/comms.gen.js.map +1 -1
- package/out-js/decentraland/sdk/components/common/input_action.gen.d.ts +1 -0
- package/out-js/decentraland/sdk/components/common/input_action.gen.js +6 -0
- package/out-js/decentraland/sdk/components/common/input_action.gen.js.map +1 -1
- package/out-ts/decentraland/kernel/comms/rfc4/comms.gen.ts +298 -2
- package/out-ts/decentraland/sdk/components/common/input_action.gen.ts +6 -0
- package/package.json +3 -3
- package/proto/decentraland/kernel/comms/rfc4/comms.proto +24 -1
- package/proto/decentraland/sdk/components/audio_analysis.proto +44 -0
- package/proto/decentraland/sdk/components/avatar_locomotion_settings.proto +21 -0
- package/proto/decentraland/sdk/components/common/input_action.proto +1 -0
- package/proto/decentraland/sdk/components/light_source.proto +1 -1
- package/proto/decentraland/sdk/components/virtual_camera.proto +2 -0
|
@@ -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
|
}
|
|
@@ -134,6 +135,42 @@ export interface PlayerEmote {
|
|
|
134
135
|
incrementalId: number;
|
|
135
136
|
urn: string;
|
|
136
137
|
timestamp: number;
|
|
138
|
+
/** true means the emote has been stopped in the sender's client */
|
|
139
|
+
isStopping?:
|
|
140
|
+
| boolean
|
|
141
|
+
| undefined;
|
|
142
|
+
/** true when it is not the first time the looping animation plays */
|
|
143
|
+
isRepeating?:
|
|
144
|
+
| boolean
|
|
145
|
+
| undefined;
|
|
146
|
+
/** identifies an interaction univocaly, established when the start animation is triggered */
|
|
147
|
+
interactionId?:
|
|
148
|
+
| number
|
|
149
|
+
| undefined;
|
|
150
|
+
/** -1 means it does not use an outcome animation */
|
|
151
|
+
socialEmoteOutcome?:
|
|
152
|
+
| number
|
|
153
|
+
| undefined;
|
|
154
|
+
/** to a social emote started by other user */
|
|
155
|
+
isReacting?:
|
|
156
|
+
| boolean
|
|
157
|
+
| undefined;
|
|
158
|
+
/** wallet address of the user that initiated social emote */
|
|
159
|
+
socialEmoteInitiator?:
|
|
160
|
+
| string
|
|
161
|
+
| undefined;
|
|
162
|
+
/** wallet address of the user whose avatar is the target of a directed emote */
|
|
163
|
+
targetAvatar?: string | undefined;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/** Message sent to force an avatar to look at a position */
|
|
167
|
+
export interface LookAtPosition {
|
|
168
|
+
timestamp: number;
|
|
169
|
+
/** world position */
|
|
170
|
+
positionX: number;
|
|
171
|
+
positionY: number;
|
|
172
|
+
positionZ: number;
|
|
173
|
+
targetAvatarWalletAddress: string;
|
|
137
174
|
}
|
|
138
175
|
|
|
139
176
|
export interface SceneEmote {
|
|
@@ -158,6 +195,11 @@ export interface ProfileResponse {
|
|
|
158
195
|
export interface Chat {
|
|
159
196
|
message: string;
|
|
160
197
|
timestamp: number;
|
|
198
|
+
/**
|
|
199
|
+
* Extension: optional forwarded_from to identify the original sender when
|
|
200
|
+
* messages are forwarded through an SFU
|
|
201
|
+
*/
|
|
202
|
+
forwardedFrom?: string | undefined;
|
|
161
203
|
}
|
|
162
204
|
|
|
163
205
|
export interface Scene {
|
|
@@ -238,6 +280,9 @@ export namespace Packet {
|
|
|
238
280
|
case "movementCompressed":
|
|
239
281
|
MovementCompressed.encode(message.message.movementCompressed, writer.uint32(98).fork()).ldelim();
|
|
240
282
|
break;
|
|
283
|
+
case "lookAtPosition":
|
|
284
|
+
LookAtPosition.encode(message.message.lookAtPosition, writer.uint32(106).fork()).ldelim();
|
|
285
|
+
break;
|
|
241
286
|
}
|
|
242
287
|
if (message.protocolVersion !== 0) {
|
|
243
288
|
writer.uint32(88).uint32(message.protocolVersion);
|
|
@@ -338,6 +383,13 @@ export namespace Packet {
|
|
|
338
383
|
movementCompressed: MovementCompressed.decode(reader, reader.uint32()),
|
|
339
384
|
};
|
|
340
385
|
continue;
|
|
386
|
+
case 13:
|
|
387
|
+
if (tag !== 106) {
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
message.message = { $case: "lookAtPosition", lookAtPosition: LookAtPosition.decode(reader, reader.uint32()) };
|
|
392
|
+
continue;
|
|
341
393
|
case 11:
|
|
342
394
|
if (tag !== 88) {
|
|
343
395
|
break;
|
|
@@ -378,6 +430,8 @@ export namespace Packet {
|
|
|
378
430
|
? { $case: "sceneEmote", sceneEmote: SceneEmote.fromJSON(object.sceneEmote) }
|
|
379
431
|
: isSet(object.movementCompressed)
|
|
380
432
|
? { $case: "movementCompressed", movementCompressed: MovementCompressed.fromJSON(object.movementCompressed) }
|
|
433
|
+
: isSet(object.lookAtPosition)
|
|
434
|
+
? { $case: "lookAtPosition", lookAtPosition: LookAtPosition.fromJSON(object.lookAtPosition) }
|
|
381
435
|
: undefined,
|
|
382
436
|
protocolVersion: isSet(object.protocolVersion) ? Number(object.protocolVersion) : 0,
|
|
383
437
|
};
|
|
@@ -415,6 +469,10 @@ export namespace Packet {
|
|
|
415
469
|
(obj.movementCompressed = message.message?.movementCompressed
|
|
416
470
|
? MovementCompressed.toJSON(message.message?.movementCompressed)
|
|
417
471
|
: undefined);
|
|
472
|
+
message.message?.$case === "lookAtPosition" &&
|
|
473
|
+
(obj.lookAtPosition = message.message?.lookAtPosition
|
|
474
|
+
? LookAtPosition.toJSON(message.message?.lookAtPosition)
|
|
475
|
+
: undefined);
|
|
418
476
|
message.protocolVersion !== undefined && (obj.protocolVersion = Math.round(message.protocolVersion));
|
|
419
477
|
return obj;
|
|
420
478
|
}
|
|
@@ -502,6 +560,16 @@ export namespace Packet {
|
|
|
502
560
|
movementCompressed: MovementCompressed.fromPartial(object.message.movementCompressed),
|
|
503
561
|
};
|
|
504
562
|
}
|
|
563
|
+
if (
|
|
564
|
+
object.message?.$case === "lookAtPosition" &&
|
|
565
|
+
object.message?.lookAtPosition !== undefined &&
|
|
566
|
+
object.message?.lookAtPosition !== null
|
|
567
|
+
) {
|
|
568
|
+
message.message = {
|
|
569
|
+
$case: "lookAtPosition",
|
|
570
|
+
lookAtPosition: LookAtPosition.fromPartial(object.message.lookAtPosition),
|
|
571
|
+
};
|
|
572
|
+
}
|
|
505
573
|
message.protocolVersion = object.protocolVersion ?? 0;
|
|
506
574
|
return message;
|
|
507
575
|
}
|
|
@@ -1192,7 +1260,18 @@ export namespace MovementCompressed {
|
|
|
1192
1260
|
}
|
|
1193
1261
|
|
|
1194
1262
|
function createBasePlayerEmote(): PlayerEmote {
|
|
1195
|
-
return {
|
|
1263
|
+
return {
|
|
1264
|
+
incrementalId: 0,
|
|
1265
|
+
urn: "",
|
|
1266
|
+
timestamp: 0,
|
|
1267
|
+
isStopping: undefined,
|
|
1268
|
+
isRepeating: undefined,
|
|
1269
|
+
interactionId: undefined,
|
|
1270
|
+
socialEmoteOutcome: undefined,
|
|
1271
|
+
isReacting: undefined,
|
|
1272
|
+
socialEmoteInitiator: undefined,
|
|
1273
|
+
targetAvatar: undefined,
|
|
1274
|
+
};
|
|
1196
1275
|
}
|
|
1197
1276
|
|
|
1198
1277
|
export namespace PlayerEmote {
|
|
@@ -1206,6 +1285,27 @@ export namespace PlayerEmote {
|
|
|
1206
1285
|
if (message.timestamp !== 0) {
|
|
1207
1286
|
writer.uint32(29).float(message.timestamp);
|
|
1208
1287
|
}
|
|
1288
|
+
if (message.isStopping !== undefined) {
|
|
1289
|
+
writer.uint32(32).bool(message.isStopping);
|
|
1290
|
+
}
|
|
1291
|
+
if (message.isRepeating !== undefined) {
|
|
1292
|
+
writer.uint32(40).bool(message.isRepeating);
|
|
1293
|
+
}
|
|
1294
|
+
if (message.interactionId !== undefined) {
|
|
1295
|
+
writer.uint32(48).int32(message.interactionId);
|
|
1296
|
+
}
|
|
1297
|
+
if (message.socialEmoteOutcome !== undefined) {
|
|
1298
|
+
writer.uint32(56).int32(message.socialEmoteOutcome);
|
|
1299
|
+
}
|
|
1300
|
+
if (message.isReacting !== undefined) {
|
|
1301
|
+
writer.uint32(64).bool(message.isReacting);
|
|
1302
|
+
}
|
|
1303
|
+
if (message.socialEmoteInitiator !== undefined) {
|
|
1304
|
+
writer.uint32(74).string(message.socialEmoteInitiator);
|
|
1305
|
+
}
|
|
1306
|
+
if (message.targetAvatar !== undefined) {
|
|
1307
|
+
writer.uint32(82).string(message.targetAvatar);
|
|
1308
|
+
}
|
|
1209
1309
|
return writer;
|
|
1210
1310
|
}
|
|
1211
1311
|
|
|
@@ -1237,6 +1337,55 @@ export namespace PlayerEmote {
|
|
|
1237
1337
|
|
|
1238
1338
|
message.timestamp = reader.float();
|
|
1239
1339
|
continue;
|
|
1340
|
+
case 4:
|
|
1341
|
+
if (tag !== 32) {
|
|
1342
|
+
break;
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
message.isStopping = reader.bool();
|
|
1346
|
+
continue;
|
|
1347
|
+
case 5:
|
|
1348
|
+
if (tag !== 40) {
|
|
1349
|
+
break;
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
message.isRepeating = reader.bool();
|
|
1353
|
+
continue;
|
|
1354
|
+
case 6:
|
|
1355
|
+
if (tag !== 48) {
|
|
1356
|
+
break;
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
message.interactionId = reader.int32();
|
|
1360
|
+
continue;
|
|
1361
|
+
case 7:
|
|
1362
|
+
if (tag !== 56) {
|
|
1363
|
+
break;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
message.socialEmoteOutcome = reader.int32();
|
|
1367
|
+
continue;
|
|
1368
|
+
case 8:
|
|
1369
|
+
if (tag !== 64) {
|
|
1370
|
+
break;
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
message.isReacting = reader.bool();
|
|
1374
|
+
continue;
|
|
1375
|
+
case 9:
|
|
1376
|
+
if (tag !== 74) {
|
|
1377
|
+
break;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
message.socialEmoteInitiator = reader.string();
|
|
1381
|
+
continue;
|
|
1382
|
+
case 10:
|
|
1383
|
+
if (tag !== 82) {
|
|
1384
|
+
break;
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
message.targetAvatar = reader.string();
|
|
1388
|
+
continue;
|
|
1240
1389
|
}
|
|
1241
1390
|
if ((tag & 7) === 4 || tag === 0) {
|
|
1242
1391
|
break;
|
|
@@ -1251,6 +1400,13 @@ export namespace PlayerEmote {
|
|
|
1251
1400
|
incrementalId: isSet(object.incrementalId) ? Number(object.incrementalId) : 0,
|
|
1252
1401
|
urn: isSet(object.urn) ? String(object.urn) : "",
|
|
1253
1402
|
timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
|
|
1403
|
+
isStopping: isSet(object.isStopping) ? Boolean(object.isStopping) : undefined,
|
|
1404
|
+
isRepeating: isSet(object.isRepeating) ? Boolean(object.isRepeating) : undefined,
|
|
1405
|
+
interactionId: isSet(object.interactionId) ? Number(object.interactionId) : undefined,
|
|
1406
|
+
socialEmoteOutcome: isSet(object.socialEmoteOutcome) ? Number(object.socialEmoteOutcome) : undefined,
|
|
1407
|
+
isReacting: isSet(object.isReacting) ? Boolean(object.isReacting) : undefined,
|
|
1408
|
+
socialEmoteInitiator: isSet(object.socialEmoteInitiator) ? String(object.socialEmoteInitiator) : undefined,
|
|
1409
|
+
targetAvatar: isSet(object.targetAvatar) ? String(object.targetAvatar) : undefined,
|
|
1254
1410
|
};
|
|
1255
1411
|
}
|
|
1256
1412
|
|
|
@@ -1259,6 +1415,13 @@ export namespace PlayerEmote {
|
|
|
1259
1415
|
message.incrementalId !== undefined && (obj.incrementalId = Math.round(message.incrementalId));
|
|
1260
1416
|
message.urn !== undefined && (obj.urn = message.urn);
|
|
1261
1417
|
message.timestamp !== undefined && (obj.timestamp = message.timestamp);
|
|
1418
|
+
message.isStopping !== undefined && (obj.isStopping = message.isStopping);
|
|
1419
|
+
message.isRepeating !== undefined && (obj.isRepeating = message.isRepeating);
|
|
1420
|
+
message.interactionId !== undefined && (obj.interactionId = Math.round(message.interactionId));
|
|
1421
|
+
message.socialEmoteOutcome !== undefined && (obj.socialEmoteOutcome = Math.round(message.socialEmoteOutcome));
|
|
1422
|
+
message.isReacting !== undefined && (obj.isReacting = message.isReacting);
|
|
1423
|
+
message.socialEmoteInitiator !== undefined && (obj.socialEmoteInitiator = message.socialEmoteInitiator);
|
|
1424
|
+
message.targetAvatar !== undefined && (obj.targetAvatar = message.targetAvatar);
|
|
1262
1425
|
return obj;
|
|
1263
1426
|
}
|
|
1264
1427
|
|
|
@@ -1271,6 +1434,126 @@ export namespace PlayerEmote {
|
|
|
1271
1434
|
message.incrementalId = object.incrementalId ?? 0;
|
|
1272
1435
|
message.urn = object.urn ?? "";
|
|
1273
1436
|
message.timestamp = object.timestamp ?? 0;
|
|
1437
|
+
message.isStopping = object.isStopping ?? undefined;
|
|
1438
|
+
message.isRepeating = object.isRepeating ?? undefined;
|
|
1439
|
+
message.interactionId = object.interactionId ?? undefined;
|
|
1440
|
+
message.socialEmoteOutcome = object.socialEmoteOutcome ?? undefined;
|
|
1441
|
+
message.isReacting = object.isReacting ?? undefined;
|
|
1442
|
+
message.socialEmoteInitiator = object.socialEmoteInitiator ?? undefined;
|
|
1443
|
+
message.targetAvatar = object.targetAvatar ?? undefined;
|
|
1444
|
+
return message;
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
function createBaseLookAtPosition(): LookAtPosition {
|
|
1449
|
+
return { timestamp: 0, positionX: 0, positionY: 0, positionZ: 0, targetAvatarWalletAddress: "" };
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
export namespace LookAtPosition {
|
|
1453
|
+
export function encode(message: LookAtPosition, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
|
|
1454
|
+
if (message.timestamp !== 0) {
|
|
1455
|
+
writer.uint32(13).float(message.timestamp);
|
|
1456
|
+
}
|
|
1457
|
+
if (message.positionX !== 0) {
|
|
1458
|
+
writer.uint32(21).float(message.positionX);
|
|
1459
|
+
}
|
|
1460
|
+
if (message.positionY !== 0) {
|
|
1461
|
+
writer.uint32(29).float(message.positionY);
|
|
1462
|
+
}
|
|
1463
|
+
if (message.positionZ !== 0) {
|
|
1464
|
+
writer.uint32(37).float(message.positionZ);
|
|
1465
|
+
}
|
|
1466
|
+
if (message.targetAvatarWalletAddress !== "") {
|
|
1467
|
+
writer.uint32(42).string(message.targetAvatarWalletAddress);
|
|
1468
|
+
}
|
|
1469
|
+
return writer;
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
export function decode(input: _m0.Reader | Uint8Array, length?: number): LookAtPosition {
|
|
1473
|
+
const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
|
|
1474
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
1475
|
+
const message = createBaseLookAtPosition();
|
|
1476
|
+
while (reader.pos < end) {
|
|
1477
|
+
const tag = reader.uint32();
|
|
1478
|
+
switch (tag >>> 3) {
|
|
1479
|
+
case 1:
|
|
1480
|
+
if (tag !== 13) {
|
|
1481
|
+
break;
|
|
1482
|
+
}
|
|
1483
|
+
|
|
1484
|
+
message.timestamp = reader.float();
|
|
1485
|
+
continue;
|
|
1486
|
+
case 2:
|
|
1487
|
+
if (tag !== 21) {
|
|
1488
|
+
break;
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
message.positionX = reader.float();
|
|
1492
|
+
continue;
|
|
1493
|
+
case 3:
|
|
1494
|
+
if (tag !== 29) {
|
|
1495
|
+
break;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
message.positionY = reader.float();
|
|
1499
|
+
continue;
|
|
1500
|
+
case 4:
|
|
1501
|
+
if (tag !== 37) {
|
|
1502
|
+
break;
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
message.positionZ = reader.float();
|
|
1506
|
+
continue;
|
|
1507
|
+
case 5:
|
|
1508
|
+
if (tag !== 42) {
|
|
1509
|
+
break;
|
|
1510
|
+
}
|
|
1511
|
+
|
|
1512
|
+
message.targetAvatarWalletAddress = reader.string();
|
|
1513
|
+
continue;
|
|
1514
|
+
}
|
|
1515
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
1516
|
+
break;
|
|
1517
|
+
}
|
|
1518
|
+
reader.skipType(tag & 7);
|
|
1519
|
+
}
|
|
1520
|
+
return message;
|
|
1521
|
+
}
|
|
1522
|
+
|
|
1523
|
+
export function fromJSON(object: any): LookAtPosition {
|
|
1524
|
+
return {
|
|
1525
|
+
timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
|
|
1526
|
+
positionX: isSet(object.positionX) ? Number(object.positionX) : 0,
|
|
1527
|
+
positionY: isSet(object.positionY) ? Number(object.positionY) : 0,
|
|
1528
|
+
positionZ: isSet(object.positionZ) ? Number(object.positionZ) : 0,
|
|
1529
|
+
targetAvatarWalletAddress: isSet(object.targetAvatarWalletAddress)
|
|
1530
|
+
? String(object.targetAvatarWalletAddress)
|
|
1531
|
+
: "",
|
|
1532
|
+
};
|
|
1533
|
+
}
|
|
1534
|
+
|
|
1535
|
+
export function toJSON(message: LookAtPosition): unknown {
|
|
1536
|
+
const obj: any = {};
|
|
1537
|
+
message.timestamp !== undefined && (obj.timestamp = message.timestamp);
|
|
1538
|
+
message.positionX !== undefined && (obj.positionX = message.positionX);
|
|
1539
|
+
message.positionY !== undefined && (obj.positionY = message.positionY);
|
|
1540
|
+
message.positionZ !== undefined && (obj.positionZ = message.positionZ);
|
|
1541
|
+
message.targetAvatarWalletAddress !== undefined &&
|
|
1542
|
+
(obj.targetAvatarWalletAddress = message.targetAvatarWalletAddress);
|
|
1543
|
+
return obj;
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
export function create<I extends Exact<DeepPartial<LookAtPosition>, I>>(base?: I): LookAtPosition {
|
|
1547
|
+
return LookAtPosition.fromPartial(base ?? {});
|
|
1548
|
+
}
|
|
1549
|
+
|
|
1550
|
+
export function fromPartial<I extends Exact<DeepPartial<LookAtPosition>, I>>(object: I): LookAtPosition {
|
|
1551
|
+
const message = createBaseLookAtPosition();
|
|
1552
|
+
message.timestamp = object.timestamp ?? 0;
|
|
1553
|
+
message.positionX = object.positionX ?? 0;
|
|
1554
|
+
message.positionY = object.positionY ?? 0;
|
|
1555
|
+
message.positionZ = object.positionZ ?? 0;
|
|
1556
|
+
message.targetAvatarWalletAddress = object.targetAvatarWalletAddress ?? "";
|
|
1274
1557
|
return message;
|
|
1275
1558
|
}
|
|
1276
1559
|
}
|
|
@@ -1547,7 +1830,7 @@ export namespace ProfileResponse {
|
|
|
1547
1830
|
}
|
|
1548
1831
|
|
|
1549
1832
|
function createBaseChat(): Chat {
|
|
1550
|
-
return { message: "", timestamp: 0 };
|
|
1833
|
+
return { message: "", timestamp: 0, forwardedFrom: undefined };
|
|
1551
1834
|
}
|
|
1552
1835
|
|
|
1553
1836
|
export namespace Chat {
|
|
@@ -1558,6 +1841,9 @@ export namespace Chat {
|
|
|
1558
1841
|
if (message.timestamp !== 0) {
|
|
1559
1842
|
writer.uint32(17).double(message.timestamp);
|
|
1560
1843
|
}
|
|
1844
|
+
if (message.forwardedFrom !== undefined) {
|
|
1845
|
+
writer.uint32(26).string(message.forwardedFrom);
|
|
1846
|
+
}
|
|
1561
1847
|
return writer;
|
|
1562
1848
|
}
|
|
1563
1849
|
|
|
@@ -1582,6 +1868,13 @@ export namespace Chat {
|
|
|
1582
1868
|
|
|
1583
1869
|
message.timestamp = reader.double();
|
|
1584
1870
|
continue;
|
|
1871
|
+
case 3:
|
|
1872
|
+
if (tag !== 26) {
|
|
1873
|
+
break;
|
|
1874
|
+
}
|
|
1875
|
+
|
|
1876
|
+
message.forwardedFrom = reader.string();
|
|
1877
|
+
continue;
|
|
1585
1878
|
}
|
|
1586
1879
|
if ((tag & 7) === 4 || tag === 0) {
|
|
1587
1880
|
break;
|
|
@@ -1595,6 +1888,7 @@ export namespace Chat {
|
|
|
1595
1888
|
return {
|
|
1596
1889
|
message: isSet(object.message) ? String(object.message) : "",
|
|
1597
1890
|
timestamp: isSet(object.timestamp) ? Number(object.timestamp) : 0,
|
|
1891
|
+
forwardedFrom: isSet(object.forwardedFrom) ? String(object.forwardedFrom) : undefined,
|
|
1598
1892
|
};
|
|
1599
1893
|
}
|
|
1600
1894
|
|
|
@@ -1602,6 +1896,7 @@ export namespace Chat {
|
|
|
1602
1896
|
const obj: any = {};
|
|
1603
1897
|
message.message !== undefined && (obj.message = message.message);
|
|
1604
1898
|
message.timestamp !== undefined && (obj.timestamp = message.timestamp);
|
|
1899
|
+
message.forwardedFrom !== undefined && (obj.forwardedFrom = message.forwardedFrom);
|
|
1605
1900
|
return obj;
|
|
1606
1901
|
}
|
|
1607
1902
|
|
|
@@ -1613,6 +1908,7 @@ export namespace Chat {
|
|
|
1613
1908
|
const message = createBaseChat();
|
|
1614
1909
|
message.message = object.message ?? "";
|
|
1615
1910
|
message.timestamp = object.timestamp ?? 0;
|
|
1911
|
+
message.forwardedFrom = object.forwardedFrom ?? undefined;
|
|
1616
1912
|
return message;
|
|
1617
1913
|
}
|
|
1618
1914
|
}
|
|
@@ -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-
|
|
3
|
+
"version": "1.0.0-23951927054.commit-814ceb0",
|
|
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.
|
|
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": "
|
|
33
|
+
"commit": "814ceb0d518bff173eaf2256e21210a8e2b19836"
|
|
34
34
|
}
|
|
@@ -18,6 +18,7 @@ message Packet {
|
|
|
18
18
|
PlayerEmote player_emote = 9;
|
|
19
19
|
SceneEmote scene_emote = 10;
|
|
20
20
|
MovementCompressed movement_compressed = 12;
|
|
21
|
+
LookAtPosition look_at_position = 13;
|
|
21
22
|
}
|
|
22
23
|
uint32 protocol_version = 11;
|
|
23
24
|
}
|
|
@@ -84,13 +85,31 @@ message MovementCompressed {
|
|
|
84
85
|
int32 temporal_data = 1; // bit-compressed: timestamp + animations
|
|
85
86
|
int64 movement_data = 2; // bit-compressed: position + velocity
|
|
86
87
|
int32 head_sync_data = 3; // bit-compressed: enabled flags + yaw + pitch
|
|
87
|
-
int32 point_at_data = 4; // bit-compressed: flag + point coordinates
|
|
88
|
+
int32 point_at_data = 4; // bit-compressed: flag + point coordinates
|
|
88
89
|
}
|
|
89
90
|
|
|
90
91
|
message PlayerEmote {
|
|
91
92
|
uint32 incremental_id = 1;
|
|
92
93
|
string urn = 2;
|
|
93
94
|
float timestamp = 3;
|
|
95
|
+
optional bool is_stopping = 4; // true means the emote has been stopped in the sender's client
|
|
96
|
+
optional bool is_repeating = 5; // true when it is not the first time the looping animation plays
|
|
97
|
+
optional int32 interaction_id = 6; // identifies an interaction univocaly, established when the start animation is triggered
|
|
98
|
+
optional int32 social_emote_outcome = 7; // -1 means it does not use an outcome animation
|
|
99
|
+
optional bool is_reacting = 8; // to a social emote started by other user
|
|
100
|
+
optional string social_emote_initiator = 9; // wallet address of the user that initiated social emote
|
|
101
|
+
optional string target_avatar = 10; // wallet address of the user whose avatar is the target of a directed emote
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Message sent to force an avatar to look at a position
|
|
105
|
+
message LookAtPosition
|
|
106
|
+
{
|
|
107
|
+
float timestamp = 1;
|
|
108
|
+
// world position
|
|
109
|
+
float position_x = 2;
|
|
110
|
+
float position_y = 3;
|
|
111
|
+
float position_z = 4;
|
|
112
|
+
string target_avatar_wallet_address = 5;
|
|
94
113
|
}
|
|
95
114
|
|
|
96
115
|
message SceneEmote {
|
|
@@ -123,6 +142,10 @@ message ProfileResponse {
|
|
|
123
142
|
message Chat {
|
|
124
143
|
string message = 1;
|
|
125
144
|
double timestamp = 2;
|
|
145
|
+
|
|
146
|
+
// Extension: optional forwarded_from to identify the original sender when
|
|
147
|
+
// messages are forwarded through an SFU
|
|
148
|
+
optional string forwarded_from = 3;
|
|
126
149
|
}
|
|
127
150
|
|
|
128
151
|
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
|
+
}
|
|
@@ -25,4 +25,4 @@ message PBLightSource {
|
|
|
25
25
|
optional float inner_angle = 9; // default = 21.8. Inner angle can't be higher than outer angle, otherwise will default to same value. Min value is 0. Max value is 179.
|
|
26
26
|
optional float outer_angle = 10; // default = 30. Outer angle can't be lower than inner angle, otherwise will inner angle will be set to same value. Max value is 179.
|
|
27
27
|
}
|
|
28
|
-
}
|
|
28
|
+
}
|
|
@@ -10,7 +10,9 @@ option (common.ecs_component_id) = 1076;
|
|
|
10
10
|
// an 'instant' transition (like using speed/time = 0)
|
|
11
11
|
// * The lookAtEntity defines to which entity the Camera has to look at constantly (independent from
|
|
12
12
|
// the holding entity transform).
|
|
13
|
+
// * The fov defines the Field of View of the virtual camera
|
|
13
14
|
message PBVirtualCamera {
|
|
14
15
|
optional common.CameraTransition default_transition = 1;
|
|
15
16
|
optional uint32 look_at_entity = 2;
|
|
17
|
+
optional float fov = 3; // default: 60
|
|
16
18
|
}
|