Fixed C4 Op 13
This commit is contained in:
@@ -2040,8 +2040,8 @@ C4activate:
|
|||||||
je near .equatevelocity
|
je near .equatevelocity
|
||||||
cmp al,10h ; supply angle+distance, return x/y displacement
|
cmp al,10h ; supply angle+distance, return x/y displacement
|
||||||
je near .direction
|
je near .direction
|
||||||
cmp al,13h ; ?
|
cmp al,13h ; Convert polar coordinates to rectangular 2 (similar to 10)
|
||||||
je near .something2
|
je near .polarcord2
|
||||||
cmp al,15h ; ?
|
cmp al,15h ; ?
|
||||||
je near .calcdistance
|
je near .calcdistance
|
||||||
cmp al,1Fh ; supply x/y displacement, return angle (+distance?)
|
cmp al,1Fh ; supply x/y displacement, return angle (+distance?)
|
||||||
@@ -2052,10 +2052,14 @@ C4activate:
|
|||||||
je near .multiply
|
je near .multiply
|
||||||
cmp al,2Dh ; ???
|
cmp al,2Dh ; ???
|
||||||
je near .transform
|
je near .transform
|
||||||
cmp al,89h
|
cmp al,40h
|
||||||
je near .immediaterom
|
je near .sum
|
||||||
|
cmp al,54h
|
||||||
|
je near .square
|
||||||
cmp al,5Ch
|
cmp al,5Ch
|
||||||
je near .immediatereg
|
je near .immediatereg
|
||||||
|
cmp al,89h
|
||||||
|
je near .immediaterom
|
||||||
ret
|
ret
|
||||||
.dowireframe
|
.dowireframe
|
||||||
call WireFrameB
|
call WireFrameB
|
||||||
@@ -2189,41 +2193,34 @@ C4activate:
|
|||||||
|
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
.something2
|
.polarcord2
|
||||||
pushad
|
pushad
|
||||||
mov esi,[C4Ram]
|
mov esi,[C4Ram]
|
||||||
|
xor eax,eax
|
||||||
|
xor ebx,ebx
|
||||||
xor ecx,ecx
|
xor ecx,ecx
|
||||||
mov ax,[esi+1F80h]
|
mov cx,[esi+1F80h]
|
||||||
and eax,1FFh
|
and ecx,1FFh
|
||||||
mov bx,[CosTable+eax*2]
|
movsx ebx,word[CosTable+ecx*2]
|
||||||
mov ax,[esi+1F83h]
|
mov ax,[esi+1F83h]
|
||||||
imul bx
|
imul ebx,2
|
||||||
add ax,ax
|
imul eax,ebx
|
||||||
adc dx,dx
|
sar eax,8
|
||||||
mov ax,dx
|
mov [esi+1F86h],ax
|
||||||
movsx edx,dx
|
sar eax,16
|
||||||
mov [esi+1F87h],edx
|
mov [esi+1F88h],al
|
||||||
mov ax,[esi+1F80h]
|
xor eax,eax
|
||||||
and eax,1FFh
|
xor ebx,ebx
|
||||||
mov bx,[SinTable+eax*2]
|
movsx ebx,word[SinTable+ecx*2]
|
||||||
mov ax,[esi+1F83h]
|
mov ax,[esi+1F83h]
|
||||||
imul bx
|
imul ebx,2
|
||||||
add ax,ax
|
imul eax,ebx
|
||||||
adc dx,dx
|
sar eax,8
|
||||||
mov ax,dx
|
mov [esi+1F89h],ax
|
||||||
movsx edx,dx
|
sar eax,16
|
||||||
mov al,[esi+198Dh]
|
mov [esi+1F8Bh],al
|
||||||
mov [esi+1F8Ah],edx
|
|
||||||
mov [esi+198Dh],al
|
|
||||||
; mov cx,[esi+1F83h]
|
|
||||||
; mov [C4values+4],cx
|
|
||||||
; mov cx,[esi+1F86h]
|
|
||||||
; mov [C4values],cx
|
|
||||||
; mov cx,[esi+1F89h]
|
|
||||||
; mov [C4values+2],cx
|
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
ret
|
|
||||||
.dosprites
|
.dosprites
|
||||||
; mov byte[debstop3],0
|
; mov byte[debstop3],0
|
||||||
push eax
|
push eax
|
||||||
@@ -2330,6 +2327,14 @@ C4activate:
|
|||||||
;mov [esi+1F84h],dx
|
;mov [esi+1F84h],dx
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
.sum
|
||||||
|
pushad
|
||||||
|
popad
|
||||||
|
ret
|
||||||
|
.square
|
||||||
|
pushad
|
||||||
|
popad
|
||||||
|
ret
|
||||||
.equatevelocity
|
.equatevelocity
|
||||||
pushad
|
pushad
|
||||||
mov esi,[C4Ram]
|
mov esi,[C4Ram]
|
||||||
|
|||||||
Reference in New Issue
Block a user