made scanlines available in non-Blargg modes

This commit is contained in:
thrust26 2019-04-03 18:32:42 +02:00
parent e2f5be4725
commit db833249df
4 changed files with 3 additions and 27 deletions

View File

@ -97,7 +97,7 @@ void TIASurface::initialize(const Console& console, const VideoMode& mode)
// so rounding is performed to eliminate it // so rounding is performed to eliminate it
// This won't be 100% accurate, but non-integral scaling isn't 100% // This won't be 100% accurate, but non-integral scaling isn't 100%
// accurate anyway // accurate anyway
mySLineSurface->setSrcSize(1, int(2 * float(mode.image.height()) / mySLineSurface->setSrcSize(1, 2 * int(float(mode.image.height()) /
floor((float(mode.image.height()) / myTIA->height()) + 0.5))); floor((float(mode.image.height()) / myTIA->height()) + 0.5)));
#if 0 #if 0
@ -288,7 +288,7 @@ void TIASurface::enableNTSC(bool enable)
tia_attr.smoothing = myOSystem.settings().getBool("tia.inter"); tia_attr.smoothing = myOSystem.settings().getBool("tia.inter");
myTiaSurface->applyAttributes(); myTiaSurface->applyAttributes();
myScanlinesEnabled = enable; myScanlinesEnabled = myOSystem.settings().getInt("tv.scanlines") > 0;
FBSurface::Attributes& sl_attr = mySLineSurface->attributes(); FBSurface::Attributes& sl_attr = mySLineSurface->attributes();
sl_attr.smoothing = myOSystem.settings().getBool("tv.scaninter"); sl_attr.smoothing = myOSystem.settings().getBool("tv.scaninter");
sl_attr.blending = myScanlinesEnabled; sl_attr.blending = myScanlinesEnabled;

View File

@ -109,7 +109,7 @@ void StellaSettingsDialog::addVideoOptions(WidgetArray& wid, int& xpos, int& ypo
int pwidth = font.getStringWidth("Bad adjust"); int pwidth = font.getStringWidth("Bad adjust");
myTVMode = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight, myTVMode = new PopUpWidget(this, font, xpos, ypos, pwidth, lineHeight,
items, "TV mode ", lwidth, kTVModeChanged); items, "TV mode ", lwidth);
wid.push_back(myTVMode); wid.push_back(myTVMode);
ypos += lineHeight + VGAP * 2; ypos += lineHeight + VGAP * 2;
@ -194,7 +194,6 @@ void StellaSettingsDialog::loadConfig()
// TV scanline intensity // TV scanline intensity
myTVScanIntense->setValue(valueToLevel(settings.getInt("tv.scanlines"))); myTVScanIntense->setValue(valueToLevel(settings.getInt("tv.scanlines")));
handleTVModeChange();
// TV phosphor blend // TV phosphor blend
myTVPhosLevel->setValue(valueToLevel(settings.getInt("tv.phosblend"))); myTVPhosLevel->setValue(valueToLevel(settings.getInt("tv.phosblend")));
@ -270,8 +269,6 @@ void StellaSettingsDialog::setDefaults()
// TV phosphor blend // TV phosphor blend
myTVPhosLevel->setValue(6); // = 45% myTVPhosLevel->setValue(6); // = 45%
handleTVModeChange();
// Load the default game properties // Load the default game properties
Properties defaultProperties; Properties defaultProperties;
const string& md5 = myGameProperties.get(Cartridge_MD5); const string& md5 = myGameProperties.get(Cartridge_MD5);
@ -296,10 +293,6 @@ void StellaSettingsDialog::handleCommand(CommandSender* sender, int cmd,
setDefaults(); setDefaults();
break; break;
case kTVModeChanged:
handleTVModeChange();
break;
case kScanlinesChanged: case kScanlinesChanged:
if(myTVScanIntense->getValue() == 0) if(myTVScanIntense->getValue() == 0)
myTVScanIntense->setValueLabel("off"); myTVScanIntense->setValueLabel("off");
@ -400,16 +393,6 @@ void StellaSettingsDialog::loadControllerProperties(const Properties& props)
} }
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void StellaSettingsDialog::handleTVModeChange()
{
NTSCFilter::Preset preset = NTSCFilter::Preset(myTVMode->getSelectedTag().toInt());
bool scanenable = preset != NTSCFilter::PRESET_OFF;
myTVScanlines->setEnabled(scanenable);
myTVScanIntense->setEnabled(scanenable);
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
int StellaSettingsDialog::levelToValue(int level) int StellaSettingsDialog::levelToValue(int level)
{ {

View File

@ -43,7 +43,6 @@ class StellaSettingsDialog : public Dialog
void addGameOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font); void addGameOptions(WidgetArray& wid, int& xpos, int& ypos, const GUI::Font& font);
void handleCommand(CommandSender* sender, int cmd, int data, int id) override; void handleCommand(CommandSender* sender, int cmd, int data, int id) override;
void handleTVModeChange();
// load the properties for the controller settings // load the properties for the controller settings
void loadControllerProperties(const Properties& props); void loadControllerProperties(const Properties& props);
@ -77,7 +76,6 @@ class StellaSettingsDialog : public Dialog
StaticTextWidget* myRightPortDetected; StaticTextWidget* myRightPortDetected;
enum { enum {
kTVModeChanged = 'SStv',
kScanlinesChanged = 'SSsc', kScanlinesChanged = 'SSsc',
kPhosphorChanged = 'SSph' kPhosphorChanged = 'SSph'
}; };

View File

@ -540,7 +540,6 @@ void VideoDialog::setDefaults()
void VideoDialog::handleTVModeChange(NTSCFilter::Preset preset) void VideoDialog::handleTVModeChange(NTSCFilter::Preset preset)
{ {
bool enable = preset == NTSCFilter::PRESET_CUSTOM; bool enable = preset == NTSCFilter::PRESET_CUSTOM;
bool scanenable = preset != NTSCFilter::PRESET_OFF;
myTVSharp->setEnabled(enable); myTVSharp->setEnabled(enable);
myTVHue->setEnabled(enable); myTVHue->setEnabled(enable);
@ -557,10 +556,6 @@ void VideoDialog::handleTVModeChange(NTSCFilter::Preset preset)
myCloneRGB->setEnabled(enable); myCloneRGB->setEnabled(enable);
myCloneBad->setEnabled(enable); myCloneBad->setEnabled(enable);
myCloneCustom->setEnabled(enable); myCloneCustom->setEnabled(enable);
myTVScanLabel->setEnabled(scanenable);
myTVScanIntense->setEnabled(scanenable);
myTVScanInterpolate->setEnabled(scanenable);
} }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -