Added: SelectMode, allows players to cycle between double/halfdouble/single on pump song select screen. Todo: Make it work for versus/make it more 'metricable'
Added: More pump theme stuff Changed: Temporarily allowed Voodoo3 onto OGL renderer (DX looks horrid on my voodoo3 Bug?)
This commit is contained in:
@@ -3,7 +3,7 @@ NumEntries=3
|
|||||||
|
|
||||||
[0000]
|
[0000]
|
||||||
DriverRegex=Voodoo3|3dfx
|
DriverRegex=Voodoo3|3dfx
|
||||||
Renderers=d3d
|
Renderers=opengl,d3d
|
||||||
Width=640
|
Width=640
|
||||||
Height=480
|
Height=480
|
||||||
DisplayColor=16
|
DisplayColor=16
|
||||||
|
|||||||
@@ -22,6 +22,22 @@ WindowTitle=StepMania
|
|||||||
[Notes]
|
[Notes]
|
||||||
DefaultScrollDirection=0
|
DefaultScrollDirection=0
|
||||||
|
|
||||||
|
[ModeSwitcher]
|
||||||
|
PrevModeX=-200
|
||||||
|
PrevModeY=-170
|
||||||
|
PrevIconX=-200
|
||||||
|
PrevIconY=-120
|
||||||
|
PrevModeZoom=0.8
|
||||||
|
NextModeX=200
|
||||||
|
NextModeY=-170
|
||||||
|
NextIconX=200
|
||||||
|
NextIconY=-120
|
||||||
|
NextModeZoom=0.8
|
||||||
|
CurrentModeX=0
|
||||||
|
CurrentModeY=0
|
||||||
|
CurrentModeZoom=1
|
||||||
|
|
||||||
|
|
||||||
[ScreenTitleMenu]
|
[ScreenTitleMenu]
|
||||||
LogoHomeOnCommand=x,320;y,240;zoomy,0;sleep,0.5;bounceend,0.5;zoomy,1;glowshift;effectperiod,2.5;effectcolor1,1,1,1,0.1;effectcolor2,1,1,1,0.3
|
LogoHomeOnCommand=x,320;y,240;zoomy,0;sleep,0.5;bounceend,0.5;zoomy,1;glowshift;effectperiod,2.5;effectcolor1,1,1,1,0.1;effectcolor2,1,1,1,0.3
|
||||||
LogoOnCommand=x,320;y,240;zoomy,0;sleep,0.5;bounceend,0.5;zoomy,1;glowshift;effectperiod,2.5;effectcolor1,1,1,1,0.1;effectcolor2,1,1,1,0.3
|
LogoOnCommand=x,320;y,240;zoomy,0;sleep,0.5;bounceend,0.5;zoomy,1;glowshift;effectperiod,2.5;effectcolor1,1,1,1,0.1;effectcolor2,1,1,1,0.3
|
||||||
@@ -619,6 +635,7 @@ TimerSeconds=60
|
|||||||
SampleMusicDelay=0.25
|
SampleMusicDelay=0.25
|
||||||
|
|
||||||
[ScreenEz2SelectMusic]
|
[ScreenEz2SelectMusic]
|
||||||
|
UseModeSwitcher=0
|
||||||
BalloonX=492
|
BalloonX=492
|
||||||
BalloonY=140
|
BalloonY=140
|
||||||
BalloonOnCommand=linear,0.2;zoomy,1;bob;effectmagnitude,0,10,0
|
BalloonOnCommand=linear,0.2;zoomy,1;bob;effectmagnitude,0,10,0
|
||||||
|
|||||||
@@ -0,0 +1,407 @@
|
|||||||
|
#include "global.h"
|
||||||
|
/*
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
Class: ModeSwitcher
|
||||||
|
|
||||||
|
Desc: See header.
|
||||||
|
|
||||||
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||||
|
Andrew Livy
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ModeSwitcher.h"
|
||||||
|
#include "RageUtil.h"
|
||||||
|
#include "GameState.h"
|
||||||
|
#include "PrefsManager.h"
|
||||||
|
#include "SongManager.h"
|
||||||
|
#include "ThemeManager.h"
|
||||||
|
#include "RageSoundManager.h"
|
||||||
|
#include "StyleDef.h"
|
||||||
|
#include "song.h"
|
||||||
|
#include "ActorUtil.h"
|
||||||
|
|
||||||
|
#define PREVMODE_X THEME->GetMetricF("ModeSwitcher","PrevModeX")
|
||||||
|
#define PREVMODE_Y THEME->GetMetricF("ModeSwitcher","PrevModeY")
|
||||||
|
#define PREVMODE_ZOOM THEME->GetMetricF("ModeSwitcher","PrevModeZoom")
|
||||||
|
#define NEXTMODE_X THEME->GetMetricF("ModeSwitcher","NextModeX")
|
||||||
|
#define NEXTMODE_Y THEME->GetMetricF("ModeSwitcher","NextModeY")
|
||||||
|
#define NEXTMODE_ZOOM THEME->GetMetricF("ModeSwitcher","NextModeZoom")
|
||||||
|
#define NEXTICON_X THEME->GetMetricF("ModeSwitcher","NextIconX")
|
||||||
|
#define NEXTICON_Y THEME->GetMetricF("ModeSwitcher","NextIconY")
|
||||||
|
#define PREVICON_X THEME->GetMetricF("ModeSwitcher","PrevIconX")
|
||||||
|
#define PREVICON_Y THEME->GetMetricF("ModeSwitcher","PrevIconY")
|
||||||
|
#define CURRMODE_X THEME->GetMetricF("ModeSwitcher","CurrentModeX")
|
||||||
|
#define CURRMODE_Y THEME->GetMetricF("ModeSwitcher","CurrentModeY")
|
||||||
|
#define CURRMODE_ZOOM THEME->GetMetricF("ModeSwitcher","CurrentModeZoom")
|
||||||
|
|
||||||
|
ModeSwitcher::ModeSwitcher()
|
||||||
|
{
|
||||||
|
m_Nextmode.LoadFromFont( THEME->GetPathToF("ModeSwitcher stylenames") );
|
||||||
|
m_Nextmode.SetXY(NEXTMODE_X,NEXTMODE_Y);
|
||||||
|
m_Nextmode.SetZoom(NEXTMODE_ZOOM);
|
||||||
|
m_Nextmode.SetText(GetNextStyleName());
|
||||||
|
m_Prevmode.LoadFromFont( THEME->GetPathToF("ModeSwitcher stylenames") );
|
||||||
|
m_Prevmode.SetXY(PREVMODE_X,PREVMODE_Y);
|
||||||
|
m_Prevmode.SetText(GetPrevStyleName());
|
||||||
|
m_Prevmode.SetZoom(PREVMODE_ZOOM);
|
||||||
|
m_Stylename.LoadFromFont( THEME->GetPathToF("ModeSwitcher stylenames") );
|
||||||
|
m_Stylename.SetXY(CURRMODE_X,CURRMODE_Y);
|
||||||
|
m_Stylename.SetText(GetStyleName());
|
||||||
|
m_Stylename.SetZoom(CURRMODE_ZOOM);
|
||||||
|
|
||||||
|
|
||||||
|
m_NextIcon.Load( THEME->GetPathToG("ModeSwitcher nexticon"));
|
||||||
|
m_NextIcon.SetXY( NEXTICON_X, NEXTICON_Y);
|
||||||
|
m_PrevIcon.Load( THEME->GetPathToG("ModeSwitcher previcon"));
|
||||||
|
m_PrevIcon.SetXY( PREVICON_X, PREVICON_Y);
|
||||||
|
|
||||||
|
this->AddChild( &m_NextIcon );
|
||||||
|
this->AddChild( &m_PrevIcon );
|
||||||
|
|
||||||
|
this->AddChild(&m_Stylename);
|
||||||
|
this->AddChild(&m_Nextmode);
|
||||||
|
this->AddChild(&m_Prevmode);
|
||||||
|
}
|
||||||
|
|
||||||
|
ModeSwitcher::~ModeSwitcher()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CString ModeSwitcher::GetStyleName()
|
||||||
|
{
|
||||||
|
CString sStyleName;
|
||||||
|
CString sDiff[2];
|
||||||
|
|
||||||
|
|
||||||
|
switch(GAMESTATE->m_CurStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE: sStyleName = "SINGLE\n"; break;
|
||||||
|
case STYLE_PUMP_DOUBLE: sStyleName = "FULL-DOUBLE\n"; break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE: sStyleName = "HALFDOUBLE\n"; break;
|
||||||
|
default: sStyleName = ""; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0; i<2; i++)
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(i))
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_PreferredDifficulty[i])
|
||||||
|
{
|
||||||
|
case DIFFICULTY_BEGINNER: sDiff[i] = "Beginner\n"; break;
|
||||||
|
case DIFFICULTY_EASY:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Normal\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Light\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_MEDIUM:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Hard\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Standard\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_HARD:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Crazy\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Heavy\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_CHALLENGE: sDiff[i] = "Challenge\n"; break;
|
||||||
|
default: sDiff[i] = ""; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CString returnval;
|
||||||
|
returnval = sStyleName + sDiff[0] + sDiff[1];
|
||||||
|
return returnval;
|
||||||
|
}
|
||||||
|
|
||||||
|
CString ModeSwitcher::GetNextStyleName()
|
||||||
|
{
|
||||||
|
CString sStyleName[2];
|
||||||
|
CString sDiff[2];
|
||||||
|
|
||||||
|
for(int i=0; i<2; i++)
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(i))
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_PreferredDifficulty[i] != DIFFICULTY_CHALLENGE)
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_CurStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE: sStyleName[i] = "SINGLE\n"; break;
|
||||||
|
case STYLE_PUMP_DOUBLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||||
|
default: sStyleName[i] = ""; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(GAMESTATE->m_PreferredDifficulty[i])
|
||||||
|
{
|
||||||
|
case DIFFICULTY_BEGINNER:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Normal\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Light\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_EASY:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Hard\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Standard\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_MEDIUM:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Crazy\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Heavy\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_HARD: sDiff[i] = "Challenge\n"; break;
|
||||||
|
case DIFFICULTY_CHALLENGE: sDiff[i] = "Beginner\n"; break;
|
||||||
|
default: sDiff[i] = ""; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_CurStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||||
|
case STYLE_PUMP_DOUBLE: sStyleName[i] = "SINGLE\n"; break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||||
|
default: sStyleName[i] = ""; break;
|
||||||
|
}
|
||||||
|
sDiff[i] = "Beginner\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sStyleName[i] = "";
|
||||||
|
sDiff[i] = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CString returnval;
|
||||||
|
returnval = sStyleName[0] + sDiff[0] + sStyleName[1] + sDiff[1];
|
||||||
|
return returnval;
|
||||||
|
}
|
||||||
|
|
||||||
|
CString ModeSwitcher::GetPrevStyleName()
|
||||||
|
{
|
||||||
|
CString sStyleName[2];
|
||||||
|
CString sDiff[2];
|
||||||
|
|
||||||
|
for(int i=0; i<2; i++)
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(i))
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_PreferredDifficulty[i] != DIFFICULTY_BEGINNER)
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_CurStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE: sStyleName[i] = "SINGLE\n"; break;
|
||||||
|
case STYLE_PUMP_DOUBLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||||
|
default: sStyleName[i] = ""; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(GAMESTATE->m_PreferredDifficulty[i])
|
||||||
|
{
|
||||||
|
case DIFFICULTY_CHALLENGE:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Crazy\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Heavy\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_EASY: sDiff[i] = "Beginner\n"; break;
|
||||||
|
case DIFFICULTY_MEDIUM:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Normal\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Light\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_HARD:
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
sDiff[i] = "Hard\n"; break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sDiff[i] = "Standard\n"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case DIFFICULTY_BEGINNER: sDiff[i] = "Challenge\n"; break;
|
||||||
|
default: sDiff[i] = ""; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_CurStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE: sStyleName[i] = "FULL-DOUBLE\n"; break;
|
||||||
|
case STYLE_PUMP_DOUBLE: sStyleName[i] = "HALFDOUBLE\n"; break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE: sStyleName[i] = "SINGLE\n"; break;
|
||||||
|
default: sStyleName[i] = ""; break;
|
||||||
|
}
|
||||||
|
sDiff[i] = "Challenge\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sStyleName[i] = "";
|
||||||
|
sDiff[i] = "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CString returnval;
|
||||||
|
returnval = sStyleName[0] + sDiff[0] + sStyleName[1] + sDiff[1];
|
||||||
|
return returnval;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModeSwitcher::NextMode(int pn)
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_CurGame == GAME_PUMP)
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(pn))
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_PreferredDifficulty[pn] != DIFFICULTY_CHALLENGE)
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_PreferredDifficulty[pn])
|
||||||
|
{
|
||||||
|
case DIFFICULTY_BEGINNER: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_EASY; break;
|
||||||
|
case DIFFICULTY_EASY: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_MEDIUM; break;
|
||||||
|
case DIFFICULTY_MEDIUM: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_HARD; break;
|
||||||
|
case DIFFICULTY_HARD: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_CHALLENGE; break;
|
||||||
|
}
|
||||||
|
m_Stylename.SetText(GetStyleName());
|
||||||
|
m_Nextmode.SetText(GetNextStyleName());
|
||||||
|
m_Prevmode.SetText(GetPrevStyleName());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(PLAYER_1))
|
||||||
|
GAMESTATE->m_PreferredDifficulty[PLAYER_1] = DIFFICULTY_BEGINNER;
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(PLAYER_2))
|
||||||
|
GAMESTATE->m_PreferredDifficulty[PLAYER_2] = DIFFICULTY_BEGINNER;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int iStyle = GAMESTATE->m_CurStyle;
|
||||||
|
switch(iStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE:
|
||||||
|
{
|
||||||
|
GAMESTATE->m_CurStyle = STYLE_PUMP_HALFDOUBLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE:
|
||||||
|
{
|
||||||
|
GAMESTATE->m_CurStyle = STYLE_PUMP_DOUBLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case STYLE_PUMP_DOUBLE:
|
||||||
|
{
|
||||||
|
GAMESTATE->m_CurStyle = STYLE_PUMP_SINGLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m_Stylename.SetText(GetStyleName());
|
||||||
|
m_Nextmode.SetText(GetNextStyleName());
|
||||||
|
m_Prevmode.SetText(GetPrevStyleName());
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModeSwitcher::PrevMode(int pn)
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(pn))
|
||||||
|
{
|
||||||
|
if(GAMESTATE->m_PreferredDifficulty[pn] != DIFFICULTY_BEGINNER)
|
||||||
|
{
|
||||||
|
switch(GAMESTATE->m_PreferredDifficulty[pn])
|
||||||
|
{
|
||||||
|
case DIFFICULTY_CHALLENGE: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_HARD; break;
|
||||||
|
case DIFFICULTY_EASY: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_BEGINNER; break;
|
||||||
|
case DIFFICULTY_MEDIUM: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_EASY; break;
|
||||||
|
case DIFFICULTY_HARD: GAMESTATE->m_PreferredDifficulty[pn] = DIFFICULTY_MEDIUM; break;
|
||||||
|
}
|
||||||
|
m_Stylename.SetText(GetStyleName());
|
||||||
|
m_Nextmode.SetText(GetNextStyleName());
|
||||||
|
m_Prevmode.SetText(GetPrevStyleName());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(PLAYER_1))
|
||||||
|
GAMESTATE->m_PreferredDifficulty[PLAYER_1] = DIFFICULTY_CHALLENGE;
|
||||||
|
if(GAMESTATE->IsPlayerEnabled(PLAYER_2))
|
||||||
|
GAMESTATE->m_PreferredDifficulty[PLAYER_2] = DIFFICULTY_CHALLENGE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int iStyle = GAMESTATE->m_CurStyle;
|
||||||
|
switch(iStyle)
|
||||||
|
{
|
||||||
|
case STYLE_PUMP_SINGLE:
|
||||||
|
{
|
||||||
|
GAMESTATE->m_CurStyle = STYLE_PUMP_DOUBLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case STYLE_PUMP_HALFDOUBLE:
|
||||||
|
{
|
||||||
|
GAMESTATE->m_CurStyle = STYLE_PUMP_SINGLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case STYLE_PUMP_DOUBLE:
|
||||||
|
{
|
||||||
|
GAMESTATE->m_CurStyle = STYLE_PUMP_HALFDOUBLE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
m_Stylename.SetText(GetStyleName());
|
||||||
|
m_Nextmode.SetText(GetNextStyleName());
|
||||||
|
m_Prevmode.SetText(GetPrevStyleName());
|
||||||
|
}
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
#ifndef MODESWITCHER_H
|
||||||
|
#define MODESWITCHER_H
|
||||||
|
/*
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
Class: ModeSwitcher
|
||||||
|
|
||||||
|
Desc: A ModeSwitcher for ScreenSelectMode
|
||||||
|
|
||||||
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
||||||
|
Andrew Livy
|
||||||
|
-----------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "ActorFrame.h"
|
||||||
|
#include "Banner.h"
|
||||||
|
#include "Sprite.h"
|
||||||
|
#include "ScrollingList.h"
|
||||||
|
#include "SongManager.h"
|
||||||
|
#include "BitmapText.h"
|
||||||
|
#include "SongManager.h"
|
||||||
|
#include "PlayerOptions.h"
|
||||||
|
#include "SongOptions.h"
|
||||||
|
#include "BitmapText.h"
|
||||||
|
|
||||||
|
class ModeSwitcher : public ActorFrame
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ModeSwitcher();
|
||||||
|
~ModeSwitcher();
|
||||||
|
void NextMode(int pn);
|
||||||
|
void PrevMode(int pn);
|
||||||
|
|
||||||
|
private:
|
||||||
|
BitmapText m_Stylename;
|
||||||
|
BitmapText m_Nextmode;
|
||||||
|
BitmapText m_Prevmode;
|
||||||
|
Sprite m_NextIcon;
|
||||||
|
Sprite m_PrevIcon;
|
||||||
|
CString GetStyleName();
|
||||||
|
CString GetNextStyleName();
|
||||||
|
CString GetPrevStyleName();
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -429,6 +429,7 @@ void NoteData::LoadTransformed( NoteData* pOriginal, int iNewNumTracks, const in
|
|||||||
{
|
{
|
||||||
const int iOriginalTrack = iOriginalTrackToTakeFrom[t];
|
const int iOriginalTrack = iOriginalTrackToTakeFrom[t];
|
||||||
|
|
||||||
|
|
||||||
ASSERT( iOriginalTrack < pOriginal->m_iNumTracks );
|
ASSERT( iOriginalTrack < pOriginal->m_iNumTracks );
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,8 @@
|
|||||||
#define INFOFRAME_X THEME->GetMetricF("ScreenEz2SelectMusic","InfoFrameX")
|
#define INFOFRAME_X THEME->GetMetricF("ScreenEz2SelectMusic","InfoFrameX")
|
||||||
#define INFOFRAME_Y THEME->GetMetricF("ScreenEz2SelectMusic","InfoFrameY")
|
#define INFOFRAME_Y THEME->GetMetricF("ScreenEz2SelectMusic","InfoFrameY")
|
||||||
|
|
||||||
|
#define USE_MODE_SWITCHER THEME->GetMetricI("ScreenEz2SelectMusic","UseModeSwitcher")
|
||||||
|
|
||||||
const float TWEEN_TIME = 0.5f;
|
const float TWEEN_TIME = 0.5f;
|
||||||
|
|
||||||
const ScreenMessage SM_NoSongs = ScreenMessage(SM_User+3);
|
const ScreenMessage SM_NoSongs = ScreenMessage(SM_User+3);
|
||||||
@@ -178,6 +180,12 @@ ScreenEz2SelectMusic::ScreenEz2SelectMusic() : Screen("ScreenEz2SelectMusic")
|
|||||||
m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) );
|
m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) );
|
||||||
this->AddChild( &m_sprOptionsMessage );
|
this->AddChild( &m_sprOptionsMessage );
|
||||||
|
|
||||||
|
if(USE_MODE_SWITCHER == 1)
|
||||||
|
{
|
||||||
|
m_ModeSwitcher.SetXY(CENTER_X,CENTER_Y);
|
||||||
|
this->AddChild( &m_ModeSwitcher );
|
||||||
|
}
|
||||||
|
|
||||||
m_sprBalloon.SetName( "Balloon" );
|
m_sprBalloon.SetName( "Balloon" );
|
||||||
TEXTUREMAN->CacheTexture( THEME->GetPathToG("ScreenSelectMusic balloon long") );
|
TEXTUREMAN->CacheTexture( THEME->GetPathToG("ScreenSelectMusic balloon long") );
|
||||||
TEXTUREMAN->CacheTexture( THEME->GetPathToG("ScreenSelectMusic balloon marathon") );
|
TEXTUREMAN->CacheTexture( THEME->GetPathToG("ScreenSelectMusic balloon marathon") );
|
||||||
@@ -376,6 +384,15 @@ void ScreenEz2SelectMusic::TweenOffScreen()
|
|||||||
m_Guide.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
m_Guide.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
m_ChoiceListFrame.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
m_ChoiceListFrame.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
m_ChoiceListHighlight.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
m_ChoiceListHighlight.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
m_CurrentGroup.FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
for(int i=0; i<NUM_PLAYERS; i++)
|
||||||
|
{
|
||||||
|
m_SpeedIcon[i].FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
m_MirrorIcon[i].FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
m_ShuffleIcon[i].FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
m_HiddenIcon[i].FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
m_VanishIcon[i].FadeOff( 0, "fade", TWEEN_TIME*2 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -450,6 +467,15 @@ void ScreenEz2SelectMusic::DrawPrimitives()
|
|||||||
|
|
||||||
void ScreenEz2SelectMusic::EasierDifficulty( PlayerNumber pn )
|
void ScreenEz2SelectMusic::EasierDifficulty( PlayerNumber pn )
|
||||||
{
|
{
|
||||||
|
if(USE_MODE_SWITCHER == 1)
|
||||||
|
{
|
||||||
|
m_ModeSwitcher.PrevMode(pn);
|
||||||
|
MusicChanged();
|
||||||
|
m_MusicBannerWheel.StopBouncing();
|
||||||
|
SOUNDMAN->StopMusic();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if( !GAMESTATE->IsHumanPlayer(pn) )
|
if( !GAMESTATE->IsHumanPlayer(pn) )
|
||||||
return;
|
return;
|
||||||
if( m_arrayNotes[pn].empty() )
|
if( m_arrayNotes[pn].empty() )
|
||||||
@@ -477,6 +503,15 @@ void ScreenEz2SelectMusic::EasierDifficulty( PlayerNumber pn )
|
|||||||
|
|
||||||
void ScreenEz2SelectMusic::HarderDifficulty( PlayerNumber pn )
|
void ScreenEz2SelectMusic::HarderDifficulty( PlayerNumber pn )
|
||||||
{
|
{
|
||||||
|
if(USE_MODE_SWITCHER == 1)
|
||||||
|
{
|
||||||
|
m_ModeSwitcher.NextMode(pn);
|
||||||
|
MusicChanged();
|
||||||
|
m_MusicBannerWheel.StopBouncing();
|
||||||
|
SOUNDMAN->StopMusic();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if( !GAMESTATE->IsHumanPlayer(pn
|
if( !GAMESTATE->IsHumanPlayer(pn
|
||||||
) )
|
) )
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#include "DifficultyMeter.h"
|
#include "DifficultyMeter.h"
|
||||||
#include "DifficultyRating.h"
|
#include "DifficultyRating.h"
|
||||||
#include "RageTimer.h"
|
#include "RageTimer.h"
|
||||||
|
#include "ModeSwitcher.h"
|
||||||
|
|
||||||
class ScreenEz2SelectMusic : public Screen
|
class ScreenEz2SelectMusic : public Screen
|
||||||
{
|
{
|
||||||
@@ -50,7 +51,7 @@ protected:
|
|||||||
|
|
||||||
void TweenOffScreen();
|
void TweenOffScreen();
|
||||||
|
|
||||||
|
ModeSwitcher m_ModeSwitcher;
|
||||||
Sprite m_ChoiceListFrame;
|
Sprite m_ChoiceListFrame;
|
||||||
Sprite m_ChoiceListHighlight;
|
Sprite m_ChoiceListHighlight;
|
||||||
Sprite m_Guide;
|
Sprite m_Guide;
|
||||||
|
|||||||
Reference in New Issue
Block a user