Video menu input overhaul. [MaxSt]

This commit is contained in:
n-a-c-h
2004-07-15 22:14:41 +00:00
parent 3fe6cf68a9
commit f89cb6d772
2 changed files with 154 additions and 1 deletions

View File

@@ -3384,7 +3384,22 @@ GUITryMenuItem:
GUICheckMenuItem 17, 6 GUICheckMenuItem 17, 6
GUICheckMenuItem 18, 7 GUICheckMenuItem 18, 7
GUICheckMenuItem 4, 9 GUICheckMenuItem 4, 9
GUICheckMenuItem 5, 10 cmp byte[GUIcrowpos],10
jne near .novideo
; set Video cursor location
xor eax,eax
mov al,[cvidmode]
mov [GUIcurrentvideocursloc],eax
mov edx,[NumVideoModes]
sub edx,5
cmp eax,edx
jbe .noof
mov eax,edx
.noof
mov [GUIcurrentvideoviewloc],eax
mov edx,5
call CheckMenuItemHelp
.novideo
GUICheckMenuItem 6, 11 GUICheckMenuItem 6, 11
GUICheckMenuItem 19, 12 GUICheckMenuItem 19, 12
.noconfig .noconfig

View File

@@ -1247,6 +1247,144 @@ GUIVideoKeys:
%endif %endif
.novsync .novsync
%endif %endif
; "Home"
%ifdef __LINUX__
cmp dl,89
je .yeshome
cmp dword[numlockptr],1
je .nohome
cmp dl,71
jne .nohome
.yeshome
%else
cmp dl,71
jne .nohome
%endif
mov dword[GUIcurrentvideocursloc],0
mov dword[GUIcurrentvideoviewloc],0
.nohome
; "End"
%ifdef __LINUX__
cmp dl,95
je .yesendp
cmp dword[numlockptr],1
je .noendp
cmp dl,79
jne .noendp
.yesendp
%else
cmp dl,79
jne .noendp
%endif
mov eax,[NumVideoModes]
dec eax
mov [GUIcurrentvideocursloc],eax
sub eax,4
mov [GUIcurrentvideoviewloc],eax
test dword[GUIcurrentvideoviewloc],8000000h
jz .noendp
mov dword[GUIcurrentvideoviewloc],0
.noendp
; "Up"
%ifdef __LINUX__
cmp dl,90
je .up
cmp dword[numlockptr],1
je .noup
cmp dl,72
jne .noup
%else
cmp dl,72
jne .noup
%endif
.up
cmp dword[GUIcurrentvideocursloc],0
je .noup
mov ebx,[GUIcurrentvideocursloc]
cmp [GUIcurrentvideoviewloc],ebx
jne .noviewdec
dec dword[GUIcurrentvideoviewloc]
.noviewdec
dec dword[GUIcurrentvideocursloc]
.noup
; "Down"
%ifdef __LINUX__
cmp dl,96
je .yesdown
cmp dword[numlockptr],1
je .nodown
cmp dl,80
jne .nodown
.yesdown
%else
cmp dl,80
jne .nodown
%endif
mov ebx,[GUIcurrentvideocursloc]
inc ebx
cmp ebx,[NumVideoModes]
je .nodown
inc dword[GUIcurrentvideocursloc]
sub ebx,5
cmp ebx,[GUIcurrentvideoviewloc]
jne .nodown
inc dword[GUIcurrentvideoviewloc]
.nodown
; "PageUp"
%ifdef __LINUX__
cmp dl,91
je .yespageup
cmp dword[numlockptr],1
je .nopageup
cmp dl,73
jne .nopageup
.yespageup
%else
cmp dl,73
jne .nopageup
%endif
sub dword[GUIcurrentvideoviewloc],5
sub dword[GUIcurrentvideocursloc],5
test dword[GUIcurrentvideoviewloc],8000000h
jz .posv
mov dword[GUIcurrentvideoviewloc],0
.posv
test dword[GUIcurrentvideocursloc],8000000h
jz .posc
mov dword[GUIcurrentvideocursloc],0
.posc
.nopageup
; "PageDown"
%ifdef __LINUX__
cmp dl,97
je .yespagedn
cmp dword[numlockptr],1
je .nopagedown
cmp dl,81
jne .nopagedown
.yespagedn
%else
cmp dl,81
jne .nopagedown
%endif
add dword[GUIcurrentvideoviewloc],5
add dword[GUIcurrentvideocursloc],5
mov ebx,[NumVideoModes]
dec ebx
cmp dword[GUIcurrentvideocursloc],ebx
jb .poscd
mov dword[GUIcurrentvideocursloc],ebx
.poscd
sub ebx,4
cmp dword[GUIcurrentvideoviewloc],ebx
jl .posvd
test ebx,8000000h
jz .noneg
mov ebx,0
.noneg
mov dword[GUIcurrentvideoviewloc],ebx
.posvd
.nopagedown
ret ret
GUISoundKeys: GUISoundKeys: