From 143dc3ae5e713ed4c44d77c4ac8268fbb71be05d Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Wed, 26 Nov 2003 06:40:03 +0000 Subject: [PATCH] tweak ScoreDisplayRave --- .../ScoreDisplayRave stream level1.png | Bin 1654 -> 2384 bytes .../ScoreDisplayRave stream level2.png | Bin 1810 -> 2436 bytes .../ScoreDisplayRave stream level3.png | Bin 2058 -> 2971 bytes .../default/Graphics/ScreenLogo techno.redir | 1 + stepmania/Themes/default/metrics.ini | 22 +++++++ stepmania/src/Player.cpp | 28 ++++---- stepmania/src/Player.h | 7 +- stepmania/src/ScoreDisplayRave.cpp | 16 +++-- stepmania/src/ScreenEdit.cpp | 4 +- stepmania/src/ScreenGameplay.cpp | 61 +++++++++++++----- stepmania/src/ScreenGameplay.h | 3 +- stepmania/src/ScreenHowToPlay.cpp | 2 +- stepmania/src/ScreenSelectStyle.cpp | 12 +++- stepmania/src/StepMania.cpp | 3 +- 14 files changed, 116 insertions(+), 43 deletions(-) create mode 100644 stepmania/Themes/default/Graphics/ScreenLogo techno.redir diff --git a/stepmania/Themes/default/Graphics/ScoreDisplayRave stream level1.png b/stepmania/Themes/default/Graphics/ScoreDisplayRave stream level1.png index 22802fed388b7ee23f5efd5906de6714f246ea4d..cd3ef9bcfc842ea3bed32d11063ed5f1522a4c36 100644 GIT binary patch literal 2384 zcmd^A`&SM47XO@HPI~A>$2loIg;7@;c~qQAoerw0BpKWeMbArljK`Q;lBS%LnkF>p z;c-RRlt=O!y$j{h#Le@Hkff=&9!q@YxPQX^_3pLy_p`p=_5JL%_g5os zAWR4`F_MrFQo@uNMVJxh#Aw2Tuq3PqYr=-GCB_hT#8_e+F`oE}m_XPQ4#Z!GiG(9D ziEtvmCMFZk#1vvGF^!l`xDc*{8!>~JNyrFy!h`T6W)WV5Hz6l{2n8{lm_y7Zdi0_E?#0Fv`v5EMe*i8ID{GCW7l87zDRw9MiMx+uy z5@|#_v7Jy68N?1ElgJ`=64^u!@e`3t{7mE#yNKPy9wMLkh1g5%BlZ&oL?KZ`93T!7 zhls<(KZqkl32~G-MwAlAiC>8_qMSHEoFq;Wr-=&U3{gp(CC(A&i3`L<;y2KJkEf zNc@|4M0603i6=xS@sxN*JSVz{7eqJllIS5`5xvA8L?6*l3=pr0H^hI4x5PW*y;{6# zjsNeKHCTF5&F)znxKwC~Tcg;JRJo&_c)dtzRCiK`vAdkxJ|h3piWc6p!J6K!9w-EBTb z=lQ*ugS{K=M`h?-%6;wojmIB8EpN}HD0MBxamiiQT>2)lfl*E@AEoje(H-X5E!@I( z2k$9wWyab92vYj&Y-}?<5*n(~It8|~tO9q`o65_IGOE^YeKs-R&6WeA`b4@%cTUVN z((h~97OCro{O+W~)V$XWzf;P4mRi0BO+FCRrDP90O4sh4ESGoIr4)}Czuao~Zhf7~ zZ!3@TNVG+maeeb>THQ>pH!FMR*rFk{v}=wNsLFW5z9ucNSEB3kLN?8K-H)i{>8m)SD@Pd^J&iYVgM;6YS5< zx|)IBI&Zr&`J94nDZ`!|YLXxi-mYFLRwbyeCS zx7xhv@p&8jrs(!YrD!B!nU%~{6l3CO-D(!p^QqA{M^b^4CN{+vQxEi1nWXBs4@`DP zxw30T%KTr;Dn=9+Z?nr`r7D}DS`r>OpD8Md|CA;6RLrb0ttxDlW;+y)ac;giZihxh z_dXyk5BsZmQQD+er#TJuDA3u{Bf9#?&B8=ag!H|BeFw8#SH z8b*4&8K=qUEOqC zTm8c~%*onVceS9;BIN4QXQojLvP5|v(rkl>I+HdNuJu literal 1654 zcmds%`BN1H5XV1{2M-ib6q6@pqGDN*94e%S3Zg;*0&3&UQ}IYm5mE#(pG1fw9;p>3 z3U+BVd6h@z0dh#m;Z;d^g(hO2p`qjCw?}_OKlGjb?ss-(cXoDWcUQ#540mnq*&1+- zj0lgnsntd|C!@_bW-mWz6Z;vV(V?(=b;jek^|si1YD9cAr1!Apz5|bB(?(d}4>v5( zKMy?StxG5y21a6|Mh&&qNTRK1BV5H(qJwZ3?L|A`CcK2F=p@X-Lv$2fg}3M;o)MkJ z)8aYttmq+pM0e3myd-?Zi{b_Gyyz)Y!K_k7O`36i%nvq_*8r>wu(YgAifk|i0xvV z_*{G@c8Q(hYw?xXC-#bO#W!M)*ewo;gW@}JKclniySOT@h*V;>lMd?Cb-=8@u=YJNQ;q*V>eV356OR z5_4hO#r`$-7N%FH4XEk2q-K9XbN)P=H0^A9a%l6NM@t(PSEoFA&=hjGq3%&?dQEfw z(gz_8A&0j$E!+}Q(=T<|pdWcONst=V)yQqy0b%7jL{>G0Z8s z=yX}8wH+tyW))P~?JahyJ8Q)M=9H1;W&VzdQR`|~1@?Mu^zz-8Qp^4K?#x`zYhC+kYQsG$c5xQx_)J)cnuN)fTmJ~GC zIWX7Dh232XmtAVrJ1x6gfkRRG_Qlcu#LRCMHT!@+yGrYFhMPONbqS~}@pEzrGUZfN z7+m&r++{a-*puvgo$O6_y)Uo#GkXu|R^BiYYm@6%>_~<}RCU zaCFJ;>lV$iMQJW2cIUce1Z9O7taX7NIV3Tm$}`zeVmeXpH}k%s!{NO6OoQF4=PkM4 a8)Wd=5f*H2XO3&RxX7U~;XA@Cng0MVV;cAX diff --git a/stepmania/Themes/default/Graphics/ScoreDisplayRave stream level2.png b/stepmania/Themes/default/Graphics/ScoreDisplayRave stream level2.png index 37dd8d452be46756d41dcf1ceb3de8fabbcb85a4..7e182f266c078e8763a5b44a9221b81ade18a40e 100644 GIT binary patch literal 2436 zcmd^A`8O5%7XKW>c_&jOL#gY~%Twf{LA4qj)Irg4ZlrQoMCCOpx7Ty?UL8@!GDSi~ z;WlVcNV8ePb&DveTa;8vNt)yHjvwAX@P2)Jt^NJ1z1P~GwfA11wZE}4PpP)XNDTnm zZmuqJC3Y&^Sfr|a?^|zdQ^Jr9u8V&GH1!8vfXr-TWm0XG#6toU?f%y{uT*6$4s?}! z09(caib&uKmG~0)hb_?M4@}Phj6zbD)yxG{A)CK&jxJ@(= zjl>^PCOx=5*@@dqLX+|ydYi@UBoNmHPKDH zA>I-_#5KDdI(P#t2P?ozunMdOYrqTOMeq`M8N32s1&hHF zuoOH8mVxKNli(@vG*|?l0ndU*z@y+X@Hkiqo&XPlhrv8BA1nZW1GB;X-~sR;m;>g5 z>EK>41KbB@f>~e^m<*&_3`p)7l|N$&ZRlH~u#kUQc+zVd+dxw%LdhPBR5s2Eo6sOFsdoqIp7f8f08 zT#R#FjI>-+?d@=ZI5Nm+l1uEN%u#V?b9)q_3r<$=NZIs0_v^Tl&ZK#=ZL$-yn!-2N z9-TBiFsoF3_RVMh7QqjsZ}zK3YL7dJAer5;a$8Yl!Ury>A89o#yuRkTzV4p7f2T#1 z+qEs|cs5ce%zW*lm=zOZ%$?tsuQZ#IVR9od^mX54zhM$Bss-qD+XqB(w` zcoFRE5=78dth4tOKrJ9RUPnS6m+W=VULrA?Be{Kf@uM^OC!?*r11HuL2W7Qy5pMM} zpBMFVwa1RA&qCR9vxU)-m629$M-8r++%eEvDKotmKXuXc*o*4~pO0)F3rF2eQ#!fr z*u?yON1Z3m>VY)0szAJ4{Mqe5vD9H53hO+EyS%cVu~v|)QT*l8tT>ytza^e~HO98H z!*k|q%T=xpKMG!0298n^2@AgSqQ!b|OHq8*yl%bF7OlpO{o&Smp!u|q*@vC! zOZ{Z*W?i#0tK`tGys*umd?H(WOl9Y-^Jc7UF3KOZL5f{Tmxky%&bN&HVRG{JR1?dV ztCgz4AAJ0Kt*rZ<+*?DE%2cAqsmd*$4Gi_xOf2FkSD${V#;1ET z+P~XJ<-0V%(K|AA%-o1_(OvDr$s_z{38Ud>=3Y6-(>GqL{=;c`ieqfKqQ*GPuzeu0 zq&&#crqnAzS}ja}qBE{t(r6f3uNmtfJniGq01LXzZo zQ!Scix{4Z$s%Y9@ zAXdzEeWWH57x3C-!$PNsPLHr2vpLodrDaiFklyO`?9f5}<#W3bF#60Yr^Do_!f6>WD|DS4+@ zuHsNEjm!7_tg$Z3HYZ4@sZ%r5RH3@Y`SxFGO*SnKzIB3R2fN9Xjt|$16(q+R8^7CJX*{Cc zQ0$%Ksy(ygl3-Adhljoh9QBZ1t4;hqSWIoG?D8mEAyefT`HZ=v6Psp6Ul{E*=jr-* z$KFTVf*n-GeX9H#lmW5g_OR|nG2U91^`?_9(@rCgZ4o<|v_=1@i^4E%S;GyRoV{Cf zO8wf$zMkFTV>CwfZiIS%*&rqSAbilUP!cif>_N`6xPa9}8 Q4t^MJb39#6I{9z^4~x*&_W%F@ literal 1810 zcmds%c~BKp6vls#2TzoT%V_dS8X-o_nZ^M{%7qb35KGb2W-4t0HLOMxQ?nY!9=IlI zxTA>TiVH5df+;=_Py<0laRC8^Kok^34cxvS|2g)5fAr0q`<**;@A>XI_ssciMCf4G zR&TWeT!(}V8fj;%-7L;V`|5Pr>582kCk74+gp{STo_(^yzV{d(GIALF(#3vu4m8Qm zH88^)?u0?#IB=V?{HyF>FfwB3=pg$YNz27D5i8=v8nIfe5-Y_Du|Xt=^&(!Z6Klm* zu|;ean?$16D0YdRVuwf)+r>7qU+fcm#U7C?c8eq8us9?RiUT4=92b9xV_2SiF}bK{uGx)p|~h6i1VUAToYHt6;UKEi*ivWO2rLPEUHAM zs1UcrO;IcEiaVl4+!od1p?Dzb#eGpH8pRXwSUeI9;)QrFo{6VwuBjSP6MBlCq37rY zdWag(BlHB-qB?XR)uRWf3f)FE=nlGz%F#`93ss;>^cT90ictx=fy&S&RD`aetLPfa zM+N9Sx_~aCLUab5MY-r4%0#D77Rp9B=rlTx($Ps|LmB7@N=0et7}}3g&;fK19YTlE zF0>mZqdjOZ+K0BHZD>16LOak-v;l2IiD(nrjJBXSv=*&H@n}6tK+Dkzv=XgCtI-;? z7%f3d(eEf0EkpCs0<;kQh8Ce1WJOUZ8qGm-(Y)qXv^V5`i7iL>)Y|omr;iLBWmo^7 z0+0OLR(qN)BSSu)1}^QJ&A__#7I0WKWKiJf5Lc&+jPS}32S=YlHD0}6yk9reGk)5} zv5ETBzpsD7y~4DDnm*Mv{j2*|A5S>iu%Wc@Wa;em0cH8c1;y%jzfVEam8O~L)wB93 zv}|K({>jp5=}A)t6x8%jsGfdr)bONxqfX4gXUvWplN?`qEDEpl@*``avG#&X;+MAG z$-XmS~xpo|rRrPky%y+I~U6$HyttqN`a=wa4>(myV zj)mPUa{H*^+yd`blb*K=HyE9Ka^Eng8Cs9%5gb0yXp6`&E_x7i(amh??Agg$RNW@2-Kk z+v0q(=XJ%~`m^atZrcY|S3jzv&*Yg+?jCa;0*qwDwpr{J7(aY`G_hmyfp*Y+WDL{HP&8 Lp@a4g42%8;P@il8 diff --git a/stepmania/Themes/default/Graphics/ScoreDisplayRave stream level3.png b/stepmania/Themes/default/Graphics/ScoreDisplayRave stream level3.png index 478b4cc3aa37933fe4b1054a5100bd6d36144ee8..24029f29c0b6e2861da37289cc1d2239c8d63d01 100644 GIT binary patch delta 2133 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 Jv};PL_CEyA@dE$= diff --git a/stepmania/Themes/default/Graphics/ScreenLogo techno.redir b/stepmania/Themes/default/Graphics/ScreenLogo techno.redir new file mode 100644 index 0000000000..fd07efb779 --- /dev/null +++ b/stepmania/Themes/default/Graphics/ScreenLogo techno.redir @@ -0,0 +1 @@ +ScreenLogo dance diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 539ceaf2a3..695cdd2761 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -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 diff --git a/stepmania/src/Player.cpp b/stepmania/src/Player.cpp index 6a9bbebdda..cdabfaf7aa 100644 --- a/stepmania/src/Player.cpp +++ b/stepmania/src/Player.cpp @@ -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 ); } diff --git a/stepmania/src/Player.h b/stepmania/src/Player.h index 15f340390f..225970abe9 100644 --- a/stepmania/src/Player.h +++ b/stepmania/src/Player.h @@ -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; diff --git a/stepmania/src/ScoreDisplayRave.cpp b/stepmania/src/ScoreDisplayRave.cpp index ecb95f3d14..5748e1cb48 100644 --- a/stepmania/src/ScoreDisplayRave.cpp +++ b/stepmania/src/ScoreDisplayRave.cpp @@ -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; iGetPathToG(ssprintf("ScoreDisplayRave frame p%d",pn+1)) ); + + for( int i=0; im_PlayerOptions[PLAYER_1].m_sNoteSkin = "default"; // change noteskin back to default before loading player GAMESTATE->ResetNoteSkins(); - m_Player.Load( PLAYER_1, ¬eData, NULL, NULL, NULL, NULL, NULL, NULL ); + m_Player.Load( PLAYER_1, ¬eData, 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(); diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 408a346968..bcb43ad419 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -105,7 +105,8 @@ ScreenGameplay::ScreenGameplay( CString sName, bool bDemonstration ) : Screen("S for( p=0; pIsPlayerEnabled(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; pGetCurrentStyleDef(); 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] ); } diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index a025db1d5c..dac7d86ac6 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -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]; diff --git a/stepmania/src/ScreenHowToPlay.cpp b/stepmania/src/ScreenHowToPlay.cpp index a6eb0c9752..50cf2fb2d7 100644 --- a/stepmania/src/ScreenHowToPlay.cpp +++ b/stepmania/src/ScreenHowToPlay.cpp @@ -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 ); } diff --git a/stepmania/src/ScreenSelectStyle.cpp b/stepmania/src/ScreenSelectStyle.cpp index 800524e29a..3fba9539b8 100644 --- a/stepmania/src/ScreenSelectStyle.cpp +++ b/stepmania/src/ScreenSelectStyle.cpp @@ -250,13 +250,21 @@ void ScreenSelectStyle::UpdateSelectableChoices() int iSwitchToStyleIndex = -1; // -1 means none found for( i=0; iSystemMessage( "No Styles are selectable." ); + SCREENMAN->SetNewScreen( THEME->GetMetric("Common","InitialScreen") ); + return; + } + m_iSelection = iSwitchToStyleIndex; AfterChange(); diff --git a/stepmania/src/StepMania.cpp b/stepmania/src/StepMania.cpp index 07ff5f5bbb..da992a2237 100644 --- a/stepmania/src/StepMania.cpp +++ b/stepmania/src/StepMania.cpp @@ -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; }