bug fixes [audiocore]

This commit is contained in:
OusmBlueNinja 2025-05-06 18:32:09 -05:00
parent 3ad50932b6
commit 16db021aaa
8 changed files with 3851 additions and 3831 deletions

View File

@ -10,24 +10,24 @@ Collapsed=1
[Window][WindowOverViewport_11111111] [Window][WindowOverViewport_11111111]
Pos=0,19 Pos=0,19
Size=1280,701 Size=1920,1158
Collapsed=0 Collapsed=0
[Window][Inspector] [Window][Inspector]
Pos=913,19 Pos=1553,19
Size=367,202 Size=367,659
Collapsed=0 Collapsed=0
DockId=0x00000018,0 DockId=0x00000018,0
[Window][Scene Tree] [Window][Scene Tree]
Pos=0,19 Pos=0,19
Size=342,350 Size=342,579
Collapsed=0 Collapsed=0
DockId=0x0000000F,0 DockId=0x0000000F,0
[Window][Viewport] [Window][Viewport]
Pos=344,19 Pos=344,19
Size=567,202 Size=1207,659
Collapsed=0 Collapsed=0
DockId=0x00000017,0 DockId=0x00000017,0
@ -36,14 +36,14 @@ Size=1280,19
Collapsed=0 Collapsed=0
[Window][Performance Info] [Window][Performance Info]
Pos=1094,223 Pos=1606,680
Size=186,497 Size=314,497
Collapsed=0 Collapsed=0
DockId=0x00000016,0 DockId=0x00000016,0
[Window][Console] [Window][Console]
Pos=344,223 Pos=344,680
Size=715,273 Size=1206,273
Collapsed=0 Collapsed=0
DockId=0x00000013,0 DockId=0x00000013,0
@ -54,8 +54,8 @@ Collapsed=0
DockId=0x00000017,1 DockId=0x00000017,1
[Window][Profiler] [Window][Profiler]
Pos=344,498 Pos=344,955
Size=715,222 Size=1206,222
Collapsed=0 Collapsed=0
DockId=0x00000014,0 DockId=0x00000014,0
@ -112,8 +112,8 @@ Collapsed=0
DockId=0x0000000E,0 DockId=0x0000000E,0
[Window][Audio Output] [Window][Audio Output]
Pos=1061,223 Pos=1552,680
Size=31,497 Size=52,497
Collapsed=0 Collapsed=0
DockId=0x00000012,0 DockId=0x00000012,0
@ -124,29 +124,29 @@ Collapsed=0
DockId=0x0000000D,0 DockId=0x0000000D,0
[Window][Resources] [Window][Resources]
Pos=0,371 Pos=0,600
Size=342,349 Size=342,577
Collapsed=0 Collapsed=0
DockId=0x00000010,0 DockId=0x00000010,0
[Docking][Data] [Docking][Data]
DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1280,701 Split=X DockSpace ID=0x11111111 Window=0x1BBC0F80 Pos=0,19 Size=1920,1158 Split=X
DockNode ID=0x00000005 Parent=0x11111111 SizeRef=989,1158 Split=X DockNode ID=0x00000005 Parent=0x11111111 SizeRef=989,1158 Split=X
DockNode ID=0x00000001 Parent=0x00000005 SizeRef=342,701 Split=Y Selected=0x12EF0F59 DockNode ID=0x00000001 Parent=0x00000005 SizeRef=342,701 Split=Y Selected=0x12EF0F59
DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,637 Split=Y Selected=0x12EF0F59 DockNode ID=0x00000003 Parent=0x00000001 SizeRef=342,637 Split=Y Selected=0x12EF0F59
DockNode ID=0x0000000F Parent=0x00000003 SizeRef=342,579 HiddenTabBar=1 Selected=0x12EF0F59 DockNode ID=0x0000000F Parent=0x00000003 SizeRef=342,579 HiddenTabBar=1 Selected=0x12EF0F59
DockNode ID=0x00000010 Parent=0x00000003 SizeRef=342,577 HiddenTabBar=1 Selected=0x30401527 DockNode ID=0x00000010 Parent=0x00000003 SizeRef=342,577 HiddenTabBar=1 Selected=0x30401527
DockNode ID=0x00000004 Parent=0x00000001 SizeRef=342,519 HiddenTabBar=1 Selected=0x36AF052B DockNode ID=0x00000004 Parent=0x00000001 SizeRef=342,519 HiddenTabBar=1 Selected=0x36AF052B
DockNode ID=0x00000002 Parent=0x00000005 SizeRef=1484,701 Split=Y Selected=0xC450F867 DockNode ID=0x00000002 Parent=0x00000005 SizeRef=1576,701 Split=Y Selected=0xC450F867
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,659 Split=X Selected=0xC450F867 DockNode ID=0x00000007 Parent=0x00000002 SizeRef=606,659 Split=X Selected=0xC450F867
DockNode ID=0x00000017 Parent=0x00000007 SizeRef=1207,860 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867 DockNode ID=0x00000017 Parent=0x00000007 SizeRef=1207,860 CentralNode=1 HiddenTabBar=1 Selected=0xC450F867
DockNode ID=0x00000018 Parent=0x00000007 SizeRef=367,860 HiddenTabBar=1 Selected=0x36DC96AB DockNode ID=0x00000018 Parent=0x00000007 SizeRef=367,860 HiddenTabBar=1 Selected=0x36DC96AB
DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,497 Split=X Selected=0xEA83D666 DockNode ID=0x00000008 Parent=0x00000002 SizeRef=606,497 Split=X Selected=0xEA83D666
DockNode ID=0x00000015 Parent=0x00000008 SizeRef=1260,172 Split=X Selected=0xEA83D666 DockNode ID=0x00000015 Parent=0x00000008 SizeRef=1260,172 Split=X Selected=0xEA83D666
DockNode ID=0x00000011 Parent=0x00000015 SizeRef=715,168 Split=Y Selected=0x9B5D3198 DockNode ID=0x00000011 Parent=0x00000015 SizeRef=1206,168 Split=Y Selected=0x9B5D3198
DockNode ID=0x00000013 Parent=0x00000011 SizeRef=1449,273 HiddenTabBar=1 Selected=0xEA83D666 DockNode ID=0x00000013 Parent=0x00000011 SizeRef=1449,273 HiddenTabBar=1 Selected=0xEA83D666
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=1449,222 HiddenTabBar=1 Selected=0x9B5D3198 DockNode ID=0x00000014 Parent=0x00000011 SizeRef=1449,222 HiddenTabBar=1 Selected=0x9B5D3198
DockNode ID=0x00000012 Parent=0x00000015 SizeRef=31,168 HiddenTabBar=1 Selected=0x56009A08 DockNode ID=0x00000012 Parent=0x00000015 SizeRef=52,168 HiddenTabBar=1 Selected=0x56009A08
DockNode ID=0x00000016 Parent=0x00000008 SizeRef=314,172 HiddenTabBar=1 Selected=0x3FC1A724 DockNode ID=0x00000016 Parent=0x00000008 SizeRef=314,172 HiddenTabBar=1 Selected=0x3FC1A724
DockNode ID=0x00000006 Parent=0x11111111 SizeRef=289,1158 Split=Y Selected=0x36DC96AB DockNode ID=0x00000006 Parent=0x11111111 SizeRef=289,1158 Split=Y Selected=0x36DC96AB
DockNode ID=0x00000009 Parent=0x00000006 SizeRef=449,488 Split=Y Selected=0x36DC96AB DockNode ID=0x00000009 Parent=0x00000006 SizeRef=449,488 Split=Y Selected=0x36DC96AB

View File

@ -1,3 +1,4 @@
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -Isrc\vendor\imgui -IC:\msys64\mingw64\lib\libyaml-cpp.a -MMD -MP -c src\src\Engine.cpp -o src\build\Engine.o [COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\core\audio\AudioEngine.cpp -o src\build\core\audio\AudioEngine.o
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\core\utils\EngineConfig.cpp -o src\build\core\utils\EngineConfig.o
[COMPILE] g++ -std=c++20 -Wall -g -Isrc/include -Isrc/include/lua -Isrc/vendor -Isrc/vendor/imgui -Isrc/vendor/box2d -Isrc/vendor/xxhash -Isrc/vendor/miniaudio -Isrc/vendor/imguizmo -IC:/msys64/mingw64/include -IC:\msys64\mingw64\lib\libyaml-cpp.a -Isrc\vendor\imgui -MMD -MP -c src\src\Engine.cpp -o src\build\Engine.o
[LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\AudioPlayerComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\core\audio\AudioEngine.o src\build\core\utils\AssetManager.o src\build\core\utils\EngineConfig.o src\build\core\utils\ExceptionHandler.o src\build\core\utils\FileDialog.o src\build\core\utils\input.o src\build\core\utils\LoadingWindow.o src\build\core\utils\Logging.o src\build\core\utils\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\AudioInfo.o src\build\editor\windows\Inspector.o src\build\Entitys\Object.o src\build\utils\GameObjectsList.o src\build\utils\Shader.o src\build\utils\UID.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o src\build\xxhash.o src\build\miniaudio.o src\build\ImGuizmo.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto -ldbghelp [LINK] g++ src\build\Engine.o src\build\main.o src\build\Renderer.o src\build\Components\AnimationComponent.o src\build\Components\AudioPlayerComponent.o src\build\Components\CameraComponent.o src\build\Components\LightComponent.o src\build\Components\ParticleComponent.o src\build\Components\PhysicsComponent.o src\build\Components\ScriptComponent.o src\build\Components\SpriteComponent.o src\build\Components\TextComonent.o src\build\Components\TilemapComponent.o src\build\core\audio\AudioEngine.o src\build\core\utils\AssetManager.o src\build\core\utils\EngineConfig.o src\build\core\utils\ExceptionHandler.o src\build\core\utils\FileDialog.o src\build\core\utils\input.o src\build\core\utils\LoadingWindow.o src\build\core\utils\Logging.o src\build\core\utils\Profiler.o src\build\core\utils\Texture.o src\build\core\utils\utils.o src\build\editor\windows\AssetBrowser.o src\build\editor\windows\AudioInfo.o src\build\editor\windows\Inspector.o src\build\Entitys\Object.o src\build\utils\GameObjectsList.o src\build\utils\Shader.o src\build\utils\UID.o src\build\lapi.o src\build\lauxlib.o src\build\lbaselib.o src\build\lcode.o src\build\lcorolib.o src\build\lctype.o src\build\ldblib.o src\build\ldebug.o src\build\ldo.o src\build\ldump.o src\build\lfunc.o src\build\lgc.o src\build\linit.o src\build\liolib.o src\build\llex.o src\build\lmathlib.o src\build\lmem.o src\build\loadlib.o src\build\lobject.o src\build\lopcodes.o src\build\loslib.o src\build\lparser.o src\build\lstate.o src\build\lstring.o src\build\lstrlib.o src\build\ltable.o src\build\ltablib.o src\build\ltm.o src\build\lua.o src\build\luac.o src\build\lundump.o src\build\lutf8lib.o src\build\lvm.o src\build\lzio.o src\build\imgui.o src\build\imgui_demo.o src\build\imgui_draw.o src\build\imgui_impl_glfw.o src\build\imgui_impl_opengl3.o src\build\imgui_tables.o src\build\imgui_widgets.o src\build\aabb.o src\build\arena_allocator.o src\build\array.o src\build\bitset.o src\build\body.o src\build\broad_phase.o src\build\constraint_graph.o src\build\contact.o src\build\contact_solver.o src\build\core.o src\build\distance.o src\build\distance_joint.o src\build\dynamic_tree.o src\build\geometry.o src\build\hull.o src\build\id_pool.o src\build\island.o src\build\joint.o src\build\manifold.o src\build\math_functions.o src\build\motor_joint.o src\build\mouse_joint.o src\build\mover.o src\build\prismatic_joint.o src\build\revolute_joint.o src\build\sensor.o src\build\shape.o src\build\solver.o src\build\solver_set.o src\build\table.o src\build\timer.o src\build\types.o src\build\weld_joint.o src\build\wheel_joint.o src\build\world.o src\build\xxhash.o src\build\miniaudio.o src\build\ImGuizmo.o -o src\build\app.exe -LC:\msys64\mingw64\lib -lglfw3 -lglew32 -lopengl32 -lgdi32 -lyaml-cpp -lcomdlg32 -lssl -lcrypto -ldbghelp
[RUN] Executed app.exe successfully.

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,6 @@
#include "core/utils/Logging.h" #include "core/utils/Logging.h"
#include "core/utils/Input.h" #include "core/utils/Input.h"
#include "core/audio/AudioEngine.h" #include "core/audio/AudioEngine.h"
#include "core/utils/EngineConfig.h" #include "core/utils/EngineConfig.h"
@ -23,7 +22,6 @@
#include "core/utils/utils.h" #include "core/utils/utils.h"
#include "core/utils/LoadingWindow.h" #include "core/utils/LoadingWindow.h"
#include "editor/windows/AssetBrowser.h" #include "editor/windows/AssetBrowser.h"
#include "editor/windows/Inspector.h" #include "editor/windows/Inspector.h"
#include "editor/windows/AudioInfo.h" #include "editor/windows/AudioInfo.h"
@ -36,7 +34,6 @@
#include "ImGuizmo.h" #include "ImGuizmo.h"
#include <glm/gtc/type_ptr.hpp> #include <glm/gtc/type_ptr.hpp>
#include <functional> #include <functional>
#include <fstream> #include <fstream>
#include <sstream> #include <sstream>
@ -438,11 +435,6 @@ void ShowColorCorrectionWindow()
ImGui::End(); ImGui::End();
} }
void DrawGizmoForObject(const std::shared_ptr<Object> &obj, const glm::mat4 &view, const glm::mat4 &projection) void DrawGizmoForObject(const std::shared_ptr<Object> &obj, const glm::mat4 &view, const glm::mat4 &projection)
{ {
if (!obj) if (!obj)
@ -461,8 +453,10 @@ void DrawGizmoForObject(const std::shared_ptr<Object>& obj, const glm::mat4& vie
ImGuizmo::SetRect(windowPos.x, windowPos.y, windowSize.x, windowSize.y); ImGuizmo::SetRect(windowPos.x, windowPos.y, windowSize.x, windowSize.y);
static ImGuizmo::OPERATION operation = ImGuizmo::TRANSLATE; static ImGuizmo::OPERATION operation = ImGuizmo::TRANSLATE;
if (ImGui::IsKeyPressed(ImGuiKey_T)) operation = ImGuizmo::TRANSLATE; if (ImGui::IsKeyPressed(ImGuiKey_T))
if (ImGui::IsKeyPressed(ImGuiKey_R)) operation = ImGuizmo::ROTATE; operation = ImGuizmo::TRANSLATE;
if (ImGui::IsKeyPressed(ImGuiKey_R))
operation = ImGuizmo::ROTATE;
glm::mat4 manipulated = model; glm::mat4 manipulated = model;
ImGuizmo::Manipulate(glm::value_ptr(view), glm::value_ptr(projection), ImGuizmo::Manipulate(glm::value_ptr(view), glm::value_ptr(projection),
@ -481,10 +475,6 @@ void DrawGizmoForObject(const std::shared_ptr<Object>& obj, const glm::mat4& vie
} }
} }
void Engine::Init() void Engine::Init()
{ {
@ -578,12 +568,10 @@ void Engine::Init()
AudioEngine::Init(); AudioEngine::Init();
Logger::LogVerbose("Init Input Core"); Logger::LogVerbose("Init Input Core");
Input::Init(window); Input::Init(window);
// AssetManager::LoadAssetAsync("C:\\Users\\spenc\\Music\\creative-technology-showreel-241274.mp3", AssetType::Audio); // AssetManager::LoadAssetAsync("C:\\Users\\spenc\\Music\\creative-technology-showreel-241274.mp3", AssetType::Audio);
Logger::LogVerbose("Resverving Objects"); Logger::LogVerbose("Resverving Objects");
@ -775,7 +763,17 @@ void Engine::Run()
if (g_engineConfig.settings.profile_enabled) if (g_engineConfig.settings.profile_enabled)
{ {
ImGui::Checkbox("Profile Engine", &g_engineConfig.settings.profile_editor); ImGui::Checkbox("Profile Engine", &g_engineConfig.settings.profile_editor);
#ifdef DISABLE_DEEP_PROFILING
ImGui::BeginDisabled();
bool dummy = false;
ImGui::Checkbox("Deep Profiling", &dummy);
if (ImGui::IsItemHovered())
ImGui::SetTooltip("Deep Profiling is disabled at compile time.");
ImGui::EndDisabled();
#else
ImGui::Checkbox("Deep Profiling", &g_engineConfig.settings.profile_deep); ImGui::Checkbox("Deep Profiling", &g_engineConfig.settings.profile_deep);
#endif
// ImGui::Checkbox("GPU Profiling", &g_engineConfig.settings.profile_gpu); // ImGui::Checkbox("GPU Profiling", &g_engineConfig.settings.profile_gpu);
} }
ImGui::EndMenu(); ImGui::EndMenu();
@ -1260,7 +1258,6 @@ void Engine::Run()
previewUAID = 0; previewUAID = 0;
} }
glm::mat4 projection = glm::ortho( glm::mat4 projection = glm::ortho(
0.0f, static_cast<float>(size.x), // left, right 0.0f, static_cast<float>(size.x), // left, right
static_cast<float>(size.y), 0.0f, // bottom, top (y-down) static_cast<float>(size.y), 0.0f, // bottom, top (y-down)
@ -1269,10 +1266,8 @@ void Engine::Run()
glm::mat4 view = glm::translate(glm::mat4(1.0f), glm::vec3(-cameraPos, 0.0f)); glm::mat4 view = glm::translate(glm::mat4(1.0f), glm::vec3(-cameraPos, 0.0f));
DrawGizmoForObject(selected, view, projection); DrawGizmoForObject(selected, view, projection);
ImGui::End(); ImGui::End();
profiler.EndEngineSection(); profiler.EndEngineSection();
@ -1368,7 +1363,6 @@ void Engine::DrawObjectNode(const std::shared_ptr<Object> &obj)
objects.push_back(clone); objects.push_back(clone);
} }
selected = clone; selected = clone;
ImGui::OpenPopup("RenameObject"); ImGui::OpenPopup("RenameObject");
} }
@ -1510,11 +1504,12 @@ void Engine::LoadScene(const std::string &path)
return; return;
} }
if (root["engine_version"].as<std::string>() != "0.1.0")
if (root["engine_version"].as<std::string>() != g_engineConfig.version)
{ {
Logger::LogError("[LoadScene] Version mismatch! Expected 0.1.0, got %s", root["engine_version"].as<std::string>().c_str()); Logger::LogError("[LoadScene] Version mismatch! Expected %s, got %s", g_engineConfig.version.c_str(), root["engine_version"].as<std::string>().c_str());
loadingUI.Destroy();
return;
} }
if (!VerifySceneHash(root)) if (!VerifySceneHash(root))

View File

@ -32,16 +32,24 @@ bool AudioEngine::Init() {
void AudioEngine::Shutdown() { void AudioEngine::Shutdown() {
// Uninit & delete every sound
for (auto& kv : s_SoundMap) { for (auto& [id, soundPtr] : s_SoundMap) {
ma_sound_uninit(kv.second); if (soundPtr) {
delete kv.second; ma_sound_stop(soundPtr);
ma_sound_uninit(soundPtr);
delete soundPtr;
} }
}
s_SoundMap.clear(); s_SoundMap.clear();
s_PlayingInfoMap.clear(); s_PlayingInfoMap.clear();
ma_engine_uninit(&s_Engine); ma_engine_uninit(&s_Engine);
} }
void AudioEngine::Play(uint64_t uaid, bool loop) { void AudioEngine::Play(uint64_t uaid, bool loop) {
Cleanup(uaid); Cleanup(uaid);

View File

@ -12,7 +12,7 @@
//! Macro Fuckery my Gz //! Macro Fuckery my Gz
EngineConfig g_engineConfig{ EngineConfig g_engineConfig{
.version = "0.1.0", .version = "0.8.1",
.gl_version = "430", .gl_version = "430",
.gl_maxLight = 512, .gl_maxLight = 512,
.settings = UserSettings{} .settings = UserSettings{}

View File

@ -2,6 +2,8 @@
#include <iostream> #include <iostream>
int main() { int main() {
try { try {
Engine engine; Engine engine;
engine.Run(); engine.Run();
@ -13,5 +15,6 @@ int main() {
return 2; return 2;
} }
return 0; return 0;
} }