mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-01 22:30:42 -07:00
loveplus: enable cam access (#318)
## Link to GitHub Issue, if one exists #316 (this does not fix the issue!) ## Description of change Add an option to omit `-noCamera` option. Doing so allows the game to boot and search for a compatible camera using KS API, but will likely fail since we don't know what cameras are compatible. You end up with a camera error during boot, which can be ignored by flipping a switch in the test menu to disable the camera. No hooks are currently done to make the camera work! ## Testing Tested to see that turning this on triggers the camera error. No known camera at the moment.
This commit is contained in:
@@ -13,6 +13,8 @@
|
|||||||
|
|
||||||
namespace games::loveplus {
|
namespace games::loveplus {
|
||||||
|
|
||||||
|
bool CAMERA_ENABLE = false;
|
||||||
|
|
||||||
// touch stuff
|
// touch stuff
|
||||||
static bool TOUCH_ENABLE = false;
|
static bool TOUCH_ENABLE = false;
|
||||||
static bool TOUCH_ATTACHED = false;
|
static bool TOUCH_ATTACHED = false;
|
||||||
@@ -117,9 +119,13 @@ namespace games::loveplus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static LPSTR __stdcall GetCommandLineA_hook() {
|
static LPSTR __stdcall GetCommandLineA_hook() {
|
||||||
static std::string lp_args = "-win -noCamera -noWatchDog -noIOError -noIrda -notarget";
|
static std::string lp_args = "-win -noWatchDog -noIOError -noIrda -notarget";
|
||||||
|
static std::string lp_args_nocamera = lp_args + " -noCamera";
|
||||||
return lp_args.data();
|
if (CAMERA_ENABLE) {
|
||||||
|
return lp_args.data();
|
||||||
|
} else {
|
||||||
|
return lp_args_nocamera.data();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LovePlusGame::LovePlusGame() : Game("LovePlus") {
|
LovePlusGame::LovePlusGame() : Game("LovePlus") {
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
namespace games::loveplus {
|
namespace games::loveplus {
|
||||||
|
|
||||||
|
extern bool CAMERA_ENABLE;
|
||||||
|
|
||||||
// touch stuff
|
// touch stuff
|
||||||
void touch_update();
|
void touch_update();
|
||||||
|
|
||||||
|
|||||||
@@ -1109,6 +1109,10 @@ int main_implementation(int argc, char *argv[]) {
|
|||||||
rawinput::MIDI_NOTE_SUSTAIN = options[launcher::Options::MidiNoteSustain].value_uint32();
|
rawinput::MIDI_NOTE_SUSTAIN = options[launcher::Options::MidiNoteSustain].value_uint32();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options[launcher::Options::LovePlusCamEnable].value_bool()) {
|
||||||
|
games::loveplus::CAMERA_ENABLE = true;
|
||||||
|
}
|
||||||
|
|
||||||
// API debugging
|
// API debugging
|
||||||
if (api_debug && !cfg::CONFIGURATOR_STANDALONE) {
|
if (api_debug && !cfg::CONFIGURATOR_STANDALONE) {
|
||||||
API_CONTROLLER = std::make_unique<api::Controller>(api_port, api_pass, api_pretty);
|
API_CONTROLLER = std::make_unique<api::Controller>(api_port, api_pass, api_pretty);
|
||||||
|
|||||||
@@ -2249,6 +2249,15 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
|||||||
.type = OptionType::Bool,
|
.type = OptionType::Bool,
|
||||||
.game_name = "Sound Voltex",
|
.game_name = "Sound Voltex",
|
||||||
.category = "Graphics (Windowed)",
|
.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",
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -240,6 +240,7 @@ namespace launcher {
|
|||||||
SDVXWindowedSubscreenPosition,
|
SDVXWindowedSubscreenPosition,
|
||||||
SDVXWindowedSubscreenBorderless,
|
SDVXWindowedSubscreenBorderless,
|
||||||
SDVXWindowedSubscreenAlwaysOnTop,
|
SDVXWindowedSubscreenAlwaysOnTop,
|
||||||
|
LovePlusCamEnable,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class OptionsCategory {
|
enum class OptionsCategory {
|
||||||
|
|||||||
Reference in New Issue
Block a user