added bezel hotkeys

renamed bezel settings
moved Bezel class to common
This commit is contained in:
thrust26 2023-08-26 13:50:39 +02:00
parent 1be2526ee0
commit 3f1d5d644b
18 changed files with 135 additions and 91 deletions

View File

@ -137,24 +137,32 @@ bool Bezel::load()
const Int32 h = mySurface->height();
uInt32 top, bottom, left, right;
if(settings.getBool("bezel.autoborders"))
if(settings.getBool("bezel.win.auto"))
{
// Determine transparent window inside bezel image
top = borderSize(w >> 1, 0, h, w);
bottom = h - 1 - borderSize(w >> 1, h - 1, h, -w);
left = borderSize(0, (bottom + top) >> 1, w, 1);
right = w - 1 - borderSize(w - 1, (bottom + top) >> 1, w, -1);
uInt32 xCenter, yCenter;
xCenter = w >> 1;
top = borderSize(xCenter, 0, h, w);
bottom = h - 1 - borderSize(xCenter, h - 1, h, -w);
yCenter = (bottom + top) >> 1;
left = borderSize(0, yCenter, w, 1);
right = w - 1 - borderSize(w - 1, yCenter, w, -1);
}
else
{
left = std::min(w, settings.getInt("bezel.leftborder"));
right = w - 1 - std::min(w, settings.getInt("bezel.rightborder"));
top = std::min(h, settings.getInt("bezel.topborder"));
bottom = h - 1 - std::min(h, settings.getInt("bezel.bottomborder"));
// BP: 13, 13, 0, 0%
// HY: 12, 12, 0, 0%
// P1: 25, 25, 11, 22%
// P2: 23, 23, 7, 20%
left = std::min(w - 1, static_cast<Int32>(w * settings.getInt("bezel.win.left") / 100. + .5));
right = w - 1 - std::min(w - 1, static_cast<Int32>(w * settings.getInt("bezel.win.right") / 100. + .5));
top = std::min(h - 1, static_cast<Int32>(h * settings.getInt("bezel.win.top") / 100. + .5));
bottom = h - 1 - std::min(h - 1, static_cast<Int32>(h * settings.getInt("bezel.win.bottom") / 100. + .5));
}
cerr << (int)(right - left + 1) << " x " << (int)(bottom - top + 1) << " = "
<< double((int)(right - left + 1)) / double((int)(bottom - top + 1));
//cerr << (int)(right - left + 1) << " x " << (int)(bottom - top + 1) << " = "
// << double((int)(right - left + 1)) / double((int)(bottom - top + 1));
// Disable bezel is no transparent window was found
if (left < right && top < bottom)

View File

@ -623,6 +623,7 @@ PhysicalKeyboardHandler::DefaultCommonMapping = {
#endif
{ Event::OptionsMenuMode, KBDK_TAB },
{ Event::CmdMenuMode, KBDK_BACKSLASH },
{ Event::ToggleBezel, KBDK_B, KBDM_CTRL },
{ Event::TimeMachineMode, KBDK_T, KBDM_SHIFT },
{ Event::DebuggerMode, KBDK_GRAVE },
{ Event::PlusRomsSetupMode, KBDK_P, KBDM_SHIFT | KBDM_CTRL | MOD3 },

View File

@ -386,6 +386,7 @@ NLOHMANN_JSON_SERIALIZE_ENUM(Event::Type, {
{Event::ToggleBits, "ToggleBits"},
{Event::ToggleFixedColors, "ToggleFixedColors"},
{Event::ToggleFrameStats, "ToggleFrameStats"},
{Event::ToggleBezel, "ToggleBezel"},
{Event::ExitGame, "ExitGame"},
{Event::SettingDecrease, "SettingDecrease"},
{Event::SettingIncrease, "SettingIncrease"},

View File

@ -4,6 +4,7 @@ MODULE_OBJS := \
src/common/AudioQueue.o \
src/common/AudioSettings.o \
src/common/Base.o \
src/emucore/Bezel.o \
src/common/DevSettingsHandler.o \
src/common/EventHandlerSDL2.o \
src/common/FBBackendSDL2.o \

View File

@ -126,7 +126,7 @@ class Event
ToggleBLCollision, ToggleBLBit, TogglePFCollision, TogglePFBit,
ToggleCollisions, ToggleBits, ToggleFixedColors,
ToggleFrameStats, ToggleSAPortOrder, ExitGame,
ToggleFrameStats, ToggleBezel, ToggleSAPortOrder, ExitGame,
SettingDecrease, SettingIncrease, PreviousSetting, NextSetting,
ToggleAdaptRefresh, PreviousMultiCartRom,
// add new (after Version 4) events from here to avoid that user remapped events get overwritten

View File

@ -1517,6 +1517,14 @@ void EventHandler::handleEvent(Event::Type event, Int32 value, bool repeated)
if(pressed && !repeated) myOSystem.toggleTimeMachine();
return;
case Event::ToggleBezel:
if(pressed && !repeated)
{
myOSystem.frameBuffer().toggleBezel();
myGlobalKeyHandler->setSetting(GlobalKeyHandler::Setting::BEZEL);
}
return;
#ifdef IMAGE_SUPPORT
case Event::ToggleContSnapshots:
if(pressed && !repeated) myOSystem.png().toggleContinuousSnapshots(false);
@ -2827,6 +2835,7 @@ EventHandler::EmulActionList EventHandler::ourEmulActionList = { {
{ Event::ExitMode, "Exit current Stella menu/mode" },
{ Event::OptionsMenuMode, "Enter Options menu UI" },
{ Event::CmdMenuMode, "Toggle Commands menu UI" },
{ Event::ToggleBezel, "Toggle bezel display" },
{ Event::HighScoresMenuMode, "Toggle High Scores UI" },
{ Event::PlusRomsSetupMode, "Toggle PlusROMs setup UI" },
{ Event::TogglePauseMode, "Toggle Pause mode" },
@ -3148,7 +3157,7 @@ EventHandler::MenuActionList EventHandler::ourMenuActionList = { {
const Event::EventSet EventHandler::MiscEvents = {
Event::Quit, Event::ReloadConsole, Event::Fry, Event::StartPauseMode,
Event::TogglePauseMode, Event::OptionsMenuMode, Event::CmdMenuMode,
Event::PlusRomsSetupMode, Event::ExitMode,
Event::ToggleBezel, Event::PlusRomsSetupMode, Event::ExitMode,
Event::ToggleTurbo, Event::DecreaseSpeed, Event::IncreaseSpeed,
Event::TakeSnapshot, Event::ToggleContSnapshots, Event::ToggleContSnapshotsFrame,
// Event::MouseAxisXMove, Event::MouseAxisYMove,

View File

@ -537,7 +537,7 @@ class EventHandler
#else
REFRESH_SIZE = 0,
#endif
EMUL_ACTIONLIST_SIZE = 232 + PNG_SIZE + COMBO_SIZE + REFRESH_SIZE,
EMUL_ACTIONLIST_SIZE = 233 + PNG_SIZE + COMBO_SIZE + REFRESH_SIZE,
MENU_ACTIONLIST_SIZE = 20
;

View File

@ -1263,6 +1263,25 @@ void FrameBuffer::switchVideoMode(int direction)
}
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void FrameBuffer::toggleBezel(bool toggle)
{
bool enabled = myOSystem.settings().getBool("bezel.show");
if(toggle)
{
if(myBufferType == BufferType::Emulator &&
(fullScreen() || myOSystem.settings().getBool("bezel.windowed")))
{
enabled = !enabled;
myOSystem.settings().setValue("bezel.show", enabled);
myBezel->load();
applyVideoMode();
}
}
myOSystem.frameBuffer().showTextMessage(enabled ? "Bezel enabled" : "Bezel disabled");
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FBInitStatus FrameBuffer::applyVideoMode()
{
@ -1328,7 +1347,6 @@ FBInitStatus FrameBuffer::applyVideoMode()
return status;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
double FrameBuffer::maxWindowZoom() const
{

View File

@ -257,6 +257,11 @@ class FrameBuffer
*/
void switchVideoMode(int direction = +1);
/**
Toggles the bezel display.
*/
void toggleBezel(bool toggle = true);
/**
Sets the state of the cursor (hidden or grabbed) based on the
current mode.

View File

@ -208,6 +208,8 @@ bool GlobalKeyHandler::skipAVSetting() const
myOSystem.settings().getInt("tv.scanlines") > 0;
const bool isSoftwareRenderer =
myOSystem.settings().getString("video") == "software";
const bool allowBezel =
myOSystem.settings().getBool("bezel.windowed") || isFullScreen;
return (mySetting == Setting::OVERSCAN && !isFullScreen)
|| (mySetting == Setting::ZOOM && isFullScreen)
@ -223,7 +225,8 @@ bool GlobalKeyHandler::skipAVSetting() const
&& mySetting <= Setting::NTSC_BLEEDING
&& !isCustomFilter)
|| (mySetting == Setting::SCANLINE_MASK && !hasScanlines)
|| (mySetting == Setting::INTERPOLATION && isSoftwareRenderer);
|| (mySetting == Setting::INTERPOLATION && isSoftwareRenderer)
|| (mySetting == Setting::BEZEL && !allowBezel);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -391,6 +394,7 @@ GlobalKeyHandler::SettingData GlobalKeyHandler::getSettingData(const Setting set
{Setting::SCANLINES, {true, std::bind(&TIASurface::changeScanlineIntensity, &myOSystem.frameBuffer().tiaSurface(), _1)}},
{Setting::SCANLINE_MASK, {false, std::bind(&TIASurface::cycleScanlineMask, &myOSystem.frameBuffer().tiaSurface(), _1)}},
{Setting::INTERPOLATION, {false, std::bind(&Console::toggleInter, &myOSystem.console(), _1)}},
{Setting::BEZEL, {false, std::bind(&FrameBuffer::toggleBezel, &myOSystem.frameBuffer(), _1)}},
// *** Input group ***
{Setting::DIGITAL_DEADZONE, {true, std::bind(&PhysicalJoystickHandler::changeDigitalDeadZone, &joyHandler(), _1)}},
{Setting::ANALOG_DEADZONE, {true, std::bind(&PhysicalJoystickHandler::changeAnalogPaddleDeadZone, &joyHandler(), _1)}},

View File

@ -73,6 +73,7 @@ class GlobalKeyHandler
SCANLINES,
SCANLINE_MASK,
INTERPOLATION,
BEZEL,
// *** Input group ***
DIGITAL_DEADZONE,
ANALOG_DEADZONE,
@ -128,7 +129,7 @@ class GlobalKeyHandler
// *** Ranges ***
NUM_ADJ,
START_AV_ADJ = VOLUME,
END_AV_ADJ = INTERPOLATION,
END_AV_ADJ = BEZEL,
START_INPUT_ADJ = DIGITAL_DEADZONE,
END_INPUT_ADJ = MOUSE_RANGE,
START_DEBUG_ADJ = DEVELOPER,

View File

@ -64,11 +64,11 @@ Settings::Settings()
setPermanent("pausedim", "true");
setPermanent("bezel.show", "true");
setPermanent("bezel.windowed", "false");
setPermanent("bezel.autoborders", "true");
setPermanent("bezel.leftborder", "0");
setPermanent("bezel.rightborder", "0");
setPermanent("bezel.topborder", "0");
setPermanent("bezel.bottomborder", "0");
setPermanent("bezel.win.auto", "true");
setPermanent("bezel.win.left", "12");
setPermanent("bezel.win.right", "12");
setPermanent("bezel.win.top", "0");
setPermanent("bezel.win.bottom", "0");
// TIA specific options
setPermanent("tia.inter", "false");
setPermanent("tia.zoom", "3");
@ -546,13 +546,14 @@ void Settings::usage()
<< " -turbo <1|0> Enable 'Turbo' mode for maximum emulation speed\n"
<< " -uimessages <1|0> Show onscreen UI messages for different events\n"
<< " -pausedim <1|0> Enable emulation dimming in pause mode\n"
<< " -bezel.show <1|0> Show bezel left and right of emulation\n"
<< " -bezel.windowed <1|0> Show bezel in windowed modes\n"
<< " -bezel.autoborders <1|0> Automatically set bezel window borders\n"
<< " -bezel.leftborder <number> Set left bezel window border\n"
<< " -bezel.rightborder <number> Set right bezel window border\n"
<< " -bezel.topborder <number> Set top bezel window border\n"
<< " -bezel.bottomborder <number> Set bottom bezel window border\n"
<< endl
<< " -bezel.show <1|0> Show bezel around emulation window\n"
<< " -bezel.windowed <1|0> Show bezel in windowed modes\n"
<< " -bezel.win.auto <1|0> Automatically set bezel window position\n"
<< " -bezel.win.left <0-40> Set left bezel window position [%]\n"
<< " -bezel.win.right <0-40> Set right bezel window position [%]\n"
<< " -bezel.win.top <0-40> Set top bezel window position [%]\n"
<< " -bezel.win.bottom <0-40> Set bottom bezel window position [%]\n"
<< endl
#ifdef SOUND_SUPPORT
<< " -audio.enabled <1|0> Enable audio\n"

View File

@ -2,8 +2,7 @@ MODULE := src/emucore
MODULE_OBJS := \
src/emucore/AtariVox.o \
src/emucore/Bezel.o \
src/emucore/Bankswitch.o \
src/emucore/Bankswitch.o \
src/emucore/Booster.o \
src/emucore/Cart.o \
src/emucore/CartARM.o \

View File

@ -477,51 +477,47 @@ void VideoAudioDialog::addBezelTab()
ypos += lineHeight + VGAP * 3;
myBezelShowWindowed = new CheckboxWidget(myTab, _font, xpos, ypos,
"Show in windowed modes");
//myBezelShowWindowed->setToolTip(Event::BezelToggle);
"Windowed modes");
myBezelShowWindowed->setToolTip("Enable bezels in windowed modes as well.");
wid.push_back(myBezelShowWindowed);
// Disable auto borders
ypos += lineHeight + VGAP * 1;
myManualBorders = new CheckboxWidget(myTab, _font, xpos, ypos,
"Manual borders", kAutoBordersChanged);
myManualBorders->setToolTip("Enable if automatic border detection fails.");
wid.push_back(myManualBorders);
myManualWindow = new CheckboxWidget(myTab, _font, xpos, ypos,
"Manual emulation window", kAutoWindowChanged);
myManualWindow->setToolTip("Enable if automatic window detection fails.");
wid.push_back(myManualWindow);
xpos += INDENT;
const int lWidth = _font.getStringWidth("Bottom ");
const int sWidth = myBezelPath->getRight() - xpos - lWidth - 5.5 * fontWidth; // _w - HBORDER - xpos - lwidth;
const int sWidth = myBezelPath->getRight() - xpos - lWidth - 4.5 * fontWidth; // _w - HBORDER - xpos - lwidth;
ypos += lineHeight + VGAP * 1;
myLeftBorderSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Left ", 0, 0, 5 * fontWidth, "px");
myLeftBorderSlider->setMinValue(0); myLeftBorderSlider->setMaxValue(500);
myLeftBorderSlider->setTickmarkIntervals(10);
//myLeftBorderSlider->setToolTip(Event::VolumeDecrease, Event::VolumeIncrease);
wid.push_back(myLeftBorderSlider);
myWinLeftSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Left ", 0, 0, 4 * fontWidth, "%");
myWinLeftSlider->setMinValue(0); myWinLeftSlider->setMaxValue(40);
myWinLeftSlider->setTickmarkIntervals(4);
wid.push_back(myWinLeftSlider);
ypos += lineHeight + VGAP * 1;
myRightBorderSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Right ", 0, 0, 5 * fontWidth, "px");
myRightBorderSlider->setMinValue(0); myRightBorderSlider->setMaxValue(500);
myRightBorderSlider->setTickmarkIntervals(10);
//myRightBorderSlider->setToolTip(Event::VolumeDecrease, Event::VolumeIncrease);
wid.push_back(myRightBorderSlider);
myWinRightSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Right ", 0, 0, 4 * fontWidth, "%");
myWinRightSlider->setMinValue(0); myWinRightSlider->setMaxValue(40);
myWinRightSlider->setTickmarkIntervals(4);
wid.push_back(myWinRightSlider);
ypos += lineHeight + VGAP * 1;
myTopBorderSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Top ", 0, 0, 5 * fontWidth, "px");
myTopBorderSlider->setMinValue(0); myTopBorderSlider->setMaxValue(250);
myTopBorderSlider->setTickmarkIntervals(5);
//myTopBorderSlider->setToolTip(Event::VolumeDecrease, Event::VolumeIncrease);
wid.push_back(myTopBorderSlider);
myWinTopSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Top ", 0, 0, 4 * fontWidth, "%");
myWinTopSlider->setMinValue(0); myWinTopSlider->setMaxValue(40);
myWinTopSlider->setTickmarkIntervals(4);
wid.push_back(myWinTopSlider);
ypos += lineHeight + VGAP;
myBtmBorderSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Bottom ", 0, 0, 5 * fontWidth, "px");
myBtmBorderSlider->setMinValue(0); myBtmBorderSlider->setMaxValue(250);
myBtmBorderSlider->setTickmarkIntervals(5);
//myBtmBorderSlider->setToolTip(Event::VolumeDecrease, Event::VolumeIncrease);
wid.push_back(myBtmBorderSlider);
myWinBottomSlider = new SliderWidget(myTab, _font, xpos, ypos, sWidth, lineHeight,
"Bottom ", 0, 0, 4 * fontWidth, "%");
myWinBottomSlider->setMinValue(0); myWinBottomSlider->setMaxValue(40);
myWinBottomSlider->setTickmarkIntervals(4);
wid.push_back(myWinBottomSlider);
// Add items for tab 4
addToFocusList(wid, myTab, tabID);
@ -774,11 +770,11 @@ void VideoAudioDialog::loadConfig()
myBezelEnableCheckbox->setState(settings.getBool("bezel.show"));
myBezelPath->setText(settings.getString("bezel.dir"));
myBezelShowWindowed->setState(settings.getBool("bezel.windowed"));
myManualBorders->setState(!settings.getBool("bezel.autoborders"));
myLeftBorderSlider->setValue(settings.getInt("bezel.leftborder"));
myRightBorderSlider->setValue(settings.getInt("bezel.rightborder"));
myTopBorderSlider->setValue(settings.getInt("bezel.topborder"));
myBtmBorderSlider->setValue(settings.getInt("bezel.bottomborder"));
myManualWindow->setState(!settings.getBool("bezel.win.auto"));
myWinLeftSlider->setValue(settings.getInt("bezel.win.left"));
myWinRightSlider->setValue(settings.getInt("bezel.win.right"));
myWinTopSlider->setValue(settings.getInt("bezel.win.top"));
myWinBottomSlider->setValue(settings.getInt("bezel.win.bottom"));
handleBezelChange();
/////////////////////////////////////////////////////////////////////////////
@ -909,11 +905,11 @@ void VideoAudioDialog::saveConfig()
settings.setValue("bezel.show", myBezelEnableCheckbox->getState());
settings.setValue("bezel.dir", myBezelPath->getText());
settings.setValue("bezel.windowed", myBezelShowWindowed->getState());
settings.setValue("bezel.autoborders", !myManualBorders->getState());
settings.setValue("bezel.leftborder", myLeftBorderSlider->getValueLabel());
settings.setValue("bezel.rightborder", myRightBorderSlider->getValueLabel());
settings.setValue("bezel.topborder", myTopBorderSlider->getValueLabel());
settings.setValue("bezel.bottomborder", myBtmBorderSlider->getValueLabel());
settings.setValue("bezel.win.auto", !myManualWindow->getState());
settings.setValue("bezel.win.left", myWinLeftSlider->getValueLabel());
settings.setValue("bezel.win.right", myWinRightSlider->getValueLabel());
settings.setValue("bezel.win.top", myWinTopSlider->getValueLabel());
settings.setValue("bezel.win.bottom", myWinBottomSlider->getValueLabel());
// Note: The following has to happen after all video related setting have been saved
if(instance().hasConsole())
@ -1053,7 +1049,7 @@ void VideoAudioDialog::setDefaults()
myBezelEnableCheckbox->setState(true);
myBezelPath->setText(instance().userDir().getShortPath());
myBezelShowWindowed->setState(false);
myManualBorders->setState(false);
myManualWindow->setState(false);
handleBezelChange();
break;
@ -1223,15 +1219,15 @@ void VideoAudioDialog::handlePhosphorChange()
void VideoAudioDialog::handleBezelChange()
{
const bool enable = myBezelEnableCheckbox->getState();
const bool nonAuto = myManualBorders->getState();
const bool nonAuto = myManualWindow->getState();
myOpenBrowserButton->setEnabled(enable);
myBezelPath->setEnabled(enable);
myBezelShowWindowed->setEnabled(enable);
myLeftBorderSlider->setEnabled(enable && nonAuto);
myRightBorderSlider->setEnabled(enable && nonAuto);
myTopBorderSlider->setEnabled(enable && nonAuto);
myBtmBorderSlider->setEnabled(enable && nonAuto);
myWinLeftSlider->setEnabled(enable && nonAuto);
myWinRightSlider->setEnabled(enable && nonAuto);
myWinTopSlider->setEnabled(enable && nonAuto);
myWinBottomSlider->setEnabled(enable && nonAuto);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -1350,7 +1346,7 @@ void VideoAudioDialog::handleCommand(CommandSender* sender, int cmd,
break;
case kBezelEnableChanged:
case kAutoBordersChanged:
case kAutoWindowChanged:
handleBezelChange();
break;

View File

@ -135,11 +135,11 @@ class VideoAudioDialog : public Dialog
ButtonWidget* myOpenBrowserButton{nullptr};
EditTextWidget* myBezelPath{nullptr};
CheckboxWidget* myBezelShowWindowed{nullptr};
CheckboxWidget* myManualBorders{nullptr};
SliderWidget* myLeftBorderSlider{nullptr};
SliderWidget* myRightBorderSlider{nullptr};
SliderWidget* myTopBorderSlider{nullptr};
SliderWidget* myBtmBorderSlider{nullptr};
CheckboxWidget* myManualWindow{nullptr};
SliderWidget* myWinLeftSlider{nullptr};
SliderWidget* myWinRightSlider{nullptr};
SliderWidget* myWinTopSlider{nullptr};
SliderWidget* myWinBottomSlider{nullptr};
// Audio
CheckboxWidget* mySoundEnableCheckbox{nullptr};
@ -183,7 +183,7 @@ class VideoAudioDialog : public Dialog
kBezelEnableChanged = 'BZen',
kChooseBezelDirCmd = 'BZsl',
kAutoBordersChanged = 'BZab',
kAutoWindowChanged = 'BZab',
kSoundEnableChanged = 'ADse',
kDeviceChanged = 'ADdc',

View File

@ -734,6 +734,7 @@
<ClCompile Include="..\..\common\audio\LanczosResampler.cxx" />
<ClCompile Include="..\..\common\audio\SimpleResampler.cxx" />
<ClCompile Include="..\..\common\Base.cxx" />
<ClCompile Include="..\..\common\Bezel.cxx" />
<ClCompile Include="..\..\common\DevSettingsHandler.cxx" />
<ClCompile Include="..\..\common\EventHandlerSDL2.cxx" />
<ClCompile Include="..\..\common\FBBackendSDL2.cxx" />
@ -993,7 +994,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug-NoDebugger|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\..\emucore\Bankswitch.cxx" />
<ClCompile Include="..\..\emucore\Bezel.cxx" />
<ClCompile Include="..\..\emucore\Cart03E0.cxx" />
<ClCompile Include="..\..\emucore\Cart3EPlus.cxx" />
<ClCompile Include="..\..\emucore\Cart3EX.cxx" />
@ -2051,6 +2051,7 @@
<ClInclude Include="..\..\common\audio\Resampler.hxx" />
<ClInclude Include="..\..\common\audio\SimpleResampler.hxx" />
<ClInclude Include="..\..\common\Base.hxx" />
<ClInclude Include="..\..\common\Bezel.hxx" />
<ClInclude Include="..\..\common\bspf.hxx" />
<ClInclude Include="..\..\common\DevSettingsHandler.hxx" />
<ClInclude Include="..\..\common\EventHandlerSDL2.hxx" />
@ -2321,7 +2322,6 @@
<ClInclude Include="..\..\emucore\AmigaMouse.hxx" />
<ClInclude Include="..\..\emucore\AtariMouse.hxx" />
<ClInclude Include="..\..\emucore\Bankswitch.hxx" />
<ClInclude Include="..\..\emucore\Bezel.hxx" />
<ClInclude Include="..\..\emucore\Cart03E0.hxx" />
<ClInclude Include="..\..\emucore\Cart3EPlus.hxx" />
<ClInclude Include="..\..\emucore\Cart3EX.hxx" />

View File

@ -1209,8 +1209,8 @@
<ClCompile Include="..\..\debugger\gui\Cart03E0Widget.cxx">
<Filter>Source Files\debugger\gui</Filter>
</ClCompile>
<ClCompile Include="..\..\emucore\Bezel.cxx">
<Filter>Source Files\emucore</Filter>
<ClCompile Include="..\..\common\Bezel.cxx">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
@ -2468,8 +2468,8 @@
<ClInclude Include="..\..\debugger\gui\Cart03E0Widget.hxx">
<Filter>Header Files\debugger\gui</Filter>
</ClInclude>
<ClInclude Include="..\..\emucore\Bezel.hxx">
<Filter>Header Files\emucore</Filter>
<ClInclude Include="..\..\common\Bezel.hxx">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>