Rewrote mode 4 fix
This commit is contained in:
@@ -2887,11 +2887,11 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
|||||||
shr edx,3
|
shr edx,3
|
||||||
shl edx,6
|
shl edx,6
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
cmp byte[BGMA+ebx],4
|
|
||||||
je .offsetmode4
|
|
||||||
mov ax,[BGPT3+ebx*2]
|
mov ax,[BGPT3+ebx*2]
|
||||||
.offsetmode4
|
cmp dx,0
|
||||||
|
jl .isneg
|
||||||
add ax,dx
|
add ax,dx
|
||||||
|
.isneg
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dx,[BG3SXl+ebx*2]
|
mov dx,[BG3SXl+ebx*2]
|
||||||
and dx,0F8h
|
and dx,0F8h
|
||||||
@@ -2955,21 +2955,6 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
|||||||
add eax,ecx
|
add eax,ecx
|
||||||
add [ofsmtptr],ecx
|
add [ofsmtptr],ecx
|
||||||
mov [ofsmmptr],eax
|
mov [ofsmmptr],eax
|
||||||
|
|
||||||
mov word[bgtxadd2],0
|
|
||||||
cmp word[BGPT3X+ebx*2],0
|
|
||||||
je .yesoverfl
|
|
||||||
mov cx,word[BG3SXl+ebx*2]
|
|
||||||
add cx,16
|
|
||||||
test cx,100h
|
|
||||||
jz .notoverfl
|
|
||||||
add dword[ofsmcptr],800h
|
|
||||||
sub word[bgtxadd2],800h
|
|
||||||
jmp .yesoverfl
|
|
||||||
.notoverfl
|
|
||||||
add word[bgtxadd2],800h
|
|
||||||
.yesoverfl
|
|
||||||
|
|
||||||
mov dword[ofshvaladd],0
|
mov dword[ofshvaladd],0
|
||||||
mov ecx,[BGOPT1+ebx*2+%1*512]
|
mov ecx,[BGOPT1+ebx*2+%1*512]
|
||||||
mov edx,[BGMA+ebx]
|
mov edx,[BGMA+ebx]
|
||||||
@@ -3254,11 +3239,11 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
|||||||
shr edx,3
|
shr edx,3
|
||||||
shl edx,6
|
shl edx,6
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
cmp byte[BGMA+ebx],4
|
|
||||||
je .offsetmode4
|
|
||||||
mov ax,[BGPT3+ebx*2]
|
mov ax,[BGPT3+ebx*2]
|
||||||
.offsetmode4
|
cmp dx,0
|
||||||
|
jl .isneg
|
||||||
add ax,dx
|
add ax,dx
|
||||||
|
.isneg
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dx,[BG3SXl+ebx*2]
|
mov dx,[BG3SXl+ebx*2]
|
||||||
and dx,0F8h
|
and dx,0F8h
|
||||||
@@ -3290,21 +3275,6 @@ EXTSYM drawmode7ngextbg,drawmode7ngextbg2
|
|||||||
mov eax,[BGPT1+ebx*2+%1*512]
|
mov eax,[BGPT1+ebx*2+%1*512]
|
||||||
mov [ofsmtptr],eax
|
mov [ofsmtptr],eax
|
||||||
mov [ofsmtptrs],eax
|
mov [ofsmtptrs],eax
|
||||||
|
|
||||||
mov word[bgtxadd2],0
|
|
||||||
cmp word[BGPT3X+ebx*2],0
|
|
||||||
je .yesoverfl
|
|
||||||
mov cx,word[BG3SXl+ebx*2]
|
|
||||||
add cx,16
|
|
||||||
test cx,100h
|
|
||||||
jz .notoverfl
|
|
||||||
add dword[ofsmcptr],800h
|
|
||||||
sub word[bgtxadd2],800h
|
|
||||||
jmp .yesoverfl
|
|
||||||
.notoverfl
|
|
||||||
add word[bgtxadd2],800h
|
|
||||||
.yesoverfl
|
|
||||||
|
|
||||||
mov ecx,[BG1SXl+ebx*2+%1*512]
|
mov ecx,[BG1SXl+ebx*2+%1*512]
|
||||||
mov edx,[BGPT1X+ebx*2+%1*512]
|
mov edx,[BGPT1X+ebx*2+%1*512]
|
||||||
test ecx,100h
|
test ecx,100h
|
||||||
|
|||||||
@@ -3131,7 +3131,10 @@ EXTSYM osm2dis
|
|||||||
shl edx,6
|
shl edx,6
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
mov ax,[BGPT3+ebx*2]
|
mov ax,[BGPT3+ebx*2]
|
||||||
|
cmp dx,0
|
||||||
|
jl .isneg1
|
||||||
add ax,dx
|
add ax,dx
|
||||||
|
.isneg1
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dx,[BG3SXl+ebx*2]
|
mov dx,[BG3SXl+ebx*2]
|
||||||
and dx,0F8h
|
and dx,0F8h
|
||||||
@@ -3299,11 +3302,11 @@ EXTSYM osm2dis
|
|||||||
shr edx,3
|
shr edx,3
|
||||||
shl edx,6
|
shl edx,6
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
cmp byte[BGMA+ebx],4
|
|
||||||
je .offsetmode4
|
|
||||||
mov ax,[BGPT3+ebx*2]
|
mov ax,[BGPT3+ebx*2]
|
||||||
.offsetmode4
|
cmp dx,0
|
||||||
|
jl .isneg2
|
||||||
add ax,dx
|
add ax,dx
|
||||||
|
.isneg2
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dx,[BG3SXl+ebx*2]
|
mov dx,[BG3SXl+ebx*2]
|
||||||
and dx,0F8h
|
and dx,0F8h
|
||||||
@@ -3705,11 +3708,11 @@ EXTSYM osm2dis
|
|||||||
shr edx,3
|
shr edx,3
|
||||||
shl edx,6
|
shl edx,6
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
cmp byte[BGMA+ebx],4
|
|
||||||
je .offsetmode4
|
|
||||||
mov ax,[BGPT3+ebx*2]
|
mov ax,[BGPT3+ebx*2]
|
||||||
.offsetmode4
|
cmp dx,0
|
||||||
|
jl .isneg3
|
||||||
add ax,dx
|
add ax,dx
|
||||||
|
.isneg3
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dx,[BG3SXl+ebx*2]
|
mov dx,[BG3SXl+ebx*2]
|
||||||
and dx,0F8h
|
and dx,0F8h
|
||||||
|
|||||||
Reference in New Issue
Block a user