From 514e09a1595e5f0cab5fc246e96650b0e8eed3d6 Mon Sep 17 00:00:00 2001 From: rogerman Date: Mon, 18 Feb 2013 19:44:06 +0000 Subject: [PATCH] - Revert commandline.cpp and videofilter.cpp back to r4536. Fixes regression from r4538 that broke compiling on non-Windows platforms. - Do temporary workaround for setting the scanline filter parameters on Windows. --- desmume/src/commandline.cpp | 10 +++++----- desmume/src/filter/videofilter.cpp | 16 ++++++++-------- desmume/src/windows/main.cpp | 25 +++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 13 deletions(-) diff --git a/desmume/src/commandline.cpp b/desmume/src/commandline.cpp index 2a072c9e3..7de2f9beb 100644 --- a/desmume/src/commandline.cpp +++ b/desmume/src/commandline.cpp @@ -28,7 +28,7 @@ #include "NDSSystem.h" #include "utils/xstring.h" -int scanline_filter_a = 0, scanline_filter_b = 2, scanline_filter_c = 2, scanline_filter_d = 4; +int _scanline_filter_a = 0, _scanline_filter_b = 2, _scanline_filter_c = 2, _scanline_filter_d = 4; int _commandline_linux_nojoy = 0; CommandLine::CommandLine() @@ -91,10 +91,10 @@ void CommandLine::loadCommonOptions() { "bios-swi", 0, 0, G_OPTION_ARG_INT, &_bios_swi, "Uses SWI from the provided bios files", "BIOS_SWI"}, { "spu-advanced", 0, 0, G_OPTION_ARG_INT, &_spu_advanced, "Uses advanced SPU capture functions", "SPU_ADVANCED"}, { "num-cores", 0, 0, G_OPTION_ARG_INT, &_num_cores, "Override numcores detection and use this many", "NUM_CORES"}, - { "scanline-filter-a", 0, 0, G_OPTION_ARG_INT, &scanline_filter_a, "Intensity of fadeout for scanlines filter (topleft) (default 0)", "SCANLINE_FILTER_A"}, - { "scanline-filter-b", 0, 0, G_OPTION_ARG_INT, &scanline_filter_b, "Intensity of fadeout for scanlines filter (topright) (default 2)", "SCANLINE_FILTER_B"}, - { "scanline-filter-c", 0, 0, G_OPTION_ARG_INT, &scanline_filter_c, "Intensity of fadeout for scanlines filter (bottomleft) (default 2)", "SCANLINE_FILTER_C"}, - { "scanline-filter-d", 0, 0, G_OPTION_ARG_INT, &scanline_filter_d, "Intensity of fadeout for scanlines filter (bottomright) (default 4)", "SCANLINE_FILTER_D"}, + { "scanline-filter-a", 0, 0, G_OPTION_ARG_INT, &_scanline_filter_a, "Intensity of fadeout for scanlines filter (topleft) (default 0)", "SCANLINE_FILTER_A"}, + { "scanline-filter-b", 0, 0, G_OPTION_ARG_INT, &_scanline_filter_b, "Intensity of fadeout for scanlines filter (topright) (default 2)", "SCANLINE_FILTER_B"}, + { "scanline-filter-c", 0, 0, G_OPTION_ARG_INT, &_scanline_filter_c, "Intensity of fadeout for scanlines filter (bottomleft) (default 2)", "SCANLINE_FILTER_C"}, + { "scanline-filter-d", 0, 0, G_OPTION_ARG_INT, &_scanline_filter_d, "Intensity of fadeout for scanlines filter (bottomright) (default 4)", "SCANLINE_FILTER_D"}, { "rigorous-timing", 0, 0, G_OPTION_ARG_INT, &_rigorous_timing, "Use some rigorous timings instead of unrealistically generous (default 0)", "RIGOROUS_TIMING"}, { "advanced-timing", 0, 0, G_OPTION_ARG_INT, &_advanced_timing, "Use advanced BUS-level timing (default 1)", "ADVANCED_TIMING"}, { "slot1", 0, 0, G_OPTION_ARG_STRING, &_slot1, "Device to load in slot 1 (default retail)", "SLOT1"}, diff --git a/desmume/src/filter/videofilter.cpp b/desmume/src/filter/videofilter.cpp index 7a6092307..437218eac 100644 --- a/desmume/src/filter/videofilter.cpp +++ b/desmume/src/filter/videofilter.cpp @@ -20,10 +20,10 @@ #include // Parameters for Scanline filter -int _scanline_filter_a = 0; -int _scanline_filter_b = 2; -int _scanline_filter_c = 2; -int _scanline_filter_d = 4; +int scanline_filter_a = 0; +int scanline_filter_b = 2; +int scanline_filter_c = 2; +int scanline_filter_d = 4; // typedef struct @@ -33,10 +33,10 @@ typedef struct } _VideoFilterParamAttributes; static const _VideoFilterParamAttributes _VideoFilterParamAttributesList[] = { - {&_scanline_filter_a, VF_INT}, - {&_scanline_filter_b, VF_INT}, - {&_scanline_filter_c, VF_INT}, - {&_scanline_filter_d, VF_INT}, + {&scanline_filter_a, VF_INT}, + {&scanline_filter_b, VF_INT}, + {&scanline_filter_c, VF_INT}, + {&scanline_filter_d, VF_INT}, }; /******************************************************************************************** diff --git a/desmume/src/windows/main.cpp b/desmume/src/windows/main.cpp index 0b995d2a0..ad533e417 100644 --- a/desmume/src/windows/main.cpp +++ b/desmume/src/windows/main.cpp @@ -434,6 +434,19 @@ volatile bool paused = true; volatile BOOL pausedByMinimize = FALSE; u32 glock = 0; +// Scanline filter parameters. The first set is from commandline.cpp, the second +// set is externed to scanline.cpp. +// TODO: When videofilter.cpp becomes Windows-friendly, remove the second set of +// variables, as they will no longer be necessary at that point. +extern int _scanline_filter_a; +extern int _scanline_filter_b; +extern int _scanline_filter_c; +extern int _scanline_filter_d; +int scanline_filter_a = 0; +int scanline_filter_b = 2; +int scanline_filter_c = 2; +int scanline_filter_d = 4; + BOOL finished = FALSE; bool romloaded = false; @@ -2928,6 +2941,18 @@ int _main() } cmdline.validate(); start_paused = cmdline.start_paused!=0; + + // Temporary scanline parameter setting for Windows. + // TODO: When videofilter.cpp becomes Windows-friendly, replace the direct setting of + // variables with SetFilterParameteri(). + //myVideoFilterObject->SetFilterParameteri(VF_PARAM_SCANLINE_A, _scanline_filter_a); + //myVideoFilterObject->SetFilterParameteri(VF_PARAM_SCANLINE_B, _scanline_filter_b); + //myVideoFilterObject->SetFilterParameteri(VF_PARAM_SCANLINE_C, _scanline_filter_c); + //myVideoFilterObject->SetFilterParameteri(VF_PARAM_SCANLINE_D, _scanline_filter_d); + scanline_filter_a = _scanline_filter_a; + scanline_filter_b = _scanline_filter_b; + scanline_filter_c = _scanline_filter_c; + scanline_filter_d = _scanline_filter_d; Desmume_InitOnce(); aggDraw.hud->setFont(fonts_list[GetPrivateProfileInt("Display","HUD Font", font_Nums-1, IniName)].name);