SelectGroup animations converted to commands
ScreenStage animations converted to TransitionBGAnimations Changed all Stage BitmapTexts to Sprites
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 331 B |
@@ -0,0 +1,267 @@
|
||||
[main]
|
||||
import=_20px fonts
|
||||
Baseline=27
|
||||
Top=7
|
||||
0=15
|
||||
1=15
|
||||
2=15
|
||||
3=15
|
||||
4=15
|
||||
5=15
|
||||
6=15
|
||||
7=15
|
||||
8=15
|
||||
9=88
|
||||
10=0
|
||||
11=15
|
||||
12=15
|
||||
13=0
|
||||
14=15
|
||||
15=15
|
||||
16=15
|
||||
17=15
|
||||
18=15
|
||||
19=15
|
||||
20=15
|
||||
21=15
|
||||
22=15
|
||||
23=15
|
||||
24=15
|
||||
25=15
|
||||
26=15
|
||||
27=15
|
||||
28=0
|
||||
29=0
|
||||
30=0
|
||||
31=0
|
||||
32=5
|
||||
33=8
|
||||
34=10
|
||||
35=17
|
||||
36=15
|
||||
37=18
|
||||
38=15
|
||||
39=6
|
||||
40=9
|
||||
41=9
|
||||
42=8
|
||||
43=14
|
||||
44=5
|
||||
45=8
|
||||
46=6
|
||||
47=11
|
||||
48=14
|
||||
49=11
|
||||
50=14
|
||||
51=14
|
||||
52=13
|
||||
53=14
|
||||
54=15
|
||||
55=11
|
||||
56=14
|
||||
57=15
|
||||
58=6
|
||||
59=6
|
||||
60=14
|
||||
61=14
|
||||
62=14
|
||||
63=14
|
||||
64=20
|
||||
65=13
|
||||
66=15
|
||||
67=15
|
||||
68=15
|
||||
69=11
|
||||
70=11
|
||||
71=15
|
||||
72=15
|
||||
73=8
|
||||
74=9
|
||||
75=14
|
||||
76=11
|
||||
77=19
|
||||
78=15
|
||||
79=15
|
||||
80=14
|
||||
81=15
|
||||
82=14
|
||||
83=14
|
||||
84=13
|
||||
85=15
|
||||
86=13
|
||||
87=21
|
||||
88=13
|
||||
89=13
|
||||
90=11
|
||||
91=8
|
||||
92=11
|
||||
93=8
|
||||
94=13
|
||||
95=15
|
||||
96=9
|
||||
97=14
|
||||
98=14
|
||||
99=13
|
||||
100=14
|
||||
101=14
|
||||
102=8
|
||||
103=14
|
||||
104=14
|
||||
105=8
|
||||
106=8
|
||||
107=13
|
||||
108=8
|
||||
109=20
|
||||
110=14
|
||||
111=14
|
||||
112=14
|
||||
113=14
|
||||
114=10
|
||||
115=13
|
||||
116=9
|
||||
117=14
|
||||
118=11
|
||||
119=17
|
||||
120=11
|
||||
121=12
|
||||
122=10
|
||||
123=10
|
||||
124=8
|
||||
125=10
|
||||
126=14
|
||||
127=15
|
||||
128=14
|
||||
129=9
|
||||
130=5
|
||||
131=12
|
||||
132=10
|
||||
133=15
|
||||
134=15
|
||||
135=15
|
||||
136=9
|
||||
137=27
|
||||
138=14
|
||||
139=6
|
||||
140=18
|
||||
141=9
|
||||
142=11
|
||||
143=9
|
||||
144=9
|
||||
145=5
|
||||
146=5
|
||||
147=10
|
||||
148=10
|
||||
149=10
|
||||
150=14
|
||||
151=26
|
||||
152=9
|
||||
153=21
|
||||
154=13
|
||||
155=6
|
||||
156=20
|
||||
157=9
|
||||
158=10
|
||||
159=13
|
||||
160=5
|
||||
161=8
|
||||
162=14
|
||||
163=14
|
||||
164=15
|
||||
165=13
|
||||
166=8
|
||||
167=13
|
||||
168=9
|
||||
169=21
|
||||
170=9
|
||||
171=10
|
||||
172=14
|
||||
173=8
|
||||
174=21
|
||||
175=15
|
||||
176=10
|
||||
177=14
|
||||
178=9
|
||||
179=9
|
||||
180=9
|
||||
181=13
|
||||
182=15
|
||||
183=9
|
||||
184=9
|
||||
185=7
|
||||
186=9
|
||||
187=10
|
||||
188=17
|
||||
189=17
|
||||
190=18
|
||||
191=14
|
||||
192=13
|
||||
193=13
|
||||
194=13
|
||||
195=13
|
||||
196=13
|
||||
197=13
|
||||
198=19
|
||||
199=15
|
||||
200=11
|
||||
201=11
|
||||
202=11
|
||||
203=11
|
||||
204=8
|
||||
205=8
|
||||
206=8
|
||||
207=8
|
||||
208=15
|
||||
209=15
|
||||
210=15
|
||||
211=15
|
||||
212=15
|
||||
213=15
|
||||
214=15
|
||||
215=14
|
||||
216=15
|
||||
217=15
|
||||
218=15
|
||||
219=15
|
||||
220=15
|
||||
221=13
|
||||
222=14
|
||||
223=15
|
||||
224=14
|
||||
225=14
|
||||
226=14
|
||||
227=14
|
||||
228=14
|
||||
229=14
|
||||
230=20
|
||||
231=13
|
||||
232=14
|
||||
233=14
|
||||
234=14
|
||||
235=14
|
||||
236=8
|
||||
237=8
|
||||
238=8
|
||||
239=8
|
||||
240=14
|
||||
241=14
|
||||
242=14
|
||||
243=14
|
||||
244=14
|
||||
245=14
|
||||
246=14
|
||||
247=14
|
||||
248=14
|
||||
249=14
|
||||
250=14
|
||||
251=14
|
||||
252=14
|
||||
253=12
|
||||
254=14
|
||||
255=12
|
||||
|
||||
[extras]
|
||||
Baseline=26
|
||||
Top=7
|
||||
|
||||
0=13
|
||||
map flipped-a=0
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
@@ -205,33 +205,43 @@ NextScreenOni=ScreenInstructions
|
||||
NextScreenBattle=ScreenInstructions
|
||||
|
||||
[ScreenSelectGroup]
|
||||
FrameX=180
|
||||
FrameY=160
|
||||
BannerX=182
|
||||
BannerY=158
|
||||
FrameOnCommand=x,180;y,160
|
||||
FrameOffCommand=
|
||||
BannerOnCommand=x,182;y,158
|
||||
BannerOffCommand=
|
||||
BannerWidth=288
|
||||
BannerHeight=92
|
||||
NumberX=116
|
||||
NumberY=224
|
||||
ExplanationX=110
|
||||
ExplanationY=66
|
||||
ButtonX=504
|
||||
ButtonSelectedX=470
|
||||
ButtonStartY=66
|
||||
ButtonSpacingY=26
|
||||
ContentsX=320
|
||||
ContentsY=260
|
||||
TitlesStartX=20
|
||||
TitlesStartY=276
|
||||
TitlesWidth=146
|
||||
TitlesSpacingX=150
|
||||
TitlesColumns=4
|
||||
TitlesRows=10
|
||||
TitlesZoom=0.5
|
||||
NumberOnCommand=x,116;y,224;horizalign,right;shadowlength,0
|
||||
NumberOffCommand=
|
||||
ExplanationOnCommand=x,110;y,66
|
||||
ExplanationOffCommand=
|
||||
ContentsOnCommand=x,320;y,260
|
||||
ContentsOffCommand=
|
||||
GroupListOnCommand=x,504;y,200
|
||||
GroupListOffCommand=
|
||||
MusicListOnCommand=x,20;y,276
|
||||
MusicListOffCommand=
|
||||
HelpText=Use &LEFT; &RIGHT; to select, then press START
|
||||
TimerSeconds=40
|
||||
NextScreen=ScreenInstructions
|
||||
|
||||
[GroupList]
|
||||
StartX=0
|
||||
StartY=-136
|
||||
SpacingX=0
|
||||
SpacingY=26
|
||||
GainFocusCommand=stoptweening;glowshift;linear,0.2;x,-40
|
||||
LoseFocusCommand=stoptweening;stopeffect;linear,0.2;x,0
|
||||
|
||||
[MusicList]
|
||||
NumColumns=4
|
||||
NumRows=10
|
||||
StartX=
|
||||
StartY=
|
||||
SpacingX=150
|
||||
CropWidth=146
|
||||
InitCommand=horizalign,left;vertalign,top;shadowlength,2;zoom,0.5;
|
||||
|
||||
[ScreenInstructions]
|
||||
NextScreenArcade=ScreenSelectMusic
|
||||
NextScreenOni=ScreenSelectCourse
|
||||
@@ -357,7 +367,7 @@ HelpText=Use &LEFT; &RIGHT; to select, then press START
|
||||
TimerSeconds=60
|
||||
|
||||
[ScreenStage]
|
||||
StageType=0 // 0 for MAX, 1 for Pump, 2 for EZ2
|
||||
NextScreen=ScreenGameplay
|
||||
|
||||
[ScreenGameplay]
|
||||
SongSelectScreen=ScreenSelectMusic
|
||||
@@ -726,24 +736,6 @@ BrightGhostComboThreshold=100
|
||||
StartDrawingAtPixels=-60
|
||||
StopDrawingAtPixels=350
|
||||
|
||||
[GameState]
|
||||
StageColorDemo=0.3,1.0,0.3,1 // green
|
||||
StageColor1=0.3,0.8,1.0,1 // light blue
|
||||
StageColor2=0.2,1,0.2,1 // green
|
||||
StageColor3=0.8,0.2,0.8,1 // light purple
|
||||
StageColor4=0.3,1.0,0.3,1 // green
|
||||
StageColor5=0.4,0.4,0.9,1 // light blue
|
||||
StageColorFinal=1.0,0.1,0.1,1 // red
|
||||
StageColorExtra1=1.0,1.0,0.3,1 // yellow
|
||||
StageColorExtra2=1.0,1.0,0.3,1 // yellow
|
||||
StageColorOni=0.3,1.0,0.3,1 // green
|
||||
StageColorNonstop=0.3,1.0,0.3,1 // green
|
||||
StageColorEndless=0.3,1.0,0.3,1 // green
|
||||
StageTextDemo=Demo
|
||||
StageTextFinal=Final
|
||||
StageTextExtra1=Extra
|
||||
StageTextExtra2=Extra2
|
||||
|
||||
[BPMDisplay]
|
||||
NormalColor=1.0,0.5,0.0,1 // orange
|
||||
ChangeColor=0.6,0.0,0.0,1 // dark red
|
||||
|
||||
@@ -53,7 +53,7 @@ Background::Background()
|
||||
m_pFadingBGA = NULL;
|
||||
m_fSecsLeftInFade = 0;
|
||||
|
||||
m_BGADanger.LoadFromAniDir( THEME->GetPathTo("BGAnimations","gameplay danger") );
|
||||
m_BGADanger.LoadFromAniDir( THEME->GetPathTo("BGAnimations","ScreenGameplay danger") );
|
||||
|
||||
m_quadBGBrightness.StretchTo( RECT_BACKGROUND );
|
||||
m_quadBGBrightness.SetDiffuse( RageColor(0,0,0,1-PREFSMAN->m_fBGBrightness) );
|
||||
|
||||
@@ -22,7 +22,7 @@ Banner::Banner()
|
||||
m_bScrolling = false;
|
||||
m_fPercentScrolling = 0;
|
||||
|
||||
LoadFallback();
|
||||
// LoadFallback();
|
||||
}
|
||||
|
||||
bool Banner::Load( RageTextureID ID )
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
#include "InputMapper.h"
|
||||
#include "song.h"
|
||||
#include "RageLog.h"
|
||||
#include "ThemeManager.h"
|
||||
#include "RageUtil.h"
|
||||
#include "SongManager.h"
|
||||
#include "Notes.h"
|
||||
@@ -29,20 +28,6 @@
|
||||
GameState* GAMESTATE = NULL; // global and accessable from anywhere in our program
|
||||
|
||||
|
||||
#define STAGE_COLOR_DEMO THEME->GetMetricC("GameState","StageColorDemo")
|
||||
#define STAGE_COLOR( i ) THEME->GetMetricC("GameState",ssprintf("StageColor%d",i+1))
|
||||
#define STAGE_COLOR_FINAL THEME->GetMetricC("GameState","StageColorFinal")
|
||||
#define STAGE_COLOR_EXTRA1 THEME->GetMetricC("GameState","StageColorExtra1")
|
||||
#define STAGE_COLOR_EXTRA2 THEME->GetMetricC("GameState","StageColorExtra2")
|
||||
#define STAGE_COLOR_NONSTOP THEME->GetMetricC("GameState","StageColorNonstop")
|
||||
#define STAGE_COLOR_ONI THEME->GetMetricC("GameState","StageColorOni")
|
||||
#define STAGE_COLOR_ENDLESS THEME->GetMetricC("GameState","StageColorEndless")
|
||||
#define STAGE_TEXT_DEMO THEME->GetMetric("GameState","StageTextDemo")
|
||||
#define STAGE_TEXT_FINAL THEME->GetMetric("GameState","StageTextFinal")
|
||||
#define STAGE_TEXT_EXTRA1 THEME->GetMetric("GameState","StageTextExtra1")
|
||||
#define STAGE_TEXT_EXTRA2 THEME->GetMetric("GameState","StageTextExtra2")
|
||||
|
||||
|
||||
GameState::GameState()
|
||||
{
|
||||
m_CurGame = GAME_DANCE;
|
||||
@@ -181,43 +166,12 @@ bool GameState::IsExtraStage2()
|
||||
|
||||
CString GameState::GetStageText()
|
||||
{
|
||||
if( m_bDemonstrationOrJukebox ) return STAGE_TEXT_DEMO;
|
||||
else if( IsFinalStage() ) return STAGE_TEXT_FINAL;
|
||||
else if( IsExtraStage() ) return STAGE_TEXT_EXTRA1;
|
||||
else if( IsExtraStage2() ) return STAGE_TEXT_EXTRA2;
|
||||
|
||||
|
||||
int iStageNo = m_iCurrentStageIndex+1;
|
||||
|
||||
CString sNumberSuffix;
|
||||
if( ( (iStageNo/10) % 10 ) == 1 ) // in the teens (e.g. 19, 213)
|
||||
{
|
||||
sNumberSuffix = "th";
|
||||
}
|
||||
else // not in the teens
|
||||
{
|
||||
const int iLastDigit = iStageNo%10;
|
||||
switch( iLastDigit )
|
||||
{
|
||||
case 1: sNumberSuffix = "st"; break;
|
||||
case 2: sNumberSuffix = "nd"; break;
|
||||
case 3: sNumberSuffix = "rd"; break;
|
||||
default:sNumberSuffix = "th"; break;
|
||||
}
|
||||
}
|
||||
return ssprintf( "%d%s", iStageNo, sNumberSuffix.GetString() );
|
||||
}
|
||||
|
||||
RageColor GameState::GetStageColor()
|
||||
{
|
||||
if( m_bDemonstrationOrJukebox ) return STAGE_COLOR_DEMO;
|
||||
else if( m_PlayMode==PLAY_MODE_NONSTOP ) return STAGE_COLOR_NONSTOP;
|
||||
else if( m_PlayMode==PLAY_MODE_ONI ) return STAGE_COLOR_ONI;
|
||||
else if( m_PlayMode==PLAY_MODE_ENDLESS ) return STAGE_COLOR_ENDLESS;
|
||||
else if( IsFinalStage() ) return STAGE_COLOR_FINAL;
|
||||
else if( IsExtraStage() ) return STAGE_COLOR_EXTRA1;
|
||||
else if( IsExtraStage2() ) return STAGE_COLOR_EXTRA2;
|
||||
else return STAGE_COLOR( min(m_iCurrentStageIndex,4) );
|
||||
if( m_bDemonstrationOrJukebox ) return "demo";
|
||||
else if( PREFSMAN->m_bEventMode ) return "event";
|
||||
else if( IsFinalStage() ) return "final";
|
||||
else if( IsExtraStage() ) return "extra1";
|
||||
else if( IsExtraStage2() ) return "extra2";
|
||||
else return ssprintf("%d",m_iCurrentStageIndex+1);
|
||||
}
|
||||
|
||||
int GameState::GetCourseSongIndex()
|
||||
|
||||
@@ -83,7 +83,6 @@ public:
|
||||
bool IsExtraStage();
|
||||
bool IsExtraStage2();
|
||||
CString GetStageText();
|
||||
RageColor GetStageColor();
|
||||
int GetCourseSongIndex();
|
||||
|
||||
|
||||
|
||||
+36
-52
@@ -6,35 +6,36 @@
|
||||
/* If this actor is used anywhere other than SelectGroup, we
|
||||
* can add a setting that changes which metric group we pull
|
||||
* settings out of, so it can be configured separately. */
|
||||
#define BUTTON_X THEME->GetMetricF("ScreenSelectGroup","ButtonX")
|
||||
#define BUTTON_START_Y THEME->GetMetricF("ScreenSelectGroup","ButtonStartY")
|
||||
#define BUTTON_SPACING_Y THEME->GetMetricF("ScreenSelectGroup","ButtonSpacingY")
|
||||
#define BUTTON_SELECTED_X THEME->GetMetricF("ScreenSelectGroup","ButtonSelectedX")
|
||||
#define START_X THEME->GetMetricF("GroupList","StartX")
|
||||
#define START_Y THEME->GetMetricF("GroupList","StartY")
|
||||
#define SPACING_X THEME->GetMetricF("GroupList","SpacingX")
|
||||
#define SPACING_Y THEME->GetMetricF("GroupList","SpacingY")
|
||||
#define GAIN_FOCUS_COMMAND THEME->GetMetric ("GroupList","GainFocusCommand")
|
||||
#define LOSE_FOCUS_COMMAND THEME->GetMetric ("GroupList","LoseFocusCommand")
|
||||
|
||||
|
||||
GroupList::GroupList()
|
||||
{
|
||||
m_iSelection = m_iTop = 0;
|
||||
}
|
||||
|
||||
void GroupList::DoneAddingGroups()
|
||||
void GroupList::Load( const CStringArray& asGroupNames )
|
||||
{
|
||||
unsigned i;
|
||||
m_asLabels = asGroupNames;
|
||||
|
||||
for( i=0; i<min(m_textLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
for( unsigned i=0; i<min(m_asLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
{
|
||||
m_sprButton[i].Load( THEME->GetPathTo("Graphics","GroupList button") );
|
||||
m_sprButton[i].SetXY( BUTTON_X, BUTTON_START_Y + i*BUTTON_SPACING_Y );
|
||||
float fX = START_X + i*SPACING_X;
|
||||
float fY = START_Y + i*SPACING_Y;
|
||||
|
||||
m_sprButton[i].Load( THEME->GetPathTo("Graphics","GroupList bar") );
|
||||
m_sprButton[i].SetXY( fX, fY );
|
||||
this->AddChild( &m_sprButton[i] );
|
||||
this->AddChild( &m_screenLabels[i] );
|
||||
}
|
||||
|
||||
for( i=0; i<min(m_textLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
{
|
||||
m_screenLabels[i].LoadFromFont( THEME->GetPathTo("Fonts","GroupList label") );
|
||||
m_screenLabels[i].SetXY( BUTTON_X, BUTTON_START_Y + i*BUTTON_SPACING_Y );
|
||||
m_screenLabels[i].SetXY( fX, fY );
|
||||
m_screenLabels[i].SetShadowLength( 2 );
|
||||
|
||||
CString sGroupName = m_textLabels[i];
|
||||
this->AddChild( &m_screenLabels[i] );
|
||||
}
|
||||
|
||||
SetLabels();
|
||||
@@ -43,9 +44,9 @@ void GroupList::DoneAddingGroups()
|
||||
|
||||
void GroupList::SetLabels()
|
||||
{
|
||||
for( unsigned i=0; i<min(m_textLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
for( unsigned i=0; i<min(m_asLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
{
|
||||
CString &label = m_textLabels[m_iTop+i];
|
||||
CString &label = m_asLabels[m_iTop+i];
|
||||
m_screenLabels[i].SetText( SONGMAN->ShortenGroupName( label ) );
|
||||
float fTextWidth = (float)m_screenLabels[i].GetWidestLineWidthInSourcePixels();
|
||||
float fButtonWidth = m_sprButton[i].GetZoomedWidth();
|
||||
@@ -67,13 +68,8 @@ void GroupList::BeforeChange()
|
||||
{
|
||||
int iSel = m_iSelection-m_iTop;
|
||||
|
||||
m_sprButton[iSel].BeginTweening( 0.2f );
|
||||
m_sprButton[iSel].SetTweenX( BUTTON_X );
|
||||
m_sprButton[iSel].SetEffectNone();
|
||||
|
||||
m_screenLabels[iSel].BeginTweening( 0.2f );
|
||||
m_screenLabels[iSel].SetTweenX( BUTTON_X );
|
||||
m_screenLabels[iSel].SetEffectNone();
|
||||
m_sprButton[iSel].Command( LOSE_FOCUS_COMMAND );
|
||||
m_screenLabels[iSel].Command( LOSE_FOCUS_COMMAND );
|
||||
}
|
||||
|
||||
|
||||
@@ -81,15 +77,8 @@ void GroupList::AfterChange()
|
||||
{
|
||||
int iSel = m_iSelection-m_iTop;
|
||||
|
||||
m_sprButton[iSel].StopTweening();
|
||||
m_sprButton[iSel].BeginTweening( 0.2f );
|
||||
m_sprButton[iSel].SetTweenX( BUTTON_SELECTED_X );
|
||||
m_sprButton[iSel].SetEffectGlowShift();
|
||||
|
||||
m_screenLabels[iSel].StopTweening();
|
||||
m_screenLabels[iSel].BeginTweening( 0.2f );
|
||||
m_screenLabels[iSel].SetTweenX( BUTTON_SELECTED_X );
|
||||
m_screenLabels[iSel].SetEffectGlowShift();
|
||||
m_sprButton[iSel].Command( GAIN_FOCUS_COMMAND );
|
||||
m_screenLabels[iSel].Command( GAIN_FOCUS_COMMAND );
|
||||
}
|
||||
|
||||
void GroupList::Up()
|
||||
@@ -97,7 +86,7 @@ void GroupList::Up()
|
||||
BeforeChange();
|
||||
|
||||
if( m_iSelection == 0 )
|
||||
SetSelection(m_textLabels.size()-1);
|
||||
SetSelection(m_asLabels.size()-1);
|
||||
else
|
||||
SetSelection(m_iSelection-1);
|
||||
|
||||
@@ -108,27 +97,22 @@ void GroupList::Down()
|
||||
{
|
||||
BeforeChange();
|
||||
|
||||
SetSelection((m_iSelection+1) % m_textLabels.size());
|
||||
SetSelection((m_iSelection+1) % m_asLabels.size());
|
||||
|
||||
AfterChange();
|
||||
}
|
||||
|
||||
void GroupList::AddGroup(CString name)
|
||||
{
|
||||
m_textLabels.push_back(name);
|
||||
}
|
||||
|
||||
void GroupList::SetSelection( unsigned sel )
|
||||
{
|
||||
BeforeChange();
|
||||
|
||||
m_iSelection=sel;
|
||||
|
||||
if( m_textLabels.size() <= MAX_GROUPS_ONSCREEN ||
|
||||
if( m_asLabels.size() <= MAX_GROUPS_ONSCREEN ||
|
||||
sel <= MAX_GROUPS_ONSCREEN/2 )
|
||||
m_iTop = 0;
|
||||
else if ( sel >= m_textLabels.size() - MAX_GROUPS_ONSCREEN/2 )
|
||||
m_iTop = m_textLabels.size() - MAX_GROUPS_ONSCREEN;
|
||||
else if ( sel >= m_asLabels.size() - MAX_GROUPS_ONSCREEN/2 )
|
||||
m_iTop = m_asLabels.size() - MAX_GROUPS_ONSCREEN;
|
||||
else
|
||||
m_iTop = sel - MAX_GROUPS_ONSCREEN/2;
|
||||
|
||||
@@ -143,37 +127,37 @@ void GroupList::SetSelection( unsigned sel )
|
||||
|
||||
void GroupList::TweenOnScreen()
|
||||
{
|
||||
for( unsigned i=0; i<min(m_textLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
for( unsigned i=0; i<min(m_asLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
{
|
||||
m_sprButton[i].SetX( BUTTON_X+400 );
|
||||
m_sprButton[i].SetX( 400 );
|
||||
m_sprButton[i].BeginTweening( 0.1f*i, TWEEN_BOUNCE_END );
|
||||
m_sprButton[i].BeginTweening( 0.2f, TWEEN_BOUNCE_END );
|
||||
m_sprButton[i].SetTweenX( BUTTON_X );
|
||||
m_sprButton[i].SetTweenX( 0 );
|
||||
|
||||
m_screenLabels[i].SetX( BUTTON_X+400 );
|
||||
m_screenLabels[i].SetX( 400 );
|
||||
m_screenLabels[i].BeginTweening( 0.1f*i, TWEEN_BOUNCE_END );
|
||||
m_screenLabels[i].BeginTweening( 0.2f, TWEEN_BOUNCE_END );
|
||||
m_screenLabels[i].SetTweenX( BUTTON_X );
|
||||
m_screenLabels[i].SetTweenX( 0 );
|
||||
}
|
||||
}
|
||||
|
||||
void GroupList::TweenOffScreen()
|
||||
{
|
||||
for( unsigned i=0; i<min(m_textLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
for( unsigned i=0; i<min(m_asLabels.size(), MAX_GROUPS_ONSCREEN); i++ )
|
||||
{
|
||||
if( i == m_iSelection )
|
||||
m_sprButton[i].BeginTweening( 1.0f, TWEEN_BOUNCE_BEGIN );
|
||||
else
|
||||
m_sprButton[i].BeginTweening( 0.1f*i, TWEEN_BOUNCE_BEGIN );
|
||||
m_sprButton[i].BeginTweening( 0.2f, TWEEN_BOUNCE_BEGIN );
|
||||
m_sprButton[i].SetTweenX( BUTTON_X+400 );
|
||||
m_sprButton[i].SetTweenX( 400 );
|
||||
|
||||
if( i == m_iSelection )
|
||||
m_screenLabels[i].BeginTweening( 1.0f, TWEEN_BOUNCE_BEGIN );
|
||||
else
|
||||
m_screenLabels[i].BeginTweening( 0.1f*i, TWEEN_BOUNCE_BEGIN );
|
||||
m_screenLabels[i].BeginTweening( 0.2f, TWEEN_BOUNCE_BEGIN );
|
||||
m_screenLabels[i].SetTweenX( BUTTON_X+400 );
|
||||
m_screenLabels[i].SetTweenX( 400 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ const unsigned MAX_GROUPS_ONSCREEN = 8;
|
||||
class GroupList: public ActorFrame {
|
||||
Sprite m_sprButton[MAX_GROUPS_ONSCREEN];
|
||||
BitmapText m_screenLabels[MAX_GROUPS_ONSCREEN];
|
||||
vector<CString> m_textLabels;
|
||||
vector<CString> m_asLabels;
|
||||
|
||||
/* Currently selected label. */
|
||||
unsigned m_iSelection;
|
||||
@@ -26,11 +26,10 @@ public:
|
||||
|
||||
void SetSelection(unsigned sel);
|
||||
int GetSelection() const { return m_iSelection; }
|
||||
CString GetSelectionName() const { return m_textLabels[m_iSelection]; }
|
||||
CString GetSelectionName() const { return m_asLabels[m_iSelection]; }
|
||||
void Up();
|
||||
void Down();
|
||||
void AddGroup(CString name);
|
||||
void DoneAddingGroups();
|
||||
void Load( const CStringArray& asGroupNames );
|
||||
void TweenOffScreen();
|
||||
void TweenOnScreen();
|
||||
};
|
||||
|
||||
+20
-23
@@ -5,26 +5,23 @@
|
||||
/* If this actor is used anywhere other than SelectGroup, we
|
||||
* can add a setting that changes which metric group we pull
|
||||
* settings out of, so it can be configured separately. */
|
||||
#define TITLES_START_X THEME->GetMetricF("ScreenSelectGroup","TitlesStartX")
|
||||
#define TITLES_WIDTH THEME->GetMetricF("ScreenSelectGroup","TitlesWidth")
|
||||
#define TITLES_SPACING_X THEME->GetMetricF("ScreenSelectGroup","TitlesSpacingX")
|
||||
#define TITLES_START_Y THEME->GetMetricF("ScreenSelectGroup","TitlesStartY")
|
||||
#define TITLES_COLUMNS THEME->GetMetricI("ScreenSelectGroup","TitlesColumns")
|
||||
#define TITLES_ROWS THEME->GetMetricI("ScreenSelectGroup","TitlesRows")
|
||||
#define TITLES_ZOOM THEME->GetMetricF("ScreenSelectGroup","TitlesZoom")
|
||||
#define NUM_COLUMNS THEME->GetMetricI("MusicList","NumColumns")
|
||||
#define NUM_ROWS THEME->GetMetricI("MusicList","NumRows")
|
||||
#define START_X THEME->GetMetricF("MusicList","StartX")
|
||||
#define START_Y THEME->GetMetricF("MusicList","StartY")
|
||||
#define SPACING_X THEME->GetMetricF("MusicList","SpacingX")
|
||||
#define CROP_WIDTH THEME->GetMetricF("MusicList","CropWidth")
|
||||
#define INIT_COMMAND THEME->GetMetric ("MusicList","InitCommand")
|
||||
|
||||
MusicList::MusicList()
|
||||
{
|
||||
CurGroup = 0;
|
||||
|
||||
for( int i=0; i<TITLES_COLUMNS; i++ )
|
||||
for( int i=0; i<NUM_COLUMNS; i++ )
|
||||
{
|
||||
m_textTitles[i].LoadFromFont( THEME->GetPathTo("Fonts","small titles") );
|
||||
m_textTitles[i].SetXY( TITLES_START_X + i*TITLES_SPACING_X, TITLES_START_Y );
|
||||
m_textTitles[i].SetHorizAlign( Actor::align_left );
|
||||
m_textTitles[i].SetVertAlign( Actor::align_top );
|
||||
m_textTitles[i].SetShadowLength( 2 );
|
||||
m_textTitles[i].SetZoom( TITLES_ZOOM );
|
||||
m_textTitles[i].LoadFromFont( THEME->GetPathTo("Fonts","MusicList titles") );
|
||||
m_textTitles[i].SetXY( START_X + i*SPACING_X, START_Y );
|
||||
m_textTitles[i].Command( INIT_COMMAND );
|
||||
this->AddChild( &m_textTitles[i] );
|
||||
}
|
||||
}
|
||||
@@ -41,18 +38,18 @@ void MusicList::AddSongsToGroup(const vector<Song*> &Songs)
|
||||
|
||||
m_ContentsText[group].m_iNumSongsInGroup = Songs.size();
|
||||
|
||||
for( int c=0; c<TITLES_COLUMNS; c++ ) // foreach col
|
||||
for( int c=0; c<NUM_COLUMNS; c++ ) // foreach col
|
||||
{
|
||||
CString sText;
|
||||
for( int r=0; r<TITLES_ROWS; r++ ) // foreach row
|
||||
for( int r=0; r<NUM_ROWS; r++ ) // foreach row
|
||||
{
|
||||
unsigned iIndex = c*TITLES_ROWS + r;
|
||||
unsigned iIndex = c*NUM_ROWS + r;
|
||||
if( iIndex >= Songs.size() )
|
||||
continue;
|
||||
|
||||
if( c == TITLES_COLUMNS-1 && r == TITLES_ROWS-1 && Songs.size() != unsigned(TITLES_COLUMNS*TITLES_ROWS) )
|
||||
if( c == NUM_COLUMNS-1 && r == NUM_ROWS-1 && Songs.size() != unsigned(NUM_COLUMNS*NUM_ROWS) )
|
||||
{
|
||||
sText += ssprintf( "%d more.....", Songs.size() - TITLES_COLUMNS * TITLES_ROWS + 1 );
|
||||
sText += ssprintf( "%d more.....", Songs.size() - NUM_COLUMNS * NUM_ROWS + 1 );
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -83,16 +80,16 @@ void MusicList::SetGroupNo(int group)
|
||||
{
|
||||
CurGroup = group;
|
||||
|
||||
for( int c=0; c<TITLES_COLUMNS; c++ )
|
||||
for( int c=0; c<NUM_COLUMNS; c++ )
|
||||
{
|
||||
m_textTitles[c].SetText( m_ContentsText[CurGroup].ContentsText[c] );
|
||||
m_textTitles[c].CropToWidth( int(TITLES_WIDTH/m_textTitles[c].GetZoom()) );
|
||||
m_textTitles[c].CropToWidth( int(CROP_WIDTH/m_textTitles[c].GetZoom()) );
|
||||
}
|
||||
}
|
||||
|
||||
void MusicList::TweenOnScreen()
|
||||
{
|
||||
for( int i=0; i<TITLES_COLUMNS; i++ )
|
||||
for( int i=0; i<NUM_COLUMNS; i++ )
|
||||
{
|
||||
m_textTitles[i].SetDiffuse( RageColor(1,1,1,0) );
|
||||
m_textTitles[i].BeginTweening( 0.5f );
|
||||
@@ -103,7 +100,7 @@ void MusicList::TweenOnScreen()
|
||||
|
||||
void MusicList::TweenOffScreen()
|
||||
{
|
||||
for( int i=0; i<TITLES_COLUMNS; i++ )
|
||||
for( int i=0; i<NUM_COLUMNS; i++ )
|
||||
{
|
||||
m_textTitles[i].BeginTweening( 0.7f );
|
||||
m_textTitles[i].BeginTweening( 0.5f );
|
||||
|
||||
@@ -46,6 +46,19 @@ bool RageTextureID::operator<(const RageTextureID &rhs) const
|
||||
return false;
|
||||
}
|
||||
|
||||
bool RageTextureID::operator==(const RageTextureID &rhs) const
|
||||
{
|
||||
return
|
||||
filename == rhs.filename &&
|
||||
iMaxSize == rhs.iMaxSize &&
|
||||
iMipMaps == rhs.iMipMaps &&
|
||||
iAlphaBits == rhs.iAlphaBits &&
|
||||
iColorDepth == rhs.iColorDepth &&
|
||||
bDither == rhs.bDither &&
|
||||
bStretch == rhs.bStretch &&
|
||||
bHotPinkColorKey == rhs.bHotPinkColorKey;
|
||||
}
|
||||
|
||||
|
||||
RageTexture::RageTexture( RageTextureID name ):
|
||||
m_ID(name)
|
||||
|
||||
@@ -32,6 +32,7 @@ struct RageTextureID
|
||||
bool bHotPinkColorKey; /* #FF00FF */
|
||||
|
||||
bool operator< (const RageTextureID &rhs) const;
|
||||
bool operator== (const RageTextureID &rhs) const;
|
||||
|
||||
void Init();
|
||||
|
||||
|
||||
@@ -166,18 +166,15 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary )
|
||||
m_BannerWithFrame[0].SetXY( BANNER_X, BANNER_Y );
|
||||
this->AddChild( &m_BannerWithFrame[0] );
|
||||
|
||||
m_textStage.LoadFromFont( THEME->GetPathTo("Fonts","evaluation stage") );
|
||||
m_textStage.EnableShadow( false );
|
||||
m_textStage.SetXY( STAGE_X, STAGE_Y );
|
||||
m_textStage.SetZoom( 0.5f );
|
||||
m_textStage.SetText( GAMESTATE->GetStageText() + " Stage" );
|
||||
this->AddChild( &m_textStage );
|
||||
m_sprStage.Load( THEME->GetPathTo("Graphics","ScreenEvaluation "+GAMESTATE->GetStageText()) );
|
||||
m_sprStage.SetXY( STAGE_X, STAGE_Y );
|
||||
this->AddChild( &m_sprStage );
|
||||
|
||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
if( !GAMESTATE->IsPlayerEnabled(p) )
|
||||
continue; // skip
|
||||
m_DifficultyIcon[p].Load( THEME->GetPathTo("graphics","evaluation difficulty icons 1x5") );
|
||||
m_DifficultyIcon[p].Load( THEME->GetPathTo("graphics","ScreenEvaluation difficulty icons 1x5") );
|
||||
m_DifficultyIcon[p].SetFromNotes( (PlayerNumber)p, GAMESTATE->m_pCurNotes[p] );
|
||||
m_DifficultyIcon[p].SetXY( DIFFICULTY_ICON_X(p), DIFFICULTY_ICON_Y(p) );
|
||||
this->AddChild( &m_DifficultyIcon[p] );
|
||||
@@ -580,9 +577,9 @@ void ScreenEvaluation::TweenOnScreen()
|
||||
m_BannerWithFrame[i].SetTweenY( fOriginalY );
|
||||
}
|
||||
|
||||
fOriginalY = m_textStage.GetY();
|
||||
m_textStage.BeginTweening( MENU_ELEMENTS_TWEEN_TIME, Actor::TWEEN_ACCELERATE );
|
||||
m_textStage.SetTweenY( fOriginalY );
|
||||
fOriginalY = m_sprStage.GetY();
|
||||
m_sprStage.BeginTweening( MENU_ELEMENTS_TWEEN_TIME, Actor::TWEEN_ACCELERATE );
|
||||
m_sprStage.SetTweenY( fOriginalY );
|
||||
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
m_DifficultyIcon[p].FadeOn( 0, "foldy", MENU_ELEMENTS_TWEEN_TIME );
|
||||
@@ -675,7 +672,7 @@ void ScreenEvaluation::TweenOffScreen()
|
||||
for( i=0; i<MAX_SONGS_TO_SHOW; i++ )
|
||||
m_BannerWithFrame[i].FadeOff( 0, "foldy", MENU_ELEMENTS_TWEEN_TIME );
|
||||
|
||||
m_textStage.FadeOff( 0, "foldy", MENU_ELEMENTS_TWEEN_TIME );
|
||||
m_sprStage.FadeOff( 0, "foldy", MENU_ELEMENTS_TWEEN_TIME );
|
||||
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
m_DifficultyIcon[p].FadeOff( 0, "foldy", MENU_ELEMENTS_TWEEN_TIME );
|
||||
|
||||
@@ -48,7 +48,7 @@ protected:
|
||||
MenuElements m_Menu;
|
||||
|
||||
BannerWithFrame m_BannerWithFrame[MAX_SONGS_TO_SHOW];
|
||||
BitmapText m_textStage;
|
||||
Sprite m_sprStage;
|
||||
DifficultyIcon m_DifficultyIcon[NUM_PLAYERS];
|
||||
|
||||
// used in arcade
|
||||
|
||||
@@ -282,11 +282,8 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration )
|
||||
}
|
||||
|
||||
|
||||
m_textStageNumber.LoadFromFont( THEME->GetPathTo("Fonts","gameplay stage") );
|
||||
m_textStageNumber.EnableShadow( false );
|
||||
m_textStageNumber.SetXY( STAGE_X, STAGE_Y(bExtra) );
|
||||
m_textStageNumber.SetText( GAMESTATE->GetStageText() );
|
||||
m_textStageNumber.SetDiffuse( GAMESTATE->GetStageColor() );
|
||||
m_sprStage.Load( THEME->GetPathTo("Graphics","ScreenGameplay stage "+GAMESTATE->GetStageText()) );
|
||||
m_sprStage.SetXY( STAGE_X, STAGE_Y(bExtra) );
|
||||
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
{
|
||||
@@ -294,14 +291,14 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration )
|
||||
m_textCourseSongNumber[p].EnableShadow( false );
|
||||
m_textCourseSongNumber[p].SetXY( SONG_NUMBER_X(p), SONG_NUMBER_Y(p,bExtra) );
|
||||
m_textCourseSongNumber[p].SetText( "" );
|
||||
m_textCourseSongNumber[p].SetDiffuse( GAMESTATE->GetStageColor() ); // light blue
|
||||
m_textCourseSongNumber[p].SetDiffuse( RageColor(0,0.5f,1,1) ); // light blue
|
||||
}
|
||||
|
||||
switch( GAMESTATE->m_PlayMode )
|
||||
{
|
||||
case PLAY_MODE_ARCADE:
|
||||
case PLAY_MODE_BATTLE:
|
||||
this->AddChild( &m_textStageNumber );
|
||||
this->AddChild( &m_sprStage );
|
||||
break;
|
||||
case PLAY_MODE_NONSTOP:
|
||||
case PLAY_MODE_ONI:
|
||||
@@ -495,7 +492,6 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration )
|
||||
m_announcer1000Combo.Load( ANNOUNCER->GetPathTo("ScreenGameplay 1000 combo") );
|
||||
m_announcerComboStopped.Load( ANNOUNCER->GetPathTo("ScreenGameplay combo stopped") );
|
||||
m_soundAssistTick.Load( THEME->GetPathTo("Sounds","ScreenGameplay assist tick") );
|
||||
m_soundToasty.Load( THEME->GetPathTo("Sounds","ScreenGameplay toasty") );
|
||||
}
|
||||
|
||||
//
|
||||
@@ -607,8 +603,6 @@ void ScreenGameplay::LoadNextSong()
|
||||
break;
|
||||
}
|
||||
|
||||
m_textStageNumber.SetText( GAMESTATE->GetStageText() );
|
||||
|
||||
m_textSongOptions.SetText( GAMESTATE->m_SongOptions.GetString() );
|
||||
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
@@ -1296,7 +1290,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
if( PREFSMAN->m_bEasterEggs )
|
||||
{
|
||||
m_Toasty.StartTransitioning();
|
||||
m_soundToasty.Play();
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1548,10 +1541,10 @@ void ScreenGameplay::TweenOnScreen()
|
||||
unsigned i, p;
|
||||
|
||||
vector<Actor*> apActorsInLifeFrame;
|
||||
apActorsInLifeFrame.push_back( &m_sprLifeFrame );
|
||||
apActorsInLifeFrame.push_back( &m_sprLifeFrame );
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
apActorsInLifeFrame.push_back( m_pLifeMeter[p] );
|
||||
apActorsInLifeFrame.push_back( &m_textStageNumber );
|
||||
apActorsInLifeFrame.push_back( &m_sprStage );
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
apActorsInLifeFrame.push_back( &m_textCourseSongNumber[p] );
|
||||
for( i=0; i<apActorsInLifeFrame.size(); i++ )
|
||||
|
||||
@@ -99,7 +99,7 @@ protected:
|
||||
|
||||
Sprite m_sprLifeFrame;
|
||||
LifeMeter* m_pLifeMeter[NUM_PLAYERS];
|
||||
BitmapText m_textStageNumber;
|
||||
Sprite m_sprStage;
|
||||
BitmapText m_textCourseSongNumber[NUM_PLAYERS];
|
||||
|
||||
BPMDisplay m_BPMDisplay;
|
||||
@@ -167,7 +167,6 @@ protected:
|
||||
int m_iRowLastCrossed;
|
||||
|
||||
RageSound m_soundAssistTick;
|
||||
RageSound m_soundToasty;
|
||||
RageSound m_soundMusic;
|
||||
};
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ ScreenInstructions::ScreenInstructions()
|
||||
|
||||
m_sprHowToPlay.SetX( SCREEN_LEFT-SCREEN_WIDTH );
|
||||
m_sprHowToPlay.BeginTweening( 0.4f ); // sleep
|
||||
m_sprHowToPlay.BeginTweening( 0.6f, Actor::TWEEN_ACCELERATE );
|
||||
m_sprHowToPlay.BeginTweening( 0.6f, Actor::TWEEN_DECELERATE );
|
||||
m_sprHowToPlay.SetTweenX( CENTER_X );
|
||||
|
||||
SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","ScreenInstructions music") );
|
||||
@@ -147,6 +147,6 @@ void ScreenInstructions::MenuStart( PlayerNumber pn )
|
||||
m_Menu.StartTransitioning( SM_GoToNextScreen );
|
||||
|
||||
m_sprHowToPlay.StopTweening();
|
||||
m_sprHowToPlay.BeginTweening( 0.3f, Actor::TWEEN_DECELERATE );
|
||||
m_sprHowToPlay.BeginTweening( 0.3f, Actor::TWEEN_ACCELERATE );
|
||||
m_sprHowToPlay.SetTweenX( SCREEN_RIGHT+m_sprHowToPlay.GetUnzoomedWidth()/2 );
|
||||
}
|
||||
|
||||
@@ -25,21 +25,25 @@
|
||||
#include <map>
|
||||
|
||||
|
||||
#define FRAME_X THEME->GetMetricF("ScreenSelectGroup","FrameX")
|
||||
#define FRAME_Y THEME->GetMetricF("ScreenSelectGroup","FrameY")
|
||||
#define BANNER_X THEME->GetMetricF("ScreenSelectGroup","BannerX")
|
||||
#define BANNER_Y THEME->GetMetricF("ScreenSelectGroup","BannerY")
|
||||
#define BANNER_WIDTH THEME->GetMetricF("ScreenSelectGroup","BannerWidth")
|
||||
#define BANNER_HEIGHT THEME->GetMetricF("ScreenSelectGroup","BannerHeight")
|
||||
#define NUMBER_X THEME->GetMetricF("ScreenSelectGroup","NumberX")
|
||||
#define NUMBER_Y THEME->GetMetricF("ScreenSelectGroup","NumberY")
|
||||
#define EXPLANATION_X THEME->GetMetricF("ScreenSelectGroup","ExplanationX")
|
||||
#define EXPLANATION_Y THEME->GetMetricF("ScreenSelectGroup","ExplanationY")
|
||||
#define CONTENTS_X THEME->GetMetricF("ScreenSelectGroup","ContentsX")
|
||||
#define CONTENTS_Y THEME->GetMetricF("ScreenSelectGroup","ContentsY")
|
||||
#define HELP_TEXT THEME->GetMetric("ScreenSelectGroup","HelpText")
|
||||
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectGroup","TimerSeconds")
|
||||
#define NEXT_SCREEN THEME->GetMetric("ScreenSelectGroup","NextScreen")
|
||||
#define FRAME_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","FrameOnCommand")
|
||||
#define FRAME_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","FrameOffCommand")
|
||||
#define BANNER_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","BannerOnCommand")
|
||||
#define BANNER_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","BannerOffCommand")
|
||||
#define BANNER_WIDTH THEME->GetMetricF("ScreenSelectGroup","BannerWidth")
|
||||
#define BANNER_HEIGHT THEME->GetMetricF("ScreenSelectGroup","BannerHeight")
|
||||
#define NUMBER_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","NumberOnCommand")
|
||||
#define NUMBER_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","NumberOffCommand")
|
||||
#define EXPLANATION_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","ExplanationOnCommand")
|
||||
#define EXPLANATION_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","ExplanationOffCommand")
|
||||
#define CONTENTS_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","ContentsOnCommand")
|
||||
#define CONTENTS_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","ContentsOffCommand")
|
||||
#define MUSIC_LIST_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","MusicListOnCommand")
|
||||
#define MUSIC_LIST_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","MusicListOffCommand")
|
||||
#define GROUP_LIST_ON_COMMAND THEME->GetMetric ("ScreenSelectGroup","GroupListOnCommand")
|
||||
#define GROUP_LIST_OFF_COMMAND THEME->GetMetric ("ScreenSelectGroup","GroupListOnCommand")
|
||||
#define HELP_TEXT THEME->GetMetric ("ScreenSelectGroup","HelpText")
|
||||
#define TIMER_SECONDS THEME->GetMetricI("ScreenSelectGroup","TimerSeconds")
|
||||
#define NEXT_SCREEN THEME->GetMetric ("ScreenSelectGroup","NextScreen")
|
||||
|
||||
|
||||
ScreenSelectGroup::ScreenSelectGroup()
|
||||
@@ -68,11 +72,6 @@ ScreenSelectGroup::ScreenSelectGroup()
|
||||
// style (such as solo) are omitted. Bear with me!
|
||||
// -- dro kulix
|
||||
|
||||
// Chris:
|
||||
// This is excellent! I'm going to move the filtering of songs
|
||||
// that can't be played by current style to be the first action.
|
||||
// This will simply the code a bit, and fix a weird case that
|
||||
// causes a crash when there are duplicate song names.
|
||||
|
||||
vector<Song*> aAllSongs;
|
||||
SONGMAN->GetSongs( aAllSongs );
|
||||
@@ -124,33 +123,31 @@ ScreenSelectGroup::ScreenSelectGroup()
|
||||
m_bChosen = false;
|
||||
|
||||
m_sprExplanation.Load( THEME->GetPathTo("Graphics","ScreenSelectGroup explanation") );
|
||||
m_sprExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y );
|
||||
m_sprExplanation.Command( EXPLANATION_ON_COMMAND );
|
||||
this->AddChild( &m_sprExplanation );
|
||||
|
||||
// these guys get loaded SetSong and TweenToSong
|
||||
m_Banner.SetXY( BANNER_X, BANNER_Y );
|
||||
m_Banner.SetXY( 640, 240 );
|
||||
m_Banner.SetCroppedSize( BANNER_WIDTH, BANNER_HEIGHT );
|
||||
this->AddChild( &m_Banner );
|
||||
|
||||
m_sprFrame.Load( THEME->GetPathTo("Graphics","ScreenSelectGroup frame") );
|
||||
m_sprFrame.SetXY( FRAME_X, FRAME_Y );
|
||||
m_sprFrame.Command( FRAME_ON_COMMAND );
|
||||
this->AddChild( &m_sprFrame );
|
||||
|
||||
m_textNumber.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectGroup numbers") );
|
||||
m_textNumber.SetXY( NUMBER_X, NUMBER_Y );
|
||||
m_textNumber.SetHorizAlign( Actor::align_right );
|
||||
m_textNumber.EnableShadow( false );
|
||||
m_textNumber.Command( NUMBER_ON_COMMAND );
|
||||
this->AddChild( &m_textNumber );
|
||||
|
||||
m_sprContents.Load( THEME->GetPathTo("Graphics","ScreenSelectGroup contents") );
|
||||
m_sprContents.SetXY( CONTENTS_X, CONTENTS_Y );
|
||||
m_sprContents.Command( CONTENTS_ON_COMMAND );
|
||||
this->AddChild( &m_sprContents );
|
||||
|
||||
m_MusicList.Command( MUSIC_LIST_ON_COMMAND );
|
||||
this->AddChild( &m_MusicList );
|
||||
|
||||
for( i=0; i < asGroupNames.size(); ++i )
|
||||
m_GroupList.AddGroup( asGroupNames[i] );
|
||||
m_GroupList.DoneAddingGroups();
|
||||
m_GroupList.Load( asGroupNames );
|
||||
m_GroupList.Command( GROUP_LIST_ON_COMMAND );
|
||||
this->AddChild( &m_GroupList );
|
||||
|
||||
|
||||
@@ -285,48 +282,26 @@ void ScreenSelectGroup::MenuBack( PlayerNumber pn )
|
||||
|
||||
void ScreenSelectGroup::TweenOffScreen()
|
||||
{
|
||||
m_sprExplanation.BeginTweening( 0.8f );
|
||||
m_sprExplanation.BeginTweening( 0.5f, TWEEN_BOUNCE_BEGIN );
|
||||
m_sprExplanation.SetTweenX( EXPLANATION_X-400 );
|
||||
|
||||
Actor* pActorsInGroupInfoFrame[] = { &m_sprFrame, &m_Banner, &m_textNumber };
|
||||
const int iNumActorsInGroupInfoFrame = sizeof(pActorsInGroupInfoFrame) / sizeof(Actor*);
|
||||
for( int i=0; i<iNumActorsInGroupInfoFrame; i++ )
|
||||
{
|
||||
pActorsInGroupInfoFrame[i]->BeginTweening( 0.9f );
|
||||
pActorsInGroupInfoFrame[i]->BeginTweening( 0.5f, TWEEN_BOUNCE_BEGIN );
|
||||
pActorsInGroupInfoFrame[i]->SetTweenX( pActorsInGroupInfoFrame[i]->GetX()-400 );
|
||||
}
|
||||
|
||||
m_sprContents.BeginTweening( 0.7f );
|
||||
m_sprContents.BeginTweening( 0.5f, TWEEN_DECELERATE );
|
||||
m_sprContents.SetTweenY( CONTENTS_Y+400 );
|
||||
|
||||
m_sprExplanation.Command( EXPLANATION_OFF_COMMAND );
|
||||
m_sprFrame.Command( FRAME_OFF_COMMAND );
|
||||
m_Banner.Command( BANNER_OFF_COMMAND );
|
||||
m_textNumber.Command( NUMBER_OFF_COMMAND );
|
||||
m_sprContents.Command( CONTENTS_OFF_COMMAND );
|
||||
m_MusicList.Command( MUSIC_LIST_OFF_COMMAND );
|
||||
m_GroupList.Command( GROUP_LIST_OFF_COMMAND );
|
||||
m_MusicList.TweenOffScreen();
|
||||
m_GroupList.TweenOffScreen();
|
||||
}
|
||||
|
||||
void ScreenSelectGroup::TweenOnScreen()
|
||||
{
|
||||
m_sprExplanation.SetX( EXPLANATION_X-400 );
|
||||
m_sprExplanation.BeginTweening( 0.5f, TWEEN_BOUNCE_END );
|
||||
m_sprExplanation.SetTweenX( EXPLANATION_X );
|
||||
|
||||
Actor* pActorsInGroupInfoFrame[] = { &m_sprFrame, &m_Banner, &m_textNumber };
|
||||
const int iNumActorsInGroupInfoFrame = sizeof(pActorsInGroupInfoFrame) / sizeof(Actor*);
|
||||
for( int i=0; i<iNumActorsInGroupInfoFrame; i++ )
|
||||
{
|
||||
float fOriginalX = pActorsInGroupInfoFrame[i]->GetX();
|
||||
pActorsInGroupInfoFrame[i]->SetX( fOriginalX-400 );
|
||||
pActorsInGroupInfoFrame[i]->BeginTweening( 0.5f, TWEEN_BOUNCE_END );
|
||||
pActorsInGroupInfoFrame[i]->SetTweenX( fOriginalX );
|
||||
}
|
||||
|
||||
m_sprContents.SetY( CONTENTS_Y+400 );
|
||||
m_sprContents.BeginTweening( 0.5f, TWEEN_DECELERATE ); // sleep
|
||||
m_sprContents.BeginTweening( 0.5f, TWEEN_DECELERATE );
|
||||
m_sprContents.SetTweenY( CONTENTS_Y );
|
||||
|
||||
m_sprExplanation.Command( EXPLANATION_ON_COMMAND );
|
||||
m_sprFrame.Command( FRAME_ON_COMMAND );
|
||||
m_Banner.Command( BANNER_ON_COMMAND );
|
||||
m_textNumber.Command( NUMBER_ON_COMMAND );
|
||||
m_sprContents.Command( CONTENTS_ON_COMMAND );
|
||||
m_MusicList.Command( MUSIC_LIST_ON_COMMAND );
|
||||
m_GroupList.Command( GROUP_LIST_ON_COMMAND );
|
||||
m_MusicList.TweenOnScreen();
|
||||
m_GroupList.TweenOnScreen();
|
||||
}
|
||||
|
||||
@@ -110,10 +110,9 @@ ScreenSelectMusic::ScreenSelectMusic()
|
||||
m_BPMDisplay.SetZoom( BPM_ZOOM );
|
||||
this->AddChild( &m_BPMDisplay );
|
||||
|
||||
m_StageDisplay.SetZoom( STAGE_ZOOM );
|
||||
m_StageDisplay.SetXY( STAGE_X, STAGE_Y );
|
||||
m_StageDisplay.Refresh();
|
||||
this->AddChild( &m_StageDisplay );
|
||||
m_sprStage.Load( THEME->GetPathTo("Graphics","ScreenSelectMusic stage "+GAMESTATE->GetStageText()) );
|
||||
m_sprStage.SetXY( STAGE_X, STAGE_Y );
|
||||
this->AddChild( &m_sprStage );
|
||||
|
||||
m_sprCDTitle.Load( THEME->GetPathTo("Graphics","ScreenSelectMusic fallback cdtitle") );
|
||||
m_sprCDTitle.EnableShadow( false );
|
||||
@@ -262,7 +261,7 @@ void ScreenSelectMusic::TweenOnScreen()
|
||||
m_sprBannerFrame.FadeOn( 0, "bounce left", TWEEN_TIME );
|
||||
m_Banner.FadeOn( 0, "bounce left", TWEEN_TIME );
|
||||
m_BPMDisplay.FadeOn( 0, "bounce left", TWEEN_TIME );
|
||||
m_StageDisplay.FadeOn( 0, "bounce left", TWEEN_TIME );
|
||||
m_sprStage.FadeOn( 0, "bounce left", TWEEN_TIME );
|
||||
m_sprCDTitle.FadeOn( 0, "bounce left", TWEEN_TIME );
|
||||
|
||||
for( p=0; p<NUM_PLAYERS; p++ )
|
||||
@@ -305,7 +304,7 @@ void ScreenSelectMusic::TweenOffScreen()
|
||||
m_sprBannerFrame.FadeOff( 0, "bounce left", TWEEN_TIME );
|
||||
m_Banner.FadeOff( 0, "bounce left", TWEEN_TIME );
|
||||
m_BPMDisplay.FadeOff( 0, "bounce left", TWEEN_TIME );
|
||||
m_StageDisplay.FadeOff( 0, "bounce left", TWEEN_TIME );
|
||||
m_sprStage.FadeOff( 0, "bounce left", TWEEN_TIME );
|
||||
m_sprCDTitle.FadeOff( 0, "bounce left", TWEEN_TIME );
|
||||
|
||||
int p;
|
||||
@@ -812,7 +811,7 @@ void ScreenSelectMusic::AfterMusicChange()
|
||||
Song* pSong = m_MusicWheel.GetSelectedSong();
|
||||
GAMESTATE->m_pCurSong = pSong;
|
||||
|
||||
m_StageDisplay.Refresh();
|
||||
m_sprStage.Load( THEME->GetPathTo("Graphics","ScreenSelectMusic stage "+GAMESTATE->GetStageText()) );
|
||||
|
||||
int pn;
|
||||
for( pn = 0; pn < NUM_PLAYERS; ++pn)
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
#include "DifficultyIcon.h"
|
||||
#include "DifficultyMeter.h"
|
||||
#include "OptionIconRow.h"
|
||||
#include "StageDisplay.h"
|
||||
|
||||
|
||||
class ScreenSelectMusic : public Screen
|
||||
@@ -64,7 +63,7 @@ protected:
|
||||
Sprite m_sprBannerFrame;
|
||||
FadingBanner m_Banner;
|
||||
BPMDisplay m_BPMDisplay;
|
||||
StageDisplay m_StageDisplay;
|
||||
Sprite m_sprStage;
|
||||
Sprite m_sprCDTitle;
|
||||
Sprite m_sprDifficultyFrame[NUM_PLAYERS];
|
||||
DifficultyIcon m_DifficultyIcon[NUM_PLAYERS];
|
||||
|
||||
+497
-477
File diff suppressed because it is too large
Load Diff
@@ -10,10 +10,7 @@
|
||||
*/
|
||||
|
||||
#include "Screen.h"
|
||||
#include "ActorFrame.h"
|
||||
#include "Actor.h"
|
||||
#include "TransitionFade.h"
|
||||
#include "song.h"
|
||||
#include "TransitionBGAnimation.h"
|
||||
|
||||
class ScreenStage : public Screen
|
||||
{
|
||||
@@ -26,12 +23,15 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
// Common Elements
|
||||
|
||||
// Ez2 and Pump Stage screens should be re-implemented as BGAnimations
|
||||
|
||||
/*
|
||||
// Common Elements
|
||||
Sprite m_sprNumbers[4]; // up to 3 numbers and suffix
|
||||
Sprite m_sprStage; // "Stage", "Final Stage", etc.
|
||||
/* A frame for m_sprNumbers and m_sprStage, so they can be
|
||||
* manipulated as a unit. */
|
||||
// A frame for m_sprNumbers and m_sprStage, so they can be
|
||||
// manipulated as a unit.
|
||||
ActorFrame m_frameStage;
|
||||
|
||||
// Ez2 Elements
|
||||
@@ -48,8 +48,9 @@ private:
|
||||
Sprite m_sprSongBackground;
|
||||
|
||||
Quad m_quadMask; // write this into ZBuffer as a mask
|
||||
|
||||
TransitionFade m_Fade;
|
||||
*/
|
||||
TransitionBGAnimation m_In, m_Out;
|
||||
BGAnimation m_Background;
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
@@ -141,6 +141,9 @@ void Sprite::UnloadTexture()
|
||||
|
||||
bool Sprite::LoadFromTexture( RageTextureID ID )
|
||||
{
|
||||
if( m_pTexture && m_pTexture->GetID()==ID ) // don't do anything if this texture is already loaded
|
||||
return true;
|
||||
|
||||
UnloadTexture();
|
||||
|
||||
m_pTexture = TEXTUREMAN->LoadTexture( ID );
|
||||
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
virtual void SetState( int iNewState );
|
||||
|
||||
int GetNumStates() { return m_iNumStates; };
|
||||
CString GetTexturePath() { ASSERT(m_pTexture); return m_pTexture->GetID().filename; };
|
||||
CString GetTexturePath() { return m_pTexture==NULL ? "" : m_pTexture->GetID().filename; };
|
||||
|
||||
void SetCustomTextureRect( const RectF &new_texcoord_frect );
|
||||
void SetCustomTextureCoords( float fTexCoords[8] );
|
||||
|
||||
@@ -57,10 +57,10 @@ LINK32=link.exe
|
||||
# SUBTRACT LINK32 /verbose /pdb:none
|
||||
# Begin Special Build Tool
|
||||
IntDir=.\../Release6
|
||||
TargetDir=\stepmania
|
||||
TargetDir=\stepmania\stepmania
|
||||
TargetName=StepMania
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -92,10 +92,10 @@ LINK32=link.exe
|
||||
# SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib
|
||||
# Begin Special Build Tool
|
||||
IntDir=.\../Debug6
|
||||
TargetDir=\stepmania
|
||||
TargetDir=\stepmania\stepmania
|
||||
TargetName=StepMania-debug
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -1228,14 +1228,6 @@ SOURCE=.\SnapDisplay.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StageDisplay.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\StageDisplay.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\TextBanner.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
@@ -1196,12 +1196,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
<File
|
||||
RelativePath="SnapDisplay.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StageDisplay.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="StageDisplay.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\TextBanner.cpp">
|
||||
</File>
|
||||
|
||||
Reference in New Issue
Block a user