summaryrefslogtreecommitdiff
path: root/vfg/src/music.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'vfg/src/music.cpp')
-rwxr-xr-xvfg/src/music.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/vfg/src/music.cpp b/vfg/src/music.cpp
index a2e7020..c920a02 100755
--- a/vfg/src/music.cpp
+++ b/vfg/src/music.cpp
@@ -301,6 +301,7 @@ void song::preRoll(long preroll) {
notes.start(startTime);
isPreroll=true;
isPlaying=true;
+ gameover=false;
}
void song::drawNotes(float hOffs){
notes.drawNotes(hOffs,&levels);
@@ -315,8 +316,11 @@ string song::getName(){
int song::getLength(){
return levels.length;
}
-bool song::isFinished(){
- return (getCurrentTime()>=getLength());
+bool song::isGameover(){
+ return gameover;
+}
+bool song::isFinished(){
+ return (ofGetElapsedTimeMillis()-startTime>=levels.length);
}
void song::draw(float hOffs,float scale){
int songTime=ofGetElapsedTimeMillis()-startTime;
@@ -334,7 +338,8 @@ void song::draw(float hOffs,float scale){
if (levels.getLives(songTime)) {
if (notes.missedFlakes>levels.getLives(songTime)) {
//work out score
- stop();
+ //stop();
+ gameover=true;
}
}
}
@@ -342,9 +347,13 @@ void song::draw(float hOffs,float scale){
if (!isPractice) lyrics.draw(hOffs);
if (songTime>levels.length) {
printf("stopping: %i (%i)\n",songTime,levels.length);
- stop();
+ //stop();
+ gameover=true;
}
}
+ else {
+ //fade out song + melody :: clean up
+ }
}
void song::playerControl(int key){
notes.playerControl(key);