diff options
Diffstat (limited to 'vfg/src/music.cpp')
| -rwxr-xr-x | vfg/src/music.cpp | 17 |
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);
|
