aboutsummaryrefslogtreecommitdiffstats
path: root/Game/Code/Screens
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Game/Code/Screens/UScreenEditSub.pas1
-rw-r--r--Game/Code/Screens/UScreenSong.pas110
2 files changed, 72 insertions, 39 deletions
diff --git a/Game/Code/Screens/UScreenEditSub.pas b/Game/Code/Screens/UScreenEditSub.pas
index 5570e965..7665d8a4 100644
--- a/Game/Code/Screens/UScreenEditSub.pas
+++ b/Game/Code/Screens/UScreenEditSub.pas
@@ -2224,6 +2224,7 @@ begin
Window.Right := 770;
Window.Upper := 65;
Window.Lower := 250;
+ Window.Reflection := false;
Window.windowed := true;
{if CoverTime>=Ini.PreviewFading then
diff --git a/Game/Code/Screens/UScreenSong.pas b/Game/Code/Screens/UScreenSong.pas
index 9f015a80..6bbaacbb 100644
--- a/Game/Code/Screens/UScreenSong.pas
+++ b/Game/Code/Screens/UScreenSong.pas
@@ -2242,31 +2242,7 @@ begin
Text[TextPlugin].Visible := false;
end;
- //Instead of Draw FG Procedure:
- //We draw Buttons for our own
- for I := 0 to Length(Button) - 1 do
- Button[I].Draw;
-
- // Statics
- for I := 0 to Length(Static) - 1 do
- Static[I].Draw;
-
- // and texts
- for I := 0 to Length(Text) - 1 do
- Text[I].Draw;
-
-
-
- //Draw Equalizer
- if Theme.Song.Equalizer.Visible then
- DrawEqualizer;
-
- if (CatSongs.Song[Interaction].Main) or (CatSongs.VisibleSongs = 0) then
- begin
- acClose;
- VidVis := none;
- end;
-
+ //prepare Video
if UVideo.VideoOpened then
begin
Czas.Teraz := Czas.Teraz + TimeSkip;
@@ -2279,33 +2255,89 @@ begin
Window.Right := Button[Interaction].X+Button[Interaction].W;
Window.Upper := Button[Interaction].Y;
Window.Lower := Button[Interaction].Y+Button[Interaction].H;
+ Window.ReflactionSpacing := Button[Interaction].Reflectionspacing;
+ Window.Reflection := Button[Interaction].Reflection;
Window.windowed := true;
- {if CoverTime>=Ini.PreviewFading then
- begin
- glColor4f(0, 0, 0, 1);
-
- glbegin(gl_quads);
- glVertex2f(Window.Left, Window.Upper);
- glVertex2f(Window.Left, Window.Lower);
- glVertex2f(Window.Right, Window.Lower);
- glVertex2f(Window.Right, Window.Upper);
- glEnd;
- end; }
SetAspectCorrection(acoCrop);
Blend := (CoverTime-1.75)/Ini.PreviewFading;
if Blend<0 then
Blend := 0
else if Blend>1 then
Blend := 1;
+ end;
+ except
+ //If an Error occurs drawing: prevent Video from being Drawn again and Close Video
+ log.LogError('Error drawing Video, Video has been disabled for this Song/Session.');
+ Log.LogError('Corrupted File: ' + CatSongs.Song[Interaction].Video);
+ try
+ acClose;
+ VidVis := none;
+ except
+ end;
+ end;
+ end;
+
+ //Instead of Draw FG Procedure:
+ //We draw Buttons for our own (without interaction-button)
+ for I := 0 to Length(Button) - 1 do
+ begin
+ if (I<>Interaction) then
+ Button[I].Draw;
+ end;
+
+ //Draw Video preview and interaction-button
+ if UVideo.VideoOpened then
+ begin
+ if (Blend<1) or not EnableVideoDraw then
+ Button[Interaction].Draw;
+
+ try
+ if VidVis=windowed then
acDrawGLi(ScreenAct, Window, Blend);
- end else if VidVis=full then
+
+ if (Czas.Teraz>=Czas.Razem) then
begin
- acDrawGL(ScreenAct);
+ acClose;
+ VidVis := none;
end;
+ except
+ //If an Error occurs drawing: prevent Video from being Drawn again and Close Video
+ log.LogError('Error drawing Video, Video has been disabled for this Song/Session.');
+ Log.LogError('Corrupted File: ' + CatSongs.Song[Interaction].Video);
+ try
+ acClose;
+ VidVis := none;
+ except
+ end;
+ end;
+ end else
+ Button[Interaction].Draw;
+
+ // Statics
+ for I := 0 to Length(Static) - 1 do
+ Static[I].Draw;
+
+ // and texts
+ for I := 0 to Length(Text) - 1 do
+ Text[I].Draw;
+
+ //Draw Equalizer
+ if Theme.Song.Equalizer.Visible then
+ DrawEqualizer;
- //ResetAspectCorrection;
+ if (CatSongs.Song[Interaction].Main) or (CatSongs.VisibleSongs = 0) then
+ begin
+ acClose;
+ VidVis := none;
+ end;
+
+ if UVideo.VideoOpened then
+ begin
+ try
+ if VidVis=full then
+ acDrawGL(ScreenAct);
if (Czas.Teraz>=Czas.Razem) then
begin