various theme things

This commit is contained in:
AJ Kelly
2010-02-20 16:44:59 -06:00
parent cbda9d7914
commit 051f224ff1
11 changed files with 254 additions and 58 deletions
+8
View File
@@ -9,6 +9,14 @@ Not all changes are documented, for various reasons.
supported but exist anyways.) supported but exist anyways.)
_____________________________________________________________________________ _____________________________________________________________________________
20100219
--------
* sm4svn r28313: don't filter NoteSkins at a PrefsManager/NoteSkinManager level.
Leave the NoteSkin sorting and filtering up to the theme. [Chris Danford]
* load lighting from ActorFrame xnodes (in addition to Lua commands)
* add Cancel command on ScreenWithMenuElements, so other things can react
to Screen cancel.
20100218 20100218
-------- --------
* Added Fonts/ScreenReloadSongs LoadingText, making the text on * Added Fonts/ScreenReloadSongs LoadingText, making the text on
+5 -2
View File
@@ -154,8 +154,11 @@ Colors = {
Saturation(hInput) Saturation(hInput)
Alpha(hInput) Alpha(hInput)
HSV(iHue,fSaturation,fValue or any other overload) --]] HSV(iHue,fSaturation,fValue or any other overload) --]]
Alpha = function(cColor,fAlpha)
local c = cColor;
return { c[1],c[2],c[3],fAlpha };
end,
} }
--[[ Fallbacks ]] --[[ Fallbacks ]]
function Color(c) function Color(c)
return Colors[c]; return Colors[c];
@@ -164,7 +167,7 @@ end;
function BoostColor( cColor, fBoost ) function BoostColor( cColor, fBoost )
local c = cColor; local c = cColor;
return { c[1]*fBoost, c[2]*fBoost, c[3]*fBoost, c[4] }; return { c[1]*fBoost, c[2]*fBoost, c[3]*fBoost, c[4] };
end end;
function ColorLightTone(c) function ColorLightTone(c)
return { c[1]+(c[1]/2), c[2]+(c[2]/2), c[3]+(c[3]/2), c[4] }; return { c[1]+(c[1]/2), c[2]+(c[2]/2), c[3]+(c[3]/2), c[4] };
@@ -39,11 +39,10 @@ function Actor:xy(actorX,actorY)
self:y(actorY); self:y(actorY);
end; end;
-- MaskSource() -- MaskSource([clearzbuffer])
-- Sets an actor up as the source for a mask. -- Sets an actor up as the source for a mask. Clears zBuffer by default.
-- todo: pass in a variable that states whether or not to clearzbuffer function Actor:MaskSource(_)
function Actor:MaskSource() self:clearzbuffer(_ or true);
self:clearzbuffer(true);
self:zwrite(true); self:zwrite(true);
self:blend('BlendMode_NoEffect'); self:blend('BlendMode_NoEffect');
end; end;
@@ -130,8 +129,7 @@ end
--[[ end helper functions ]] --[[ end helper functions ]]
-- this code is in the public domain. -- this code is in the public domain.
--[[ Lists & Functions (sm-ssc specific code) ]] --[[ these should probably be moved into another file: ]]
function GameCompatibleModes() function GameCompatibleModes()
sGame = GAMESTATE:GetCurrentGame():GetName(); sGame = GAMESTATE:GetCurrentGame():GetName();
local Modes = { local Modes = {
+176 -31
View File
@@ -1,3 +1,7 @@
# This probably is hard to understand from the way it was made in the first
# place, so instead just pay attention to each group, which has tons of
# notes
# 01 # Global # 01 # Global
# 02 # Managers # 02 # Managers
# 03 # Singletons # 03 # Singletons
@@ -8,52 +12,74 @@
# 01 # # 01 #
[Global] [Global]
# This basically means that all other themes get information from this theme.
# It's really awesome for making mods n stuff
IsBaseTheme=1 IsBaseTheme=1
[Common] [Common]
# How big the design of the theme is. for example, if a theme was designed for
# 1080p, it would be shrunken for 640x480, as well as that, if it was designed
# for 480p, it would be enlarged for bigger screens!
ScreenWidth=640 ScreenWidth=640
ScreenHeight=480 ScreenHeight=480
# # Allows you to pick all available game modes for your gametype: for example,
# inserting enough coins for 1p would let you choose between solo, single
# and double before each game
AutoSetStyle=true AutoSetStyle=true
# # Default modifiers and noteskin.
DefaultModifiers="1.5x" DefaultModifiers="1.5x"
DefaultNoteSkinName="default" DefaultNoteSkinName="default"
# # Difficulties to show. Useful for custom games where you want to hide these.
DifficultiesToShow="beginner,easy,medium,hard,challenge" DifficultiesToShow="beginner,easy,medium,hard,challenge"
# Same as above, but for courses.
CourseDifficultiesToShow="easy,medium,hard" CourseDifficultiesToShow="easy,medium,hard"
# Things to hide. You couldn't play cabinet nayways.
StepsTypesToHide="lights-cabinet" StepsTypesToHide="lights-cabinet"
#~ StepsTypesToHide="dance-couple,dance-solo,pump-halfdouble,lights-cabinet" #~ StepsTypesToHide="dance-couple,dance-solo,pump-halfdouble,lights-cabinet"
# Useless?
MaxCourseEntriesBeforeShowVarious=10 MaxCourseEntriesBeforeShowVarious=10
# # Legacy metric: The first screen that shows up when you take forever to press
# start.
FirstAttractScreen="ScreenInit" FirstAttractScreen="ScreenInit"
# First screen that pops up when you start the game. ScreenInit in particular
# shows the theme information before going to the title screen.
InitialScreen="ScreenInit" InitialScreen="ScreenInit"
# Screens that show over everything else. you shouldn't worry bout this, since
# it wont matter much.
OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay" OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay"
# # Legacy metric: Percentage Scoring shows this many decimals ( 00.00% ).
PercentScoreDecimalPlaces=2 PercentScoreDecimalPlaces=2
# # What should certain player-only elements do. we usually just color them to
# show who's stuff is who's. you'd best leave this alone too.
ColorP1Command=diffuse,PlayerColor(PLAYER_1) ColorP1Command=diffuse,PlayerColor(PLAYER_1)
ColorP2Command=diffuse,PlayerColor(PLAYER_2) ColorP2Command=diffuse,PlayerColor(PLAYER_2)
# 02 # # 02 #
[LightsManager] [LightsManager]
# Mostly useless since it doesn't work, as well as that barely anyone has
# lights to play around with.
GameButtonsToShow="" GameButtonsToShow=""
LightEffectRiseSeconds=0.075 LightEffectRiseSeconds=0.075
LightEffectFallOffSeconds=0.35 LightEffectFallOffSeconds=0.35
LightEffectPulseTime=0.100 LightEffectPulseTime=0.100
[ProfileManager] [ProfileManager]
# I wouldn't change this either.
FixedProfiles=false FixedProfiles=false
NumFixedProfiles=1 NumFixedProfiles=1
[SongManager] [SongManager]
# How many different colors you can have in the MusicWheel
NumSongGroupColors=10 NumSongGroupColors=10
NumCourseGroupColors=1 NumCourseGroupColors=1
# # Legacy metric: how difficult a song has to be for it to glow.
ExtraColorMeter=10 ExtraColorMeter=10
# The maximum difficulty a OMES stage can be.
ExtraStage2DifficultyMax=8 ExtraStage2DifficultyMax=8
# # Allow special colors for unlocks and 'preffered' sort
UseUnlockColor=false UseUnlockColor=false
UsePreferredSortColor=false UsePreferredSortColor=false
# Unlocks go at the end so they're easy to find.
MoveUnlocksToBottomOfPreferredSort=false MoveUnlocksToBottomOfPreferredSort=false
# Lots of themes want more than one group color, so let them have this. # Lots of themes want more than one group color, so let them have this.
SongGroupColor1=color("#00aeef") -- blue SongGroupColor1=color("#00aeef") -- blue
@@ -66,16 +92,31 @@ SongGroupColor7=color("#00aeef") -- blue
SongGroupColor8=color("#00aeef") -- blue SongGroupColor8=color("#00aeef") -- blue
SongGroupColor9=color("#00aeef") -- blue SongGroupColor9=color("#00aeef") -- blue
SongGroupColor10=color("#00aeef") -- blue SongGroupColor10=color("#00aeef") -- blue
CourseGroupColor1=color("1,1,1,1") # Lots of themes want more than one course color, too
CourseGroupColor1=color("1,1,1,1") -- white
CourseGroupColor2=color("1,1,1,1") -- white
CourseGroupColor3=color("1,1,1,1") -- white
CourseGroupColor4=color("1,1,1,1") -- white
CourseGroupColor5=color("1,1,1,1") -- white
CourseGroupColor6=color("1,1,1,1") -- white
CourseGroupColor7=color("1,1,1,1") -- white
CourseGroupColor8=color("1,1,1,1") -- white
CourseGroupColor9=color("1,1,1,1") -- white
CourseGroupColor10=color("1,1,1,1") -- white
# as they say.
UnlockColor=color("1,0.5,0,1") UnlockColor=color("1,0.5,0,1")
ExtraColor=color("#ff0000") -- red ExtraColor=color("#ff0000") -- red
[UnlockManager] [UnlockManager]
# Unlock specific things. we'll go in-depth with this one day, but it really
# isnt what sm-ssc was designed for.
AutoLockChallengeSteps=false AutoLockChallengeSteps=false
UnlockNames="" UnlockNames=""
# 03 # # 03 #
[ArrowEffects] [ArrowEffects]
# Complicated stuff you probably shouldnt ever mess with or else you'll
# destroy mods completely!
FrameWidthEffectsPixelsPerSecond=400 FrameWidthEffectsPixelsPerSecond=400
FrameWidthEffectsMinMultiplier=0.5 FrameWidthEffectsMinMultiplier=0.5
FrameWidthEffectsMaxMultiplier=1.2 FrameWidthEffectsMaxMultiplier=1.2
@@ -84,7 +125,8 @@ FrameWidthLockEffectsTweenPixels=25
ArrowSpacing=64 ArrowSpacing=64
[Background] [Background]
# # Background stuff. again, its usually a better idea to leave this alone
# unless you truly need to change it, in which case you'd know what it does.
ShowDancingCharacters=true ShowDancingCharacters=true
UseStaticBackground=true UseStaticBackground=true
# #
@@ -96,10 +138,12 @@ TopEdge=SCREEN_TOP
BottomEdge=SCREEN_BOTTOM BottomEdge=SCREEN_BOTTOM
[Banner] [Banner]
# Scroll stuff when you roll over it, DDR Extreme style.
ScrollRandom=false ScrollRandom=false
ScrollRoulette=false ScrollRoulette=false
[BitmapText] [BitmapText]
# The colors in the 'roulette' text. you can have alot!
NumRainbowColors=7 NumRainbowColors=7
RainbowColor1=color("1.0,1.0,1.0,1") -- red RainbowColor1=color("1.0,1.0,1.0,1") -- red
RainbowColor2=color("0.8,0.2,0.6,1") -- pink RainbowColor2=color("0.8,0.2,0.6,1") -- pink
@@ -110,18 +154,28 @@ RainbowColor6=color("0.2,0.8,0.4,1") -- green
RainbowColor7=color("1.0,0.8,0.2,1") -- orange RainbowColor7=color("1.0,0.8,0.2,1") -- orange
[BPMDisplay] [BPMDisplay]
# Various commands for the BPMDisplay, ranging from no bpm, a non changing bpm,
# a bpm that changes, one that is 'random' ( boss songs ) and when a song is
# an es/omes!
SetNoBpmCommand=diffusetopedge,color("#777777");diffusebottomedge,color("#666666") SetNoBpmCommand=diffusetopedge,color("#777777");diffusebottomedge,color("#666666")
SetNormalCommand=diffusetopedge,color("#fbfb57");diffusebottomedge,color("#fb9c57") SetNormalCommand=diffusetopedge,color("#fbfb57");diffusebottomedge,color("#fb9c57")
SetChangeCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757") SetChangeCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757")
SetRandomCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757") SetRandomCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757")
SetExtraCommand=diffusetopedge,color("#fb5757");diffusebottomedge,color("#9c4242") SetExtraCommand=diffusetopedge,color("#fb5757");diffusebottomedge,color("#9c4242")
# Determines if it shows both bpms ( 000-100 ) or cycles between the min and
# max.
Cycle=true Cycle=true
# Text when there is no BPM
NoBpmText="000" NoBpmText="000"
RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster # How fast it cycles, smaller is faster
RandomCycleSpeed=0.2
# Seperator between both bpms ( 100-200 ).
Separator="-" Separator="-"
# ??? when it cycles.
ShowQMarksInRandomCycle=true ShowQMarksInRandomCycle=true
[CodeDetector] [CodeDetector]
# Codes on the MusicWheel that change stuff!
PrevSteps1="Up,Up" PrevSteps1="Up,Up"
PrevSteps2="MenuUp,MenuUp" PrevSteps2="MenuUp,MenuUp"
NextSteps1="Down,Down" NextSteps1="Down,Down"
@@ -149,10 +203,12 @@ HoldNotes="Right,Left,Down,Up"
Mines="" Mines=""
Dark="" Dark=""
CancelAll="Left,Right,Left,Right,Left,Right,Left,Right" CancelAll="Left,Right,Left,Right,Left,Right,Left,Right"
# Codes on the title screen.
NextTheme="Left,Left,Left,Right,Right,Right,Left,Right" NextTheme="Left,Left,Left,Right,Right,Right,Left,Right"
NextTheme2="MenuLeft,MenuLeft,MenuLeft,MenuRight,MenuRight,MenuRight,MenuLeft,MenuRight" NextTheme2="MenuLeft,MenuLeft,MenuLeft,MenuRight,MenuRight,MenuRight,MenuLeft,MenuRight"
NextAnnouncer="Left,Left,Right,Right,Left,Left,Right,Right" NextAnnouncer="Left,Left,Right,Right,Left,Left,Right,Right"
NextAnnouncer2="MenuLeft,MenuLeft,MenuRight,MenuRight,MenuLeft,MenuLeft,MenuRight,MenuRight" NextAnnouncer2="MenuLeft,MenuLeft,MenuRight,MenuRight,MenuLeft,MenuLeft,MenuRight,MenuRight"
# Various.
NextBannerGroup="MenuUp,MenuRight,MenuRight" NextBannerGroup="MenuUp,MenuRight,MenuRight"
NextBannerGroup2="MenuUp,MenuDown,MenuUp,MenuDown" NextBannerGroup2="MenuUp,MenuDown,MenuUp,MenuDown"
Hidden="" Hidden=""
@@ -163,35 +219,39 @@ CancelAllPlayerOptions="Left,Right,Left,Right,Left,Right"
BackInEventMode="" BackInEventMode=""
[CombinedLifeMeterTug] [CombinedLifeMeterTug]
# We dont use it.
MeterWidth=0.0 MeterWidth=0.0
MeterHeight=0.0 MeterHeight=0.0
[Combo] [Combo]
# System Direction
ShowComboAt=HitCombo() ShowComboAt=HitCombo()
ShowMissesAt=MissCombo() ShowMissesAt=MissCombo()
# Shrink and Grow the combo, DDR Style
NumberMinZoom=0.8 NumberMinZoom=0.8
NumberMaxZoom=1 NumberMaxZoom=1
NumberMaxZoomAt=100 NumberMaxZoomAt=100
# Things the combo does when you bang on it, and what the text does
PulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.4*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end PulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.4*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end
NumberOnCommand=y,240-216-2;shadowlength,1;horizalign,right;vertalign,bottom; NumberOnCommand=y,240-216-2;shadowlength,1;horizalign,right;vertalign,bottom;
LabelOnCommand=x,6;y,22;shadowlength,1;horizalign,left;vertalign,bottom LabelOnCommand=x,6;y,22;shadowlength,1;horizalign,left;vertalign,bottom
[HoldJudgment] [HoldJudgment]
# !!! # # System Direction
HoldJudgmentLetGoCommand=HoldJudgmentFail() HoldJudgmentLetGoCommand=HoldJudgmentFail()
HoldJudgmentHeldCommand=HoldJudgmentPass() HoldJudgmentHeldCommand=HoldJudgmentPass()
[HelpDisplay] [HelpDisplay]
# The help display on the menus, and what it does.
# How fast it changes between texts
TipShowTime=4 TipShowTime=4
# The Command when its made
TipOnCommand=shadowlength,0;diffuseblink TipOnCommand=shadowlength,0;diffuseblink
[Judgment] [Judgment]
# New # # New #
JudgmentOnCommand= JudgmentOnCommand=
# !!! # # Things the judgment does when you bang on it.
JudgmentW1Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,1,1,1,0;effectcolor2,1,1,1,0.8 JudgmentW1Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,1,1,1,0;effectcolor2,1,1,1,0.8
JudgmentW2Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 JudgmentW2Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
JudgmentW3Command=shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; JudgmentW3Command=shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;
@@ -200,8 +260,8 @@ JudgmentW5Command=shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude
JudgmentMissCommand=shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 JudgmentMissCommand=shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
[Protiming] [Protiming]
# Protiming isnt invented yet.
ProtimingOnCommand=y,24 ProtimingOnCommand=y,24
ProtimingW1Command= ProtimingW1Command=
ProtimingW2Command= ProtimingW2Command=
ProtimingW3Command= ProtimingW3Command=
@@ -210,6 +270,7 @@ ProtimingW5Command=
ProtimingMissCommand= ProtimingMissCommand=
[Course] [Course]
# What.. are these anyways?
SortPreferredColor=color("1,1,1,1") -- Preferred is both for when courses are in preferred sort, or are autogen SortPreferredColor=color("1,1,1,1") -- Preferred is both for when courses are in preferred sort, or are autogen
SortLevel1Color=color("1,0,0,1") SortLevel1Color=color("1,0,0,1")
SortLevel2Color=color("1,1,0,1") SortLevel2Color=color("1,1,0,1")
@@ -218,8 +279,12 @@ SortLevel4Color=color("1,1,0,1")
SortLevel5Color=color("0,1,0,1") SortLevel5Color=color("0,1,0,1")
[CustomDifficulty] [CustomDifficulty]
# Custom system that lets you rename certain classes of difficulties to
# something else. Mostly for custom games and game emulation, PIU for example.
# The names of which
Names="DanceCoupleBeginner,DanceCoupleEasy,DanceCoupleMedium,DanceCoupleHard,DanceCoupleExpert" Names="DanceCoupleBeginner,DanceCoupleEasy,DanceCoupleMedium,DanceCoupleHard,DanceCoupleExpert"
# # That get remapped to
DanceCoupleBeginnerStepsType="StepsType_Dance_Couple" DanceCoupleBeginnerStepsType="StepsType_Dance_Couple"
DanceCoupleBeginnerDifficulty="Difficulty_Beginner" DanceCoupleBeginnerDifficulty="Difficulty_Beginner"
DanceCoupleBeginnerString="Beginner" DanceCoupleBeginnerString="Beginner"
@@ -237,6 +302,9 @@ DanceCoupleExpertDifficulty="Difficulty_Expert"
DanceCoupleExpertString="Expert" DanceCoupleExpertString="Expert"
[CustomScoring] [CustomScoring]
# Custom scoring, usually good for custom games.
# Various tweakers
ComboAboveThresholdAddsToScoreBonus=0 ComboAboveThresholdAddsToScoreBonus=0
ComboScoreBonusThreshold=50 ComboScoreBonusThreshold=50
ComboScoreBonusValue=+1000 ComboScoreBonusValue=+1000
@@ -246,7 +314,7 @@ ComboMultiplier=0.0
DoubleNoteScoreMultiplier=2.0 DoubleNoteScoreMultiplier=2.0
TripleNoteScoreMultiplier=3.0 TripleNoteScoreMultiplier=3.0
QuadOrHigherNoteScoreMultiplier=4.0 QuadOrHigherNoteScoreMultiplier=4.0
# And what they award you
PointsW1=+50 PointsW1=+50
PointsW2=+20 PointsW2=+20
PointsW3=+10 PointsW3=+10
@@ -260,49 +328,65 @@ PointsNone=0
PointsHoldHeld=+5 PointsHoldHeld=+5
PointsHoldLetGo=-5 PointsHoldLetGo=-5
[DifficultyList] [DifficultyList]
# A list that shows difficulties in a song.
CapitalizeDifficultyNames=false CapitalizeDifficultyNames=false
# # How far away and how many items there are
ItemsSpacingY=40 ItemsSpacingY=40
NumShownItems=5 NumShownItems=5
# #
MoveCommand=decelerate,0.3 MoveCommand=decelerate,0.3
[FadingBanner] [FadingBanner]
# The banner on MusicWheel.
BannerOnCommand= BannerOnCommand=
# When it loads
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0
# When it loads into clarity
BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0
# ?
BannerResetFadeCommand=diffusealpha,1 BannerResetFadeCommand=diffusealpha,1
[Gameplay] [Gameplay]
# todo: make some of these play nice with other gametypes # System Direction
ComboIsPerRow=ComboPerRow() ComboIsPerRow=ComboPerRow()
MinScoreToContinueCombo=ComboContinue() MinScoreToContinueCombo=ComboContinue()
MinScoreToMaintainCombo=ComboMaintain() MinScoreToMaintainCombo=ComboMaintain()
# When you hit it, you know.
ToastyTriggersAt=250 ToastyTriggersAt=250
[GameState] [GameState]
# Default song and sort. these don't really matter
DefaultSong="" DefaultSong=""
DefaultSort="Group" DefaultSort="Group"
# # How good of a grade you have to get to get an ES/OMES. Locked to an 'AA'
GradeTierForExtra1="Grade_Tier02" GradeTierForExtra1="Grade_Tier02"
GradeTierForExtra2="Grade_Tier02" GradeTierForExtra2="Grade_Tier02"
# and how difficult that song you go thas to be
MinDifficultyForExtra="Difficulty_Hard" MinDifficultyForExtra="Difficulty_Hard"
# # System Direction
AreStagePlayerModsForced=AreStagePlayerModsForced AreStagePlayerModsForced=AreStagePlayerModsForced
AreStageSongModsForced=AreStageSongModsForced AreStageSongModsForced=AreStageSongModsForced
# # Let players join while you play if they put in some coins
AllowLateJoin=true AllowLateJoin=true
# Various feats that you can earn
ProfileRecordFeats=true ProfileRecordFeats=true
CategoryRecordFeats=true CategoryRecordFeats=true
# Disallow bad names
UseNameBlacklist=false UseNameBlacklist=false
# Alow OMES
AllowExtra2=true AllowExtra2=true
# # Don't let the player change difficulties on an ES/OMES
LockExtraStageSelection=true LockExtraStageSelection=true
[GrooveRadar] [GrooveRadar]
# Polar graph that shows difficulty stuff in depth
# how thick the line is
EdgeWidth=2 EdgeWidth=2
# ?
LabelOnDelay=0 LabelOnDelay=0
# How visible the middle is
CenterAlpha=0.25 CenterAlpha=0.25
# what to do with each players part of the graph
RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1) RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1)
RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2) RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2)
@@ -314,19 +398,31 @@ StartX=0
StartY=0 StartY=0
[HighScore] [HighScore]
# Default highscore name for no entries ( like how street fighter has ' CAP ' )
EmptyName="SSC!" EmptyName="SSC!"
[Inventory] [Inventory]
# ?
ItemUseRateSeconds=0.0 ItemUseRateSeconds=0.0
[LifeMeterBar] [LifeMeterBar]
# The default life bar you see in gameplay
# Percentage in which the game starts yelling at you to stop sucking
DangerThreshold=0.2 DangerThreshold=0.2
# And how much it starts up at.
InitialValue=0.5 InitialValue=0.5
# And how much it takes to get ravin'
HotValue=1.0 HotValue=1.0
# And how much there is to fill up ( only for debug )
LifeMultiplier=1.0 LifeMultiplier=1.0
# How good you gotta hit it to keep it alive. ( W3 is 'Great' );
MinStayAlive="TapNoteScore_W3" MinStayAlive="TapNoteScore_W3"
FlashHotOnNoteHit=false # Freiza Hack. Ugh
MinScoreToFlash="TapNoteScore_W3" # FlashHotOnNoteHit=false
# MinScoreToFlash="TapNoteScore_W3"
# How much it changes
LifePercentChangeW1=0.008 LifePercentChangeW1=0.008
LifePercentChangeW2=0.008 LifePercentChangeW2=0.008
LifePercentChangeW3=0.004 LifePercentChangeW3=0.004
@@ -338,6 +434,8 @@ LifePercentChangeHeld=0.008
LifePercentChangeLetGo=-0.080 LifePercentChangeLetGo=-0.080
LifePercentChangeCheckpointMiss=-0.002 LifePercentChangeCheckpointMiss=-0.002
LifePercentChangeCheckpointHit=0.002 LifePercentChangeCheckpointHit=0.002
# And various positionings
UnderX=0 UnderX=0
UnderY=0 UnderY=0
DangerX=0 DangerX=0
@@ -347,19 +445,24 @@ StreamY=0
OverX=0 OverX=0
OverY=0 OverY=0
[LifeMeterBattery] [LifeMeterBattery]
# The bar that shows up in Oni mode.
# How long it flashes when you lose a life.
BatteryBlinkTime=1.2 BatteryBlinkTime=1.2
# # Where the batteries are
BatteryP1X=-92 BatteryP1X=-92
BatteryP1Y=2 BatteryP1Y=2
BatteryP2X=92 BatteryP2X=92
BatteryP2Y=2 BatteryP2Y=2
# # Where your live count is
NumLivesP1X=-92 NumLivesP1X=-92
NumLivesP1Y=0 NumLivesP1Y=0
NumLivesP2X=92 NumLivesP2X=92
NumLivesP2Y=0 NumLivesP2Y=0
[LifeMeterBattery Percent] [LifeMeterBattery Percent]
# The percentage on the bar. I wouldn't even bother changing this, because I
# havent and I *made* this theme :\
Format= Format=
PercentUseRemainder=false PercentUseRemainder=false
ApplyScoreDisplayOptions=true ApplyScoreDisplayOptions=true
@@ -386,10 +489,15 @@ DancePointsP2OffCommand=
[LifeMeterTime] [LifeMeterTime]
# The Lifemeter that shows up when you're playing survival.
# When it starts telling you to stop sucking.
DangerThreshold=0.3 DangerThreshold=0.3
# How good it's filled up when you start
InitialValue=0.5 InitialValue=0.5
MeterWidth=0.0 MeterWidth=0.0
MeterHeight=0.0 MeterHeight=0.0
# How little there is to fill?
MinLifeTime=25.5 MinLifeTime=25.5
[LyricDisplay] [LyricDisplay]
@@ -716,7 +824,7 @@ HoldJudgmentYStandard=-90
HoldJudgmentYReverse=90 HoldJudgmentYReverse=90
BrightGhostComboThreshold=100 BrightGhostComboThreshold=100
DrawDistanceBeforeTargetsPixels=400 DrawDistanceBeforeTargetsPixels=400
DrawDistanceAfterTargetsPixels=-60 DrawDistanceAfterTargetsPixels=-128
TapJudgmentsUnderField=false TapJudgmentsUnderField=false
HoldJudgmentsUnderField=false HoldJudgmentsUnderField=false
ComboUnderField=true ComboUnderField=true
@@ -761,8 +869,44 @@ ApproachSeconds=1
[ScoreDisplayNormal] [ScoreDisplayNormal]
FrameX= FrameX=
FrameY= FrameY=
FrameOnCommand=
FrameOffCommand=
TextX= TextX=
TextY= TextY=
TextOnCommand=
TextOffCommand=
[ScoreDisplayLifeTime]
FrameX=
FrameY=
FrameOnCommand=
FrameOffCommand=
#
TextX=
TextY=
TextOnCommand=
TextOffCommand=
#
TimeRemainingX=
TimeRemainingY=
TimeRemainingOnCommand=
TimeRemainingOffCommand=
#
DeltaSecondsOnCommand=
DeltaSecondsNoneCommand=
DeltaSecondsHitMineCommand=
DeltaSecondsAvoidMineCommand=
DeltaSecondsCheckpointMissCommand=
DeltaSecondsCheckpointHitCommand=
DeltaSecondsMissCommand=
DeltaSecondsW5Command=
DeltaSecondsW4Command=
DeltaSecondsW3Command=
DeltaSecondsW2Command=
DeltaSecondsW1Command=
DeltaSecondsLetGoCommand=
DeltaSecondsHeldCommand=
DeltaSecondsGainLifeCommand=
[ScoreDisplayPercentage Percent] [ScoreDisplayPercentage Percent]
PercentP1X=0 PercentP1X=0
@@ -1542,6 +1686,7 @@ NextSort2=
NextSort3= NextSort3=
NextSort4= NextSort4=
[StepsDisplay] [StepsDisplay]
FrameX=0 FrameX=0
FrameY=0 FrameY=0
@@ -2555,7 +2700,7 @@ MinSecondsToStep=6.0
MinSecondsToMusic=2.0 MinSecondsToMusic=2.0
MinSecondsToStepNextSong=2.0 MinSecondsToStepNextSong=2.0
MusicFadeOutSeconds=0.5 MusicFadeOutSeconds=0.5
OutTransitionLength=2 OutTransitionLength=5
CourseTransitionLength=0.5 CourseTransitionLength=0.5
BeginFailedDelay=1.0 BeginFailedDelay=1.0
# #
@@ -0,0 +1,6 @@
return Def.ActorFrame{
Def.Quad{
InitCommand=cmd(FullScreen;diffuse,color("0,0,0,0"));
OnCommand=cmd(linear,5;diffusealpha,1);
};
};
@@ -47,7 +47,8 @@ t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay");
t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel"); t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel");
t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. { t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. {
SetCommand=function(self) SetCommand=function(self)
local curSelection, length = nil; local curSelection = nil;
local length = 0.0;
if GAMESTATE:IsCourseMode() then if GAMESTATE:IsCourseMode() then
curSelection = GAMESTATE:GetCurrentCourse(); curSelection = GAMESTATE:GetCurrentCourse();
self:playcommand("Reset"); self:playcommand("Reset");
@@ -61,16 +62,17 @@ t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. {
self:playcommand("Reset"); self:playcommand("Reset");
if curSelection then if curSelection then
length = curSelection:MusicLengthSeconds(); length = curSelection:MusicLengthSeconds();
if curSelection:IsLong() then
self:playcommand("Long");
elseif curSelection:IsMarathon() then
self:playcommand("Marathon");
else
self:playcommand("Reset");
end
else else
length = 0.0; length = 0.0;
end;
if curSelection:IsLong() then
self:playcommand("Long");
elseif curSelection:IsMarathon() then
self:playcommand("Marathon");
else
self:playcommand("Reset"); self:playcommand("Reset");
end end;
end; end;
self:settext( SecondsToMSS(length) ); self:settext( SecondsToMSS(length) );
end; end;
@@ -99,8 +101,29 @@ if not GAMESTATE:IsCourseMode() then
end; end;
}; };
t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay");
end; end;
if GAMESTATE:IsCourseMode() then
t[#t+1] = StandardDecorationFromFileOptional("NumCourseSongs","NumCourseSongs")..{
InitCommand=cmd(horizalign,right);
SetCommand=function(self)
local curSelection= nil;
local sAppend = "";
if GAMESTATE:IsCourseMode() then
curSelection = GAMESTATE:GetCurrentCourse();
if curSelection then
sAppend = (curSelection:GetEstimatedNumStages() == 1) and "Stage" or "Stages";
self:visible(true);
self:settext( curSelection:GetEstimatedNumStages() .. " " .. sAppend);
else
self:visible(false);
end;
else
self:visible(false);
end;
end;
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
};
end
t[#t+1] = StandardDecorationFromFileOptional("SortOrder","SortOrderText") .. { t[#t+1] = StandardDecorationFromFileOptional("SortOrder","SortOrderText") .. {
BeginCommand=cmd(playcommand,"Set"); BeginCommand=cmd(playcommand,"Set");
SortOrderChangedMessageCommand=cmd(playcommand,"Set";); SortOrderChangedMessageCommand=cmd(playcommand,"Set";);
@@ -5,7 +5,7 @@ t[#t+1] = Def.Quad {
t[#t+1] = Def.Sprite { t[#t+1] = Def.Sprite {
InitCommand=cmd(Center); InitCommand=cmd(Center);
BeginCommand=function(self) BeginCommand=function(self)
if not GAMESTATE:IsCourseMode() then if GAMESTATE:GetCurrentSong() then
self:LoadBackground( GAMESTATE:GetCurrentSong():GetBackgroundPath() ); self:LoadBackground( GAMESTATE:GetCurrentSong():GetBackgroundPath() );
end; end;
end; end;
@@ -0,0 +1 @@
ScoreDisplayNormal frame
@@ -1,6 +1,6 @@
return Def.CourseContentsList { return Def.CourseContentsList {
MaxSongs = 4; MaxSongs = 4;
NumItemsToDraw = 8; -- Doesn't scroll anymore. NumItemsToDraw = 8; -- xxx: Doesn't scroll anymore.
--[[ InitCommand=cmd(x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y+91); --[[ InitCommand=cmd(x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y+91);
OnCommand=cmd(zoomy,0;bounceend,0.3;zoom,1); OnCommand=cmd(zoomy,0;bounceend,0.3;zoom,1);
OffCommand=cmd(zoomy,1;bouncebegin,0.3;zoomy,0); --]] OffCommand=cmd(zoomy,1;bouncebegin,0.3;zoomy,0); --]]
@@ -9,8 +9,8 @@ return Def.CourseContentsList {
SetCommand=function(self) SetCommand=function(self)
self:SetFromGameState(); self:SetFromGameState();
self:SetCurrentAndDestinationItem(0); self:SetCurrentAndDestinationItem(0);
self:SetLoop(false); self:SetLoop(false);
self:SetMask(270,44); self:SetMask(270,44);
end; end;
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set"); CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set"); CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
@@ -81,6 +81,5 @@ return Def.CourseContentsList {
SetSongCommand=function(self, params) self:settext(params.Modifiers); end; SetSongCommand=function(self, params) self:settext(params.Modifiers); end;
}; --]] }; --]]
}; };
}; };
@@ -0,0 +1,2 @@
return LoadFont("Common Normal") .. {
};
+12 -1
View File
@@ -43,7 +43,7 @@ LabelOnCommand=x,6;y,22;shadowlength,1;horizalign,left;vertalign,bottom
[FadingBanner] [FadingBanner]
BannerOnCommand= BannerOnCommand=
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Color("White");decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Colors.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible");
BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0
BannerResetFadeCommand=diffusealpha,1 BannerResetFadeCommand=diffusealpha,1
@@ -897,6 +897,7 @@ SongTimeY=SCREEN_TOP+160+(36/2)+8
SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1 SongTimeOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1
SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0; SongTimeOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0;
SongTimeResetCommand=diffuse,Color("White"); SongTimeResetCommand=diffuse,Color("White");
SongTimeAutogenCommand=diffuse,Color("Green");
SongTimeLongCommand=diffusebottomedge,Color("Blue"); SongTimeLongCommand=diffusebottomedge,Color("Blue");
SongTimeMarathonCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange"); SongTimeMarathonCommand=diffuse,Color("Yellow");diffusebottomedge,Color("Orange");
# #
@@ -960,6 +961,12 @@ CourseContentsListY=SCREEN_TOP+216+6
CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X CourseContentsListOnCommand=addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X
CourseContentsListOffCommand=bouncebegin,0.15;zoomx,0; CourseContentsListOffCommand=bouncebegin,0.15;zoomx,0;
# #
ShowNumCourseSongs=false
NumCourseSongsX=SCREEN_CENTER_X-160+128
NumCourseSongsY=SCREEN_TOP+160+(36/2)+8
NumCourseSongsOnCommand=zoom,0.75;strokecolor,Color("Outline");shadowlength,1
NumCourseSongsOffCommand=bouncebegin,0.15;zoom,0;diffusealpha,0;
#
ShowSongOptions=true ShowSongOptions=true
SongOptionsX=SCREEN_CENTER_X SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_CENTER_Y SongOptionsY=SCREEN_CENTER_Y
@@ -1032,6 +1039,10 @@ DefaultSort="Nonstop"
# #
ShowDifficultyList=false ShowDifficultyList=false
ShowCourseContentsList=true ShowCourseContentsList=true
ShowNumCourseSongs=true
#
UsePlayerSelectMenu=false
SelectMenuAvailable=false
[ScreenNetSelectMusic] [ScreenNetSelectMusic]
StepsDisplayP1X=SCREEN_CENTER_X-240 StepsDisplayP1X=SCREEN_CENTER_X-240