Fixed missing/wrong theme elements
This commit is contained in:
+5
-1
@@ -1,5 +1,9 @@
|
||||
------------------------CVS after 3.00 beta 6----------------
|
||||
CHANGE: Font format is not simpler. See README for details.
|
||||
CHANGE: Hold head now drawn in place tap note graphic when a Hold starts
|
||||
on the same row.
|
||||
CHANGE: Added bright ghost flash on hold note score of OK.
|
||||
CHANGE: Font format new easier to export for font creators. See README
|
||||
for details.
|
||||
NEW FEATURE: Option Icons.
|
||||
NEW FEATURE: Best sort now shows only top 30 songs.
|
||||
NEW FEATURE: Option codes on the Select Music and Select Course screens
|
||||
|
||||
+12
-9
@@ -2,6 +2,9 @@
|
||||
Fix
|
||||
/////////////////////////
|
||||
|
||||
arcade mode
|
||||
|
||||
about us page
|
||||
|
||||
new phpwebhosting account
|
||||
|
||||
@@ -27,15 +30,13 @@ precise timing adjustment
|
||||
|
||||
draw taps on same row as hold with hold head
|
||||
|
||||
texture cache
|
||||
|
||||
max style lifemeter animation
|
||||
|
||||
TICK_MELODY
|
||||
|
||||
164 theme
|
||||
|
||||
pause in course contents scroll
|
||||
warning
|
||||
|
||||
name entry
|
||||
|
||||
gap between wheel items
|
||||
|
||||
@@ -47,18 +48,20 @@ ready, here we go between each stage of a course
|
||||
|
||||
send disc to Penny Arcade
|
||||
|
||||
danger BGA, danger movie
|
||||
|
||||
different top bar frame for oni
|
||||
|
||||
move NoteSkin to Theme
|
||||
|
||||
/////////////////////
|
||||
Punt:
|
||||
/////////////////////
|
||||
|
||||
texture cache
|
||||
|
||||
move NoteSkin to Theme
|
||||
|
||||
TICK_MELODY
|
||||
|
||||
texture cache
|
||||
|
||||
groove radar smoothing and texture effects
|
||||
|
||||
couple changes
|
||||
|
||||
@@ -211,18 +211,20 @@ TimerSeconds=60
|
||||
ScoreConnectedToMusicWheel=1
|
||||
|
||||
[ScreenSelectCourse]
|
||||
ExplanationX=132
|
||||
ExplanationY=68
|
||||
BannerFrameX=160
|
||||
BannerFrameY=118
|
||||
BannerFrameY=158
|
||||
BannerX=150
|
||||
BannerY=132
|
||||
BannerY=172
|
||||
BannerWidth=286
|
||||
BannerHeight=92
|
||||
StagesX=58
|
||||
StagesY=74
|
||||
StagesY=114
|
||||
TimeX=192
|
||||
TimeY=74
|
||||
TimeY=114
|
||||
ContentsX=160
|
||||
ContentsY=320
|
||||
ContentsY=336
|
||||
WheelX=480
|
||||
WheelY=248
|
||||
ScoreP1X=520
|
||||
@@ -302,8 +304,8 @@ StageY=64
|
||||
GradeP1X=94
|
||||
GradeP2X=546
|
||||
GradeY=100
|
||||
PercentBaseP1X=130
|
||||
PercentBaseP2X=582
|
||||
PercentBaseP1X=120
|
||||
PercentBaseP2X=572
|
||||
PercentBaseY=134
|
||||
JudgeLabelsX=320
|
||||
PerfectP1X=230
|
||||
@@ -538,7 +540,7 @@ StageColor5=0.4,0.4,0.9,1 // light blue
|
||||
StageColorFinal=1.0,0.1,0.1,1 // red
|
||||
StageColorExtra1=1.0,1,0.3,1 // yellow
|
||||
StageColorExtra2=1.0,1,0.3,1 // yellow
|
||||
StageColorOni=1.0,0.1,0.1,1 // red
|
||||
StageColorOni=0.3,1.0,0.3,1 // green
|
||||
StageTextDemo=Demo
|
||||
StageTextFinal=Final
|
||||
StageTextExtra1=Extra
|
||||
|
||||
@@ -129,13 +129,23 @@ float ArrowGetPercentVisible( PlayerNumber pn, float fYPos )
|
||||
return clamp( fAlpha, 0, 1 );
|
||||
}
|
||||
|
||||
float ArrowGetAlpha( PlayerNumber pn, float fYPos )
|
||||
float ArrowGetAlpha( PlayerNumber pn, float fYPos, float fPercentFadeToFail )
|
||||
{
|
||||
return (ArrowGetPercentVisible(pn,fYPos) > 0.5f) ? 1.0f : 0.0f;
|
||||
float fPercentVisible = ArrowGetPercentVisible(pn,fYPos);
|
||||
|
||||
if( fPercentFadeToFail != -1 )
|
||||
fPercentVisible = 1 - fPercentFadeToFail;
|
||||
|
||||
return (fPercentVisible>0.5f) ? 1.0f : 0.0f;
|
||||
}
|
||||
|
||||
float ArrowGetGlow( PlayerNumber pn, float fYPos )
|
||||
float ArrowGetGlow( PlayerNumber pn, float fYPos, float fPercentFadeToFail )
|
||||
{
|
||||
const float fDistFromHalf = fabsf( ArrowGetPercentVisible(pn,fYPos) - 0.5f );
|
||||
float fPercentVisible = ArrowGetPercentVisible(pn,fYPos);
|
||||
|
||||
if( fPercentFadeToFail != -1 )
|
||||
fPercentVisible = 1 - fPercentFadeToFail;
|
||||
|
||||
const float fDistFromHalf = fabsf( fPercentVisible - 0.5f );
|
||||
return SCALE( fDistFromHalf, 0, 0.5f, 1.3f, 0 );
|
||||
}
|
||||
|
||||
@@ -44,10 +44,10 @@ float ArrowGetXPos( PlayerNumber pn, int iCol, float fYPos );
|
||||
|
||||
// fAlpha is the transparency of the arrow. It depends on fYPos and the
|
||||
// ArrowAppearance.
|
||||
float ArrowGetAlpha( PlayerNumber pn, float fYPos );
|
||||
float ArrowGetAlpha( PlayerNumber pn, float fYPos, float fPercentFadeToFail );
|
||||
|
||||
|
||||
// fAlpha is the transparency of the arrow. It depends on fYPos and the
|
||||
// ArrowAppearance.
|
||||
float ArrowGetGlow( PlayerNumber pn, float fYPos );
|
||||
float ArrowGetGlow( PlayerNumber pn, float fYPos, float fPercentFadeToFail );
|
||||
|
||||
|
||||
@@ -16,6 +16,14 @@
|
||||
#include "SongManager.h"
|
||||
#include "RageBitmapTexture.h"
|
||||
|
||||
Banner::Banner()
|
||||
{
|
||||
m_bScrolling = false;
|
||||
m_fPercentScrolling = 0;
|
||||
|
||||
Banner::Load( THEME->GetPathTo("Graphics","fallback banner") );
|
||||
}
|
||||
|
||||
bool Banner::Load( CString sFilePath, bool bForceReload, int iMipMaps, int iAlphaBits, bool bDither, bool bStretch )
|
||||
{
|
||||
// note that the defaults are changes for faster loading
|
||||
|
||||
@@ -18,11 +18,7 @@ class Course;
|
||||
class Banner : public CroppedSprite
|
||||
{
|
||||
public:
|
||||
Banner()
|
||||
{
|
||||
m_bScrolling = false;
|
||||
m_fPercentScrolling = 0;
|
||||
};
|
||||
Banner();
|
||||
|
||||
virtual bool Load( CString sFilePath, bool bForceReload = false, int iMipMaps = 0, int iAlphaBits = 0, bool bDither = false, bool bStretch = false );
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ CourseContentDisplay::CourseContentDisplay()
|
||||
m_TextBanner.SetXY( TEXT_BANNER_X, TEXT_BANNER_Y );
|
||||
this->AddChild( &m_TextBanner );
|
||||
|
||||
m_textFoot.LoadFromFont( THEME->GetPathTo("Fonts","meter") );
|
||||
m_textFoot.LoadFromTextureAndChars( THEME->GetPathTo("Graphics","select music meter 2x1"),"10" );
|
||||
m_textFoot.SetXY( FOOT_X, FOOT_Y );
|
||||
m_textFoot.TurnShadowOff();
|
||||
this->AddChild( &m_textFoot );
|
||||
@@ -153,7 +153,11 @@ void CourseContentsFrame::DrawPrimitives()
|
||||
|
||||
int iItemToDraw = (int)m_fItemAtTopOfList;
|
||||
|
||||
float fY = (iItemToDraw-m_fItemAtTopOfList-(MAX_VISIBLE_CONTENTS-1)/2) * CONTENTS_BAR_HEIGHT;
|
||||
// HACK: Insert a little pause as a new item appears on the screen
|
||||
float fRemainder = m_fItemAtTopOfList - (int)m_fItemAtTopOfList;
|
||||
fRemainder = min( fRemainder*1.5f, 1 );
|
||||
|
||||
float fY = (-fRemainder-(MAX_VISIBLE_CONTENTS-1)/2) * CONTENTS_BAR_HEIGHT;
|
||||
|
||||
for( int i=0; i<min(MAX_VISIBLE_CONTENTS+1, m_iNumContents); i++ )
|
||||
{
|
||||
|
||||
@@ -225,10 +225,10 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
|
||||
ASSERT( fBottomDistFromTailTop-0.0001 <= fFrameHeight );
|
||||
const float fTexCoordLeft = bActive ? 0.25f : 0.00f;
|
||||
const float fTexCoordRight = bActive ? 0.50f : 0.25f;
|
||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, fYTop );
|
||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, fYBottom );
|
||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, fYTop );
|
||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, fYBottom );
|
||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, fYTop, fPercentFadeToFail );
|
||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, fYTop, fPercentFadeToFail );
|
||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fColorScale = SCALE(fLife,0,1,0.5f,1);
|
||||
const D3DXCOLOR colorDiffuseTop = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
||||
const D3DXCOLOR colorDiffuseBottom = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
||||
@@ -268,10 +268,10 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
|
||||
const float fTexCoordBottom = SCALE( fBottomDistFromTailTop, 0, fBodyHeight, 1, 0 );
|
||||
const float fTexCoordLeft = bActive ? 0.75f : 0.50f;
|
||||
const float fTexCoordRight = bActive ? 1.00f : 0.75f;
|
||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, fYTop );
|
||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, fYBottom );
|
||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, fYTop );
|
||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, fYBottom );
|
||||
const float fAlphaTop = ArrowGetAlpha( m_PlayerNumber, fYTop, fPercentFadeToFail );
|
||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, fYTop, fPercentFadeToFail );
|
||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fColorScale = SCALE(fLife,0,1,0.5f,1);
|
||||
const D3DXCOLOR colorDiffuseTop = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
||||
const D3DXCOLOR colorDiffuseBottom = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
||||
@@ -299,8 +299,8 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
|
||||
{
|
||||
fY = fYHead;
|
||||
const float fX = ArrowGetXPos( m_PlayerNumber, iCol, fY );
|
||||
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, fY );
|
||||
const float fGlow = ArrowGetGlow( m_PlayerNumber, fY );
|
||||
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, fY, fPercentFadeToFail );
|
||||
const float fGlow = ArrowGetGlow( m_PlayerNumber, fY, fPercentFadeToFail );
|
||||
const float fColorScale = SCALE(fLife,0,1,0.5f,1);
|
||||
const D3DXCOLOR colorDiffuse= D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlpha);
|
||||
const D3DXCOLOR colorGlow = D3DXCOLOR(1,1,1,fGlow);
|
||||
@@ -331,38 +331,49 @@ void NoteDisplay::DrawTap( const int iCol, const float fBeat, const bool bUseHol
|
||||
const float fYPos = ArrowGetYPos( m_PlayerNumber, fYOffset );
|
||||
const float fRotation = ArrowGetRotation( m_PlayerNumber, iCol, fYOffset );
|
||||
const float fXPos = ArrowGetXPos( m_PlayerNumber, iCol, fYPos );
|
||||
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, fYPos );
|
||||
const float fGlow = ArrowGetGlow( m_PlayerNumber, fYPos );
|
||||
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, fYPos, fPercentFadeToFail );
|
||||
const float fGlow = ArrowGetGlow( m_PlayerNumber, fYPos, fPercentFadeToFail );
|
||||
const int iGrayPartFrameNo = GetTapGrayFrameNo( fBeat );
|
||||
const int iColorPartFrameNo = GetTapColorFrameNo( fBeat );
|
||||
|
||||
D3DXCOLOR colorGrayPart = D3DXCOLOR(1,1,1,1);
|
||||
D3DXCOLOR colorLeadingEdge;
|
||||
D3DXCOLOR colorTrailingEdge;
|
||||
if( bUseHoldColor )
|
||||
colorLeadingEdge = colorTrailingEdge = D3DXCOLOR(0,1,0,1); // HACK: green. Move this into the note skin
|
||||
else
|
||||
GetTapEdgeColors( fBeat, colorLeadingEdge, colorTrailingEdge );
|
||||
GetTapEdgeColors( fBeat, colorLeadingEdge, colorTrailingEdge );
|
||||
colorGrayPart.a *= fAlpha;
|
||||
colorLeadingEdge.a *= fAlpha;
|
||||
colorTrailingEdge.a *= fAlpha;
|
||||
|
||||
m_sprTapParts.SetXY( fXPos, fYPos );
|
||||
m_sprTapParts.SetRotation( fRotation );
|
||||
m_sprTapParts.SetGlow( D3DXCOLOR(1,1,1,fGlow) );
|
||||
if( bUseHoldColor )
|
||||
{
|
||||
//
|
||||
// draw hold head
|
||||
//
|
||||
m_sprHoldParts.SetXY( fXPos, fYPos );
|
||||
m_sprHoldParts.SetDiffuse( colorGrayPart );
|
||||
m_sprHoldParts.SetGlow( D3DXCOLOR(1,1,1,fGlow) );
|
||||
m_sprHoldParts.SetState( 0 );
|
||||
m_sprHoldParts.Draw();
|
||||
}
|
||||
else
|
||||
{
|
||||
m_sprTapParts.SetXY( fXPos, fYPos );
|
||||
m_sprTapParts.SetRotation( fRotation );
|
||||
m_sprTapParts.SetGlow( D3DXCOLOR(1,1,1,fGlow) );
|
||||
|
||||
//
|
||||
// draw gray part
|
||||
//
|
||||
m_sprTapParts.SetState( iGrayPartFrameNo );
|
||||
m_sprTapParts.SetDiffuse( colorGrayPart );
|
||||
m_sprTapParts.Draw();
|
||||
//
|
||||
// draw gray part
|
||||
//
|
||||
m_sprTapParts.SetState( iGrayPartFrameNo );
|
||||
m_sprTapParts.SetDiffuse( colorGrayPart );
|
||||
m_sprTapParts.Draw();
|
||||
|
||||
//
|
||||
// draw color part
|
||||
//
|
||||
m_sprTapParts.SetState( iColorPartFrameNo );
|
||||
m_sprTapParts.SetDiffuseTopEdge( colorLeadingEdge );
|
||||
m_sprTapParts.SetDiffuseBottomEdge( colorTrailingEdge );
|
||||
m_sprTapParts.Draw();
|
||||
//
|
||||
// draw color part
|
||||
//
|
||||
m_sprTapParts.SetState( iColorPartFrameNo );
|
||||
m_sprTapParts.SetDiffuseTopEdge( colorLeadingEdge );
|
||||
m_sprTapParts.SetDiffuseBottomEdge( colorTrailingEdge );
|
||||
m_sprTapParts.Draw();
|
||||
}
|
||||
}
|
||||
@@ -76,45 +76,9 @@ void NoteField::Update( float fDeltaTime )
|
||||
m_rectMarkerBar.Update( fDeltaTime );
|
||||
|
||||
if( m_fPercentFadeToFail >= 0 )
|
||||
m_fPercentFadeToFail = min( m_fPercentFadeToFail + fDeltaTime/3, 1 ); // take 3 seconds to totally fade
|
||||
m_fPercentFadeToFail = min( m_fPercentFadeToFail + fDeltaTime/1.5, 1 ); // take 1.5 seconds to totally fade
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
void NoteField::CreateTapNoteInstance( ColorNoteInstance &cni, const int iCol, const float fIndex, const bool bUseHoldNoteBeginColor )
|
||||
{
|
||||
const float fYOffset = ArrowGetYOffset( m_PlayerNumber, fIndex );
|
||||
const float fYPos = ArrowGetYPos( m_PlayerNumber, fYOffset );
|
||||
const float fRotation = ArrowGetRotation( m_PlayerNumber, iCol, fYOffset );
|
||||
const float fXPos = ArrowGetXPos( m_PlayerNumber, iCol, fYOffset );
|
||||
float fAlpha = ArrowGetAlpha( m_PlayerNumber, fYPos );
|
||||
|
||||
if( m_fPercentFadeToFail != -1 )
|
||||
fAlpha = 1-m_fPercentFadeToFail;
|
||||
|
||||
D3DXCOLOR colorLeading, colorTrailing; // of the color part. Alpha here be overwritten with fAlpha!
|
||||
if( bUseHoldNoteBeginColor )
|
||||
colorLeading = colorTrailing = m_ColorNote[iCol].GetHoldColorFromPercentIntoHold( 0 );
|
||||
else
|
||||
m_ColorNote[iCol].GetEdgeColorsFromIndexAndBeat( roundf(fIndex), colorLeading, colorTrailing );
|
||||
|
||||
float fAddAlpha = m_ColorNote[iCol].GetAddAlphaFromDiffuseAlpha( fAlpha );
|
||||
int iColorPartFrameNo = m_ColorNote[iCol].GetColorPartFrameNoFromIndexAndBeat( roundf(fIndex), GAMESTATE->m_fSongBeat );
|
||||
int iGrayPartFrameNo = m_ColorNote[iCol].GetGrayPartFrameNoFromIndexAndBeat( roundf(fIndex), GAMESTATE->m_fSongBeat );
|
||||
|
||||
if( iCol == 2 )
|
||||
printf( "iColorPartFrameNo = %d\n", iColorPartFrameNo );
|
||||
|
||||
cni = ColorNoteInstance( fXPos, fYPos, fRotation, fAlpha, colorLeading, colorTrailing, fAddAlpha, iColorPartFrameNo, iGrayPartFrameNo );
|
||||
}
|
||||
|
||||
void NoteField::CreateHoldNoteInstance( ColorNoteInstance &cni, const bool bActive, const float fIndex, const HoldNote &hn, const float fHoldNoteLife )
|
||||
{
|
||||
}
|
||||
*/
|
||||
|
||||
void NoteField::DrawMeasureBar( int iMeasureIndex )
|
||||
{
|
||||
const int iMeasureNoDisplay = iMeasureIndex+1;
|
||||
|
||||
@@ -261,6 +261,7 @@ void Player::Update( float fDeltaTime )
|
||||
fLife = 1;
|
||||
hns = HNS_OK;
|
||||
HandleNoteScore( hns );
|
||||
m_GhostArrowRow.TapNote( StyleI.col, TNS_PERFECT, true ); // bright ghost flash
|
||||
m_HoldJudgement[hn.m_iTrack].SetHoldJudgement( HNS_OK );
|
||||
m_NoteField.m_fHoldNoteLife[i] = fLife; // update the NoteField display
|
||||
m_NoteField.m_HoldNoteScores[i] = HNS_OK; // update the NoteField display
|
||||
@@ -627,7 +628,13 @@ void Player::HandleNoteScore( HoldNoteScore score )
|
||||
|
||||
// HoldNoteScores don't effect m_fScore
|
||||
}
|
||||
|
||||
float Player::GetMaxBeatDifference()
|
||||
{
|
||||
return GAMESTATE->m_fCurBPS * PREFSMAN->m_fJudgeWindow * GAMESTATE->m_SongOptions.m_fMusicRate;
|
||||
}
|
||||
}
|
||||
|
||||
void Player::FadeToFail()
|
||||
{
|
||||
m_NoteField.FadeToFail();
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
void Step( int col );
|
||||
|
||||
|
||||
void FadeToFail() { m_NoteField.FadeToFail(); };
|
||||
void FadeToFail();
|
||||
|
||||
protected:
|
||||
int UpdateTapNotesMissedOlderThan( float fMissIfOlderThanThisBeat );
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "stdafx.h"
|
||||
/*
|
||||
-----------------------------------------------------------------------------
|
||||
Class: ScoreDisplayOni.h
|
||||
Class: ScoreDisplayOni
|
||||
|
||||
Desc: A graphic displayed in the ScoreDisplayOni during Dancing.
|
||||
|
||||
@@ -26,7 +26,7 @@ ScoreDisplayOni::ScoreDisplayOni()
|
||||
LOG->Trace( "ScoreDisplayOni::ScoreDisplayOni()" );
|
||||
|
||||
// init the text
|
||||
LoadFromFont( THEME->GetPathTo("Fonts","score numbers") );
|
||||
BitmapText::LoadFromTextureAndChars( THEME->GetPathTo("Graphics","gameplay score numbers"), "01234 :56789%." );
|
||||
TurnShadowOff();
|
||||
}
|
||||
|
||||
|
||||
@@ -419,7 +419,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
m_sprPercentFrame[p].SetXY( GRADE_X(p), GRADE_Y );
|
||||
this->AddChild( &m_sprPercentFrame[p] );
|
||||
|
||||
m_textOniPercentLarge[p].LoadFromFont( THEME->GetPathTo("Fonts","oni percent numbers") );
|
||||
m_textOniPercentLarge[p].LoadFromTextureAndChars( THEME->GetPathTo("Graphics","evaluation percent numbers 5x3"),"1234567890%. " );
|
||||
m_textOniPercentLarge[p].TurnShadowOff();
|
||||
m_textOniPercentLarge[p].SetXY( PERCENT_BASE_X(p), PERCENT_BASE_Y );
|
||||
m_textOniPercentLarge[p].SetHorizAlign( Actor::align_right );
|
||||
@@ -427,7 +427,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
m_textOniPercentLarge[p].SetEffectGlowing( 1.0f );
|
||||
this->AddChild( &m_textOniPercentLarge[p] );
|
||||
|
||||
m_textOniPercentSmall[p].LoadFromFont( THEME->GetPathTo("Fonts","oni percent numbers") );
|
||||
m_textOniPercentSmall[p].LoadFromTextureAndChars( THEME->GetPathTo("Graphics","evaluation percent numbers 5x3"),"1234567890%. " );
|
||||
m_textOniPercentSmall[p].TurnShadowOff();
|
||||
m_textOniPercentSmall[p].SetZoom( 0.5f );
|
||||
m_textOniPercentSmall[p].SetXY( PERCENT_BASE_X(p), PERCENT_BASE_Y );
|
||||
@@ -438,6 +438,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
|
||||
iPossibleDancePoints[p] = max( 1, iPossibleDancePoints[p] );
|
||||
float fPercentDancePoints = iActualDancePoints[p] / (float)iPossibleDancePoints[p] + 0.0001f; // correct for rounding errors
|
||||
fPercentDancePoints = max( fPercentDancePoints, 0 );
|
||||
int iPercentDancePointsLarge = int(fPercentDancePoints*100);
|
||||
int iPercentDancePointsSmall = int( (fPercentDancePoints*100 - int(fPercentDancePoints*100)) * 10 );
|
||||
m_textOniPercentLarge[p].SetText( ssprintf("%02d%", iPercentDancePointsLarge) );
|
||||
@@ -450,7 +451,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
m_sprCourseFrame[p].SetXY( BONUS_X(p), BONUS_Y );
|
||||
this->AddChild( &m_sprCourseFrame[p] );
|
||||
|
||||
m_textSongsSurvived[p].LoadFromFont( THEME->GetPathTo("Fonts","oni stage numbers") );
|
||||
m_textSongsSurvived[p].LoadFromTextureAndChars( THEME->GetPathTo("Graphics","evaluation stage numbers 5x3"),"1234567890%. ");
|
||||
m_textSongsSurvived[p].TurnShadowOff();
|
||||
m_textSongsSurvived[p].SetXY( SONGS_SURVIVED_X(p), SONGS_SURVIVED_Y );
|
||||
m_textSongsSurvived[p].SetText( ssprintf("%02d", GAMESTATE->m_iSongsBeforeFail[p]) );
|
||||
|
||||
@@ -54,11 +54,13 @@ ScreenHowToPlay::ScreenHowToPlay()
|
||||
switch( GAMESTATE->m_PlayMode )
|
||||
{
|
||||
case PLAY_MODE_ARCADE:
|
||||
sHowToPlayPath = THEME->GetPathTo("Graphics","how to play arcade");
|
||||
break;
|
||||
case PLAY_MODE_ENDLESS:
|
||||
sHowToPlayPath = THEME->GetPathTo("Graphics","How To Play Arcade");
|
||||
sHowToPlayPath = THEME->GetPathTo("Graphics","how to play endless");
|
||||
break;
|
||||
case PLAY_MODE_ONI:
|
||||
sHowToPlayPath = THEME->GetPathTo("Graphics","How To Play Arcade");
|
||||
sHowToPlayPath = THEME->GetPathTo("Graphics","how to play oni");
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
|
||||
@@ -56,6 +56,7 @@ const CString CREDIT_LINES[] =
|
||||
"",
|
||||
"SOUND:",
|
||||
"Kyle 'KeeL' Ward",
|
||||
"Animechanic"
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
||||
@@ -444,10 +444,15 @@ void ScreenOptions::MenuBack( PlayerNumber pn )
|
||||
|
||||
void ScreenOptions::MenuStart( PlayerNumber pn )
|
||||
{
|
||||
if( m_iCurrentRow[pn] == m_iNumOptionRows ) // not on exit
|
||||
this->SendScreenMessage( SM_TweenOffScreen, 0 );
|
||||
else
|
||||
bool bAllOnExit = true;
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
if( GAMESTATE->IsPlayerEnabled(p) && m_iCurrentRow[p] != m_iNumOptionRows )
|
||||
bAllOnExit = false;
|
||||
|
||||
if( m_iCurrentRow[pn] != m_iNumOptionRows ) // not on exit
|
||||
MenuDown( pn ); // can't go down any more
|
||||
else if( bAllOnExit )
|
||||
this->SendScreenMessage( SM_TweenOffScreen, 0 );
|
||||
}
|
||||
|
||||
void ScreenOptions::MenuLeft( PlayerNumber pn )
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "CodeDetector.h"
|
||||
|
||||
|
||||
#define EXPLANATION_X THEME->GetMetricF("ScreenSelectCourse","ExplanationX")
|
||||
#define EXPLANATION_Y THEME->GetMetricF("ScreenSelectCourse","ExplanationY")
|
||||
#define BANNER_FRAME_X THEME->GetMetricF("ScreenSelectCourse","BannerFrameX")
|
||||
#define BANNER_FRAME_Y THEME->GetMetricF("ScreenSelectCourse","BannerFrameY")
|
||||
#define BANNER_X THEME->GetMetricF("ScreenSelectCourse","BannerX")
|
||||
@@ -71,11 +73,15 @@ ScreenSelectCourse::ScreenSelectCourse()
|
||||
);
|
||||
this->AddChild( &m_Menu );
|
||||
|
||||
m_sprExplanation.Load( THEME->GetPathTo("Graphics","select course explanation") );
|
||||
m_sprExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y );
|
||||
this->AddChild( &m_sprExplanation );
|
||||
|
||||
m_Banner.SetXY( BANNER_X, BANNER_Y );
|
||||
m_Banner.SetCroppedSize( BANNER_WIDTH, BANNER_HEIGHT );
|
||||
this->AddChild( &m_Banner );
|
||||
|
||||
m_sprBannerFrame.Load( THEME->GetPathTo("Graphics","select course info frame") );
|
||||
m_sprBannerFrame.Load( THEME->GetPathTo("Graphics","select course banner frame") );
|
||||
m_sprBannerFrame.SetXY( BANNER_FRAME_X, BANNER_FRAME_Y );
|
||||
this->AddChild( &m_sprBannerFrame );
|
||||
|
||||
@@ -112,7 +118,7 @@ ScreenSelectCourse::ScreenSelectCourse()
|
||||
this->AddChild( &m_HighScore[p] );
|
||||
}
|
||||
|
||||
m_textHoldForOptions.LoadFromFont( THEME->GetPathTo("Fonts","Stage") );
|
||||
m_textHoldForOptions.LoadFromFont( THEME->GetPathTo("Fonts","select music hold") );
|
||||
m_textHoldForOptions.SetXY( CENTER_X, CENTER_Y );
|
||||
m_textHoldForOptions.SetText( "press START again for options" );
|
||||
m_textHoldForOptions.SetZoom( 1 );
|
||||
@@ -151,56 +157,33 @@ void ScreenSelectCourse::DrawPrimitives()
|
||||
|
||||
void ScreenSelectCourse::TweenOnScreen()
|
||||
{
|
||||
Actor* pActorsInCourseInfoFrame[] = { &m_sprBannerFrame, &m_Banner, &m_textNumSongs, &m_textTime };
|
||||
const int iNumActorsInGroupInfoFrame = sizeof(pActorsInCourseInfoFrame) / sizeof(Actor*);
|
||||
int i;
|
||||
for( i=0; i<iNumActorsInGroupInfoFrame; i++ )
|
||||
m_sprExplanation.FadeOn( 0.5f, "left bounce", TWEEN_TIME );
|
||||
m_sprBannerFrame.FadeOn( 0, "left bounce", TWEEN_TIME );
|
||||
m_Banner.FadeOn( 0, "left bounce", TWEEN_TIME );
|
||||
m_textNumSongs.FadeOn( 0, "left bounce", TWEEN_TIME );
|
||||
m_textTime.FadeOn( 0, "left bounce", TWEEN_TIME );
|
||||
m_CourseContentsFrame.FadeOn( 0, "foldy", TWEEN_TIME );
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
float fOriginalX = pActorsInCourseInfoFrame[i]->GetX();
|
||||
pActorsInCourseInfoFrame[i]->SetX( fOriginalX-400 );
|
||||
pActorsInCourseInfoFrame[i]->BeginTweening( TWEEN_TIME, TWEEN_BOUNCE_END );
|
||||
pActorsInCourseInfoFrame[i]->SetTweenX( fOriginalX );
|
||||
m_sprHighScoreFrame[p].FadeOn( 0, "right bounce", TWEEN_TIME );
|
||||
m_HighScore[p].FadeOn( 0, "right bounce", TWEEN_TIME );
|
||||
}
|
||||
|
||||
m_CourseContentsFrame.SetXY( CONTENTS_X - 400, CONTENTS_Y );
|
||||
m_CourseContentsFrame.BeginTweening( TWEEN_TIME, Actor::TWEEN_BIAS_END );
|
||||
m_CourseContentsFrame.SetTweenXY( CONTENTS_X, CONTENTS_Y );
|
||||
|
||||
Actor* pActorsInScore[] = { &m_sprHighScoreFrame[0], &m_sprHighScoreFrame[1], &m_HighScore[0], &m_HighScore[1] };
|
||||
const int iNumActorsInScore = sizeof(pActorsInScore) / sizeof(Actor*);
|
||||
for( i=0; i<iNumActorsInScore; i++ )
|
||||
{
|
||||
float fOriginalX = pActorsInScore[i]->GetX();
|
||||
pActorsInScore[i]->SetX( fOriginalX+400 );
|
||||
pActorsInScore[i]->BeginTweening( TWEEN_TIME, TWEEN_BIAS_END );
|
||||
pActorsInScore[i]->SetTweenX( fOriginalX );
|
||||
}
|
||||
|
||||
m_MusicWheel.TweenOnScreen();
|
||||
}
|
||||
|
||||
void ScreenSelectCourse::TweenOffScreen()
|
||||
{
|
||||
Actor* pActorsInCourseInfoFrame[] = { &m_sprBannerFrame, &m_Banner, &m_textNumSongs, &m_textTime };
|
||||
const int iNumActorsInGroupInfoFrame = sizeof(pActorsInCourseInfoFrame) / sizeof(Actor*);
|
||||
int i;
|
||||
for( i=0; i<iNumActorsInGroupInfoFrame; i++ )
|
||||
m_sprExplanation.FadeOff( 0, "left bounce", TWEEN_TIME );
|
||||
m_sprBannerFrame.FadeOff( 0, "left bounce", TWEEN_TIME );
|
||||
m_Banner.FadeOff( 0, "left bounce", TWEEN_TIME );
|
||||
m_textNumSongs.FadeOff( 0, "left bounce", TWEEN_TIME );
|
||||
m_textTime.FadeOff( 0, "left bounce", TWEEN_TIME );
|
||||
m_CourseContentsFrame.FadeOff( 0, "foldy", TWEEN_TIME );
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
pActorsInCourseInfoFrame[i]->BeginTweening( TWEEN_TIME, TWEEN_BOUNCE_BEGIN );
|
||||
pActorsInCourseInfoFrame[i]->SetTweenX( pActorsInCourseInfoFrame[i]->GetX()-400 );
|
||||
m_sprHighScoreFrame[p].FadeOff( 0, "right bounce", TWEEN_TIME );
|
||||
m_HighScore[p].FadeOff( 0, "right bounce", TWEEN_TIME );
|
||||
}
|
||||
|
||||
m_CourseContentsFrame.BeginTweening( TWEEN_TIME, Actor::TWEEN_BOUNCE_BEGIN );
|
||||
m_CourseContentsFrame.SetTweenXY( CONTENTS_X - 400, CONTENTS_Y );
|
||||
|
||||
Actor* pActorsInScore[] = { &m_sprHighScoreFrame[0], &m_sprHighScoreFrame[1], &m_HighScore[0], &m_HighScore[1] };
|
||||
const int iNumActorsInScore = sizeof(pActorsInScore) / sizeof(Actor*);
|
||||
for( i=0; i<iNumActorsInScore; i++ )
|
||||
{
|
||||
pActorsInScore[i]->BeginTweening( TWEEN_TIME, TWEEN_BIAS_BEGIN );
|
||||
pActorsInScore[i]->SetTweenX( pActorsInScore[i]->GetX()+400 );
|
||||
}
|
||||
|
||||
m_MusicWheel.TweenOffScreen();
|
||||
}
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ protected:
|
||||
|
||||
MenuElements m_Menu;
|
||||
|
||||
Sprite m_sprExplanation;
|
||||
Sprite m_sprBannerFrame;
|
||||
FadingBanner m_Banner;
|
||||
BitmapText m_textNumSongs;
|
||||
|
||||
Reference in New Issue
Block a user