feat: new sounds

This commit is contained in:
Gerard Gascón 2024-04-19 00:10:29 +02:00
parent 60265f3417
commit cbc95ec2d3
20 changed files with 302 additions and 19 deletions

BIN
Assets/Audio/Master.bank (Stored with Git LFS)

Binary file not shown.

BIN
Assets/Audio/Master.strings.bank (Stored with Git LFS)

Binary file not shown.

View file

@ -15,11 +15,92 @@ MonoBehaviour:
Path: Assets/Audio/Master.strings.bank Path: Assets/Audio/Master.strings.bank
Name: Master.strings Name: Master.strings
StudioPath: bank:/Master.strings StudioPath: bank:/Master.strings
lastModified: 638490761180000000 lastModified: 638490794060000000
FileSizes: FileSizes:
- Name: - Name:
Value: 788 Value: 970
Exists: 1 Exists: 1
--- !u!114 &-7482134808755505365
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ceb653cd98e289a4e8697a1af55201f2, type: 3}
m_Name: event:/SFX_gloom
m_EditorClassIdentifier:
Path: event:/SFX_gloom
Guid:
Data1: -2064803398
Data2: 1237488133
Data3: 1635234491
Data4: 1937340427
Banks:
- {fileID: 945511457569720226}
IsStream: 0
Is3D: 0
IsOneShot: 1
Parameters: []
MinDistance: 1
MaxDistance: 20
Length: 3500
--- !u!114 &-6897729870758656274
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ceb653cd98e289a4e8697a1af55201f2, type: 3}
m_Name: event:/SFX_select
m_EditorClassIdentifier:
Path: event:/SFX_select
Guid:
Data1: -1649360020
Data2: 1242044891
Data3: -1143008872
Data4: 1904821661
Banks:
- {fileID: 945511457569720226}
IsStream: 0
Is3D: 0
IsOneShot: 1
Parameters: []
MinDistance: 1
MaxDistance: 20
Length: 0
--- !u!114 &-5290817299158589036
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ceb653cd98e289a4e8697a1af55201f2, type: 3}
m_Name: event:/SFX_grow
m_EditorClassIdentifier:
Path: event:/SFX_grow
Guid:
Data1: -213766361
Data2: 1214886339
Data3: 1256039087
Data4: -834483166
Banks:
- {fileID: 945511457569720226}
IsStream: 0
Is3D: 0
IsOneShot: 1
Parameters: []
MinDistance: 1
MaxDistance: 20
Length: 0
--- !u!114 &11400000 --- !u!114 &11400000
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -37,12 +118,16 @@ MonoBehaviour:
- {fileID: 945511457569720226} - {fileID: 945511457569720226}
EditorEvents: EditorEvents:
- {fileID: 7120128689512779237} - {fileID: 7120128689512779237}
- {fileID: 2181376786679321341}
- {fileID: -5290817299158589036}
- {fileID: -6897729870758656274}
- {fileID: -7482134808755505365}
EditorParameters: [] EditorParameters: []
MasterBanks: MasterBanks:
- {fileID: 945511457569720226} - {fileID: 945511457569720226}
StringsBanks: StringsBanks:
- {fileID: -8851123648198054470} - {fileID: -8851123648198054470}
cacheTime: 638490761180000000 cacheTime: 638490794060000000
cacheVersion: 131590 cacheVersion: 131590
--- !u!114 &945511457569720226 --- !u!114 &945511457569720226
MonoBehaviour: MonoBehaviour:
@ -59,9 +144,36 @@ MonoBehaviour:
Path: Assets/Audio/Master.bank Path: Assets/Audio/Master.bank
Name: Master Name: Master
StudioPath: bank:/Master StudioPath: bank:/Master
lastModified: 638490761180000000 lastModified: 638490794060000000
FileSizes: [] FileSizes: []
Exists: 1 Exists: 1
--- !u!114 &2181376786679321341
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ceb653cd98e289a4e8697a1af55201f2, type: 3}
m_Name: event:/SFX_back
m_EditorClassIdentifier:
Path: event:/SFX_back
Guid:
Data1: 927500576
Data2: 1297093792
Data3: -1073879417
Data4: 659817285
Banks:
- {fileID: 945511457569720226}
IsStream: 0
Is3D: 0
IsOneShot: 1
Parameters: []
MinDistance: 1
MaxDistance: 20
Length: 0
--- !u!114 &7120128689512779237 --- !u!114 &7120128689512779237
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -565,6 +565,20 @@ MonoBehaviour:
animator: {fileID: 902566664} animator: {fileID: 902566664}
growAnimation: {fileID: 11400000, guid: 7f3b3c6fe0a532348bade08980464924, type: 2} growAnimation: {fileID: 11400000, guid: 7f3b3c6fe0a532348bade08980464924, type: 2}
endAnimation: {fileID: 11400000, guid: 8bca0def51335744994817560a43be74, type: 2} endAnimation: {fileID: 11400000, guid: 8bca0def51335744994817560a43be74, type: 2}
growEvent:
Guid:
Data1: -213766361
Data2: 1214886339
Data3: 1256039087
Data4: -834483166
Path: event:/SFX_grow
gloomEvent:
Guid:
Data1: -2064803398
Data2: 1237488133
Data3: 1635234491
Data4: 1937340427
Path: event:/SFX_gloom
--- !u!225 &311490074 --- !u!225 &311490074
CanvasGroup: CanvasGroup:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -21,8 +21,11 @@ namespace Presenter {
_view.UpdateView(_score.Value, _score.GrowPercentage); _view.UpdateView(_score.Value, _score.GrowPercentage);
_grow.Grow(); _grow.Grow();
if (CanSpawn) if (CanSpawn)
_spawner.SpawnRose(); _spawner.SpawnRose();
else if (_score.Value % _score.GrowIterations == 0)
_grow.GrowStep();
} }
} }

View file

@ -1,5 +1,6 @@
namespace Presenter { namespace Presenter {
public interface IRoseGrow { public interface IRoseGrow {
void Grow(); void Grow();
void GrowStep();
} }
} }

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6e69d813584e486485ead64a8a789500
timeCreated: 1713475813

View file

@ -1,6 +1,6 @@
using Presenter; using Presenter;
namespace View { namespace View.Collections {
public class ExpressionInputCollection : IExpressionInput { public class ExpressionInputCollection : IExpressionInput {
private readonly IExpressionInput[] _inputs; private readonly IExpressionInput[] _inputs;

View file

@ -0,0 +1,21 @@
using Presenter;
namespace View.Collections {
public class RoseGrowCollection : IRoseGrow {
private readonly IRoseGrow[] _grows;
public RoseGrowCollection(IRoseGrow[] grows) {
_grows = grows;
}
public void Grow() {
foreach (IRoseGrow grow in _grows)
grow.Grow();
}
public void GrowStep() {
foreach (IRoseGrow grow in _grows)
grow.GrowStep();
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 6f517298528d4766a83770b1867f905f
timeCreated: 1713475808

View file

@ -3,6 +3,7 @@ using Domain;
using Presenter; using Presenter;
using Presenter.SaveSystem; using Presenter.SaveSystem;
using UnityEngine; using UnityEngine;
using View.Collections;
using View.Scene; using View.Scene;
using View.UI; using View.UI;
@ -25,8 +26,10 @@ namespace View {
IRoseSpawner spawner = FindObjectOfType<RoseSpawner>(); IRoseSpawner spawner = FindObjectOfType<RoseSpawner>();
IRoseGrow grow = FindObjectOfType<GrowParticlesSpawner>(); IRoseGrow grow = FindObjectOfType<GrowParticlesSpawner>();
IRoseGrow inputGrow = FindObjectOfType<ExpressionInput>();
IRoseGrow growCollection = new RoseGrowCollection(new[] { grow, inputGrow });
ExpressionClick = new ExpressionClick(Score, inputCollections, spawner, grow); ExpressionClick = new ExpressionClick(Score, inputCollections, spawner, growCollection);
CustomInput = new CustomInput(); CustomInput = new CustomInput();

View file

@ -14,6 +14,8 @@ namespace View.Scene {
Instantiate(growParticle, growParticlePositions.position, Quaternion.Euler(0f, 0f, randomRotation)); Instantiate(growParticle, growParticlePositions.position, Quaternion.Euler(0f, 0f, randomRotation));
} }
public void GrowStep() { }
private void OnDrawGizmosSelected() { private void OnDrawGizmosSelected() {
Gizmos.color = Color.red; Gizmos.color = Color.red;
float angle = angleRange / 2f + 90f; float angle = angleRange / 2f + 90f;

View file

@ -1,5 +1,6 @@
using Domain; using Domain;
using Domain.Input; using Domain.Input;
using FMODUnity;
using Presenter; using Presenter;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
@ -8,7 +9,7 @@ using Animation = FramedAnimator.Animation;
using Animator = FramedAnimator.Animator; using Animator = FramedAnimator.Animator;
namespace View.UI { namespace View.UI {
public class ExpressionInput : MonoBehaviour, IExpressionInput { public class ExpressionInput : MonoBehaviour, IExpressionInput, IRoseGrow {
[SerializeField] private TMP_Text text; [SerializeField] private TMP_Text text;
private ExpressionClick _click; private ExpressionClick _click;
@ -21,6 +22,9 @@ namespace View.UI {
[SerializeField] private Animation growAnimation; [SerializeField] private Animation growAnimation;
[SerializeField] private Animation endAnimation; [SerializeField] private Animation endAnimation;
[SerializeField] private EventReference growEvent;
[SerializeField] private EventReference gloomEvent;
private void Start() { private void Start() {
_click = FindObjectOfType<Dependencies>().ExpressionClick; _click = FindObjectOfType<Dependencies>().ExpressionClick;
_customInput = FindObjectOfType<Dependencies>().CustomInput; _customInput = FindObjectOfType<Dependencies>().CustomInput;
@ -32,6 +36,7 @@ namespace View.UI {
private void AnimationEnded(string animationName) { private void AnimationEnded(string animationName) {
if (animationName == "Rosa_Grow") { if (animationName == "Rosa_Grow") {
animator.ChangeAnimation(endAnimation); animator.ChangeAnimation(endAnimation);
RuntimeManager.PlayOneShot(gloomEvent);
animator.PlayUntil(1f); animator.PlayUntil(1f);
return; return;
} }
@ -54,6 +59,13 @@ namespace View.UI {
_firstUpdate = false; _firstUpdate = false;
} }
public void Grow() { }
public void GrowStep() {
if (animator.CurrentAnimation == "Rosa_Grow" && _score.GrowPercentage < 1f) {
RuntimeManager.PlayOneShot(growEvent);
}
}
private bool IsLastGrowState(int score, float growPercentage) { private bool IsLastGrowState(int score, float growPercentage) {
if (growPercentage != 0) if (growPercentage != 0)
return false; return false;

View file

@ -44,8 +44,8 @@ namespace View.UI {
AppWindowUtility.AlwaysOnTop = state; AppWindowUtility.AlwaysOnTop = state;
} }
private void SFXStateChange(bool state) => _sfxBus.setMute(state); private void SFXStateChange(bool state) => _sfxBus.setMute(!state);
private void MusicStateChange(bool state) => _musicBus.setMute(state); private void MusicStateChange(bool state) => _musicBus.setMute(!state);
private void OpenSettings() { private void OpenSettings() {
mainUIGroup.interactable = mainUIGroup.blocksRaycasts = false; mainUIGroup.interactable = mainUIGroup.blocksRaycasts = false;

BIN
Assets/StreamingAssets/Master.bank (Stored with Git LFS)

Binary file not shown.

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 9fae0bf3dff27014298516fa3ce46d3d guid: 3afe14e670dbb8a468241fbbdda13888
labels: labels:
- FMOD - FMOD
DefaultImporter: DefaultImporter:

BIN
Assets/StreamingAssets/Master.strings.bank (Stored with Git LFS)

Binary file not shown.

View file

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: d813570f6dbbcec4ab8ce5fa5eb7ffc9 guid: d53db7c1236d1ea4ab19f79ac3060d30
labels: labels:
- FMOD - FMOD
DefaultImporter: DefaultImporter:

View file

@ -0,0 +1,109 @@
[LOG] System::create : Header version = 2.02.06. Current version = 2.02.06.
[LOG] Manager::init : maxchannels = 256 studioflags = 00000006 flags 00000000 extradriverdata 0000000000000000.
[LOG] SystemI::init : Initialize version=20206 (124257), maxchannels=256, flags=0x00020000
[LOG] SystemI::setOutputInternal : Setting output to 'FMOD WASAPI Output'
[LOG] OutputWASAPI::init : Mix Format (WAVEFORMATEX): wFormatTag=0xFFFE, nChannels=2, nSamplesPerSec=48000, nAvgBytesPerSec=384000, nBlockAlign=8, wBitsPerSample=32, cbSize=22.
[LOG] OutputWASAPI::init : Mix Format (WAVEFORMATEXTENSIBLE): wValidBitsPerSample=32, dwChannelMask=0x00000003, SubFormat=00000003-0000-0010-8000-00AA00389B71.
[LOG] OutputWASAPI::init : Output buffer size: 4096 samples, latency: 0.00ms, period: 10.00ms, DSP buffer: 1024 * 4
[LOG] Thread::initThread : Init FMOD stream thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFB, Stack Size: 98304, Semaphore: No, Sleep Time: 10, Looping: Yes.
[LOG] Thread::initThread : Init FMOD mixer thread. Affinity: 0x4000000000000001, Priority: 0xFFFF7FFA, Stack Size: 81920, Semaphore: No, Sleep Time: 0, Looping: Yes.
[LOG] AsyncManager::init : manager 000001E77CB01F68 isAsync 0 updatePeriod 0.02
[LOG] AsyncManager::init : done
[LOG] PlaybackSystem::init :
[LOG] Thread::initThread : Init FMOD Studio sample load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] PlaybackSystem::init : done
[LOG] Thread::initThread : Init FMOD Studio bank load thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFD, Stack Size: 98304, Semaphore: No, Sleep Time: 1, Looping: No.
[LOG] Manager::init : done.
[LOG] SystemI::createSound : filename = Assets/Audio/Master.bank : mode 02010082
[LOG] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
[LOG] Thread::initThread : Init FMOD nonblocking thread (0). Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 114688, Semaphore: Yes, Sleep Time: 0, Looping: Yes.
[LOG] SystemI::createSound : setdata soundi = 000001E77A531228 : node = 000001E6B6D872C0
[LOG] SystemI::createSound : add node to async list : head = 000001E68E3589A8. list count = 0
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 000001E77A531228
[LOG] SystemI::createSoundInternal : Create name='Assets/Audio/Master.bank', mode=0x02010082
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
[LOG] SystemI::createSound : filename = Assets/Audio/Master.bank : mode 02010082
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
[LOG] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
[LOG] SystemI::createSound : setdata soundi = 000001E77A534B88 : node = 000001E6B6D87180
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
[LOG] SystemI::createSound : add node to async list : head = 000001E68E3589A8. list count = 0
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 000001E6B6D873D0
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
[LOG] SystemI::createSound : filename = Assets/Audio/Master.bank : mode 02010082
[LOG] SystemI::createSound : FMOD_NONBLOCKING specified. Putting into queue to be opened asynchronously!
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
[LOG] SystemI::createSound : setdata soundi = 000001E77A5338F8 : node = 000001E6B6D87540
[LOG] SystemI::createSound : add node to async list : head = 000001E68E3589A8. list count = 1
[LOG] SystemI::createSoundInternal : Stream 0/1: name='Rosa_Melo_02', format=5, channels=2, frequency=48000, lengthbytes=3260640, lengthpcm=17145600, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.248419.
[LOG] Thread::initThread : Init FMOD file thread. Affinity: 0x4000000000000003, Priority: 0xFFFF7FFC, Stack Size: 65536, Semaphore: No, Sleep Time: 10, Looping: Yes.
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 000001E77A531228
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 000001E77A534B88
[LOG] SystemI::createSoundInternal : Create name='Assets/Audio/Master.bank', mode=0x02010082
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 000001E6B6D87290
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
[LOG] SystemI::createSoundInternal : Stream 0/1: name='Rosa_Base_01', format=5, channels=2, frequency=48000, lengthbytes=3775680, lengthpcm=17193600, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.174706.
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 000001E77A534B88
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 000001E77A5338F8
[LOG] SystemI::createSoundInternal : Create name='Assets/Audio/Master.bank', mode=0x02010082
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 000001E6B6D87650
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
[LOG] SystemI::createSoundInternal : Stream 0/1: name='Rosa_Ambient_Birds_03', format=5, channels=2, frequency=48000, lengthbytes=4477824, lengthpcm=17049600, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.222583.
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 000001E77A5338F8
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 000001E77A5313D8
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 000001E77A5313D8
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 000001E77A5318E8
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 000001E77A5318E8
[LOG] AsyncThread::threadFunc : Starting Asynchronous operation on sound 000001E77A533088
[LOG] AsyncThread::threadFunc : Finished Asynchronous operation on sound 000001E77A533088
[LOG] SystemI::createSoundInternal : Create name='', mode=0x02000202
[LOG] SystemI::createSoundInternal : exinfo->cbsize = 224
[LOG] SystemI::createSoundInternal : exinfo->length = 27574784
[LOG] SystemI::createSoundInternal : exinfo->fileoffset = 10144
[LOG] SystemI::createSoundInternal : exinfo->numsubsounds = 1
[LOG] SystemI::createSoundInternal : exinfo->inclusionlist = 00000012CA8AEF38
[LOG] SystemI::createSoundInternal : exinfo->inclusionlistnum = 1
[LOG] SystemI::createSoundInternal : exinfo->suggestedsoundtype = 5
[LOG] SystemI::createSoundInternal : exinfo->useropen = 00007FF950A34660
[LOG] SystemI::createSoundInternal : exinfo->userclose = 00007FF950A34630
[LOG] SystemI::createSoundInternal : exinfo->userread = 00007FF950A34730
[LOG] SystemI::createSoundInternal : exinfo->userseek = 00007FF950A347F0
[LOG] SystemI::createSoundInternal : exinfo->fileuserdata = 000001E776FC5498
[LOG] SystemI::createSoundInternal : exinfo->initialseekpostype = 1
[LOG] SystemI::DSPCodecPoolRegister : register codec pool for pool type 5
[LOG] SystemI::createSoundInternal : Sample 0/1: name='foliage_dry_crush_squeeze_crunchy_crispy_001_55111', format=5, channels=2, frequency=48000, lengthbytes=34880, lengthpcm=101376, pcmblocksize=0, loopstart=0, loopend=0, mode=0x00000000, channelmask=0x00000000, channelorder=0, peakvolume=0.731995.
[LOG] SoundI::release : Rosa_Ambient_Birds_03 (000001E77A5338F8)
[LOG] SoundI::release : Rosa_Ambient_Birds_03 (000001E6BC79FB68)
[LOG] SoundI::release : Rosa_Ambient_Birds_03 (000001E77A5313D8)
[LOG] SoundI::release : Rosa_Base_01 (000001E77A534B88)
[LOG] SoundI::release : Rosa_Base_01 (000001E6BC7A13C8)
[LOG] SoundI::release : Rosa_Base_01 (000001E77A533088)
[LOG] SoundI::release : Rosa_Melo_02 (000001E77A531228)
[LOG] SoundI::release : Rosa_Melo_02 (000001E6BC7A0528)
[LOG] SoundI::release : Rosa_Melo_02 (000001E77A5318E8)
[LOG] SoundI::release : (000001E6B3FA7C98)
[LOG] SoundI::release : foliage_dry_crush_squeeze_crunchy_crispy_001_55111 (000001E6BC7A1F28)
[LOG] Thread::callback : FMOD Studio update thread finished.
[LOG] Thread::callback : FMOD Studio bank load thread finished.
[LOG] Profile::disconnectAll : Profiler disconnecting all clients
[LOG] Thread::callback : FMOD Studio sample load thread finished.
[LOG] LiveUpdate::release :
[LOG] LiveUpdate::reset : Reset connection (reason Disconnected)
[LOG] Thread::callback : FMOD stream thread finished.
[LOG] Thread::callback : FMOD mixer thread finished.
[LOG] Profile::disconnectAll : Profiler disconnecting all clients
[LOG] SystemI::close : Closed.