mirror of https://github.com/stella-emu/stella.git
display auto-detected values in GameInfoDialog
This commit is contained in:
parent
4bc3373b37
commit
c566256373
|
@ -123,6 +123,11 @@ GameInfoDialog::GameInfoDialog(
|
||||||
wid.push_back(myType);
|
wid.push_back(myType);
|
||||||
ypos += lineHeight + VGAP;
|
ypos += lineHeight + VGAP;
|
||||||
|
|
||||||
|
myTypeDetected = new StaticTextWidget(myTab, ifont, xpos+lwidth, ypos,
|
||||||
|
"( CM (SpectraVideo CompuMate) detected)");
|
||||||
|
wid.push_back(myTypeDetected);
|
||||||
|
ypos += ifont.getLineHeight() + VGAP/2;
|
||||||
|
|
||||||
mySound = new CheckboxWidget(myTab, font, xpos, ypos + 1, "Stereo sound");
|
mySound = new CheckboxWidget(myTab, font, xpos, ypos + 1, "Stereo sound");
|
||||||
wid.push_back(mySound);
|
wid.push_back(mySound);
|
||||||
|
|
||||||
|
@ -294,9 +299,12 @@ GameInfoDialog::GameInfoDialog(
|
||||||
pwidth, lineHeight, items, "", 0, 0);
|
pwidth, lineHeight, items, "", 0, 0);
|
||||||
wid.push_back(myFormat);
|
wid.push_back(myFormat);
|
||||||
|
|
||||||
|
myFormatDetected = new StaticTextWidget(myTab, ifont, myFormat->getRight() + 4, ypos + 4, "(SECAM60* detected");
|
||||||
|
wid.push_back(myFormatDetected);
|
||||||
|
|
||||||
ypos += lineHeight + VGAP;
|
ypos += lineHeight + VGAP;
|
||||||
swidth = myFormat->getWidth();
|
swidth = myFormat->getWidth();
|
||||||
t = new StaticTextWidget(myTab, font, HBORDER, ypos+1, "Y-Start ");
|
t = new StaticTextWidget(myTab, font, HBORDER, ypos+2, "Y-Start ");
|
||||||
myYStart = new SliderWidget(myTab, font, t->getRight(), ypos, swidth, lineHeight,
|
myYStart = new SliderWidget(myTab, font, t->getRight(), ypos, swidth, lineHeight,
|
||||||
"", 0, kYStartChanged, 4 * fontWidth, "px");
|
"", 0, kYStartChanged, 4 * fontWidth, "px");
|
||||||
myYStart->setMinValue(TIAConstants::minYStart-1);
|
myYStart->setMinValue(TIAConstants::minYStart-1);
|
||||||
|
@ -304,8 +312,11 @@ GameInfoDialog::GameInfoDialog(
|
||||||
myYStart->setTickmarkInterval(4);
|
myYStart->setTickmarkInterval(4);
|
||||||
wid.push_back(myYStart);
|
wid.push_back(myYStart);
|
||||||
|
|
||||||
|
myYStartDetected = new StaticTextWidget(myTab, ifont, myYStart->getRight() + 4, ypos + 5, " (100px detected)");
|
||||||
|
wid.push_back(myYStartDetected);
|
||||||
|
|
||||||
ypos += lineHeight + VGAP;
|
ypos += lineHeight + VGAP;
|
||||||
t = new StaticTextWidget(myTab, font, HBORDER, ypos+1, "Height ");
|
t = new StaticTextWidget(myTab, font, HBORDER, ypos+2, "Height ");
|
||||||
myHeight = new SliderWidget(myTab, font, t->getRight(), ypos, swidth, lineHeight,
|
myHeight = new SliderWidget(myTab, font, t->getRight(), ypos, swidth, lineHeight,
|
||||||
"", 0, kHeightChanged, 5 * fontWidth, "px");
|
"", 0, kHeightChanged, 5 * fontWidth, "px");
|
||||||
myHeight->setMinValue(TIAConstants::minViewableHeight-1);
|
myHeight->setMinValue(TIAConstants::minViewableHeight-1);
|
||||||
|
@ -313,6 +324,10 @@ GameInfoDialog::GameInfoDialog(
|
||||||
myHeight->setTickmarkInterval(4);
|
myHeight->setTickmarkInterval(4);
|
||||||
wid.push_back(myHeight);
|
wid.push_back(myHeight);
|
||||||
|
|
||||||
|
myHeightDetected = new StaticTextWidget(myTab, ifont, myHeight->getRight() + 4, ypos + 5, "(100px detected)");
|
||||||
|
wid.push_back(myYStartDetected);
|
||||||
|
|
||||||
|
|
||||||
// Phosphor
|
// Phosphor
|
||||||
ypos += lineHeight + VGAP*4;
|
ypos += lineHeight + VGAP*4;
|
||||||
myPhosphor = new CheckboxWidget(myTab, font, HBORDER, ypos+1, "Phosphor", kPhosphorChanged);
|
myPhosphor = new CheckboxWidget(myTab, font, HBORDER, ypos+1, "Phosphor", kPhosphorChanged);
|
||||||
|
@ -369,6 +384,15 @@ void GameInfoDialog::loadCartridgeProperties(Properties properties)
|
||||||
myNote->setText(properties.get(Cartridge_Note));
|
myNote->setText(properties.get(Cartridge_Note));
|
||||||
mySound->setState(properties.get(Cartridge_Sound) == "STEREO");
|
mySound->setState(properties.get(Cartridge_Sound) == "STEREO");
|
||||||
myType->setSelected(properties.get(Cartridge_Type), "AUTO");
|
myType->setSelected(properties.get(Cartridge_Type), "AUTO");
|
||||||
|
|
||||||
|
if(instance().hasConsole() && myType->getSelectedTag().toString() == "AUTO")
|
||||||
|
{
|
||||||
|
stringstream ss;
|
||||||
|
ss << "(" << instance().console().about().BankSwitch << "detected)";
|
||||||
|
myTypeDetected->setLabel(ss.str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
myTypeDetected->setLabel("");
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
@ -421,17 +445,42 @@ void GameInfoDialog::loadControllerProperties(Properties properties)
|
||||||
void GameInfoDialog::loadDisplayProperties(Properties properties)
|
void GameInfoDialog::loadDisplayProperties(Properties properties)
|
||||||
{
|
{
|
||||||
myFormat->setSelected(properties.get(Display_Format), "AUTO");
|
myFormat->setSelected(properties.get(Display_Format), "AUTO");
|
||||||
|
if(instance().hasConsole() && myFormat->getSelectedTag().toString() == "AUTO")
|
||||||
|
{
|
||||||
|
const string& format = instance().console().about().DisplayFormat;
|
||||||
|
string label = format.substr(0, format.length() - 1);
|
||||||
|
myFormatDetected->setLabel("(" + label + " detected)");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
myFormatDetected->setLabel("");
|
||||||
|
|
||||||
const string& ystart = properties.get(Display_YStart);
|
const string& ystart = properties.get(Display_YStart);
|
||||||
myYStart->setValue(atoi(ystart.c_str()));
|
myYStart->setValue(atoi(ystart.c_str()));
|
||||||
myYStart->setValueLabel(ystart == "0" ? "Auto" : ystart);
|
myYStart->setValueLabel(ystart == "0" ? "Auto" : ystart);
|
||||||
myYStart->setValueUnit(ystart == "0" ? "" : "px");
|
myYStart->setValueUnit(ystart == "0" ? "" : "px");
|
||||||
|
if(instance().hasConsole() && ystart == "0")
|
||||||
|
{
|
||||||
|
stringstream ss;
|
||||||
|
ss << " (" << instance().console().tia().ystart() << "px detected)";
|
||||||
|
myYStartDetected->setLabel(ss.str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
myYStartDetected->setLabel("");
|
||||||
|
|
||||||
const string& height = properties.get(Display_Height);
|
const string& height = properties.get(Display_Height);
|
||||||
myHeight->setValue(atoi(height.c_str()));
|
myHeight->setValue(atoi(height.c_str()));
|
||||||
myHeight->setValueLabel(height == "0" ? "Auto" : height);
|
myHeight->setValueLabel(height == "0" ? "Auto" : height);
|
||||||
myHeight->setValueUnit(height == "0" ? "" : "px");
|
myHeight->setValueUnit(height == "0" ? "" : "px");
|
||||||
|
|
||||||
|
if(instance().hasConsole() && height == "0")
|
||||||
|
{
|
||||||
|
stringstream ss;
|
||||||
|
ss << "(" << instance().console().tia().height() << "px detected)";
|
||||||
|
myHeightDetected->setLabel(ss.str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
myHeightDetected->setLabel("");
|
||||||
|
|
||||||
bool usePhosphor = properties.get(Display_Phosphor) == "YES";
|
bool usePhosphor = properties.get(Display_Phosphor) == "YES";
|
||||||
myPhosphor->setState(usePhosphor);
|
myPhosphor->setState(usePhosphor);
|
||||||
myPPBlend->setEnabled(usePhosphor);
|
myPPBlend->setEnabled(usePhosphor);
|
||||||
|
|
|
@ -68,6 +68,7 @@ class GameInfoDialog : public Dialog, public CommandSender
|
||||||
EditTextWidget* myRarity;
|
EditTextWidget* myRarity;
|
||||||
EditTextWidget* myNote;
|
EditTextWidget* myNote;
|
||||||
PopUpWidget* myType;
|
PopUpWidget* myType;
|
||||||
|
StaticTextWidget* myTypeDetected;
|
||||||
CheckboxWidget* mySound;
|
CheckboxWidget* mySound;
|
||||||
|
|
||||||
// Console properties
|
// Console properties
|
||||||
|
@ -92,8 +93,11 @@ class GameInfoDialog : public Dialog, public CommandSender
|
||||||
|
|
||||||
// Display properties
|
// Display properties
|
||||||
PopUpWidget* myFormat;
|
PopUpWidget* myFormat;
|
||||||
|
StaticTextWidget* myFormatDetected;
|
||||||
SliderWidget* myYStart;
|
SliderWidget* myYStart;
|
||||||
|
StaticTextWidget* myYStartDetected;
|
||||||
SliderWidget* myHeight;
|
SliderWidget* myHeight;
|
||||||
|
StaticTextWidget* myHeightDetected;
|
||||||
CheckboxWidget* myPhosphor;
|
CheckboxWidget* myPhosphor;
|
||||||
SliderWidget* myPPBlend;
|
SliderWidget* myPPBlend;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue