3DS: Expose late thread flush as "loose sync"
This commit is contained in:
parent
a9041b122f
commit
daf01b03d5
1
CHANGES
1
CHANGES
@ -4,6 +4,7 @@ Features:
|
|||||||
- Custom border support
|
- Custom border support
|
||||||
- New option to lock the maximum frame size
|
- New option to lock the maximum frame size
|
||||||
- Memory access and information logging
|
- Memory access and information logging
|
||||||
|
- 3DS: Add faster "loose" sync mode, default enabled
|
||||||
- Scripting: New `input` API for getting raw keyboard/mouse/controller state
|
- Scripting: New `input` API for getting raw keyboard/mouse/controller state
|
||||||
- Scripting: New `storage` API for saving data for a script, e.g. settings
|
- Scripting: New `storage` API for saving data for a script, e.g. settings
|
||||||
- Scripting: New `image` and `canvas` APIs for drawing images and displaying on-screen
|
- Scripting: New `image` and `canvas` APIs for drawing images and displaying on-screen
|
||||||
|
@ -702,6 +702,7 @@ void mGUIRun(struct mGUIRunner* runner, const char* path) {
|
|||||||
mCoreConfigGetIntValue(&runner->config, "showOSD", &showOSD);
|
mCoreConfigGetIntValue(&runner->config, "showOSD", &showOSD);
|
||||||
mCoreConfigGetIntValue(&runner->config, "mute", &mute);
|
mCoreConfigGetIntValue(&runner->config, "mute", &mute);
|
||||||
mCoreConfigGetIntValue(&runner->config, "fastForwardMute", &fastForwardMute);
|
mCoreConfigGetIntValue(&runner->config, "fastForwardMute", &fastForwardMute);
|
||||||
|
runner->core->reloadConfigOption(runner->core, "threadedVideo.flushScanline", &runner->config);
|
||||||
#ifdef M_CORE_GB
|
#ifdef M_CORE_GB
|
||||||
if (runner->core->platform(runner->core) == mPLATFORM_GB) {
|
if (runner->core->platform(runner->core) == mPLATFORM_GB) {
|
||||||
runner->core->reloadConfigOption(runner->core, "gb.pal", &runner->config);
|
runner->core->reloadConfigOption(runner->core, "gb.pal", &runner->config);
|
||||||
|
@ -273,6 +273,7 @@ static void _resetCamera(struct m3DSImageSource* imageSource) {
|
|||||||
static void _setup(struct mGUIRunner* runner) {
|
static void _setup(struct mGUIRunner* runner) {
|
||||||
if (core2) {
|
if (core2) {
|
||||||
mCoreConfigSetDefaultIntValue(&runner->config, "threadedVideo", 1);
|
mCoreConfigSetDefaultIntValue(&runner->config, "threadedVideo", 1);
|
||||||
|
mCoreConfigSetDefaultIntValue(&runner->config, "threadedVideo.flushScanline", 0);
|
||||||
mCoreLoadForeignConfig(runner->core, &runner->config);
|
mCoreLoadForeignConfig(runner->core, &runner->config);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -968,6 +969,22 @@ int main(int argc, char* argv[]) {
|
|||||||
{ .id = 0 }
|
{ .id = 0 }
|
||||||
},
|
},
|
||||||
.configExtra = (struct GUIMenuItem[]) {
|
.configExtra = (struct GUIMenuItem[]) {
|
||||||
|
#ifdef M_CORE_GBA
|
||||||
|
{
|
||||||
|
.title = "Sync",
|
||||||
|
.data = GUI_V_S("threadedVideo.flushScanline"),
|
||||||
|
.state = 0,
|
||||||
|
.validStates = (const char*[]) {
|
||||||
|
"Loose (faster, can tear)", "Strict (slower, less input lag)"
|
||||||
|
},
|
||||||
|
.stateMappings = (const struct GUIVariant[]) {
|
||||||
|
GUI_V_I(0),
|
||||||
|
GUI_V_I(-1),
|
||||||
|
},
|
||||||
|
.nStates = 2
|
||||||
|
},
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
.title = "Screen mode",
|
.title = "Screen mode",
|
||||||
.data = GUI_V_S("screenMode"),
|
.data = GUI_V_S("screenMode"),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user