From 7d89c45944ec33a17d4c02985c2e3ec1ece1bdd1 Mon Sep 17 00:00:00 2001 From: staphen Date: Sat, 8 Mar 2025 11:30:19 -0500 Subject: [PATCH] Turn off per-pixel lighting by default on low power systems --- CMake/Definitions.cmake | 1 + CMake/platforms/n3ds.cmake | 8 +++++--- Source/options.cpp | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMake/Definitions.cmake b/CMake/Definitions.cmake index 14041b6ce1e..ab85b1f8fc6 100644 --- a/CMake/Definitions.cmake +++ b/CMake/Definitions.cmake @@ -37,6 +37,7 @@ foreach( DEFAULT_AUDIO_CHANNELS DEFAULT_AUDIO_BUFFER_SIZE DEFAULT_AUDIO_RESAMPLING_QUALITY + DEFAULT_PER_PIXEL_LIGHTING SDL1_VIDEO_MODE_BPP SDL1_VIDEO_MODE_FLAGS SDL1_VIDEO_MODE_SVID_FLAGS diff --git a/CMake/platforms/n3ds.cmake b/CMake/platforms/n3ds.cmake index bbb35b374c5..21dfa48cbc0 100644 --- a/CMake/platforms/n3ds.cmake +++ b/CMake/platforms/n3ds.cmake @@ -9,9 +9,6 @@ set(DEVILUTIONX_STATIC_LIBSODIUM ON) set(DEVILUTIONX_STATIC_LIBFMT ON) set(DISABLE_ZERO_TIER ON) set(LIBMPQ_FILE_BUFFER_SIZE 32768) -set(USE_SDL1 ON) -set(PREFILL_PLAYER_NAME ON) -set(DEVILUTIONX_GAMEPAD_TYPE Nintendo) set(NOEXIT ON) # 3DS libraries and compile definitions @@ -28,11 +25,13 @@ list(APPEND DEVILUTIONX_PLATFORM_COMPILE_DEFINITIONS __3DS__) set(DEVILUTIONX_DISABLE_STRIP ON) #SDL video mode parameters +set(USE_SDL1 ON) set(SDL1_VIDEO_MODE_FLAGS SDL_DOUBLEBUF|SDL_HWSURFACE) set(SDL1_FORCE_SVID_VIDEO_MODE ON) set(SDL1_VIDEO_MODE_BPP 8) set(DEFAULT_WIDTH 800) set(DEFAULT_HEIGHT 480) +set(DEFAULT_PER_PIXEL_LIGHTING false) #Deploy assets to romfs set(DEVILUTIONX_ASSETS_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/romfs") @@ -62,3 +61,6 @@ set(JOY_BUTTON_BACK 7) set(JOY_BUTTON_START 0) set(JOY_BUTTON_TRIGGERLEFT 8) set(JOY_BUTTON_TRIGGERRIGHT 9) +#Additional gamepad related options +set(DEVILUTIONX_GAMEPAD_TYPE Nintendo) +set(PREFILL_PLAYER_NAME ON) diff --git a/Source/options.cpp b/Source/options.cpp index 220a19e1a73..3eefbf57237 100644 --- a/Source/options.cpp +++ b/Source/options.cpp @@ -52,6 +52,9 @@ namespace devilution { #ifndef DEFAULT_AUDIO_RESAMPLING_QUALITY #define DEFAULT_AUDIO_RESAMPLING_QUALITY 3 #endif +#ifndef DEFAULT_PER_PIXEL_LIGHTING +#define DEFAULT_PER_PIXEL_LIGHTING true +#endif namespace { @@ -674,7 +677,7 @@ GraphicsOptions::GraphicsOptions() }) , brightness("Brightness Correction", OptionEntryFlags::Invisible, "Brightness Correction", "Brightness correction level.", 0) , zoom("Zoom", OptionEntryFlags::None, N_("Zoom"), N_("Zoom on when enabled."), false) - , perPixelLighting("Per-pixel Lighting", OptionEntryFlags::None, N_("Per-pixel Lighting"), N_("Subtile lighting for smoother light gradients."), true) + , perPixelLighting("Per-pixel Lighting", OptionEntryFlags::None, N_("Per-pixel Lighting"), N_("Subtile lighting for smoother light gradients."), DEFAULT_PER_PIXEL_LIGHTING) , colorCycling("Color Cycling", OptionEntryFlags::None, N_("Color Cycling"), N_("Color cycling effect used for water, lava, and acid animation."), true) , alternateNestArt("Alternate nest art", OptionEntryFlags::OnlyHellfire | OptionEntryFlags::CantChangeInGame, N_("Alternate nest art"), N_("The game will use an alternative palette for Hellfire’s nest tileset."), false) #if SDL_VERSION_ATLEAST(2, 0, 0)