merge
This commit is contained in:
+26
-2
@@ -8,10 +8,34 @@ ________________________________________________________________________________
|
||||
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
|
||||
----------
|
||||
* [Song] Added GetSampleStart() and GetSampleLength()
|
||||
Lua bindings. [Wolfman2000]
|
||||
* [Song] Added GetSampleStart() and GetSampleLength() Lua bindings. [Wolfman2000]
|
||||
|
||||
2011/09/16
|
||||
----------
|
||||
|
||||
@@ -1972,8 +1972,8 @@
|
||||
Returns the current Premium.
|
||||
</Function>
|
||||
<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 name='GetSongBeat' theme='_fallback' return='float' arguments=''>
|
||||
[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"
|
||||
end
|
||||
end,
|
||||
NoiseTrigger = function()
|
||||
local hour = Hour()
|
||||
return hour > 3 and hour < 6 and "ScreenNoise" or "ScreenInit"
|
||||
end,
|
||||
TitleMenu = function()
|
||||
-- home mode is the most assumed use of sm-ssc.
|
||||
if GAMESTATE:GetCoinMode() == "CoinMode_Home" then
|
||||
|
||||
@@ -181,11 +181,13 @@ function HoldTiming()
|
||||
end
|
||||
|
||||
function ShowHoldJudgments()
|
||||
return not GAMESTATE:GetCurrentGame():GetName() == "pump"
|
||||
local isPump = GAMESTATE:GetCurrentGame():GetName() == "pump"
|
||||
return isPump and false or true
|
||||
end
|
||||
|
||||
function HoldHeadStep()
|
||||
return not GAMESTATE:GetCurrentGame():GetName() == "pump"
|
||||
local isPump = GAMESTATE:GetCurrentGame():GetName() == "pump"
|
||||
return isPump and false or true
|
||||
end
|
||||
|
||||
function InitialHoldLife()
|
||||
|
||||
@@ -1085,6 +1085,9 @@ TextFormat="%04.0f"
|
||||
ApproachSeconds=1
|
||||
Commify=false
|
||||
|
||||
[RollingNumbersMaxCombo]
|
||||
Fallback="RollingNumbersJudgment"
|
||||
|
||||
[ScoreDisplayNormal]
|
||||
FrameX=
|
||||
FrameY=
|
||||
@@ -1355,6 +1358,7 @@ LineButtonX=SCREEN_CENTER_X-50
|
||||
LineFunctionX=SCREEN_CENTER_X-30
|
||||
|
||||
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
|
||||
|
||||
PageStartX=SCREEN_CENTER_X-100
|
||||
@@ -1372,8 +1376,6 @@ HeaderTextX=SCREEN_LEFT+80
|
||||
HeaderTextY=SCREEN_TOP+18
|
||||
HeaderTextOnCommand=diffusebottomedge,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,0.5")
|
||||
HeaderTextOffCommand=
|
||||
|
||||
LineOnCommand=zoom,0.75
|
||||
#
|
||||
|
||||
[ScreenSystemLayer]
|
||||
@@ -2916,7 +2918,7 @@ PageFadeSeconds=1.0
|
||||
CoursesToShow=GetCoursesToShowRanking()
|
||||
SecondsPerPage=5
|
||||
#
|
||||
RankingType="Category"
|
||||
RankingType="RankingType_Category"
|
||||
#
|
||||
RowSpacingX=0
|
||||
RowSpacingY=60
|
||||
@@ -3233,6 +3235,7 @@ MaxComboNumDigits=4
|
||||
#
|
||||
ShowBannerArea=true
|
||||
RollingNumbersClass="RollingNumbersJudgment"
|
||||
RollingNumbersMaxComboClass="RollingNumbersMaxCombo"
|
||||
#
|
||||
ShowSharedJudgmentLineLabels=false
|
||||
ShowJudgmentLineW1=false
|
||||
@@ -4128,11 +4131,13 @@ BodyHeight=38
|
||||
[ComboGraph]
|
||||
BodyWidth=140
|
||||
|
||||
# Arcade
|
||||
# Arcade #################################
|
||||
[ScreenLogo]
|
||||
Fallback="ScreenAttract"
|
||||
PrevScreen=Branch.Init()
|
||||
NextScreen="ScreenHowToPlay"
|
||||
# crashes!
|
||||
#NextScreen="ScreenHowToPlay"
|
||||
NextScreen="ScreenDemonstration"
|
||||
StartScreen=Branch.TitleMenu()
|
||||
TimerSeconds=5
|
||||
ForceTimer=true
|
||||
@@ -4176,19 +4181,10 @@ SongBPM=100
|
||||
NumW2s=4
|
||||
NumMisses=6
|
||||
|
||||
[ScreenTitleJoin]
|
||||
Fallback="ScreenTitleMenu"
|
||||
ChoiceNames="GameStart"
|
||||
|
||||
# ScrollerOnCommand=visible,false
|
||||
IdleCommentSeconds=-1
|
||||
IdleTimeoutSeconds=-1
|
||||
IdleTimeoutScreen=Branch.AfterInit()
|
||||
|
||||
[ScreenDemonstration]
|
||||
Fallback="ScreenGameplay"
|
||||
Class="ScreenDemonstration"
|
||||
NextScreen="ScreenInit"
|
||||
NextScreen=Branch.NoiseTrigger()
|
||||
StartScreen=Branch.TitleMenu()
|
||||
PlayMusic=false
|
||||
SecondsToShow=60
|
||||
@@ -4202,6 +4198,24 @@ AllowStyleTypes="TwoPlayersTwoSides"
|
||||
MinSecondsToStep=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]
|
||||
Class="ScreenOptionsMaster"
|
||||
Fallback="ScreenPlayerOptions"
|
||||
|
||||
@@ -11,7 +11,7 @@ local function UpdateSingleBPM(self)
|
||||
end
|
||||
|
||||
local displaySingle = Def.ActorFrame{
|
||||
-- manual bpm displays
|
||||
-- manual bpm display
|
||||
LoadFont("BPMDisplay", "bpm")..{
|
||||
Name="BPMDisplay";
|
||||
InitCommand=cmd(zoom,0.675;shadowlength,1);
|
||||
|
||||
@@ -940,24 +940,28 @@ PaneDisplayFrameP1X=SCREEN_CENTER_X-160
|
||||
PaneDisplayFrameP1Y=SCREEN_BOTTOM-112-2
|
||||
PaneDisplayFrameP1OnCommand=player,PLAYER_1;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||
PaneDisplayFrameP1OffCommand=bouncebegin,0.15;zoomx,0;
|
||||
PaneDisplayFrameP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end
|
||||
#
|
||||
ShowPaneDisplayTextP1=true
|
||||
PaneDisplayTextP1X=SCREEN_CENTER_X-160
|
||||
PaneDisplayTextP1Y=SCREEN_BOTTOM-122-2
|
||||
PaneDisplayTextP1OnCommand=player,PLAYER_1;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||
PaneDisplayTextP1OffCommand=bouncebegin,0.15;zoomx,0;
|
||||
PaneDisplayTextP1PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_1 then self:playcommand("On") end end
|
||||
#
|
||||
ShowPaneDisplayFrameP2=true
|
||||
PaneDisplayFrameP2X=SCREEN_CENTER_X+160
|
||||
PaneDisplayFrameP2Y=SCREEN_BOTTOM-112-2
|
||||
PaneDisplayFrameP2OnCommand=player,PLAYER_2;diffuse,Color("Orange");zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||
PaneDisplayFrameP2OffCommand=bouncebegin,0.15;zoomx,0;
|
||||
PaneDisplayFrameP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end
|
||||
#
|
||||
ShowPaneDisplayTextP2=true
|
||||
PaneDisplayTextP2X=SCREEN_CENTER_X+160
|
||||
PaneDisplayTextP2Y=SCREEN_BOTTOM-122-2
|
||||
PaneDisplayTextP2OnCommand=player,PLAYER_2;zoomy,0;sleep,0.5;decelerate,0.25;zoomy,1
|
||||
PaneDisplayTextP2OffCommand=bouncebegin,0.15;zoomx,0;
|
||||
PaneDisplayTextP2PlayerJoinedMessageCommand=%function(self,params) if params.Player == PLAYER_2 then self:playcommand("On") end end
|
||||
#
|
||||
ShowCourseContentsList=false
|
||||
CourseContentsListX=SCREEN_CENTER_X-160
|
||||
@@ -1336,7 +1340,7 @@ BPMDisplayY=SCREEN_BOTTOM-16
|
||||
BPMDisplayOnCommand=draworder,101
|
||||
BPMDisplayOffCommand=bounceend,0.25;zoom,0
|
||||
#
|
||||
ShowStageDisplay=true
|
||||
ShowStageDisplay=not GAMESTATE:IsCourseMode()
|
||||
StageDisplayX=SCREEN_CENTER_X
|
||||
StageDisplayY=SCREEN_TOP+24
|
||||
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; };
|
||||
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; };
|
||||
AA059ABA0B8CCFB5006F8139 /* ActorMultiTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorMultiTexture.cpp; path = ../src/ActorMultiTexture.cpp; sourceTree = "<group>"; };
|
||||
AA059ABB0B8CCFB5006F8139 /* ActorMultiTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorMultiTexture.h; path = ../src/ActorMultiTexture.h; 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/Actors/ActorMultiTexture.h; 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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
AA5D166A0A798C0E00F17E86 /* ActorFrameTexture.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorFrameTexture.cpp; path = ../src/ActorFrameTexture.cpp; sourceTree = "<group>"; };
|
||||
AA5D166B0A798C0E00F17E86 /* ActorFrameTexture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorFrameTexture.h; path = ../src/ActorFrameTexture.h; 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/Actors/ActorFrameTexture.h; 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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
AA6EFF7504770FFD005F316C /* Actor.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = Actor.cpp; path = ../src/Actor.cpp; sourceTree = "<group>"; };
|
||||
AA6EFF7604770FFD005F316C /* Actor.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = Actor.h; path = ../src/Actor.h; sourceTree = "<group>"; };
|
||||
AA6EFF7704770FFD005F316C /* ActorFrame.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorFrame.cpp; path = ../src/ActorFrame.cpp; sourceTree = "<group>"; };
|
||||
AA6EFF7804770FFD005F316C /* ActorFrame.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorFrame.h; path = ../src/ActorFrame.h; sourceTree = "<group>"; };
|
||||
AA6EFF7904770FFD005F316C /* ActorScroller.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorScroller.cpp; path = ../src/ActorScroller.cpp; sourceTree = "<group>"; };
|
||||
AA6EFF7A04770FFD005F316C /* ActorScroller.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorScroller.h; path = ../src/ActorScroller.h; 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/Actors/Actor.h; 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/Actors/ActorFrame.h; 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/Actors/ActorScroller.h; 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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
AACFBE2608E7D793005087FC /* ActorSound.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.cpp; name = ActorSound.cpp; path = ../src/ActorSound.cpp; sourceTree = "<group>"; };
|
||||
AACFBE2708E7D793005087FC /* ActorSound.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; name = ActorSound.h; path = ../src/ActorSound.h; 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/Actors/ActorSound.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>"; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
AAFE71090A91ADE6005F2290 /* ActorProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ActorProxy.cpp; path = ../src/ActorProxy.cpp; sourceTree = "<group>"; };
|
||||
AAFE710A0A91ADE6005F2290 /* ActorProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ActorProxy.h; path = ../src/ActorProxy.h; 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/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>"; };
|
||||
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>"; };
|
||||
|
||||
@@ -165,7 +165,6 @@ bool CourseLoaderCRS::LoadFromMsd( const RString &sPath, const MsdFile &msd, Cou
|
||||
// todo: make sure these aren't generating bogus entries due
|
||||
// to a lack of songs. -aj
|
||||
int iNumSongs = SONGMAN->GetNumSongs();
|
||||
LOG->Trace("[CourseLoaderCRS] sParams[1] = %s",sParams[1].c_str());
|
||||
// most played
|
||||
if( sParams[1].Left(strlen("BEST")) == "BEST" )
|
||||
{
|
||||
|
||||
@@ -295,6 +295,10 @@ public:
|
||||
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; }
|
||||
|
||||
LunaFadingBanner()
|
||||
@@ -306,7 +310,13 @@ public:
|
||||
ADD_METHOD( LoadFromCourse );
|
||||
ADD_METHOD( LoadIconFromCharacter );
|
||||
ADD_METHOD( LoadCardFromCharacter );
|
||||
ADD_METHOD( LoadRandom );
|
||||
ADD_METHOD( LoadRoulette );
|
||||
ADD_METHOD( LoadCourseFallback );
|
||||
ADD_METHOD( LoadFallback );
|
||||
//ADD_METHOD( LoadFromSortOrder );
|
||||
ADD_METHOD( GetLatestIndex );
|
||||
//ADD_METHOD( GetBanner );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ public:
|
||||
virtual void DrawPrimitives();
|
||||
|
||||
int GetLatestIndex(){ return m_iIndexLatest; }
|
||||
Banner GetBanner(int i){ return m_Banner[i]; }
|
||||
|
||||
// Lua
|
||||
void PushSelf( lua_State *L );
|
||||
|
||||
@@ -1459,6 +1459,12 @@ void GameState::RemoveAllActiveAttacks() // called on end of song
|
||||
m_pPlayerState[p]->RemoveActiveAttacks();
|
||||
}
|
||||
|
||||
void GameState::AddStageToPlayer( PlayerNumber pn )
|
||||
{
|
||||
// Add one stage more to player (bonus) -cerbo
|
||||
++m_iPlayerStageTokens[pn];
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void setmin( T &a, const T &b )
|
||||
{
|
||||
@@ -2430,6 +2436,7 @@ public:
|
||||
lua_pushboolean(L, p->m_bDopefish);
|
||||
return 1;
|
||||
}
|
||||
static int AddStageToPlayer( T* p, lua_State *L ) { p->AddStageToPlayer(Enum::Check<PlayerNumber>(L, 1)); return 0; }
|
||||
|
||||
LunaGameState()
|
||||
{
|
||||
@@ -2531,6 +2538,7 @@ public:
|
||||
ADD_METHOD( SetCharacter );
|
||||
ADD_METHOD( GetExpandedSectionName );
|
||||
ADD_METHOD( Dopefish );
|
||||
ADD_METHOD( AddStageToPlayer );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ public:
|
||||
bool HaveProfileToLoad();
|
||||
bool HaveProfileToSave();
|
||||
void SaveLocalData();
|
||||
void AddStageToPlayer( PlayerNumber pn );
|
||||
void LoadCurrentSettingsFromProfile( PlayerNumber pn );
|
||||
/**
|
||||
* @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
|
||||
|
||||
Actors = \
|
||||
Actor.cpp Actor.h ActorFrame.cpp ActorFrame.h \
|
||||
ActorFrameTexture.cpp ActorFrameTexture.h \
|
||||
ActorMultiTexture.cpp ActorMultiTexture.h \
|
||||
ActorProxy.cpp ActorProxy.h \
|
||||
ActorScroller.cpp ActorScroller.h ActorUtil.cpp ActorUtil.h \
|
||||
ActorSound.cpp ActorSound.h \
|
||||
Actors/Actor.cpp Actors/Actor.h Actors/ActorFrame.cpp Actors/ActorFrame.h \
|
||||
Actors/ActorFrameTexture.cpp Actors/ActorFrameTexture.h \
|
||||
Actors/ActorMultiTexture.cpp Actors/ActorMultiTexture.h \
|
||||
Actors/ActorProxy.cpp Actors/ActorProxy.h \
|
||||
Actors/ActorScroller.cpp Actors/ActorScroller.h ActorUtil.cpp ActorUtil.h \
|
||||
Actors/ActorSound.cpp Actors/ActorSound.h \
|
||||
AutoActor.cpp AutoActor.h \
|
||||
BitmapText.cpp BitmapText.h Model.cpp Model.h \
|
||||
DynamicActorScroller.cpp DynamicActorScroller.h \
|
||||
|
||||
+16
-2
@@ -88,7 +88,7 @@ void SMLoader::LoadFromTokens(
|
||||
out.SetDescription( sDescription );
|
||||
out.SetCredit( sDescription ); // this is often used for both.
|
||||
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
|
||||
// Difficulty_Challenge. (At least v1.64, possibly v3.0 final...)
|
||||
@@ -667,9 +667,23 @@ bool SMLoader::LoadNoteDataFromSimfile( const RString &path, Steps &out )
|
||||
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 ) &&
|
||||
out.GetDescription() == description &&
|
||||
out.GetDifficulty() == StringToDifficulty(difficulty)))
|
||||
(out.GetDifficulty() == StringToDifficulty(difficulty) ||
|
||||
out.GetDifficulty() == OldStyleStringToDifficulty(difficulty))))
|
||||
{
|
||||
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 )
|
||||
{
|
||||
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;",
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_STOP)).c_str()));
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_STOP, 3)).c_str()));
|
||||
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;",
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_WARP)).c_str()));
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_WARP, 3)).c_str()));
|
||||
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;",
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_TICKCOUNT)).c_str()));
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_TICKCOUNT, 3)).c_str()));
|
||||
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;",
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_SPEED)).c_str()));
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_SPEED, 3)).c_str()));
|
||||
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;",
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_FAKE)).c_str()));
|
||||
join(",\r\n", timing.ToVectorString(SEGMENT_FAKE, 3)).c_str()));
|
||||
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
|
||||
UpdateText();
|
||||
|
||||
// blink the text to show what changed
|
||||
// show what changed
|
||||
BitmapText &bt = *m_vptextButton[i];
|
||||
bt.FinishTweening();
|
||||
// blink 5 times instead of 8
|
||||
// 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);
|
||||
}
|
||||
bt.PlayCommand("Toggled");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+5
-1
@@ -1739,7 +1739,8 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
|
||||
break;
|
||||
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_begin_marker].bEnabled = !m_Clipboard.IsEmpty() != 0 && m_NoteFieldEdit.m_iBeginMarker!=-1;
|
||||
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
|
||||
{
|
||||
// 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);
|
||||
g_AlterMenu.rows[routine_invert_notes].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_TIME_AREA THEME->GetMetricB(m_sName,"ShowTimeArea")
|
||||
#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_SEPARATOR THEME->GetMetric (m_sName,"PlayerOptionsSeparator")
|
||||
#define CHECKPOINTS_WITH_JUDGMENTS THEME->GetMetricB(m_sName,"CheckpointsWithJudgments")
|
||||
@@ -460,6 +459,7 @@ void ScreenEvaluation::Init()
|
||||
|
||||
// init judgment area
|
||||
ROLLING_NUMBERS_CLASS.Load( m_sName, "RollingNumbersClass" );
|
||||
ROLLING_NUMBERS_MAX_COMBO_CLASS.Load( m_sName, "RollingNumbersMaxComboClass" );
|
||||
FOREACH_ENUM( JudgmentLine, l )
|
||||
{
|
||||
if( l == JudgmentLine_W1 && !GAMESTATE->ShowW1() )
|
||||
@@ -481,7 +481,10 @@ void ScreenEvaluation::Init()
|
||||
{
|
||||
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].Load( ROLLING_NUMBERS_CLASS );
|
||||
if( JudgmentLineToString(l) == "MaxCombo" )
|
||||
m_textJudgmentLineNumber[l][p].Load( ROLLING_NUMBERS_MAX_COMBO_CLASS );
|
||||
else
|
||||
m_textJudgmentLineNumber[l][p].Load( ROLLING_NUMBERS_CLASS );
|
||||
ActorUtil::LoadAllCommands( m_textJudgmentLineNumber[l][p], m_sName );
|
||||
SET_XY( m_textJudgmentLineNumber[l][p] );
|
||||
this->AddChild( &m_textJudgmentLineNumber[l][p] );
|
||||
|
||||
@@ -115,6 +115,7 @@ protected:
|
||||
|
||||
ThemeMetric<bool> SUMMARY;
|
||||
ThemeMetric<RString> ROLLING_NUMBERS_CLASS;
|
||||
ThemeMetric<RString> ROLLING_NUMBERS_MAX_COMBO_CLASS;
|
||||
/** @brief Did a player save a screenshot of their score? */
|
||||
bool m_bSavedScreenshot[NUM_PLAYERS];
|
||||
};
|
||||
|
||||
+1
-7
@@ -41,7 +41,7 @@
|
||||
* @brief The internal version of the cache for StepMania.
|
||||
*
|
||||
* 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? */
|
||||
const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f;
|
||||
@@ -920,12 +920,6 @@ void Song::Save()
|
||||
|
||||
ReCalculateRadarValuesAndLastSecond();
|
||||
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.
|
||||
if( !SaveToSSCFile(GetSongFilePath(), false) )
|
||||
|
||||
@@ -2956,46 +2956,46 @@ cl /Zl /nologo /c verstub.cpp /Fo"$(IntDir)"\
|
||||
Name="Actors"
|
||||
Filter="">
|
||||
<File
|
||||
RelativePath="Actor.cpp">
|
||||
RelativePath="Actors\Actor.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Actor.h">
|
||||
RelativePath="Actors\Actor.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrame.cpp">
|
||||
RelativePath="Actors\ActorFrame.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrame.h">
|
||||
RelativePath="Actors\ActorFrame.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrameTexture.cpp">
|
||||
RelativePath="Actors\ActorFrameTexture.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrameTexture.h">
|
||||
RelativePath="Actors\ActorFrameTexture.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorMultiTexture.cpp">
|
||||
RelativePath="Actors\ActorMultiTexture.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorMultiTexture.h">
|
||||
RelativePath="Actors\ActorMultiTexture.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorProxy.cpp">
|
||||
RelativePath="Actors\ActorProxy.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorProxy.h">
|
||||
RelativePath="Actors\ActorProxy.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorScroller.cpp">
|
||||
RelativePath="Actors\ActorScroller.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorScroller.h">
|
||||
RelativePath="Actors\ActorScroller.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorSound.cpp">
|
||||
RelativePath="Actors\ActorSound.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorSound.h">
|
||||
RelativePath="Actors\ActorSound.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorUtil.cpp">
|
||||
|
||||
@@ -4654,59 +4654,59 @@
|
||||
Name="Actors"
|
||||
>
|
||||
<File
|
||||
RelativePath="Actor.cpp"
|
||||
RelativePath="Actors\Actor.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Actor.h"
|
||||
RelativePath="Actors\Actor.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrame.cpp"
|
||||
RelativePath="Actors\ActorFrame.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrame.h"
|
||||
RelativePath="Actors\ActorFrame.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrameTexture.cpp"
|
||||
RelativePath="Actors\ActorFrameTexture.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrameTexture.h"
|
||||
RelativePath="Actors\ActorFrameTexture.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorMultiTexture.cpp"
|
||||
RelativePath="Actors\ActorMultiTexture.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorMultiTexture.h"
|
||||
RelativePath="Actors\ActorMultiTexture.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorProxy.cpp"
|
||||
RelativePath="Actors\ActorProxy.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorProxy.h"
|
||||
RelativePath="Actors\ActorProxy.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorScroller.cpp"
|
||||
RelativePath="Actors\ActorScroller.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorScroller.h"
|
||||
RelativePath="Actors\ActorScroller.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorSound.cpp"
|
||||
RelativePath="Actors\ActorSound.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorSound.h"
|
||||
RelativePath="Actors\ActorSound.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
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"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="3"
|
||||
@@ -158,7 +158,7 @@
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
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"
|
||||
StringPooling="true"
|
||||
MinimalRebuild="false"
|
||||
@@ -263,7 +263,7 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
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"
|
||||
ExceptionHandling="0"
|
||||
BasicRuntimeChecks="0"
|
||||
@@ -371,7 +371,7 @@
|
||||
InlineFunctionExpansion="2"
|
||||
EnableIntrinsicFunctions="true"
|
||||
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"
|
||||
StringPooling="true"
|
||||
MinimalRebuild="false"
|
||||
@@ -3821,59 +3821,59 @@
|
||||
Name="Actors"
|
||||
>
|
||||
<File
|
||||
RelativePath="Actor.cpp"
|
||||
RelativePath="Actors\Actor.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Actor.h"
|
||||
RelativePath="Actors\Actor.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrame.cpp"
|
||||
RelativePath="Actors\ActorFrame.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrame.h"
|
||||
RelativePath="Actors\ActorFrame.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrameTexture.cpp"
|
||||
RelativePath="Actors\ActorFrameTexture.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorFrameTexture.h"
|
||||
RelativePath="Actors\ActorFrameTexture.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorMultiTexture.cpp"
|
||||
RelativePath="Actors\ActorMultiTexture.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorMultiTexture.h"
|
||||
RelativePath="Actors\ActorMultiTexture.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorProxy.cpp"
|
||||
RelativePath="Actors\ActorProxy.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorProxy.h"
|
||||
RelativePath="Actors\ActorProxy.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorScroller.cpp"
|
||||
RelativePath="Actors\ActorScroller.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorScroller.h"
|
||||
RelativePath="Actors\ActorScroller.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorSound.cpp"
|
||||
RelativePath="Actors\ActorSound.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="ActorSound.h"
|
||||
RelativePath="Actors\ActorSound.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
|
||||
@@ -762,14 +762,14 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)</Command>
|
||||
<ClCompile Include="RageUtil_CharConversions.cpp" />
|
||||
<ClCompile Include="RageUtil_FileDB.cpp" />
|
||||
<ClCompile Include="RageUtil_WorkerThread.cpp" />
|
||||
<ClCompile Include="Actor.cpp" />
|
||||
<ClCompile Include="ActorFrame.cpp" />
|
||||
<ClCompile Include="ActorFrameTexture.cpp" />
|
||||
<ClCompile Include="ActorMultiTexture.cpp" />
|
||||
<ClCompile Include="ActorProxy.cpp" />
|
||||
<ClCompile Include="ActorScroller.cpp" />
|
||||
<ClCompile Include="ActorSound.cpp" />
|
||||
<ClCompile Include="ActorUtil.cpp" />
|
||||
<ClCompile Include="Actors\Actor.cpp" />
|
||||
<ClCompile Include="Actors\ActorFrame.cpp" />
|
||||
<ClCompile Include="Actors\ActorFrameTexture.cpp" />
|
||||
<ClCompile Include="Actors\ActorMultiTexture.cpp" />
|
||||
<ClCompile Include="Actors\ActorProxy.cpp" />
|
||||
<ClCompile Include="Actors\ActorScroller.cpp" />
|
||||
<ClCompile Include="Actors\ActorSound.cpp" />
|
||||
<ClCompile Include="Actors\ActorUtil.cpp" />
|
||||
<ClCompile Include="AutoActor.cpp" />
|
||||
<ClCompile Include="BitmapText.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_FileDB.h" />
|
||||
<ClInclude Include="RageUtil_WorkerThread.h" />
|
||||
<ClInclude Include="Actor.h" />
|
||||
<ClInclude Include="ActorFrame.h" />
|
||||
<ClInclude Include="ActorFrameTexture.h" />
|
||||
<ClInclude Include="ActorMultiTexture.h" />
|
||||
<ClInclude Include="ActorProxy.h" />
|
||||
<ClInclude Include="ActorScroller.h" />
|
||||
<ClInclude Include="ActorSound.h" />
|
||||
<ClInclude Include="Actors\Actor.h" />
|
||||
<ClInclude Include="Actors\ActorFrame.h" />
|
||||
<ClInclude Include="Actors\ActorFrameTexture.h" />
|
||||
<ClInclude Include="Actors\ActorMultiTexture.h" />
|
||||
<ClInclude Include="Actors\ActorProxy.h" />
|
||||
<ClInclude Include="Actors\ActorScroller.h" />
|
||||
<ClInclude Include="Actors\ActorSound.h" />
|
||||
<ClInclude Include="ActorUtil.h" />
|
||||
<ClInclude Include="AutoActor.h" />
|
||||
<ClInclude Include="BitmapText.h" />
|
||||
|
||||
@@ -1242,25 +1242,25 @@
|
||||
<ClCompile Include="RageUtil_WorkerThread.cpp">
|
||||
<Filter>Rage</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Actor.cpp">
|
||||
<ClCompile Include="Actors\Actor.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorFrame.cpp">
|
||||
<ClCompile Include="Actors\ActorFrame.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorFrameTexture.cpp">
|
||||
<ClCompile Include="Actors\ActorFrameTexture.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorMultiTexture.cpp">
|
||||
<ClCompile Include="Actors\ActorMultiTexture.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorProxy.cpp">
|
||||
<ClCompile Include="Actors\ActorProxy.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorScroller.cpp">
|
||||
<ClCompile Include="Actors\ActorScroller.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorSound.cpp">
|
||||
<ClCompile Include="Actors\ActorSound.cpp">
|
||||
<Filter>Actors</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActorUtil.cpp">
|
||||
@@ -2777,25 +2777,25 @@
|
||||
<ClInclude Include="RageUtil_WorkerThread.h">
|
||||
<Filter>Rage</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Actor.h">
|
||||
<ClInclude Include="Actors\Actor.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorFrame.h">
|
||||
<ClInclude Include="Actors\ActorFrame.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorFrameTexture.h">
|
||||
<ClInclude Include="Actors\ActorFrameTexture.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorMultiTexture.h">
|
||||
<ClInclude Include="Actors\ActorMultiTexture.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorProxy.h">
|
||||
<ClInclude Include="Actors\ActorProxy.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorScroller.h">
|
||||
<ClInclude Include="Actors\ActorScroller.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorSound.h">
|
||||
<ClInclude Include="Actors\ActorSound.h">
|
||||
<Filter>Actors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActorUtil.h">
|
||||
|
||||
+8
-4
@@ -80,10 +80,14 @@ static Preference<bool> g_bAllowMultipleInstances( "AllowMultipleInstances", fal
|
||||
|
||||
void StepMania::GetPreferredVideoModeParams( VideoModeParams ¶msOut )
|
||||
{
|
||||
// unsure if this is still going to cause first run issues. -aj
|
||||
float fAspectRatio = PREFSMAN->m_fDisplayAspectRatio;
|
||||
int iHeight = PREFSMAN->m_iDisplayHeight;
|
||||
int iWidth = ceilf(iHeight * fAspectRatio);
|
||||
// resolution handling code that probably needs fixing
|
||||
int iWidth = PREFSMAN->m_iDisplayWidth;
|
||||
if( PREFSMAN->m_bWindowed )
|
||||
{
|
||||
//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
|
||||
// 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 )
|
||||
{
|
||||
const vector<TimingSegment*> vpSegs = cpy.m_avpTimingSegments[tst];
|
||||
const vector<TimingSegment*> &vpSegs = cpy.m_avpTimingSegments[tst];
|
||||
|
||||
for( unsigned i = 0; i < vpSegs.size(); ++i )
|
||||
AddSegment( vpSegs[i] );
|
||||
@@ -36,7 +36,7 @@ void TimingData::Clear()
|
||||
vector<TimingSegment*> &vSegs = m_avpTimingSegments[tst];
|
||||
for( unsigned i = 0; i < vSegs.size(); ++i )
|
||||
{
|
||||
LOG->Trace( "deleting %p", vSegs[i] );
|
||||
//LOG->Trace( "deleting %p", vSegs[i] );
|
||||
SAFE_DELETE( vSegs[i] ); }
|
||||
|
||||
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.
|
||||
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();
|
||||
|
||||
TimingSegmentType tst = seg->GetType();
|
||||
|
||||
@@ -19,9 +19,7 @@
|
||||
#include "RageSurfaceUtils_Zoom.h"
|
||||
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 )
|
||||
{
|
||||
RageSurfaceUtils::ConvertSurface( s, s->w, s->h, 32, 0xFF000000, 0x00FF0000, 0x0000FF00, 0 );
|
||||
@@ -35,14 +33,14 @@ static HBITMAP LoadWin32Surface( RageSurface *&s )
|
||||
HDC BitmapDC = CreateCompatibleDC( hScreen );
|
||||
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 )
|
||||
{
|
||||
unsigned const char *line = ((unsigned char *) s->pixels) + (y * s->pitch);
|
||||
for( int x = 0; x < s->w; ++x )
|
||||
{
|
||||
unsigned const char *data = line + (x*s->format->BytesPerPixel);
|
||||
|
||||
|
||||
SetPixelV( BitmapDC, x, y, RGB( data[3], data[2], data[1] ) );
|
||||
}
|
||||
}
|
||||
@@ -62,7 +60,7 @@ static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd )
|
||||
if( pSurface == NULL )
|
||||
return NULL;
|
||||
|
||||
/* Resize the splash image to fit the dialog. Stretch to fit horizontally,
|
||||
/* Resize the splash image to fit the dialog. Stretch to fit horizontally,
|
||||
* maintaining aspect ratio. */
|
||||
{
|
||||
RECT r;
|
||||
@@ -80,43 +78,8 @@ static HBITMAP LoadWin32Surface( RString sFile, HWND hWnd )
|
||||
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 )
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
@@ -134,36 +97,11 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara
|
||||
(WPARAM) IMAGE_BITMAP,
|
||||
(LPARAM) (HANDLE) g_hBitmap );
|
||||
SetWindowTextA( hWnd, PRODUCT_ID );
|
||||
|
||||
break;
|
||||
|
||||
case WM_CLOSE:
|
||||
HOOKS->SetUserQuit();
|
||||
return FALSE;
|
||||
|
||||
case WM_DESTROY:
|
||||
|
||||
/*
|
||||
#if(WINVER >= 0x0601)
|
||||
if (self->pTaskbarList) {
|
||||
self->pTaskbarList->Release();
|
||||
self->pTaskbarList = NULL;
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
|
||||
DeleteObject( g_hBitmap );
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -172,7 +110,7 @@ INT_PTR CALLBACK LoadingWindow_Win32::DlgProc( HWND hWnd, UINT msg, WPARAM wPara
|
||||
|
||||
void LoadingWindow_Win32::SetIcon( const RageSurface *pIcon )
|
||||
{
|
||||
if( g_hBitmap != NULL )
|
||||
if( m_hIcon != NULL )
|
||||
DestroyIcon( m_hIcon );
|
||||
|
||||
m_hIcon = IconFromSurface( pIcon );
|
||||
@@ -201,64 +139,35 @@ void LoadingWindow_Win32::SetSplash( const RString sPath )
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
runMessageLoop=true;
|
||||
|
||||
guiReadyEvent=CreateEvent(NULL,FALSE,FALSE,NULL);
|
||||
|
||||
pumpThread=CreateThread(NULL, NULL, MessagePump, (void *)this, 0, &pumpThreadId);
|
||||
|
||||
WaitForSingleObject(guiReadyEvent,INFINITE);
|
||||
|
||||
hwnd = CreateDialog( handle.Get(), MAKEINTRESOURCE(IDD_LOADING_DIALOG), NULL, WndProc );
|
||||
for( unsigned i = 0; i < 3; ++i )
|
||||
text[i] = "ABC"; /* always set on first call */
|
||||
SetText( "" );
|
||||
Paint();
|
||||
}
|
||||
|
||||
LoadingWindow_Win32::~LoadingWindow_Win32()
|
||||
{
|
||||
SendMessage(hwnd,WM_APP,0,0);
|
||||
//SendMessage(hwnd,WM_NULL,0,0);
|
||||
WaitForSingleObject(pumpThread,INFINITE);
|
||||
if(guiReadyEvent)
|
||||
CloseHandle(guiReadyEvent);
|
||||
if( hwnd )
|
||||
DestroyWindow( hwnd );
|
||||
if( m_hIcon != NULL )
|
||||
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);
|
||||
|
||||
SetEvent(self->guiReadyEvent);
|
||||
|
||||
// Run the message loop in a separate thread to keep the gui responsive during the loading
|
||||
/* Process all queued messages since the last paint. This allows the window to
|
||||
* come back if it loses focus during load. */
|
||||
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 );
|
||||
}
|
||||
|
||||
return msg.wParam;
|
||||
}
|
||||
|
||||
void LoadingWindow_Win32::SetText( RString sText )
|
||||
@@ -267,7 +176,7 @@ void LoadingWindow_Win32::SetText( RString sText )
|
||||
split( sText, "\n", asMessageLines, false );
|
||||
while( asMessageLines.size() < 3 )
|
||||
asMessageLines.push_back( "" );
|
||||
|
||||
|
||||
const int msgid[] = { IDC_STATIC_MESSAGE1, IDC_STATIC_MESSAGE2, IDC_STATIC_MESSAGE3 };
|
||||
for( unsigned i = 0; i < 3; ++i )
|
||||
{
|
||||
@@ -276,7 +185,6 @@ void LoadingWindow_Win32::SetText( RString sText )
|
||||
text[i] = asMessageLines[i];
|
||||
|
||||
HWND hwndItem = ::GetDlgItem( hwnd, msgid[i] );
|
||||
|
||||
::SetWindowText( hwndItem, ConvertUTF8ToACP(asMessageLines[i]).c_str() );
|
||||
}
|
||||
}
|
||||
@@ -286,13 +194,6 @@ void LoadingWindow_Win32::SetProgress(const int progress)
|
||||
m_progress=progress;
|
||||
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
||||
::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)
|
||||
@@ -300,42 +201,21 @@ void LoadingWindow_Win32::SetTotalWork(const int totalWork)
|
||||
m_totalWork=totalWork;
|
||||
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
||||
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;
|
||||
|
||||
HWND hwndItem = ::GetDlgItem( hwnd, IDC_PROGRESS );
|
||||
|
||||
if(indeterminate) {
|
||||
/*
|
||||
#if(WINVER >= 0x0601)
|
||||
if(pTaskbarList) {
|
||||
pTaskbarList->SetProgressState(hwnd, TBPF_INDETERMINATE);
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
SetWindowLong(hwndItem,GWL_STYLE, PBS_MARQUEE | GetWindowLong(hwndItem,GWL_STYLE));
|
||||
SendMessage(hwndItem,PBM_SETMARQUEE,1,0);
|
||||
} else {
|
||||
SendMessage(hwndItem,PBM_SETMARQUEE,0,0);
|
||||
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
|
||||
#define LOADING_WINDOW_WIN32_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "LoadingWindow.h"
|
||||
#include <windows.h>
|
||||
#include "archutils/Win32/AppInstance.h"
|
||||
|
||||
#if(WINVER >= 0x0601)
|
||||
#include "Shobjidl.h"
|
||||
#endif
|
||||
|
||||
class LoadingWindow_Win32: public LoadingWindow
|
||||
{
|
||||
public:
|
||||
LoadingWindow_Win32();
|
||||
~LoadingWindow_Win32();
|
||||
|
||||
void Paint();
|
||||
void SetText( RString sText );
|
||||
void SetIcon( const RageSurface *pIcon );
|
||||
void SetSplash( const RString sPath );
|
||||
@@ -31,22 +26,8 @@ private:
|
||||
HWND hwnd;
|
||||
RString text[3];
|
||||
HICON m_hIcon;
|
||||
HANDLE pumpThread;
|
||||
DWORD pumpThreadId;
|
||||
HANDLE guiReadyEvent;
|
||||
|
||||
/*
|
||||
#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 );
|
||||
static BOOL CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
};
|
||||
#define USE_LOADING_WINDOW_WIN32
|
||||
|
||||
|
||||
Reference in New Issue
Block a user