From 214c2b67afd9bdeb3fba01b01740f4a978a678a7 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 30 Mar 2003 18:12:57 +0000 Subject: [PATCH] clean up Fonts and Numbers names --- .../default/Fonts/Common Normal 16x16.png | Bin 0 -> 29025 bytes .../Themes/default/Fonts/Common Normal.ini | 267 +++++++++++++++++ .../default/Fonts/Common default 2x1.png | Bin 0 -> 731 bytes .../Themes/default/Fonts/Common default.ini | 15 + .../default/Fonts/GroupList label.redir | 2 +- .../ScreenEz2SelectMusic difficulty.redir | 1 + .../Fonts/ScreenOptions explanation.redir | 1 + .../default/Fonts/ScreenOptions item.redir | 1 + .../default/Fonts/ScreenOptions title.redir | 1 + .../Fonts/ScreenTitleMenu choices.redir | 1 + .../default/Fonts/ScreenTitleMenu help.redir | 1 + .../Themes/default/Fonts/_shared1 16x16.png | Bin 0 -> 19690 bytes stepmania/Themes/default/Fonts/_shared1.ini | 261 +++++++++++++++++ .../Themes/default/Fonts/_shared2 16x16.png | Bin 0 -> 43043 bytes .../default/Fonts/_shared2 [extras].png | Bin 0 -> 437 bytes stepmania/Themes/default/Fonts/_shared2.ini | 276 ++++++++++++++++++ .../Graphics/MenuElements icon solo 2x1.png | Bin 2482 -> 2542 bytes .../Graphics/MenuElements icon versus 2x1.png | Bin 2360 -> 2398 bytes .../ScreenSelectMusicEz2 mirroricon.png | Bin 1038 -> 1436 bytes .../ScreenSelectMusicEz2 shuffleicon.png | Bin 1030 -> 1415 bytes .../ScreenSelectMusicEz2 speedicon.png | Bin 1116 -> 1547 bytes stepmania/Themes/default/metrics.ini | 262 ++++++++--------- stepmania/src/ActiveItemList.cpp | 2 +- stepmania/src/BPMDisplay.cpp | 4 +- stepmania/src/Combo.cpp | 2 +- stepmania/src/CourseEntryDisplay.cpp | 4 +- stepmania/src/EditMenu.cpp | 2 +- stepmania/src/Font.cpp | 2 +- stepmania/src/JukeboxMenu.cpp | 2 +- stepmania/src/LifeMeterBattery.cpp | 4 +- stepmania/src/LyricDisplay.cpp | 2 +- stepmania/src/MenuElements.h | 4 +- stepmania/src/MenuTimer.cpp | 4 +- stepmania/src/NoteField.cpp | 2 +- stepmania/src/ScoreDisplayNormal.cpp | 2 +- stepmania/src/ScoreDisplayOni.cpp | 2 +- stepmania/src/ScreenEdit.cpp | 4 +- stepmania/src/ScreenEditMenu.cpp | 2 +- stepmania/src/ScreenEvaluation.cpp | 18 +- stepmania/src/ScreenEz2SelectMusic.cpp | 2 +- stepmania/src/ScreenEz2SelectMusic.h | 2 +- stepmania/src/ScreenGameplay.cpp | 28 +- stepmania/src/ScreenGameplay.h | 4 +- stepmania/src/ScreenJukeboxMenu.cpp | 2 +- stepmania/src/ScreenLogo.cpp | 4 +- stepmania/src/ScreenManager.cpp | 10 +- stepmania/src/ScreenMapControllers.cpp | 4 +- stepmania/src/ScreenMiniMenu.cpp | 6 +- stepmania/src/ScreenNameEntry.cpp | 4 +- stepmania/src/ScreenOptions.cpp | 8 +- stepmania/src/ScreenPlayerOptions.cpp | 52 +--- stepmania/src/ScreenPlayerOptions.h | 4 - stepmania/src/ScreenPrompt.cpp | 2 +- stepmania/src/ScreenRanking.cpp | 12 +- stepmania/src/ScreenSelectCourse.cpp | 8 +- stepmania/src/ScreenSelectGroup.cpp | 2 +- stepmania/src/ScreenSelectMusic.cpp | 4 +- stepmania/src/ScreenSelectStyle.cpp | 2 +- stepmania/src/ScreenTestSound.cpp | 4 +- stepmania/src/ScreenTextEntry.cpp | 2 +- stepmania/src/ScreenTitleMenu.cpp | 4 +- stepmania/src/StepMania.dsp | 20 +- stepmania/src/StepMania.vcproj | 12 +- stepmania/src/TextBanner.cpp | 6 +- stepmania/src/TransitionOniFade.cpp | 2 +- stepmania/src/smpackage/onvertThemeDlg.cpp | 39 ++- stepmania/src/smpackage/smpackage.clw | 4 +- stepmania/src/smpackage/smpackage.rc | 2 +- 68 files changed, 1090 insertions(+), 316 deletions(-) create mode 100644 stepmania/Themes/default/Fonts/Common Normal 16x16.png create mode 100644 stepmania/Themes/default/Fonts/Common Normal.ini create mode 100644 stepmania/Themes/default/Fonts/Common default 2x1.png create mode 100644 stepmania/Themes/default/Fonts/Common default.ini create mode 100644 stepmania/Themes/default/Fonts/ScreenEz2SelectMusic difficulty.redir create mode 100644 stepmania/Themes/default/Fonts/ScreenOptions explanation.redir create mode 100644 stepmania/Themes/default/Fonts/ScreenOptions item.redir create mode 100644 stepmania/Themes/default/Fonts/ScreenOptions title.redir create mode 100644 stepmania/Themes/default/Fonts/ScreenTitleMenu choices.redir create mode 100644 stepmania/Themes/default/Fonts/ScreenTitleMenu help.redir create mode 100644 stepmania/Themes/default/Fonts/_shared1 16x16.png create mode 100644 stepmania/Themes/default/Fonts/_shared1.ini create mode 100644 stepmania/Themes/default/Fonts/_shared2 16x16.png create mode 100644 stepmania/Themes/default/Fonts/_shared2 [extras].png create mode 100644 stepmania/Themes/default/Fonts/_shared2.ini diff --git a/stepmania/Themes/default/Fonts/Common Normal 16x16.png b/stepmania/Themes/default/Fonts/Common Normal 16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..0f76a20dc51255f113c3bf6121e26f7960843f50 GIT binary patch literal 29025 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 literal 0 HcmV?d00001 diff --git a/stepmania/Themes/default/Fonts/Common Normal.ini b/stepmania/Themes/default/Fonts/Common Normal.ini new file mode 100644 index 0000000000..cfe1c547cc --- /dev/null +++ b/stepmania/Themes/default/Fonts/Common Normal.ini @@ -0,0 +1,267 @@ +# Up to 192 hand-realigned; over 128 rushed (boring) and untested, +# characters over 192 probably too wide. + +[Char Widths] +# This is to put a little space around glyphs. Make sure this is +# an even number, or it'll throw the glyphs off-center. + +AddToAllWidths=2 +Top=5 +Baseline=24 +LineSpacing=28 +0=15 +1=15 +2=15 +3=15 +4=15 +5=15 +6=15 +7=15 +8=15 +9=104 +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=4 +33=4 +34=10 +35=15 +36=12 +37=22 +38=18 +39=4 +40=7 +41=7 +42=8 +43=14 +44=6 +45=8 +46=6 +47=8 +48=13 +49=9 +50=13 +51=13 +52=14 +53=13 +54=13 +55=13 +56=13 +57=13 +58=8 +59=8 +60=13 +61=14 +62=13 +63=14 +64=26 +65=19 +66=17 +67=18 +68=17 +69=15 +70=14 +71=18 +72=16 +73=4 +74=13 +75=18 +76=14 +77=19 +78=16 +79=19 +80=15 +81=19 +82=18 +83=16 +84=16 +85=16 +86=17 +87=25 +88=16 +89=18 +90=16 +91=9 +92=8 +93=9 +94=16 +95=15 +96=9 +97=13 +98=14 +99=13 +100=14 +101=13 +102=9 +103=14 +104=13 +105=4 +106=7 +107=12 +108=4 +109=22 +110=13 +111=15 +112=14 +113=14 +114=9 +115=13 +116=9 +117=13 +118=13 +119=21 +120=13 +121=15 +122=12 +123=11 +124=7 +125=11 +126=16 +127=15 +128=15 +129=9 +130=6 +131=15 +132=10 +133=24 +134=14 +135=14 +136=9 +137=28 +138=16 +139=9 +140=25 +141=9 +142=16 +143=9 +144=9 +145=6 +146=6 +147=13 +148=13 +149=9 +150=15 +151=27 +152=9 +153=19 +154=13 +155=9 +156=23 +157=9 +158=12 +159=19 +160=8 +161=6 +162=13 +163=14 +164=14 +165=14 +166=5 +167=13 +168=9 +169=20 +170=10 +171=13 +172=14 +173=8 +174=20 +175=15 +176=8 +177=14 +178=8 +179=8 +180=7 +181=13 +182=14 +183=6 +184=7 +185=7 +186=9 +187=13 +188=22 +189=21 +190=23 +191=14 +192=19 +193=19 +194=19 +195=19 +196=19 +197=19 +198=27 +199=20 +200=18 +201=18 +202=18 +203=18 +204=8 +205=8 +206=8 +207=8 +208=20 +209=20 +210=21 +211=21 +212=21 +213=21 +214=21 +215=16 +216=21 +217=20 +218=20 +219=20 +220=20 +221=18 +222=18 +223=17 +224=15 +225=15 +226=15 +227=15 +228=15 +229=15 +230=24 +231=15 +232=15 +233=15 +234=15 +235=15 +236=8 +237=8 +238=8 +239=8 +240=17 +241=17 +242=17 +243=17 +244=17 +245=17 +246=17 +247=15 +248=17 +249=17 +250=17 +251=17 +252=17 +253=15 +254=17 +255=15 diff --git a/stepmania/Themes/default/Fonts/Common default 2x1.png b/stepmania/Themes/default/Fonts/Common default 2x1.png new file mode 100644 index 0000000000000000000000000000000000000000..ecb7c9aed67b390fefdb92720eed1888fc33a460 GIT binary patch literal 731 zcmV<10wn#3P)004R=004l4008;_004mL004C`008P>0026e000+nl3&F}00006 zVoOIv0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_00KWrL_t(&-tC#ON&`U< zhUXE?8_0Eb!o7e+9>6BORcgDmmg%fxBZ45L(8?-8z)mh->;dcnY&QTRvvFtxxGRs%%kZL#`{E=i zfP!+9QMtJ6(Yi{cG_D04=5m^k}>Yd{_4X z)c$wp)9}BGYugmDZa*CBJJSV_jLYpIc^KjH!=aGS0N@X7f>1z|HrN#C0(O~%1c2mo zD%=Jb697sh7JvzLYv#8V0Bo~_L52W;Bqc6TLy{6e{Y%~8X?&&%K$1KMe4uf^5E1~4 zQR)Cb@^1scmAokX7y#h%u{J{Xc9$hD_WjTRkX+MD&?b3b0AuQ{^W`3P5af6xOy44rnO;;V?)jL~4_jS!w~m zM95ct2HNChGJtFdJODIlZ<@B`G)2_;Z*(ZT=# N002ovPDHLkV1m1pGkX94 literal 0 HcmV?d00001 diff --git a/stepmania/Themes/default/Fonts/Common default.ini b/stepmania/Themes/default/Fonts/Common default.ini new file mode 100644 index 0000000000..45b346df2a --- /dev/null +++ b/stepmania/Themes/default/Fonts/Common default.ini @@ -0,0 +1,15 @@ +# Default font. This font is loaded behind every other font. +[main] +0=18 +1=18 + +# The default font must define the default glyph; it's used to display +# missing characters. (It can be overridden by fonts, too, like any +# other character.) +map default=0 +map invalid=1 + +# Load the default 16-pixel glyphs. They can be overridden by fonts +# later. +import=_16px fonts + diff --git a/stepmania/Themes/default/Fonts/GroupList label.redir b/stepmania/Themes/default/Fonts/GroupList label.redir index 31dcc35bf5..ca24092074 100644 --- a/stepmania/Themes/default/Fonts/GroupList label.redir +++ b/stepmania/Themes/default/Fonts/GroupList label.redir @@ -1 +1 @@ -normal +Common normal diff --git a/stepmania/Themes/default/Fonts/ScreenEz2SelectMusic difficulty.redir b/stepmania/Themes/default/Fonts/ScreenEz2SelectMusic difficulty.redir new file mode 100644 index 0000000000..412e9ed7df --- /dev/null +++ b/stepmania/Themes/default/Fonts/ScreenEz2SelectMusic difficulty.redir @@ -0,0 +1 @@ +header1 diff --git a/stepmania/Themes/default/Fonts/ScreenOptions explanation.redir b/stepmania/Themes/default/Fonts/ScreenOptions explanation.redir new file mode 100644 index 0000000000..ca24092074 --- /dev/null +++ b/stepmania/Themes/default/Fonts/ScreenOptions explanation.redir @@ -0,0 +1 @@ +Common normal diff --git a/stepmania/Themes/default/Fonts/ScreenOptions item.redir b/stepmania/Themes/default/Fonts/ScreenOptions item.redir new file mode 100644 index 0000000000..ca24092074 --- /dev/null +++ b/stepmania/Themes/default/Fonts/ScreenOptions item.redir @@ -0,0 +1 @@ +Common normal diff --git a/stepmania/Themes/default/Fonts/ScreenOptions title.redir b/stepmania/Themes/default/Fonts/ScreenOptions title.redir new file mode 100644 index 0000000000..ba41a9d72b --- /dev/null +++ b/stepmania/Themes/default/Fonts/ScreenOptions title.redir @@ -0,0 +1 @@ +_shared2 diff --git a/stepmania/Themes/default/Fonts/ScreenTitleMenu choices.redir b/stepmania/Themes/default/Fonts/ScreenTitleMenu choices.redir new file mode 100644 index 0000000000..7cd3c022f4 --- /dev/null +++ b/stepmania/Themes/default/Fonts/ScreenTitleMenu choices.redir @@ -0,0 +1 @@ +_shared1 \ No newline at end of file diff --git a/stepmania/Themes/default/Fonts/ScreenTitleMenu help.redir b/stepmania/Themes/default/Fonts/ScreenTitleMenu help.redir new file mode 100644 index 0000000000..ca24092074 --- /dev/null +++ b/stepmania/Themes/default/Fonts/ScreenTitleMenu help.redir @@ -0,0 +1 @@ +Common normal diff --git a/stepmania/Themes/default/Fonts/_shared1 16x16.png b/stepmania/Themes/default/Fonts/_shared1 16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..7c1339bb3cf07d6e49f90e7bf7468ccb117afba6 GIT binary patch literal 19690 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 B1-bwL literal 0 HcmV?d00001 diff --git a/stepmania/Themes/default/Fonts/_shared1.ini b/stepmania/Themes/default/Fonts/_shared1.ini new file mode 100644 index 0000000000..5d360e5365 --- /dev/null +++ b/stepmania/Themes/default/Fonts/_shared1.ini @@ -0,0 +1,261 @@ +[Char Widths] +AddToAllWidths=3 +Top=6 +Baseline=21 +LineSpacing=24 +0=10 +1=10 +2=10 +3=10 +4=10 +5=10 +6=10 +7=10 +8=10 +9=136 +10=0 +11=10 +12=10 +13=0 +14=10 +15=10 +16=10 +17=10 +18=10 +19=10 +20=10 +21=10 +22=10 +23=10 +24=10 +25=10 +26=10 +27=10 +28=0 +29=0 +30=0 +31=0 +32=14 +33=7 +34=13 +35=19 +36=19 +37=26 +38=19 +39=6 +40=13 +41=13 +42=12 +43=19 +44=6 +45=19 +46=7 +47=19 +48=19 +49=6 +50=19 +51=19 +52=19 +53=19 +54=19 +55=19 +56=19 +57=19 +58=7 +59=7 +60=13 +61=19 +62=13 +63=19 +64=26 +65=19 +66=19 +67=19 +68=19 +69=19 +70=19 +71=19 +72=19 +73=19 +74=19 +75=19 +76=19 +77=26 +78=19 +79=19 +80=19 +81=19 +82=19 +83=19 +84=19 +85=19 +86=19 +87=26 +88=19 +89=19 +90=19 +91=13 +92=19 +93=13 +94=13 +95=19 +96=6 +97=19 +98=19 +99=19 +100=19 +101=19 +102=19 +103=19 +104=19 +105=7 +106=16 +107=19 +108=6 +109=26 +110=19 +111=19 +112=19 +113=19 +114=19 +115=19 +116=19 +117=19 +118=19 +119=26 +120=19 +121=19 +122=19 +123=16 +124=6 +125=16 +126=19 +127=10 +128=10 +129=6 +130=5 +131=10 +132=7 +133=7 +134=10 +135=10 +136=6 +137=17 +138=12 +139=7 +140=17 +141=6 +142=11 +143=6 +144=6 +145=4 +146=4 +147=7 +148=7 +149=9 +150=7 +151=15 +152=6 +153=11 +154=9 +155=7 +156=16 +157=6 +158=9 +159=12 +160=5 +161=5 +162=10 +163=10 +164=10 +165=10 +166=6 +167=10 +168=6 +169=12 +170=7 +171=10 +172=10 +173=6 +174=12 +175=10 +176=6 +177=10 +178=6 +179=6 +180=6 +181=9 +182=9 +183=5 +184=6 +185=6 +186=7 +187=10 +188=13 +189=13 +190=13 +191=10 +192=12 +193=12 +194=12 +195=12 +196=12 +197=12 +198=32 +199=12 +200=12 +201=12 +202=12 +203=12 +204=6 +205=6 +206=6 +207=6 +208=13 +209=12 +210=13 +211=13 +212=13 +213=13 +214=13 +215=10 +216=13 +217=13 +218=13 +219=13 +220=13 +221=12 +222=11 +223=11 +224=10 +225=10 +226=10 +227=10 +228=10 +229=10 +230=32 +231=9 +232=10 +233=10 +234=10 +235=10 +236=4 +237=4 +238=4 +239=4 +240=10 +241=10 +242=10 +243=10 +244=10 +245=10 +246=10 +247=10 +248=10 +249=10 +250=10 +251=10 +252=10 +253=8 +254=10 +255=8 diff --git a/stepmania/Themes/default/Fonts/_shared2 16x16.png b/stepmania/Themes/default/Fonts/_shared2 16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..f31b05e63fd7b197fb3736d909241109b0a207e3 GIT binary patch literal 43043 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 literal 0 HcmV?d00001 diff --git a/stepmania/Themes/default/Fonts/_shared2.ini b/stepmania/Themes/default/Fonts/_shared2.ini new file mode 100644 index 0000000000..7689bff5f8 --- /dev/null +++ b/stepmania/Themes/default/Fonts/_shared2.ini @@ -0,0 +1,276 @@ +# This font is identical to Header2, with a smaller LineSpacing. +# Once we have a way to specify fonts better (eg. "Header2,LineSpacing=+2"), +# this can go away. + +[Char Widths] +LineSpacing=22 +Top=9 +Baseline=24 +DrawExtraPixelsLeft=2 +DrawExtraPixelsRight=5 +0=14 +1=14 +2=14 +3=14 +4=14 +5=14 +6=14 +7=14 +8=14 +9=96 +10=0 +11=14 +12=14 +13=0 +14=14 +15=14 +16=14 +17=14 +18=14 +19=14 +20=14 +21=14 +22=14 +23=14 +24=14 +25=14 +26=14 +27=14 +28=0 +29=0 +30=0 +31=0 +32=7 +33=7 +34=11 +35=15 +36=15 +37=22 +38=20 +39=6 +40=9 +41=9 +42=12 +43=15 +44=7 +45=7 +46=7 +47=6 +48=15 +49=15 +50=15 +51=15 +52=15 +53=15 +54=15 +55=15 +56=15 +57=15 +58=7 +59=7 +60=15 +61=15 +62=15 +63=13 +64=16 +65=17 +66=17 +67=17 +68=17 +69=16 +70=15 +71=18 +72=18 +73=9 +74=15 +75=18 +76=15 +77=21 +78=18 +79=18 +80=16 +81=18 +82=17 +83=16 +84=16 +85=18 +86=17 +87=22 +88=17 +89=17 +90=16 +91=9 +92=6 +93=9 +94=15 +95=11 +96=7 +97=15 +98=15 +99=15 +100=15 +101=15 +102=9 +103=15 +104=15 +105=7 +106=7 +107=15 +108=7 +109=22 +110=15 +111=15 +112=15 +113=15 +114=10 +115=13 +116=10 +117=15 +118=13 +119=21 +120=15 +121=13 +122=12 +123=9 +124=6 +125=9 +126=15 +127=14 +128=14 +129=8 +130=6 +131=15 +132=11 +133=22 +134=15 +135=15 +136=7 +137=32 +138=16 +139=7 +140=22 +141=8 +142=16 +143=8 +144=8 +145=6 +146=6 +147=11 +148=11 +149=11 +150=11 +151=22 +152=7 +153=21 +154=13 +155=7 +156=22 +157=8 +158=12 +159=17 +160=7 +161=7 +162=15 +163=15 +164=15 +165=15 +166=6 +167=15 +168=7 +169=18 +170=9 +171=15 +172=15 +173=7 +174=18 +175=11 +176=9 +177=15 +178=9 +179=9 +180=7 +181=15 +182=19 +183=7 +184=7 +185=9 +186=9 +187=15 +188=22 +189=22 +190=22 +191=13 +192=17 +193=17 +194=17 +195=17 +196=17 +197=17 +198=22 +199=17 +200=16 +201=16 +202=16 +203=16 +204=9 +205=9 +206=9 +207=9 +208=17 +209=18 +210=18 +211=18 +212=18 +213=18 +214=18 +215=15 +216=18 +217=18 +218=18 +219=18 +220=18 +221=17 +222=16 +223=15 +224=15 +225=15 +226=15 +227=15 +228=15 +229=15 +230=22 +231=15 +232=15 +233=15 +234=15 +235=15 +236=7 +237=7 +238=7 +239=7 +240=15 +241=15 +242=15 +243=15 +244=15 +245=15 +246=15 +247=15 +248=15 +249=15 +250=15 +251=15 +252=15 +253=13 +254=15 +255=13 + +[extras] +LineSpacing=22 +Top=9 +Baseline=24 +DrawExtraPixelsLeft=2 +DrawExtraPixelsRight=5 + +0=17 +map flipped-a=0 diff --git a/stepmania/Themes/default/Graphics/MenuElements icon solo 2x1.png b/stepmania/Themes/default/Graphics/MenuElements icon solo 2x1.png index f3fb83b7ea98cabf84f7042cc24ed1f3954a5a8d..a78c22a5decc269221e393c81b1e35bf95d48d26 100644 GIT binary patch literal 2542 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 delta 101 zcmca7v_oiuxU)D18v_HwyXIBrffP%+qpu?a!}=5EtX(gGe902mh?3y^w370~qErUQ zl>DSr1<%~X^wgl##FWaylc_cg3>>F6mYv`blVF%`dGPX+7hAZ1`WQT2{an^LB{Ts5 DRjMI^ diff --git a/stepmania/Themes/default/Graphics/ScreenSelectMusicEz2 mirroricon.png b/stepmania/Themes/default/Graphics/ScreenSelectMusicEz2 mirroricon.png index 40538c2dc9f941a65e435ed6cb7fbe8cefc675f1..c4d5437a9da3c0ad1c14dc948e058aeb8c6eb670 100644 GIT binary patch literal 1436 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 AN&o-= diff --git a/stepmania/Themes/default/Graphics/ScreenSelectMusicEz2 shuffleicon.png b/stepmania/Themes/default/Graphics/ScreenSelectMusicEz2 shuffleicon.png index 4d867a73ba5a9eeccacef33f12094ffe1f710f7f..371ca309fcb5170397c6d4c3ca9e006417847f04 100644 GIT binary patch literal 1415 zcmXw3Yfuwc6u#MPNO&btA>k1+8zcgPGYNu#VBHOogqJL|9kK0b1QnG^Flefv(@g>x zIu+Lzk&X;33^3GM3zk~7(k2KsB9zpj6m_cT1cmsh%A-;#bc5}WbI;s!@AsX1zI*0W z;u}@o9swQz0PhsFGMn}xF5|e->wQpLOFQ=>_2yy#Jf6FZp*S1u3c~qV1_nS!)#2A! zpVNCJPo13sK#3Fp!UVwV0_`UNI3NSSsR3XujS*@;+uEBE#mQxhcXxp?Rcd@FW$X-cgL&AN4%>G3k&`LG8;^$BujVqgZ{es;`u9wCM$N$ zvC4j;wzb8DKm6d5ZY)!&>^UV(tAPm-%tyUY8QbBfvkJpn>44k*A%D^YAdZ8IMHo%d z(BAsuvB3uOs*mS$B4;O6jB%cOm|KT8kt;5kpZhZI<)gt9p&?&pI_$XNN z6d_pwXqtaX`=}t=%a@nKd;!b3&WQ;|0tX??dcN&1&5c%6K9r5CGvb-nC8hIoOKOcy zoE6=E?9~x%KMsr})tQ#gkk8)aD6J=j3V~Wu zHn`08KbjP&FR2V>-Tq&E%Sy<*5n6MxtE4dm$J6>TZz))GCCZbB88Bt63_z8OS+S@X%H zbr+8;u-1Jvjjp^M8ZtZs7|P2gDxR&KH4VXxa&h>7^{gBskBCvKIr-dE>~FLxWEi7w zmR!&phO)}Q#l+yKX3|BdjJ1zWFFkQGqOA>08DBSYCv$v}AP6qJ*NHkiR`H_4^XoNhZE(*>4OU8Mihpux?SJu?w@KGd=vSFqzb4hiWmyJpZ8bqmT|z4wG7Vzi@AMfj~O zkU=2D+m7jL8B`~H-tS>4{~ow4g?uS$YKM&7BpjAP8{}%Q5OyJV6Ozc9NJLyctzn0! zA7X0vTRmd=IXaeeGMwK)fHo^Pl}C}x9r z`_3z_gzu`p-6X2H!U(+L;P&*k_pl$&Z9a>c8y|_tyu=!6X93N@Wnb^Y`VJuM$V
  • tz*% zv&y+~d&P!>O6dBcxTIC2<`^O&S{Oev8Mm7b!>QxQ8nauAC*Eni$+BU{zS`y138#0D z7x|t8=0>rbg@S?SFP%JfQ1>DQ4$HE>ufv)pB!)1_J61{{u|@GKDl-kkQ|+DLlNJ1m z7%f&~Qt+zvK2$xkJgQ{l79DHx{qf_r6RS7jeY_9H+#9nG4fv*K5x#4VKcGC$n#7W&H}d27sJMK8Kn%pejT1`MZR%DooV)d}k`S zdRiQkC^g>CNFywPl=dFc55=Sz1YO}_VZ>u*rKv}A7`G83W+2AoAToKa3?&$#<>7hR Ub-yj;^w0z;8#XG>DKy4^0rJxprT_o{ delta 1022 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 KRM(Z7-2VZde@OuV delta 1109 zcmV-b1giUs4BQAIiBL{Q4GJ0x0000DNk~Le0000Z0000a2nGNE00Z2E;gKO2e+P6) zO+^RO0T2TP0;D*RJ^%m%`$%zrR{4a}fh?cA%O_Lsn5PEUHBweGj0KHr}7^%SRv0I(TE z+L_t$yI@8i?R;Pqrw9yWjRSxh;P?&a40H~aNTv6C1sLS+IRK-x3t|p#f9~r7Oh3AZ znU8*=zgI)2-p#DV8GxoV6`cb-F$PPOUkj_)Aq9tbwWvzq}9I};%6592307hvou*t!KcfB^uQ(K*IA z2D;Jh57=o3Wpo&%(y&Wae@f3r23>%&8W|k8xORZBk8@a_0>rMlwr7ZRRXFqjLZ&^a zh^6Z~(Sk-{lkojr_Pd?zR5t6iY`0t4Y|uXfIv@Zd zz~b85#DdV*%}TZMQ*E6iIM4{BswxXiE53E6ZGbwi?RDSxqAh_Ge?=jsN}8q?Tv?XV zDU)UI_8H97{^hv)YO^TMGl`>+0%na*^@|yY^8p*Q0?SJLVNZbr4p7H5vAU-j>o>s= zK^#Rk9Yl_y`Ivf;`3S>U_4*4StX+abXjhKMRH8W1{bs&`vHL}%)ta03AqZ2^~_Qf708VYoDR2MhpUru1|5untYZf4ns66H=}=S50&FMh7p=9n-C61^wgQ zblIT#%D(c$V4m&taFBcB<%4ML5$IWI?(6ncRJCm=ZvA(ve>RN7J`MRDc5wboL(fsJ z3=XQ>sy*{9Fr^1Fdg_0m0qYe=ld4Iz)he4q^I`V^n3GS}4|GlwGo7Y#sNLL^jv-R_ z7)Fa?)9Lz@4S-A=_@}_2&k@eaO;zWb zdAeU#b+?H2fADzoG@o^P&;NT%{hI2SZ3}#_gG{{+Jq(~e>FaMYash_#Bg?{gYfxbU z!i;mRYZ3&(g;3Y%e*ly#So;RG%80q|L+$keA8PnM@+egk03u(lR$o9Y#aCjfvV%V+ zZVz9*vw$x~e5lcq-ayqY(LTp0D`vf38+G=CyqP@NE1AP?W3s$3>hP*v7*Q58`{jy1 b|BCzp8g$$x1pG(i00000NkvXXu0mjf`%w;3 diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index f4c4e8a40c..f527f8c487 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -457,20 +457,10 @@ DemonstrationSeconds=30 TickEarlySeconds=0.05 [ScreenEvaluation] -SongSelectScreen=ScreenSelectMusic -EndGameScreen=ScreenNameEntry -Banner1OnCommand=x,320;y,100;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 -Banner1OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 -Banner2OnCommand= -Banner2OffCommand= -Banner3OnCommand= -Banner3OffCommand= -Banner4OnCommand= -Banner4OffCommand= -Banner5OnCommand= -Banner5OffCommand= BannerWidth=248 BannerHeight=92 +LargeBannerOnCommand=x,320;y,100;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 +LargeBannerOffCommand=sleep,0.8;accelerate,0.3;yoffset,480 StageOnCommand=x,320;y,66;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 StageOffCommand=sleep,0.8;accelerate,0.3;yoffset,480 DifficultyIconP1OnCommand=x,214;y,70;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 @@ -481,6 +471,16 @@ PlayerOptionsP1OnCommand=horizalign,left;vertalign,bottom;x,200;y,140;zoom,0.5;s PlayerOptionsP1OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 PlayerOptionsP2OnCommand=horizalign,right;vertalign,bottom;x,440;y,140;zoom,0.5;shadowlength,2;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 PlayerOptionsP2OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 +SmallBanner1OnCommand=x,260;y,80;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 +SmallBanner1OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 +SmallBanner2OnCommand=x,290;y,90;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 +SmallBanner2OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 +SmallBanner3OnCommand=x,320;y,100;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 +SmallBanner3OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 +SmallBanner4OnCommand=x,350;y,110;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 +SmallBanner4OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 +SmallBanner5OnCommand=x,380;y,120;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 +SmallBanner5OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 GradeFrameP1OnCommand=x,94;y,100;xoffset,-320;sleep,0.0;decelerate,0.3;xoffset,320 GradeFrameP1OffCommand=sleep,0.8;accelerate,0.3;xoffset,-320 GradeFrameP2OnCommand=x,546;y,100;xoffset,320;sleep,0.0;decelerate,0.3;xoffset,-320 @@ -489,6 +489,10 @@ GradeP1OnCommand=x,94;y,100;glowshift;effectperiod,2;xoffset,-320;sleep,0.0;dece GradeP1OffCommand=sleep,0.8;accelerate,0.3;xoffset,-320 GradeP2OnCommand=x,546;y,100;glowshift;effectperiod,2;xoffset,320;sleep,0.0;decelerate,0.3;xoffset,-320 GradeP2OffCommand=sleep,0.8;accelerate,0.3;xoffset,320 +PercentFrameP1OnCommand=x,94;y,100;xoffset,-320;sleep,0.0;decelerate,0.3;xoffset,320 +PercentFrameP1OffCommand=sleep,0.8;accelerate,0.3;xoffset,-320 +PercentFrameP2OnCommand=x,546;y,100;xoffset,320;sleep,0.0;decelerate,0.3;xoffset,-320 +PercentFrameP2OffCommand=sleep,0.8;accelerate,0.3;xoffset,320 PercentWholeP1OnCommand=horizalign,right;vertalign,bottom;x,120;y,132;glowshift;effectperiod,2;xoffset,-320;sleep,0.0;decelerate,0.3;xoffset,320 PercentWholeP1OffCommand=sleep,0.8;accelerate,0.3;xoffset,-320 PercentWholeP2OnCommand=horizalign,right;vertalign,bottom;x,572;y,132;glowshift;effectperiod,2;xoffset,320;sleep,0.0;decelerate,0.3;xoffset,-320 @@ -594,10 +598,14 @@ BarActual5P1OffCommand=linear,0.7;diffuse,1,1,1,0 BarActual5P2OnCommand=horizalign,left;x,466;y,302;rotationz,0;zoomx,0;sleep,1.1;linear,1.0;zoomx,1 BarActual5P2OffCommand=linear,0.7;diffuse,1,1,1,0 BarActualMaxCommand=glowshift;effectperiod,0.5 -SongsSurvivedP1OnCommand=x,96;y,240;diffuse,1,1,1,0;linear,0.7;diffuse,1,1,1,1 -SongsSurvivedP1OffCommand=linear,0.7;diffuse,1,1,1,0 -SongsSurvivedP2OnCommand=x,544;y,240;diffuse,1,1,1,0;linear,0.7;diffuse,1,1,1,1 -SongsSurvivedP2OffCommand=linear,0.7;diffuse,1,1,1,0 +SurvivedFrameP1OnCommand=x,96;y,256;diffuse,1,1,1,0;linear,0.7;diffuse,1,1,1,1 +SurvivedFrameP1OffCommand=linear,0.7;diffuse,1,1,1,0 +SurvivedFrameP2OnCommand=x,544;y,256;diffuse,1,1,1,0;linear,0.7;diffuse,1,1,1,1 +SurvivedFrameP2OffCommand=linear,0.7;diffuse,1,1,1,0 +SurvivedNumberP1OnCommand=x,96;y,240;diffuse,1,1,1,0;linear,0.7;diffuse,1,1,1,1 +SurvivedNumberP1OffCommand=linear,0.7;diffuse,1,1,1,0 +SurvivedNumberP2OnCommand=x,544;y,240;diffuse,1,1,1,0;linear,0.7;diffuse,1,1,1,1 +SurvivedNumberP2OffCommand=linear,0.7;diffuse,1,1,1,0 ScoreLabelOnCommand=x,320;y,380;yoffset,480;sleep,0.8;decelerate,0.3;yoffset,-480 ScoreLabelOffCommand=sleep,0.0;accelerate,0.3;yoffset,480 ScoreNumberP1OnCommand=x,160;y,380;xoffset,-320;sleep,0.8;decelerate,0.3;xoffset,320 @@ -619,135 +627,109 @@ TryExtraStageOffCommand=linear,0.7;diffuse,1,1,1,0 SpinGrades=1 [ScreenEvaluationStage] -PercentWholeP1OnCommand=diffuse,1,1,1,0 -PercentWholeP1OffCommand= -PercentWholeP2OnCommand=diffuse,1,1,1,0 -PercentWholeP2OffCommand= -PercentRemainderP1OnCommand=diffuse,1,1,1,0 -PercentRemainderP1OffCommand= -PercentRemainderP2OnCommand=diffuse,1,1,1,0 -PercentRemainderP2OffCommand= -DancePointsP1OnCommand=diffuse,1,1,1,0 -DancePointsP1OffCommand= -DancePointsP2OnCommand=diffuse,1,1,1,0 -DancePointsP2OffCommand= -SongsSurvivedP1OnCommand=diffuse,1,1,1,0 -SongsSurvivedP1OffCommand= -SongsSurvivedP2OnCommand=diffuse,1,1,1,0 -SongsSurvivedP2OffCommand= -TimeLabelOnCommand=diffuse,1,1,1,0 -TimeLabelOffCommand= -TimeNumberP1OnCommand=diffuse,1,1,1,0 -TimeNumberP1OffCommand= -TimeNumberP2OnCommand=diffuse,1,1,1,0 -TimeNumberP2OffCommand= +NextScreen=ScreenSelectMusic +EndScreen=ScreenEvaluationSummary +ShowBannerArea=1 +ShowGradeArea=1 +ShowPointsArea=0 +ShowBonusArea=1 +ShowSurvivedArea=0 +ShowMarvelous=1 +ShowPerfect=1 +ShowGreat=1 +ShowGood=1 +ShowBoo=1 +ShowMiss=1 +ShowOK=1 +ShowMaxCombo=1 +ShowScoreArea=1 +ShowTimeArea=0 HelpText=Press START to continue -TimerSeconds=20 +TimerSeconds=10 [ScreenEvaluationSummary] -// small banners -Banner1OnCommand=x,260;y,80;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 -Banner1OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 -Banner2OnCommand=x,290;y,90;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 -Banner2OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 -Banner3OnCommand=x,320;y,100;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 -Banner3OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 -Banner4OnCommand=x,350;y,110;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 -Banner4OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 -Banner5OnCommand=x,380;y,120;zoom,0.5;yoffset,480;sleep,0.0;decelerate,0.3;yoffset,-480 -Banner5OffCommand=sleep,0.8;accelerate,0.3;yoffset,480 -StageOnCommand=diffuse,1,1,1,0 -StageOffCommand= -DifficultyIconP1OnCommand=diffuse,1,1,1,0 -DifficultyIconP1OffCommand= -DifficultyIconP2OnCommand=diffuse,1,1,1,0 -DifficultyIconP2OffCommand= -PlayerOptionsP1OnCommand=diffuse,1,1,1,0 -PlayerOptionsP1OffCommand= -PlayerOptionsP2OnCommand=diffuse,1,1,1,0 -PlayerOptionsP2OffCommand= -PercentWholeP1OnCommand=diffuse,1,1,1,0 -PercentWholeP1OffCommand= -PercentWholeP2OnCommand=diffuse,1,1,1,0 -PercentWholeP2OffCommand= -PercentRemainderP1OnCommand=diffuse,1,1,1,0 -PercentRemainderP1OffCommand= -PercentRemainderP2OnCommand=diffuse,1,1,1,0 -PercentRemainderP2OffCommand= -DancePointsP1OnCommand=diffuse,1,1,1,0 -DancePointsP1OffCommand= -DancePointsP2OnCommand=diffuse,1,1,1,0 -DancePointsP2OffCommand= -SongsSurvivedP1OnCommand=diffuse,1,1,1,0 -SongsSurvivedP1OffCommand= -SongsSurvivedP2OnCommand=diffuse,1,1,1,0 -SongsSurvivedP2OffCommand= -TimeLabelOnCommand=diffuse,1,1,1,0 -TimeLabelOffCommand= -TimeNumberP1OnCommand=diffuse,1,1,1,0 -TimeNumberP1OffCommand= -TimeNumberP2OnCommand=diffuse,1,1,1,0 -TimeNumberP2OffCommand= +NextScreen=ScreenNameEntry +EndScreen=ScreenNameEntry +ShowBannerArea=1 +ShowGradeArea=1 +ShowPointsArea=0 +ShowBonusArea=1 +ShowSurvivedArea=0 +ShowMarvelous=1 +ShowPerfect=1 +ShowGreat=1 +ShowGood=1 +ShowBoo=1 +ShowMiss=1 +ShowOK=1 +ShowMaxCombo=1 +ShowScoreArea=1 +ShowTimeArea=0 HelpText=Press START to continue -TimerSeconds=40 +TimerSeconds=30 -[ScreenEvaluationCourse] -GradeP1OnCommand=diffuse,1,1,1,0 -GradeP1OffCommand= -GradeP2OnCommand=diffuse,1,1,1,0 -GradeP2OffCommand= -MaxComboNumberP1OnCommand=diffuse,1,1,1,0 -MaxComboNumberP1OffCommand= -MaxComboNumberP2OnCommand=diffuse,1,1,1,0 -MaxComboNumberP2OffCommand= -BarPossible1P1OnCommand=diffuse,1,1,1,0 -BarPossible1P1OffCommand= -BarPossible1P2OnCommand=diffuse,1,1,1,0 -BarPossible1P2OffCommand= -BarPossible2P1OnCommand=diffuse,1,1,1,0 -BarPossible2P1OffCommand= -BarPossible2P2OnCommand=diffuse,1,1,1,0 -BarPossible2P2OffCommand= -BarPossible3P1OnCommand=diffuse,1,1,1,0 -BarPossible3P1OffCommand= -BarPossible3P2OnCommand=diffuse,1,1,1,0 -BarPossible3P2OffCommand= -BarPossible4P1OnCommand=diffuse,1,1,1,0 -BarPossible4P1OffCommand= -BarPossible4P2OnCommand=diffuse,1,1,1,0 -BarPossible4P2OffCommand= -BarPossible5P1OnCommand=diffuse,1,1,1,0 -BarPossible5P1OffCommand= -BarPossible5P2OnCommand=diffuse,1,1,1,0 -BarPossible5P2OffCommand= -BarActual1P1OnCommand=diffuse,1,1,1,0 -BarActual1P1OffCommand= -BarActual1P2OnCommand=diffuse,1,1,1,0 -BarActual1P2OffCommand= -BarActual2P1OnCommand=diffuse,1,1,1,0 -BarActual2P1OffCommand= -BarActual2P2OnCommand=diffuse,1,1,1,0 -BarActual2P2OffCommand= -BarActual3P1OnCommand=diffuse,1,1,1,0 -BarActual3P1OffCommand= -BarActual3P2OnCommand=diffuse,1,1,1,0 -BarActual3P2OffCommand= -BarActual4P1OnCommand=diffuse,1,1,1,0 -BarActual4P1OffCommand= -BarActual4P2OnCommand=diffuse,1,1,1,0 -BarActual4P2OffCommand= -BarActual5P1OnCommand=diffuse,1,1,1,0 -BarActual5P1OffCommand= -BarActual5P2OnCommand=diffuse,1,1,1,0 -BarActual5P2OffCommand= -ScoreLabelOnCommand=diffuse,1,1,1,0 -ScoreLabelOffCommand= -ScoreNumberP1OnCommand=diffuse,1,1,1,0 -ScoreNumberP1OffCommand= -ScoreNumberP2OnCommand=diffuse,1,1,1,0 -ScoreNumberP2OffCommand= +[ScreenEvaluationNonstop] +NextScreen=ScreenNameEntry +EndScreen=ScreenNameEntry +ShowBannerArea=1 +ShowGradeArea=1 +ShowPointsArea=0 +ShowBonusArea=0 +ShowSurvivedArea=1 +ShowMarvelous=1 +ShowPerfect=1 +ShowGreat=1 +ShowGood=1 +ShowBoo=1 +ShowMiss=1 +ShowOK=1 +ShowMaxCombo=0 +ShowScoreArea=1 +ShowTimeArea=0 HelpText=Press START to continue -TimerSeconds=40 +TimerSeconds=30 + +[ScreenEvaluationOni] +NextScreen=ScreenNameEntry +EndScreen=ScreenNameEntry +ShowBannerArea=1 +ShowGradeArea=0 +ShowPointsArea=1 +ShowBonusArea=0 +ShowSurvivedArea=1 +ShowMarvelous=1 +ShowPerfect=1 +ShowGreat=1 +ShowGood=1 +ShowBoo=1 +ShowMiss=1 +ShowOK=1 +ShowMaxCombo=0 +ShowScoreArea=0 +ShowTimeArea=1 +HelpText=Press START to continue +TimerSeconds=30 + +[ScreenEvaluationEndless] +NextScreen=ScreenNameEntry +EndScreen=ScreenNameEntry +ShowBannerArea=1 +ShowGradeArea=0 +ShowPointsArea=1 +ShowBonusArea=0 +ShowSurvivedArea=1 +ShowMarvelous=1 +ShowPerfect=1 +ShowGreat=1 +ShowGood=1 +ShowBoo=1 +ShowMiss=1 +ShowOK=1 +ShowMaxCombo=0 +ShowScoreArea=0 +ShowTimeArea=1 +HelpText=Press START to continue +TimerSeconds=30 [ScreenMusicScroll] ScrollDelay=0.2 @@ -1127,7 +1109,7 @@ NextScreen=ScreenLogo NextScreen=ScreenLogo [ScreenLogo] -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 VersionOnCommand=horizalign,right;x,620;y,20;diffuse,0.6,0.6,0.6,1;zoom,0.5;shadowlength,2 SongsOnCommand=horizalign,left;x,20;y,20;diffuse,0.6,0.6,0.6,1;zoom,0.5;shadowlength,2 NextScreen=ScreenDemonstration diff --git a/stepmania/src/ActiveItemList.cpp b/stepmania/src/ActiveItemList.cpp index 28cfd919b2..14aafc0289 100644 --- a/stepmania/src/ActiveItemList.cpp +++ b/stepmania/src/ActiveItemList.cpp @@ -29,7 +29,7 @@ ActiveItemList::ActiveItemList() for( int i=0; iGetPathTo("Fonts","normal") ); + m_text[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_text[i].SetZoom( TEXT_ZOOM ); // m_text[i].SetText( "WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW" ); this->AddChild( &m_text[i] ); diff --git a/stepmania/src/BPMDisplay.cpp b/stepmania/src/BPMDisplay.cpp index 444e7e5d37..2ac9fe4425 100644 --- a/stepmania/src/BPMDisplay.cpp +++ b/stepmania/src/BPMDisplay.cpp @@ -29,7 +29,7 @@ BPMDisplay::BPMDisplay() m_fTimeLeftInState = 0; m_bExtraStage = GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2(); - m_textBPM.LoadFromNumbers( THEME->GetPathTo("Numbers","BPMDisplay numbers") ); + m_textBPM.LoadFromNumbers( THEME->GetPathTo("Numbers","BPMDisplay") ); m_textBPM.EnableShadow( false ); m_textBPM.SetHorizAlign( Actor::align_right ); m_textBPM.SetDiffuse( NORMAL_COLOR ); @@ -56,7 +56,7 @@ void BPMDisplay::Update( float fDeltaTime ) if( m_fTimeLeftInState < 0 ) { // XXX: the numbers font doesn't have "?". - m_textBPM.SetText( (RandomFloat(0,1)>0.90) ? "%%%" : ssprintf("%03.0f",RandomFloat(0,600)) ); + m_textBPM.SetText( (RandomFloat(0,1)>0.90) ? "xxx" : ssprintf("%03.0f",RandomFloat(0,600)) ); m_fTimeLeftInState = 0.2f; // reset timer } } diff --git a/stepmania/src/Combo.cpp b/stepmania/src/Combo.cpp index 28d9003891..a71601e138 100644 --- a/stepmania/src/Combo.cpp +++ b/stepmania/src/Combo.cpp @@ -56,7 +56,7 @@ Combo::Combo() m_sprCombo.SetDiffuse( RageColor(1,1,1,0) ); // invisible this->AddChild( &m_sprCombo ); - m_textComboNumber.LoadFromNumbers( THEME->GetPathTo("Numbers","Combo numbers") ); + m_textComboNumber.LoadFromNumbers( THEME->GetPathTo("Numbers","Combo") ); m_textComboNumber.EnableShadow( true ); m_textComboNumber.SetXY( NUMBER_X, NUMBER_Y ); m_textComboNumber.SetHorizAlign( (Actor::HorizAlign)(int)NUMBER_HORIZ_ALIGN ); diff --git a/stepmania/src/CourseEntryDisplay.cpp b/stepmania/src/CourseEntryDisplay.cpp index a86e088d14..4557475192 100644 --- a/stepmania/src/CourseEntryDisplay.cpp +++ b/stepmania/src/CourseEntryDisplay.cpp @@ -62,13 +62,13 @@ CourseEntryDisplay::CourseEntryDisplay() m_textFoot.EnableShadow( false ); this->AddChild( &m_textFoot ); - m_textDifficultyNumber.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textDifficultyNumber.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textDifficultyNumber.SetXY( DIFFICULTY_X, DIFFICULTY_Y ); m_textDifficultyNumber.SetZoom( DIFFICULTY_ZOOM ); m_textDifficultyNumber.EnableShadow( false ); this->AddChild( &m_textDifficultyNumber ); - m_textModifiers.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textModifiers.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textModifiers.SetXY( MODIFIERS_X, MODIFIERS_Y ); m_textModifiers.SetZoom( MODIFIERS_ZOOM ); m_textModifiers.SetHorizAlign( (Actor::HorizAlign)MODIFIERS_HORIZ_ALIGN ); diff --git a/stepmania/src/EditMenu.cpp b/stepmania/src/EditMenu.cpp index caa52e3d19..cdb9b6e4be 100644 --- a/stepmania/src/EditMenu.cpp +++ b/stepmania/src/EditMenu.cpp @@ -74,7 +74,7 @@ EditMenu::EditMenu() m_textLabel[i].SetHorizAlign( Actor::align_left ); this->AddChild( &m_textLabel[i] ); - m_textValue[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textValue[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textValue[i].SetXY( ROW_VALUE_X(i), ROW_Y(i) ); m_textValue[i].SetText( "blah" ); m_textValue[i].SetZoom( 0.8f ); diff --git a/stepmania/src/Font.cpp b/stepmania/src/Font.cpp index 067a9758b1..a0f8bb1691 100644 --- a/stepmania/src/Font.cpp +++ b/stepmania/src/Font.cpp @@ -775,7 +775,7 @@ void Font::Load(const CString &sFontOrTextureFilePath, CString sChars) /* If this is a top-level font (not a subfont), load the default font first. */ CStringArray ImportList; if(LoadStack.size() == 1) - ImportList.push_back("default font"); + ImportList.push_back("Common default"); /* Check to see if we need to import any other fonts. Do this * before loading this font, so any characters in this font diff --git a/stepmania/src/JukeboxMenu.cpp b/stepmania/src/JukeboxMenu.cpp index af8f915c93..8c361e774d 100644 --- a/stepmania/src/JukeboxMenu.cpp +++ b/stepmania/src/JukeboxMenu.cpp @@ -52,7 +52,7 @@ JukeboxMenu::JukeboxMenu() m_textLabel[i].SetHorizAlign( Actor::align_left ); this->AddChild( &m_textLabel[i] ); - m_textValue[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textValue[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textValue[i].SetXY( ROW_VALUE_X(i), ROW_Y(i) ); m_textValue[i].SetText( "blah" ); m_textValue[i].SetZoom( 0.8f ); diff --git a/stepmania/src/LifeMeterBattery.cpp b/stepmania/src/LifeMeterBattery.cpp index 0ac5ce83e5..a58f06eed5 100644 --- a/stepmania/src/LifeMeterBattery.cpp +++ b/stepmania/src/LifeMeterBattery.cpp @@ -57,13 +57,13 @@ void LifeMeterBattery::Load( PlayerNumber pn ) if( bPlayerEnabled ) this->AddChild( &m_sprBattery ); - m_textNumLives.LoadFromNumbers( THEME->GetPathTo("Numbers","LifeMeterBattery life numbers") ); + m_textNumLives.LoadFromNumbers( THEME->GetPathTo("Numbers","LifeMeterBattery lives") ); m_textNumLives.SetDiffuse( RageColor(1,1,1,1) ); m_textNumLives.EnableShadow( false ); if( bPlayerEnabled ) this->AddChild( &m_textNumLives ); - m_textPercent.LoadFromNumbers( THEME->GetPathTo("Numbers","LifeMeterBattery percent numbers") ); + m_textPercent.LoadFromNumbers( THEME->GetPathTo("Numbers","LifeMeterBattery percent") ); m_textPercent.EnableShadow( false ); m_textPercent.SetZoom( 0.7f ); if(PREFSMAN->m_bDancePointsForOni) diff --git a/stepmania/src/LyricDisplay.cpp b/stepmania/src/LyricDisplay.cpp index e0d30e2927..6146e12450 100644 --- a/stepmania/src/LyricDisplay.cpp +++ b/stepmania/src/LyricDisplay.cpp @@ -11,7 +11,7 @@ float g_TweenInTime, g_TweenOutTime; LyricDisplay::LyricDisplay() { - m_textLyrics.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textLyrics.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textLyrics.SetDiffuse( RageColor(1,1,1,1) ); this->AddChild(&m_textLyrics); diff --git a/stepmania/src/MenuElements.h b/stepmania/src/MenuElements.h index adc451d420..df96aa0559 100644 --- a/stepmania/src/MenuElements.h +++ b/stepmania/src/MenuElements.h @@ -17,7 +17,7 @@ #include "Sprite.h" #include "MenuTimer.h" #include "TransitionBGAnimation.h" -#include "TipDisplay.h" +#include "HelpDisplay.h" #include "BGAnimation.h" @@ -51,7 +51,7 @@ public: // let owner tinker with these objects Sprite m_sprStyleIcon; MenuTimer m_MenuTimer; Sprite m_sprFooter; - TipDisplay m_textHelp; + HelpDisplay m_textHelp; TransitionBGAnimation m_In; TransitionBGAnimation m_Out; diff --git a/stepmania/src/MenuTimer.cpp b/stepmania/src/MenuTimer.cpp index ad1a667a36..6d18a7c719 100644 --- a/stepmania/src/MenuTimer.cpp +++ b/stepmania/src/MenuTimer.cpp @@ -27,8 +27,8 @@ MenuTimer::MenuTimer() m_fStallSeconds = 0; m_bPaused = false; - m_textDigit1.LoadFromNumbers( THEME->GetPathTo("Numbers","MenuTimer numbers") ); - m_textDigit2.LoadFromNumbers( THEME->GetPathTo("Numbers","MenuTimer numbers") ); + m_textDigit1.LoadFromNumbers( THEME->GetPathTo("Numbers","MenuTimer") ); + m_textDigit2.LoadFromNumbers( THEME->GetPathTo("Numbers","MenuTimer") ); m_textDigit1.EnableShadow( false ); m_textDigit2.EnableShadow( false ); diff --git a/stepmania/src/NoteField.cpp b/stepmania/src/NoteField.cpp index f50ab99769..27e36b9a12 100644 --- a/stepmania/src/NoteField.cpp +++ b/stepmania/src/NoteField.cpp @@ -32,7 +32,7 @@ const float ROWS_BETWEEN_HOLD_BITS = 1 / HOLD_NOTE_BITS_PER_ROW; NoteField::NoteField() { - m_textMeasureNumber.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textMeasureNumber.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textMeasureNumber.SetZoom( 1.0f ); m_rectMarkerBar.EnableShadow( false ); diff --git a/stepmania/src/ScoreDisplayNormal.cpp b/stepmania/src/ScoreDisplayNormal.cpp index d8e7c349ad..b9613532ae 100644 --- a/stepmania/src/ScoreDisplayNormal.cpp +++ b/stepmania/src/ScoreDisplayNormal.cpp @@ -28,7 +28,7 @@ ScoreDisplayNormal::ScoreDisplayNormal() LOG->Trace( "ScoreDisplayNormal::ScoreDisplayNormal()" ); // init the text - m_text.LoadFromNumbers( THEME->GetPathTo("Numbers","ScoreDisplayNormal numbers") ); + m_text.LoadFromNumbers( THEME->GetPathTo("Numbers","ScoreDisplayNormal") ); m_text.EnableShadow( false ); m_fScore = 0; diff --git a/stepmania/src/ScoreDisplayOni.cpp b/stepmania/src/ScoreDisplayOni.cpp index 38ed621dd6..531bf68a69 100644 --- a/stepmania/src/ScoreDisplayOni.cpp +++ b/stepmania/src/ScoreDisplayOni.cpp @@ -24,7 +24,7 @@ ScoreDisplayOni::ScoreDisplayOni() LOG->Trace( "ScoreDisplayOni::ScoreDisplayOni()" ); // init the text - m_text.LoadFromNumbers( THEME->GetPathTo("Numbers","ScoreDisplayOni numbers") ); + m_text.LoadFromNumbers( THEME->GetPathTo("Numbers","ScoreDisplayOni") ); m_text.EnableShadow( false ); this->AddChild( &m_text ); } diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 8fad6a9f3a..50a756e8ce 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -276,7 +276,7 @@ ScreenEdit::ScreenEdit() m_sprHelp.SetHorizAlign( Actor::align_left ); m_sprHelp.SetXY( HELP_X, HELP_Y ); - m_textHelp.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textHelp.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textHelp.SetXY( HELP_TEXT_X, HELP_TEXT_Y ); m_textHelp.SetHorizAlign( Actor::align_left ); m_textHelp.SetVertAlign( Actor::align_top ); @@ -287,7 +287,7 @@ ScreenEdit::ScreenEdit() m_sprInfo.SetHorizAlign( Actor::align_right ); m_sprInfo.SetXY( INFO_X, INFO_Y ); - m_textInfo.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textInfo.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textInfo.SetXY( INFO_TEXT_X, INFO_TEXT_Y ); m_textInfo.SetHorizAlign( Actor::align_left ); m_textInfo.SetVertAlign( Actor::align_top ); diff --git a/stepmania/src/ScreenEditMenu.cpp b/stepmania/src/ScreenEditMenu.cpp index ab2fbeb386..f8267575ad 100644 --- a/stepmania/src/ScreenEditMenu.cpp +++ b/stepmania/src/ScreenEditMenu.cpp @@ -48,7 +48,7 @@ ScreenEditMenu::ScreenEditMenu() this->AddChild( &m_Menu ); - m_textExplanation.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textExplanation.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y ); m_textExplanation.SetText( EXPLANATION_TEXT ); m_textExplanation.SetZoom( 0.7f ); diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index e521cb1c38..4d9444bc1f 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -278,7 +278,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) m_DifficultyIcon[p].Command( DIFFICULTY_ICON_ON_COMMAND(p) ); this->AddChild( &m_DifficultyIcon[p] ); - m_textPlayerOptions[p].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textPlayerOptions[p].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); CString sPO = GAMESTATE->m_PlayerOptions[p].GetString(); sPO.Replace( ", ", "\n" ); m_textPlayerOptions[p].Command( PLAYER_OPTIONS_ON_COMMAND(p) ); @@ -359,12 +359,12 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) if( !PREFSMAN->m_bDancePointsForOni ) { - m_textPercentWhole[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation percent numbers") ); + m_textPercentWhole[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation percent") ); m_textPercentWhole[p].EnableShadow( false ); m_textPercentWhole[p].Command( PERCENT_WHOLE_ON_COMMAND(p) ); this->AddChild( &m_textPercentWhole[p] ); - m_textPercentRemainder[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation percent numbers") ); + m_textPercentRemainder[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation percent") ); m_textPercentRemainder[p].EnableShadow( false ); m_textPercentRemainder[p].Command( PERCENT_REMAINDER_ON_COMMAND(p) ); this->AddChild( &m_textPercentRemainder[p] ); @@ -379,7 +379,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) } else // PREFSMAN->m_bDancePointsForOni { - m_textDancePoints[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation percent numbers") ); + m_textDancePoints[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation percent") ); m_textDancePoints[p].EnableShadow( false ); m_textDancePoints[p].SetText( ssprintf("%d", stageStats.iActualDancePoints[p]) ); m_textDancePoints[p].Command( DANCE_POINTS_ON_COMMAND(p) ); @@ -441,7 +441,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) m_sprSurvivedFrame[p].Command( SURVIVED_FRAME_ON_COMMAND(p) ); this->AddChild( &m_sprSurvivedFrame[p] ); - m_textSurvivedNumber[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation stage numbers") ); + m_textSurvivedNumber[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation stage") ); m_textSurvivedNumber[p].EnableShadow( false ); m_textSurvivedNumber[p].SetText( ssprintf("%02d", stageStats.iSongsPlayed[p]) ); m_textSurvivedNumber[p].Command( SURVIVED_NUMBER_ON_COMMAND(p) ); @@ -468,7 +468,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) if( !GAMESTATE->IsPlayerEnabled( (PlayerNumber)p ) ) continue; // skip - m_textJudgeNumbers[l][p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation judge numbers") ); + m_textJudgeNumbers[l][p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation judge") ); m_textJudgeNumbers[l][p].EnableShadow( false ); m_textJudgeNumbers[l][p].SetDiffuse( PlayerToColor(p) ); m_textJudgeNumbers[l][p].Command( JUDGE_NUMBER_ON_COMMAND(l,p) ); @@ -512,7 +512,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) if( !GAMESTATE->IsPlayerEnabled( (PlayerNumber)p ) ) continue; // skip - m_textScore[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation score numbers") ); + m_textScore[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation score") ); m_textScore[p].EnableShadow( false ); m_textScore[p].SetDiffuse( PlayerToColor(p) ); m_textScore[p].Command( SCORE_NUMBER_ON_COMMAND(p) ); @@ -539,7 +539,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) if( !GAMESTATE->IsPlayerEnabled( (PlayerNumber)p ) ) continue; // skip - m_textTime[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation score numbers") ); + m_textTime[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenEvaluation score") ); m_textTime[p].EnableShadow( false ); m_textTime[p].SetDiffuse( PlayerToColor(p) ); m_textTime[p].Command( TIME_NUMBER_ON_COMMAND(p) ); @@ -569,7 +569,7 @@ ScreenEvaluation::ScreenEvaluation( CString sClassName, Type type ) if( m_bTryExtraStage ) { - m_sprTryExtraStage.Load( THEME->GetPathTo("Graphics",GAMESTATE->IsExtraStage()?" try extra2":" try extra1") ); + m_sprTryExtraStage.Load( THEME->GetPathTo("Graphics",GAMESTATE->IsExtraStage()?"ScreenEvaluation try extra2":"ScreenEvaluation try extra1") ); m_sprTryExtraStage.Command( TRY_EXTRA_STAGE_ON_COMMAND ); this->AddChild( &m_sprTryExtraStage ); diff --git a/stepmania/src/ScreenEz2SelectMusic.cpp b/stepmania/src/ScreenEz2SelectMusic.cpp index 7ef1617aba..f1500880c3 100644 --- a/stepmania/src/ScreenEz2SelectMusic.cpp +++ b/stepmania/src/ScreenEz2SelectMusic.cpp @@ -135,7 +135,7 @@ ScreenEz2SelectMusic::ScreenEz2SelectMusic() m_PumpDifficultyCircle.SetXY( PUMP_DIFF_X, PUMP_DIFF_Y ); this->AddChild( &m_PumpDifficultyCircle ); - m_PumpDifficultyRating.LoadFromFont( THEME->GetPathTo("Fonts","pump songselect difficulty") ); + m_PumpDifficultyRating.LoadFromFont( THEME->GetPathTo("Fonts","ScreenEz2SelectMusic difficulty") ); m_PumpDifficultyRating.SetXY( PUMP_DIFF_X, PUMP_DIFF_Y ); this->AddChild(&m_PumpDifficultyRating); diff --git a/stepmania/src/ScreenEz2SelectMusic.h b/stepmania/src/ScreenEz2SelectMusic.h index 1dabcc6355..0ac989adc9 100644 --- a/stepmania/src/ScreenEz2SelectMusic.h +++ b/stepmania/src/ScreenEz2SelectMusic.h @@ -15,7 +15,7 @@ #include "Sprite.h" #include "BitmapText.h" #include "MenuElements.h" -#include "TipDisplay.h" +#include "HelpDisplay.h" #include "MusicBannerWheel.h" #include "MenuElements.h" #include "DifficultyMeter.h" diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 0f7c8b4cb4..fa15123402 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -277,7 +277,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) for( p=0; pGetPathTo("Fonts","Header2") ); + m_textCourseSongNumber[p].LoadFromFont( THEME->GetPathTo("Numbers","ScreenGameplay song num") ); m_textCourseSongNumber[p].EnableShadow( false ); m_textCourseSongNumber[p].SetXY( SONG_NUMBER_X(p), SONG_NUMBER_Y(p,bExtra) ); m_textCourseSongNumber[p].SetText( "" ); @@ -316,13 +316,13 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) m_sprScoreFrame.SetXY( SCORE_FRAME_X, SCORE_FRAME_Y(bExtra) ); this->AddChild( &m_sprScoreFrame ); - m_StageName.LoadFromFont( THEME->GetPathTo("Fonts","musicwheel text banner") ); - m_StageName.EnableShadow( false ); - m_StageName.SetXY( STAGENAME_X, STAGENAME_Y ); - m_StageName.SetZoom( STAGENAME_ZOOM ); - this->AddChild( &m_StageName ); + m_textSongTitle.LoadFromFont( THEME->GetPathTo("Fonts","ScreenGameplay song title") ); + m_textSongTitle.EnableShadow( false ); + m_textSongTitle.SetXY( STAGENAME_X, STAGENAME_Y ); + m_textSongTitle.SetZoom( STAGENAME_ZOOM ); + this->AddChild( &m_textSongTitle ); - m_MaxCombo.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenGameplay max combo numbers") ); + m_MaxCombo.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenGameplay max combo") ); m_MaxCombo.SetXY( MAXCOMBO_X, MAXCOMBO_Y ); m_MaxCombo.SetZoom( MAXCOMBO_ZOOM ); m_MaxCombo.SetText( ssprintf("%d", GAMESTATE->m_CurStageStats.iCurCombo[GAMESTATE->m_MasterPlayerNumber]) ); /* TODO: Make this work for both players */ @@ -355,7 +355,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) m_pScoreDisplay[p]->SetZoom( SCORE_ZOOM ); this->AddChild( m_pScoreDisplay[p] ); - m_textPlayerOptions[p].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textPlayerOptions[p].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textPlayerOptions[p].EnableShadow( false ); m_textPlayerOptions[p].SetXY( PLAYER_OPTIONS_X(p), PLAYER_OPTIONS_Y(p,bExtra) ); m_textPlayerOptions[p].SetZoom( 0.5f ); @@ -363,7 +363,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) this->AddChild( &m_textPlayerOptions[p] ); } - m_textSongOptions.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textSongOptions.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textSongOptions.EnableShadow( false ); m_textSongOptions.SetXY( SONG_OPTIONS_X, SONG_OPTIONS_Y(bExtra) ); m_textSongOptions.SetZoom( 0.5f ); @@ -387,7 +387,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) this->AddChild(&m_LyricDisplay); - m_textAutoPlay.LoadFromFont( THEME->GetPathTo("Fonts","header2") ); + m_textAutoPlay.LoadFromFont( THEME->GetPathTo("Fonts","ScreenGameplay autoplay") ); m_textAutoPlay.SetXY( AUTOPLAY_X, AUTOPLAY_Y ); if( !bDemonstration ) // only load if we're not in demonstration of jukebox this->AddChild( &m_textAutoPlay ); @@ -429,7 +429,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) this->AddChild( &m_In ); - m_textDebug.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textDebug.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textDebug.SetXY( DEBUG_X, DEBUG_Y ); m_textDebug.SetDiffuse( RageColor(1,1,1,1) ); this->AddChild( &m_textDebug ); @@ -441,7 +441,7 @@ ScreenGameplay::ScreenGameplay( bool bDemonstration ) if( GAMESTATE->IsExtraStage() ) // only load if we're going to use it { - m_textSurviveTime.LoadFromFont( THEME->GetPathTo("Fonts","survive time") ); + m_textSurviveTime.LoadFromFont( THEME->GetPathTo("Fonts","ScreenGameplay survive time") ); m_textSurviveTime.EnableShadow( false ); m_textSurviveTime.SetXY( SURVIVE_TIME_X, SURVIVE_TIME_Y ); m_textSurviveTime.SetText( "" ); @@ -579,7 +579,7 @@ void ScreenGameplay::LoadNextSong() m_Background.BeginTweening( 2 ); m_Background.SetTweenDiffuse( RageColor(1,1,1,1) ); - m_StageName.SetText( GAMESTATE->m_pCurSong->m_sMainTitle ); + m_textSongTitle.SetText( GAMESTATE->m_pCurSong->m_sMainTitle ); /* XXX: set it to the current BPM, not the range */ float fMinBPM, fMaxBPM; @@ -1471,7 +1471,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM ) if( GAMESTATE->IsPlayerEnabled(p) ) fMaxSurviveSeconds = max( fMaxSurviveSeconds, GAMESTATE->m_CurStageStats.fAliveSeconds[p] ); ASSERT( fMaxSurviveSeconds > 0 ); - m_textSurviveTime.SetText( "TIME " + SecondsToTime(fMaxSurviveSeconds) ); + m_textSurviveTime.SetText( SecondsToTime(fMaxSurviveSeconds) ); m_textSurviveTime.BeginTweening( 0.3f ); // sleep m_textSurviveTime.BeginTweening( 0.3f ); // fade in m_textSurviveTime.SetTweenDiffuse( RageColor(1,1,1,1) ); diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index 852183269e..6578927231 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -129,8 +129,8 @@ protected: TransitionBGAnimation m_In; TransitionBGAnimation m_Back; - BitmapText m_textSurviveTime; // only shown in extra stage - BitmapText m_StageName; + BitmapText m_textSurviveTime; // used in extra stage + BitmapText m_textSongTitle; Player m_Player[NUM_PLAYERS]; diff --git a/stepmania/src/ScreenJukeboxMenu.cpp b/stepmania/src/ScreenJukeboxMenu.cpp index 68ca5143e4..142a850e46 100644 --- a/stepmania/src/ScreenJukeboxMenu.cpp +++ b/stepmania/src/ScreenJukeboxMenu.cpp @@ -47,7 +47,7 @@ ScreenJukeboxMenu::ScreenJukeboxMenu() this->AddChild( &m_Menu ); - m_textExplanation.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textExplanation.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y ); m_textExplanation.SetText( EXPLANATION_TEXT ); m_textExplanation.SetZoom( 0.7f ); diff --git a/stepmania/src/ScreenLogo.cpp b/stepmania/src/ScreenLogo.cpp index 99fec66a02..655887329b 100644 --- a/stepmania/src/ScreenLogo.cpp +++ b/stepmania/src/ScreenLogo.cpp @@ -28,13 +28,13 @@ ScreenLogo::ScreenLogo() : ScreenAttract("ScreenLogo") m_sprLogo.Command( LOGO_ON_COMMAND ); this->AddChild( &m_sprLogo ); - m_textVersion.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textVersion.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textVersion.Command( VERSION_ON_COMMAND ); m_textVersion.SetText( "CVS" ); this->AddChild( &m_textVersion ); - m_textSongs.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textSongs.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textSongs.Command( SONGS_ON_COMMAND ); m_textSongs.SetText( ssprintf("%d songs in %d groups, %d courses", SONGMAN->GetNumSongs(), SONGMAN->GetNumGroups(), SONGMAN->GetNumCourses()) ); this->AddChild( &m_textSongs ); diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index bcc9deee6d..9594330ab6 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -65,7 +65,7 @@ public: ScreenSystemLayer::ScreenSystemLayer() { - m_textSystemMessage.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textSystemMessage.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textSystemMessage.SetHorizAlign( Actor::align_left ); m_textSystemMessage.SetVertAlign( Actor::align_top ); m_textSystemMessage.SetXY( 4.0f, 4.0f ); @@ -74,7 +74,7 @@ ScreenSystemLayer::ScreenSystemLayer() m_textSystemMessage.SetDiffuse( RageColor(1,1,1,0) ); this->AddChild(&m_textSystemMessage); - m_textStats.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textStats.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textStats.SetXY( STATS_X, STATS_Y ); m_textStats.SetHorizAlign( Actor::align_right ); m_textStats.SetVertAlign( Actor::align_top ); @@ -82,7 +82,7 @@ ScreenSystemLayer::ScreenSystemLayer() m_textStats.SetShadowLength( 2 ); this->AddChild(&m_textStats); - m_textSysTime.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textSysTime.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textSysTime.SetXY( 4.0f, 40.0f ); m_textSysTime.SetHorizAlign( Actor::align_left ); m_textSysTime.SetVertAlign( Actor::align_top ); @@ -93,7 +93,7 @@ ScreenSystemLayer::ScreenSystemLayer() for( int p=0; pGetPathTo("Fonts","credits") ); + m_textCreditInfo[p].LoadFromFont( THEME->GetPathTo("Fonts","ScreenManager credits") ); m_textCreditInfo[p].SetXY( CREDITS_X(p), CREDITS_Y(p) ); m_textCreditInfo[p].SetZoom( CREDITS_ZOOM ); m_textCreditInfo[p].SetDiffuse( CREDITS_COLOR ); @@ -120,7 +120,7 @@ ScreenSystemLayer::ScreenSystemLayer() /* This is somewhat big. Let's put it on the right side, where it'll * obscure the 2P side during gameplay; there's nowhere to put it that * doesn't obscure something, and it's just a diagnostic. */ - m_Skips[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_Skips[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_Skips[i].SetXY( SKIP_LEFT, SKIP_TOP + SKIP_Y_DIST*i ); m_Skips[i].SetHorizAlign( Actor::align_left ); m_Skips[i].SetVertAlign( Actor::align_top ); diff --git a/stepmania/src/ScreenMapControllers.cpp b/stepmania/src/ScreenMapControllers.cpp index 1b1bcbcd33..ff06b5f8ea 100644 --- a/stepmania/src/ScreenMapControllers.cpp +++ b/stepmania/src/ScreenMapControllers.cpp @@ -70,7 +70,7 @@ ScreenMapControllers::ScreenMapControllers() { for( int s=0; sGetPathTo("Fonts","normal") ); + m_textMappedTo[p][b][s].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textMappedTo[p][b][s].SetXY( BUTTON_COLUMN_X[p*NUM_GAME_TO_DEVICE_SLOTS+s], LINE_START_Y + b*LINE_GAP_Y ); m_textMappedTo[p][b][s].SetZoom( 0.5f ); m_textMappedTo[p][b][s].SetShadowLength( 2 ); @@ -79,7 +79,7 @@ ScreenMapControllers::ScreenMapControllers() } } - m_textError.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textError.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textError.SetText( "" ); m_textError.SetXY( CENTER_X, CENTER_Y ); m_textError.SetDiffuse( RageColor(0,1,0,0) ); diff --git a/stepmania/src/ScreenMiniMenu.cpp b/stepmania/src/ScreenMiniMenu.cpp index aaa578fc86..aea334030d 100644 --- a/stepmania/src/ScreenMiniMenu.cpp +++ b/stepmania/src/ScreenMiniMenu.cpp @@ -57,7 +57,7 @@ ScreenMiniMenu::ScreenMiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMes float fHeightOfAll = (m_Def.rows.size()-1)*SPACING_Y; - m_textTitle.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textTitle.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textTitle.SetText( m_Def.title ); m_textTitle.SetXY( CENTER_X, CENTER_Y - fHeightOfAll/2 - 30 ); m_textTitle.SetZoom( 0.8f ); @@ -75,7 +75,7 @@ ScreenMiniMenu::ScreenMiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMes float fY = SCALE( i, 0.f, m_Def.rows.size()-1.f, CENTER_Y-fHeightOfAll/2, CENTER_Y+fHeightOfAll/2 ); - m_textLabel[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textLabel[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textLabel[i].SetText( line.name ); m_textLabel[i].SetY( fY ); m_textLabel[i].SetZoom( ZOOM_NOT_SELECTED ); @@ -84,7 +84,7 @@ ScreenMiniMenu::ScreenMiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMes this->AddChild( &m_textLabel[i] ); CString sText = line.choices.empty() ? "" : line.choices[line.defaultChoice]; - m_textAnswer[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textAnswer[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textAnswer[i].SetText( sText ); m_textAnswer[i].SetY( fY ); m_textAnswer[i].SetZoom( ZOOM_NOT_SELECTED ); diff --git a/stepmania/src/ScreenNameEntry.cpp b/stepmania/src/ScreenNameEntry.cpp index dd15df00a6..4d7ce0f023 100644 --- a/stepmania/src/ScreenNameEntry.cpp +++ b/stepmania/src/ScreenNameEntry.cpp @@ -172,14 +172,14 @@ ScreenNameEntry::ScreenNameEntry() float ColX = pStyleDef->m_iCenterX[p] + pStyleDef->m_ColumnInfo[p][t].fXOffset; - m_textSelectedChars[p][t].LoadFromFont( THEME->GetPathTo("Fonts","ranking") ); + m_textSelectedChars[p][t].LoadFromFont( THEME->GetPathTo("Fonts","ScreenNameEntry letters") ); m_textSelectedChars[p][t].SetX( ColX ); m_textSelectedChars[p][t].SetY( GRAY_ARROWS_Y ); m_textSelectedChars[p][t].SetDiffuse( g_SelectedCharsColor ); m_textSelectedChars[p][t].SetZoom( CHARS_ZOOM_LARGE ); this->AddChild( &m_textSelectedChars[p][t] ); // draw these manually - m_textScrollingChars[p][t].LoadFromFont( THEME->GetPathTo("Fonts","ranking") ); + m_textScrollingChars[p][t].LoadFromFont( THEME->GetPathTo("Fonts","ScreenNameEntry letters") ); m_textScrollingChars[p][t].SetX( ColX ); m_textScrollingChars[p][t].SetY( GRAY_ARROWS_Y ); m_textScrollingChars[p][t].SetDiffuse( g_ScrollingCharsColor ); diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 94b37667f2..2abeefc3d2 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -131,7 +131,7 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRow[], int iNumOptionLin m_framePage.AddChild( &m_textOptions[i][0] ); // add explanation here so it appears on top - m_textExplanation.LoadFromFont( THEME->GetPathTo("Fonts","option explanation") ); + m_textExplanation.LoadFromFont( THEME->GetPathTo("Fonts","ScreenOptions explanation") ); m_textExplanation.SetXY( EXPLANATION_X, EXPLANATION_Y ); m_textExplanation.SetZoom( EXPLANATION_ZOOM ); m_textExplanation.SetShadowLength( 2 ); @@ -177,7 +177,7 @@ void ScreenOptions::InitOptionsText() BitmapText &title = m_textOptionLineTitles[i]; - title.LoadFromFont( THEME->GetPathTo("Fonts","option title") ); + title.LoadFromFont( THEME->GetPathTo("Fonts","ScreenOptions title") ); CString sText = optline.name; title.SetText( sText ); @@ -199,7 +199,7 @@ void ScreenOptions::InitOptionsText() { BitmapText &option = m_textOptions[i][j]; - option.LoadFromFont( THEME->GetPathTo("Fonts","option item") ); + option.LoadFromFont( THEME->GetPathTo("Fonts","ScreenOptions item") ); option.SetText( optline.choices[j] ); option.SetZoom( ITEMS_ZOOM ); option.EnableShadow( false ); @@ -213,7 +213,7 @@ void ScreenOptions::InitOptionsText() } BitmapText &option = m_textOptions[i][0]; - option.LoadFromFont( THEME->GetPathTo("Fonts","option item") ); + option.LoadFromFont( THEME->GetPathTo("Fonts","ScreenOptions item") ); option.SetText( "EXIT" ); option.SetZoom( ITEMS_ZOOM ); option.SetShadowLength( 2 ); diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index 70e2cf307e..2039146d6a 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -60,16 +60,6 @@ ScreenPlayerOptions::ScreenPlayerOptions() : true, false ); SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("player options intro") ); - - m_sprOptionsMessage.Load( THEME->GetPathTo("Graphics","ScreenPlayerOptions options") ); - m_sprOptionsMessage.StopAnimating(); - m_sprOptionsMessage.SetXY( CENTER_X, CENTER_Y ); - m_sprOptionsMessage.SetZoom( 1 ); - m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); - //this->AddChild( &m_sprOptionsMessage ); // we have to draw this manually over the top of transitions - - m_bAcceptedChoices = false; - m_bGoToOptions = false; } @@ -197,7 +187,7 @@ void ScreenPlayerOptions::GoToNextState() { if( GAMESTATE->m_bEditing ) SCREENMAN->PopTopScreen(); - else if( m_bGoToOptions ) + else if( PREFSMAN->m_bShowSongOptions ) SCREENMAN->SetNewScreen( "ScreenSongOptions" ); else SCREENMAN->SetNewScreen( "ScreenStage" ); @@ -207,60 +197,20 @@ void ScreenPlayerOptions::GoToNextState() void ScreenPlayerOptions::Update( float fDelta ) { ScreenOptions::Update( fDelta ); - m_sprOptionsMessage.Update( fDelta ); } void ScreenPlayerOptions::DrawPrimitives() { ScreenOptions::DrawPrimitives(); - m_sprOptionsMessage.Draw(); } void ScreenPlayerOptions::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) { - if( !GAMESTATE->m_bEditing && - !m_Menu.m_In.IsTransitioning() && - MenuI.IsValid() && - MenuI.button == MENU_BUTTON_START && - type != IET_RELEASE && - PREFSMAN->m_bShowSongOptions ) - { - if( m_bAcceptedChoices && !m_bGoToOptions ) - { - m_bGoToOptions = true; - m_sprOptionsMessage.SetState( 1 ); - SOUNDMAN->PlayOnce( THEME->GetPathTo("Sounds","Common start") ); - } - } - ScreenOptions::Input( DeviceI, type, GameI, MenuI, StyleI ); } void ScreenPlayerOptions::HandleScreenMessage( const ScreenMessage SM ) { - switch( SM ) - { - case SM_BeginFadingOut: // when the user accepts the page of options - { - m_bAcceptedChoices = true; - - if( !GAMESTATE->m_bEditing ) - { - float fShowSeconds = m_Menu.m_Out.GetLengthSeconds(); - - // show "hold START for options" - m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); - m_sprOptionsMessage.BeginTweening( 0.15f ); // fade in - m_sprOptionsMessage.SetTweenZoomY( 1 ); - m_sprOptionsMessage.SetTweenDiffuse( RageColor(1,1,1,1) ); - m_sprOptionsMessage.BeginTweening( fShowSeconds-0.3f ); // sleep - m_sprOptionsMessage.BeginTweening( 0.15f ); // fade out - m_sprOptionsMessage.SetTweenDiffuse( RageColor(1,1,1,0) ); - m_sprOptionsMessage.SetTweenZoomY( 0 ); - } - } - break; - } ScreenOptions::HandleScreenMessage( SM ); } \ No newline at end of file diff --git a/stepmania/src/ScreenPlayerOptions.h b/stepmania/src/ScreenPlayerOptions.h index 6dbd5df0a1..da20e8737b 100644 --- a/stepmania/src/ScreenPlayerOptions.h +++ b/stepmania/src/ScreenPlayerOptions.h @@ -31,10 +31,6 @@ private: void GoToNextState(); void GoToPrevState(); - - bool m_bAcceptedChoices; - bool m_bGoToOptions; - Sprite m_sprOptionsMessage; }; diff --git a/stepmania/src/ScreenPrompt.cpp b/stepmania/src/ScreenPrompt.cpp index 2689db1487..5fcf3cb59b 100644 --- a/stepmania/src/ScreenPrompt.cpp +++ b/stepmania/src/ScreenPrompt.cpp @@ -43,7 +43,7 @@ ScreenPrompt::ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, bool b m_Fade.CloseWipingRight(); this->AddChild( &m_Fade ); - m_textQuestion.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textQuestion.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textQuestion.SetText( sText ); m_textQuestion.SetXY( QUESTION_X, QUESTION_Y ); this->AddChild( &m_textQuestion ); diff --git a/stepmania/src/ScreenRanking.cpp b/stepmania/src/ScreenRanking.cpp index 55f80d016d..04d947ac00 100644 --- a/stepmania/src/ScreenRanking.cpp +++ b/stepmania/src/ScreenRanking.cpp @@ -47,12 +47,12 @@ const ScreenMessage SM_HidePage = (ScreenMessage)(SM_User+68); ScreenRanking::ScreenRanking() : ScreenAttract("ScreenRanking") { - m_textCategory.LoadFromFont( THEME->GetPathTo("Fonts","Header2") ); + m_textCategory.LoadFromFont( THEME->GetPathTo("Fonts","ScreenRanking title") ); m_textCategory.EnableShadow( false ); m_textCategory.SetXY( CATEGORY_X, CATEGORY_Y ); this->AddChild( &m_textCategory ); - m_textType.LoadFromFont( THEME->GetPathTo("Fonts","Header2") ); + m_textType.LoadFromFont( THEME->GetPathTo("Fonts","ScreenRanking title") ); m_textType.EnableShadow( false ); m_textType.SetXY( TYPE_X, TYPE_Y ); this->AddChild( &m_textType ); @@ -66,28 +66,28 @@ ScreenRanking::ScreenRanking() : ScreenAttract("ScreenRanking") m_sprBullets[i].SetState(i); this->AddChild( &m_sprBullets[i] ); - m_textNames[i].LoadFromFont( THEME->GetPathTo("Fonts","ranking") ); + m_textNames[i].LoadFromFont( THEME->GetPathTo("Fonts","ScreenRanking letters") ); m_textNames[i].EnableShadow( false ); m_textNames[i].SetXY( NAMES_START_X+LINE_SPACING_X*i, NAMES_START_Y+LINE_SPACING_Y*i ); m_textNames[i].SetZoom( TEXT_ZOOM ); m_textNames[i].SetHorizAlign( Actor::align_left ); this->AddChild( &m_textNames[i] ); - m_textScores[i].LoadFromFont( THEME->GetPathTo("Fonts","ranking") ); + m_textScores[i].LoadFromFont( THEME->GetPathTo("Fonts","ScreenRanking letters") ); m_textScores[i].EnableShadow( false ); m_textScores[i].SetXY( SCORES_START_X+LINE_SPACING_X*i, SCORES_START_Y+LINE_SPACING_Y*i ); m_textScores[i].SetZoom( TEXT_ZOOM ); m_textScores[i].SetHorizAlign( Actor::align_right ); this->AddChild( &m_textScores[i] ); - m_textPoints[i].LoadFromFont( THEME->GetPathTo("Fonts","ranking") ); + m_textPoints[i].LoadFromFont( THEME->GetPathTo("Fonts","ScreenRanking letters") ); m_textPoints[i].EnableShadow( false ); m_textPoints[i].SetXY( POINTS_START_X+LINE_SPACING_X*i, POINTS_START_Y+LINE_SPACING_Y*i ); m_textPoints[i].SetZoom( TEXT_ZOOM ); m_textPoints[i].SetHorizAlign( Actor::align_right ); this->AddChild( &m_textPoints[i] ); - m_textTime[i].LoadFromFont( THEME->GetPathTo("Fonts","ranking") ); + m_textTime[i].LoadFromFont( THEME->GetPathTo("Fonts","ScreenRanking letters") ); m_textTime[i].EnableShadow( false ); m_textTime[i].SetXY( TIME_START_X+LINE_SPACING_X*i, TIME_START_Y+LINE_SPACING_Y*i ); m_textTime[i].SetZoom( TEXT_ZOOM ); diff --git a/stepmania/src/ScreenSelectCourse.cpp b/stepmania/src/ScreenSelectCourse.cpp index f69ce9d0e2..30389b9757 100644 --- a/stepmania/src/ScreenSelectCourse.cpp +++ b/stepmania/src/ScreenSelectCourse.cpp @@ -83,14 +83,14 @@ ScreenSelectCourse::ScreenSelectCourse() m_sprBannerFrame.SetXY( BANNER_FRAME_X, BANNER_FRAME_Y ); this->AddChild( &m_sprBannerFrame ); - m_textNumSongs.LoadFromFont( THEME->GetPathTo("Fonts","ScreenSelectCourse num songs") ); - m_textNumSongs.SetXY( STAGES_X, STAGES_Y ); + m_textNumSongs.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectCourse num songs") ); m_textNumSongs.EnableShadow( false ); + m_textNumSongs.SetXY( STAGES_X, STAGES_Y ); this->AddChild( &m_textNumSongs ); - m_textTime.LoadFromFont( THEME->GetPathTo("Fonts","ScreenSelectCourse total time") ); - m_textTime.SetXY( TIME_X, TIME_Y ); + m_textTime.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectCourse total time") ); m_textTime.EnableShadow( false ); + m_textTime.SetXY( TIME_X, TIME_Y ); this->AddChild( &m_textTime ); m_CourseContentsFrame.SetXY( CONTENTS_X, CONTENTS_Y ); diff --git a/stepmania/src/ScreenSelectGroup.cpp b/stepmania/src/ScreenSelectGroup.cpp index 6565f90b80..a662fc4afa 100644 --- a/stepmania/src/ScreenSelectGroup.cpp +++ b/stepmania/src/ScreenSelectGroup.cpp @@ -133,7 +133,7 @@ ScreenSelectGroup::ScreenSelectGroup() m_sprFrame.Load( THEME->GetPathTo("Graphics","ScreenSelectGroup frame") ); this->AddChild( &m_sprFrame ); - m_textNumber.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectGroup numbers") ); + m_textNumber.LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectGroup num songs") ); this->AddChild( &m_textNumber ); m_sprContents.Load( THEME->GetPathTo("Graphics","ScreenSelectGroup contents") ); diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index a908d03ca7..4fde2b1830 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -117,7 +117,7 @@ ScreenSelectMusic::ScreenSelectMusic() this->AddChild( &m_GrooveRadar ); - m_textSongOptions.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textSongOptions.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); this->AddChild( &m_textSongOptions ); this->AddChild( &m_MusicWheel ); @@ -154,7 +154,7 @@ ScreenSelectMusic::ScreenSelectMusic() m_sprHighScoreFrame[p].SetState( p ); this->AddChild( &m_sprHighScoreFrame[p] ); - m_textHighScore[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectMusic score numbers") ); + m_textHighScore[p].LoadFromNumbers( THEME->GetPathTo("Numbers","ScreenSelectMusic score") ); m_textHighScore[p].EnableShadow( false ); m_textHighScore[p].SetDiffuse( PlayerToColor(p) ); this->AddChild( &m_textHighScore[p] ); diff --git a/stepmania/src/ScreenSelectStyle.cpp b/stepmania/src/ScreenSelectStyle.cpp index 0314307db4..b6e96ffca0 100644 --- a/stepmania/src/ScreenSelectStyle.cpp +++ b/stepmania/src/ScreenSelectStyle.cpp @@ -52,7 +52,7 @@ ScreenSelectStyle::ScreenSelectStyle() : ScreenSelect( "ScreenSelectStyle" ) CString sIconPath = THEME->GetPathTo("Graphics",sIconElementName); if( sIconPath.empty() ) // element doesn't exist { - m_textIcon[i].LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textIcon[i].LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textIcon[i].SetText( mc.name ); m_textIcon[i].SetZoom(0.5f); this->AddChild( &m_textIcon[i] ); diff --git a/stepmania/src/ScreenTestSound.cpp b/stepmania/src/ScreenTestSound.cpp index 9d8cc92691..246469ba8d 100644 --- a/stepmania/src/ScreenTestSound.cpp +++ b/stepmania/src/ScreenTestSound.cpp @@ -27,7 +27,7 @@ ScreenTestSound::ScreenTestSound() this->AddChild(&HEEEEEEEEELP); HEEEEEEEEELP.SetXY(450, 400); - HEEEEEEEEELP.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + HEEEEEEEEELP.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); HEEEEEEEEELP.SetZoom(.5); HEEEEEEEEELP.SetText( "p Play\n" @@ -39,7 +39,7 @@ ScreenTestSound::ScreenTestSound() for(i = 0; i < nsounds; ++i) { this->AddChild(&s[i].txt); - s[i].txt.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + s[i].txt.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); s[i].txt.SetZoom(.5); } diff --git a/stepmania/src/ScreenTextEntry.cpp b/stepmania/src/ScreenTextEntry.cpp index 1a831cb055..39d36f2c25 100644 --- a/stepmania/src/ScreenTextEntry.cpp +++ b/stepmania/src/ScreenTextEntry.cpp @@ -52,7 +52,7 @@ ScreenTextEntry::ScreenTextEntry( ScreenMessage SM_SendWhenDone, CString sQuesti m_Fade.CloseWipingRight(); this->AddChild( &m_Fade ); - m_textQuestion.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textQuestion.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textQuestion.SetText( sQuestion ); m_textQuestion.SetXY( QUESTION_X, QUESTION_Y ); this->AddChild( &m_textQuestion ); diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index 94d246e4a8..f46601d2bf 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -76,7 +76,7 @@ ScreenTitleMenu::ScreenTitleMenu() ASSERT(0); } - m_textHelp.LoadFromFont( THEME->GetPathTo("Fonts","help") ); + m_textHelp.LoadFromFont( THEME->GetPathTo("Fonts","ScreenTitleMenu help") ); CString sHelpText; switch( PREFSMAN->m_CoinMode ) { @@ -99,7 +99,7 @@ ScreenTitleMenu::ScreenTitleMenu() int i; for( i=0; iGetPathTo("Fonts","titlemenu") ); + m_textChoice[i].LoadFromFont( THEME->GetPathTo("Fonts","ScreenTitleMenu choices") ); m_textChoice[i].SetText( ChoiceToString((Choice)i) ); m_textChoice[i].SetXY( CHOICES_X, CHOICES_START_Y + i*CHOICES_SPACING_Y ); m_textChoice[i].SetShadowLength( CHOICES_SHADOW_LENGTH ); diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 14626efc6b..ea2e99fce1 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -60,7 +60,7 @@ IntDir=.\../Release6 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 @@ -95,7 +95,7 @@ IntDir=.\../Debug6 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 @@ -1068,6 +1068,14 @@ SOURCE=.\GroupList.h # End Source File # Begin Source File +SOURCE=.\HelpDisplay.cpp +# End Source File +# Begin Source File + +SOURCE=.\HelpDisplay.h +# End Source File +# Begin Source File + SOURCE=.\JukeboxMenu.cpp # End Source File # Begin Source File @@ -1196,14 +1204,6 @@ SOURCE=.\TextBanner.h # End Source File # Begin Source File -SOURCE=.\TipDisplay.cpp -# End Source File -# Begin Source File - -SOURCE=.\TipDisplay.h -# End Source File -# Begin Source File - SOURCE=.\WheelNotifyIcon.cpp # End Source File # Begin Source File diff --git a/stepmania/src/StepMania.vcproj b/stepmania/src/StepMania.vcproj index 349d2d2022..569b2b9d4e 100644 --- a/stepmania/src/StepMania.vcproj +++ b/stepmania/src/StepMania.vcproj @@ -1065,6 +1065,12 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ + + + + @@ -1167,12 +1173,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ - - - - diff --git a/stepmania/src/TextBanner.cpp b/stepmania/src/TextBanner.cpp index 5082aa02b1..030cce1d8b 100644 --- a/stepmania/src/TextBanner.cpp +++ b/stepmania/src/TextBanner.cpp @@ -67,9 +67,9 @@ TextBanner::TextBanner() g_fThreeLinesSubTitleY = THREE_LINES_SUB_TITLE_Y; g_fThreeLinesArtistY = THREE_LINES_ARTIST_Y; - m_textTitle.LoadFromFont( THEME->GetPathTo("Fonts","musicwheel text banner") ); - m_textSubTitle.LoadFromFont( THEME->GetPathTo("Fonts","musicwheel text banner") ); - m_textArtist.LoadFromFont( THEME->GetPathTo("Fonts","musicwheel text banner") ); + m_textTitle.LoadFromFont( THEME->GetPathTo("Fonts","TextBanner") ); + m_textSubTitle.LoadFromFont( THEME->GetPathTo("Fonts","TextBanner") ); + m_textArtist.LoadFromFont( THEME->GetPathTo("Fonts","TextBanner") ); m_textTitle.SetX( -g_fWidth/2 ); m_textSubTitle.SetX( -g_fWidth/2 ); diff --git a/stepmania/src/TransitionOniFade.cpp b/stepmania/src/TransitionOniFade.cpp index 53ff81d932..cacfc5e7b3 100644 --- a/stepmania/src/TransitionOniFade.cpp +++ b/stepmania/src/TransitionOniFade.cpp @@ -31,7 +31,7 @@ TransitionOniFade::TransitionOniFade() m_quadStrip.StretchTo( RectI(SCREEN_LEFT, int(CENTER_Y-30), SCREEN_RIGHT, int(CENTER_Y+30)) ); - m_textSongInfo.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); + m_textSongInfo.LoadFromFont( THEME->GetPathTo("Fonts","Common normal") ); m_textSongInfo.EnableShadow( false ); m_textSongInfo.SetZoom( 0.5f ); m_textSongInfo.SetXY( CENTER_X, CENTER_Y ); diff --git a/stepmania/src/smpackage/onvertThemeDlg.cpp b/stepmania/src/smpackage/onvertThemeDlg.cpp index 85e1a35de7..2d8478cd6d 100644 --- a/stepmania/src/smpackage/onvertThemeDlg.cpp +++ b/stepmania/src/smpackage/onvertThemeDlg.cpp @@ -211,20 +211,40 @@ bool FilesAreIdentical( CString sPath1, CString sPath2 ) FILE* fp1 = fopen( sPath1, "r" ); FILE* fp2 = fopen( sPath2, "r" ); + bool bReturn; + if( GetFileSizeInBytes(sPath1) != GetFileSizeInBytes(sPath2) ) - return false; + { + bReturn = false; + goto clean_up; + } char buffer1[1024], buffer2[1024]; ZERO( buffer1 ); ZERO( buffer2 ); while( !feof(fp1) ) { - fread( buffer1, 1, sizeof(buffer1), fp1 ); - fread( buffer2, 1, sizeof(buffer2), fp2 ); - if( memcmp( buffer1, buffer2, sizeof(buffer1) ) != 0 ) - return false; + int size1 = fread( buffer1, 1, sizeof(buffer1), fp1 ); + int size2 = fread( buffer2, 1, sizeof(buffer2), fp2 ); + if( size1 != size2 ) + { + bReturn = false; + goto clean_up; + } + if( memcmp( buffer1, buffer2, sizeof(size1) ) != 0 ) + { + bReturn = false; + goto clean_up; + } } - return true; + + bReturn = true; + goto clean_up; + +clean_up: + fclose( fp1 ); + fclose( fp2 ); + return bReturn; } CString StripExtension( CString sPath ) @@ -298,7 +318,8 @@ void ConvertThemeDlg::OnButtonAnalyze() if( sThemeElement.CompareNoCase(sBaseElement)==0 ) // file names match { - if( FilesAreIdentical( asThemeFilePaths[i], asBaseFilePaths[j] ) ) + bFoundMatch = true; + if( FilesAreIdentical( asThemeFilePaths[i], asBaseFilePaths[j] ) ) asRedundant.Add( asThemeFilePaths[i] ); break; // skip to next file in asThemeFilePaths } @@ -320,8 +341,8 @@ void ConvertThemeDlg::OnButtonAnalyze() fprintf( fp, asRedundant[i] + "\n" ); fprintf( fp, "\n" ); fprintf( fp, "The following elements are possibly MISNAMED.\n" - " (These files do not have a corresponding element in\n" - " the base theme. This likely means that there is an error in the file name.)\n" ); + " (These files do not have a corresponding element in the base theme.\n" + " This likely means that there is an error in the file name.)\n" ); for( i=0; i