Fixed C4 Op 13

This commit is contained in:
n-a-c-h
2003-06-07 23:51:05 +00:00
parent 0c67610d6d
commit cc6fd2b622

View File

@@ -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]