Sanitized input menu handling finally.

This commit is contained in:
n-a-c-h
2004-12-07 04:51:26 +00:00
parent cfd69eb425
commit c4039aa1c8
2 changed files with 21 additions and 42 deletions

View File

@@ -229,22 +229,36 @@ SetAllKeys:
mov byte[GUICBHold],0 mov byte[GUICBHold],0
mov edi,pl1selk mov edi,pl1selk
mov dword[keycontrolval],pl1contrl
cmp byte[cplayernum],1 cmp byte[cplayernum],1
jne .nopl2 jne .nopl2
mov edi,pl2selk mov edi,pl2selk
mov dword[keycontrolval],pl2contrl
.nopl2 .nopl2
cmp byte[cplayernum],2 cmp byte[cplayernum],2
jne .nopl3 jne .nopl3
mov edi,pl3selk mov edi,pl3selk
mov dword[keycontrolval],pl3contrl
.nopl3 .nopl3
cmp byte[cplayernum],3 cmp byte[cplayernum],3
jne .nopl4 jne .nopl4
mov edi,pl4selk mov edi,pl4selk
mov dword[keycontrolval],pl4contrl
.nopl4 .nopl4
cmp byte[cplayernum],4 cmp byte[cplayernum],4
jne .nopl5 jne .nopl5
mov edi,pl5selk mov edi,pl5selk
mov dword[keycontrolval],pl5contrl
.nopl5 .nopl5
;Check if controller is set
push eax
mov eax,dword[keycontrolval]
cmp dword[eax],0
pop eax
jne .noLockInputChange
ret
.noLockInputChange
mov dword[guicpressptr],edi mov dword[guicpressptr],edi
xor ebx,ebx xor ebx,ebx
mov ecx,12 mov ecx,12

View File

@@ -582,15 +582,7 @@ ProcessMouseButtons:
cmp byte[GUICBHold],20 cmp byte[GUICBHold],20
je near SkipMovie je near SkipMovie
cmp byte[GUICBHold],40 cmp byte[GUICBHold],40
jne .notClickedSetKeys je near SetAllKeys
push ebx
mov ebx,[GUIcurrentinputcursloc]
mov bl,[GUIInputRefF+ebx]
cmp bl,0
pop ebx
je .notClickedSetKeys
jmp near SetAllKeys
.notClickedSetKeys
cmp byte[GUICBHold],50 cmp byte[GUICBHold],50
jne .notstartcheat jne .notstartcheat
call CheatCodeSearchInit call CheatCodeSearchInit
@@ -2197,11 +2189,11 @@ DisplayGUIInputClick:
mov dword[keycontrolval],pl5contrl mov dword[keycontrolval],pl5contrl
.nopl5 .nopl5
push ebx ;Check if controller is set
mov ebx,[GUIcurrentinputcursloc] push eax
mov bl,[GUIInputRefF+ebx] mov eax,dword[keycontrolval]
cmp bl,0 cmp dword[eax],0
pop ebx pop eax
je .lockInputChange je .lockInputChange
DGOptnsProcBox 45,150,[edi] DGOptnsProcBox 45,150,[edi]
@@ -2217,8 +2209,6 @@ DisplayGUIInputClick:
DGOptnsProcBox 85,110,[edi+40] DGOptnsProcBox 85,110,[edi+40]
DGOptnsProcBox 85,150,[edi+44] DGOptnsProcBox 85,150,[edi+44]
.lockInputChange
mov edi,pl1Atk mov edi,pl1Atk
cmp byte[cplayernum],1 cmp byte[cplayernum],1
jne .nopl2t jne .nopl2t
@@ -2237,20 +2227,11 @@ DisplayGUIInputClick:
mov edi,pl5Atk mov edi,pl5Atk
.nopl5t .nopl5t
push ebx
mov ebx,[GUIcurrentinputcursloc]
mov bl,[GUIInputRefF+ebx]
cmp bl,0
pop ebx
je .lockInputChange2
DGOptnsProcBox 165,100,[edi] ; A Turbo DGOptnsProcBox 165,100,[edi] ; A Turbo
DGOptnsProcBox 165,110,[edi+4] ; B Turbo DGOptnsProcBox 165,110,[edi+4] ; B Turbo
DGOptnsProcBox 125,100,[edi+8] ; X Turbo DGOptnsProcBox 125,100,[edi+8] ; X Turbo
DGOptnsProcBox 125,110,[edi+12] ; Y Turbo DGOptnsProcBox 125,110,[edi+12] ; Y Turbo
.lockInputChange2
mov edi,pl1Ltk mov edi,pl1Ltk
cmp byte[cplayernum],1 cmp byte[cplayernum],1
jne .nopl2tl jne .nopl2tl
@@ -2269,18 +2250,9 @@ DisplayGUIInputClick:
mov edi,pl5Ltk mov edi,pl5Ltk
.nopl5tl .nopl5tl
push ebx
mov ebx,[GUIcurrentinputcursloc]
mov bl,[GUIInputRefF+ebx]
cmp bl,0
pop ebx
je .lockInputChange3
DGOptnsProcBox 125,120,[edi] ; L Turbo DGOptnsProcBox 125,120,[edi] ; L Turbo
DGOptnsProcBox 165,120,[edi+4] ; R Turbo DGOptnsProcBox 165,120,[edi+4] ; R Turbo
.lockInputChange3
mov edi,pl1ULk mov edi,pl1ULk
cmp byte[cplayernum],1 cmp byte[cplayernum],1
jne .nopl2tb jne .nopl2tb
@@ -2299,19 +2271,12 @@ DisplayGUIInputClick:
mov edi,pl5ULk mov edi,pl5ULk
.nopl5tb .nopl5tb
push ebx
mov ebx,[GUIcurrentinputcursloc]
mov bl,[GUIInputRefF+ebx]
cmp bl,0
pop ebx
je .lockInputChange4
DGOptnsProcBoxb 165,140,[edi] DGOptnsProcBoxb 165,140,[edi]
DGOptnsProcBoxb 165,150,[edi+4] DGOptnsProcBoxb 165,150,[edi+4]
DGOptnsProcBoxb 125,140,[edi+8] DGOptnsProcBoxb 125,140,[edi+8]
DGOptnsProcBoxb 125,150,[edi+12] DGOptnsProcBoxb 125,150,[edi+12]
.lockInputChange4 .lockInputChange
%ifdef __MSDOS__ %ifdef __MSDOS__
xor ebx,ebx xor ebx,ebx