This commit is contained in:
madeline
2026-04-05 11:48:20 -07:00
11 changed files with 45 additions and 42 deletions
+3 -2
View File
@@ -113,7 +113,8 @@ target_include_directories(game_debug PUBLIC
build/${DUSK_TP_VERSION}/include)
target_link_libraries(game_debug PUBLIC aurora::core aurora::gx aurora::gd aurora::si aurora::vi aurora::pad aurora::mtx aurora::os aurora::dvd aurora::card freeverb)
add_library(game STATIC ${DOLZEL_FILES} ${Z2AUDIOLIB_FILES} ${SSYSTEM_FILES} ${JSYSTEM_FILES} ${REL_FILES} ${DUSK_FILES} ${DOLPHIN_FILES}
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
add_library(game SHARED ${DOLZEL_FILES} ${Z2AUDIOLIB_FILES} ${SSYSTEM_FILES} ${JSYSTEM_FILES} ${REL_FILES} ${DUSK_FILES} ${DOLPHIN_FILES}
src/dusk/imgui/ImGuiStubLog.cpp
src/dusk/imgui/ImGuiAudio.cpp)
@@ -144,7 +145,7 @@ add_custom_command(TARGET dusk POST_BUILD
)
include(extern/aurora/cmake/AuroraCopyRuntimeDLLs.cmake)
aurora_copy_runtime_dlls(dusk)
aurora_copy_runtime_dlls(dusk game)
if (DUSK_SELECTED_OPT)
if (CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC")
+5 -5
View File
@@ -15,11 +15,11 @@ struct UserSettings {
struct {
// Audio
float masterVolume;
float mainMusicVolume;
float subMusicVolume;
float soundEffectsVolume;
float fanfareVolume;
int masterVolume;
int mainMusicVolume;
int subMusicVolume;
int soundEffectsVolume;
int fanfareVolume;
bool enableReverb;
} audio;
-2
View File
@@ -26,8 +26,6 @@ namespace dusk {
}
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(300.f * ImGuiScale(), 0),
ImVec2(FLT_MAX, FLT_MAX));
if (!ImGui::Begin("Camera Debug", nullptr, windowFlags)) {
ImGui::End();
+15 -2
View File
@@ -24,7 +24,7 @@ using namespace std::string_literals;
using namespace std::string_view_literals;
namespace dusk {
float ImGuiScale() { return ImGui::GetIO().DisplayFramebufferScale.x; }
float ImGuiScale() { return 1.0f; }
void ImGuiStringViewText(std::string_view text) {
// begin()/end() do not work on MSVC
@@ -184,6 +184,17 @@ namespace dusk {
}
getTransientSettings().skipFrameRateLimit = getSettings().game.enableTurboKeybind && ImGui::IsKeyDown(ImGuiKey_Tab);
if ((ImGui::IsKeyDown(ImGuiKey_LeftCtrl) || ImGui::IsKeyDown(ImGuiKey_RightCtrl)) &&
ImGui::IsKeyPressed(ImGuiKey_R))
{
JUTGamePad::C3ButtonReset::sResetSwitchPushing = true;
}
if (ImGui::IsKeyPressed(ImGuiKey_F11)) {
getSettings().video.enableFullscreen = !getSettings().video.enableFullscreen;
VISetWindowFullscreen(getSettings().video.enableFullscreen);
}
if (CheckMenuViewToggle(ImGuiKey_F1, m_isHidden)) {
ShowToasts();
@@ -195,9 +206,11 @@ namespace dusk {
if (ImGui::BeginMainMenuBar()) {
m_menuGame.draw();
m_menuTools.draw();
m_menuEnhancements.draw();
// Keep always last
m_menuTools.draw();
ImGui::SetCursorPosX(ImGui::GetWindowWidth() - 80.0f * ImGuiScale());
ImGuiIO& io = ImGui::GetIO();
ImGuiStringViewText(fmt::format(FMT_STRING("FPS: {:.2f}\n"), io.Framerate));
+4 -1
View File
@@ -31,10 +31,13 @@ private:
bool m_isHidden = true;
bool m_isLaunchInitialized = false;
std::deque<Toast> m_toasts;
ImGuiMenuGame m_menuGame;
ImGuiMenuTools m_menuTools;
ImGuiMenuEnhancements m_menuEnhancements;
// Keep always last
ImGuiMenuTools m_menuTools;
void ShowToasts();
void ShowPipelineProgress();
};
+1 -1
View File
@@ -38,6 +38,7 @@ void ImGuiEngine_Initialize(float scale) {
ImGui::GetCurrentContext();
ImGuiIO& io = ImGui::GetIO();
io.Fonts->Clear();
io.FontGlobalScale = scale > 0.0f ? 1.0f / scale : 1.0f;
const std::string fontPath = GetAssetPath("NotoMono-Regular.ttf");
const bool hasFontFile = AssetExists(fontPath);
@@ -146,7 +147,6 @@ void ImGuiEngine_Initialize(float scale) {
colors[ImGuiCol_NavWindowingDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.20f);
colors[ImGuiCol_ModalWindowDimBg] = ImVec4(0.80f, 0.80f, 0.80f, 0.35f);
style.ScaleAllSizes(scale);
}
Icon GetIcon() {
-2
View File
@@ -17,8 +17,6 @@ namespace dusk {
ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_NoNav;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(300.f * ImGuiScale(), 0),
ImVec2(FLT_MAX, FLT_MAX));
if (!ImGui::Begin("Map Loader", &m_showMapLoader, windowFlags)) {
ImGui::End();
+8 -18
View File
@@ -34,28 +34,29 @@ namespace dusk {
if (ImGui::BeginMenu("Audio")) {
ImGui::Text("Master Volume");
ImGui::SliderFloat("##masterVolume", &getSettings().audio.masterVolume, 0.0f, 1.0f, "");
ImGui::SliderInt("##masterVolume", &getSettings().audio.masterVolume, 0, 100);
ImGui::Checkbox("Enable Reverb", &getSettings().audio.enableReverb);
/*
// TODO: implement additional settings
// TODO: Implement additional settings
ImGui::Text("Main Music Volume");
ImGui::SliderFloat("##mainMusicVolume", &getSettings().audio.mainMusicVolume, 0.0f, 1.0f, "");
ImGui::SliderFloat("##mainMusicVolume", &getSettings().audio.mainMusicVolume, 0, 100);
ImGui::Text("Sub Music Volume");
ImGui::SliderFloat("##subMusicVolume", &getSettings().audio.subMusicVolume, 0.0f, 1.0f, "");
ImGui::SliderFloat("##subMusicVolume", &getSettings().audio.subMusicVolume, 0, 100);
ImGui::Text("Sound Effects Volume");
ImGui::SliderFloat("##soundEffectsVolume", &getSettings().audio.soundEffectsVolume, 0.0f, 1.0f, "");
ImGui::SliderFloat("##soundEffectsVolume", &getSettings().audio.soundEffectsVolume, 0, 100);
ImGui::Text("Fanfare Volume");
ImGui::SliderFloat("##fanfareVolume", &getSettings().audio.fanfareVolume, 0.0f, 1.0f, "");
ImGui::SliderFloat("##fanfareVolume", &getSettings().audio.fanfareVolume, 0, 100);
Z2AudioMgr* audioMgr = Z2AudioMgr::getInterface();
if (audioMgr != nullptr) {
}
*/
audio::SetMasterVolume(getSettings().audio.masterVolume);
audio::SetMasterVolume(getSettings().audio.masterVolume / 100.0f);
audio::EnableReverb = getSettings().audio.enableReverb;
ImGui::EndMenu();
@@ -73,15 +74,6 @@ namespace dusk {
windowInputViewer();
windowControllerConfig();
if ((ImGui::IsKeyDown(ImGuiKey_LeftCtrl) || ImGui::IsKeyDown(ImGuiKey_RightCtrl)) && ImGui::IsKeyPressed(ImGuiKey_R)) {
JUTGamePad::C3ButtonReset::sResetSwitchPushing = true;
}
if (ImGui::IsKeyPressed(ImGuiKey_F11)) {
getSettings().video.enableFullscreen = !getSettings().video.enableFullscreen;
VISetWindowFullscreen(getSettings().video.enableFullscreen);
}
}
static void drawVirtualStick(const char* id, const ImVec2& stick) {
@@ -147,8 +139,6 @@ namespace dusk {
ImGuiWindowFlags_AlwaysAutoResize;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(850 * scale, 400 * scale),
ImVec2(850 * scale, 400 * scale));
if (!ImGui::Begin("Controller Config", &m_showControllerConfig, windowFlags)) {
ImGui::End();
+2 -2
View File
@@ -149,10 +149,10 @@ namespace dusk {
}
ImGuiIO& io = ImGui::GetIO();
ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoResize;
ImGuiWindowFlags windowFlags =
ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(300, 200), ImVec2(300, 200));
if (ImGui::Begin("Player Info", &m_showPlayerInfo, windowFlags)) {
daAlink_c* player = (daAlink_c*)dComIfGp_getPlayer(0);
+2 -2
View File
@@ -284,10 +284,10 @@ namespace dusk {
void ImGuiSaveEditor::draw(bool& open) {
ImGuiIO& io = ImGui::GetIO();
ImGuiWindowFlags windowFlags = ImGuiWindowFlags_NoResize;
ImGuiWindowFlags windowFlags =
ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize;
ImGui::SetNextWindowBgAlpha(0.65f);
ImGui::SetNextWindowSizeConstraints(ImVec2(600, 700), ImVec2(600, 700));
if (ImGui::Begin("Save Editor", &open, windowFlags)) {
if (ImGui::BeginTabBar("SaveEditorTabBar", ImGuiTabBarFlags_NoCloseWithMiddleMouseButton)) {
+5 -5
View File
@@ -12,11 +12,11 @@ UserSettings g_userSettings = {
// Audio
.audio = {
.masterVolume = 0.8f,
.mainMusicVolume = 1.0f,
.subMusicVolume = 1.0f,
.soundEffectsVolume = 1.0f,
.fanfareVolume = 1.0f,
.masterVolume = 80,
.mainMusicVolume = 100,
.subMusicVolume = 100,
.soundEffectsVolume = 100,
.fanfareVolume = 100,
.enableReverb = true
},