mirror of
https://github.com/spice2x/spice2x.github.io.git
synced 2026-08-05 00:00:42 -07:00
MDX: Exposed P4IO Buffer Filling Mode to Spicecfg (#463)
## Description of change Extension of #460 An option was exposed to `spicecfg` (`P4IOBufferMode`) for toggling between the Thread and Backfill buffer fill implementations from the prior PR. ## Testing - Verified the option properly toggled between the two implementations
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
#include "api/modules/capture.h"
|
||||
#include "acio/acio.h"
|
||||
#include "acio/icca/icca.h"
|
||||
#include "acio/mdxf/mdxf.h"
|
||||
#include "api/controller.h"
|
||||
#include "avs/automap.h"
|
||||
#include "avs/core.h"
|
||||
@@ -1149,6 +1150,14 @@ int main_implementation(int argc, char *argv[]) {
|
||||
rawinput::RAWINPUT_REQUIRE_FOCUS = false;
|
||||
}
|
||||
}
|
||||
if (options[launcher::Options::DDRP4IOBufferMode].is_active()) {
|
||||
if (options[launcher::Options::DDRP4IOBufferMode].value_text() == "thread") {
|
||||
acio::MDXF_BUFFER_FILL_MODE = acio::THREAD_MODE;
|
||||
} else if (options[launcher::Options::DDRP4IOBufferMode].value_text() == "backfill") {
|
||||
acio::MDXF_BUFFER_FILL_MODE = acio::BACKFILL_MODE;
|
||||
}
|
||||
// else - default (no value)
|
||||
}
|
||||
|
||||
if (options[launcher::Options::MidiAlgoVer].is_active()) {
|
||||
if (options[launcher::Options::MidiAlgoVer].value_text() == "legacy") {
|
||||
|
||||
@@ -2291,6 +2291,24 @@ static const std::vector<OptionDefinition> OPTION_DEFINITIONS = {
|
||||
.setting_name = "20",
|
||||
.category = "I/O Options",
|
||||
},
|
||||
{
|
||||
// DDRP4IOBufferMode
|
||||
.title = "DDR P4IO Buffer Algorithm",
|
||||
.name = "ddrp4iobuffer",
|
||||
.desc =
|
||||
"Remember to restart after changing this value.\n\n"
|
||||
"Sets the algorithm used to populate entries to the buffer of controller polls read by the game.\n\n"
|
||||
"Thread: Starts a thread to periodically insert polls into the buffer (defaults to Backfill if game's refresh rate is at least 120Hz).\n\n"
|
||||
"Backfill: Fills the buffer on each frame with last known state info at short regular intervals up to the current time, then writes the current state.\n\n"
|
||||
"Only has an effect when emulating P4IO (arkmdxp4.dll)",
|
||||
.type = OptionType::Enum,
|
||||
.game_name = "Dance Dance Revolution",
|
||||
.category = "Game Options (Advanced)",
|
||||
.elements = {
|
||||
{"thread", ""},
|
||||
{"backfill", ""},
|
||||
},
|
||||
},
|
||||
{
|
||||
// InputRequiresFocus
|
||||
.title = "Input Requires Focus",
|
||||
|
||||
@@ -241,6 +241,7 @@ namespace launcher {
|
||||
IIDXRecDisable,
|
||||
MidiAlgoVer,
|
||||
MidiNoteSustain,
|
||||
DDRP4IOBufferMode,
|
||||
InputRequiresFocus,
|
||||
NostalgiaPoke,
|
||||
ForceBackBufferCount,
|
||||
|
||||
Reference in New Issue
Block a user