add character icons to SelectCharacter screen
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 718 B |
@@ -503,8 +503,8 @@ CropWidth=146
|
|||||||
InitCommand=horizalign,left;vertalign,top;shadowlength,2;zoom,0.5;
|
InitCommand=horizalign,left;vertalign,top;shadowlength,2;zoom,0.5;
|
||||||
|
|
||||||
[ScreenInstructions]
|
[ScreenInstructions]
|
||||||
#NextScreenArcade=ScreenSelectMusic
|
NextScreenArcade=ScreenSelectMusic
|
||||||
NextScreenArcade=ScreenSelectCharacter
|
#NextScreenArcade=ScreenSelectCharacter
|
||||||
NextScreenNonstop=ScreenSelectCourse
|
NextScreenNonstop=ScreenSelectCourse
|
||||||
NextScreenOni=ScreenSelectCourse
|
NextScreenOni=ScreenSelectCourse
|
||||||
NextScreenEndless=ScreenSelectCourse
|
NextScreenEndless=ScreenSelectCourse
|
||||||
@@ -2385,20 +2385,22 @@ TitleP1OnCommand=x,140;y,80;addx,-400;bounceend,0.5;addx,400
|
|||||||
TitleP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
TitleP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
||||||
TitleP2OnCommand=x,500;y,80;addx,400;bounceend,0.5;addx,-400
|
TitleP2OnCommand=x,500;y,80;addx,400;bounceend,0.5;addx,-400
|
||||||
TitleP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
TitleP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
||||||
CharacterP1OnCommand=x,140;y,180;addx,-400;bounceend,0.5;addx,400
|
CardP1OnCommand=x,140;y,180;addx,-400;bounceend,0.5;addx,400
|
||||||
CharacterP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
CardP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
||||||
CharacterP2OnCommand=x,500;y,180;addx,400;bounceend,0.5;addx,-400
|
CardP2OnCommand=x,500;y,180;addx,400;bounceend,0.5;addx,-400
|
||||||
CharacterP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
CardP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
||||||
CharacterArrowsP1OnCommand=x,140;y,180;diffusealpha,0;linear,0.3;diffusealpha,1
|
CardArrowsP1OnCommand=x,140;y,180;diffusealpha,0;linear,0.3;diffusealpha,1
|
||||||
CharacterArrowsP1OffCommand=linear,0.3;diffusealpha,0
|
CardArrowsP1OffCommand=linear,0.3;diffusealpha,0
|
||||||
CharacterArrowsP2OnCommand=x,500;y,180;diffusealpha,0;linear,0.3;diffusealpha,1
|
CardArrowsP2OnCommand=x,500;y,180;diffusealpha,0;linear,0.3;diffusealpha,1
|
||||||
CharacterArrowsP2OffCommand=linear,0.3;diffusealpha,0
|
CardArrowsP2OffCommand=linear,0.3;diffusealpha,0
|
||||||
ExplanationOnCommand=x,320;y,140;diffusealpha,0;linear,0.3;diffusealpha,1
|
ExplanationOnCommand=x,320;y,140;diffusealpha,0;linear,0.3;diffusealpha,1
|
||||||
ExplanationOffCommand=linear,0.3;diffusealpha,0
|
ExplanationOffCommand=linear,0.3;diffusealpha,0
|
||||||
AttackFrameP1OnCommand=x,140;y,380;addx,-400;bounceend,0.5;addx,400
|
AttackFrameP1OnCommand=x,140;y,380;addx,-400;bounceend,0.5;addx,400
|
||||||
AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
AttackFrameP1OffCommand=sleep,0.2;bouncebegin,0.5;addx,-400
|
||||||
AttackFrameP2OnCommand=x,500;y,380;addx,400;bounceend,0.5;addx,-400
|
AttackFrameP2OnCommand=x,500;y,380;addx,400;bounceend,0.5;addx,-400
|
||||||
AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
AttackFrameP2OffCommand=sleep,0.2;bouncebegin,0.5;addx,400
|
||||||
|
IconWidth=40
|
||||||
|
IconHeight=40
|
||||||
IconsP1StartX=128
|
IconsP1StartX=128
|
||||||
IconsP1StartY=356
|
IconsP1StartY=356
|
||||||
IconsP2StartX=488
|
IconsP2StartX=488
|
||||||
|
|||||||
@@ -21,18 +21,21 @@
|
|||||||
#include "GameState.h"
|
#include "GameState.h"
|
||||||
#include "Character.h"
|
#include "Character.h"
|
||||||
#include "PrefsManager.h"
|
#include "PrefsManager.h"
|
||||||
|
#include "RageTextureManager.h"
|
||||||
|
|
||||||
|
|
||||||
#define TITLE_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("TitleP%dOnCommand",p+1))
|
#define TITLE_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("TitleP%dOnCommand",p+1))
|
||||||
#define TITLE_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("TitleP%dOffCommand",p+1))
|
#define TITLE_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("TitleP%dOffCommand",p+1))
|
||||||
#define CHARACTER_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CharacterP%dOnCommand",p+1))
|
#define CARD_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CardP%dOnCommand",p+1))
|
||||||
#define CHARACTER_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CharacterP%dOffCommand",p+1))
|
#define CARD_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CardP%dOffCommand",p+1))
|
||||||
#define CHARACTER_ARROWS_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CharacterArrowsP%dOnCommand",p+1))
|
#define CARD_ARROWS_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CardArrowsP%dOnCommand",p+1))
|
||||||
#define CHARACTER_ARROWS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CharacterArrowsP%dOffCommand",p+1))
|
#define CARD_ARROWS_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("CardArrowsP%dOffCommand",p+1))
|
||||||
#define EXPLANATION_ON_COMMAND THEME->GetMetric ("ScreenSelectCharacter","ExplanationOnCommand")
|
#define EXPLANATION_ON_COMMAND THEME->GetMetric ("ScreenSelectCharacter","ExplanationOnCommand")
|
||||||
#define EXPLANATION_OFF_COMMAND THEME->GetMetric ("ScreenSelectCharacter","ExplanationOffCommand")
|
#define EXPLANATION_OFF_COMMAND THEME->GetMetric ("ScreenSelectCharacter","ExplanationOffCommand")
|
||||||
#define ATTACK_FRAME_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOnCommand",p+1))
|
#define ATTACK_FRAME_ON_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOnCommand",p+1))
|
||||||
#define ATTACK_FRAME_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOffCommand",p+1))
|
#define ATTACK_FRAME_OFF_COMMAND( p ) THEME->GetMetric ("ScreenSelectCharacter",ssprintf("AttackFrameP%dOffCommand",p+1))
|
||||||
|
#define ICON_WIDTH THEME->GetMetricF("ScreenSelectCharacter","IconWidth")
|
||||||
|
#define ICON_HEIGHT THEME->GetMetricF("ScreenSelectCharacter","IconHeight")
|
||||||
#define ICONS_START_X( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("IconsP%dStartX",p+1))
|
#define ICONS_START_X( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("IconsP%dStartX",p+1))
|
||||||
#define ICONS_START_Y( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("IconsP%dStartY",p+1))
|
#define ICONS_START_Y( p ) THEME->GetMetricF("ScreenSelectCharacter",ssprintf("IconsP%dStartY",p+1))
|
||||||
#define ICONS_SPACING_X THEME->GetMetricF("ScreenSelectCharacter","IconsSpacingX")
|
#define ICONS_SPACING_X THEME->GetMetricF("ScreenSelectCharacter","IconsSpacingX")
|
||||||
@@ -89,12 +92,18 @@ ScreenSelectCharacter::ScreenSelectCharacter() : Screen("ScreenSelectCharacter")
|
|||||||
|
|
||||||
this->AddChild( &m_sprTitle[p] );
|
this->AddChild( &m_sprTitle[p] );
|
||||||
|
|
||||||
m_sprCharacter[p].Command( CHARACTER_ON_COMMAND(p) );
|
m_sprCard[p].Command( CARD_ON_COMMAND(p) );
|
||||||
this->AddChild( &m_sprCharacter[p] );
|
this->AddChild( &m_sprCard[p] );
|
||||||
|
|
||||||
m_sprCharacterArrows[p].Load( THEME->GetPathToG("ScreenSelectCharacter character arrows") );
|
m_sprCardArrows[p].Load( THEME->GetPathToG("ScreenSelectCharacter card arrows") );
|
||||||
m_sprCharacterArrows[p].Command( CHARACTER_ARROWS_ON_COMMAND(p) );
|
m_sprCardArrows[p].Command( CARD_ARROWS_ON_COMMAND(p) );
|
||||||
this->AddChild( &m_sprCharacterArrows[p] );
|
this->AddChild( &m_sprCardArrows[p] );
|
||||||
|
|
||||||
|
for( unsigned i=0; i<MAX_CHAR_ICONS_TO_SHOW; i++ )
|
||||||
|
{
|
||||||
|
m_sprIcons[p][i].ScaleToClipped( ICON_WIDTH, ICON_HEIGHT );
|
||||||
|
this->AddChild( &m_sprIcons[p][i] );
|
||||||
|
}
|
||||||
|
|
||||||
if(GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE || GAMESTATE->m_PlayMode == PLAY_MODE_RAVE)
|
if(GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE || GAMESTATE->m_PlayMode == PLAY_MODE_RAVE)
|
||||||
{
|
{
|
||||||
@@ -207,7 +216,7 @@ void ScreenSelectCharacter::BeforeRowChange( PlayerNumber pn )
|
|||||||
{
|
{
|
||||||
case CHOOSING_CPU_CHARACTER:
|
case CHOOSING_CPU_CHARACTER:
|
||||||
case CHOOSING_HUMAN_CHARACTER:
|
case CHOOSING_HUMAN_CHARACTER:
|
||||||
m_sprCharacterArrows[pnAffected].SetEffectNone();
|
m_sprCardArrows[pnAffected].SetEffectNone();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -219,7 +228,7 @@ void ScreenSelectCharacter::AfterRowChange( PlayerNumber pn )
|
|||||||
{
|
{
|
||||||
case CHOOSING_CPU_CHARACTER:
|
case CHOOSING_CPU_CHARACTER:
|
||||||
case CHOOSING_HUMAN_CHARACTER:
|
case CHOOSING_HUMAN_CHARACTER:
|
||||||
m_sprCharacterArrows[pnAffected].SetEffectGlowShift();
|
m_sprCardArrows[pnAffected].SetEffectGlowShift();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -233,13 +242,28 @@ void ScreenSelectCharacter::AfterValueChange( PlayerNumber pn )
|
|||||||
case CHOOSING_HUMAN_CHARACTER:
|
case CHOOSING_HUMAN_CHARACTER:
|
||||||
{
|
{
|
||||||
Character* pChar = GAMESTATE->m_pCharacters[ m_iSelectedCharacter[pnAffected] ];
|
Character* pChar = GAMESTATE->m_pCharacters[ m_iSelectedCharacter[pnAffected] ];
|
||||||
m_sprCharacter[pnAffected].UnloadTexture();
|
m_sprCard[pnAffected].UnloadTexture();
|
||||||
m_sprCharacter[pnAffected].Load( pChar->GetCardPath() );
|
m_sprCard[pnAffected].Load( pChar->GetCardPath() );
|
||||||
|
|
||||||
if(GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE || GAMESTATE->m_PlayMode == PLAY_MODE_RAVE)
|
if(GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE || GAMESTATE->m_PlayMode == PLAY_MODE_RAVE)
|
||||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||||
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
|
for( int j=0; j<NUM_ATTACKS_PER_LEVEL; j++ )
|
||||||
m_AttackIcons[pnAffected][i][j].Load( pnAffected, pChar->m_sAttacks[i][j] );
|
m_AttackIcons[pnAffected][i][j].Load( pnAffected, pChar->m_sAttacks[i][j] );
|
||||||
|
|
||||||
|
unsigned c = m_iSelectedCharacter[pnAffected] - MAX_CHAR_ICONS_TO_SHOW/2;
|
||||||
|
WRAP( c, GAMESTATE->m_pCharacters.size() );
|
||||||
|
|
||||||
|
for( unsigned i=0; i<MAX_CHAR_ICONS_TO_SHOW; i++ )
|
||||||
|
{
|
||||||
|
c++;
|
||||||
|
WRAP( c, GAMESTATE->m_pCharacters.size() );
|
||||||
|
Character* pCharacter = GAMESTATE->m_pCharacters[c];
|
||||||
|
Banner &banner = m_sprIcons[pnAffected][i];
|
||||||
|
banner.LoadIconFromCharacter( pCharacter );
|
||||||
|
float fX = (pnAffected==PLAYER_1) ? 320-ICON_WIDTH : 320+ICON_WIDTH;
|
||||||
|
float fY = SCALE( i, 0.f, MAX_CHAR_ICONS_TO_SHOW-1.f, 240-(MAX_CHAR_ICONS_TO_SHOW/2*ICON_HEIGHT), 240+(MAX_CHAR_ICONS_TO_SHOW/2*ICON_HEIGHT));
|
||||||
|
banner.SetXY( fX, fY );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case FINISHED_CHOOSING:
|
case FINISHED_CHOOSING:
|
||||||
@@ -336,9 +360,9 @@ void ScreenSelectCharacter::TweenOffScreen()
|
|||||||
{
|
{
|
||||||
for( int p=0; p<NUM_PLAYERS; p++ )
|
for( int p=0; p<NUM_PLAYERS; p++ )
|
||||||
{
|
{
|
||||||
m_sprCharacter[p].Command( CHARACTER_OFF_COMMAND(p) );
|
m_sprCard[p].Command( CARD_OFF_COMMAND(p) );
|
||||||
m_sprTitle[p].Command( TITLE_OFF_COMMAND(p) );
|
m_sprTitle[p].Command( TITLE_OFF_COMMAND(p) );
|
||||||
m_sprCharacterArrows[p].Command( CHARACTER_ARROWS_OFF_COMMAND(p) );
|
m_sprCardArrows[p].Command( CARD_ARROWS_OFF_COMMAND(p) );
|
||||||
if(GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE || GAMESTATE->m_PlayMode == PLAY_MODE_RAVE)
|
if(GAMESTATE->m_PlayMode == PLAY_MODE_BATTLE || GAMESTATE->m_PlayMode == PLAY_MODE_RAVE)
|
||||||
{
|
{
|
||||||
m_sprAttackFrame[p].Command( ATTACK_FRAME_OFF_COMMAND(p) );
|
m_sprAttackFrame[p].Command( ATTACK_FRAME_OFF_COMMAND(p) );
|
||||||
|
|||||||
@@ -14,8 +14,11 @@
|
|||||||
#include "RandomSample.h"
|
#include "RandomSample.h"
|
||||||
#include "MenuElements.h"
|
#include "MenuElements.h"
|
||||||
#include "OptionIcon.h"
|
#include "OptionIcon.h"
|
||||||
|
#include "Banner.h"
|
||||||
|
|
||||||
|
|
||||||
|
#define MAX_CHAR_ICONS_TO_SHOW 11
|
||||||
|
|
||||||
class ScreenSelectCharacter : public Screen
|
class ScreenSelectCharacter : public Screen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -58,8 +61,10 @@ private:
|
|||||||
|
|
||||||
Sprite m_sprTitle[NUM_PLAYERS];
|
Sprite m_sprTitle[NUM_PLAYERS];
|
||||||
|
|
||||||
Sprite m_sprCharacter[NUM_PLAYERS];
|
Banner m_sprIcons[NUM_PLAYERS][MAX_CHAR_ICONS_TO_SHOW];
|
||||||
Sprite m_sprCharacterArrows[NUM_PLAYERS];
|
|
||||||
|
Sprite m_sprCard[NUM_PLAYERS];
|
||||||
|
Sprite m_sprCardArrows[NUM_PLAYERS];
|
||||||
|
|
||||||
Sprite m_sprAttackFrame[NUM_PLAYERS];
|
Sprite m_sprAttackFrame[NUM_PLAYERS];
|
||||||
OptionIcon m_AttackIcons[NUM_PLAYERS][NUM_ATTACK_LEVELS][NUM_ATTACKS_PER_LEVEL];
|
OptionIcon m_AttackIcons[NUM_PLAYERS][NUM_ATTACK_LEVELS][NUM_ATTACKS_PER_LEVEL];
|
||||||
|
|||||||
Reference in New Issue
Block a user