merge
This commit is contained in:
+26
-2
@@ -8,10 +8,34 @@ ________________________________________________________________________________
|
|||||||
StepMania 5.0 $next | 2011????
|
StepMania 5.0 $next | 2011????
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
2011/09/24
|
||||||
|
----------
|
||||||
|
* [ScreenEdit] Disable shifting timing changes down one beat if starting on
|
||||||
|
beat 0. Important information must stay on that beat. [Wolfman2000]
|
||||||
|
* [ScreenEdit] Disable converting rows to a stop or beat starting on beat 0.
|
||||||
|
There should be no reason for this at this time. [Wolfman2000]
|
||||||
|
|
||||||
|
2011/09/23
|
||||||
|
----------
|
||||||
|
* [ScreenEvaluation] Added RollingNumbersMaxComboClass metric. [AJ]
|
||||||
|
* [NotesLoaderSM] Fix loading .sm files with non standard difficulty names.
|
||||||
|
It should be Hard, not Heavy. [Wolfman2000]
|
||||||
|
|
||||||
|
2011/09/22
|
||||||
|
----------
|
||||||
|
* [ScreenDebugOverlay] Replaced hardcoded toggle command with
|
||||||
|
ButtonTextToggledCommand metric. [AJ]
|
||||||
|
* [LoadingWindow_Win32] Make the StepMania window gain focus after the
|
||||||
|
loading window closes. Fixes issue 424. [AJ]
|
||||||
|
|
||||||
|
2011/09/21
|
||||||
|
----------
|
||||||
|
* [FadingBanner] Added LoadRandom(), LoadRoulette(), LoadFallback(),
|
||||||
|
LoadCourseFallback(), and GetBanner(int) Lua bindings. [AJ]
|
||||||
|
|
||||||
2011/09/18
|
2011/09/18
|
||||||
----------
|
----------
|
||||||
* [Song] Added GetSampleStart() and GetSampleLength()
|
* [Song] Added GetSampleStart() and GetSampleLength() Lua bindings. [Wolfman2000]
|
||||||
Lua bindings. [Wolfman2000]
|
|
||||||
|
|
||||||
2011/09/16
|
2011/09/16
|
||||||
----------
|
----------
|
||||||
|
|||||||
@@ -1972,8 +1972,8 @@
|
|||||||
Returns the current Premium.
|
Returns the current Premium.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetSmallestNumStagesLeftForAnyHumanPlayer' return='int' arguments=''>
|
<Function name='GetSmallestNumStagesLeftForAnyHumanPlayer' return='int' arguments=''>
|
||||||
<!-- Returns the smallest number of stages left for any human player. -->
|
<!-- Kind of does what it says on the tin. -->
|
||||||
Kind of does what it says on the tin.
|
Returns the smallest number of stages left for any human player.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetSongBeat' theme='_fallback' return='float' arguments=''>
|
<Function name='GetSongBeat' theme='_fallback' return='float' arguments=''>
|
||||||
[01 compat.lua] Returns the current beat of the song.
|
[01 compat.lua] Returns the current beat of the song.
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
local t = Def.ActorFrame{
|
||||||
|
LoadActor("noise")..{
|
||||||
|
Name="Noise";
|
||||||
|
InitCommand=cmd(Center;texturewrapping,true;SetTextureFiltering,false;zoom,2;diffusealpha,0;);
|
||||||
|
OnCommand=cmd(linear,1;diffusealpha,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
local function Update(self)
|
||||||
|
local c = self:GetChild("Noise");
|
||||||
|
local x = math.random();
|
||||||
|
local y = math.random();
|
||||||
|
c:customtexturerect(0+x,0+y,2+x,2+y);
|
||||||
|
end;
|
||||||
|
t.InitCommand = cmd(SetUpdateFunction,Update);
|
||||||
|
|
||||||
|
return t;
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 305 KiB |
@@ -1 +1 @@
|
|||||||
MusicWheelItem Roulette NormalPart
|
_blank
|
||||||
@@ -1 +1 @@
|
|||||||
MusicWheelItem Roulette NormalPart
|
_blank
|
||||||
@@ -1 +1 @@
|
|||||||
MusicWheelItem Roulette NormalPart
|
_blank
|
||||||
@@ -1 +1 @@
|
|||||||
MusicWheelItem Roulette NormalPart
|
_blank
|
||||||
@@ -40,6 +40,10 @@ Branch = {
|
|||||||
return "ScreenLogo"
|
return "ScreenLogo"
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
NoiseTrigger = function()
|
||||||
|
local hour = Hour()
|
||||||
|
return hour > 3 and hour < 6 and "ScreenNoise" or "ScreenInit"
|
||||||
|
end,
|
||||||
TitleMenu = function()
|
TitleMenu = function()
|
||||||
-- home mode is the most assumed use of sm-ssc.
|
-- home mode is the most assumed use of sm-ssc.
|
||||||
if GAMESTATE:GetCoinMode() == "CoinMode_Home" then
|
if GAMESTATE:GetCoinMode() == "CoinMode_Home" then
|
||||||
|
|||||||
@@ -181,11 +181,13 @@ function HoldTiming()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function ShowHoldJudgments()
|
function ShowHoldJudgments()
|
||||||
return not GAMESTATE:GetCurrentGame():GetName() == "pump"
|
local isPump = GAMESTATE:GetCurrentGame():GetName() == "pump"
|
||||||
|
return isPump and false or true
|
||||||
end
|
end
|
||||||
|
|
||||||
function HoldHeadStep()
|
function HoldHeadStep()
|
||||||
return not GAMESTATE:GetCurrentGame():GetName() == "pump"
|
local isPump = GAMESTATE:GetCurrentGame():GetName() == "pump"
|
||||||
|
return isPump and false or true
|
||||||
end
|
end
|
||||||
|
|
||||||
function InitialHoldLife()
|
function InitialHoldLife()
|
||||||
|
|||||||
@@ -1085,6 +1085,9 @@ TextFormat="%04.0f"
|
|||||||
ApproachSeconds=1
|
ApproachSeconds=1
|
||||||
Commify=false
|
Commify=false
|
||||||
|
|
||||||
|
[RollingNumbersMaxCombo]
|
||||||
|
Fallback="RollingNumbersJudgment"
|
||||||
|
|
||||||
[ScoreDisplayNormal]
|
[ScoreDisplayNormal]
|
||||||
FrameX=
|
FrameX=
|
||||||
FrameY=
|
FrameY=
|
||||||
@@ -1355,6 +1358,7 @@ LineButtonX=SCREEN_CENTER_X-50
|
|||||||
LineFunctionX=SCREEN_CENTER_X-30
|
LineFunctionX=SCREEN_CENTER_X-30
|
||||||
|
|
||||||
ButtonTextOnCommand=NoStroke;zoom,0.8
|
ButtonTextOnCommand=NoStroke;zoom,0.8
|
||||||
|
ButtonTextToggledCommand=accelerate,0.025;glow,color("1,0,0,1");sleep,0.125;decelerate,0.2;glow,color("1,0,0,0");
|
||||||
FunctionTextOnCommand=NoStroke;zoom,0.8
|
FunctionTextOnCommand=NoStroke;zoom,0.8
|
||||||
|
|
||||||
PageStartX=SCREEN_CENTER_X-100
|
PageStartX=SCREEN_CENTER_X-100
|
||||||
@@ -1372,8 +1376,6 @@ HeaderTextX=SCREEN_LEFT+80
|
|||||||
HeaderTextY=SCREEN_TOP+18
|
HeaderTextY=SCREEN_TOP+18
|
||||||
HeaderTextOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5")
|
HeaderTextOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5")
|
||||||
HeaderTextOffCommand=
|
HeaderTextOffCommand=
|
||||||
|
|
||||||
LineOnCommand=zoom,0.75
|
|
||||||
#
|
#
|
||||||
|
|
||||||
[ScreenSystemLayer]
|
[ScreenSystemLayer]
|
||||||
@@ -2916,7 +2918,7 @@ PageFadeSeconds=1.0
|
|||||||
CoursesToShow=GetCoursesToShowRanking()
|
CoursesToShow=GetCoursesToShowRanking()
|
||||||
SecondsPerPage=5
|
SecondsPerPage=5
|
||||||
#
|
#
|
||||||
RankingType="Category"
|
RankingType="RankingType_Category"
|
||||||
#
|
#
|
||||||
RowSpacingX=0
|
RowSpacingX=0
|
||||||
RowSpacingY=60
|
RowSpacingY=60
|
||||||
@@ -3233,6 +3235,7 @@ MaxComboNumDigits=4
|
|||||||
#
|
#
|
||||||
ShowBannerArea=true
|
ShowBannerArea=true
|
||||||
RollingNumbersClass="RollingNumbersJudgment"
|
RollingNumbersClass="RollingNumbersJudgment"
|
||||||
|
RollingNumbersMaxComboClass="RollingNumbersMaxCombo"
|
||||||
#
|
#
|
||||||
ShowSharedJudgmentLineLabels=false
|
ShowSharedJudgmentLineLabels=false
|
||||||
ShowJudgmentLineW1=false
|
ShowJudgmentLineW1=false
|
||||||
@@ -4128,11 +4131,13 @@ BodyHeight=38
|
|||||||
[ComboGraph]
|
[ComboGraph]
|
||||||
BodyWidth=140
|
BodyWidth=140
|
||||||
|
|
||||||
# Arcade
|
# Arcade #################################
|
||||||
[ScreenLogo]
|
[ScreenLogo]
|
||||||
Fallback="ScreenAttract"
|
Fallback="ScreenAttract"
|
||||||
PrevScreen=Branch.Init()
|
PrevScreen=Branch.Init()
|
||||||
NextScreen="ScreenHowToPlay"
|
# crashes!
|
||||||
|
#NextScreen="ScreenHowToPlay"
|
||||||
|
NextScreen="ScreenDemonstration"
|
||||||
StartScreen=Branch.TitleMenu()
|
StartScreen=Branch.TitleMenu()
|
||||||
TimerSeconds=5
|
TimerSeconds=5
|
||||||
ForceTimer=true
|
ForceTimer=true
|
||||||
@@ -4176,19 +4181,10 @@ SongBPM=100
|
|||||||
NumW2s=4
|
NumW2s=4
|
||||||
NumMisses=6
|
NumMisses=6
|
||||||
|
|
||||||
[ScreenTitleJoin]
|
|
||||||
Fallback="ScreenTitleMenu"
|
|
||||||
ChoiceNames="GameStart"
|
|
||||||
|
|
||||||
# ScrollerOnCommand=visible,false
|
|
||||||
IdleCommentSeconds=-1
|
|
||||||
IdleTimeoutSeconds=-1
|
|
||||||
IdleTimeoutScreen=Branch.AfterInit()
|
|
||||||
|
|
||||||
[ScreenDemonstration]
|
[ScreenDemonstration]
|
||||||
Fallback="ScreenGameplay"
|
Fallback="ScreenGameplay"
|
||||||
Class="ScreenDemonstration"
|
Class="ScreenDemonstration"
|
||||||
NextScreen="ScreenInit"
|
NextScreen=Branch.NoiseTrigger()
|
||||||
StartScreen=Branch.TitleMenu()
|
StartScreen=Branch.TitleMenu()
|
||||||
PlayMusic=false
|
PlayMusic=false
|
||||||
SecondsToShow=60
|
SecondsToShow=60
|
||||||
@@ -4202,6 +4198,24 @@ AllowStyleTypes="TwoPlayersTwoSides"
|
|||||||
MinSecondsToStep=0
|
MinSecondsToStep=0
|
||||||
MinSecondsToMusic=0
|
MinSecondsToMusic=0
|
||||||
|
|
||||||
|
[ScreenNoise]
|
||||||
|
Fallback="ScreenAttract"
|
||||||
|
Class="ScreenAttract"
|
||||||
|
NextScreen="ScreenInit"
|
||||||
|
PrevScreen="ScreenInit"
|
||||||
|
TimerSeconds=10800
|
||||||
|
ShowCreditDisplay=false
|
||||||
|
|
||||||
|
[ScreenTitleJoin]
|
||||||
|
Fallback="ScreenTitleMenu"
|
||||||
|
ChoiceNames="GameStart"
|
||||||
|
|
||||||
|
# ScrollerOnCommand=visible,false
|
||||||
|
IdleCommentSeconds=-1
|
||||||
|
IdleTimeoutSeconds=-1
|
||||||
|
IdleTimeoutScreen=Branch.AfterInit()
|
||||||
|
|
||||||
|
# Jukebox ###################
|
||||||
[ScreenJukeboxMenu]
|
[ScreenJukeboxMenu]
|
||||||
Class="ScreenOptionsMaster"
|
Class="ScreenOptionsMaster"
|
||||||
Fallback="ScreenPlayerOptions"
|
Fallback="ScreenPlayerOptions"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ local function UpdateSingleBPM(self)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local displaySingle = Def.ActorFrame{
|
local displaySingle = Def.ActorFrame{
|
||||||
-- manual bpm displays
|
-- manual bpm display
|
||||||
LoadFont("BPMDisplay", "bpm")..{
|
LoadFont("BPMDisplay", "bpm")..{
|
||||||
Name="BPMDisplay";
|
Name="BPMDisplay";
|
||||||
InitCommand=cmd(zoom,0.675;shadowlength,1);
|
InitCommand=cmd(zoom,0.675;shadowlength,1);
|
||||||
|
|||||||
@@ -940,24 +940,28 @@ PaneDisplayFrameP1X=SCREEN_CENTER_X-160
|
|||||||
PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2
|
PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2
|
||||||
PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||||
PaneDisplayFrameP1OffCommand=bouncebegin,0.15;zoomx,0;
|
PaneDisplayFrameP1OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
|
PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end
|
||||||
#
|
#
|
||||||
ShowPaneDisplayTextP1=true
|
ShowPaneDisplayTextP1=true
|
||||||
PaneDisplayTextP1X=SCREEN_CENTER_X-160
|
PaneDisplayTextP1X=SCREEN_CENTER_X-160
|
||||||
PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2
|
PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2
|
||||||
PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||||
PaneDisplayTextP1OffCommand=bouncebegin,0.15;zoomx,0;
|
PaneDisplayTextP1OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
|
PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end
|
||||||
#
|
#
|
||||||
ShowPaneDisplayFrameP2=true
|
ShowPaneDisplayFrameP2=true
|
||||||
PaneDisplayFrameP2X=SCREEN_CENTER_X+160
|
PaneDisplayFrameP2X=SCREEN_CENTER_X+160
|
||||||
PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2
|
PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2
|
||||||
PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||||
PaneDisplayFrameP2OffCommand=bouncebegin,0.15;zoomx,0;
|
PaneDisplayFrameP2OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
|
PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end
|
||||||
#
|
#
|
||||||
ShowPaneDisplayTextP2=true
|
ShowPaneDisplayTextP2=true
|
||||||
PaneDisplayTextP2X=SCREEN_CENTER_X+160
|
PaneDisplayTextP2X=SCREEN_CENTER_X+160
|
||||||
PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2
|
PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2
|
||||||
PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||||
PaneDisplayTextP2OffCommand=bouncebegin,0.15;zoomx,0;
|
PaneDisplayTextP2OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
|
PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end
|
||||||
#
|
#
|
||||||
ShowCourseContentsList=false
|
ShowCourseContentsList=false
|
||||||
CourseContentsListX=SCREEN_CENTER_X-160
|
CourseContentsListX=SCREEN_CENTER_X-160
|
||||||
@@ -1336,7 +1340,7 @@ BPMDisplayY=SCREEN_BOTTOM-16
|
|||||||
BPMDisplayOnCommand=draworder,101
|
BPMDisplayOnCommand=draworder,101
|
||||||
BPMDisplayOffCommand=bounceend,0.25;zoom,0
|
BPMDisplayOffCommand=bounceend,0.25;zoom,0
|
||||||
#
|
#
|
||||||
ShowStageDisplay=true
|
ShowStageDisplay=not GAMESTATE:IsCourseMode()
|
||||||
StageDisplayX=SCREEN_CENTER_X
|
StageDisplayX=SCREEN_CENTER_X
|
||||||
StageDisplayY=SCREEN_TOP+24
|
StageDisplayY=SCREEN_TOP+24
|
||||||
StageDisplayOnCommand=zoom,0.675;
|
StageDisplayOnCommand=zoom,0.675;
|
||||||
|
|||||||
@@ -1996,8 +1996,8 @@
|
|||||||
36CA531B0F91564A0063D59D /* ScreenOptionsCourseOverview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsCourseOverview.h; path = ../src/ScreenOptionsCourseOverview.h; sourceTree = SOURCE_ROOT; };
|
36CA531B0F91564A0063D59D /* ScreenOptionsCourseOverview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsCourseOverview.h; path = ../src/ScreenOptionsCourseOverview.h; sourceTree = SOURCE_ROOT; };
|
||||||
36CA531E0F9156860063D59D /* ScreenOptionsEditCourse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenOptionsEditCourse.cpp; path = ../src/ScreenOptionsEditCourse.cpp; sourceTree = SOURCE_ROOT; };
|
36CA531E0F9156860063D59D /* ScreenOptionsEditCourse.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ScreenOptionsEditCourse.cpp; path = ../src/ScreenOptionsEditCourse.cpp; sourceTree = SOURCE_ROOT; };
|
||||||
36CA531F0F9156860063D59D /* ScreenOptionsEditCourse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsEditCourse.h; path = ../src/ScreenOptionsEditCourse.h; sourceTree = SOURCE_ROOT; };
|
36CA531F0F9156860063D59D /* ScreenOptionsEditCourse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ScreenOptionsEditCourse.h; path = ../src/ScreenOptionsEditCourse.h; sourceTree = SOURCE_ROOT; };
|
||||||
AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorMultiTexture.cpp; path = ../src/ActorMultiTexture.cpp; sourceTree = "<group>"; };
|
AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorMultiTexture.cpp; path = ../src/Actors/ActorMultiTexture.cpp; sourceTree = "<group>"; };
|
||||||
AA059ABB0B8CCFB5006F8139 /* ActorMultiTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorMultiTexture.h; path = ../src/ActorMultiTexture.h; sourceTree = "<group>"; };
|
AA059ABB0B8CCFB5006F8139 /* ActorMultiTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorMultiTexture.h; path = ../src/Actors/ActorMultiTexture.h; sourceTree = "<group>"; };
|
||||||
AA059E2A0B8F0C66006F8139 /* libz_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libz_link.a; sourceTree = "<group>"; };
|
AA059E2A0B8F0C66006F8139 /* libz_link.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libz_link.a; sourceTree = "<group>"; };
|
||||||
AA05A0AE0BA2EFF3006F8139 /* OptionsList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsList.cpp; path = ../src/OptionsList.cpp; sourceTree = "<group>"; };
|
AA05A0AE0BA2EFF3006F8139 /* OptionsList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsList.cpp; path = ../src/OptionsList.cpp; sourceTree = "<group>"; };
|
||||||
AA05A0AF0BA2EFF3006F8139 /* OptionsList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OptionsList.h; path = ../src/OptionsList.h; sourceTree = "<group>"; };
|
AA05A0AF0BA2EFF3006F8139 /* OptionsList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OptionsList.h; path = ../src/OptionsList.h; sourceTree = "<group>"; };
|
||||||
@@ -2141,8 +2141,8 @@
|
|||||||
AA5C73FC0637A5F000AFB891 /* StepsUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StepsUtil.h; path = ../src/StepsUtil.h; sourceTree = "<group>"; };
|
AA5C73FC0637A5F000AFB891 /* StepsUtil.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = StepsUtil.h; path = ../src/StepsUtil.h; sourceTree = "<group>"; };
|
||||||
AA5D16550A79805C00F17E86 /* RageTextureRenderTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageTextureRenderTarget.cpp; path = ../src/RageTextureRenderTarget.cpp; sourceTree = "<group>"; };
|
AA5D16550A79805C00F17E86 /* RageTextureRenderTarget.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = RageTextureRenderTarget.cpp; path = ../src/RageTextureRenderTarget.cpp; sourceTree = "<group>"; };
|
||||||
AA5D16560A79805C00F17E86 /* RageTextureRenderTarget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageTextureRenderTarget.h; path = ../src/RageTextureRenderTarget.h; sourceTree = "<group>"; };
|
AA5D16560A79805C00F17E86 /* RageTextureRenderTarget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = RageTextureRenderTarget.h; path = ../src/RageTextureRenderTarget.h; sourceTree = "<group>"; };
|
||||||
AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorFrameTexture.cpp; path = ../src/ActorFrameTexture.cpp; sourceTree = "<group>"; };
|
AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorFrameTexture.cpp; path = ../src/Actors/ActorFrameTexture.cpp; sourceTree = "<group>"; };
|
||||||
AA5D166B0A798C0E00F17E86 /* ActorFrameTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorFrameTexture.h; path = ../src/ActorFrameTexture.h; sourceTree = "<group>"; };
|
AA5D166B0A798C0E00F17E86 /* ActorFrameTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorFrameTexture.h; path = ../src/Actors/ActorFrameTexture.h; sourceTree = "<group>"; };
|
||||||
AA608EBF0B0F85E400B39AC4 /* DialogDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DialogDriver.cpp; sourceTree = "<group>"; };
|
AA608EBF0B0F85E400B39AC4 /* DialogDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DialogDriver.cpp; sourceTree = "<group>"; };
|
||||||
AA608FAC0B0F9A4E00B39AC4 /* RageSoundDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RageSoundDriver.cpp; sourceTree = "<group>"; };
|
AA608FAC0B0F9A4E00B39AC4 /* RageSoundDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RageSoundDriver.cpp; sourceTree = "<group>"; };
|
||||||
AA6090E40B141D1C00B39AC4 /* GamePreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = GamePreferences.cpp; path = ../src/GamePreferences.cpp; sourceTree = "<group>"; };
|
AA6090E40B141D1C00B39AC4 /* GamePreferences.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = GamePreferences.cpp; path = ../src/GamePreferences.cpp; sourceTree = "<group>"; };
|
||||||
@@ -2426,12 +2426,12 @@
|
|||||||
AA6EFF3004770F63005F316C /* ScoreKeeper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreKeeper.h; path = ../src/ScoreKeeper.h; sourceTree = "<group>"; };
|
AA6EFF3004770F63005F316C /* ScoreKeeper.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScoreKeeper.h; path = ../src/ScoreKeeper.h; sourceTree = "<group>"; };
|
||||||
AA6EFF7004770F86005F316C /* Transition.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Transition.cpp; path = ../src/Transition.cpp; sourceTree = "<group>"; };
|
AA6EFF7004770F86005F316C /* Transition.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Transition.cpp; path = ../src/Transition.cpp; sourceTree = "<group>"; };
|
||||||
AA6EFF7104770F86005F316C /* Transition.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Transition.h; path = ../src/Transition.h; sourceTree = "<group>"; };
|
AA6EFF7104770F86005F316C /* Transition.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Transition.h; path = ../src/Transition.h; sourceTree = "<group>"; };
|
||||||
AA6EFF7504770FFD005F316C /* Actor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../src/Actor.cpp; sourceTree = "<group>"; };
|
AA6EFF7504770FFD005F316C /* Actor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../src/Actors/Actor.cpp; sourceTree = "<group>"; };
|
||||||
AA6EFF7604770FFD005F316C /* Actor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Actor.h; path = ../src/Actor.h; sourceTree = "<group>"; };
|
AA6EFF7604770FFD005F316C /* Actor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Actor.h; path = ../src/Actors/Actor.h; sourceTree = "<group>"; };
|
||||||
AA6EFF7704770FFD005F316C /* ActorFrame.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorFrame.cpp; path = ../src/ActorFrame.cpp; sourceTree = "<group>"; };
|
AA6EFF7704770FFD005F316C /* ActorFrame.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorFrame.cpp; path = ../src/Actors/ActorFrame.cpp; sourceTree = "<group>"; };
|
||||||
AA6EFF7804770FFD005F316C /* ActorFrame.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorFrame.h; path = ../src/ActorFrame.h; sourceTree = "<group>"; };
|
AA6EFF7804770FFD005F316C /* ActorFrame.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorFrame.h; path = ../src/Actors/ActorFrame.h; sourceTree = "<group>"; };
|
||||||
AA6EFF7904770FFD005F316C /* ActorScroller.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorScroller.cpp; path = ../src/ActorScroller.cpp; sourceTree = "<group>"; };
|
AA6EFF7904770FFD005F316C /* ActorScroller.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorScroller.cpp; path = ../src/Actors/ActorScroller.cpp; sourceTree = "<group>"; };
|
||||||
AA6EFF7A04770FFD005F316C /* ActorScroller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorScroller.h; path = ../src/ActorScroller.h; sourceTree = "<group>"; };
|
AA6EFF7A04770FFD005F316C /* ActorScroller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorScroller.h; path = ../src/Actors/ActorScroller.h; sourceTree = "<group>"; };
|
||||||
AA6EFFB904770FFD005F316C /* BitmapText.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BitmapText.cpp; path = ../src/BitmapText.cpp; sourceTree = "<group>"; };
|
AA6EFFB904770FFD005F316C /* BitmapText.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = BitmapText.cpp; path = ../src/BitmapText.cpp; sourceTree = "<group>"; };
|
||||||
AA6EFFBA04770FFD005F316C /* BitmapText.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BitmapText.h; path = ../src/BitmapText.h; sourceTree = "<group>"; };
|
AA6EFFBA04770FFD005F316C /* BitmapText.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = BitmapText.h; path = ../src/BitmapText.h; sourceTree = "<group>"; };
|
||||||
AA6EFFBD04770FFD005F316C /* Model.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Model.cpp; path = ../src/Model.cpp; sourceTree = "<group>"; };
|
AA6EFFBD04770FFD005F316C /* Model.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Model.cpp; path = ../src/Model.cpp; sourceTree = "<group>"; };
|
||||||
@@ -2974,8 +2974,8 @@
|
|||||||
AACA592C07B5E23400763545 /* RageUtil_AutoPtr.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_AutoPtr.h; path = ../src/RageUtil_AutoPtr.h; sourceTree = "<group>"; };
|
AACA592C07B5E23400763545 /* RageUtil_AutoPtr.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_AutoPtr.h; path = ../src/RageUtil_AutoPtr.h; sourceTree = "<group>"; };
|
||||||
AACA592D07B5E23400763545 /* RageUtil_WorkerThread.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_WorkerThread.cpp; path = ../src/RageUtil_WorkerThread.cpp; sourceTree = "<group>"; };
|
AACA592D07B5E23400763545 /* RageUtil_WorkerThread.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageUtil_WorkerThread.cpp; path = ../src/RageUtil_WorkerThread.cpp; sourceTree = "<group>"; };
|
||||||
AACA592E07B5E23400763545 /* RageUtil_WorkerThread.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_WorkerThread.h; path = ../src/RageUtil_WorkerThread.h; sourceTree = "<group>"; };
|
AACA592E07B5E23400763545 /* RageUtil_WorkerThread.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageUtil_WorkerThread.h; path = ../src/RageUtil_WorkerThread.h; sourceTree = "<group>"; };
|
||||||
AACFBE2608E7D793005087FC /* ActorSound.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorSound.cpp; path = ../src/ActorSound.cpp; sourceTree = "<group>"; };
|
AACFBE2608E7D793005087FC /* ActorSound.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorSound.cpp; path = ../src/Actors/ActorSound.cpp; sourceTree = "<group>"; };
|
||||||
AACFBE2708E7D793005087FC /* ActorSound.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorSound.h; path = ../src/ActorSound.h; sourceTree = "<group>"; };
|
AACFBE2708E7D793005087FC /* ActorSound.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorSound.h; path = ../src/Actors/ActorSound.h; sourceTree = "<group>"; };
|
||||||
AACFBE3908E7D832005087FC /* InputEventPlus.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = InputEventPlus.h; path = ../src/InputEventPlus.h; sourceTree = "<group>"; };
|
AACFBE3908E7D832005087FC /* InputEventPlus.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = InputEventPlus.h; path = ../src/InputEventPlus.h; sourceTree = "<group>"; };
|
||||||
AACFBE4908E7D893005087FC /* ScreenGameplayLesson.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenGameplayLesson.cpp; path = ../src/ScreenGameplayLesson.cpp; sourceTree = "<group>"; };
|
AACFBE4908E7D893005087FC /* ScreenGameplayLesson.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ScreenGameplayLesson.cpp; path = ../src/ScreenGameplayLesson.cpp; sourceTree = "<group>"; };
|
||||||
AACFBE4A08E7D893005087FC /* ScreenGameplayLesson.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenGameplayLesson.h; path = ../src/ScreenGameplayLesson.h; sourceTree = "<group>"; };
|
AACFBE4A08E7D893005087FC /* ScreenGameplayLesson.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ScreenGameplayLesson.h; path = ../src/ScreenGameplayLesson.h; sourceTree = "<group>"; };
|
||||||
@@ -3094,8 +3094,8 @@
|
|||||||
AAFC7FF00513A67700D02EE9 /* RageSoundReader_FileReader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_FileReader.cpp; path = ../src/RageSoundReader_FileReader.cpp; sourceTree = "<group>"; };
|
AAFC7FF00513A67700D02EE9 /* RageSoundReader_FileReader.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_FileReader.cpp; path = ../src/RageSoundReader_FileReader.cpp; sourceTree = "<group>"; };
|
||||||
AAFC7FF10513A67700D02EE9 /* RageSoundReader_MP3.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_MP3.cpp; path = ../src/RageSoundReader_MP3.cpp; sourceTree = "<group>"; };
|
AAFC7FF10513A67700D02EE9 /* RageSoundReader_MP3.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = RageSoundReader_MP3.cpp; path = ../src/RageSoundReader_MP3.cpp; sourceTree = "<group>"; };
|
||||||
AAFC7FF20513A67700D02EE9 /* RageSoundReader_MP3.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_MP3.h; path = ../src/RageSoundReader_MP3.h; sourceTree = "<group>"; };
|
AAFC7FF20513A67700D02EE9 /* RageSoundReader_MP3.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = RageSoundReader_MP3.h; path = ../src/RageSoundReader_MP3.h; sourceTree = "<group>"; };
|
||||||
AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorProxy.cpp; path = ../src/ActorProxy.cpp; sourceTree = "<group>"; };
|
AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorProxy.cpp; path = ../src/Actors/ActorProxy.cpp; sourceTree = "<group>"; };
|
||||||
AAFE710A0A91ADE6005F2290 /* ActorProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorProxy.h; path = ../src/ActorProxy.h; sourceTree = "<group>"; };
|
AAFE710A0A91ADE6005F2290 /* ActorProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorProxy.h; path = ../src/Actors/ActorProxy.h; sourceTree = "<group>"; };
|
||||||
AAFE711C0A91B551005F2290 /* RageSurface_Save_PNG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageSurface_Save_PNG.cpp; path = ../src/RageSurface_Save_PNG.cpp; sourceTree = "<group>"; };
|
AAFE711C0A91B551005F2290 /* RageSurface_Save_PNG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RageSurface_Save_PNG.cpp; path = ../src/RageSurface_Save_PNG.cpp; sourceTree = "<group>"; };
|
||||||
AAFE711D0A91B551005F2290 /* RoomInfoDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RoomInfoDisplay.cpp; path = ../src/RoomInfoDisplay.cpp; sourceTree = "<group>"; };
|
AAFE711D0A91B551005F2290 /* RoomInfoDisplay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RoomInfoDisplay.cpp; path = ../src/RoomInfoDisplay.cpp; sourceTree = "<group>"; };
|
||||||
AAFE711E0A91B551005F2290 /* RoomInfoDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RoomInfoDisplay.h; path = ../src/RoomInfoDisplay.h; sourceTree = "<group>"; };
|
AAFE711E0A91B551005F2290 /* RoomInfoDisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RoomInfoDisplay.h; path = ../src/RoomInfoDisplay.h; sourceTree = "<group>"; };
|
||||||
|
|||||||
@@ -165,7 +165,6 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
|
|||||||
// todo: make sure these aren't generating bogus entries due
|
// todo: make sure these aren't generating bogus entries due
|
||||||
// to a lack of songs. -aj
|
// to a lack of songs. -aj
|
||||||
int iNumSongs = SONGMAN->GetNumSongs();
|
int iNumSongs = SONGMAN->GetNumSongs();
|
||||||
LOG->Trace("[CourseLoaderCRS] sParams[1] = %s",sParams[1].c_str());
|
|
||||||
// most played
|
// most played
|
||||||
if( sParams[1].Left(strlen("BEST")) == "BEST" )
|
if( sParams[1].Left(strlen("BEST")) == "BEST" )
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -295,6 +295,10 @@ public:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static int LoadFromSongGroup( T* p, lua_State *L ) { p->LoadFromSongGroup( SArg(1) ); return 0; }
|
static int LoadFromSongGroup( T* p, lua_State *L ) { p->LoadFromSongGroup( SArg(1) ); return 0; }
|
||||||
|
static int LoadRandom( T* p, lua_State *L ) { p->LoadRandom(); return 0; }
|
||||||
|
static int LoadRoulette( T* p, lua_State *L ) { p->LoadRoulette(); return 0; }
|
||||||
|
static int LoadCourseFallback( T* p, lua_State *L ) { p->LoadCourseFallback(); return 0; }
|
||||||
|
static int LoadFallback( T* p, lua_State *L ) { p->LoadFallback(); return 0; }
|
||||||
static int GetLatestIndex( T* p, lua_State *L ){ lua_pushnumber( L, p->GetLatestIndex() ); return 1; }
|
static int GetLatestIndex( T* p, lua_State *L ){ lua_pushnumber( L, p->GetLatestIndex() ); return 1; }
|
||||||
|
|
||||||
LunaFadingBanner()
|
LunaFadingBanner()
|
||||||
@@ -306,7 +310,13 @@ public:
|
|||||||
ADD_METHOD( LoadFromCourse );
|
ADD_METHOD( LoadFromCourse );
|
||||||
ADD_METHOD( LoadIconFromCharacter );
|
ADD_METHOD( LoadIconFromCharacter );
|
||||||
ADD_METHOD( LoadCardFromCharacter );
|
ADD_METHOD( LoadCardFromCharacter );
|
||||||
|
ADD_METHOD( LoadRandom );
|
||||||
|
ADD_METHOD( LoadRoulette );
|
||||||
|
ADD_METHOD( LoadCourseFallback );
|
||||||
|
ADD_METHOD( LoadFallback );
|
||||||
|
//ADD_METHOD( LoadFromSortOrder );
|
||||||
ADD_METHOD( GetLatestIndex );
|
ADD_METHOD( GetLatestIndex );
|
||||||
|
//ADD_METHOD( GetBanner );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ public:
|
|||||||
virtual void DrawPrimitives();
|
virtual void DrawPrimitives();
|
||||||
|
|
||||||
int GetLatestIndex(){ return m_iIndexLatest; }
|
int GetLatestIndex(){ return m_iIndexLatest; }
|
||||||
|
Banner GetBanner(int i){ return m_Banner[i]; }
|
||||||
|
|
||||||
// Lua
|
// Lua
|
||||||
void PushSelf( lua_State *L );
|
void PushSelf( lua_State *L );
|
||||||
|
|||||||
@@ -1459,6 +1459,12 @@ void GameState::RemoveAllActiveAttacks() // called on end of song
|
|||||||
m_pPlayerState[p]->RemoveActiveAttacks();
|
m_pPlayerState[p]->RemoveActiveAttacks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameState::AddStageToPlayer( PlayerNumber pn )
|
||||||
|
{
|
||||||
|
// Add one stage more to player (bonus) -cerbo
|
||||||
|
++m_iPlayerStageTokens[pn];
|
||||||
|
}
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
void setmin( T &a, const T &b )
|
void setmin( T &a, const T &b )
|
||||||
{
|
{
|
||||||
@@ -2430,6 +2436,7 @@ public:
|
|||||||
lua_pushboolean(L, p->m_bDopefish);
|
lua_pushboolean(L, p->m_bDopefish);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
static int AddStageToPlayer( T* p, lua_State *L ) { p->AddStageToPlayer(Enum::Check<PlayerNumber>(L, 1)); return 0; }
|
||||||
|
|
||||||
LunaGameState()
|
LunaGameState()
|
||||||
{
|
{
|
||||||
@@ -2531,6 +2538,7 @@ public:
|
|||||||
ADD_METHOD( SetCharacter );
|
ADD_METHOD( SetCharacter );
|
||||||
ADD_METHOD( GetExpandedSectionName );
|
ADD_METHOD( GetExpandedSectionName );
|
||||||
ADD_METHOD( Dopefish );
|
ADD_METHOD( Dopefish );
|
||||||
|
ADD_METHOD( AddStageToPlayer );
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ public:
|
|||||||
bool HaveProfileToLoad();
|
bool HaveProfileToLoad();
|
||||||
bool HaveProfileToSave();
|
bool HaveProfileToSave();
|
||||||
void SaveLocalData();
|
void SaveLocalData();
|
||||||
|
void AddStageToPlayer( PlayerNumber pn );
|
||||||
void LoadCurrentSettingsFromProfile( PlayerNumber pn );
|
void LoadCurrentSettingsFromProfile( PlayerNumber pn );
|
||||||
/**
|
/**
|
||||||
* @brief Save the specified player's settings to his/her profile.
|
* @brief Save the specified player's settings to his/her profile.
|
||||||
|
|||||||
+6
-6
@@ -454,12 +454,12 @@ RageUtil_AutoPtr.h \
|
|||||||
RageUtil_WorkerThread.cpp RageUtil_WorkerThread.h
|
RageUtil_WorkerThread.cpp RageUtil_WorkerThread.h
|
||||||
|
|
||||||
Actors = \
|
Actors = \
|
||||||
Actor.cpp Actor.h ActorFrame.cpp ActorFrame.h \
|
Actors/Actor.cpp Actors/Actor.h Actors/ActorFrame.cpp Actors/ActorFrame.h \
|
||||||
ActorFrameTexture.cpp ActorFrameTexture.h \
|
Actors/ActorFrameTexture.cpp Actors/ActorFrameTexture.h \
|
||||||
ActorMultiTexture.cpp ActorMultiTexture.h \
|
Actors/ActorMultiTexture.cpp Actors/ActorMultiTexture.h \
|
||||||
ActorProxy.cpp ActorProxy.h \
|
Actors/ActorProxy.cpp Actors/ActorProxy.h \
|
||||||
ActorScroller.cpp ActorScroller.h ActorUtil.cpp ActorUtil.h \
|
Actors/ActorScroller.cpp Actors/ActorScroller.h ActorUtil.cpp ActorUtil.h \
|
||||||
ActorSound.cpp ActorSound.h \
|
Actors/ActorSound.cpp Actors/ActorSound.h \
|
||||||
AutoActor.cpp AutoActor.h \
|
AutoActor.cpp AutoActor.h \
|
||||||
BitmapText.cpp BitmapText.h Model.cpp Model.h \
|
BitmapText.cpp BitmapText.h Model.cpp Model.h \
|
||||||
DynamicActorScroller.cpp DynamicActorScroller.h \
|
DynamicActorScroller.cpp DynamicActorScroller.h \
|
||||||
|
|||||||
+16
-2
@@ -88,7 +88,7 @@ void SMLoader::LoadFromTokens(
|
|||||||
out.SetDescription( sDescription );
|
out.SetDescription( sDescription );
|
||||||
out.SetCredit( sDescription ); // this is often used for both.
|
out.SetCredit( sDescription ); // this is often used for both.
|
||||||
out.SetChartName(sDescription); // yeah, one more for good measure.
|
out.SetChartName(sDescription); // yeah, one more for good measure.
|
||||||
out.SetDifficulty( StringToDifficulty(sDifficulty) );
|
out.SetDifficulty( OldStyleStringToDifficulty(sDifficulty) );
|
||||||
|
|
||||||
// Handle hacks that originated back when StepMania didn't have
|
// Handle hacks that originated back when StepMania didn't have
|
||||||
// Difficulty_Challenge. (At least v1.64, possibly v3.0 final...)
|
// Difficulty_Challenge. (At least v1.64, possibly v3.0 final...)
|
||||||
@@ -667,9 +667,23 @@ bool SMLoader::LoadNoteDataFromSimfile( const RString &path, Steps &out )
|
|||||||
difficulty = "Challenge";
|
difficulty = "Challenge";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Handle hacks that originated back when StepMania didn't have
|
||||||
|
* Difficulty_Challenge. TODO: Remove the need for said hacks. */
|
||||||
|
if( difficulty.CompareNoCase("hard") == 0 )
|
||||||
|
{
|
||||||
|
/* HACK: Both SMANIAC and CHALLENGE used to be Difficulty_Hard.
|
||||||
|
* They were differentiated via aspecial description.
|
||||||
|
* Account for the rogue charts that do this. */
|
||||||
|
// HACK: SMANIAC used to be Difficulty_Hard with a special description.
|
||||||
|
if (description.CompareNoCase("smaniac") == 0 ||
|
||||||
|
description.CompareNoCase("challenge") == 0)
|
||||||
|
difficulty = "Challenge";
|
||||||
|
}
|
||||||
|
|
||||||
if(!(out.m_StepsType == GAMEMAN->StringToStepsType( stepsType ) &&
|
if(!(out.m_StepsType == GAMEMAN->StringToStepsType( stepsType ) &&
|
||||||
out.GetDescription() == description &&
|
out.GetDescription() == description &&
|
||||||
out.GetDifficulty() == StringToDifficulty(difficulty)))
|
(out.GetDifficulty() == StringToDifficulty(difficulty) ||
|
||||||
|
out.GetDifficulty() == OldStyleStringToDifficulty(difficulty))))
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
+11
-11
@@ -180,27 +180,27 @@ static void GetTimingTags( vector<RString> &lines, const TimingData &timing, boo
|
|||||||
static void WriteTimingTags( RageFile &f, const TimingData &timing, bool bIsSong = false )
|
static void WriteTimingTags( RageFile &f, const TimingData &timing, bool bIsSong = false )
|
||||||
{
|
{
|
||||||
f.PutLine(ssprintf("#BPMS:%s;",
|
f.PutLine(ssprintf("#BPMS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_BPM)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_BPM, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#STOPS:%s;",
|
f.PutLine(ssprintf("#STOPS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_STOP)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_STOP, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#DELAYS:%s;",
|
f.PutLine(ssprintf("#DELAYS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_DELAY)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_DELAY, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#WARPS:%s;",
|
f.PutLine(ssprintf("#WARPS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_WARP)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_WARP, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#TIMESIGNATURES:%s;",
|
f.PutLine(ssprintf("#TIMESIGNATURES:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_TIME_SIG)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_TIME_SIG, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#TICKCOUNTS:%s;",
|
f.PutLine(ssprintf("#TICKCOUNTS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_TICKCOUNT)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_TICKCOUNT, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#COMBOS:%s;",
|
f.PutLine(ssprintf("#COMBOS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_COMBO)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_COMBO, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#SPEEDS:%s;",
|
f.PutLine(ssprintf("#SPEEDS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_SPEED)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_SPEED, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#SCROLLS:%s;",
|
f.PutLine(ssprintf("#SCROLLS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_SCROLL)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_SCROLL, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#FAKES:%s;",
|
f.PutLine(ssprintf("#FAKES:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_FAKE)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_FAKE, 3)).c_str()));
|
||||||
f.PutLine(ssprintf("#LABELS:%s;",
|
f.PutLine(ssprintf("#LABELS:%s;",
|
||||||
join(",\r\n", timing.ToVectorString(SEGMENT_LABEL)).c_str()));
|
join(",\r\n", timing.ToVectorString(SEGMENT_LABEL, 3)).c_str()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -496,18 +496,10 @@ bool ScreenDebugOverlay::OverlayInput( const InputEventPlus &input )
|
|||||||
// update text to show the effect of what changed above
|
// update text to show the effect of what changed above
|
||||||
UpdateText();
|
UpdateText();
|
||||||
|
|
||||||
// blink the text to show what changed
|
// show what changed
|
||||||
BitmapText &bt = *m_vptextButton[i];
|
BitmapText &bt = *m_vptextButton[i];
|
||||||
bt.FinishTweening();
|
bt.FinishTweening();
|
||||||
// blink 5 times instead of 8
|
bt.PlayCommand("Toggled");
|
||||||
// TODO: make this all metrics instead -aj
|
|
||||||
for( i=0; i<5; i++ )
|
|
||||||
{
|
|
||||||
bt.SetGlow( RageColor(1,0,0,1) );
|
|
||||||
bt.Sleep(0.1f);
|
|
||||||
bt.SetGlow( RageColor(1,0,0,0) );
|
|
||||||
bt.Sleep(0.1f);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-1
@@ -1739,7 +1739,8 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
|
|||||||
break;
|
break;
|
||||||
case EDIT_BUTTON_OPEN_AREA_MENU:
|
case EDIT_BUTTON_OPEN_AREA_MENU:
|
||||||
{
|
{
|
||||||
// update enabled/disabled in g_AreaMenu
|
// TODO: Improve behavior if timing changes are shifted down on beat 0.
|
||||||
|
g_AreaMenu.rows[shift_pauses_forward].bEnabled = (GetBeat() != 0);
|
||||||
g_AreaMenu.rows[paste_at_current_beat].bEnabled = !m_Clipboard.IsEmpty();
|
g_AreaMenu.rows[paste_at_current_beat].bEnabled = !m_Clipboard.IsEmpty();
|
||||||
g_AreaMenu.rows[paste_at_begin_marker].bEnabled = !m_Clipboard.IsEmpty() != 0 && m_NoteFieldEdit.m_iBeginMarker!=-1;
|
g_AreaMenu.rows[paste_at_begin_marker].bEnabled = !m_Clipboard.IsEmpty() != 0 && m_NoteFieldEdit.m_iBeginMarker!=-1;
|
||||||
g_AreaMenu.rows[paste_partial_timing_at_beat].bEnabled = !this->clipboardTiming.empty();
|
g_AreaMenu.rows[paste_partial_timing_at_beat].bEnabled = !this->clipboardTiming.empty();
|
||||||
@@ -1757,6 +1758,9 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// TODO: Improve interaction when field is 0.
|
||||||
|
g_AlterMenu.rows[convert_to_delay].bEnabled = (m_NoteFieldEdit.m_iBeginMarker > 0);
|
||||||
|
g_AlterMenu.rows[convert_to_pause].bEnabled = (m_NoteFieldEdit.m_iBeginMarker > 0);
|
||||||
bool isRoutine = (m_InputPlayerNumber != PLAYER_INVALID);
|
bool isRoutine = (m_InputPlayerNumber != PLAYER_INVALID);
|
||||||
g_AlterMenu.rows[routine_invert_notes].bEnabled = isRoutine;
|
g_AlterMenu.rows[routine_invert_notes].bEnabled = isRoutine;
|
||||||
g_AlterMenu.rows[routine_mirror_1_to_2].bEnabled = isRoutine;
|
g_AlterMenu.rows[routine_mirror_1_to_2].bEnabled = isRoutine;
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ XToString( DetailLine );
|
|||||||
#define SHOW_SCORE_AREA THEME->GetMetricB(m_sName,"ShowScoreArea")
|
#define SHOW_SCORE_AREA THEME->GetMetricB(m_sName,"ShowScoreArea")
|
||||||
#define SHOW_TIME_AREA THEME->GetMetricB(m_sName,"ShowTimeArea")
|
#define SHOW_TIME_AREA THEME->GetMetricB(m_sName,"ShowTimeArea")
|
||||||
#define SHOW_RECORDS_AREA THEME->GetMetricB(m_sName,"ShowRecordsArea")
|
#define SHOW_RECORDS_AREA THEME->GetMetricB(m_sName,"ShowRecordsArea")
|
||||||
#define MAX_COMBO_NUM_DIGITS THEME->GetMetricI(m_sName,"MaxComboNumDigits")
|
|
||||||
#define PLAYER_OPTIONS_HIDE_FAIL_TYPE THEME->GetMetricB(m_sName,"PlayerOptionsHideFailType")
|
#define PLAYER_OPTIONS_HIDE_FAIL_TYPE THEME->GetMetricB(m_sName,"PlayerOptionsHideFailType")
|
||||||
#define PLAYER_OPTIONS_SEPARATOR THEME->GetMetric (m_sName,"PlayerOptionsSeparator")
|
#define PLAYER_OPTIONS_SEPARATOR THEME->GetMetric (m_sName,"PlayerOptionsSeparator")
|
||||||
#define CHECKPOINTS_WITH_JUDGMENTS THEME->GetMetricB(m_sName,"CheckpointsWithJudgments")
|
#define CHECKPOINTS_WITH_JUDGMENTS THEME->GetMetricB(m_sName,"CheckpointsWithJudgments")
|
||||||
@@ -460,6 +459,7 @@ void ScreenEvaluation::Init()
|
|||||||
|
|
||||||
// init judgment area
|
// init judgment area
|
||||||
ROLLING_NUMBERS_CLASS.Load( m_sName, "RollingNumbersClass" );
|
ROLLING_NUMBERS_CLASS.Load( m_sName, "RollingNumbersClass" );
|
||||||
|
ROLLING_NUMBERS_MAX_COMBO_CLASS.Load( m_sName, "RollingNumbersMaxComboClass" );
|
||||||
FOREACH_ENUM( JudgmentLine, l )
|
FOREACH_ENUM( JudgmentLine, l )
|
||||||
{
|
{
|
||||||
if( l == JudgmentLine_W1 && !GAMESTATE->ShowW1() )
|
if( l == JudgmentLine_W1 && !GAMESTATE->ShowW1() )
|
||||||
@@ -481,6 +481,9 @@ void ScreenEvaluation::Init()
|
|||||||
{
|
{
|
||||||
m_textJudgmentLineNumber[l][p].LoadFromFont( THEME->GetPathF(m_sName, "JudgmentLineNumber") );
|
m_textJudgmentLineNumber[l][p].LoadFromFont( THEME->GetPathF(m_sName, "JudgmentLineNumber") );
|
||||||
m_textJudgmentLineNumber[l][p].SetName( JudgmentLineToString(l)+ssprintf("NumberP%d",p+1) );
|
m_textJudgmentLineNumber[l][p].SetName( JudgmentLineToString(l)+ssprintf("NumberP%d",p+1) );
|
||||||
|
if( JudgmentLineToString(l) == "MaxCombo" )
|
||||||
|
m_textJudgmentLineNumber[l][p].Load( ROLLING_NUMBERS_MAX_COMBO_CLASS );
|
||||||
|
else
|
||||||
m_textJudgmentLineNumber[l][p].Load( ROLLING_NUMBERS_CLASS );
|
m_textJudgmentLineNumber[l][p].Load( ROLLING_NUMBERS_CLASS );
|
||||||
ActorUtil::LoadAllCommands( m_textJudgmentLineNumber[l][p], m_sName );
|
ActorUtil::LoadAllCommands( m_textJudgmentLineNumber[l][p], m_sName );
|
||||||
SET_XY( m_textJudgmentLineNumber[l][p] );
|
SET_XY( m_textJudgmentLineNumber[l][p] );
|
||||||
|
|||||||
@@ -115,6 +115,7 @@ protected:
|
|||||||
|
|
||||||
ThemeMetric<bool> SUMMARY;
|
ThemeMetric<bool> SUMMARY;
|
||||||
ThemeMetric<RString> ROLLING_NUMBERS_CLASS;
|
ThemeMetric<RString> ROLLING_NUMBERS_CLASS;
|
||||||
|
ThemeMetric<RString> ROLLING_NUMBERS_MAX_COMBO_CLASS;
|
||||||
/** @brief Did a player save a screenshot of their score? */
|
/** @brief Did a player save a screenshot of their score? */
|
||||||
bool m_bSavedScreenshot[NUM_PLAYERS];
|
bool m_bSavedScreenshot[NUM_PLAYERS];
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-7
@@ -41,7 +41,7 @@
|
|||||||
* @brief The internal version of the cache for StepMania.
|
* @brief The internal version of the cache for StepMania.
|
||||||
*
|
*
|
||||||
* Increment this value to invalidate the current cache. */
|
* Increment this value to invalidate the current cache. */
|
||||||
const int FILE_CACHE_VERSION = 205;
|
const int FILE_CACHE_VERSION = 207;
|
||||||
|
|
||||||
/** @brief How long does a song sample last by default? */
|
/** @brief How long does a song sample last by default? */
|
||||||
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
||||||
@@ -921,12 +921,6 @@ void Song::Save()
|
|||||||
ReCalculateRadarValuesAndLastSecond();
|
ReCalculateRadarValuesAndLastSecond();
|
||||||
TranslateTitles();
|
TranslateTitles();
|
||||||
|
|
||||||
// TODO: Figure out a better way to save to Song's timing data.
|
|
||||||
if( m_vpSteps.size() == 1 )
|
|
||||||
{
|
|
||||||
m_SongTiming = m_vpSteps[0]->m_Timing;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save the new files. These calls make backups on their own.
|
// Save the new files. These calls make backups on their own.
|
||||||
if( !SaveToSSCFile(GetSongFilePath(), false) )
|
if( !SaveToSSCFile(GetSongFilePath(), false) )
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -2956,46 +2956,46 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"\
|
|||||||
Name="Actors"
|
Name="Actors"
|
||||||
Filter="">
|
Filter="">
|
||||||
<File
|
<File
|
||||||
RelativePath="Actor.cpp">
|
RelativePath="Actors\Actor.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="Actor.h">
|
RelativePath="Actors\Actor.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrame.cpp">
|
RelativePath="Actors\ActorFrame.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrame.h">
|
RelativePath="Actors\ActorFrame.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrameTexture.cpp">
|
RelativePath="Actors\ActorFrameTexture.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrameTexture.h">
|
RelativePath="Actors\ActorFrameTexture.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorMultiTexture.cpp">
|
RelativePath="Actors\ActorMultiTexture.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorMultiTexture.h">
|
RelativePath="Actors\ActorMultiTexture.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorProxy.cpp">
|
RelativePath="Actors\ActorProxy.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorProxy.h">
|
RelativePath="Actors\ActorProxy.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorScroller.cpp">
|
RelativePath="Actors\ActorScroller.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorScroller.h">
|
RelativePath="Actors\ActorScroller.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorSound.cpp">
|
RelativePath="Actors\ActorSound.cpp">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorSound.h">
|
RelativePath="Actors\ActorSound.h">
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorUtil.cpp">
|
RelativePath="ActorUtil.cpp">
|
||||||
|
|||||||
@@ -4654,59 +4654,59 @@
|
|||||||
Name="Actors"
|
Name="Actors"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath="Actor.cpp"
|
RelativePath="Actors\Actor.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="Actor.h"
|
RelativePath="Actors\Actor.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrame.cpp"
|
RelativePath="Actors\ActorFrame.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrame.h"
|
RelativePath="Actors\ActorFrame.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrameTexture.cpp"
|
RelativePath="Actors\ActorFrameTexture.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrameTexture.h"
|
RelativePath="Actors\ActorFrameTexture.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorMultiTexture.cpp"
|
RelativePath="Actors\ActorMultiTexture.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorMultiTexture.h"
|
RelativePath="Actors\ActorMultiTexture.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorProxy.cpp"
|
RelativePath="Actors\ActorProxy.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorProxy.h"
|
RelativePath="Actors\ActorProxy.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorScroller.cpp"
|
RelativePath="Actors\ActorScroller.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorScroller.h"
|
RelativePath="Actors\ActorScroller.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorSound.cpp"
|
RelativePath="Actors\ActorSound.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorSound.h"
|
RelativePath="Actors\ActorSound.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis"
|
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;Actors"
|
||||||
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,WINDOWS,DEBUG,GLEW_STATIC"
|
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,WINDOWS,DEBUG,GLEW_STATIC"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
InlineFunctionExpansion="2"
|
InlineFunctionExpansion="2"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
FavorSizeOrSpeed="2"
|
FavorSizeOrSpeed="2"
|
||||||
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis"
|
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;Actors"
|
||||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,WINDOWS,RELEASE,GLEW_STATIC"
|
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,WINDOWS,RELEASE,GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
MinimalRebuild="false"
|
MinimalRebuild="false"
|
||||||
@@ -263,7 +263,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis"
|
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;Actors"
|
||||||
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,WINDOWS,DEBUG,GLEW_STATIC"
|
PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS,WINDOWS,DEBUG,GLEW_STATIC"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
BasicRuntimeChecks="0"
|
BasicRuntimeChecks="0"
|
||||||
@@ -371,7 +371,7 @@
|
|||||||
InlineFunctionExpansion="2"
|
InlineFunctionExpansion="2"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis"
|
AdditionalIncludeDirectories=".;"..\extern\lua-5.1\src";ffmpeg\modern_working\include;BaseClasses;..\extern\jsoncpp\include;"..\extern\glew-1.5.8\include";..\extern\pcre;"..\extern\mad-0.15.1b";..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;Actors"
|
||||||
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,WINDOWS,RELEASE,GLEW_STATIC"
|
PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS,WINDOWS,RELEASE,GLEW_STATIC"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
MinimalRebuild="false"
|
MinimalRebuild="false"
|
||||||
@@ -3821,59 +3821,59 @@
|
|||||||
Name="Actors"
|
Name="Actors"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath="Actor.cpp"
|
RelativePath="Actors\Actor.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="Actor.h"
|
RelativePath="Actors\Actor.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrame.cpp"
|
RelativePath="Actors\ActorFrame.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrame.h"
|
RelativePath="Actors\ActorFrame.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrameTexture.cpp"
|
RelativePath="Actors\ActorFrameTexture.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorFrameTexture.h"
|
RelativePath="Actors\ActorFrameTexture.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorMultiTexture.cpp"
|
RelativePath="Actors\ActorMultiTexture.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorMultiTexture.h"
|
RelativePath="Actors\ActorMultiTexture.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorProxy.cpp"
|
RelativePath="Actors\ActorProxy.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorProxy.h"
|
RelativePath="Actors\ActorProxy.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorScroller.cpp"
|
RelativePath="Actors\ActorScroller.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorScroller.h"
|
RelativePath="Actors\ActorScroller.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorSound.cpp"
|
RelativePath="Actors\ActorSound.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="ActorSound.h"
|
RelativePath="Actors\ActorSound.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
|
|||||||
@@ -762,14 +762,14 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
|||||||
<ClCompile Include="RageUtil_CharConversions.cpp" />
|
<ClCompile Include="RageUtil_CharConversions.cpp" />
|
||||||
<ClCompile Include="RageUtil_FileDB.cpp" />
|
<ClCompile Include="RageUtil_FileDB.cpp" />
|
||||||
<ClCompile Include="RageUtil_WorkerThread.cpp" />
|
<ClCompile Include="RageUtil_WorkerThread.cpp" />
|
||||||
<ClCompile Include="Actor.cpp" />
|
<ClCompile Include="Actors\Actor.cpp" />
|
||||||
<ClCompile Include="ActorFrame.cpp" />
|
<ClCompile Include="Actors\ActorFrame.cpp" />
|
||||||
<ClCompile Include="ActorFrameTexture.cpp" />
|
<ClCompile Include="Actors\ActorFrameTexture.cpp" />
|
||||||
<ClCompile Include="ActorMultiTexture.cpp" />
|
<ClCompile Include="Actors\ActorMultiTexture.cpp" />
|
||||||
<ClCompile Include="ActorProxy.cpp" />
|
<ClCompile Include="Actors\ActorProxy.cpp" />
|
||||||
<ClCompile Include="ActorScroller.cpp" />
|
<ClCompile Include="Actors\ActorScroller.cpp" />
|
||||||
<ClCompile Include="ActorSound.cpp" />
|
<ClCompile Include="Actors\ActorSound.cpp" />
|
||||||
<ClCompile Include="ActorUtil.cpp" />
|
<ClCompile Include="Actors\ActorUtil.cpp" />
|
||||||
<ClCompile Include="AutoActor.cpp" />
|
<ClCompile Include="AutoActor.cpp" />
|
||||||
<ClCompile Include="BitmapText.cpp" />
|
<ClCompile Include="BitmapText.cpp" />
|
||||||
<ClCompile Include="DynamicActorScroller.cpp" />
|
<ClCompile Include="DynamicActorScroller.cpp" />
|
||||||
@@ -2084,13 +2084,13 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
|||||||
<ClInclude Include="RageUtil_CircularBuffer.h" />
|
<ClInclude Include="RageUtil_CircularBuffer.h" />
|
||||||
<ClInclude Include="RageUtil_FileDB.h" />
|
<ClInclude Include="RageUtil_FileDB.h" />
|
||||||
<ClInclude Include="RageUtil_WorkerThread.h" />
|
<ClInclude Include="RageUtil_WorkerThread.h" />
|
||||||
<ClInclude Include="Actor.h" />
|
<ClInclude Include="Actors\Actor.h" />
|
||||||
<ClInclude Include="ActorFrame.h" />
|
<ClInclude Include="Actors\ActorFrame.h" />
|
||||||
<ClInclude Include="ActorFrameTexture.h" />
|
<ClInclude Include="Actors\ActorFrameTexture.h" />
|
||||||
<ClInclude Include="ActorMultiTexture.h" />
|
<ClInclude Include="Actors\ActorMultiTexture.h" />
|
||||||
<ClInclude Include="ActorProxy.h" />
|
<ClInclude Include="Actors\ActorProxy.h" />
|
||||||
<ClInclude Include="ActorScroller.h" />
|
<ClInclude Include="Actors\ActorScroller.h" />
|
||||||
<ClInclude Include="ActorSound.h" />
|
<ClInclude Include="Actors\ActorSound.h" />
|
||||||
<ClInclude Include="ActorUtil.h" />
|
<ClInclude Include="ActorUtil.h" />
|
||||||
<ClInclude Include="AutoActor.h" />
|
<ClInclude Include="AutoActor.h" />
|
||||||
<ClInclude Include="BitmapText.h" />
|
<ClInclude Include="BitmapText.h" />
|
||||||
|
|||||||
@@ -1242,25 +1242,25 @@
|
|||||||
<ClCompile Include="RageUtil_WorkerThread.cpp">
|
<ClCompile Include="RageUtil_WorkerThread.cpp">
|
||||||
<Filter>Rage</Filter>
|
<Filter>Rage</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="Actor.cpp">
|
<ClCompile Include="Actors\Actor.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorFrame.cpp">
|
<ClCompile Include="Actors\ActorFrame.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorFrameTexture.cpp">
|
<ClCompile Include="Actors\ActorFrameTexture.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorMultiTexture.cpp">
|
<ClCompile Include="Actors\ActorMultiTexture.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorProxy.cpp">
|
<ClCompile Include="Actors\ActorProxy.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorScroller.cpp">
|
<ClCompile Include="Actors\ActorScroller.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorSound.cpp">
|
<ClCompile Include="Actors\ActorSound.cpp">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="ActorUtil.cpp">
|
<ClCompile Include="ActorUtil.cpp">
|
||||||
@@ -2777,25 +2777,25 @@
|
|||||||
<ClInclude Include="RageUtil_WorkerThread.h">
|
<ClInclude Include="RageUtil_WorkerThread.h">
|
||||||
<Filter>Rage</Filter>
|
<Filter>Rage</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="Actor.h">
|
<ClInclude Include="Actors\Actor.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorFrame.h">
|
<ClInclude Include="Actors\ActorFrame.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorFrameTexture.h">
|
<ClInclude Include="Actors\ActorFrameTexture.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorMultiTexture.h">
|
<ClInclude Include="Actors\ActorMultiTexture.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorProxy.h">
|
<ClInclude Include="Actors\ActorProxy.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorScroller.h">
|
<ClInclude Include="Actors\ActorScroller.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorSound.h">
|
<ClInclude Include="Actors\ActorSound.h">
|
||||||
<Filter>Actors</Filter>
|
<Filter>Actors</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="ActorUtil.h">
|
<ClInclude Include="ActorUtil.h">
|
||||||
|
|||||||
+8
-4
@@ -80,10 +80,14 @@ static Preference<bool> g_bAllowMultipleInstances( "AllowMultipleInstances", fal
|
|||||||
|
|
||||||
void StepMania::GetPreferredVideoModeParams( VideoModeParams ¶msOut )
|
void StepMania::GetPreferredVideoModeParams( VideoModeParams ¶msOut )
|
||||||
{
|
{
|
||||||
// unsure if this is still going to cause first run issues. -aj
|
// resolution handling code that probably needs fixing
|
||||||
float fAspectRatio = PREFSMAN->m_fDisplayAspectRatio;
|
int iWidth = PREFSMAN->m_iDisplayWidth;
|
||||||
int iHeight = PREFSMAN->m_iDisplayHeight;
|
if( PREFSMAN->m_bWindowed )
|
||||||
int iWidth = ceilf(iHeight * fAspectRatio);
|
{
|
||||||
|
//float fRatio = PREFSMAN->m_iDisplayHeight;
|
||||||
|
//iWidth = PREFSMAN->m_iDisplayHeight * fRatio;
|
||||||
|
iWidth = static_cast<int>(ceilf(PREFSMAN->m_iDisplayHeight * PREFSMAN->m_fDisplayAspectRatio));
|
||||||
|
}
|
||||||
|
|
||||||
// todo: allow for PRODUCT_ID + "-" + CommonMetrics::WINDOW_TITLE as
|
// todo: allow for PRODUCT_ID + "-" + CommonMetrics::WINDOW_TITLE as
|
||||||
// a theme option (Midi requested it, AJ had the idea for making it optional)
|
// a theme option (Midi requested it, AJ had the idea for making it optional)
|
||||||
|
|||||||
+3
-3
@@ -21,7 +21,7 @@ void TimingData::Copy( const TimingData& cpy )
|
|||||||
|
|
||||||
FOREACH_TimingSegmentType( tst )
|
FOREACH_TimingSegmentType( tst )
|
||||||
{
|
{
|
||||||
const vector<TimingSegment*> vpSegs = cpy.m_avpTimingSegments[tst];
|
const vector<TimingSegment*> &vpSegs = cpy.m_avpTimingSegments[tst];
|
||||||
|
|
||||||
for( unsigned i = 0; i < vpSegs.size(); ++i )
|
for( unsigned i = 0; i < vpSegs.size(); ++i )
|
||||||
AddSegment( vpSegs[i] );
|
AddSegment( vpSegs[i] );
|
||||||
@@ -36,7 +36,7 @@ void TimingData::Clear()
|
|||||||
vector<TimingSegment*> &vSegs = m_avpTimingSegments[tst];
|
vector<TimingSegment*> &vSegs = m_avpTimingSegments[tst];
|
||||||
for( unsigned i = 0; i < vSegs.size(); ++i )
|
for( unsigned i = 0; i < vSegs.size(); ++i )
|
||||||
{
|
{
|
||||||
LOG->Trace( "deleting %p", vSegs[i] );
|
//LOG->Trace( "deleting %p", vSegs[i] );
|
||||||
SAFE_DELETE( vSegs[i] ); }
|
SAFE_DELETE( vSegs[i] ); }
|
||||||
|
|
||||||
vSegs.clear();
|
vSegs.clear();
|
||||||
@@ -323,7 +323,7 @@ static void EraseSegment( vector<TimingSegment*> &vSegs, int index, TimingSegmen
|
|||||||
// so we must deep-copy it (with ::Copy) for new allocations.
|
// so we must deep-copy it (with ::Copy) for new allocations.
|
||||||
void TimingData::AddSegment( const TimingSegment *seg )
|
void TimingData::AddSegment( const TimingSegment *seg )
|
||||||
{
|
{
|
||||||
LOG->Trace( "AddSegment( %s )", TimingSegmentTypeToString(seg->GetType()).c_str() );
|
//LOG->Trace( "AddSegment( %s )", TimingSegmentTypeToString(seg->GetType()).c_str() );
|
||||||
seg->DebugPrint();
|
seg->DebugPrint();
|
||||||
|
|
||||||
TimingSegmentType tst = seg->GetType();
|
TimingSegmentType tst = seg->GetType();
|
||||||
|
|||||||
@@ -19,9 +19,7 @@
|
|||||||
#include "RageSurfaceUtils_Zoom.h"
|
#include "RageSurfaceUtils_Zoom.h"
|
||||||
static HBITMAP g_hBitmap = NULL;
|
static HBITMAP g_hBitmap = NULL;
|
||||||
|
|
||||||
#pragma comment(linker,"\"/manifestdependency:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
/* Load a RageSurface into a GDI surface. */
|
||||||
|
|
||||||
// Load a RageSurface into a GDI surface.
|
|
||||||
static HBITMAP LoadWin32Surface( RageSurface *&s )
|
static HBITMAP LoadWin32Surface( RageSurface *&s )
|
||||||
{
|
{
|
||||||
RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 );
|
RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 );
|
||||||
@@ -35,7 +33,7 @@ static HBITMAP LoadWin32Surface( RageSurface *&s )
|
|||||||
HDC BitmapDC = CreateCompatibleDC( hScreen );
|
HDC BitmapDC = CreateCompatibleDC( hScreen );
|
||||||
SelectObject( BitmapDC, bitmap );
|
SelectObject( BitmapDC, bitmap );
|
||||||
|
|
||||||
// This is silly, but simple. We only do this once, on a small image.
|
/* This is silly, but simple. We only do this once, on a small image. */
|
||||||
for( int y = 0; y < s->h; ++y )
|
for( int y = 0; y < s->h; ++y )
|
||||||
{
|
{
|
||||||
unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch);
|
unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch);
|
||||||
@@ -80,43 +78,8 @@ static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd )
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
BOOL CALLBACK LoadingWindow_Win32::WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
LoadingWindow_Win32 *self;
|
|
||||||
|
|
||||||
if(msg==WM_INITDIALOG) {
|
|
||||||
self=(LoadingWindow_Win32 *)lParam;
|
|
||||||
SetWindowLong(hWnd,DWL_USER,(LONG)self);
|
|
||||||
} else {
|
|
||||||
self=(LoadingWindow_Win32 *)GetWindowLong(hWnd,DWL_USER);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
#if WINVER >= 0x0601
|
|
||||||
if (self && msg == self->taskbarCreatedEvent && !self->pTaskbarList) {
|
|
||||||
HRESULT hr = CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&self->pTaskbarList));
|
|
||||||
if (SUCCEEDED(hr)) {
|
|
||||||
self->pTaskbarList->HrInit();
|
|
||||||
if (FAILED(hr)) {
|
|
||||||
self->pTaskbarList->Release();
|
|
||||||
self->pTaskbarList = NULL;
|
|
||||||
} else {
|
|
||||||
|
|
||||||
|
|
||||||
if(self->m_indeterminate) {
|
|
||||||
self->pTaskbarList->SetProgressState(hWnd, TBPF_INDETERMINATE);
|
|
||||||
} else {
|
|
||||||
self->pTaskbarList->SetProgressState(hWnd, TBPF_NORMAL);
|
|
||||||
self->pTaskbarList->SetProgressValue(hWnd, self->m_progress, self->m_totalWork);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
switch( msg )
|
switch( msg )
|
||||||
{
|
{
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
@@ -134,36 +97,11 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara
|
|||||||
(WPARAM) IMAGE_BITMAP,
|
(WPARAM) IMAGE_BITMAP,
|
||||||
(LPARAM) (HANDLE) g_hBitmap );
|
(LPARAM) (HANDLE) g_hBitmap );
|
||||||
SetWindowTextA( hWnd, PRODUCT_ID );
|
SetWindowTextA( hWnd, PRODUCT_ID );
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_CLOSE:
|
|
||||||
HOOKS->SetUserQuit();
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
case WM_DESTROY:
|
case WM_DESTROY:
|
||||||
|
|
||||||
/*
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
if (self->pTaskbarList) {
|
|
||||||
self->pTaskbarList->Release();
|
|
||||||
self->pTaskbarList = NULL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
DeleteObject( g_hBitmap );
|
DeleteObject( g_hBitmap );
|
||||||
g_hBitmap = NULL;
|
g_hBitmap = NULL;
|
||||||
self->runMessageLoop=false;
|
|
||||||
self->hwnd=NULL;
|
|
||||||
return TRUE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case WM_APP:
|
|
||||||
DestroyWindow(hWnd);
|
|
||||||
self->runMessageLoop=false;
|
|
||||||
ExitThread(0);
|
|
||||||
return TRUE;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,7 +110,7 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara
|
|||||||
|
|
||||||
void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon )
|
void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon )
|
||||||
{
|
{
|
||||||
if( g_hBitmap != NULL )
|
if( m_hIcon != NULL )
|
||||||
DestroyIcon( m_hIcon );
|
DestroyIcon( m_hIcon );
|
||||||
|
|
||||||
m_hIcon = IconFromSurface( pIcon );
|
m_hIcon = IconFromSurface( pIcon );
|
||||||
@@ -202,63 +140,34 @@ void LoadingWindow_Win32::SetSplash( const RString sPath )
|
|||||||
|
|
||||||
LoadingWindow_Win32::LoadingWindow_Win32()
|
LoadingWindow_Win32::LoadingWindow_Win32()
|
||||||
{
|
{
|
||||||
|
|
||||||
INITCOMMONCONTROLSEX cceData;
|
|
||||||
cceData.dwSize=sizeof(INITCOMMONCONTROLSEX);
|
|
||||||
cceData.dwICC=ICC_PROGRESS_CLASS;
|
|
||||||
InitCommonControlsEx(&cceData);
|
|
||||||
|
|
||||||
/*
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
pTaskbarList=NULL;
|
|
||||||
|
|
||||||
taskbarCreatedEvent=RegisterWindowMessage("TaskbarButtonCreated");
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
m_hIcon = NULL;
|
m_hIcon = NULL;
|
||||||
|
hwnd = CreateDialog( handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, WndProc );
|
||||||
runMessageLoop=true;
|
|
||||||
|
|
||||||
guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL);
|
|
||||||
|
|
||||||
pumpThread=CreateThread(NULL, NULL, MessagePump, (void *)this, 0, &pumpThreadId);
|
|
||||||
|
|
||||||
WaitForSingleObject(guiReadyEvent,INFINITE);
|
|
||||||
|
|
||||||
for( unsigned i = 0; i < 3; ++i )
|
for( unsigned i = 0; i < 3; ++i )
|
||||||
text[i] = "ABC"; /* always set on first call */
|
text[i] = "ABC"; /* always set on first call */
|
||||||
SetText( "" );
|
SetText( "" );
|
||||||
|
Paint();
|
||||||
}
|
}
|
||||||
|
|
||||||
LoadingWindow_Win32::~LoadingWindow_Win32()
|
LoadingWindow_Win32::~LoadingWindow_Win32()
|
||||||
{
|
{
|
||||||
SendMessage(hwnd,WM_APP,0,0);
|
if( hwnd )
|
||||||
//SendMessage(hwnd,WM_NULL,0,0);
|
DestroyWindow( hwnd );
|
||||||
WaitForSingleObject(pumpThread,INFINITE);
|
|
||||||
if(guiReadyEvent)
|
|
||||||
CloseHandle(guiReadyEvent);
|
|
||||||
if( m_hIcon != NULL )
|
if( m_hIcon != NULL )
|
||||||
DestroyIcon( m_hIcon );
|
DestroyIcon( m_hIcon );
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD WINAPI LoadingWindow_Win32::MessagePump(LPVOID thisAsVoidPtr)
|
void LoadingWindow_Win32::Paint()
|
||||||
{
|
{
|
||||||
LoadingWindow_Win32 *self=(LoadingWindow_Win32 *)thisAsVoidPtr;
|
SendMessage( hwnd, WM_PAINT, 0, 0 );
|
||||||
|
|
||||||
self->hwnd = CreateDialogParam( self->handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, DlgProc, (LPARAM)thisAsVoidPtr);
|
/* Process all queued messages since the last paint. This allows the window to
|
||||||
|
* come back if it loses focus during load. */
|
||||||
SetEvent(self->guiReadyEvent);
|
|
||||||
|
|
||||||
// Run the message loop in a separate thread to keep the gui responsive during the loading
|
|
||||||
MSG msg;
|
MSG msg;
|
||||||
while(self->runMessageLoop && GetMessage(&msg, self->hwnd, 0, 0 ) )
|
while( PeekMessage( &msg, hwnd, 0, 0, PM_NOREMOVE ) )
|
||||||
{
|
{
|
||||||
if(IsDialogMessage(self->hwnd,&msg)) continue;
|
GetMessage(&msg, hwnd, 0, 0 );
|
||||||
DispatchMessage( &msg );
|
DispatchMessage( &msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
return msg.wParam;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadingWindow_Win32::SetText( RString sText )
|
void LoadingWindow_Win32::SetText( RString sText )
|
||||||
@@ -276,7 +185,6 @@ void LoadingWindow_Win32::SetText( RString sText )
|
|||||||
text[i] = asMessageLines[i];
|
text[i] = asMessageLines[i];
|
||||||
|
|
||||||
HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] );
|
HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] );
|
||||||
|
|
||||||
::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() );
|
::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -286,13 +194,6 @@ void LoadingWindow_Win32::SetProgress(const int progress)
|
|||||||
m_progress=progress;
|
m_progress=progress;
|
||||||
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
||||||
::SendMessage(hwndItem,PBM_SETPOS,progress,0);
|
::SendMessage(hwndItem,PBM_SETPOS,progress,0);
|
||||||
/*
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
if(pTaskbarList) {
|
|
||||||
pTaskbarList->SetProgressValue(hwnd, m_progress, m_totalWork);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadingWindow_Win32::SetTotalWork(const int totalWork)
|
void LoadingWindow_Win32::SetTotalWork(const int totalWork)
|
||||||
@@ -300,42 +201,21 @@ void LoadingWindow_Win32::SetTotalWork(const int totalWork)
|
|||||||
m_totalWork=totalWork;
|
m_totalWork=totalWork;
|
||||||
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
||||||
SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork);
|
SendMessage(hwndItem,PBM_SETRANGE32,0,totalWork);
|
||||||
/*
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
if(pTaskbarList) {
|
|
||||||
pTaskbarList->SetProgressValue(hwnd, m_progress, m_totalWork);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LoadingWindow_Win32::SetIndeterminate(bool indeterminate) {
|
void LoadingWindow_Win32::SetIndeterminate(bool indeterminate)
|
||||||
|
{
|
||||||
m_indeterminate=indeterminate;
|
m_indeterminate=indeterminate;
|
||||||
|
|
||||||
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
||||||
|
|
||||||
if(indeterminate) {
|
if(indeterminate) {
|
||||||
/*
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
if(pTaskbarList) {
|
|
||||||
pTaskbarList->SetProgressState(hwnd, TBPF_INDETERMINATE);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
SetWindowLong(hwndItem,GWL_STYLE, PBS_MARQUEE | GetWindowLong(hwndItem,GWL_STYLE));
|
SetWindowLong(hwndItem,GWL_STYLE, PBS_MARQUEE | GetWindowLong(hwndItem,GWL_STYLE));
|
||||||
SendMessage(hwndItem,PBM_SETMARQUEE,1,0);
|
SendMessage(hwndItem,PBM_SETMARQUEE,1,0);
|
||||||
} else {
|
} else {
|
||||||
SendMessage(hwndItem,PBM_SETMARQUEE,0,0);
|
SendMessage(hwndItem,PBM_SETMARQUEE,0,0);
|
||||||
SetWindowLong(hwndItem,GWL_STYLE, (~PBS_MARQUEE) & GetWindowLong(hwndItem,GWL_STYLE));
|
SetWindowLong(hwndItem,GWL_STYLE, (~PBS_MARQUEE) & GetWindowLong(hwndItem,GWL_STYLE));
|
||||||
/*
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
if(pTaskbarList) {
|
|
||||||
pTaskbarList->SetProgressState(hwnd, TBPF_NORMAL);
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -3,22 +3,17 @@
|
|||||||
#ifndef LOADING_WINDOW_WIN32_H
|
#ifndef LOADING_WINDOW_WIN32_H
|
||||||
#define LOADING_WINDOW_WIN32_H
|
#define LOADING_WINDOW_WIN32_H
|
||||||
|
|
||||||
#include "global.h"
|
|
||||||
|
|
||||||
#include "LoadingWindow.h"
|
#include "LoadingWindow.h"
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include "archutils/Win32/AppInstance.h"
|
#include "archutils/Win32/AppInstance.h"
|
||||||
|
|
||||||
#if(WINVER >= 0x0601)
|
|
||||||
#include "Shobjidl.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class LoadingWindow_Win32: public LoadingWindow
|
class LoadingWindow_Win32: public LoadingWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LoadingWindow_Win32();
|
LoadingWindow_Win32();
|
||||||
~LoadingWindow_Win32();
|
~LoadingWindow_Win32();
|
||||||
|
|
||||||
|
void Paint();
|
||||||
void SetText( RString sText );
|
void SetText( RString sText );
|
||||||
void SetIcon( const RageSurface *pIcon );
|
void SetIcon( const RageSurface *pIcon );
|
||||||
void SetSplash( const RString sPath );
|
void SetSplash( const RString sPath );
|
||||||
@@ -31,22 +26,8 @@ private:
|
|||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
RString text[3];
|
RString text[3];
|
||||||
HICON m_hIcon;
|
HICON m_hIcon;
|
||||||
HANDLE pumpThread;
|
|
||||||
DWORD pumpThreadId;
|
|
||||||
HANDLE guiReadyEvent;
|
|
||||||
|
|
||||||
/*
|
static BOOL CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||||
#if WINVER >= 0x0601
|
|
||||||
UINT taskbarCreatedEvent;
|
|
||||||
ITaskbarList3 *pTaskbarList;
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
|
|
||||||
volatile bool runMessageLoop;
|
|
||||||
|
|
||||||
static DWORD WINAPI MessagePump(LPVOID thisAsVoidPtr);
|
|
||||||
|
|
||||||
static INT_PTR CALLBACK DlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
|
||||||
};
|
};
|
||||||
#define USE_LOADING_WINDOW_WIN32
|
#define USE_LOADING_WINDOW_WIN32
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user