cache metrics

This commit is contained in:
Chris Danford
2005-02-28 17:18:01 +00:00
parent bc233162e5
commit f5fac27a1b
3 changed files with 150 additions and 56 deletions
+48 -1
View File
@@ -3300,17 +3300,21 @@ DancePointsZoom=2
[ScreenRanking]
Class=ScreenRanking
Fallback=ScreenAttract
NextScreen=ScreenUnlock
TimerSeconds=-1
StepsTypesToHide=dance-couple,dance-solo,pump-halfdouble
ShowCategories=1
CoursesToShow=Courses/DDRMAX/NaokiStandard.crs,Courses/DDRMAX/ParanoiaBrothers.crs,Courses/Samples/PlayersBest1-4.crs
ShowAllStepsScores=0
ShowAllCourseScores=0
DifficultiesToShow=easy,medium,hard,challenge
NextScreen=ScreenUnlock
SecondsPerPage=5
PageFadeSeconds=1.0
PercentDecimalPlaces=2
PercentTotalSize=5
NoScoreName=STEP
RowSpacingX=0
RowSpacingY=60
ColSpacingX=0
@@ -3320,6 +3324,9 @@ StepsTypeColor2=1,0.3,0.3,1
StepsTypeColor3=0.3,1,0.3,1
StepsTypeColor4=1.0,1,1.0,1
StepsTypeColor5=1.0,1,1.0,1
SongScoreRowsToShow=6
SongScoreSecondsPerRow=0.4
BannerX=SCREEN_CENTER_X+197
BannerY=SCREEN_CENTER_Y-196
BannerOnCommand=scaletoclipped,220,58;addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH
@@ -3344,6 +3351,7 @@ PageTypeX=SCREEN_CENTER_X+200
PageTypeY=SCREEN_CENTER_Y-180
PageTypeOnCommand=addx,SCREEN_WIDTH;sleep,0.0;bounceend,1;addx,-SCREEN_WIDTH
PageTypeOffCommand=sleep,0.0;linear,0.5;diffusealpha,0
BulletStartX=SCREEN_CENTER_X-220
BulletStartY=SCREEN_CENTER_Y-100
Bullet1OnCommand=addx,SCREEN_WIDTH;sleep,0.2;bounceend,1;addx,-SCREEN_WIDTH
@@ -3404,6 +3412,45 @@ Time2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0
Time3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0
Time4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0
Time5OffCommand=sleep,0.6;linear,0.5;diffusealpha,0
DifficultyStartX=SCREEN_CENTER_X-154
DifficultyY=SCREEN_CENTER_Y-209
Difficulty1OnCommand=
Difficulty2OnCommand=
Difficulty3OnCommand=
Difficulty4OnCommand=
Difficulty5OnCommand=
Difficulty1OffCommand=
Difficulty2OffCommand=
Difficulty3OffCommand=
Difficulty4OffCommand=
Difficulty5OffCommand=
CourseDifficultyStartX=SCREEN_CENTER_X-54
CourseDifficultyY=SCREEN_CENTER_Y-209
CourseDifficultyRegularOnCommand=diffusealpha,0;sleep,0.1;linear,0.3;diffusealpha,1
CourseDifficultyDifficultOnCommand=diffusealpha,0;sleep,0.1;linear,0.3;diffusealpha,1
CourseDifficultyRegularOffCommand=sleep,0.0;linear,0.3;diffusealpha,0
CourseDifficultyDifficultOffCommand=sleep,0.0;linear,0.3;diffusealpha,0
CourseListTitleOnCommand=diffuse,0,0,0,1;maxwidth,160
SongTitleOffsetX=-210
SongTitleOffsetY=0
SongTitleOnCommand=diffuse,0,0,0,1;maxwidth,160
SongTitleOffCommand=
SongFrameOffsetX=0
SongFrameOffsetY=0
SongFrameOnCommand=
SongFrameOffCommand=
StepsScoreOffsetStartX=-154
StepsScoreOffsetY=0
StepsScoreOnCommand=zoom,0.7
StepsScoreOffCommand=
CourseListFrameOffsetX=0
CourseListFrameOffsetY=0
CourseListFrameOnCommand=
CourseListFrameOffCommand=
CourseListScoreOffsetStartX=-54
CourseListScoreOffsetY=0
CourseListScoreOnCommand=zoom,0.7
CourseListScoreOffCommand=
[ScreenIntroMovie]
Class=ScreenAttract
+58 -55
View File
@@ -23,48 +23,8 @@ static const CString PageTypeNames[NUM_PAGE_TYPES] = {
XToString( PageType );
#define STEPS_TYPES_TO_HIDE THEME->GetMetric (m_sName,"StepsTypesToHide")
#define SHOW_CATEGORIES THEME->GetMetricB(m_sName,"ShowCategories")
#define SHOW_ALL_STEPS_SCORES THEME->GetMetricB(m_sName,"ShowAllStepsScores")
#define SHOW_ALL_COURSE_SCORES THEME->GetMetricB(m_sName,"ShowAllCourseScores")
#define DIFFICULTIES_TO_SHOW THEME->GetMetric (m_sName,"DifficultiesToShow")
#define COURSES_TO_SHOW PREFSMAN->m_sCoursesToShowRanking
#define SECONDS_PER_PAGE THEME->GetMetricF(m_sName,"SecondsPerPage")
#define PAGE_FADE_SECONDS THEME->GetMetricF(m_sName,"PageFadeSeconds")
#define PERCENT_DECIMAL_PLACES THEME->GetMetricI(m_sName,"PercentDecimalPlaces")
#define PERCENT_TOTAL_SIZE THEME->GetMetricI(m_sName,"PercentTotalSize")
#define NO_SCORE_NAME THEME->GetMetric (m_sName,"NoScoreName")
#define ROW_SPACING_X THEME->GetMetricF(m_sName,"RowSpacingX")
#define ROW_SPACING_Y THEME->GetMetricF(m_sName,"RowSpacingY")
#define COL_SPACING_X THEME->GetMetricF(m_sName,"ColSpacingX")
#define COL_SPACING_Y THEME->GetMetricF(m_sName,"ColSpacingY")
#define STEPS_TYPE_COLOR( i ) THEME->GetMetricC(m_sName,ssprintf("StepsTypeColor%d",i+1))
#define SONG_SCORE_ROWS_TO_SHOW THEME->GetMetricI(m_sName,"SongScoreRowsToShow")
#define SONG_SCORE_SECONDS_PER_ROW THEME->GetMetricF(m_sName,"SongScoreSecondsPerRow")
#define BULLET_START_X THEME->GetMetricF(m_sName,"BulletStartX")
#define BULLET_START_Y THEME->GetMetricF(m_sName,"BulletStartY")
#define NAME_START_X THEME->GetMetricF(m_sName,"NameStartX")
#define NAME_START_Y THEME->GetMetricF(m_sName,"NameStartY")
#define SCORE_START_X THEME->GetMetricF(m_sName,"ScoreStartX")
#define SCORE_START_Y THEME->GetMetricF(m_sName,"ScoreStartY")
#define POINTS_START_X THEME->GetMetricF(m_sName,"PointsStartX")
#define POINTS_START_Y THEME->GetMetricF(m_sName,"PointsStartY")
#define TIME_START_X THEME->GetMetricF(m_sName,"TimeStartX")
#define TIME_START_Y THEME->GetMetricF(m_sName,"TimeStartY")
#define DIFFICULTY_START_X THEME->GetMetricF(m_sName,"DifficultyStartX")
#define DIFFICULTY_Y THEME->GetMetricF(m_sName,"DifficultyY")
#define COURSE_DIFFICULTY_START_X THEME->GetMetricF(m_sName,"CourseDifficultyStartX")
#define COURSE_DIFFICULTY_Y THEME->GetMetricF(m_sName,"CourseDifficultyY")
#define SONG_TITLE_OFFSET_X THEME->GetMetricF(m_sName,"SongTitleOffsetX")
#define SONG_TITLE_OFFSET_Y THEME->GetMetricF(m_sName,"SongTitleOffsetY")
#define SONG_FRAME_OFFSET_X THEME->GetMetricF(m_sName,"SongFrameOffsetX")
#define SONG_FRAME_OFFSET_Y THEME->GetMetricF(m_sName,"SongFrameOffsetY")
#define STEPS_SCORE_OFFSET_START_X THEME->GetMetricF(m_sName,"StepsScoreOffsetStartX")
#define STEPS_SCORE_OFFSET_Y THEME->GetMetricF(m_sName,"StepsScoreOffsetY")
#define COURSE_SCORE_OFFSET_START_X THEME->GetMetricF(m_sName,"CourseListScoreOffsetStartX")
#define COURSE_SCORE_OFFSET_Y THEME->GetMetricF(m_sName,"CourseListScoreOffsetY")
#define COURSES_TO_SHOW2 THEME->GetMetric(m_sName,"CoursesToShow")
#define BULLET_X(row) (BULLET_START_X+ROW_SPACING_X*row)
@@ -87,8 +47,51 @@ const ScreenMessage SM_ShowNextPage = (ScreenMessage)(SM_User+67);
const ScreenMessage SM_HidePage = (ScreenMessage)(SM_User+68);
CString STEPS_TYPE_COLOR_NAME( size_t i ) { return ssprintf("StepsTypeColor%d",i+1); }
REGISTER_SCREEN_CLASS( ScreenRanking );
ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName )
ScreenRanking::ScreenRanking( CString sClassName ) : ScreenAttract( sClassName ),
STEPS_TYPES_TO_HIDE (m_sName,"StepsTypesToHide"),
SHOW_CATEGORIES (m_sName,"ShowCategories"),
SHOW_ALL_STEPS_SCORES (m_sName,"ShowAllStepsScores"),
SHOW_ALL_COURSE_SCORES (m_sName,"ShowAllCourseScores"),
DIFFICULTIES_TO_SHOW (m_sName,"DifficultiesToShow"),
SECONDS_PER_PAGE (m_sName,"SecondsPerPage"),
PAGE_FADE_SECONDS (m_sName,"PageFadeSeconds"),
PERCENT_DECIMAL_PLACES (m_sName,"PercentDecimalPlaces"),
PERCENT_TOTAL_SIZE (m_sName,"PercentTotalSize"),
NO_SCORE_NAME (m_sName,"NoScoreName"),
ROW_SPACING_X (m_sName,"RowSpacingX"),
ROW_SPACING_Y (m_sName,"RowSpacingY"),
COL_SPACING_X (m_sName,"ColSpacingX"),
COL_SPACING_Y (m_sName,"ColSpacingY"),
STEPS_TYPE_COLOR (m_sName,STEPS_TYPE_COLOR_NAME,5),
SONG_SCORE_ROWS_TO_SHOW (m_sName,"SongScoreRowsToShow"),
SONG_SCORE_SECONDS_PER_ROW (m_sName,"SongScoreSecondsPerRow"),
BULLET_START_X (m_sName,"BulletStartX"),
BULLET_START_Y (m_sName,"BulletStartY"),
NAME_START_X (m_sName,"NameStartX"),
NAME_START_Y (m_sName,"NameStartY"),
SCORE_START_X (m_sName,"ScoreStartX"),
SCORE_START_Y (m_sName,"ScoreStartY"),
POINTS_START_X (m_sName,"PointsStartX"),
POINTS_START_Y (m_sName,"PointsStartY"),
TIME_START_X (m_sName,"TimeStartX"),
TIME_START_Y (m_sName,"TimeStartY"),
DIFFICULTY_START_X (m_sName,"DifficultyStartX"),
DIFFICULTY_Y (m_sName,"DifficultyY"),
COURSE_DIFFICULTY_START_X (m_sName,"CourseDifficultyStartX"),
COURSE_DIFFICULTY_Y (m_sName,"CourseDifficultyY"),
SONG_TITLE_OFFSET_X (m_sName,"SongTitleOffsetX"),
SONG_TITLE_OFFSET_Y (m_sName,"SongTitleOffsetY"),
SONG_FRAME_OFFSET_X (m_sName,"SongFrameOffsetX"),
SONG_FRAME_OFFSET_Y (m_sName,"SongFrameOffsetY"),
STEPS_SCORE_OFFSET_START_X (m_sName,"StepsScoreOffsetStartX"),
STEPS_SCORE_OFFSET_Y (m_sName,"StepsScoreOffsetY"),
COURSE_SCORE_OFFSET_START_X (m_sName,"CourseListScoreOffsetStartX"),
COURSE_SCORE_OFFSET_Y (m_sName,"CourseListScoreOffsetY")
{
}
@@ -156,7 +159,7 @@ void ScreenRanking::Init()
// TODO: Think of a better way to handle this
if( PREFSMAN->m_sCoursesToShowRanking == "" )
PREFSMAN->m_sCoursesToShowRanking = THEME->GetMetric(m_sName,"CoursesToShow");
PREFSMAN->m_sCoursesToShowRanking = COURSES_TO_SHOW2;
}
}
@@ -543,7 +546,7 @@ float ScreenRanking::SetPage( PageToShow pts )
{
m_textNames[l].Reset();
m_textNames[l].SetXY( NAME_X(l), NAME_Y(l) );
m_textNames[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textNames[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
ON_COMMAND( m_textNames[l] );
}
@@ -552,7 +555,7 @@ float ScreenRanking::SetPage( PageToShow pts )
{
m_textScores[l].Reset();
m_textScores[l].SetXY( SCORE_X(l), SCORE_Y(l) );
m_textScores[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textScores[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
ON_COMMAND( m_textScores[l] );
}
@@ -561,7 +564,7 @@ float ScreenRanking::SetPage( PageToShow pts )
{
m_textPoints[l].Reset();
m_textPoints[l].SetXY( POINTS_X(l), POINTS_Y(l) );
m_textPoints[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textPoints[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
ON_COMMAND( m_textPoints[l] );
}
@@ -570,7 +573,7 @@ float ScreenRanking::SetPage( PageToShow pts )
{
m_textTime[l].Reset();
m_textTime[l].SetXY( TIME_X(l), TIME_Y(l) );
m_textTime[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textTime[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
ON_COMMAND( m_textTime[l] );
}
}
@@ -617,7 +620,7 @@ float ScreenRanking::SetPage( PageToShow pts )
pStepsScoreRowItems->m_textStepsScore[*dc_iter].Reset();
pStepsScoreRowItems->m_textStepsScore[*dc_iter].SetXY( STEPS_SCORE_OFFSET_X(*dc_iter), STEPS_SCORE_OFFSET_Y );
pStepsScoreRowItems->m_textStepsScore[*dc_iter].SetUseZBuffer( true );
pStepsScoreRowItems->m_textStepsScore[*dc_iter].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
pStepsScoreRowItems->m_textStepsScore[*dc_iter].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
ON_COMMAND( pStepsScoreRowItems->m_textStepsScore[*dc_iter] );
}
}
@@ -665,7 +668,7 @@ float ScreenRanking::SetPage( PageToShow pts )
pCourseScoreRowItem->m_textStepsScore[d].Reset();
pCourseScoreRowItem->m_textStepsScore[d].SetXY( COURSE_SCORE_OFFSET_X(d), COURSE_SCORE_OFFSET_Y );
pCourseScoreRowItem->m_textStepsScore[d].SetUseZBuffer( true );
pCourseScoreRowItem->m_textStepsScore[d].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
pCourseScoreRowItem->m_textStepsScore[d].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
ON_COMMAND( pCourseScoreRowItem->m_textStepsScore[d] );
}
}
@@ -703,8 +706,8 @@ float ScreenRanking::SetPage( PageToShow pts )
m_textNames[l].SetText( hs.GetDisplayName() );
m_textScores[l].SetText( ssprintf("%09i",hs.iScore) );
m_textNames[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textScores[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textNames[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
m_textScores[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
if( bRecentHighScore )
{
@@ -752,10 +755,10 @@ float ScreenRanking::SetPage( PageToShow pts )
m_textTime[l].SetText( "" );
m_textScores[l].SetText( ssprintf("%09d",hs.iScore) );
}
m_textNames[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textPoints[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textTime[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textScores[l].SetDiffuse( STEPS_TYPE_COLOR(pts.colorIndex) );
m_textNames[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
m_textPoints[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
m_textTime[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
m_textScores[l].SetDiffuse( STEPS_TYPE_COLOR.GetValue(pts.colorIndex) );
if( bRecentHighScore )
{
+44
View File
@@ -9,6 +9,7 @@
#include "ListDisplay.h"
#include "ActorUtil.h"
#include "Difficulty.h"
#include "ThemeMetric.h"
class Course;
class Song;
@@ -92,6 +93,49 @@ protected:
vector<PageToShow> m_vPagesToShow;
vector<Difficulty> m_vDiffsToShow;
ThemeMetric<CString> STEPS_TYPES_TO_HIDE;
ThemeMetric<bool> SHOW_CATEGORIES;
ThemeMetric<bool> SHOW_ALL_STEPS_SCORES;
ThemeMetric<bool> SHOW_ALL_COURSE_SCORES;
ThemeMetric<CString> DIFFICULTIES_TO_SHOW;
ThemeMetric<float> SECONDS_PER_PAGE;
ThemeMetric<float> PAGE_FADE_SECONDS;
ThemeMetric<int> PERCENT_DECIMAL_PLACES;
ThemeMetric<int> PERCENT_TOTAL_SIZE;
ThemeMetric<CString> NO_SCORE_NAME;
ThemeMetric<float> ROW_SPACING_X;
ThemeMetric<float> ROW_SPACING_Y;
ThemeMetric<float> COL_SPACING_X;
ThemeMetric<float> COL_SPACING_Y;
ThemeMetric1D<RageColor> STEPS_TYPE_COLOR;
ThemeMetric<int> SONG_SCORE_ROWS_TO_SHOW;
ThemeMetric<float> SONG_SCORE_SECONDS_PER_ROW;
ThemeMetric<float> BULLET_START_X;
ThemeMetric<float> BULLET_START_Y;
ThemeMetric<float> NAME_START_X;
ThemeMetric<float> NAME_START_Y;
ThemeMetric<float> SCORE_START_X;
ThemeMetric<float> SCORE_START_Y;
ThemeMetric<float> POINTS_START_X;
ThemeMetric<float> POINTS_START_Y;
ThemeMetric<float> TIME_START_X;
ThemeMetric<float> TIME_START_Y;
ThemeMetric<float> DIFFICULTY_START_X;
ThemeMetric<float> DIFFICULTY_Y;
ThemeMetric<float> COURSE_DIFFICULTY_START_X;
ThemeMetric<float> COURSE_DIFFICULTY_Y;
ThemeMetric<float> SONG_TITLE_OFFSET_X;
ThemeMetric<float> SONG_TITLE_OFFSET_Y;
ThemeMetric<float> SONG_FRAME_OFFSET_X;
ThemeMetric<float> SONG_FRAME_OFFSET_Y;
ThemeMetric<float> STEPS_SCORE_OFFSET_START_X;
ThemeMetric<float> STEPS_SCORE_OFFSET_Y;
ThemeMetric<float> COURSE_SCORE_OFFSET_START_X;
ThemeMetric<float> COURSE_SCORE_OFFSET_Y;
};
#endif