Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki]
Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a
This commit is contained in:
@@ -9,6 +9,11 @@ ________________________________________________________________________________
|
||||
StepMania 5.0 alpha 2 | 201205??
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
2012/05/03
|
||||
----------
|
||||
* Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki]
|
||||
Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a
|
||||
|
||||
2012/05/02
|
||||
----------
|
||||
* Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki]
|
||||
|
||||
@@ -87,6 +87,8 @@ Macgravel
|
||||
hanubeki (@803832, formerly sy567)
|
||||
* Small beginner helper fix
|
||||
(http://www.stepmania.com/forums/showpost.php?p=158721&postcount=12)
|
||||
* Lots of code changes from hanubeki-modified-sm-ssc:
|
||||
http://code.google.com/r/hanubeki-modified-sm-ssc/
|
||||
|
||||
galopin
|
||||
* Pump it Up Exceed PlayStation 2 USB dance mat support patch
|
||||
|
||||
@@ -16,12 +16,17 @@ void GhostArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOffset
|
||||
m_fYReverseOffsetPixels = fYReverseOffset;
|
||||
|
||||
const Style* pStyle = GAMESTATE->GetCurrentStyle();
|
||||
const PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
NOTESKIN->SetPlayerNumber( pn );
|
||||
|
||||
// init arrows
|
||||
for( int c=0; c<pStyle->m_iColsPerPlayer; c++ )
|
||||
{
|
||||
const RString &sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( c );
|
||||
|
||||
const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( c, pn );
|
||||
NOTESKIN->SetGameController( GameI.controller );
|
||||
|
||||
m_bHoldShowing.push_back( TapNote::SubType_Invalid );
|
||||
m_bLastHoldShowing.push_back( TapNote::SubType_Invalid );
|
||||
|
||||
|
||||
@@ -246,6 +246,11 @@ void NoteDisplay::Load( int iColNum, const PlayerState* pPlayerState, float fYRe
|
||||
m_pPlayerState = pPlayerState;
|
||||
m_fYReverseOffsetPixels = fYReverseOffsetPixels;
|
||||
|
||||
const PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iColNum, pn );
|
||||
NOTESKIN->SetPlayerNumber( pn );
|
||||
NOTESKIN->SetGameController( GameI.controller );
|
||||
|
||||
const RString &sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( iColNum );
|
||||
|
||||
cache->Load( sButton );
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "NoteSkinManager.h"
|
||||
#include "RageFileManager.h"
|
||||
#include "RageLog.h"
|
||||
#include "GameInput.h"
|
||||
#include "GameState.h"
|
||||
#include "Game.h"
|
||||
#include "Style.h"
|
||||
@@ -47,6 +48,8 @@ namespace
|
||||
NoteSkinManager::NoteSkinManager()
|
||||
{
|
||||
m_pCurGame = NULL;
|
||||
m_PlayerNumber = PlayerNumber_Invalid;
|
||||
m_GameController = GameController_Invalid;
|
||||
|
||||
// Register with Lua.
|
||||
{
|
||||
@@ -378,6 +381,8 @@ bool NoteSkinManager::PushActorTemplate( Lua *L, const RString &sButton, const R
|
||||
ASSERT( iter != g_mapNameToData.end() );
|
||||
const NoteSkinData &data = iter->second;
|
||||
|
||||
LuaThreadVariable varPlayer( "Player", LuaReference::Create(m_PlayerNumber) );
|
||||
LuaThreadVariable varController( "Controller", LuaReference::Create(m_GameController) );
|
||||
LuaThreadVariable varButton( "Button", sButton );
|
||||
LuaThreadVariable varElement( "Element", sElement );
|
||||
LuaThreadVariable varSpriteOnly( "SpriteOnly", LuaReference::Create(bSpriteOnly) );
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "Actor.h"
|
||||
#include "RageTypes.h"
|
||||
#include "PlayerNumber.h"
|
||||
#include "GameInput.h"
|
||||
#include "IniFile.h"
|
||||
|
||||
class Game;
|
||||
@@ -24,7 +25,8 @@ public:
|
||||
|
||||
void SetCurrentNoteSkin( const RString &sNoteSkin ) { m_sCurrentNoteSkin = sNoteSkin; }
|
||||
const RString &GetCurrentNoteSkin() { return m_sCurrentNoteSkin; }
|
||||
|
||||
␍ void SetPlayerNumber( PlayerNumber pn ) { m_PlayerNumber = pn; }
|
||||
void SetGameController( GameController gc ) { m_GameController = gc; }
|
||||
RString GetPath( const RString &sButtonName, const RString &sElement );
|
||||
bool PushActorTemplate( Lua *L, const RString &sButton, const RString &sElement, bool bSpriteOnly );
|
||||
Actor *LoadActor( const RString &sButton, const RString &sElement, Actor *pParent = NULL, bool bSpriteOnly = false );
|
||||
@@ -46,6 +48,10 @@ protected:
|
||||
void LoadNoteSkinDataRecursive( const RString &sNoteSkinName, NoteSkinData& data_out );
|
||||
RString m_sCurrentNoteSkin;
|
||||
const Game* m_pCurGame;
|
||||
|
||||
// xxx: is this the best way to implement this? -freem
|
||||
PlayerNumber m_PlayerNumber;
|
||||
GameController m_GameController;
|
||||
};
|
||||
|
||||
extern NoteSkinManager* NOTESKIN; // global and accessable from anywhere in our program
|
||||
|
||||
@@ -19,6 +19,11 @@ void ReceptorArrow::Load( const PlayerState* pPlayerState, int iColNo )
|
||||
m_pPlayerState = pPlayerState;
|
||||
m_iColNo = iColNo;
|
||||
|
||||
const PlayerNumber pn = m_pPlayerState->m_PlayerNumber;
|
||||
const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iColNo, pn );
|
||||
NOTESKIN->SetPlayerNumber( pn );
|
||||
NOTESKIN->SetGameController( GameI.controller );
|
||||
|
||||
RString sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( iColNo );
|
||||
m_pReceptor.Load( NOTESKIN->LoadActor(sButton, "Receptor") );
|
||||
this->AddChild( m_pReceptor );
|
||||
|
||||
Reference in New Issue
Block a user