diff --git a/Changes.txt b/Changes.txt index ac2056905..c6ff79bd5 100644 --- a/Changes.txt +++ b/Changes.txt @@ -18,6 +18,9 @@ context menu item to the debugger TIA output area. This saves the current TIA image to a PNG file. + * Removed 'uipalette' option, as the original palette is no longer + supported. + * Updated included PNG library to latest stable version. -Have fun! diff --git a/docs/index.html b/docs/index.html index 3a7ec1137..8551eea98 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2112,12 +2112,6 @@ given zoom level (1 or 2). - -
-uipalette <1|2>
- Used the specified palette for UI elements. This isn't yet - complete. - -
-listdelay <delay>
Set the amount of time to wait between treating successive diff --git a/src/emucore/FrameBuffer.cxx b/src/emucore/FrameBuffer.cxx index 4c0e46a05..6bfe9722e 100644 --- a/src/emucore/FrameBuffer.cxx +++ b/src/emucore/FrameBuffer.cxx @@ -116,10 +116,7 @@ FBInitStatus FrameBuffer::initialize(const string& title, VideoMode mode = getSavedVidMode(); if(width <= mode.screen_w && height <= mode.screen_h) { - // Set window title and icon setWindowTitle(title); - if(myInitializedCount == 1) setWindowIcon(); - if(initSubsystem(mode, useFullscreen)) { centerAppWindow(mode); @@ -165,10 +162,13 @@ FBInitStatus FrameBuffer::initialize(const string& title, myMsg.surface = surface(surfaceID); } - // Finally, show some information about the framebuffer, - // but only on the first initialization + // Take care of some items that are only done once per framebuffer creation. if(myInitializedCount == 1) + { myOSystem->logMessage(about(), 1); + setUIPalette(); + setWindowIcon(); + } return kSuccess; } @@ -654,14 +654,14 @@ void FrameBuffer::setTIAPalette(const uInt32* palette) } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void FrameBuffer::setUIPalette(const uInt32* palette) +void FrameBuffer::setUIPalette() { // Set palette for GUI for(int i = 0, j = 256; i < kNumColors-256; ++i, ++j) { - Uint8 r = (palette[i] >> 16) & 0xff; - Uint8 g = (palette[i] >> 8) & 0xff; - Uint8 b = palette[i] & 0xff; + Uint8 r = (ourGUIColors[i] >> 16) & 0xff; + Uint8 g = (ourGUIColors[i] >> 8) & 0xff; + Uint8 b = ourGUIColors[i] & 0xff; myDefPalette[j] = mapRGB(r, g, b); } @@ -1301,3 +1301,47 @@ FrameBuffer::GraphicsMode FrameBuffer::ourGraphicsModes[GFX_NumModes] = { { GFX_Zoom9x, "zoom9x", "Zoom 9x", 9, 0x3 }, { GFX_Zoom10x, "zoom10x", "Zoom 10x", 10, 0x3 } }; + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +/* + Palette is defined as follows: + // Base colors + kColor Normal foreground color (non-text) + kBGColor Normal background color (non-text) + kShadowColor Item is disabled + kTextColor Normal text color + kTextColorHi Highlighted text color + kTextColorEm Emphasized text color + + // UI elements (dialog and widgets) + kDlgColor Dialog background + kWidColor Widget background + kWidFrameColor Border for currently selected widget + + // Button colors + kBtnColor Normal button background + kBtnColorHi Highlighted button background + kBtnTextColor Normal button font color + kBtnTextColorHi Highlighted button font color + + // Checkbox colors + kCheckColor Color of 'X' in checkbox + + // Scrollbar colors + kScrollColor Normal scrollbar color + kScrollColorHi Highlighted scrollbar color + + // Debugger colors + kDbgChangedColor Background color for changed cells + kDbgChangedTextColor Text color for changed cells + kDbgColorHi Highlighted color in debugger data cells +*/ +uInt32 FrameBuffer::ourGUIColors[kNumColors-256] = { + 0x686868, 0x000000, 0x404040, 0x000000, 0x62a108, 0x9f0000, + 0xc9af7c, 0xf0f0cf, 0xc80000, + 0xac3410, 0xd55941, 0xffffff, 0xffd652, + 0xac3410, + 0xac3410, 0xd55941, + 0xac3410, 0xd55941, + 0xc80000, 0x00ff00, 0xc8c8ff +}; diff --git a/src/emucore/FrameBuffer.hxx b/src/emucore/FrameBuffer.hxx index 7e6369454..867139efc 100644 --- a/src/emucore/FrameBuffer.hxx +++ b/src/emucore/FrameBuffer.hxx @@ -264,13 +264,6 @@ class FrameBuffer */ virtual void setTIAPalette(const uInt32* palette); - /** - Set up the user interface palette for a screen of any depth > 8. - - @param palette The array of colors - */ - virtual void setUIPalette(const uInt32* palette); - /** Informs the Framebuffer of a change in EventHandler state. */ @@ -573,6 +566,11 @@ class FrameBuffer */ void centerAppWindow(const VideoMode& mode); + /** + Set up the user interface palette for a screen of any depth > 8. + */ + void setUIPalette(); + private: /** This class implements an iterator around an array of VideoMode objects. @@ -645,6 +643,9 @@ class FrameBuffer // Holds static strings for the remap menu (emulation and menu events) static GraphicsMode ourGraphicsModes[GFX_NumModes]; + + // Holds UI palette data + static uInt32 ourGUIColors[kNumColors-256]; }; diff --git a/src/emucore/OSystem.cxx b/src/emucore/OSystem.cxx index 5e034387a..ce0dddfea 100644 --- a/src/emucore/OSystem.cxx +++ b/src/emucore/OSystem.cxx @@ -331,15 +331,6 @@ void OSystem::setConfigPaths() mySettings->setValue("propsfile", node.getShortPath()); } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -void OSystem::setUIPalette() -{ - int palette = mySettings->getInt("uipalette") - 1; - if(palette < 0 || palette >= kNumUIPalettes) palette = 0; - myFrameBuffer->setUIPalette(&ourGUIColors[palette][0]); - myFrameBuffer->refresh(); -} - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void OSystem::setBaseDir(const string& basedir) { @@ -416,9 +407,6 @@ FBInitStatus OSystem::createFrameBuffer() { // Setup the SDL joysticks (must be done after FrameBuffer is created) myEventHandler->setupJoysticks(); - - // Update the UI palette - setUIPalette(); } return fbstatus; @@ -1002,62 +990,6 @@ bool OSystem::queryVideoHardware() return true; } -// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/* - Palette is defined as follows: - // Base colors - kColor Normal foreground color (non-text) - kBGColor Normal background color (non-text) - kShadowColor Item is disabled - kTextColor Normal text color - kTextColorHi Highlighted text color - kTextColorEm Emphasized text color - - // UI elements (dialog and widgets) - kDlgColor Dialog background - kWidColor Widget background - kWidFrameColor Border for currently selected widget - - // Button colors - kBtnColor Normal button background - kBtnColorHi Highlighted button background - kBtnTextColor Normal button font color - kBtnTextColorHi Highlighted button font color - - // Checkbox colors - kCheckColor Color of 'X' in checkbox - - // Scrollbar colors - kScrollColor Normal scrollbar color - kScrollColorHi Highlighted scrollbar color - - // Debugger colors - kDbgChangedColor Background color for changed cells - kDbgChangedTextColor Text color for changed cells - kDbgColorHi Highlighted color in debugger data cells -*/ -uInt32 OSystem::ourGUIColors[kNumUIPalettes][kNumColors-256] = { - // Standard - { 0x686868, 0x000000, 0x404040, 0x000000, 0x62a108, 0x9f0000, - 0xc9af7c, 0xf0f0cf, 0xc80000, - 0xac3410, 0xd55941, 0xffffff, 0xffd652, - 0xac3410, - 0xac3410, 0xd55941, - 0xac3410, 0xd55941, - 0xc80000, 0x00ff00, 0xc8c8ff - }, - - // Classic - { 0x686868, 0x000000, 0x404040, 0x20a020, 0x00ff00, 0xc80000, - 0x000000, 0x000000, 0xc80000, - 0x000000, 0x000000, 0x20a020, 0x00ff00, - 0x20a020, - 0x20a020, 0x00ff00, - 0x20a020, 0x00ff00, - 0xc80000, 0x00ff00, 0xc8c8ff - } -}; - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OSystem::OSystem(const OSystem& osystem) { diff --git a/src/emucore/OSystem.hxx b/src/emucore/OSystem.hxx index a71a20449..eeab5de59 100644 --- a/src/emucore/OSystem.hxx +++ b/src/emucore/OSystem.hxx @@ -271,11 +271,6 @@ class OSystem */ void setConfigPaths(); - /** - Set the user-interface palette which is specified in current settings. - */ - void setUIPalette(); - /** Get the current framerate for the video system. @@ -598,7 +593,6 @@ class OSystem static ZipHandler* myZipHandler; private: - enum { kNumUIPalettes = 2 }; string myBaseDir; string myStateDir; string mySnapshotSaveDir; @@ -632,9 +626,6 @@ class OSystem // Indicates whether the main processing loop should proceed TimingInfo myTimingInfo; - // Table of RGB values for GUI elements - static uInt32 ourGUIColors[kNumUIPalettes][kNumColors-256]; - private: /** Creates the various framebuffers/renderers available in this system diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx index 2d41f8e82..86e6cc14f 100644 --- a/src/emucore/Settings.cxx +++ b/src/emucore/Settings.cxx @@ -128,7 +128,6 @@ Settings::Settings(OSystem* osystem) GUI::Size(DebuggerDialog::kMediumFontMinW, DebuggerDialog::kMediumFontMinH)); #endif - setInternal("uipalette", "0"); setInternal("listdelay", "300"); setInternal("mwheel", "4"); @@ -432,7 +431,6 @@ void Settings::usage() << " allroms| (exts is a ':' separated list of extensions)\n" << " exts\n" << " -romviewer <0|1|2> Show ROM info viewer at given zoom level in ROM launcher (0 for off)\n" - << " -uipalette <1|2> Used the specified palette for UI elements\n" << " -listdelay Time to wait between keypresses in list widgets (300-1000)\n" << " -mwheel Number of lines the mouse wheel will scroll in UI\n" << " -statedir Directory in which to save/load state files\n" diff --git a/src/gui/UIDialog.cxx b/src/gui/UIDialog.cxx index af67726da..243b8a3a3 100644 --- a/src/gui/UIDialog.cxx +++ b/src/gui/UIDialog.cxx @@ -254,16 +254,7 @@ UIDialog::UIDialog(OSystem* osystem, DialogContainer* parent, lwidth = font.getStringWidth("Mouse wheel scroll: "); pwidth = font.getStringWidth("Standard"); xpos = ypos = vBorder; - - // UI Palette ypos += 1; - items.clear(); - items.push_back("Standard", "1"); - items.push_back("Classic", "2"); - myPalettePopup = new PopUpWidget(myTab, font, xpos, ypos, pwidth, lineHeight, - items, "Interface Palette: ", lwidth); - wid.push_back(myPalettePopup); - ypos += lineHeight + 4; // Delay between quick-selecting characters in ListWidget items.clear(); @@ -365,10 +356,6 @@ void UIDialog::loadConfig() myDebuggerFontStyle->setSelected(style, "0"); #endif - // UI palette - const string& pal = instance().settings().getString("uipalette"); - myPalettePopup->setSelected(pal, "1"); - // Listwidget quick delay const string& delay = instance().settings().getString("listdelay"); myListDelayPopup->setSelected(delay, "300"); @@ -409,10 +396,6 @@ void UIDialog::saveConfig() instance().settings().setValue("dbg.fontstyle", myDebuggerFontStyle->getSelectedTag().toString()); - // UI palette - instance().settings().setValue("uipalette", - myPalettePopup->getSelectedTag().toString()); - // Listwidget quick delay instance().settings().setValue("listdelay", myListDelayPopup->getSelectedTag().toString()); @@ -458,7 +441,6 @@ void UIDialog::setDefaults() } case 2: // Misc. options - myPalettePopup->setSelected("1"); myListDelayPopup->setSelected("300"); myWheelLinesPopup->setSelected("4"); break; @@ -517,7 +499,6 @@ void UIDialog::handleCommand(CommandSender* sender, int cmd, int data, int id) case kOKCmd: saveConfig(); close(); - instance().setUIPalette(); break; case kDefaultsCmd: diff --git a/src/gui/UIDialog.hxx b/src/gui/UIDialog.hxx index 3b4fa9913..5f2726dd3 100644 --- a/src/gui/UIDialog.hxx +++ b/src/gui/UIDialog.hxx @@ -58,7 +58,6 @@ class UIDialog : public Dialog PopUpWidget* myDebuggerFontStyle; // Misc options - PopUpWidget* myPalettePopup; PopUpWidget* myListDelayPopup; PopUpWidget* myWheelLinesPopup;