aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/src/screens/UScreenLevel.pas
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/src/screens/UScreenLevel.pas')
-rw-r--r--cmake/src/screens/UScreenLevel.pas25
1 files changed, 14 insertions, 11 deletions
diff --git a/cmake/src/screens/UScreenLevel.pas b/cmake/src/screens/UScreenLevel.pas
index b41a8535..1ead9773 100644
--- a/cmake/src/screens/UScreenLevel.pas
+++ b/cmake/src/screens/UScreenLevel.pas
@@ -46,8 +46,8 @@ type
TScreenLevel = class(TMenu)
public
constructor Create; override;
- function ParseInput(PressedKey: cardinal; CharCode: WideChar; PressedDown: boolean): boolean; override;
- procedure onShow; override;
+ function ParseInput(PressedKey: cardinal; CharCode: UCS4Char; PressedDown: boolean): boolean; override;
+ procedure OnShow; override;
procedure SetAnimationProgress(Progress: real); override;
end;
@@ -58,29 +58,34 @@ uses
UMain,
UIni,
USong,
- UTexture;
+ UTexture,
+ UUnicodeUtils;
-function TScreenLevel.ParseInput(PressedKey: cardinal; CharCode: WideChar; PressedDown: boolean): boolean;
+function TScreenLevel.ParseInput(PressedKey: cardinal; CharCode: UCS4Char; PressedDown: boolean): boolean;
begin
Result := true;
if (PressedDown) then
begin // Key Down
// check normal keys
- case WideCharUpperCase(CharCode)[1] of
- 'Q':
+ case UCS4UpperCase(CharCode) of
+ Ord('Q'):
begin
Result := false;
Exit;
end;
end;
-
+
// check special keys
case PressedKey of
SDLK_ESCAPE,
SDLK_BACKSPACE :
begin
AudioPlayback.PlaySound(SoundLib.Back);
- FadeTo(@ScreenName);
+
+ if Ini.OnSongClick = sSelectPlayer then
+ FadeTo(@ScreenMain)
+ else
+ FadeTo(@ScreenName);
end;
SDLK_RETURN:
@@ -105,8 +110,6 @@ begin
end;
constructor TScreenLevel.Create;
-//var
-// I: integer; // Auto Removed, Unused Variable
begin
inherited Create;
@@ -119,7 +122,7 @@ begin
Interaction := 0;
end;
-procedure TScreenLevel.onShow;
+procedure TScreenLevel.OnShow;
begin
inherited;