Skip to content

Commit 1e4a57e

Browse files
authored
Merge pull request #5998 from decentraland/release/2025-10-28
release: 2025-10-28
2 parents 55397b1 + 1a75be6 commit 1e4a57e

554 files changed

Lines changed: 30126 additions & 13151 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Explorer/Assets/AddressableAssetsData/AddressableAssetSettings.asset

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ MonoBehaviour:
1515
m_DefaultGroup: 47f803e1e9c5079449bd106df98a0b7d
1616
m_currentHash:
1717
serializedVersion: 2
18-
Hash: 48ca44445a9b8f3500edf575c136972a
18+
Hash: 61fd69a6987cc3e7c8154fed97a91062
1919
m_OptimizeCatalogSize: 0
2020
m_BuildRemoteCatalog: 0
2121
m_CatalogRequestsTimeout: 0
@@ -33,6 +33,7 @@ MonoBehaviour:
3333
m_UniqueBundleIds: 0
3434
m_EnableJsonCatalog: 0
3535
m_NonRecursiveBuilding: 1
36+
m_AllowNestedBundleFolders: 0
3637
m_CCDEnabled: 0
3738
m_maxConcurrentWebRequests: 3
3839
m_UseUWRForLocalBundles: 0

Explorer/Assets/AddressableAssetsData/AssetGroups/UI.asset

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ MonoBehaviour:
6060
m_ReadOnly: 0
6161
m_SerializedLabels: []
6262
FlaggedDuringContentUpdateRestriction: 0
63+
- m_GUID: 0e0dc1c6390d85440bdf622928e144f5
64+
m_Address: Assets/Textures/Common/ModalDeleteImg_Addressable.png
65+
m_ReadOnly: 0
66+
m_SerializedLabels: []
67+
FlaggedDuringContentUpdateRestriction: 0
6368
- m_GUID: 0fce4c1a785b1495bbf861787a9a3224
6469
m_Address: Assets/DCL/UI/ErrorPopup/Assets/ErrorPopup.prefab
6570
m_ReadOnly: 0
@@ -675,6 +680,11 @@ MonoBehaviour:
675680
m_ReadOnly: 0
676681
m_SerializedLabels: []
677682
FlaggedDuringContentUpdateRestriction: 0
683+
- m_GUID: dd40e574a59d9b348a7c02ca96be6ae9
684+
m_Address: Assets/DCL/Backpack/AvatarSection/Outfits/Slots/OutfitSlot.prefab
685+
m_ReadOnly: 0
686+
m_SerializedLabels: []
687+
FlaggedDuringContentUpdateRestriction: 0
678688
- m_GUID: de88bd0dde8feda4393664330ac8afb4
679689
m_Address: Assets/DCL/UI/GenericContextMenu/Prefabs/ToggleWithTitleIconAndCheck.prefab
680690
m_ReadOnly: 0
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: ea799a483c3f4db8afbf38b0e6c08665, type: 3}
13+
m_Name: Backpack_OutfitDelete
14+
m_EditorClassIdentifier:
15+
audioClips:
16+
- {fileID: 8300000, guid: cd65f4b6efec96643b007cccb5848d22, type: 3}
17+
relativeVolume: 1
18+
audioCategory: 0
19+
pitchVariation: 0
20+
clipSelectionMode: 0

Explorer/Assets/DCL/Audio/AudioConfigs/Backpack_OutfitDelete.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!114 &11400000
4+
MonoBehaviour:
5+
m_ObjectHideFlags: 0
6+
m_CorrespondingSourceObject: {fileID: 0}
7+
m_PrefabInstance: {fileID: 0}
8+
m_PrefabAsset: {fileID: 0}
9+
m_GameObject: {fileID: 0}
10+
m_Enabled: 1
11+
m_EditorHideFlags: 0
12+
m_Script: {fileID: 11500000, guid: ea799a483c3f4db8afbf38b0e6c08665, type: 3}
13+
m_Name: Backpack_OutfitSave
14+
m_EditorClassIdentifier:
15+
audioClips:
16+
- {fileID: 8300000, guid: dd25454bbe016694fb00b7931ce59934, type: 3}
17+
relativeVolume: 1
18+
audioCategory: 0
19+
pitchVariation: 0
20+
clipSelectionMode: 0

Explorer/Assets/DCL/Audio/AudioConfigs/Backpack_OutfitSave.asset.meta

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Explorer/Assets/DCL/Audio/Systems/LandscapeAudioCullingSystem.cs

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
using DCL.Audio.Jobs;
1616
using DCL.Landscape;
1717
using DCL.Landscape.Systems;
18+
using ECS;
1819
using Random = UnityEngine.Random;
1920

2021
namespace DCL.Audio.Systems
@@ -29,8 +30,10 @@ namespace DCL.Audio.Systems
2930
public partial class LandscapeAudioCullingSystem : BaseUnityLoopSystem
3031
{
3132
private readonly TerrainGenerator terrainGenerator;
33+
private readonly WorldTerrainGenerator worldTerrainGenerator;
3234
private readonly ILandscapeAudioSystemSettings landscapeAudioSystemSettings;
3335
private readonly WorldAudioPlaybackController worldAudioPlaybackController;
36+
private readonly IRealmData realmData;
3437
private bool isTerrainViewInitialized;
3538

3639
private NativeArray<LandscapeAudioState> landscapeAudioStates;
@@ -41,17 +44,22 @@ public partial class LandscapeAudioCullingSystem : BaseUnityLoopSystem
4144
private float audioListeningDistanceThreshold;
4245
private float audioMutingDistanceThreshold;
4346
private float oceanListeningDistanceThreshold;
47+
private ITerrain terrain;
4448

4549
private int updateFramesCounter;
4650

4751
private LandscapeAudioCullingSystem(World world,
4852
TerrainGenerator terrainGenerator,
53+
WorldTerrainGenerator worldTerrainGenerator,
4954
ILandscapeAudioSystemSettings landscapeAudioSystemSettings,
50-
WorldAudioPlaybackController worldAudioPlaybackController) : base(world)
55+
WorldAudioPlaybackController worldAudioPlaybackController,
56+
IRealmData realmData) : base(world)
5157
{
5258
this.terrainGenerator = terrainGenerator;
59+
this.worldTerrainGenerator = worldTerrainGenerator;
5360
this.landscapeAudioSystemSettings = landscapeAudioSystemSettings;
5461
this.worldAudioPlaybackController = worldAudioPlaybackController;
62+
this.realmData = realmData;
5563
}
5664

5765
public override void Initialize()
@@ -79,7 +87,18 @@ protected override void OnDispose()
7987

8088
protected override void Update(float t)
8189
{
82-
if (!terrainGenerator.IsTerrainShown) return;
90+
ITerrain currentTerrain = realmData.IsGenesis() ? terrainGenerator : worldTerrainGenerator;
91+
if (currentTerrain != terrain)
92+
{
93+
if (isTerrainViewInitialized)
94+
FlushPreviousAudioStates();
95+
96+
terrain = currentTerrain;
97+
isTerrainViewInitialized = false;
98+
updateFramesCounter = 0;
99+
}
100+
101+
if (!terrain.IsTerrainShown) return;
83102

84103
if (updateFramesCounter <= 0)
85104
{
@@ -101,13 +120,21 @@ protected override void Update(float t)
101120
else { updateFramesCounter--; }
102121
}
103122

123+
private void FlushPreviousAudioStates()
124+
{
125+
for (int i = 0; i < landscapeAudioStates.Length; i++)
126+
worldAudioPlaybackController.ReleaseAudioSourcesFromTerrain(i, WorldAudioClipType.Landscape);
127+
for (int i = 0; i < oceanAudioStates.Length; i++)
128+
worldAudioPlaybackController.ReleaseAudioSourcesFromTerrain(i, WorldAudioClipType.Ocean);
129+
}
130+
104131
private void InitializeTerrainAudioStates()
105132
{
106-
int parcelSize = terrainGenerator.ParcelSize;
107-
ChunkModel[] terrainChunks = terrainGenerator.TerrainModel.ChunkModels;
133+
int parcelSize = terrain.ParcelSize;
134+
ChunkModel[] terrainChunks = terrain.TerrainModel.ChunkModels;
108135
landscapeAudioStates = new NativeArray<LandscapeAudioState>(terrainChunks.Length, Allocator.Persistent);
109136
landscapeAudioSourcesPositions = new NativeArray<NativeArray<int2>>(terrainChunks.Length, Allocator.Persistent);
110-
int chunkSize = terrainGenerator.GetChunkSize();
137+
int chunkSize = terrain.GetChunkSize();
111138
int halfTerrainChunkSize = chunkSize / 2;
112139
audioListeningDistanceThreshold = math.pow(halfTerrainChunkSize + landscapeAudioSystemSettings.ListeningDistanceThreshold, 2);
113140
audioMutingDistanceThreshold = math.pow(halfTerrainChunkSize + landscapeAudioSystemSettings.MutingDistanceThreshold, 2);
@@ -129,7 +156,7 @@ private void InitializeTerrainAudioStates()
129156
private void InitializeOceanAudioStates()
130157
{
131158
//To calculate the ocean audio, we will use the cliffs positions as the ocean grid does not match correctly with the world grid.
132-
IReadOnlyList<Transform> cliffs = terrainGenerator.Cliffs;
159+
IReadOnlyList<Transform> cliffs = terrain.Cliffs;
133160

134161
oceanAudioStates = new NativeArray<LandscapeAudioState>(cliffs.Count, Allocator.Persistent);
135162

Explorer/Assets/DCL/AuthenticationScreenFlow/AuthenticationScreenController.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ private enum ViewState
6262

6363
private const int ANIMATION_DELAY = 300;
6464
private const float WINDOWED_RESOLUTION_RESIZE_COEFFICIENT = .75f;
65+
private const int MAX_WINDOWED_WIDTH = 2560;
6566
private const FullScreenMode DEFAULT_SCREEN_MODE = FullScreenMode.FullScreenWindow;
6667

6768
private const string REQUEST_BETA_ACCESS_LINK = "https://68zbqa0m12c.typeform.com/to/y9fZeNWm";
@@ -315,7 +316,10 @@ protected override async UniTask WaitForCloseIntentAsync(CancellationToken ct)
315316
private void StartLoginFlowUntilEnd()
316317
{
317318
CancelLoginProcess();
318-
ForceResolutionAndWindowedMode();
319+
320+
// Checks the current screen mode because it could have been overridden with Alt+Enter
321+
if (Screen.fullScreenMode != FullScreenMode.Windowed)
322+
ForceResolutionAndWindowedMode();
319323

320324
loginCancellationToken = new CancellationTokenSource();
321325
StartLoginFlowUntilEndAsync(loginCancellationToken.Token).Forget();
@@ -593,7 +597,8 @@ private void ForceResolutionAndWindowedMode()
593597
{
594598
Resolution current = Screen.currentResolution;
595599

596-
int targetWidth = (int)(current.width * WINDOWED_RESOLUTION_RESIZE_COEFFICIENT);
600+
// To avoid ultra-wide window on ultra-wide screens
601+
int targetWidth = Mathf.Min((int)(current.width * WINDOWED_RESOLUTION_RESIZE_COEFFICIENT), MAX_WINDOWED_WIDTH);
597602
int targetHeight = (int)(current.height * WINDOWED_RESOLUTION_RESIZE_COEFFICIENT);
598603

599604
Screen.SetResolution(targetWidth, targetHeight, FullScreenMode.Windowed, current.refreshRateRatio);

Explorer/Assets/DCL/AvatarRendering/AvatarShape/Systems/AvatarLoaderSystem.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,13 +140,14 @@ private WearablePromise CreateWearablePromise(PBAvatarShape pbAvatarShape, Parti
140140
WearableComponentsUtils.CreateGetWearablesByPointersIntention(pbAvatarShape, pbAvatarShape.Wearables, Array.Empty<string>()),
141141
partition);
142142

143-
private WearablePromise CreateWearablePromise(Profile profile, PartitionComponent partition) =>
144-
143+
private WearablePromise CreateWearablePromise(Profile profile, PartitionComponent partition)
144+
{
145145
// profile.Avatar.Wearables should be shortened, but since GetWearablesByPointers already retrieves shortened-urns,
146146
// there is not need to convert
147-
WearablePromise.Create(World,
147+
return WearablePromise.Create(World,
148148
WearableComponentsUtils.CreateGetWearablesByPointersIntention(profile.Avatar.BodyShape, profile.Avatar.Wearables, profile.Avatar.ForceRender),
149149
partition);
150+
}
150151

151152
private void LoadAllEmotes(Profile profile, PartitionComponent partition)
152153
{
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
namespace DCL.AvatarRendering.Emotes
2+
{
3+
/// <summary>
4+
/// Added to an entity that wants to play a <b>SCENE</b> emote for the time the emote is still being loaded.
5+
/// The component purpose is to let other systems know that the scene is trying to play an emote, but that loading
6+
/// of the emote isn't completed yet.
7+
/// </summary>
8+
/// <seealso cref="GetSceneEmoteFromLocalSceneIntention"/>
9+
/// <seealso cref="GetSceneEmoteFromRealmIntention"/>
10+
public struct CharacterWaitingSceneEmoteLoading
11+
{
12+
/// <summary>
13+
/// Indicates when the loading started.
14+
/// </summary>
15+
public long FrameCount;
16+
17+
public CharacterWaitingSceneEmoteLoading(long frameCount = 0)
18+
{
19+
FrameCount = frameCount;
20+
}
21+
}
22+
}

0 commit comments

Comments
 (0)