[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] * [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000]
2011/05/31 2011/05/31
@@ -16,6 +21,7 @@ StepMania 5.0 ????????? | 20110???
* [Player] Added the BattleRaveMirror metric. This determines if Battle and * [Player] Added the BattleRaveMirror metric. This determines if Battle and
Rave mode will have the two players with mirrored charts or not. By default, 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] this is set to true, preserving the ITG style behavior. [Wolfman2000]
* [TimingData] Added the HasScrollChanges lua binding. [Wolfman2000]
================================================================================ ================================================================================
StepMania 5.0 Preview 1 | 20110529 StepMania 5.0 Preview 1 | 20110529
+3
View File
@@ -1273,6 +1273,9 @@
<Function name='SetFromSong' sm-ssc='true' return='void' arguments='Song s'> <Function name='SetFromSong' sm-ssc='true' return='void' arguments='Song s'>
Sets the BPMDisplay from the specified Song. Sets the BPMDisplay from the specified Song.
</Function> </Function>
<Function name='SetFromSteps' sm-ssc='true' return='void' arguments='Steps s'>
Sets the BPMDisplay from the specified Steps.
</Function>
</Class> </Class>
<Class name='Character'> <Class name='Character'>
<Function name='GetCardPath' return='string' arguments=''> <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 "CommonMetrics.h"
#include "LocalizedString.h" #include "LocalizedString.h"
#include "Song.h" #include "Song.h"
#include "Steps.h"
#include <limits.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 ) void BPMDisplay::SetBpmFromCourse( const Course* pCourse )
{ {
ASSERT( pCourse ); ASSERT( pCourse );
@@ -307,6 +319,16 @@ public:
} }
return 0; 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 ) static int SetFromCourse( T* p, lua_State *L )
{ {
if( lua_isnil(L,1) ) { p->NoBPM(); } if( lua_isnil(L,1) ) { p->NoBPM(); }
@@ -323,6 +345,7 @@ public:
{ {
ADD_METHOD( SetFromGameState ); ADD_METHOD( SetFromGameState );
ADD_METHOD( SetFromSong ); ADD_METHOD( SetFromSong );
ADD_METHOD( SetFromSteps );
ADD_METHOD( SetFromCourse ); ADD_METHOD( SetFromCourse );
ADD_METHOD( GetText ); ADD_METHOD( GetText );
} }
+6
View File
@@ -6,6 +6,7 @@
#include "ThemeMetric.h" #include "ThemeMetric.h"
#include "LocalizedString.h" #include "LocalizedString.h"
class Song; class Song;
class Steps;
class Course; class Course;
struct DisplayBpms; struct DisplayBpms;
@@ -30,6 +31,11 @@ public:
* @param pSong the song in question. * @param pSong the song in question.
*/ */
void SetBpmFromSong( const Song* pSong ); 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. * @brief Use the BPM[s] from a course.
* @param pCourse the course in question. * @param pCourse the course in question.