mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-02 06:40:42 -07:00
2d623e179b
## Link to GitHub Issue or related Pull Request, if one exists ## Description of change Deprecate backend conversion options and replace with one unified option for enabling WASAPI exclusive conversion to ASIO. The new option takes in a string (ASIO driver name) and when filled out, it automatically enables the ASIO backend. This is to avoid confusion that was caused by the previous option - the fact that it was split into two (one to enable the conversion, another to optionally pick which ASIO driver to use) and that user needed to specify an integer as opposed to the driver name. ## Testing Tested on IIDX33. Old options should continue to work.
303 lines
9.3 KiB
C++
303 lines
9.3 KiB
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
#include "cfg/option.h"
|
|
|
|
namespace launcher {
|
|
|
|
// options list - order matters
|
|
namespace Options {
|
|
enum {
|
|
GameExecutable,
|
|
OpenConfigurator,
|
|
OpenKFControl,
|
|
EAmusementEmulation,
|
|
ServiceURL,
|
|
PCBID,
|
|
Player1Card,
|
|
Player2Card,
|
|
Player1PinMacro,
|
|
Player2PinMacro,
|
|
WindowedMode,
|
|
InjectHook,
|
|
EarlyInjectHook,
|
|
ExecuteScript,
|
|
CaptureCursor,
|
|
ShowCursor,
|
|
DisplayAdapter,
|
|
GraphicsForceSingleAdapter,
|
|
GraphicsForceRefresh,
|
|
FullscreenResolution,
|
|
FullscreenOrientationFlip,
|
|
FullscreenSubResolution,
|
|
FullscreenSubRefreshRate,
|
|
Graphics9On12,
|
|
spice2x_Dx9On12,
|
|
NoLegacy,
|
|
RichPresence,
|
|
SmartEAmusement,
|
|
EAmusementMaintenance,
|
|
spice2x_EAmusementMaintenance,
|
|
AdapterNetwork,
|
|
AdapterSubnet,
|
|
DisableNetworkFixes,
|
|
HTTP11,
|
|
DisableSSL,
|
|
URLSlash,
|
|
SOFTID,
|
|
VREnable,
|
|
DisableOverlay,
|
|
OverlayScaling,
|
|
spice2x_FpsAutoShow,
|
|
spice2x_FpsOpposite,
|
|
spice2x_SubScreenAutoShow,
|
|
spice2x_IOPanelAutoShow,
|
|
spice2x_KeypadAutoShow,
|
|
LoadIIDXModule,
|
|
IIDXCameraOrderFlip,
|
|
IIDXDisableCameras,
|
|
IIDXCabCamAccess,
|
|
IIDXCamHook,
|
|
IIDXCamHookRatio,
|
|
IIDXCamHookOverride,
|
|
IIDXCamHookTopId,
|
|
IIDXCamHookFrontId,
|
|
IIDXSoundOutputDevice,
|
|
IIDXAsioDriver,
|
|
IIDXBIO2FW,
|
|
IIDXTDJMode,
|
|
spice2x_IIDXDigitalTTSensitivity,
|
|
IIDXDigitalTTSocd,
|
|
spice2x_IIDXLDJForce720p,
|
|
spice2x_IIDXTDJSubSize,
|
|
spice2x_IIDXLEDFontSize,
|
|
spice2x_IIDXLEDColor,
|
|
spice2x_IIDXLEDPos,
|
|
IIDXLEDBorderless,
|
|
LoadSoundVoltexModule,
|
|
SDVXForce720p,
|
|
SDVXPrinterEmulation,
|
|
SDVXPrinterOutputPath,
|
|
SDVXPrinterOutputClear,
|
|
SDVXPrinterOutputOverwrite,
|
|
SDVXPrinterOutputFormat,
|
|
SDVXPrinterJPGQuality,
|
|
SDVXDisableCameras,
|
|
SDVXNativeTouch,
|
|
spice2x_SDVXSubRedraw,
|
|
spice2x_SDVXDigitalKnobSensitivity,
|
|
SDVXDigitalKnobSocd,
|
|
spice2x_SDVXAsioDriver,
|
|
spice2x_SDVXSubPos,
|
|
LoadDDRModule,
|
|
DDR43Mode,
|
|
DDRSkipCodecRegisteration,
|
|
LoadPopnMusicModule,
|
|
PopnMusicForceHDMode,
|
|
PopnMusicForceSDMode,
|
|
LoadHelloPopnMusicModule,
|
|
LoadGitaDoraModule,
|
|
GitaDoraTwoChannelAudio,
|
|
GitaDoraCabinetType,
|
|
GitaDoraArenaSingleWindow,
|
|
GitaDoraLefty,
|
|
GitaDoraWailHold,
|
|
GitaDoraPickAlgo,
|
|
GitaDoraSubOverlaySize,
|
|
LoadJubeatModule,
|
|
LoadReflecBeatModule,
|
|
LoadShogikaiModule,
|
|
LoadBeatstreamModule,
|
|
LoadNostalgiaModule,
|
|
LoadDanceEvolutionModule,
|
|
LoadFutureTomTomModule,
|
|
LoadBBCModule,
|
|
LoadMetalGearArcadeModule,
|
|
LoadQuizMagicAcademyModule,
|
|
LoadRoadFighters3DModule,
|
|
LoadSteelChronicleModule,
|
|
LoadMahjongFightClubModule,
|
|
LoadScottoModule,
|
|
LoadDanceRushModule,
|
|
LoadWinningElevenModule,
|
|
LoadOtocaModule,
|
|
LoadLovePlusModule,
|
|
LoadChargeMachineModule,
|
|
LoadOngakuParadiseModule,
|
|
LoadBusouShinkiModule,
|
|
LoadCCJModule,
|
|
LoadQKSModule,
|
|
LoadMFGModule,
|
|
LoadPCModule,
|
|
LoadMusecaModule,
|
|
PathToModules,
|
|
ScreenshotFolder,
|
|
ConfigurationPath,
|
|
ScreenResizeConfigPath,
|
|
PatchManagerConfigPath,
|
|
IntelSDEFolder,
|
|
PathToEa3Config,
|
|
PathToAppConfig,
|
|
PathToAvsConfig,
|
|
PathToBootstrap,
|
|
PathToLog,
|
|
APITCPPort,
|
|
APIPassword,
|
|
APIVerboseLogging,
|
|
APISerialPort,
|
|
APISerialBaud,
|
|
APIPretty,
|
|
APIDebugMode,
|
|
APIScreenMirrorQuality,
|
|
APIScreenMirrorDivide,
|
|
EnableAllIOModules,
|
|
EnableACIOModule,
|
|
EnableICCAModule,
|
|
EnableDEVICEModule,
|
|
EnableEXTDEVModule,
|
|
EnableAMI2000Module,
|
|
EnableSCIUNITModule,
|
|
EnableDevicePassthrough,
|
|
ForceWinTouch,
|
|
ForceTouchEmulation,
|
|
InvertTouchCoordinates,
|
|
DisableTouchCardInsert,
|
|
spice2x_TouchCardInsert,
|
|
ICCAReaderPort,
|
|
ICCAReaderPortToggle,
|
|
CardIOHIDReaderSupport,
|
|
CardIOHIDReaderOrderFlip,
|
|
CardIOHIDReaderOrderToggle,
|
|
HIDSmartCard,
|
|
HIDSmartCardOrderFlip,
|
|
HIDSmartCardOrderToggle,
|
|
HIDSmartCardIdConvert,
|
|
SextetStreamPort,
|
|
EnableBemaniTools5API,
|
|
RealtimeProcessPriority,
|
|
spice2x_ProcessPriority,
|
|
spice2x_ProcessAffinity,
|
|
spice2x_ProcessorEfficiencyClass,
|
|
HeapSize,
|
|
DisableGSyncDetection,
|
|
spice2x_NvapiProfile,
|
|
DisableAudioHooks,
|
|
spice2x_DisableVolumeHook,
|
|
AudioBackend,
|
|
AsioDriverId,
|
|
AsioDriverName,
|
|
AudioDummy,
|
|
DelayBy5Seconds,
|
|
spice2x_DelayByNSeconds,
|
|
LoadStubs,
|
|
AdjustOrientation,
|
|
spice2x_AutoOrientation,
|
|
LogLevel,
|
|
EAAutomap,
|
|
EANetdump,
|
|
DiscordAppID,
|
|
BlockingLogger,
|
|
DebugCreateFile,
|
|
VerboseGraphicsLogging,
|
|
VerboseAVSLogging,
|
|
AllowEA3Verbose,
|
|
DisableColoredOutput,
|
|
DisableACPHook,
|
|
DisableSignalHandling,
|
|
DisableDebugHooks,
|
|
DisableAvsVfsDriveMountRedirection,
|
|
DisableAvsCache,
|
|
OutputPEB,
|
|
DumpSystemInfo,
|
|
QKSArgs,
|
|
CCJArgs,
|
|
CCJMouseTrackball,
|
|
CCJMouseTrackballWithToggle,
|
|
CCJTrackballSensitivity,
|
|
MFGArgs,
|
|
MFGCabType,
|
|
MFGNoIO,
|
|
PCArgs,
|
|
PCNoIO,
|
|
PCKnobMode,
|
|
spice2x_LightsOverallBrightness,
|
|
spice2x_WindowBorder,
|
|
spice2x_WindowSize,
|
|
spice2x_WindowPosition,
|
|
spice2x_WindowAlwaysOnTop,
|
|
WindowForceScaling,
|
|
spice2x_IIDXWindowedSubscreenSize,
|
|
spice2x_IIDXWindowedSubscreenPosition,
|
|
IIDXWindowedSubscreenBorderless,
|
|
IIDXWindowedSubscreenAlwaysOnTop,
|
|
spice2x_JubeatLegacyTouch,
|
|
spice2x_RBTouchScale,
|
|
spice2x_AsioForceUnload,
|
|
spice2x_IIDXNoESpec,
|
|
spice2x_IIDXWindowedTDJ,
|
|
spice2x_DRSDisableTouch,
|
|
spice2x_DRSTransposeTouch,
|
|
DRSRGBCameraHook,
|
|
spice2x_IIDXNativeTouch,
|
|
spice2x_IIDXNoSub,
|
|
spice2x_IIDXEmulateSubscreenKeypadTouch,
|
|
spice2x_AutoCard,
|
|
spice2x_LowLatencySharedAudio,
|
|
spice2x_TapeLedAlgorithm,
|
|
spice2x_NoNVAPI,
|
|
spice2x_NoD3D9DeviceHook,
|
|
spice2x_SDVXNoSub,
|
|
SDVXFullscreenLandscape,
|
|
spice2x_EnableSMXStage,
|
|
spice2x_EnableSMXDedicab,
|
|
IIDXRecQuality,
|
|
IIDXRecDisable,
|
|
MidiAlgoVer,
|
|
MidiNoteSustain,
|
|
DDRP4IOBufferMode,
|
|
InputRequiresFocus,
|
|
NostalgiaPoke,
|
|
ForceBackBufferCount,
|
|
SDVXWindowedSubscreenSize,
|
|
SDVXWindowedSubscreenPosition,
|
|
SDVXWindowedSubscreenBorderless,
|
|
SDVXWindowedSubscreenAlwaysOnTop,
|
|
LovePlusCamEnable,
|
|
LovePlusPrinterOutputPath,
|
|
LovePlusPrinterOutputClear,
|
|
LovePlusPrinterOutputOverwrite,
|
|
LovePlusPrinterOutputFormat,
|
|
LovePlusPrinterJPGQuality,
|
|
OptionConflictResolution,
|
|
};
|
|
|
|
enum class OptionsCategory {
|
|
Everything,
|
|
Basic,
|
|
Advanced,
|
|
Dev,
|
|
API
|
|
};
|
|
}
|
|
|
|
extern bool USE_CMD_OVERRIDE;
|
|
|
|
const std::vector<std::string> &get_categories(Options::OptionsCategory category);
|
|
const std::vector<OptionDefinition> &get_option_definitions();
|
|
std::unique_ptr<std::vector<Option>> parse_options(int argc, char *argv[]);
|
|
std::vector<Option> merge_options(const std::vector<Option> &options, const std::vector<Option> &overrides);
|
|
|
|
struct GameVersion {
|
|
std::string model;
|
|
std::string dest;
|
|
std::string spec;
|
|
std::string rev;
|
|
std::string ext;
|
|
};
|
|
|
|
std::string detect_bootstrap_release_code(const std::string& bootstrap_user);
|
|
GameVersion detect_gameversion(const std::string& ea3_user, const std::string& bootstrap_user);
|
|
}
|