diff --git a/src/spice2x/games/loveplus/loveplus.cpp b/src/spice2x/games/loveplus/loveplus.cpp index 3e18878..0d02e63 100644 --- a/src/spice2x/games/loveplus/loveplus.cpp +++ b/src/spice2x/games/loveplus/loveplus.cpp @@ -13,6 +13,8 @@ namespace games::loveplus { + bool CAMERA_ENABLE = false; + // touch stuff static bool TOUCH_ENABLE = false; static bool TOUCH_ATTACHED = false; @@ -117,9 +119,13 @@ namespace games::loveplus { } static LPSTR __stdcall GetCommandLineA_hook() { - static std::string lp_args = "-win -noCamera -noWatchDog -noIOError -noIrda -notarget"; - - return lp_args.data(); + static std::string lp_args = "-win -noWatchDog -noIOError -noIrda -notarget"; + static std::string lp_args_nocamera = lp_args + " -noCamera"; + if (CAMERA_ENABLE) { + return lp_args.data(); + } else { + return lp_args_nocamera.data(); + } } LovePlusGame::LovePlusGame() : Game("LovePlus") { diff --git a/src/spice2x/games/loveplus/loveplus.h b/src/spice2x/games/loveplus/loveplus.h index da6f44f..c4ab927 100644 --- a/src/spice2x/games/loveplus/loveplus.h +++ b/src/spice2x/games/loveplus/loveplus.h @@ -4,6 +4,8 @@ namespace games::loveplus { + extern bool CAMERA_ENABLE; + // touch stuff void touch_update(); diff --git a/src/spice2x/launcher/launcher.cpp b/src/spice2x/launcher/launcher.cpp index 32d94a0..843015a 100644 --- a/src/spice2x/launcher/launcher.cpp +++ b/src/spice2x/launcher/launcher.cpp @@ -1109,6 +1109,10 @@ int main_implementation(int argc, char *argv[]) { rawinput::MIDI_NOTE_SUSTAIN = options[launcher::Options::MidiNoteSustain].value_uint32(); } + if (options[launcher::Options::LovePlusCamEnable].value_bool()) { + games::loveplus::CAMERA_ENABLE = true; + } + // API debugging if (api_debug && !cfg::CONFIGURATOR_STANDALONE) { API_CONTROLLER = std::make_unique(api_port, api_pass, api_pretty); diff --git a/src/spice2x/launcher/options.cpp b/src/spice2x/launcher/options.cpp index 696ca5d..609cf81 100644 --- a/src/spice2x/launcher/options.cpp +++ b/src/spice2x/launcher/options.cpp @@ -2249,6 +2249,15 @@ static const std::vector OPTION_DEFINITIONS = { .type = OptionType::Bool, .game_name = "Sound Voltex", .category = "Graphics (Windowed)", + }, + { + // LovePlusCamEnable + .title = "LovePlus Camera Enable", + .name = "lovepluscam", + .desc = "Allow game to access camera; camera must be compatible with game", + .type = OptionType::Bool, + .game_name = "LovePlus", + .category = "Game Options", } }; diff --git a/src/spice2x/launcher/options.h b/src/spice2x/launcher/options.h index ff2aa23..0e85a1d 100644 --- a/src/spice2x/launcher/options.h +++ b/src/spice2x/launcher/options.h @@ -240,6 +240,7 @@ namespace launcher { SDVXWindowedSubscreenPosition, SDVXWindowedSubscreenBorderless, SDVXWindowedSubscreenAlwaysOnTop, + LovePlusCamEnable, }; enum class OptionsCategory {