[BPMDisplay] Added SetFromSteps Lua binding.

This commit is contained in:
AJ Kelly
2011-06-02 11:33:08 -05:00
parent 743b9d09d3
commit 2101c0d451
5 changed files with 40 additions and 2 deletions
+8 -2
View File
@@ -5,10 +5,15 @@ from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt.
________________________________________________________________________________
================================================================================
StepMania 5.0 ????????? | 20110???
StepMania 5.0 Preview 2 | 20110???
--------------------------------------------------------------------------------
2011/05/31
2011/06/02
----------
* [BPMDisplay] Added SetFromSteps Lua binding. [AJ]
2011/06/01
----------
* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000]
2011/05/31
@@ -16,6 +21,7 @@ StepMania 5.0 ????????? | 20110???
* [Player] Added the BattleRaveMirror metric. This determines if Battle and
Rave mode will have the two players with mirrored charts or not. By default,
this is set to true, preserving the ITG style behavior. [Wolfman2000]
* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000]
================================================================================
StepMania 5.0 Preview 1 | 20110529
+3
View File
@@ -1273,6 +1273,9 @@
<Function name='SetFromSong' sm-ssc='true' return='void' arguments='Song s'>
Sets the BPMDisplay from the specified Song.
</Function>
<Function name='SetFromSteps' sm-ssc='true' return='void' arguments='Steps s'>
Sets the BPMDisplay from the specified Steps.
</Function>
</Class>
<Class name='Character'>
<Function name='GetCardPath' return='string' arguments=''>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 KiB

After

Width:  |  Height:  |  Size: 105 KiB

+23
View File
@@ -9,6 +9,7 @@
#include "CommonMetrics.h"
#include "LocalizedString.h"
#include "Song.h"
#include "Steps.h"
#include <limits.h>
@@ -198,6 +199,17 @@ void BPMDisplay::SetBpmFromSong( const Song* pSong )
}
}
void BPMDisplay::SetBpmFromSteps( const Steps* pSteps )
{
ASSERT( pSteps );
DisplayBpms bpms;
float fMinBPM, fMaxBPM;
pSteps->m_Timing.GetActualBPM( fMinBPM, fMaxBPM );
bpms.Add( fMinBPM );
bpms.Add( fMaxBPM );
m_fCycleTime = 1.0f;
}
void BPMDisplay::SetBpmFromCourse( const Course* pCourse )
{
ASSERT( pCourse );
@@ -307,6 +319,16 @@ public:
}
return 0;
}
static int SetFromSteps( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->NoBPM(); }
else
{
const Steps* pSteps = Luna<Steps>::check( L, 1, true );
p->SetBpmFromSteps(pSteps);
}
return 0;
}
static int SetFromCourse( T* p, lua_State *L )
{
if( lua_isnil(L,1) ) { p->NoBPM(); }
@@ -323,6 +345,7 @@ public:
{
ADD_METHOD( SetFromGameState );
ADD_METHOD( SetFromSong );
ADD_METHOD( SetFromSteps );
ADD_METHOD( SetFromCourse );
ADD_METHOD( GetText );
}
+6
View File
@@ -6,6 +6,7 @@
#include "ThemeMetric.h"
#include "LocalizedString.h"
class Song;
class Steps;
class Course;
struct DisplayBpms;
@@ -30,6 +31,11 @@ public:
* @param pSong the song in question.
*/
void SetBpmFromSong( const Song* pSong );
/**
* @brief Use the BPM[s] from a steps.
* @param pSteps the steps in question.
*/
void SetBpmFromSteps( const Steps* pSteps );
/**
* @brief Use the BPM[s] from a course.
* @param pCourse the course in question.