From 09a3de1e6622b7bdd822a03b06e8c1d4b43da31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 16 Mar 2017 15:31:27 +0100 Subject: [PATCH] Windows: Get rid of my private gold branch, simply gate behind a define instead. --- Core/System.cpp | 16 +++++++++++----- UI/MiscScreens.cpp | 8 ++++---- UI/NativeApp.cpp | 9 --------- Windows/PPSSPP.vcxproj | 14 +++++++++++++- Windows/PPSSPP.vcxproj.filters | 5 +++++ Windows/ppsspp.rc | 5 +++++ Windows/ppsspp_gold.ico | Bin 0 -> 82726 bytes 7 files changed, 38 insertions(+), 19 deletions(-) create mode 100644 Windows/ppsspp_gold.ico diff --git a/Core/System.cpp b/Core/System.cpp index 373ea44569..8211a675ff 100644 --- a/Core/System.cpp +++ b/Core/System.cpp @@ -385,12 +385,18 @@ bool PSP_InitStart(const CoreParameter &coreParam, std::string *error_string) { return false; } -#if defined(_WIN32) && defined(_M_X64) - INFO_LOG(BOOT, "PPSSPP %s Windows 64 bit", PPSSPP_GIT_VERSION); -#elif defined(_WIN32) && !defined(_M_X64) - INFO_LOG(BOOT, "PPSSPP %s Windows 32 bit", PPSSPP_GIT_VERSION); +#ifdef GOLD + const char *gold = " Gold"; #else - INFO_LOG(BOOT, "PPSSPP %s", PPSSPP_GIT_VERSION); + const char *gold = ""; +#endif + +#if defined(_WIN32) && defined(_M_X64) + INFO_LOG(BOOT, "PPSSPP%s %s Windows 64 bit", gold, PPSSPP_GIT_VERSION); +#elif defined(_WIN32) && !defined(_M_X64) + INFO_LOG(BOOT, "PPSSPP%s %s Windows 32 bit", gold, PPSSPP_GIT_VERSION); +#else + INFO_LOG(BOOT, "PPSSPP%s %s", gold, PPSSPP_GIT_VERSION); #endif GraphicsContext *temp = coreParameter.graphicsContext; diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp index 49e0e526fd..2590d1c694 100644 --- a/UI/MiscScreens.cpp +++ b/UI/MiscScreens.cpp @@ -85,11 +85,7 @@ void DrawBackground(UIContext &dc, float alpha = 1.0f) { last_yres = yres; } -#ifdef GOLD - int img = I_BG_GOLD; -#else int img = I_BG; -#endif uint32_t bgColor = whiteAlpha(alpha); ui_draw2d.DrawImageStretch(img, dc.GetBounds(), bgColor); @@ -675,7 +671,11 @@ void CreditsScreen::render() { // TODO: This is kinda ugly, done on every frame... char temp[256]; +#ifdef GOLD + snprintf(temp, sizeof(temp), "PPSSPP Gold %s", PPSSPP_GIT_VERSION); +#else snprintf(temp, sizeof(temp), "PPSSPP %s", PPSSPP_GIT_VERSION); +#endif credits[0] = (const char *)temp; UIContext &dc = *screenManager()->getUIContext(); diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index 03955a9197..35848597cc 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -576,15 +576,6 @@ void NativeInitGraphics(GraphicsContext *graphicsContext) { ui_theme.popupTitle.fgColor = 0xFFE3BE59; -#ifdef GOLD - ui_theme.itemFocusedStyle.background = UI::Drawable(0xFF4cc2ed); - ui_theme.itemDownStyle.background = UI::Drawable(0xFF39a9ee); - ui_theme.itemDisabledStyle.background = UI::Drawable(0x55AFD4E0); - ui_theme.itemHighlightedStyle.background = UI::Drawable(0x5539BBbd); - - ui_theme.popupTitle.fgColor = 0xFF59BEE3; -#endif - uiTexture = CreateTextureFromFile(g_draw, "ui_atlas.zim", ImageFileType::ZIM); if (!uiTexture) { PanicAlert("Failed to load ui_atlas.zim.\n\nPlace it in the directory \"assets\" under your PPSSPP directory."); diff --git a/Windows/PPSSPP.vcxproj b/Windows/PPSSPP.vcxproj index 35211c4dbd..7d8cfba358 100644 --- a/Windows/PPSSPP.vcxproj +++ b/Windows/PPSSPP.vcxproj @@ -228,6 +228,9 @@ ../Windows/git-version-gen.cmd Updating git-version.cpp + + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + @@ -269,6 +272,9 @@ ../Windows/git-version-gen.cmd Updating git-version.cpp + + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + @@ -510,7 +516,10 @@ - + + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + $(EXTERNAL_RC_DEFINITIONS);_VC80_UPGRADE=0x0710;%(PreprocessorDefinitions) + @@ -542,6 +551,9 @@ + + + diff --git a/Windows/PPSSPP.vcxproj.filters b/Windows/PPSSPP.vcxproj.filters index 34a6dbd2a0..a8451ecf02 100644 --- a/Windows/PPSSPP.vcxproj.filters +++ b/Windows/PPSSPP.vcxproj.filters @@ -458,4 +458,9 @@ Resource Files + + + Resource Files + + \ No newline at end of file diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 530fbab675..320346a5a4 100644 --- a/Windows/ppsspp.rc +++ b/Windows/ppsspp.rc @@ -371,7 +371,12 @@ END // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. + +#ifdef GOLD +IDI_PPSSPP ICON "ppsspp_gold.ico" +#else IDI_PPSSPP ICON "ppsspp.ico" +#endif IDI_STOP ICON "icon1.ico" IDI_STOPDISABLE ICON "stop1.ico" diff --git a/Windows/ppsspp_gold.ico b/Windows/ppsspp_gold.ico new file mode 100644 index 0000000000000000000000000000000000000000..999b4fa0ac16ba442d33c2e68c20fd3ebd8f1cfb GIT binary patch literal 82726 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