From 39591913ca55e5e708ec53f7d239013e2c3bc2b6 Mon Sep 17 00:00:00 2001 From: "andre@woesten.com" Date: Tue, 7 Oct 2008 00:41:43 +0000 Subject: [PATCH] Completed about box with cool fading logo and a text scroller with the credits :-) Have fun! --- data/resources/logo.png | Bin 0 -> 23528 bytes src/cube/dialog/HelpAboutView.cpp | 165 +++++++++++++++++++++++++++++- src/cube/main.cpp | 2 +- 3 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 data/resources/logo.png diff --git a/data/resources/logo.png b/data/resources/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..dea38452c5583e2d30db86903478ec0d0a6aaeb7 GIT binary patch literal 23528 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 literal 0 HcmV?d00001 diff --git a/src/cube/dialog/HelpAboutView.cpp b/src/cube/dialog/HelpAboutView.cpp index 084836991..52e1ac066 100644 --- a/src/cube/dialog/HelpAboutView.cpp +++ b/src/cube/dialog/HelpAboutView.cpp @@ -37,6 +37,7 @@ ////////////////////////////////////////////////////////////////////////////// #include "pch.hpp" +#include #include #include #include @@ -45,6 +46,10 @@ #include #include +// GDI+ for loading the image +#include +#include + ////////////////////////////////////////////////////////////////////////////// using namespace musik::cube::dialog; @@ -60,7 +65,10 @@ const int anim_h = 300; ( ( (G) >> 2 ) << 5 ) | \ ( ( (B) >> 3 ) ) \ )) - + +#define extract_r(C) ( ( (C) >> 11 & 0x1F ) << 3 ) +#define extract_g(C) ( ( ( (C) >> 5 ) & 0x3F ) << 2 ) +#define extract_b(C) ( ( (C) & 0x1F ) << 3 ) ////////////////////////////////////////////////////////////////////////////// @@ -88,7 +96,7 @@ void HelpAboutView::DrawingThread(HWND hwnd, BITMAPINFO* bmi) // Calc color table for plasma effect for(int i=0; i<256; i++) { - int + int r = 20 + 19.0 * sin((double)i * 3.1415 / 40.0), g = 40 + 39.0 * sin((double)i * 3.1415 / 40.0), b = 120 + 79.0 * cos((double)i * 3.1415 / 120.0); @@ -99,6 +107,85 @@ void HelpAboutView::DrawingThread(HWND hwnd, BITMAPINFO* bmi) // Start time of animation unsigned long time_start = ::GetTickCount(); + // Init GDI* + Gdiplus::GdiplusStartupInput gp_si; + ULONG_PTR gp_tok; + Gdiplus::GdiplusStartup(&gp_tok, &gp_si, NULL); + + // Load logo + Gdiplus::Bitmap* gp_logo = Gdiplus::Bitmap::FromFile( + (musik::core::GetApplicationDirectory() + _T("resources\\logo.png")).c_str() + ); + + // Convert logo to correct format + unsigned int + logo_width = gp_logo->GetWidth(), + logo_height = gp_logo->GetHeight(); + unsigned int + *logo = new unsigned int[logo_width * logo_height], + *plogo = logo; + BYTE + *logo_alpha = new BYTE[logo_width * logo_height], + *plogo_alpha = logo_alpha; + + for(int y=0; yGetPixel(x, y, &col); + + *plogo = anim_color(col.GetRed(), col.GetGreen(), col.GetBlue()); + ++plogo; + + *plogo_alpha = col.GetAlpha(); + ++plogo_alpha; + } + } + + // Create font for text scroller + HFONT font = ::CreateFont( + 14, + 0, + 0, + 0, + FW_NORMAL, + 0, + 0, + 0, + ANSI_CHARSET, + OUT_DEFAULT_PRECIS, + CLIP_DEFAULT_PRECIS, + ANTIALIASED_QUALITY | CLEARTYPE_QUALITY, + DEFAULT_PITCH, + _T("Courier New") + ); + + // Define Texts here, there are played in this order + uistring texts[] = { + _T("--+ musikCube 2 | milestone 2 +--"), + _T("created by"), + _T("avatar"), + _T("doep"), + _T("bjorn"), + _T("jooles"), + _T("naaina"), + _T("mC2 are copyright (c) mC2 Team 2007-2008"), + _T("win32cpp are copyright (c) Casey Langen 2007-2008"), + _T("mC2 wouldn't be possible without these projects:"), + _T("tuniac (http://tuniac.sf.net)"), + _T("boost (http://www.boost.org)"), + _T("sqlite3 (http://www.sqlite.org)"), + _T("taglib (http://developer.kde.org/~wheeler/taglib)") + }; + + RECT cr; + ::GetClientRect(hwnd, &cr); + + RECT textrect; + textrect.left = 0; + textrect.top = 200; + textrect.right = cr.right; + textrect.bottom = 220; + // Start drawing loop while(anim_running) { // Calc current time @@ -149,16 +236,88 @@ void HelpAboutView::DrawingThread(HWND hwnd, BITMAPINFO* bmi) wy[i] += sy[i]; } } + + // Display logo + float alpha = 0.7 + 0.3 * sin(0.3 * time * 3.1415); + int lx = 127, ly = 40; + for(int y=0; y= 0.4 && alpha <= 0.42) || + (alpha >= 0.71 && alpha <= 0.714) + ) && !(y % (1 + (rand() % logo_height)))) { + blackit = true; + } + + for(int x=0; x 2.5f) { + + if(textidx+1 == sizeof(texts) / sizeof(uistring)) { + textidx = 0; + } else { + textidx++; + } + + tdlast = time; + } + + ::DrawText( + hdc, + texts[textidx].c_str(), + texts[textidx].size() + 1, + &textrect, + DT_CENTER + ); + } + // Some idle time to give other threads the chance to process - ::Sleep(1); + Sleep(1); } + // Shutdown GDI+ + delete gp_logo; delete logo; + Gdiplus::GdiplusShutdown(gp_tok); + + // Delete resources delete[] screen; screen = NULL; } diff --git a/src/cube/main.cpp b/src/cube/main.cpp index add842e32..0134872e9 100644 --- a/src/cube/main.cpp +++ b/src/cube/main.cpp @@ -54,7 +54,7 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prevInstance, LPTSTR commandLi // Initialize locale try { uistring appDirectory( musik::core::GetApplicationDirectory() ); - Locale::Instance()->SetLocaleDirectory(appDirectory); + Locale::Instance()->SetLocaleDirectory(appDirectory + _T("\\locales")); Locale::Instance()->LoadConfig(_T("english")); } catch(...) {