You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(25) |
Jul
(288) |
Aug
(119) |
Sep
(31) |
Oct
(59) |
Nov
(458) |
Dec
(359) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(268) |
Feb
(26) |
Mar
(36) |
Apr
(48) |
May
(119) |
Jun
(37) |
Jul
(173) |
Aug
(429) |
Sep
(137) |
Oct
(156) |
Nov
(59) |
Dec
(45) |
| 2011 |
Jan
(398) |
Feb
(257) |
Mar
(49) |
Apr
(5) |
May
(34) |
Jun
(11) |
Jul
(38) |
Aug
(12) |
Sep
(1) |
Oct
(49) |
Nov
(5) |
Dec
(10) |
| 2012 |
Jan
(21) |
Feb
(32) |
Mar
(20) |
Apr
(1) |
May
(2) |
Jun
|
Jul
(173) |
Aug
|
Sep
(25) |
Oct
(6) |
Nov
(44) |
Dec
|
|
From: Tapio V. <aa...@us...> - 2009-11-29 18:23:01
|
Module: performous
Branch: master
Commit: aceb82c7858f9da22620bca798e1a91f3e70c947
Author: Tapio Vierros <tap...@gm...>
Date: Sun Nov 29 20:19:27 2009 +0200
Some quick test for a starpower / overdrive effect.
Tilt guitar or press F6 to active.
Colors are made uniform and then they slowly fade back to normal.
---
game/guitargraph.cc | 22 +++++++++++++++++++---
game/guitargraph.hh | 1 +
game/joystick.cc | 40 +++++++++++++++++++++++++++++++---------
game/joystick.hh | 2 +-
4 files changed, 52 insertions(+), 13 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 9f19f97..2661353 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -40,6 +40,18 @@ namespace {
if (error < 0.03) score += 5;
return score;
}
+
+ inline float blend(float a, float b, float f) { return a*f + b*(1.0f-f); }
+
+ glutil::Color starpowerColorize(glutil::Color c, float f) {
+ static glutil::Color starpowerC(0.5f, 0.5f, 1.0f);
+ if ( f < 0.001 ) return c;
+ f = std::sqrt(std::sqrt(f));
+ c.r = blend(starpowerC.r, c.r, f);
+ c.g = blend(starpowerC.g, c.g, f);
+ c.b = blend(starpowerC.b, c.b, f);
+ return c;
+ }
}
@@ -52,6 +64,7 @@ GuitarGraph::GuitarGraph(Audio& audio, Song const& song, std::string track):
m_tap(getThemePath("tap.svg")),
m_drums(track=="drums"),
m_use3d(config["graphic/3d_notes"].b()),
+ m_starpower(0.0, 0.1),
m_cx(0.0, 0.2),
m_width(0.5, 0.4),
m_stream(),
@@ -128,6 +141,7 @@ void GuitarGraph::engine() {
}
if (!m_drums && ev.type == input::Event::WHAMMY)
whammy = (1.0 + ev.button + 2.0*(rand()/double(RAND_MAX))) / 4.0;
+ if (!m_drums && ev.type == input::Event::STARPOWER) m_starpower.setValue(1.0);
if (ev.type == input::Event::PRESS) m_hit[!m_drums + ev.button].setValue(1.0);
else if (ev.type == input::Event::PICK) m_hit[0].setValue(1.0);
if (time < -0.5) {
@@ -400,7 +414,8 @@ void GuitarGraph::draw(double time) {
texCoord -= texCoordStep * (tEnd - future) / (tEnd - tBeg);
tEnd = future;
}
- glColor4f(1.0f, 1.0f, 1.0f, time2a(tEnd));
+ glutil::Color c(1.0f, 1.0f, 1.0f, time2a(tEnd));
+ glColor4fv(starpowerColorize(c, m_starpower.get()));
glNormal3f(0.0f, 1.0f, 0.0f);
glTexCoord2f(0.0f, texCoord); glVertex2f(-w, time2y(tEnd));
glNormal3f(0.0f, 1.0f, 0.0f);
@@ -415,7 +430,8 @@ void GuitarGraph::draw(double time) {
for (int fret = m_drums; fret < 5; ++fret) {
float x = -2.0f + fret - 0.5f * m_drums;
float l = m_hit[fret + !m_drums].get();
- glColor4fv(color(fret));
+ glColor4fv(starpowerColorize(color(fret), m_starpower.get()));
+ //glColor4fv(c);
m_button.dimensions.center(time2y(0.0)).middle(x);
m_button.draw();
glColor3f(l, l, l);
@@ -440,7 +456,7 @@ void GuitarGraph::draw(double time) {
glow = m_events[event - 1].glow.get();
whammy = m_events[event - 1].whammy.get();
}
- glutil::Color c = color(fret);
+ glutil::Color c = starpowerColorize(color(fret), m_starpower.get());
c.r += glow;
c.g += glow;
c.b += glow;
diff --git a/game/guitargraph.hh b/game/guitargraph.hh
index b4a6a15..eaa9406 100644
--- a/game/guitargraph.hh
+++ b/game/guitargraph.hh
@@ -77,6 +77,7 @@ class GuitarGraph {
boost::scoped_ptr<Texture> m_neck;
bool m_drums;
bool m_use3d;
+ AnimValue m_starpower;
AnimValue m_cx, m_width;
std::size_t m_stream;
TrackMapConstPtr m_track_map;
diff --git a/game/joystick.cc b/game/joystick.cc
index 3b0e42e..30eeaba 100644
--- a/game/joystick.cc
+++ b/game/joystick.cc
@@ -27,9 +27,9 @@ static const unsigned SDL_BUTTONS = 6;
int buttonFromSDL(input::Private::Type _type, unsigned int _sdl_button) {
static const int inputmap[4][SDL_BUTTONS] = {
- //G R Y B O // for guitars
- { 2, 0, 1, 3, 4, -1 }, // Guitar Hero guitar
- { 3, 0, 1, 2, 4, -1 }, // Rock Band guitar
+ //G R Y B O S // for guitars (S=starpower)
+ { 2, 0, 1, 3, 4, 5 }, // Guitar Hero guitar
+ { 3, 0, 1, 2, 4, 5 }, // Rock Band guitar
//K R Y B G O // for drums
{ 3, 4, 1, 2, 0, 4 }, // Guitar Hero drums
{ 3, 4, 1, 2, 0, -1 } // Rock Band drums
@@ -215,6 +215,14 @@ bool input::SDL::pushEvent(SDL_Event _e) {
}
devices[joy_id].addEvent(event);
return true;
+ case SDLK_F6:
+ event.type = input::Event::STARPOWER;
+ event.button = 1;
+ for( unsigned int i = 0 ; i < BUTTONS ; ++i ) {
+ event.pressed[i] = devices[joy_id].pressed(i);
+ }
+ devices[joy_id].addEvent(event);
+ return true;
case SDLK_F5: case SDLK_5:
button++;
case SDLK_F4: case SDLK_4:
@@ -254,6 +262,14 @@ bool input::SDL::pushEvent(SDL_Event _e) {
}
devices[joy_id].addEvent(event);
return true;
+ case SDLK_F6:
+ event.type = input::Event::STARPOWER;
+ event.button = 0;
+ for( unsigned int i = 0 ; i < BUTTONS ; ++i ) {
+ event.pressed[i] = devices[joy_id].pressed(i);
+ }
+ devices[joy_id].addEvent(event);
+ return true;
case SDLK_F5: case SDLK_5:
button++;
case SDLK_F4: case SDLK_4:
@@ -318,10 +334,14 @@ bool input::SDL::pushEvent(SDL_Event _e) {
if(!devices[joy_id].assigned()) return false;
button = buttonFromSDL(devices[joy_id].type(),_e.jbutton.button);
if( button == -1 ) return false;
- for( unsigned int i = 0 ; i < BUTTONS ; ++i ) {
- event.pressed[i] = devices[joy_id].pressed(i);
+ if( button == 5) {
+ event.type = input::Event::STARPOWER;
+ } else {
+ for( unsigned int i = 0 ; i < BUTTONS ; ++i ) {
+ event.pressed[i] = devices[joy_id].pressed(i);
+ }
+ event.type = input::Event::PRESS;
}
- event.type = input::Event::PRESS;
event.button = button;
event.pressed[button] = true;
devices[joy_id].addEvent(event);
@@ -331,10 +351,12 @@ bool input::SDL::pushEvent(SDL_Event _e) {
if(!devices[joy_id].assigned()) return false;
button = buttonFromSDL(devices[joy_id].type(),_e.jbutton.button);
if( button == -1 ) return false;
- for( unsigned int i = 0 ; i < BUTTONS ; ++i ) {
- event.pressed[i] = devices[joy_id].pressed(i);
+ if( button != 5) {
+ for( unsigned int i = 0 ; i < BUTTONS ; ++i ) {
+ event.pressed[i] = devices[joy_id].pressed(i);
+ }
+ event.type = input::Event::RELEASE;
}
- event.type = input::Event::RELEASE;
event.button = button;
event.pressed[button] = false;
devices[joy_id].addEvent(event);
diff --git a/game/joystick.hh b/game/joystick.hh
index f3ee06b..23f5da4 100644
--- a/game/joystick.hh
+++ b/game/joystick.hh
@@ -21,7 +21,7 @@ namespace input {
static const std::size_t BUTTONS = 6;
struct Event {
- enum Type { PRESS, RELEASE, PICK, WHAMMY };
+ enum Type { PRESS, RELEASE, PICK, WHAMMY, STARPOWER };
Type type;
int button; // Translated button number for press/release events. 0 for pick down, 1 for pick up (NOTE: these are NOT pick press/release events but rather different directions)
bool pressed[BUTTONS]; // All events tell the button state right after the event happened
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 13:58:17
|
Module: web Branch: master Commit: 2dce9e8fa0cbbc2f7de47f161ad5d7bf923fc000 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 15:58:05 2009 +0200 Add webchat --- htdocs-source/develop.txt | 2 +- htdocs-source/manual.txt | 4 ++++ 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/htdocs-source/develop.txt b/htdocs-source/develop.txt index 1d91ab8..06de4b6 100644 --- a/htdocs-source/develop.txt +++ b/htdocs-source/develop.txt @@ -70,5 +70,5 @@ Hack the source, find things that you could do better. We accept small and large :h2:IRC channel -Most development discussion happens on <a href="irc://irc.freenode.net/#performous">#performous</a> on Freenode, so you'd better come there. +Most development discussion happens on <a href="irc://irc.freenode.net/performous">#performous</a> on Freenode, so you'd better come there. If you are not familiar with IRC, you can use <a href="http://webchat.freenode.net/?channels=#performous" target="performous_irc">webchat</a>. diff --git a/htdocs-source/manual.txt b/htdocs-source/manual.txt index 9b16efe..9059120 100644 --- a/htdocs-source/manual.txt +++ b/htdocs-source/manual.txt @@ -50,3 +50,7 @@ Press Ctrl+S to save the currently active settings after changes or to store the See the keys page for more information. +:h2:IRC channel + +You can reach us at <a href="irc://irc.freenode.net/performous">#performous</a> on Freenode. If you are not familiar with IRC, you can use <a href="http://webchat.freenode.net/?channels=#performous" target="performous_irc">webchat</a>. + |
|
From: Peque <ms...@us...> - 2009-11-29 13:44:19
|
Module: performous
Branch: menu
Commit: 2b8634bf093b3494fa656e93a0136daf1f813e2e
Author: Miguel Sánchez de León Peque <msd...@gm...>
Date: Sun Nov 29 14:42:42 2009 +0100
Better structured images.
---
themes/default/intro_bg.svg | 2 +-
themes/default/intro_configure.svg | 4 ++-
themes/default/intro_practice.svg | 4 ++-
themes/default/intro_quit.svg | 12 +++++---
themes/default/intro_sing.svg | 52 ++++++++++++++++++++++++++++++-----
5 files changed, 58 insertions(+), 16 deletions(-)
diff --git a/themes/default/intro_bg.svg b/themes/default/intro_bg.svg
index 30847ef..7c3a7b4 100644
--- a/themes/default/intro_bg.svg
+++ b/themes/default/intro_bg.svg
@@ -45,7 +45,7 @@
pagecolor="#ffffff"
id="base"
inkscape:zoom="0.61522534"
- inkscape:cx="472.57809"
+ inkscape:cx="567.11702"
inkscape:cy="377.53061"
inkscape:window-x="0"
inkscape:window-y="25"
diff --git a/themes/default/intro_configure.svg b/themes/default/intro_configure.svg
index 7705e9c..743d4a8 100644
--- a/themes/default/intro_configure.svg
+++ b/themes/default/intro_configure.svg
@@ -331,5 +331,7 @@
height="81.040909"
width="337.48822"
id="rect6405"
- style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible"
+ rx="15"
+ ry="15" />
</svg>
diff --git a/themes/default/intro_practice.svg b/themes/default/intro_practice.svg
index 1e21643..cea7341 100644
--- a/themes/default/intro_practice.svg
+++ b/themes/default/intro_practice.svg
@@ -295,5 +295,7 @@
height="81.040909"
width="337.48822"
id="rect6405"
- style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible"
+ rx="15"
+ ry="15" />
</svg>
diff --git a/themes/default/intro_quit.svg b/themes/default/intro_quit.svg
index 565c440..80a8c3a 100644
--- a/themes/default/intro_quit.svg
+++ b/themes/default/intro_quit.svg
@@ -44,12 +44,12 @@
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
- inkscape:zoom="1.74012"
- inkscape:cx="656.35156"
- inkscape:cy="280.59685"
+ inkscape:zoom="0.61522533"
+ inkscape:cx="532.90629"
+ inkscape:cy="358.2374"
inkscape:window-x="0"
inkscape:window-y="25"
- inkscape:current-layer="g3726"
+ inkscape:current-layer="svg559"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
@@ -316,5 +316,7 @@
height="99.733246"
width="337.48822"
id="rect6405"
- style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible"
+ rx="15"
+ ry="15" />
</svg>
diff --git a/themes/default/intro_sing.svg b/themes/default/intro_sing.svg
index 61c0f60..f70bc2f 100644
--- a/themes/default/intro_sing.svg
+++ b/themes/default/intro_sing.svg
@@ -45,11 +45,11 @@
pagecolor="#ffffff"
id="base"
inkscape:zoom="0.61522534"
- inkscape:cx="517.54781"
+ inkscape:cx="216.7974"
inkscape:cy="428.66203"
inkscape:window-x="0"
inkscape:window-y="25"
- inkscape:current-layer="g3955"
+ inkscape:current-layer="svg559"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
@@ -204,17 +204,30 @@
x2="358.07056"
y2="260.4765" />
<linearGradient
- id="linearGradient6499-1"
- inkscape:collect="always">
+ id="linearGradient6499-1">
<stop
id="stop6501-3"
offset="0"
- style="stop-color:white;stop-opacity:1;" />
+ style="stop-color:#000000;stop-opacity:1;" />
<stop
id="stop6503-0"
offset="1"
style="stop-color:white;stop-opacity:0;" />
</linearGradient>
+ <inkscape:perspective
+ id="perspective2849"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2854"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
<linearGradient
y2="260.4765"
x2="358.07056"
@@ -223,7 +236,28 @@
gradientTransform="matrix(1.3544445,0,0,1.8513768,-45.940851,-180.28458)"
gradientUnits="userSpaceOnUse"
id="linearGradient2880"
- xlink:href="#linearGradient6499-1"
+ xlink:href="#linearGradient6499-1-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6499-1-4">
+ <stop
+ id="stop6501-3-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6503-0-4"
+ offset="1"
+ style="stop-color:white;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="260.4765"
+ x2="358.07056"
+ y1="260.4765"
+ x1="44.868057"
+ gradientTransform="matrix(1.3544445,0,0,1.8513768,-45.940837,-180.2845)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2863"
+ xlink:href="#linearGradient6499-1-4"
inkscape:collect="always" />
</defs>
<text
@@ -254,10 +288,12 @@
style="fill:none;stroke:#ffffff;stroke-width:1.60380363;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
</g>
<rect
- y="261.436"
+ y="261.4361"
x="100"
height="81.040909"
width="337.48822"
id="rect6405"
- style="fill:url(#linearGradient2880);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible" />
+ style="fill:url(#linearGradient2863);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.29999995;marker:none;visibility:visible;display:inline;overflow:visible"
+ rx="15"
+ ry="15" />
</svg>
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 13:18:15
|
Module: web Branch: master Commit: 521885b7900593c89500946cfc56e190759be38b Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 15:17:54 2009 +0200 Update competing projects --- htdocs-source/AWC-cfg.txt | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/htdocs-source/AWC-cfg.txt b/htdocs-source/AWC-cfg.txt index a365c06..ed32a72 100644 --- a/htdocs-source/AWC-cfg.txt +++ b/htdocs-source/AWC-cfg.txt @@ -16,11 +16,17 @@ .http://cia.vc/stats/project/performous CIA.vc .http://www.facebook.com/performous Facebook .awstats/awstats.pl Site stats -% Similar projects: +% Competitors +% Singing games: .http://sourceforge.net/projects/ultrastardx/ UltraStar Deluxe .http://singthegame.com/ SingSong .http://www.canta-game.org/ Canta .http://www.karaokeparty.com/ KaraokeParty +% Guitar games: +.http://fretsonfire.sourceforge.net/ Frets on Fire +.http://code.google.com/p/fofix/ FoFiX +% Dance games: +.http://www.stepmania.com/ StepMania # First char of the line selects: # + a page that is converted (.txt -> .html) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 12:03:47
|
Module: web Branch: master Commit: 7de21b753a84cc7a037f69f4ea212d90ca31a544 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 14:03:34 2009 +0200 Updated keys --- htdocs-source/commands.txt | 26 ++++++++++++++++++-------- 1 files changed, 18 insertions(+), 8 deletions(-) diff --git a/htdocs-source/commands.txt b/htdocs-source/commands.txt index b88bd12..c590554 100644 --- a/htdocs-source/commands.txt +++ b/htdocs-source/commands.txt @@ -1,6 +1,6 @@ -Commands +Keyboard commands -:h2:All screens +:h2:Global shortcuts <span class="key">Alt</span>+<span class="key">âµ</span>: Switch between window and full screen. <span class="key">Space</span> or <span class="key">Pause</span> or <span class="key">Ctrl</span> + <span class="key">P</span>: Pause audio. @@ -17,16 +17,17 @@ Some of the above keys might be unavailable in some situations, e.g. if needed f :h2:Practice screen -The only input is your microphone. Exit when you are done. +The only inputs are your microphone and drums. Exit when you are done. -:h2:Configuration screen +:h2:Configuration menu <span class="key">â</span>/<span class="key">â</span>: Browse configuration options. <span class="key">â</span>/<span class="key">â</span>: Modify the value (only numeric values for now). <span class="key">Ctrl</span> + <span class="key">R</span>: Restore factory/system setting for the value. -<span class="key">Ctrl</span> + <span class="key">S</span>: Save the current settings to the config file. +<span class="key">Ctrl</span> + <span class="key">S</span>: Save the current settings to the user config file. +<span class="key">Ctrl</span> + <span class="key">Alt</span> + <span class="key">S</span>: Save the current settings to the system config file (needs permissions). -:h2:Songs screen +:h2:Song selection <span class="key">âµ</span>: Sing the song. <span class="key">â</span>/<span class="key">â</span>: Browse songs. @@ -43,9 +44,9 @@ The only input is your microphone. Exit when you are done. <span class="key">â</span>/<span class="key">â</span>: Seek in 5 second steps. <span class="key">PgDn</span>/<span class="key">PgUp</span>: Seek in 30 second steps. -:h2:Singing screen +:h2:Performing -<span class="key">âµ</span>: Skip over intrumental breaks. +<span class="key">âµ</span>: Skip over intrumental breaks (when singing only). <span class="key">F4</span>: Toggle synthesizer mode. <span class="key">F5</span>/<span class="key">F6</span>: Adjust A/V delay (when the notes cross the black line). <span class="key">F7</span>/<span class="key">F8</span>: Adjust audio round-trip latency (easier with the synth mode enabled). @@ -56,3 +57,12 @@ The only input is your microphone. Exit when you are done. <span class="key">â</span>/<span class="key">â</span>: Seek in 5 second steps. <span class="key">â</span>/<span class="key">â</span>: Seek in 30 second steps. +:h3:Keyboard as guitar controller +<span class="key">F1</span>/<span class="key">1</span>: Fret (<span style="color:#0f0;">â«</span>) +<span class="key">F2</span>/<span class="key">2</span>: Fret (<span style="color:#f00;">â«</span>) +<span class="key">F3</span>/<span class="key">3</span>: Fret (<span style="color:#ff0;">â«</span>) +<span class="key">F4</span>/<span class="key">4</span>: Fret (<span style="color:#00f;">â«</span>) +<span class="key">F5</span>/<span class="key">5</span>: Fret (<span style="color:#f80;">â«</span>) +<span class="key">âµ</span>/<span class="key">Right Shift</span>: Pick +<span class="key">Backspace</span>: Whammy bar + |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 11:38:10
|
Module: web Branch: master Commit: eeaa8e0fcdd1a1c08e314d8a970487466b8e2784 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 13:37:58 2009 +0200 Updated manual --- htdocs-source/manual.txt | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) diff --git a/htdocs-source/manual.txt b/htdocs-source/manual.txt index 8409d3a..9b16efe 100644 --- a/htdocs-source/manual.txt +++ b/htdocs-source/manual.txt @@ -1,24 +1,24 @@ Documentation -:h2:Configuration file +:h2:Installing songs -All the settings that can be used from command line may also be set from a configuration file. Create file <strong>~/.config/performous.conf</strong>, where ~/.config is a hidden folder in your home directory. In this file, specify a setting per line in the format param=value. A value needs to be specified even when the switch doesn't take any parameters, e.g. --fs is equal to fs=X. - -Use <strong>performous --help</strong> to see the list of options. - -The latest versions use XML configuration file <strong>~/.config/performous.xml</strong> which can be created by saving the configuration in the config menu. Press <strong>Ctrl+S</strong> to save the config. Notice that this also includes the audio devices configured from command line, even though they are not visible in the menu. +You may put all songs to ~/.ultrastar/songs or to /usr/local/share/games/ultrastar/songs, even if they are not in UltraStar format. In future versions we will provide something Performous-specific and possibly also look for Frets on Fire song folders. :h2:Setting up audio output -Usually Performous can automatically figure out how to output audio, but if you have multiple sound cards or otherwise problematic setup, you may need to specify it manually. Use --pdev <device name> to set the audio API (alsa, pulse, jack, ...) and --prate <sampling rate> to set the sampling rate (by default set to 48000 Hz or to the nearest available value). Use --pdev help to get a list of available devices. Some devices also take parameters, e.g. alsa:plughw:0,2 will use driver alsa with ALSA device string "plughw:0,2" (conversion plugin + first sound card and the third subdevice of that). +Usually Performous can automatically figure out how to output audio, but if you have multiple sound cards or otherwise problematic setup, you may need to specify it manually. Use --pdev <device string> to set the audio API (alsa, pulse, jack, ...). Some devices also take parameters, e.g. alsa:plughw:0,2 will use driver alsa with ALSA device string "plughw:0,2" (conversion plugin + first sound card and the third subdevice of that). Use --pdevhelp to get the list of available devices and further help. :h2:Setting up mics -The inputs are defined by the mics commandline or config file parameter. It takes the number of mics (number of players) and optionally other settings. E.g. Singstar microphones using ALSA can be used by --mics 2@alsa:hw:default (the SS mics display as alsa hw device named "default"). You may also specify the mics option multiple times to use more than one sound card, if you have many. +The same as audio outputs, mics are normally detected automatically. --mics may be used for manual configuration and --michelp displays the list of devices and their usage. You may also specify the mics option multiple times to use more than one sound card, if you have many. + +If you don't specify anything, Performous defaults to two microphones and will prefer the SingStar or Rock Band ones, if available. + +:h2:Instruments -Use --michelp to get more detailed help about this. +Any connected Guitar Hero and Rock Band instruments are detected automatically. By default the keyboard is used as a guitar controller too, but this can be disabled in the config menu. -If you don't specify anything, Performous defaults to two microphones and will prefer the Singstar ones, if available. +Before a song starts, you have a few seconds to choose your difficulty level. Do this by picking a fret or by beating a drum pad. The leftmost fret/pad is for easy, the one next to that is medium and so on. If the song has multiple guitar tracks (e.g. guitar and bass), picking the orange fret (with one of the others to choose difficulty) switches between tracks. If you select anything incorrectly, you will get to play, but the difficulty will default to easy. :h2:Adjusting audio sync @@ -42,3 +42,11 @@ In order to see your singing on screen as realtime as possible, you should try t Using analog connection to your stereo instead of S/PDIF can also often reduce the latency slightly. +:h2:Configuration menu + +Most settings are modifiable via the config menu but unfortunately it does not currently allow modifying any options with text in them. These may need to be specified with commandline options or input directly to the XML config file. + +Press Ctrl+S to save the currently active settings after changes or to store the --pdev and --mics settings you entered permanently. + +See the keys page for more information. + |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 11:12:30
|
Module: web Branch: master Commit: c0d0373906d44fd78cf0d09bd95603484dda4934 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 13:05:14 2009 +0200 Release announcement updates, screenshots updated --- htdocs-source/index.txt | 3 +-- htdocs-source/screenshots.txt | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/htdocs-source/index.txt b/htdocs-source/index.txt index c664e27..22f3001 100644 --- a/htdocs-source/index.txt +++ b/htdocs-source/index.txt @@ -1,13 +1,13 @@ Announcements :h2:2009-11-28 - Performous 0.4.0 released +<img src="imgs/guitar_sing-small.jpg"><img src="imgs/band-small.jpg" style="margin-left: 1mm"> A major new release that not only contains improvements to the singing game you all love but more importantly extends the game into a full-fledged band game. Since the pre-release at <a href="http://assembly.org/">Assembly Summer 2009</a> demo party, a large amount of improvements have been done, improving both the gameplay and the graphics. It is not perfect yet, but this certainly is a good time to make a release. Changes since 0.3.2 include: Guitar, bass and drums Uses songs in <a href="http://fretsonfire.sourceforge.net/">Frets on Fire</a> / <a href="http://code.google.com/p/fofix/">FoFiX</a> format All tracks (including vocals) are supported Autodetection of any connected Guitar Hero and Rock Band instruments Support for using a keyboard as guitar controller (FoF style) - Whammy bar support Better hammer-on/pull-off support than in other games Engine tries to figure out player's intention instead of picking the nearest chord Multiplayer for as many players as you have instruments for @@ -22,7 +22,6 @@ A major new release that not only contains improvements to the singing game you Many minor bugs fixed Build/install changes and cleanup Installs only minimal amount of cruft - Support libraries built into the executable (static linkage) Increased version requirements for Boost, CMake, etc. Various small bugs fixed Special thanks to all the new developers who participated in this release (see a list of contributors and their activity at <a href="http://www.ohloh.net/projects/performous">Ohloh.net</a>). Without you it would not be possible to develop the game at a rate greater than ever before :) diff --git a/htdocs-source/screenshots.txt b/htdocs-source/screenshots.txt index fb784d8..e022037 100644 --- a/htdocs-source/screenshots.txt +++ b/htdocs-source/screenshots.txt @@ -1,21 +1,22 @@ Screenshots -:h2:Main menu -<img src="screenshots/Performous-0.3.1-menu.png"> - -:h2:Practice screen -This is a good place to setup microphone levels or to do voice-opening exercises. -<img src="screenshots/Performous-0.3.1-practice.png"> - :h2:Select a song Fully animated cover browser, live background video preview and other visual goodness: -<img src="screenshots/Performous-0.3.1-songs.png"> - -:h2:Sing +<img src="screenshots/Performous-0.4.0-songs.jpg"> +:h2:Perform Scrolling notes allow singing without unwanted interruptions. As usual, plenty of animations are included as eyecandy. +<img src="screenshots/Performous-0.3.1-sing.jpg"> +The major new feature of 0.4 is that you can also play drums and guitar at the same time: +<img src="screenshots/Performous-0.4.0-band.jpg"> +Custom background images or videos can be used as a fallback when the song doesn't have any: +<img src="screenshots/Performous-0.4.0-choose_instruments.jpg"> +<img src="screenshots/Performous-0.4.0-guitar_sing.jpg"> +<img src="screenshots/Performous-0.4.0-guitar.jpg"> -<img src="screenshots/Performous-0.3.1-sing.png"> +:h2:Practice screen +This is a good place to setup microphone levels or to do voice-opening exercises. +<img src="screenshots/Performous-0.3.1-practice.png"> :h2:In action |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:40:23
|
Module: performous Branch: refs/tags/0.4.0 Tag: 1ccdfa0760ced763f249870efffbce61b5028339 Tagger: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 10:32:44 2009 +0200 Tagging 0.4.0 release. |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:29
|
Module: performous Branch: dance Commit: a784a5d758366dee1bcd091fc90ce7772e6ea44f Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 10:20:41 2009 +0200 Merge branch 'master' into dance Conflicts: cmake/Modules/FindBoost.cmake --- |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:27
|
Module: performous Branch: dance Commit: b36b781156e7a4ddca064cdb9a24403ba3a90532 Author: Lasse Karkkainen <tro...@tr...> Date: Sun Nov 29 10:03:47 2009 +0200 Record the image loading issue on TODO.txt --- docs/TODO.txt | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/docs/TODO.txt b/docs/TODO.txt index 5b57e52..2d8377e 100644 --- a/docs/TODO.txt +++ b/docs/TODO.txt @@ -105,3 +105,10 @@ performous(main+0x1d30)[0x4d42c0] #9 0x00007f6f492037bd in clone () from /lib/libc.so.6 #10 0x0000000000000000 in ?? () +- Bitmap surfaces are often loaded only partially, loading stops at a middle of a scanline. + * Affects at least PNG format, maybe not others + * The rest appears black or transparent (at least most of the time) + * Reloading often causes different results on the same image + * Different images may also stop at the exact same pixel + => out of memory condition or something? + |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:25
|
Module: performous
Branch: dance
Commit: 34f294fd5556b38499f24e65bdbcb3a7390e6fef
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Nov 28 17:46:34 2009 +0100
Bump version, Added screenshot by pressing F11 (need tweak)
---
CMakeLists.txt | 2 +-
game/main.cc | 14 ++++++++++++++
game/video_driver.cc | 26 ++++++++++++++++++++++++++
game/video_driver.hh | 2 ++
4 files changed, 43 insertions(+), 1 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6437a8e..a549d2a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,7 +1,7 @@
project(Performous CXX)
cmake_minimum_required(VERSION 2.6)
cmake_policy(VERSION 2.6)
-set(PROJECT_VERSION "0.4.0")
+set(PROJECT_VERSION "0.4.0+")
# Avoid source tree pollution
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
diff --git a/game/main.cc b/game/main.cc
index dcfa16a..3d42c90 100644
--- a/game/main.cc
+++ b/game/main.cc
@@ -31,6 +31,8 @@
volatile bool g_quit = false;
+bool g_take_screenshot = false;
+
extern "C" void quit(int) {
g_quit = true;
}
@@ -68,6 +70,9 @@ static void checkEvents_SDL(ScreenManager& sm, Window& window) {
config["graphic/fullscreen"].b() = !config["graphic/fullscreen"].b();
continue; // Already handled here...
}
+ if (keypressed == SDLK_F11 ) {
+ g_take_screenshot = true;
+ }
if (keypressed == SDLK_F4 && modifier & KMOD_ALT) {
sm.finished();
continue; // Already handled here...
@@ -156,6 +161,15 @@ void mainLoop(std::string const& songlist) {
boost::xtime time = now();
unsigned frames = 0;
while (!sm.isFinished()) {
+ if( g_take_screenshot ) {
+ try {
+ window.screenshot();
+ std::cout << ">>> Screenshot taken" << std::endl;
+ } catch (std::exception& e) {
+ std::cerr << "ERROR: " << e.what() << std::endl;
+ }
+ g_take_screenshot = false;
+ }
try {
checkEvents_SDL(sm, window);
window.blank();
diff --git a/game/video_driver.cc b/game/video_driver.cc
index 0fb7ddb..ac6a69d 100644
--- a/game/video_driver.cc
+++ b/game/video_driver.cc
@@ -5,7 +5,9 @@
#include "fs.hh"
#include "util.hh"
#include "joystick.hh"
+
#include <SDL.h>
+#include <Magick++.h>
namespace {
unsigned s_width;
@@ -54,6 +56,30 @@ bool Window::getFullscreen() {
return m_fullscreen;
}
+void Window::screenshot() {
+ static unsigned int count = 0;
+ unsigned width = m_fullscreen ? m_fsW : m_windowW;
+ unsigned height = m_fullscreen ? m_fsH : m_windowH;
+
+ std::vector<char> buffer(width*height*3);
+ glReadPixels(0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, &buffer[0]);
+ Magick::Blob blob( &buffer[0], width*height*3);
+
+ Magick::Image image;
+ char geometry[16];
+ sprintf(geometry,"%dx%d",width,height);
+ image.size(geometry);
+ image.depth(8);
+ image.magick( "RGB" );
+ image.read(blob);
+ image.flip();
+ char filename[256];
+ sprintf(filename,"/tmp/performous_screenshot_%u.png",count);
+ image.write(filename);
+ count++;
+}
+
+
void Window::resize() {
unsigned width = m_fullscreen ? m_fsW : m_windowW;
unsigned height = m_fullscreen ? m_fsH : m_windowH;
diff --git a/game/video_driver.hh b/game/video_driver.hh
index 38ac892..4ac703e 100644
--- a/game/video_driver.hh
+++ b/game/video_driver.hh
@@ -33,6 +33,8 @@ class Window {
void setFullscreen(bool _fs);
/// gets fullscreen state
bool getFullscreen();
+ /// take a screenshot
+ void screenshot();
private:
SDL_Surface* screen;
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:23
|
Module: performous
Branch: dance
Commit: 5de31abdd2ef21474dbbe8e3828a9685c1cb5b26
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Nov 28 14:27:05 2009 +0100
Fixed ubuntu karmic depends list
---
cmake/performous-packaging.cmake | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cmake/performous-packaging.cmake b/cmake/performous-packaging.cmake
index d987ed5..d88f286 100644
--- a/cmake/performous-packaging.cmake
+++ b/cmake/performous-packaging.cmake
@@ -60,7 +60,7 @@ if(UNIX)
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.35.0, libboost-program-options1.35.0, libboost-regex1.35.0, libboost-filesystem1.35.0, libboost-date-time1.35.0, libavcodec52, libavformat52, libswscale0, libmagick++1, libxml++2.6-2, libglew1.5")
endif("${LSB_DISTRIB}" MATCHES "Ubuntu9.04")
if("${LSB_DISTRIB}" MATCHES "Ubuntu9.10")
- set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.38.0, libboost-program-options1.38.0, libboost-regex1.38.0, libboost-filesystem1.38.0, libboost-date-time1.38.0, libavcodec52, libavformat52, libswscale0, libmagick++1, libxml++2.6-2, libglew1.5")
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-thread1.38.0, libboost-program-options1.38.0, libboost-regex1.38.0, libboost-filesystem1.38.0, libboost-date-time1.38.0, libavcodec52, libavformat52, libswscale0, libmagick++2, libxml++2.6-2, libglew1.5")
endif("${LSB_DISTRIB}" MATCHES "Ubuntu9.10")
if("${LSB_DISTRIB}" MATCHES "Debian5.*")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libsdl1.2debian, libcairo2, librsvg2-2, libboost-dev, libavcodec51, libavformat52, libswscale0, libmagick++10, libxml++2.6-2, libglew1.5")
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:21
|
Module: performous
Branch: dance
Commit: d542e2ec073acde323985b1f7259a644be8df1d4
Author: Tapio Vierros <tap...@gm...>
Date: Sat Nov 28 14:04:58 2009 +0200
Make 3d tappable note state a bit clearer.
---
game/guitargraph.cc | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 1499eab..9f19f97 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -517,12 +517,11 @@ void GuitarGraph::drawNote(int fret, glutil::Color c, float tBeg, float tEnd, fl
}
}
if (tappable) {
- float l = std::max(0.5, m_correctness.get());
+ float l = std::max(0.3, m_correctness.get());
if (m_use3d) {
glColor3f(l, l, l);
m_tappableObj.draw(x, yBeg, 0.0f);
} else {
- l = l * 2.0 - 1.0; // Full black to white range to overcome ambient lighting or something
glColor3f(l, l, l);
m_tap.dimensions.center(yBeg).middle(x);
m_tap.draw();
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:18
|
Module: performous Branch: dance Commit: 3b0a20932cd1f80d8a1d61dbca7d0c42514cf064 Author: Lasse Karkkainen <tro...@tr...> Date: Sat Nov 28 12:49:12 2009 +0200 Improved instrument help --- themes/default/instrumenthelp.svg | 203 +++++++++++++++++++++---------------- 1 files changed, 116 insertions(+), 87 deletions(-) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:16
|
Module: performous
Branch: dance
Commit: db86e16169afbd21e8ab236897f5c16f2cdcbb23
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Nov 28 12:35:53 2009 +0200
More contrast for tap balls
---
game/guitargraph.cc | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 8dafc88..1499eab 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -518,10 +518,12 @@ void GuitarGraph::drawNote(int fret, glutil::Color c, float tBeg, float tEnd, fl
}
if (tappable) {
float l = std::max(0.5, m_correctness.get());
- glColor3f(l, l, l);
if (m_use3d) {
+ glColor3f(l, l, l);
m_tappableObj.draw(x, yBeg, 0.0f);
} else {
+ l = l * 2.0 - 1.0; // Full black to white range to overcome ambient lighting or something
+ glColor3f(l, l, l);
m_tap.dimensions.center(yBeg).middle(x);
m_tap.draw();
}
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:14
|
Module: performous
Branch: dance
Commit: 0729391d00e58edda6ade596972f2288380795fa
Author: Vincent Le Ligeour <yo...@us...>
Date: Sat Nov 28 11:09:48 2009 +0100
Fixed latest packaging issues
---
cmake/performous-packaging.cmake | 1 -
.../performous/performous-0.4.0.ebuild | 2 +-
2 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/cmake/performous-packaging.cmake b/cmake/performous-packaging.cmake
index 8fe3e9f..d987ed5 100644
--- a/cmake/performous-packaging.cmake
+++ b/cmake/performous-packaging.cmake
@@ -6,7 +6,6 @@ set(CPACK_SOURCE_IGNORE_FILES
"/.cvsignore"
"/.gitignore"
"/songs/"
- "/libs/"
"/build/"
"/.svn/"
"/.git/"
diff --git a/portage-overlay/games-arcade/performous/performous-0.4.0.ebuild b/portage-overlay/games-arcade/performous/performous-0.4.0.ebuild
index c692990..3bab746 100644
--- a/portage-overlay/games-arcade/performous/performous-0.4.0.ebuild
+++ b/portage-overlay/games-arcade/performous/performous-0.4.0.ebuild
@@ -75,7 +75,7 @@ src_configure() {
$(cmake-utils_use_enable tools TOOLS)
$(cmake-utils_use_enable editor EDITOR)
-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}
- -DSHARE_INSTALL=share/
+ -DSHARE_INSTALL=share/performous/
-DLIBDA_AUTODETECT_PLUGINS=false
-DLIBDA_PLUGIN_TESTING=false
-DCMAKE_BUILD_TYPE=Release"
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:14
|
Module: performous Branch: dance Commit: 359cb375eb456f334904a7cf617653ff3135d969 Author: Lasse Karkkainen <tro...@tr...> Date: Sat Nov 28 12:32:04 2009 +0200 Merge branch 'master' of ssh://tronic@git.performous.org/gitroot/performous/performous --- |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:12
|
Module: performous Branch: dance Commit: dc2402af7985cc4966b8472645c6ba8b7af0b496 Author: Lasse Karkkainen <tro...@tr...> Date: Sat Nov 28 12:31:40 2009 +0200 Modified tap object. --- themes/default/fret_tap.obj | 678 ++++++------------------------------------- 1 files changed, 84 insertions(+), 594 deletions(-) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:07
|
Module: performous Branch: dance Commit: 35f7c53fbff5fecd288332d3dee3e80f395efb38 Author: Vincent Le Ligeour <yo...@us...> Date: Sat Nov 28 10:39:33 2009 +0100 Revert "Bump version number" This reverts commit b1ac859271ccef79392e2995458452d2db37b331. --- CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a549d2a..6437a8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ project(Performous CXX) cmake_minimum_required(VERSION 2.6) cmake_policy(VERSION 2.6) -set(PROJECT_VERSION "0.4.0+") +set(PROJECT_VERSION "0.4.0") # Avoid source tree pollution if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:05
|
Module: performous
Branch: dance
Commit: 3e2dc6fd2035dea1793df7ca9c0b2298d77ce172
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Nov 28 11:54:17 2009 +0200
Tappable ball as a separate object of different color instead of flashing the entire note. Needs new fret_tap.obj.
---
game/guitargraph.cc | 31 ++++++++++++-------------------
1 files changed, 12 insertions(+), 19 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index 0b70d13..8dafc88 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -440,26 +440,12 @@ void GuitarGraph::draw(double time) {
glow = m_events[event - 1].glow.get();
whammy = m_events[event - 1].whammy.get();
}
- /*
- if (glow > 0.0f) {
- glBlendFunc(GL_ONE, GL_ONE);
- drawNote(fret, glutil::Color(glow, glow, glow), tBeg, tEnd);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- }
- */
glutil::Color c = color(fret);
c.r += glow;
c.g += glow;
c.b += glow;
drawNote(fret, c, tBeg, tEnd, whammy, it->tappable);
- if (!m_use3d && it->tappable) {
- float l = std::max(0.5, m_correctness.get());
- glColor3f(l, l, l);
- float x = -2.0f + fret;
- m_tap.dimensions.center(time2y(tBeg)).middle(x);
- m_tap.draw();
- }
}
}
glColor3f(1.0f, 1.0f, 1.0f);
@@ -475,8 +461,6 @@ namespace {
}
void GuitarGraph::drawNote(int fret, glutil::Color c, float tBeg, float tEnd, float whammy, bool tappable) {
- Object3d* obj = &m_fretObj;
- if (tappable) obj = &m_tappableObj;
float x = -2.0f + fret;
if (m_drums) x -= 0.5f;
if (m_drums && fret == 0) {
@@ -493,9 +477,8 @@ void GuitarGraph::drawNote(int fret, glutil::Color c, float tBeg, float tEnd, fl
if (m_use3d) {
y -= fretWid;
c.a = clamp(time2a(tBeg)*2.0f,0.0f,1.0f);
- if (tappable && m_correctness.get() < .99) { c.r *= 0.5f; c.g *= 0.5f; c.b *= 0.5f; }
glColor4fv(c);
- obj->draw(x, y, 0.0f);
+ m_fretObj.draw(x, y, 0.0f);
y -= fretWid;
} else {
UseTexture tblock(m_button_l);
@@ -526,13 +509,23 @@ void GuitarGraph::drawNote(int fret, glutil::Color c, float tBeg, float tEnd, fl
// Too short note: only render the ring
if (m_use3d) {
c.a = clamp(time2a(tBeg)*2.0f,0.0f,1.0f); glColor4fv(c);
- obj->draw(x, time2y(tBeg), 0.0f);
+ m_fretObj.draw(x, time2y(tBeg), 0.0f);
} else {
c.a = time2a(tBeg); glColor4fv(c);
m_button.dimensions.center(time2y(tBeg)).middle(x);
m_button.draw();
}
}
+ if (tappable) {
+ float l = std::max(0.5, m_correctness.get());
+ glColor3f(l, l, l);
+ if (m_use3d) {
+ m_tappableObj.draw(x, yBeg, 0.0f);
+ } else {
+ m_tap.dimensions.center(yBeg).middle(x);
+ m_tap.draw();
+ }
+ }
}
void GuitarGraph::drawBar(double time, float h) {
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:01
|
Module: performous
Branch: dance
Commit: b0ef12406605b91caee8c2640a5e9e00230d3e07
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Nov 28 11:20:22 2009 +0200
Always draw cursor in 2D (even when using 3D notes)
---
game/guitargraph.cc | 34 +++++++++++++++-------------------
1 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/game/guitargraph.cc b/game/guitargraph.cc
index f0a9916..0b70d13 100644
--- a/game/guitargraph.cc
+++ b/game/guitargraph.cc
@@ -407,6 +407,21 @@ void GuitarGraph::draw(double time) {
glTexCoord2f(1.0f, texCoord); glVertex2f(w, time2y(tEnd));
}
}
+ // Draw the cursor
+ float level = m_hit[0].get();
+ glColor3f(level, level, level);
+ drawBar(0.0, 0.01f);
+ // Fret buttons on cursor
+ for (int fret = m_drums; fret < 5; ++fret) {
+ float x = -2.0f + fret - 0.5f * m_drums;
+ float l = m_hit[fret + !m_drums].get();
+ glColor4fv(color(fret));
+ m_button.dimensions.center(time2y(0.0)).middle(x);
+ m_button.draw();
+ glColor3f(l, l, l);
+ m_tap.dimensions = m_button.dimensions;
+ m_tap.draw();
+ }
// Draw the notes
glutil::UseLighting lighting(m_use3d);
for (Chords::const_iterator it = m_chords.begin(); it != m_chords.end(); ++it) {
@@ -447,25 +462,6 @@ void GuitarGraph::draw(double time) {
}
}
}
- // Draw the cursor
- float level = m_hit[0].get();
- glColor3f(level, level, level);
- drawBar(0.0, 0.01f);
- // Fret buttons on cursor
- for (int fret = m_drums; fret < 5; ++fret) {
- float x = -2.0f + fret - 0.5f * m_drums;
- float l = m_hit[fret + !m_drums].get();
- glColor4fv(color(fret));
- if (m_use3d) {
- m_fretObj.draw(x, time2y(0.0), (1.0-l)/8.0);
- } else {
- m_button.dimensions.center(time2y(0.0)).middle(x);
- m_button.draw();
- glColor3f(l, l, l);
- m_tap.dimensions = m_button.dimensions;
- m_tap.draw();
- }
- }
glColor3f(1.0f, 1.0f, 1.0f);
}
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:23:01
|
Module: performous Branch: dance Commit: b1ac859271ccef79392e2995458452d2db37b331 Author: Lasse Karkkainen <tro...@tr...> Date: Sat Nov 28 11:22:29 2009 +0200 Bump version number --- CMakeLists.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6437a8e..a549d2a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ project(Performous CXX) cmake_minimum_required(VERSION 2.6) cmake_policy(VERSION 2.6) -set(PROJECT_VERSION "0.4.0") +set(PROJECT_VERSION "0.4.0+") # Avoid source tree pollution if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) |
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:22:56
|
Module: performous
Branch: dance
Commit: c6c4cd031628e321e25d753f27a34b0ba10dba94
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Nov 28 10:53:30 2009 +0200
Install libda to performous dir
---
libs/libda/CMakeLists.txt | 17 +++++++++++++----
libs/libda/cmake/config.h.in | 4 +++-
libs/libda/src/audio.cpp | 3 ++-
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/libs/libda/CMakeLists.txt b/libs/libda/CMakeLists.txt
index 5c8f5d4..76fe7eb 100644
--- a/libs/libda/CMakeLists.txt
+++ b/libs/libda/CMakeLists.txt
@@ -21,15 +21,24 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
set(LIB_SUFFIX "" CACHE STRING "Optional suffix to use on lib folders (e.g. 64 for lib64)")
set(LibDA_CMAKE_DIR share/libda/cmake CACHE STRING "Relative path (from prefix) where to put CMake configuration files")
-set(LibDA_PLUGIN_DIR "lib${LIB_SUFFIX}/libda")
+
+if(SLAVE_LIB)
+ set(LibDA_PLUGIN_FOLDER "performous/libda-${LibDA_VERSION_MAJOR}")
+else()
+ set(LibDA_PLUGIN_FOLDER "libda-${LibDA_VERSION_MAJOR}")
+endif()
+
+set(LibDA_PLUGIN_DIR "lib${LIB_SUFFIX}/${LibDA_PLUGIN_FOLDER}")
include_directories(include)
+# Store version data in config.h
+set(CONFIG_H ${CMAKE_CURRENT_BINARY_DIR}/libda/config.h)
+configure_file(cmake/config.h.in ${CONFIG_H} ESCAPE_QUOTES @ONLY)
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
if(NOT SLAVE_LIB)
include(cmake/libda-packaging.cmake)
- # Store version data in config.h
- set(CONFIG_H ${CMAKE_CURRENT_BINARY_DIR}/config.h)
- configure_file(cmake/config.h.in ${CONFIG_H} ESCAPE_QUOTES @ONLY)
# Install include files
file(GLOB HEADER_FILES "include/libda/*")
install(FILES ${HEADER_FILES} ${CONFIG_H} DESTINATION include/libda)
diff --git a/libs/libda/cmake/config.h.in b/libs/libda/cmake/config.h.in
index b08238c..422b249 100644
--- a/libs/libda/cmake/config.h.in
+++ b/libs/libda/cmake/config.h.in
@@ -1,9 +1,11 @@
#ifndef LIBDA_CONFIG_H
#define LIBDA_CONFIG_H
+// Note C versions use all-capital LIBDA, while CMake has LibDA...
+
#define LIBDA_VERSION "@LibDA_VERSION@"
#define LIBDA_VERSION_MAJOR @LibDA_VERSION_MAJOR@
#define LIBDA_VERSION_MINOR @LibDA_VERSION_MINOR@
-
+#define LIBDA_PLUGIN_FOLDER "@LibDA_PLUGIN_FOLDER@"
#endif
diff --git a/libs/libda/src/audio.cpp b/libs/libda/src/audio.cpp
index 8374a66..5dfb894 100644
--- a/libs/libda/src/audio.cpp
+++ b/libs/libda/src/audio.cpp
@@ -2,6 +2,7 @@
#include <libda/audio_dev.hpp>
#undef BUILDING_DLL
+#include <libda/config.h>
#include <plugin++/loader.hpp>
#include <ostream>
#include <limits>
@@ -13,7 +14,7 @@ namespace da {
class init_impl {
plugin::loader m_loader;
public:
- init_impl(): m_loader("libda") {}
+ init_impl(): m_loader(LIBDA_PLUGIN_FOLDER) {}
};
initialize::initialize(): m_impl(new init_impl) {}
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:22:54
|
Module: performous
Branch: dance
Commit: 63eebb0036672ff682145ea5f5bd09cd52ccdaef
Author: Lasse Karkkainen <tro...@tr...>
Date: Sat Nov 28 06:53:38 2009 +0200
The order DOES matter. Fixed the damn linking problem.
---
game/CMakeLists.txt | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index 1e9e60e..b2c5dd8 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -14,7 +14,7 @@ list(APPEND LIBS ${Boost_LIBRARIES})
# Libraries are part of Performous build process (for now)
set(SLAVE_LIBS TRUE)
if(SLAVE_LIBS)
- list(APPEND LIBS plugin++ da)
+ list(APPEND LIBS da plugin++)
else()
set(OUR_LIBS Plugin++ LibDA)
endif()
|
|
From: Lasse Kärkkäi. <tr...@us...> - 2009-11-29 08:22:53
|
Module: performous
Branch: dance
Commit: d7a662fd6f74836c84b4548a1a0c5bdfb8feb74f
Author: Lasse Karkkainen <tro...@tr...>
Date: Fri Nov 27 16:31:32 2009 +0200
Use static linkage on libs to avoid installing them, remove relative RPATHs
---
game/CMakeLists.txt | 4 ++--
libs/libda/src/CMakeLists.txt | 2 +-
libs/plugin++/CMakeLists.txt | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/game/CMakeLists.txt b/game/CMakeLists.txt
index 951e708..1e9e60e 100644
--- a/game/CMakeLists.txt
+++ b/game/CMakeLists.txt
@@ -48,9 +48,9 @@ target_link_libraries(performous ${LIBS})
# Store library paths in executable
if(APPLE)
- set_target_properties(performous PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE INSTALL_RPATH "@loader_path/../lib${LIB_SUFFIX}:@loader_path/../../lib${LIB_SUFFIX}")
+ set_target_properties(performous PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
else()
- set_target_properties(performous PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE INSTALL_RPATH "\$ORIGIN/../lib${LIB_SUFFIX}:\$ORIGIN/../../lib${LIB_SUFFIX}")
+ set_target_properties(performous PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
endif()
# Generate config.hh
diff --git a/libs/libda/src/CMakeLists.txt b/libs/libda/src/CMakeLists.txt
index a767b7d..f98f903 100644
--- a/libs/libda/src/CMakeLists.txt
+++ b/libs/libda/src/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.6)
-add_library(da SHARED audio.cpp)
+add_library(da STATIC audio.cpp)
target_link_libraries(da ${Boost_LIBRARIES} ${Plugin++_LIBRARIES})
set_target_properties(da PROPERTIES
diff --git a/libs/plugin++/CMakeLists.txt b/libs/plugin++/CMakeLists.txt
index b8e8b16..d311340 100644
--- a/libs/plugin++/CMakeLists.txt
+++ b/libs/plugin++/CMakeLists.txt
@@ -28,7 +28,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98 -Wall -Wextra")
endif()
-add_library(plugin++ SHARED src/dll.cc src/execname.cc src/loader.cc)
+add_library(plugin++ STATIC src/dll.cc src/execname.cc src/loader.cc)
find_package(DL REQUIRED)
include_directories(${DL_INCLUDE_DIRS})
|