@dcl/protocol 1.0.0-15560497739.commit-8e03daa → 1.0.0-15732196382.commit-462eee4

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 (81) hide show
  1. package/out-js/decentraland/common/texture.gen.d.ts +18 -0
  2. package/out-js/decentraland/common/texture.gen.js +104 -4
  3. package/out-js/decentraland/common/texture.gen.js.map +1 -1
  4. package/out-js/decentraland/sdk/components/avatar_equipped_data.gen.d.ts +2 -0
  5. package/out-js/decentraland/sdk/components/avatar_equipped_data.gen.js +19 -2
  6. package/out-js/decentraland/sdk/components/avatar_equipped_data.gen.js.map +1 -1
  7. package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.d.ts +41 -0
  8. package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.js +241 -3
  9. package/out-js/decentraland/sdk/components/avatar_modifier_area.gen.js.map +1 -1
  10. package/out-js/decentraland/sdk/components/avatar_shape.gen.d.ts +2 -0
  11. package/out-js/decentraland/sdk/components/avatar_shape.gen.js +19 -1
  12. package/out-js/decentraland/sdk/components/avatar_shape.gen.js.map +1 -1
  13. package/out-js/decentraland/sdk/components/camera_mode_area.gen.d.ts +35 -1
  14. package/out-js/decentraland/sdk/components/camera_mode_area.gen.js +172 -3
  15. package/out-js/decentraland/sdk/components/camera_mode_area.gen.js.map +1 -1
  16. package/out-js/decentraland/sdk/components/common/input_action.gen.d.ts +3 -0
  17. package/out-js/decentraland/sdk/components/common/input_action.gen.js +18 -0
  18. package/out-js/decentraland/sdk/components/common/input_action.gen.js.map +1 -1
  19. package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.d.ts +19 -0
  20. package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.js +90 -3
  21. package/out-js/decentraland/sdk/components/gltf_container_loading_state.gen.js.map +1 -1
  22. package/out-js/decentraland/sdk/components/gltf_node.gen.d.ts +66 -0
  23. package/out-js/decentraland/sdk/components/gltf_node.gen.js +69 -0
  24. package/out-js/decentraland/sdk/components/gltf_node.gen.js.map +1 -0
  25. package/out-js/decentraland/sdk/components/gltf_node_state.gen.d.ts +43 -0
  26. package/out-js/decentraland/sdk/components/gltf_node_state.gen.js +122 -0
  27. package/out-js/decentraland/sdk/components/gltf_node_state.gen.js.map +1 -0
  28. package/out-js/decentraland/sdk/components/material.gen.d.ts +20 -0
  29. package/out-js/decentraland/sdk/components/material.gen.js +86 -2
  30. package/out-js/decentraland/sdk/components/material.gen.js.map +1 -1
  31. package/out-js/decentraland/sdk/components/mesh_collider.gen.d.ts +18 -0
  32. package/out-js/decentraland/sdk/components/mesh_collider.gen.js +90 -4
  33. package/out-js/decentraland/sdk/components/mesh_collider.gen.js.map +1 -1
  34. package/out-js/decentraland/sdk/components/mesh_renderer.gen.d.ts +19 -3
  35. package/out-js/decentraland/sdk/components/mesh_renderer.gen.js +90 -4
  36. package/out-js/decentraland/sdk/components/mesh_renderer.gen.js.map +1 -1
  37. package/out-js/decentraland/sdk/components/ui_text.gen.d.ts +4 -0
  38. package/out-js/decentraland/sdk/components/ui_text.gen.js +30 -1
  39. package/out-js/decentraland/sdk/components/ui_text.gen.js.map +1 -1
  40. package/out-js/decentraland/sdk/components/ui_transform.gen.d.ts +33 -0
  41. package/out-js/decentraland/sdk/components/ui_transform.gen.js +176 -3
  42. package/out-js/decentraland/sdk/components/ui_transform.gen.js.map +1 -1
  43. package/out-ts/decentraland/common/texture.gen.ts +119 -4
  44. package/out-ts/decentraland/sdk/components/avatar_equipped_data.gen.ts +20 -1
  45. package/out-ts/decentraland/sdk/components/avatar_modifier_area.gen.ts +292 -1
  46. package/out-ts/decentraland/sdk/components/avatar_shape.gen.ts +20 -0
  47. package/out-ts/decentraland/sdk/components/camera_mode_area.gen.ts +218 -2
  48. package/out-ts/decentraland/sdk/components/common/input_action.gen.ts +18 -0
  49. package/out-ts/decentraland/sdk/components/gltf_container_loading_state.gen.ts +108 -2
  50. package/out-ts/decentraland/sdk/components/gltf_node.gen.ts +116 -0
  51. package/out-ts/decentraland/sdk/components/gltf_node_state.gen.ts +139 -0
  52. package/out-ts/decentraland/sdk/components/material.gen.ts +102 -1
  53. package/out-ts/decentraland/sdk/components/mesh_collider.gen.ts +99 -0
  54. package/out-ts/decentraland/sdk/components/mesh_renderer.gen.ts +100 -3
  55. package/out-ts/decentraland/sdk/components/ui_text.gen.ts +40 -1
  56. package/out-ts/decentraland/sdk/components/ui_transform.gen.ts +193 -0
  57. package/package.json +6 -3
  58. package/proto/decentraland/common/texture.proto +8 -1
  59. package/proto/decentraland/sdk/components/avatar_equipped_data.proto +2 -1
  60. package/proto/decentraland/sdk/components/avatar_modifier_area.proto +21 -0
  61. package/proto/decentraland/sdk/components/avatar_shape.proto +1 -0
  62. package/proto/decentraland/sdk/components/camera_layer.proto +30 -0
  63. package/proto/decentraland/sdk/components/camera_layers.proto +11 -0
  64. package/proto/decentraland/sdk/components/camera_mode_area.proto +22 -3
  65. package/proto/decentraland/sdk/components/common/input_action.proto +3 -0
  66. package/proto/decentraland/sdk/components/global_light.proto +22 -0
  67. package/proto/decentraland/sdk/components/gltf_container_loading_state.proto +13 -0
  68. package/proto/decentraland/sdk/components/gltf_node.proto +42 -0
  69. package/proto/decentraland/sdk/components/gltf_node_state.proto +20 -0
  70. package/proto/decentraland/sdk/components/light.proto +42 -0
  71. package/proto/decentraland/sdk/components/material.proto +13 -1
  72. package/proto/decentraland/sdk/components/mesh_collider.proto +8 -1
  73. package/proto/decentraland/sdk/components/mesh_renderer.proto +8 -3
  74. package/proto/decentraland/sdk/components/primary_pointer_info.proto +5 -0
  75. package/proto/decentraland/sdk/components/spotlight.proto +21 -0
  76. package/proto/decentraland/sdk/components/texture_camera.proto +46 -0
  77. package/proto/decentraland/sdk/components/ui_canvas.proto +16 -0
  78. package/proto/decentraland/sdk/components/ui_scroll_result.proto +12 -0
  79. package/proto/decentraland/sdk/components/ui_text.proto +3 -0
  80. package/proto/decentraland/sdk/components/ui_transform.proto +20 -0
  81. package/public/sdk-components.proto +2 -0
@@ -120,11 +120,23 @@ export interface VideoTexture {
120
120
  filterMode?: TextureFilterMode | undefined;
121
121
  }
122
122
 
123
+ export interface UiCanvasTexture {
124
+ uiCanvasEntity: number;
125
+ /** default = TextureWrapMode.Clamp */
126
+ wrapMode?:
127
+ | TextureWrapMode
128
+ | undefined;
129
+ /** default = FilterMode.Bilinear */
130
+ filterMode?: TextureFilterMode | undefined;
131
+ }
132
+
123
133
  export interface TextureUnion {
124
- tex?: { $case: "texture"; texture: Texture } | { $case: "avatarTexture"; avatarTexture: AvatarTexture } | {
125
- $case: "videoTexture";
126
- videoTexture: VideoTexture;
127
- } | undefined;
134
+ tex?:
135
+ | { $case: "texture"; texture: Texture }
136
+ | { $case: "avatarTexture"; avatarTexture: AvatarTexture }
137
+ | { $case: "videoTexture"; videoTexture: VideoTexture }
138
+ | { $case: "uiTexture"; uiTexture: UiCanvasTexture }
139
+ | undefined;
128
140
  }
129
141
 
130
142
  function createBaseTexture(): Texture {
@@ -415,6 +427,92 @@ export namespace VideoTexture {
415
427
  }
416
428
  }
417
429
 
430
+ function createBaseUiCanvasTexture(): UiCanvasTexture {
431
+ return { uiCanvasEntity: 0, wrapMode: undefined, filterMode: undefined };
432
+ }
433
+
434
+ export namespace UiCanvasTexture {
435
+ export function encode(message: UiCanvasTexture, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
436
+ if (message.uiCanvasEntity !== 0) {
437
+ writer.uint32(8).uint32(message.uiCanvasEntity);
438
+ }
439
+ if (message.wrapMode !== undefined) {
440
+ writer.uint32(16).int32(message.wrapMode);
441
+ }
442
+ if (message.filterMode !== undefined) {
443
+ writer.uint32(24).int32(message.filterMode);
444
+ }
445
+ return writer;
446
+ }
447
+
448
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): UiCanvasTexture {
449
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
450
+ let end = length === undefined ? reader.len : reader.pos + length;
451
+ const message = createBaseUiCanvasTexture();
452
+ while (reader.pos < end) {
453
+ const tag = reader.uint32();
454
+ switch (tag >>> 3) {
455
+ case 1:
456
+ if (tag !== 8) {
457
+ break;
458
+ }
459
+
460
+ message.uiCanvasEntity = reader.uint32();
461
+ continue;
462
+ case 2:
463
+ if (tag !== 16) {
464
+ break;
465
+ }
466
+
467
+ message.wrapMode = reader.int32() as any;
468
+ continue;
469
+ case 3:
470
+ if (tag !== 24) {
471
+ break;
472
+ }
473
+
474
+ message.filterMode = reader.int32() as any;
475
+ continue;
476
+ }
477
+ if ((tag & 7) === 4 || tag === 0) {
478
+ break;
479
+ }
480
+ reader.skipType(tag & 7);
481
+ }
482
+ return message;
483
+ }
484
+
485
+ export function fromJSON(object: any): UiCanvasTexture {
486
+ return {
487
+ uiCanvasEntity: isSet(object.uiCanvasEntity) ? Number(object.uiCanvasEntity) : 0,
488
+ wrapMode: isSet(object.wrapMode) ? textureWrapModeFromJSON(object.wrapMode) : undefined,
489
+ filterMode: isSet(object.filterMode) ? textureFilterModeFromJSON(object.filterMode) : undefined,
490
+ };
491
+ }
492
+
493
+ export function toJSON(message: UiCanvasTexture): unknown {
494
+ const obj: any = {};
495
+ message.uiCanvasEntity !== undefined && (obj.uiCanvasEntity = Math.round(message.uiCanvasEntity));
496
+ message.wrapMode !== undefined &&
497
+ (obj.wrapMode = message.wrapMode !== undefined ? textureWrapModeToJSON(message.wrapMode) : undefined);
498
+ message.filterMode !== undefined &&
499
+ (obj.filterMode = message.filterMode !== undefined ? textureFilterModeToJSON(message.filterMode) : undefined);
500
+ return obj;
501
+ }
502
+
503
+ export function create<I extends Exact<DeepPartial<UiCanvasTexture>, I>>(base?: I): UiCanvasTexture {
504
+ return UiCanvasTexture.fromPartial(base ?? {});
505
+ }
506
+
507
+ export function fromPartial<I extends Exact<DeepPartial<UiCanvasTexture>, I>>(object: I): UiCanvasTexture {
508
+ const message = createBaseUiCanvasTexture();
509
+ message.uiCanvasEntity = object.uiCanvasEntity ?? 0;
510
+ message.wrapMode = object.wrapMode ?? undefined;
511
+ message.filterMode = object.filterMode ?? undefined;
512
+ return message;
513
+ }
514
+ }
515
+
418
516
  function createBaseTextureUnion(): TextureUnion {
419
517
  return { tex: undefined };
420
518
  }
@@ -431,6 +529,9 @@ export namespace TextureUnion {
431
529
  case "videoTexture":
432
530
  VideoTexture.encode(message.tex.videoTexture, writer.uint32(26).fork()).ldelim();
433
531
  break;
532
+ case "uiTexture":
533
+ UiCanvasTexture.encode(message.tex.uiTexture, writer.uint32(34).fork()).ldelim();
534
+ break;
434
535
  }
435
536
  return writer;
436
537
  }
@@ -463,6 +564,13 @@ export namespace TextureUnion {
463
564
 
464
565
  message.tex = { $case: "videoTexture", videoTexture: VideoTexture.decode(reader, reader.uint32()) };
465
566
  continue;
567
+ case 4:
568
+ if (tag !== 34) {
569
+ break;
570
+ }
571
+
572
+ message.tex = { $case: "uiTexture", uiTexture: UiCanvasTexture.decode(reader, reader.uint32()) };
573
+ continue;
466
574
  }
467
575
  if ((tag & 7) === 4 || tag === 0) {
468
576
  break;
@@ -480,6 +588,8 @@ export namespace TextureUnion {
480
588
  ? { $case: "avatarTexture", avatarTexture: AvatarTexture.fromJSON(object.avatarTexture) }
481
589
  : isSet(object.videoTexture)
482
590
  ? { $case: "videoTexture", videoTexture: VideoTexture.fromJSON(object.videoTexture) }
591
+ : isSet(object.uiTexture)
592
+ ? { $case: "uiTexture", uiTexture: UiCanvasTexture.fromJSON(object.uiTexture) }
483
593
  : undefined,
484
594
  };
485
595
  }
@@ -492,6 +602,8 @@ export namespace TextureUnion {
492
602
  (obj.avatarTexture = message.tex?.avatarTexture ? AvatarTexture.toJSON(message.tex?.avatarTexture) : undefined);
493
603
  message.tex?.$case === "videoTexture" &&
494
604
  (obj.videoTexture = message.tex?.videoTexture ? VideoTexture.toJSON(message.tex?.videoTexture) : undefined);
605
+ message.tex?.$case === "uiTexture" &&
606
+ (obj.uiTexture = message.tex?.uiTexture ? UiCanvasTexture.toJSON(message.tex?.uiTexture) : undefined);
495
607
  return obj;
496
608
  }
497
609
 
@@ -518,6 +630,9 @@ export namespace TextureUnion {
518
630
  ) {
519
631
  message.tex = { $case: "videoTexture", videoTexture: VideoTexture.fromPartial(object.tex.videoTexture) };
520
632
  }
633
+ if (object.tex?.$case === "uiTexture" && object.tex?.uiTexture !== undefined && object.tex?.uiTexture !== null) {
634
+ message.tex = { $case: "uiTexture", uiTexture: UiCanvasTexture.fromPartial(object.tex.uiTexture) };
635
+ }
521
636
  return message;
522
637
  }
523
638
  }
@@ -11,10 +11,12 @@ export const protobufPackage = "decentraland.sdk.components";
11
11
  export interface PBAvatarEquippedData {
12
12
  wearableUrns: string[];
13
13
  emoteUrns: string[];
14
+ /** slots that will render even if hidden */
15
+ forceRender: string[];
14
16
  }
15
17
 
16
18
  function createBasePBAvatarEquippedData(): PBAvatarEquippedData {
17
- return { wearableUrns: [], emoteUrns: [] };
19
+ return { wearableUrns: [], emoteUrns: [], forceRender: [] };
18
20
  }
19
21
 
20
22
  export namespace PBAvatarEquippedData {
@@ -25,6 +27,9 @@ export namespace PBAvatarEquippedData {
25
27
  for (const v of message.emoteUrns) {
26
28
  writer.uint32(18).string(v!);
27
29
  }
30
+ for (const v of message.forceRender) {
31
+ writer.uint32(26).string(v!);
32
+ }
28
33
  return writer;
29
34
  }
30
35
 
@@ -49,6 +54,13 @@ export namespace PBAvatarEquippedData {
49
54
 
50
55
  message.emoteUrns.push(reader.string());
51
56
  continue;
57
+ case 3:
58
+ if (tag !== 26) {
59
+ break;
60
+ }
61
+
62
+ message.forceRender.push(reader.string());
63
+ continue;
52
64
  }
53
65
  if ((tag & 7) === 4 || tag === 0) {
54
66
  break;
@@ -62,6 +74,7 @@ export namespace PBAvatarEquippedData {
62
74
  return {
63
75
  wearableUrns: Array.isArray(object?.wearableUrns) ? object.wearableUrns.map((e: any) => String(e)) : [],
64
76
  emoteUrns: Array.isArray(object?.emoteUrns) ? object.emoteUrns.map((e: any) => String(e)) : [],
77
+ forceRender: Array.isArray(object?.forceRender) ? object.forceRender.map((e: any) => String(e)) : [],
65
78
  };
66
79
  }
67
80
 
@@ -77,6 +90,11 @@ export namespace PBAvatarEquippedData {
77
90
  } else {
78
91
  obj.emoteUrns = [];
79
92
  }
93
+ if (message.forceRender) {
94
+ obj.forceRender = message.forceRender.map((e) => e);
95
+ } else {
96
+ obj.forceRender = [];
97
+ }
80
98
  return obj;
81
99
  }
82
100
 
@@ -88,6 +106,7 @@ export namespace PBAvatarEquippedData {
88
106
  const message = createBasePBAvatarEquippedData();
89
107
  message.wearableUrns = object.wearableUrns?.map((e) => e) || [];
90
108
  message.emoteUrns = object.emoteUrns?.map((e) => e) || [];
109
+ message.forceRender = object.forceRender?.map((e) => e) || [];
91
110
  return message;
92
111
  }
93
112
  }
@@ -40,6 +40,48 @@ export function avatarModifierTypeToJSON(object: AvatarModifierType): string {
40
40
  }
41
41
  }
42
42
 
43
+ export enum AvatarControlType {
44
+ /** CCT_NONE - avatar cannot move */
45
+ CCT_NONE = 0,
46
+ /** CCT_RELATIVE - avatar moves relative to the camera origin */
47
+ CCT_RELATIVE = 1,
48
+ /** CCT_TANK - avatar moves like a tank: left/right rotate the player, forward/backward advance/retreat the player */
49
+ CCT_TANK = 2,
50
+ UNRECOGNIZED = -1,
51
+ }
52
+
53
+ export function avatarControlTypeFromJSON(object: any): AvatarControlType {
54
+ switch (object) {
55
+ case 0:
56
+ case "CCT_NONE":
57
+ return AvatarControlType.CCT_NONE;
58
+ case 1:
59
+ case "CCT_RELATIVE":
60
+ return AvatarControlType.CCT_RELATIVE;
61
+ case 2:
62
+ case "CCT_TANK":
63
+ return AvatarControlType.CCT_TANK;
64
+ case -1:
65
+ case "UNRECOGNIZED":
66
+ default:
67
+ return AvatarControlType.UNRECOGNIZED;
68
+ }
69
+ }
70
+
71
+ export function avatarControlTypeToJSON(object: AvatarControlType): string {
72
+ switch (object) {
73
+ case AvatarControlType.CCT_NONE:
74
+ return "CCT_NONE";
75
+ case AvatarControlType.CCT_RELATIVE:
76
+ return "CCT_RELATIVE";
77
+ case AvatarControlType.CCT_TANK:
78
+ return "CCT_TANK";
79
+ case AvatarControlType.UNRECOGNIZED:
80
+ default:
81
+ return "UNRECOGNIZED";
82
+ }
83
+ }
84
+
43
85
  /**
44
86
  * The AvatarModifierArea component can be attached to an Entity to define a region of space where
45
87
  * avatar behavior changes.
@@ -63,10 +105,51 @@ export interface PBAvatarModifierArea {
63
105
  excludeIds: string[];
64
106
  /** list of modifiers to apply */
65
107
  modifiers: AvatarModifierType[];
108
+ movementSettings?:
109
+ | AvatarMovementSettings
110
+ | undefined;
111
+ /** if true, the player will be considered inside the area when they are within 0.3m of the area. default true */
112
+ useColliderRange?: boolean | undefined;
113
+ }
114
+
115
+ export interface AvatarMovementSettings {
116
+ controlMode?:
117
+ | AvatarControlType
118
+ | undefined;
119
+ /** if not explicitly set, the following properties default to user's preference settings */
120
+ runSpeed?:
121
+ | number
122
+ | undefined;
123
+ /** how fast the player gets up to speed or comes to rest. higher = more responsive */
124
+ friction?:
125
+ | number
126
+ | undefined;
127
+ /** how fast the player accelerates vertically when not on a solid surface, in m/s. should normally be negative */
128
+ gravity?:
129
+ | number
130
+ | undefined;
131
+ /** how high the player can jump, in meters. should normally be positive. gravity must have the same sign for jumping to be possible */
132
+ jumpHeight?:
133
+ | number
134
+ | undefined;
135
+ /** max fall speed in m/s. should normally be negative */
136
+ maxFallSpeed?:
137
+ | number
138
+ | undefined;
139
+ /** speed the player turns in tank mode, in radians/s */
140
+ turnSpeed?:
141
+ | number
142
+ | undefined;
143
+ /** speed the player walks at, in m/s */
144
+ walkSpeed?:
145
+ | number
146
+ | undefined;
147
+ /** whether to allow player to move at a slower speed (e.g. with a walk-key or when using a gamepad/joystick). defaults to true */
148
+ allowWeightedMovement?: boolean | undefined;
66
149
  }
67
150
 
68
151
  function createBasePBAvatarModifierArea(): PBAvatarModifierArea {
69
- return { area: undefined, excludeIds: [], modifiers: [] };
152
+ return { area: undefined, excludeIds: [], modifiers: [], movementSettings: undefined, useColliderRange: undefined };
70
153
  }
71
154
 
72
155
  export namespace PBAvatarModifierArea {
@@ -82,6 +165,12 @@ export namespace PBAvatarModifierArea {
82
165
  writer.int32(v);
83
166
  }
84
167
  writer.ldelim();
168
+ if (message.movementSettings !== undefined) {
169
+ AvatarMovementSettings.encode(message.movementSettings, writer.uint32(34).fork()).ldelim();
170
+ }
171
+ if (message.useColliderRange !== undefined) {
172
+ writer.uint32(40).bool(message.useColliderRange);
173
+ }
85
174
  return writer;
86
175
  }
87
176
 
@@ -123,6 +212,20 @@ export namespace PBAvatarModifierArea {
123
212
  }
124
213
 
125
214
  break;
215
+ case 4:
216
+ if (tag !== 34) {
217
+ break;
218
+ }
219
+
220
+ message.movementSettings = AvatarMovementSettings.decode(reader, reader.uint32());
221
+ continue;
222
+ case 5:
223
+ if (tag !== 40) {
224
+ break;
225
+ }
226
+
227
+ message.useColliderRange = reader.bool();
228
+ continue;
126
229
  }
127
230
  if ((tag & 7) === 4 || tag === 0) {
128
231
  break;
@@ -139,6 +242,10 @@ export namespace PBAvatarModifierArea {
139
242
  modifiers: Array.isArray(object?.modifiers)
140
243
  ? object.modifiers.map((e: any) => avatarModifierTypeFromJSON(e))
141
244
  : [],
245
+ movementSettings: isSet(object.movementSettings)
246
+ ? AvatarMovementSettings.fromJSON(object.movementSettings)
247
+ : undefined,
248
+ useColliderRange: isSet(object.useColliderRange) ? Boolean(object.useColliderRange) : undefined,
142
249
  };
143
250
  }
144
251
 
@@ -155,6 +262,11 @@ export namespace PBAvatarModifierArea {
155
262
  } else {
156
263
  obj.modifiers = [];
157
264
  }
265
+ message.movementSettings !== undefined &&
266
+ (obj.movementSettings = message.movementSettings
267
+ ? AvatarMovementSettings.toJSON(message.movementSettings)
268
+ : undefined);
269
+ message.useColliderRange !== undefined && (obj.useColliderRange = message.useColliderRange);
158
270
  return obj;
159
271
  }
160
272
 
@@ -167,6 +279,185 @@ export namespace PBAvatarModifierArea {
167
279
  message.area = (object.area !== undefined && object.area !== null) ? Vector3.fromPartial(object.area) : undefined;
168
280
  message.excludeIds = object.excludeIds?.map((e) => e) || [];
169
281
  message.modifiers = object.modifiers?.map((e) => e) || [];
282
+ message.movementSettings = (object.movementSettings !== undefined && object.movementSettings !== null)
283
+ ? AvatarMovementSettings.fromPartial(object.movementSettings)
284
+ : undefined;
285
+ message.useColliderRange = object.useColliderRange ?? undefined;
286
+ return message;
287
+ }
288
+ }
289
+
290
+ function createBaseAvatarMovementSettings(): AvatarMovementSettings {
291
+ return {
292
+ controlMode: undefined,
293
+ runSpeed: undefined,
294
+ friction: undefined,
295
+ gravity: undefined,
296
+ jumpHeight: undefined,
297
+ maxFallSpeed: undefined,
298
+ turnSpeed: undefined,
299
+ walkSpeed: undefined,
300
+ allowWeightedMovement: undefined,
301
+ };
302
+ }
303
+
304
+ export namespace AvatarMovementSettings {
305
+ export function encode(message: AvatarMovementSettings, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
306
+ if (message.controlMode !== undefined) {
307
+ writer.uint32(8).int32(message.controlMode);
308
+ }
309
+ if (message.runSpeed !== undefined) {
310
+ writer.uint32(21).float(message.runSpeed);
311
+ }
312
+ if (message.friction !== undefined) {
313
+ writer.uint32(29).float(message.friction);
314
+ }
315
+ if (message.gravity !== undefined) {
316
+ writer.uint32(37).float(message.gravity);
317
+ }
318
+ if (message.jumpHeight !== undefined) {
319
+ writer.uint32(45).float(message.jumpHeight);
320
+ }
321
+ if (message.maxFallSpeed !== undefined) {
322
+ writer.uint32(53).float(message.maxFallSpeed);
323
+ }
324
+ if (message.turnSpeed !== undefined) {
325
+ writer.uint32(61).float(message.turnSpeed);
326
+ }
327
+ if (message.walkSpeed !== undefined) {
328
+ writer.uint32(69).float(message.walkSpeed);
329
+ }
330
+ if (message.allowWeightedMovement !== undefined) {
331
+ writer.uint32(72).bool(message.allowWeightedMovement);
332
+ }
333
+ return writer;
334
+ }
335
+
336
+ export function decode(input: _m0.Reader | Uint8Array, length?: number): AvatarMovementSettings {
337
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
338
+ let end = length === undefined ? reader.len : reader.pos + length;
339
+ const message = createBaseAvatarMovementSettings();
340
+ while (reader.pos < end) {
341
+ const tag = reader.uint32();
342
+ switch (tag >>> 3) {
343
+ case 1:
344
+ if (tag !== 8) {
345
+ break;
346
+ }
347
+
348
+ message.controlMode = reader.int32() as any;
349
+ continue;
350
+ case 2:
351
+ if (tag !== 21) {
352
+ break;
353
+ }
354
+
355
+ message.runSpeed = reader.float();
356
+ continue;
357
+ case 3:
358
+ if (tag !== 29) {
359
+ break;
360
+ }
361
+
362
+ message.friction = reader.float();
363
+ continue;
364
+ case 4:
365
+ if (tag !== 37) {
366
+ break;
367
+ }
368
+
369
+ message.gravity = reader.float();
370
+ continue;
371
+ case 5:
372
+ if (tag !== 45) {
373
+ break;
374
+ }
375
+
376
+ message.jumpHeight = reader.float();
377
+ continue;
378
+ case 6:
379
+ if (tag !== 53) {
380
+ break;
381
+ }
382
+
383
+ message.maxFallSpeed = reader.float();
384
+ continue;
385
+ case 7:
386
+ if (tag !== 61) {
387
+ break;
388
+ }
389
+
390
+ message.turnSpeed = reader.float();
391
+ continue;
392
+ case 8:
393
+ if (tag !== 69) {
394
+ break;
395
+ }
396
+
397
+ message.walkSpeed = reader.float();
398
+ continue;
399
+ case 9:
400
+ if (tag !== 72) {
401
+ break;
402
+ }
403
+
404
+ message.allowWeightedMovement = reader.bool();
405
+ continue;
406
+ }
407
+ if ((tag & 7) === 4 || tag === 0) {
408
+ break;
409
+ }
410
+ reader.skipType(tag & 7);
411
+ }
412
+ return message;
413
+ }
414
+
415
+ export function fromJSON(object: any): AvatarMovementSettings {
416
+ return {
417
+ controlMode: isSet(object.controlMode) ? avatarControlTypeFromJSON(object.controlMode) : undefined,
418
+ runSpeed: isSet(object.runSpeed) ? Number(object.runSpeed) : undefined,
419
+ friction: isSet(object.friction) ? Number(object.friction) : undefined,
420
+ gravity: isSet(object.gravity) ? Number(object.gravity) : undefined,
421
+ jumpHeight: isSet(object.jumpHeight) ? Number(object.jumpHeight) : undefined,
422
+ maxFallSpeed: isSet(object.maxFallSpeed) ? Number(object.maxFallSpeed) : undefined,
423
+ turnSpeed: isSet(object.turnSpeed) ? Number(object.turnSpeed) : undefined,
424
+ walkSpeed: isSet(object.walkSpeed) ? Number(object.walkSpeed) : undefined,
425
+ allowWeightedMovement: isSet(object.allowWeightedMovement) ? Boolean(object.allowWeightedMovement) : undefined,
426
+ };
427
+ }
428
+
429
+ export function toJSON(message: AvatarMovementSettings): unknown {
430
+ const obj: any = {};
431
+ message.controlMode !== undefined &&
432
+ (obj.controlMode = message.controlMode !== undefined ? avatarControlTypeToJSON(message.controlMode) : undefined);
433
+ message.runSpeed !== undefined && (obj.runSpeed = message.runSpeed);
434
+ message.friction !== undefined && (obj.friction = message.friction);
435
+ message.gravity !== undefined && (obj.gravity = message.gravity);
436
+ message.jumpHeight !== undefined && (obj.jumpHeight = message.jumpHeight);
437
+ message.maxFallSpeed !== undefined && (obj.maxFallSpeed = message.maxFallSpeed);
438
+ message.turnSpeed !== undefined && (obj.turnSpeed = message.turnSpeed);
439
+ message.walkSpeed !== undefined && (obj.walkSpeed = message.walkSpeed);
440
+ message.allowWeightedMovement !== undefined && (obj.allowWeightedMovement = message.allowWeightedMovement);
441
+ return obj;
442
+ }
443
+
444
+ export function create<I extends Exact<DeepPartial<AvatarMovementSettings>, I>>(base?: I): AvatarMovementSettings {
445
+ return AvatarMovementSettings.fromPartial(base ?? {});
446
+ }
447
+
448
+ export function fromPartial<I extends Exact<DeepPartial<AvatarMovementSettings>, I>>(
449
+ object: I,
450
+ ): AvatarMovementSettings {
451
+ const message = createBaseAvatarMovementSettings();
452
+ message.controlMode = object.controlMode ?? undefined;
453
+ message.runSpeed = object.runSpeed ?? undefined;
454
+ message.friction = object.friction ?? undefined;
455
+ message.gravity = object.gravity ?? undefined;
456
+ message.jumpHeight = object.jumpHeight ?? undefined;
457
+ message.maxFallSpeed = object.maxFallSpeed ?? undefined;
458
+ message.turnSpeed = object.turnSpeed ?? undefined;
459
+ message.walkSpeed = object.walkSpeed ?? undefined;
460
+ message.allowWeightedMovement = object.allowWeightedMovement ?? undefined;
170
461
  return message;
171
462
  }
172
463
  }
@@ -64,6 +64,8 @@ export interface PBAvatarShape {
64
64
  wearables: string[];
65
65
  /** available emotes (default empty) */
66
66
  emotes: string[];
67
+ /** slots that will render even if hidden */
68
+ forceRender: string[];
67
69
  }
68
70
 
69
71
  function createBasePBAvatarShape(): PBAvatarShape {
@@ -79,6 +81,7 @@ function createBasePBAvatarShape(): PBAvatarShape {
79
81
  talking: undefined,
80
82
  wearables: [],
81
83
  emotes: [],
84
+ forceRender: [],
82
85
  };
83
86
  }
84
87
 
@@ -117,6 +120,9 @@ export namespace PBAvatarShape {
117
120
  for (const v of message.emotes) {
118
121
  writer.uint32(90).string(v!);
119
122
  }
123
+ for (const v of message.forceRender) {
124
+ writer.uint32(98).string(v!);
125
+ }
120
126
  return writer;
121
127
  }
122
128
 
@@ -204,6 +210,13 @@ export namespace PBAvatarShape {
204
210
 
205
211
  message.emotes.push(reader.string());
206
212
  continue;
213
+ case 12:
214
+ if (tag !== 98) {
215
+ break;
216
+ }
217
+
218
+ message.forceRender.push(reader.string());
219
+ continue;
207
220
  }
208
221
  if ((tag & 7) === 4 || tag === 0) {
209
222
  break;
@@ -228,6 +241,7 @@ export namespace PBAvatarShape {
228
241
  talking: isSet(object.talking) ? Boolean(object.talking) : undefined,
229
242
  wearables: Array.isArray(object?.wearables) ? object.wearables.map((e: any) => String(e)) : [],
230
243
  emotes: Array.isArray(object?.emotes) ? object.emotes.map((e: any) => String(e)) : [],
244
+ forceRender: Array.isArray(object?.forceRender) ? object.forceRender.map((e: any) => String(e)) : [],
231
245
  };
232
246
  }
233
247
 
@@ -255,6 +269,11 @@ export namespace PBAvatarShape {
255
269
  } else {
256
270
  obj.emotes = [];
257
271
  }
272
+ if (message.forceRender) {
273
+ obj.forceRender = message.forceRender.map((e) => e);
274
+ } else {
275
+ obj.forceRender = [];
276
+ }
258
277
  return obj;
259
278
  }
260
279
 
@@ -281,6 +300,7 @@ export namespace PBAvatarShape {
281
300
  message.talking = object.talking ?? undefined;
282
301
  message.wearables = object.wearables?.map((e) => e) || [];
283
302
  message.emotes = object.emotes?.map((e) => e) || [];
303
+ message.forceRender = object.forceRender?.map((e) => e) || [];
284
304
  return message;
285
305
  }
286
306
  }