|
From: Lasse Kärkkäi. <tr...@us...> - 2011-01-27 00:41:59
|
Module: performous
Branch: opengl2
Commit: 9a4c21b9c1b635ab4baa2e9090a2aa7c1c725450
Author: Lasse Karkkainen <tro...@tr...>
Date: Mon Jan 24 03:04:02 2011 +0100
Added depth to song browser plus minor related tweaks.
---
game/screen_songs.cc | 21 ++++++++++++++-------
themes/default/songs_bg.svg | 9 +++++----
2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/game/screen_songs.cc b/game/screen_songs.cc
index 52af8ff..be904f4 100644
--- a/game/screen_songs.cc
+++ b/game/screen_songs.cc
@@ -142,10 +142,13 @@ void ScreenSongs::drawJukebox() {
}
void ScreenSongs::drawMultimedia() {
- double length = m_audio.getLength();
- double time = clamp(m_audio.getPosition() - config["audio/video_delay"].f(), 0.0, length);
- if (m_songbg.get()) m_songbg->draw(); else m_songbg_default->draw();
- if (m_video.get()) m_video->render(time);
+ {
+ FarTransform ft; // 3D effect
+ double length = m_audio.getLength();
+ double time = clamp(m_audio.getPosition() - config["audio/video_delay"].f(), 0.0, length);
+ if (m_songbg.get()) m_songbg->draw(); else m_songbg_default->draw();
+ if (m_video.get()) m_video->render(time);
+ }
if (!m_jukebox) theme->bg.draw();
}
@@ -248,9 +251,13 @@ void ScreenSongs::drawCovers() {
Song& song = m_songs[baseidx + i];
Surface& s = getCover(song);
// Calculate dimensions for cover and instrument markers
- double diff = (i == 0 ? (0.5 - fabs(shift)) * 0.07 : 0.0);
- double y = 0.27 + 0.5 * diff;
- s.dimensions.middle(-0.2 + 0.17 * (i - shift)).bottom(y - 0.2 * diff).fitInside(0.14 + diff, 0.14 + diff);
+ double diff = (i == 0 ? 2.0 * (0.5 - fabs(shift)) : 0.0); // 0..1 for current cover hilight level
+ double y = 0.26;
+ glutil::PushMatrix pm;
+ glTranslatef(0.0f, 0.0f, -0.05 * (1.0 - diff)); // Move other covers further back
+ double c = 0.6 + 0.4 * diff;
+ glColor3f(c, c, c);
+ s.dimensions.middle(-0.2 + 0.17 * (i - shift)).bottom(y - 0.01 * diff).fitInside(0.15, 0.15);
// Draw the cover normally
s.draw();
// Draw the reflection
diff --git a/themes/default/songs_bg.svg b/themes/default/songs_bg.svg
index 1c201c7..9f9c8ce 100644
--- a/themes/default/songs_bg.svg
+++ b/themes/default/songs_bg.svg
@@ -17,7 +17,7 @@
height="800"
id="svg559"
sodipodi:version="0.32"
- inkscape:version="0.47 r22583"
+ inkscape:version="0.48.0 r9654"
sodipodi:docname="songs_bg.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape">
<metadata
@@ -44,7 +44,7 @@
pagecolor="#ffffff"
id="base"
inkscape:zoom="0.61522534"
- inkscape:cx="445.08607"
+ inkscape:cx="448.33691"
inkscape:cy="383.70921"
inkscape:window-x="0"
inkscape:window-y="29"
@@ -117,9 +117,10 @@
</defs>
<path
style="fill:#ffffff;fill-opacity:0.2739131"
- d="M 49.884998,210 950.115,210 C 966.67129,210 980,223.3225 980,239.87109 l 0,230.25782 C 980,486.6775 966.67129,500 950.115,500 l -533.01146,0 c 0,0 -119.40515,68.26767 -119.40515,68.26767 0,0 -101.15081,-68.26767 -101.15081,-68.26767 0,0 -146.662582,0 -146.662582,0 C 33.328709,500 20,486.6775 20,470.12891 L 20,239.87109 C 20,223.3225 33.328709,210 49.884998,210 z"
+ d="M 49.884998,210 950.115,210 C 966.67129,210 980,223.3225 980,239.87109 l 0,230.25782 C 980,486.6775 966.67129,500 950.115,500 610.93509,500.50433 352.98475,500 49.884998,500 33.328709,500 20,486.6775 20,470.12891 L 20,239.87109 C 20,223.3225 33.328709,210 49.884998,210 z"
id="rect3394"
- sodipodi:nodetypes="cccccccccccc" />
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0" />
<text
xml:space="preserve"
style="font-size:24.89476013px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
|