tweak ScoreDisplayRave

This commit is contained in:
Chris Danford
2003-11-26 06:40:03 +00:00
parent c30561f744
commit 143dc3ae5e
14 changed files with 116 additions and 43 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

@@ -0,0 +1 @@
ScreenLogo dance
+22
View File
@@ -934,6 +934,22 @@ ScoreP2ExtraX=534
ScoreP2ExtraY=38
ScoreP2ExtraOnCommand=addy,-100;sleep,0.5;linear,1;addy,100
ScoreP2ExtraOffCommand=linear,1;addy,-100
SecondaryScoreP1X=300
SecondaryScoreP1Y=240
SecondaryScoreP1OnCommand=
SecondaryScoreP1OffCommand=
SecondaryScoreP1ExtraX=300
SecondaryScoreP1ExtraY=240
SecondaryScoreP1ExtraOnCommand=
SecondaryScoreP1ExtraOffCommand=
SecondaryScoreP2X=340
SecondaryScoreP2Y=240
SecondaryScoreP2OnCommand=
SecondaryScoreP2OffCommand=
SecondaryScoreP2ExtraX=340
SecondaryScoreP2ExtraY=240
SecondaryScoreP2ExtraOnCommand=
SecondaryScoreP2ExtraOffCommand=
PlayerOptionsP1X=320
PlayerOptionsP1Y=434
PlayerOptionsP1OnCommand=zoom,0.5;addy,100;sleep,0.5;linear,1;addy,-100
@@ -3318,3 +3334,9 @@ TipOnCommand=shadowlength,0;diffuseblink
[CombinedLifeMeterTug]
MeterWidth=550
[ScoreDisplayRave]
MeterP1OnCommand=rotationz,-90
MeterP2OnCommand=rotationz,-90
LevelP1OnCommand=addy,-140
LevelP2OnCommand=addy,-140
+16 -12
View File
@@ -73,7 +73,8 @@ PlayerMinus::PlayerMinus()
m_pLifeMeter = NULL;
m_pCombinedLifeMeter = NULL;
m_pScore = NULL;
m_pScoreDisplay = NULL;
m_pSecondaryScoreDisplay = NULL;
m_pPrimaryScoreKeeper = NULL;
m_pSecondaryScoreKeeper = NULL;
m_pInventory = NULL;
@@ -95,7 +96,7 @@ PlayerMinus::~PlayerMinus()
{
}
void PlayerMinus::Load( PlayerNumber pn, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScore, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper, NoteFieldPlus* pNoteField )
void PlayerMinus::Load( PlayerNumber pn, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScoreDisplay, ScoreDisplay* pSecondaryScoreDisplay, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper, NoteFieldPlus* pNoteField )
{
m_iDCState = AS2D_IDLE;
//LOG->Trace( "PlayerMinus::Load()", );
@@ -105,7 +106,8 @@ void PlayerMinus::Load( PlayerNumber pn, const NoteData* pNoteData, LifeMeter* p
m_PlayerNumber = pn;
m_pLifeMeter = pLM;
m_pCombinedLifeMeter = pCombinedLM;
m_pScore = pScore;
m_pScoreDisplay = pScoreDisplay;
m_pSecondaryScoreDisplay = pSecondaryScoreDisplay;
m_pInventory = pInventory;
m_pPrimaryScoreKeeper = pPrimaryScoreKeeper;
m_pSecondaryScoreKeeper = pSecondaryScoreKeeper;
@@ -144,6 +146,7 @@ void PlayerMinus::Load( PlayerNumber pn, const NoteData* pNoteData, LifeMeter* p
switch( GAMESTATE->m_PlayMode )
{
case PLAY_MODE_RAVE:
case PLAY_MODE_BATTLE:
{
// ugly, ugly, ugly. Works only w/ dance.
@@ -167,9 +170,6 @@ void PlayerMinus::Load( PlayerNumber pn, const NoteData* pNoteData, LifeMeter* p
}
count++;
count %= 4;
// HACK: Autogen in attacks for battle
NoteDataUtil::AddTapAttacks( *this, GAMESTATE->m_pCurSong );
}
break;
}
@@ -1152,8 +1152,10 @@ void PlayerMinus::HandleTapRowScore( unsigned row )
if( life != -1 )
GAMESTATE->m_CurStageStats.SetLifeRecord( m_PlayerNumber, life, GAMESTATE->GetSongPercent(beat) );
if (m_pScore)
m_pScore->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]);
if (m_pScoreDisplay)
m_pScoreDisplay->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]);
if (m_pSecondaryScoreDisplay)
m_pSecondaryScoreDisplay->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]);
if( m_pLifeMeter ) {
m_pLifeMeter->ChangeLife( scoreOfLastTap );
@@ -1184,8 +1186,10 @@ void PlayerMinus::HandleHoldScore( HoldNoteScore holdScore, TapNoteScore tapScor
if(m_pSecondaryScoreKeeper)
m_pSecondaryScoreKeeper->HandleHoldScore(holdScore, tapScore );
if (m_pScore)
m_pScore->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]);
if (m_pScoreDisplay)
m_pScoreDisplay->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]);
if (m_pSecondaryScoreDisplay)
m_pSecondaryScoreDisplay->SetScore(GAMESTATE->m_CurStageStats.iScore[m_PlayerNumber]);
if( m_pLifeMeter ) {
m_pLifeMeter->ChangeLife( holdScore, tapScore );
@@ -1207,7 +1211,7 @@ void PlayerMinus::FadeToFail()
m_pNoteField->FadeToFail();
}
void Player::Load( PlayerNumber player_no, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScore, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper )
void Player::Load( PlayerNumber player_no, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScoreDisplay, ScoreDisplay* pSecondaryScoreDisplay, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper )
{
PlayerMinus::Load( player_no, pNoteData, pLM, pCombinedLM, pScore, pInventory, pPrimaryScoreKeeper, pSecondaryScoreKeeper, &m_NoteField );
PlayerMinus::Load( player_no, pNoteData, pLM, pCombinedLM, pScoreDisplay, pSecondaryScoreDisplay, pInventory, pPrimaryScoreKeeper, pSecondaryScoreKeeper, &m_NoteField );
}
+4 -3
View File
@@ -47,7 +47,7 @@ public:
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
void Load( PlayerNumber player_no, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScore, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper, NoteFieldPlus* pNoteField );
void Load( PlayerNumber player_no, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScoreDisplay, ScoreDisplay* pSecondaryScoreDisplay, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper, NoteFieldPlus* pNoteField );
void CrossedRow( int iNoteRow );
void Step( int col, RageTimer tm );
void RandomiseNotes( int iNoteRow );
@@ -87,7 +87,8 @@ protected:
// DancingCharacters* m_pDancingCharacters; // used to adjust the 2D anims dancing states
LifeMeter* m_pLifeMeter;
CombinedLifeMeter* m_pCombinedLifeMeter;
ScoreDisplay* m_pScore;
ScoreDisplay* m_pScoreDisplay;
ScoreDisplay* m_pSecondaryScoreDisplay;
ScoreKeeper* m_pPrimaryScoreKeeper;
ScoreKeeper* m_pSecondaryScoreKeeper;
Inventory* m_pInventory;
@@ -102,7 +103,7 @@ protected:
class Player : public PlayerMinus
{
public:
void Load( PlayerNumber player_no, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScore, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper );
void Load( PlayerNumber player_no, const NoteData* pNoteData, LifeMeter* pLM, CombinedLifeMeter* pCombinedLM, ScoreDisplay* pScoreDisplay, ScoreDisplay* pSecondaryScoreDisplay, Inventory* pInventory, ScoreKeeper* pPrimaryScoreKeeper, ScoreKeeper* pSecondaryScoreKeeper );
protected:
NoteFieldPlus m_NoteField;
+12 -4
View File
@@ -17,11 +17,14 @@
#include "RageLog.h"
#include "GameState.h"
#include "ThemeManager.h"
#include "ActorUtil.h"
ScoreDisplayRave::ScoreDisplayRave()
{
LOG->Trace( "ScoreDisplayRave::ScoreDisplayRave()" );
this->SetName( "ScoreDisplayRave" );
m_lastLevelSeen = ATTACK_LEVEL_1;
@@ -43,11 +46,16 @@ void ScoreDisplayRave::Init( PlayerNumber pn )
{
ScoreDisplay::Init( pn );
if( pn == PLAYER_2 )
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
m_sprMeter[i].SetZoomX( -1 );
m_sprFrame.Load( THEME->GetPathToG(ssprintf("ScoreDisplayRave frame p%d",pn+1)) );
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
{
m_sprMeter[i].SetName( ssprintf("MeterP%d",pn+1) );
ON_COMMAND( m_sprMeter[i] );
}
m_textLevel.SetName( ssprintf("LevelP%d",pn+1) );
ON_COMMAND( m_textLevel );
}
void ScoreDisplayRave::Update( float fDelta )
+2 -2
View File
@@ -304,7 +304,7 @@ ScreenEdit::ScreenEdit( CString sName ) : Screen( sName )
GAMESTATE->m_PlayerOptions[PLAYER_1].m_sNoteSkin = "default"; // change noteskin back to default before loading player
GAMESTATE->ResetNoteSkins();
m_Player.Load( PLAYER_1, &noteData, NULL, NULL, NULL, NULL, NULL, NULL );
m_Player.Load( PLAYER_1, &noteData, NULL, NULL, NULL, NULL, NULL, NULL, NULL );
GAMESTATE->m_PlayerController[PLAYER_1] = PC_HUMAN;
m_Player.SetX( PLAYER_X );
/* Why was this here? Nothing ever sets Player Y values; this was causing
@@ -1678,7 +1678,7 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, int* iAnswers )
* where we're starting. */
GAMESTATE->m_fSongBeat = m_NoteFieldEdit.m_fBeginMarker - 4;
m_Player.Load( PLAYER_1, &m_NoteFieldEdit, NULL, NULL, NULL, NULL, NULL, NULL );
m_Player.Load( PLAYER_1, &m_NoteFieldEdit, NULL, NULL, NULL, NULL, NULL, NULL, NULL );
GAMESTATE->m_PlayerController[PLAYER_1] = PREFSMAN->m_bAutoPlay?PC_AUTOPLAY:PC_HUMAN;
m_rectRecordBack.StopTweening();
+44 -17
View File
@@ -105,7 +105,8 @@ ScreenGameplay::ScreenGameplay( CString sName, bool bDemonstration ) : Screen("S
for( p=0; p<NUM_PLAYERS; p++ )
{
m_pLifeMeter[p] = NULL;
m_pScoreDisplay[p] = NULL;
m_pPrimaryScoreDisplay[p] = NULL;
m_pSecondaryScoreDisplay[p] = NULL;
m_pPrimaryScoreKeeper[p] = NULL;
m_pSecondaryScoreKeeper[p] = NULL;
m_pInventory[p] = NULL ;
@@ -449,31 +450,51 @@ ScreenGameplay::ScreenGameplay( CString sName, bool bDemonstration ) : Screen("S
if( !GAMESTATE->IsPlayerEnabled(p) )
continue;
//
// primary score display
//
switch( GAMESTATE->m_PlayMode )
{
case PLAY_MODE_ARCADE:
case PLAY_MODE_NONSTOP:
case PLAY_MODE_BATTLE:
case PLAY_MODE_RAVE:
if( PREFSMAN->m_bPercentageScoring )
m_pScoreDisplay[p] = new ScoreDisplayPercentage;
m_pPrimaryScoreDisplay[p] = new ScoreDisplayPercentage;
else
m_pScoreDisplay[p] = new ScoreDisplayNormal;
m_pPrimaryScoreDisplay[p] = new ScoreDisplayNormal;
break;
case PLAY_MODE_ONI:
case PLAY_MODE_ENDLESS:
m_pScoreDisplay[p] = new ScoreDisplayOni;
break;
case PLAY_MODE_RAVE:
m_pScoreDisplay[p] = new ScoreDisplayRave;
m_pPrimaryScoreDisplay[p] = new ScoreDisplayOni;
break;
default:
ASSERT(0);
}
m_pScoreDisplay[p]->Init( (PlayerNumber)p );
m_pScoreDisplay[p]->SetName( ssprintf("ScoreP%d%s",p+1,bExtra?"Extra":"") );
SET_XY( *m_pScoreDisplay[p] );
this->AddChild( m_pScoreDisplay[p] );
m_pPrimaryScoreDisplay[p]->Init( (PlayerNumber)p );
m_pPrimaryScoreDisplay[p]->SetName( ssprintf("ScoreP%d%s",p+1,bExtra?"Extra":"") );
SET_XY( *m_pPrimaryScoreDisplay[p] );
this->AddChild( m_pPrimaryScoreDisplay[p] );
//
// secondary score display
//
switch( GAMESTATE->m_PlayMode )
{
case PLAY_MODE_RAVE:
m_pSecondaryScoreDisplay[p] = new ScoreDisplayRave;
break;
}
if( m_pSecondaryScoreDisplay[p] )
{
m_pSecondaryScoreDisplay[p]->Init( (PlayerNumber)p );
m_pSecondaryScoreDisplay[p]->SetName( ssprintf("SecondaryScoreP%d%s",p+1,bExtra?"Extra":"") );
SET_XY( *m_pSecondaryScoreDisplay[p] );
this->AddChild( m_pSecondaryScoreDisplay[p] );
}
}
for( p=0; p<NUM_PLAYERS; p++ )
@@ -668,7 +689,9 @@ ScreenGameplay::~ScreenGameplay()
for( int p=0; p<NUM_PLAYERS; p++ )
{
SAFE_DELETE( m_pLifeMeter[p] );
SAFE_DELETE( m_pScoreDisplay[p] );
SAFE_DELETE( m_pPrimaryScoreDisplay[p] );
SAFE_DELETE( m_pSecondaryScoreDisplay[p] );
SAFE_DELETE( m_pSecondaryScoreDisplay[p] );
SAFE_DELETE( m_pPrimaryScoreKeeper[p] );
SAFE_DELETE( m_pSecondaryScoreKeeper[p] );
SAFE_DELETE( m_pInventory[p] );
@@ -771,7 +794,7 @@ void ScreenGameplay::LoadNextSong()
const StyleDef* pStyleDef = GAMESTATE->GetCurrentStyleDef();
NoteData pNewNoteData;
pStyleDef->GetTransformedNoteDataForStyle( (PlayerNumber)p, &pOriginalNoteData, &pNewNoteData );
m_Player[p].Load( (PlayerNumber)p, &pNewNoteData, m_pLifeMeter[p], m_pCombinedLifeMeter, m_pScoreDisplay[p], m_pInventory[p], m_pPrimaryScoreKeeper[p], m_pSecondaryScoreKeeper[p] );
m_Player[p].Load( (PlayerNumber)p, &pNewNoteData, m_pLifeMeter[p], m_pCombinedLifeMeter, m_pPrimaryScoreDisplay[p], m_pSecondaryScoreDisplay[p], m_pInventory[p], m_pPrimaryScoreKeeper[p], m_pSecondaryScoreKeeper[p] );
/* The actual note data for scoring is the base class of Player. This includes
* transforms, like Wide. Otherwise, the scoring will operate on the wrong data. */
@@ -2071,8 +2094,10 @@ void ScreenGameplay::TweenOnScreen()
if( !GAMESTATE->IsPlayerEnabled(p) )
continue;
ON_COMMAND( m_textCourseSongNumber[p] );
if( m_pScoreDisplay[p] )
ON_COMMAND( *m_pScoreDisplay[p] );
if( m_pPrimaryScoreDisplay[p] )
ON_COMMAND( *m_pPrimaryScoreDisplay[p] );
if( m_pSecondaryScoreDisplay[p] )
ON_COMMAND( *m_pSecondaryScoreDisplay[p] );
ON_COMMAND( m_textPlayerOptions[p] );
ON_COMMAND( m_DifficultyIcon[p] );
}
@@ -2094,8 +2119,10 @@ void ScreenGameplay::TweenOffScreen()
if( !GAMESTATE->IsPlayerEnabled(p) )
continue;
OFF_COMMAND( m_textCourseSongNumber[p] );
if( m_pScoreDisplay[p] )
OFF_COMMAND( *m_pScoreDisplay[p] );
if( m_pPrimaryScoreDisplay[p] )
OFF_COMMAND( *m_pPrimaryScoreDisplay[p] );
if( m_pSecondaryScoreDisplay[p] )
OFF_COMMAND( *m_pSecondaryScoreDisplay[p] );
OFF_COMMAND( m_textPlayerOptions[p] );
OFF_COMMAND( m_DifficultyIcon[p] );
}
+2 -1
View File
@@ -116,7 +116,8 @@ protected:
BPMDisplay m_BPMDisplay;
Sprite m_sprScoreFrame;
ScoreDisplay* m_pScoreDisplay[NUM_PLAYERS];
ScoreDisplay* m_pPrimaryScoreDisplay[NUM_PLAYERS];
ScoreDisplay* m_pSecondaryScoreDisplay[NUM_PLAYERS];
ScoreKeeper* m_pPrimaryScoreKeeper[NUM_PLAYERS];
ScoreKeeper* m_pSecondaryScoreKeeper[NUM_PLAYERS];
BitmapText m_textPlayerOptions[NUM_PLAYERS];
+1 -1
View File
@@ -173,7 +173,7 @@ ScreenHowToPlay::ScreenHowToPlay( CString sName ) : ScreenAttract( sName )
if( USEPLAYER )
{
m_pPlayer = new Player;
m_pPlayer->Load( PLAYER_1, &m_NoteData, m_pLifeMeterBar, NULL, NULL, NULL, NULL, NULL );
m_pPlayer->Load( PLAYER_1, &m_NoteData, m_pLifeMeterBar, NULL, NULL, NULL, NULL, NULL, NULL );
m_pPlayer->SetX( PLAYERX );
this->AddChild( m_pPlayer );
}
+10 -2
View File
@@ -250,13 +250,21 @@ void ScreenSelectStyle::UpdateSelectableChoices()
int iSwitchToStyleIndex = -1; // -1 means none found
for( i=0; i<m_aModeChoices.size(); i++ )
{
if( m_aModeChoices[i].IsPlayable() )
const ModeChoice& mc = m_aModeChoices[i];
if( mc.IsPlayable() )
{
iSwitchToStyleIndex = i;
break;
}
}
ASSERT( iSwitchToStyleIndex != -1 ); // no styles are enabled. We're stuck! This should never happen
if( iSwitchToStyleIndex == -1 )// no styles are enabled. We're stuck!
{
DEBUG_ASSERT(0);
SCREENMAN->SystemMessage( "No Styles are selectable." );
SCREENMAN->SetNewScreen( THEME->GetMetric("Common","InitialScreen") );
return;
}
m_iSelection = iSwitchToStyleIndex;
AfterChange();
+2 -1
View File
@@ -1018,6 +1018,7 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
{
THEME->ReloadMetrics();
TEXTUREMAN->ReloadAll();
SCREENMAN->SystemMessage( "Reloaded metrics and textures" );
return true;
}
#ifndef DARWIN
@@ -1071,7 +1072,7 @@ bool HandleGlobalInputs( DeviceInput DeviceI, InputEventType type, GameInput Gam
break;
}
DISPLAY->SaveScreenshot( sPath );
SCREENMAN->SystemMessage( "Saved screenshot: " + sPath );
SOUND->PlayOnce( THEME->GetPathToS("ScreenEdit save") ); // FIXME
return true;
}