From 81cda8dbc99a289d63caa730d2d1944e968692ba Mon Sep 17 00:00:00 2001 From: brunzelchen Date: Sat, 9 Oct 2010 06:17:23 +0000 Subject: fix: reload screens if skin or color was changed fix: colors on challenge party new round screen git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/branches/1.0.1 Challenge MOD@2646 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Screens/UScreenOptionsThemes.pas | 49 ++++++++++++++++++------------ Game/Code/Screens/UScreenSingModi.pas | 2 +- 2 files changed, 30 insertions(+), 21 deletions(-) (limited to 'Game/Code/Screens') diff --git a/Game/Code/Screens/UScreenOptionsThemes.pas b/Game/Code/Screens/UScreenOptionsThemes.pas index a6b5d543..41383a54 100644 --- a/Game/Code/Screens/UScreenOptionsThemes.pas +++ b/Game/Code/Screens/UScreenOptionsThemes.pas @@ -9,9 +9,12 @@ type TScreenOptionsThemes = class(TMenu) private procedure ReloadTheme; - + procedure ReloadScreens; public - AktualTheme: Integer; + ActualTheme: Integer; + ActualSkin: Integer; + ActualColor: Integer; + SkinSelect: Integer; constructor Create; override; function ParseInput(PressedKey: Cardinal; ScanCode: byte; PressedDown: Boolean): Boolean; override; @@ -47,14 +50,8 @@ begin begin Ini.Save; - // Reload all screens, after Theme changed - if(AktualTheme<>Ini.Theme) then - begin - UGraphic.UnLoadScreens(); - UGraphic.LoadScreens( true ); - ScreenSong.Refresh(true); - PlaylistMan.LoadPlayLists; - end; + ReloadScreens; + Music.PlayBack; FadeTo(@ScreenOptions); end; @@ -64,14 +61,8 @@ begin begin Ini.Save; - // Reload all screens, after Theme changed - if(AktualTheme<>Ini.Theme) then - begin - UGraphic.UnLoadScreens(); - UGraphic.LoadScreens( true ); - ScreenSong.Refresh(true); - PlaylistMan.LoadPlayLists; - end; + ReloadScreens; + Music.PlayBack; FadeTo(@ScreenOptions); end; @@ -152,7 +143,9 @@ begin if not Help.SetHelpID(ID) then Log.LogError('No Entry for Help-ID ' + ID + ' (ScreenOptionsThemes)'); - AktualTheme := Ini.Theme; + ActualTheme := Ini.Theme; + ActualSkin := Ini.SkinNo; + ActualColor := Ini.Color; end; procedure TScreenOptionsThemes.ReloadTheme; @@ -170,9 +163,25 @@ begin Display.Draw; SwapBuffers; - ScreenOptionsThemes.AktualTheme := self.AktualTheme; + ScreenOptionsThemes.ActualTheme := self.ActualTheme; + ScreenOptionsThemes.ActualSkin := self.ActualSkin; + ScreenOptionsThemes.ActualColor := self.ActualColor; freeandnil( self ); end; +procedure TScreenOptionsThemes.ReloadScreens; +begin + // Reload all screens, after Theme changed + if(ActualTheme <> Ini.Theme) or + (ActualSkin <> Ini.SkinNo) or + (ActualColor <> Ini.Color) then + begin + UGraphic.UnLoadScreens(); + UGraphic.LoadScreens( true ); + ScreenSong.Refresh(true); + PlaylistMan.LoadPlayLists; + end; +end; + end. diff --git a/Game/Code/Screens/UScreenSingModi.pas b/Game/Code/Screens/UScreenSingModi.pas index 715ec0b2..1c1d8ade 100644 --- a/Game/Code/Screens/UScreenSingModi.pas +++ b/Game/Code/Screens/UScreenSingModi.pas @@ -597,7 +597,7 @@ end; // update and draw movie if ShowFinish and AktSong.VideoLoaded AND DllMan.Selected.LoadVideo then begin - acGetFrame(Czas.Teraz); + acGetFrame(Music.Position); acDrawGL(ScreenAct, not WebCam); // this only draws end; -- cgit v1.2.3