Minor - Adds basic audio component functionality - V13.2.0

Adds basic audio component and loads default sound for testing

Adds default sounds to the assets folder and includes them in the project.
This commit is contained in:
2025-09-15 16:08:46 +02:00
parent 5bb802f0fc
commit 5ee88ff932
4 changed files with 32 additions and 12 deletions

View File

@@ -474,6 +474,8 @@
<Content Include="assets\Model\TXT\wall.txt" />
<Content Include="assets\Model\TXT\water.txt" />
<CopyFileToFolders Include="assets\Texture\alpha01.png" />
<Content Include="assets\sounds\default.mp3" />
<Content Include="assets\sounds\default.opus" />
<Content Include="assets\Texture\dirt01.png" />
<Content Include="assets\Texture\EmptyTexture.png" />
<Content Include="assets\Texture\font01.png" />
@@ -503,6 +505,7 @@
</CopyFileToFolders>
</ItemGroup>
<ItemGroup>
<None Include="assets\sounds\default.opus" />
<None Include="assets\Texture\imgui.ini" />
<None Include="packages.config" />
</ItemGroup>
@@ -586,6 +589,13 @@
<DestinationFolders Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)\assets\Model\TXT</DestinationFolders>
</CopyFileToFolders>
</ItemGroup>
<ItemGroup>
<CopyFileToFolders Include="assets\sounds\default.mp3">
<FileType>Document</FileType>
<DestinationFolders Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(OutDir)sounds</DestinationFolders>
<DestinationFolders Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OutDir)sounds</DestinationFolders>
</CopyFileToFolders>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>

View File

@@ -64,6 +64,9 @@
<Filter Include="Fichiers d%27en-tête\System">
<UniqueIdentifier>{567548ae-97a4-413e-8d44-86d6e8252487}</UniqueIdentifier>
</Filter>
<Filter Include="Assets\sounds">
<UniqueIdentifier>{07d9b560-f7ad-4828-9317-3638b07359f1}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="include\backends\imgui_impl_dx11.cpp">
@@ -470,6 +473,9 @@
<ClInclude Include="src\inc\system\ecs\systems\render_system.h">
<Filter>Fichiers d%27en-tête</Filter>
</ClInclude>
<ClInclude Include="src\inc\system\ecs\components\audio_component.h">
<Filter>Fichiers d%27en-tête</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="KhaoticIcon.ico">
@@ -662,11 +668,17 @@
<CopyFileToFolders Include="assets\Model\TXT\water.txt">
<Filter>Assets\Model\TXT</Filter>
</CopyFileToFolders>
<CopyFileToFolders Include="assets\sounds\default.mp3">
<Filter>Assets\sounds</Filter>
</CopyFileToFolders>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<None Include="assets\Texture\imgui.ini">
<Filter>Texture</Filter>
</None>
<None Include="assets\sounds\default.opus">
<Filter>Assets\sounds</Filter>
</None>
</ItemGroup>
</Project>

View File

@@ -98,9 +98,14 @@ public:
ImGui::TextColored(ImVec4(1.0f, 0.0f, 0.0f, 1.0f), "Erreur: %s", m_lastError.c_str());
}
static char path[256] = "F:/Github_Repo/khaotic-engine-Reborn/x64/Release/assets/sounds/default.mp3";
// exe path + assets/sounds/default.mp3
std::filesystem::path defaultSoundPath = std::filesystem::current_path() / "assets" / "sounds" / "default.mp3";
std::string defaultSoundPathStr = defaultSoundPath.string();// Input text with default path
char path[260];
strncpy_s(path, m_soundPath.empty() ? defaultSoundPathStr.c_str() : m_soundPath.c_str(), sizeof(path));
path[sizeof(path) - 1] = '\0'; // Assurer la termination nulle
ImGui::InputText("Chemin du fichier", path, sizeof(path));
if (ImGui::Button("Charger le son")) {
if (!Load(path)) {
// L'erreur est d<>j<EFBFBD> d<>finie dans Load()