add time-based spacing and variable scroll speed (commented out because it wasn't as helpful as I hoped)

This commit is contained in:
Chris Danford
2003-04-16 22:48:00 +00:00
parent 07c0cdd64e
commit 3c6ed5a9ed
2 changed files with 26 additions and 6 deletions
+7 -2
View File
@@ -546,7 +546,6 @@ TimerSeconds=60
NextScreen=ScreenGameplay NextScreen=ScreenGameplay
[ScreenGameplay] [ScreenGameplay]
SongSelectScreen=ScreenSelectMusic
PrevScreenArcade=ScreenSelectMusic PrevScreenArcade=ScreenSelectMusic
PrevScreenNonstop=ScreenSelectCourse PrevScreenNonstop=ScreenSelectCourse
PrevScreenOni=ScreenSelectCourse PrevScreenOni=ScreenSelectCourse
@@ -636,7 +635,7 @@ ScoreP1OffCommand=linear,1;addy,100
ScoreP1ExtraX=106 ScoreP1ExtraX=106
ScoreP1ExtraY=38 ScoreP1ExtraY=38
ScoreP1ExtraOnCommand=addy,-100;sleep,0.5;linear,1;addy,100 ScoreP1ExtraOnCommand=addy,-100;sleep,0.5;linear,1;addy,100
ScoreP1ExtraOffCommand=linear,1;addy,100 ScoreP1ExtraOffCommand=linear,1;addy,-100
ScoreP2X=534 ScoreP2X=534
ScoreP2Y=444 ScoreP2Y=444
ScoreP2OnCommand=addy,100;sleep,0.5;linear,1;addy,-100 ScoreP2OnCommand=addy,100;sleep,0.5;linear,1;addy,-100
@@ -1779,6 +1778,12 @@ HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options::
Game=Change the current game type with this option. Game=Change the current game type with this option.
[ScreenPlayerOptions] [ScreenPlayerOptions]
PrevScreenArcade=ScreenSelectMusic
PrevScreenNonstop=ScreenSelectCourse
PrevScreenOni=ScreenSelectCourse
PrevScreenEndless=ScreenSelectCourse
PrevScreenBattle=ScreenSelectMusic
PrevScreenRave=ScreenSelectMusic
HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options START to accept changes HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options START to accept changes
TimerSeconds=30 TimerSeconds=30
+17 -2
View File
@@ -18,6 +18,7 @@
#include "RageException.h" #include "RageException.h"
#include "RageTimer.h" #include "RageTimer.h"
#include "NoteDisplay.h" #include "NoteDisplay.h"
#include "Song.h"
#include <math.h> #include <math.h>
@@ -26,9 +27,22 @@ float g_fExpandSeconds = 0;
float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat ) float ArrowGetYOffset( PlayerNumber pn, float fNoteBeat )
{ {
float fYOffset;
if( GAMESTATE->m_PlayerOptions->m_bTimeSpacing )
{
float fSongBeat = GAMESTATE->m_fSongBeat; float fSongBeat = GAMESTATE->m_fSongBeat;
float fBeatsUntilStep = fNoteBeat - fSongBeat; float fBeatsUntilStep = fNoteBeat - fSongBeat;
float fYOffset = fBeatsUntilStep * ARROW_GAP; fYOffset = fBeatsUntilStep * ARROW_SPACING;
}
else
{
float fSongSeconds = GAMESTATE->m_fMusicSeconds;
float fNoteSeconds = GAMESTATE->m_pCurSong->GetElapsedTimeFromBeat(fNoteBeat);
float fSecondsUntilStep = fNoteSeconds - fSongSeconds;
float fBPM = GAMESTATE->m_pCurSong->GetDominantBPM();
float fBPS = fBPM/60.f;
fYOffset = fSecondsUntilStep * fBPS * ARROW_SPACING;
}
// don't mess with the arrows after they've crossed 0 // don't mess with the arrows after they've crossed 0
if( fYOffset < 0 ) if( fYOffset < 0 )
@@ -110,7 +124,8 @@ float ArrowGetRotation( PlayerNumber pn, float fNoteBeat )
float ArrowGetYPosWithoutReverse( PlayerNumber pn, float fYOffset ) float ArrowGetYPosWithoutReverse( PlayerNumber pn, float fYOffset )
{ {
return fYOffset * GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed; float fYPos = fYOffset * GAMESTATE->m_CurrentPlayerOptions[pn].m_fScrollSpeed;
return fYPos;
} }
float ArrowGetYPos( PlayerNumber pn, float fYOffset ) float ArrowGetYPos( PlayerNumber pn, float fYOffset )