mirror of https://github.com/nmlgc/ReC98.git
[Position independence] Vector calls and variables
Raw, uninteresting position independence work. Or maybe not, given that this was one of the few things that also apply to TH01, and reveal just how chaotically this game was coded. And so we've got three ways that ZUN stored regular 2D points: Regularly (X first, Y second), Y first and X second, and multiple points stored in a structure of arrays… Completes P0059, funded by [Anonymous] and -Tom-.
This commit is contained in:
parent
550bba9b3c
commit
8b627803a3
454
th01_reiiden.asm
454
th01_reiiden.asm
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
423
th02_main.asm
423
th02_main.asm
|
@ -4176,7 +4176,7 @@ arg_2 = word ptr 6
|
|||
add ax, ax
|
||||
mov cx, ax
|
||||
mov word ptr [si], 1
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
add ax, [bp+arg_2]
|
||||
shl ax, 4
|
||||
mov bx, cx
|
||||
|
@ -4276,8 +4276,8 @@ var_2 = word ptr -2
|
|||
xor si, si
|
||||
xor di, di
|
||||
mov [bp+var_2], 0
|
||||
mov ax, word_205F8
|
||||
add ax, 20h ; ' '
|
||||
mov ax, point_205F6.y
|
||||
add ax, 32
|
||||
shl ax, 4
|
||||
mov word_205E4, ax
|
||||
mov word_205E2, 0
|
||||
|
@ -4591,8 +4591,8 @@ var_2 = word ptr -2
|
|||
xor di, di
|
||||
mov [bp+var_2], 0
|
||||
mov [bp+var_3], 0
|
||||
mov ax, word_205F8
|
||||
add ax, 20h ; ' '
|
||||
mov ax, point_205F6.y
|
||||
add ax, 32
|
||||
shl ax, 4
|
||||
mov word_205E4, ax
|
||||
mov word_205E2, 0
|
||||
|
@ -4775,11 +4775,11 @@ loc_CE5B:
|
|||
cmp word_205DA, 0
|
||||
jle short loc_CE96
|
||||
mov ax, word_205DA
|
||||
sub ax, word_205F8
|
||||
add ax, 0FFE0h
|
||||
sub ax, point_205F6.y
|
||||
add ax, -32
|
||||
push ax
|
||||
mov ax, word_205D8
|
||||
sub ax, word_205F6
|
||||
sub ax, point_205F6.x
|
||||
push ax
|
||||
call iatan2
|
||||
mov [bp+var_2], ax
|
||||
|
@ -4805,12 +4805,12 @@ loc_CE9F:
|
|||
cmp word_205DA, 0
|
||||
jle short loc_CED8
|
||||
mov ax, word_205DA
|
||||
sub ax, word_205F8
|
||||
add ax, 0FFE0h
|
||||
sub ax, point_205F6.y
|
||||
add ax, -32
|
||||
push ax
|
||||
mov ax, word_205D8
|
||||
sub ax, word_205F6
|
||||
add ax, 0FFF0h
|
||||
sub ax, point_205F6.x
|
||||
add ax, -16
|
||||
push ax
|
||||
call iatan2
|
||||
mov [bp+var_2], ax
|
||||
|
@ -5077,8 +5077,8 @@ var_2 = word ptr -2
|
|||
xor di, di
|
||||
mov [bp+var_3], 0
|
||||
inc byte_20350
|
||||
mov ax, word_205F8
|
||||
add ax, 20h ; ' '
|
||||
mov ax, point_205F6.y
|
||||
add ax, 32
|
||||
shl ax, 4
|
||||
mov word_205E4, ax
|
||||
cmp shot_level, 2
|
||||
|
@ -6090,14 +6090,14 @@ arg_2 = word ptr 6
|
|||
mov [bp+var_16], ax
|
||||
mov al, byte_1E596
|
||||
mov [bp+var_14], al
|
||||
cmp word_205F6, 80h
|
||||
cmp point_205F6.x, 128
|
||||
jg short loc_D794
|
||||
mov al, 0FFh
|
||||
jmp short loc_D7A2
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_D794:
|
||||
cmp word_205F6, 100h
|
||||
cmp point_205F6.x, 256
|
||||
jg short loc_D7A0
|
||||
mov al, 0
|
||||
jmp short loc_D7A2
|
||||
|
@ -6308,10 +6308,10 @@ arg_0 = word ptr 4
|
|||
push di
|
||||
mov ax, word_2189C
|
||||
mov [bp+var_2], ax
|
||||
cmp ax, word_205F8
|
||||
cmp ax, point_205F6.y
|
||||
jl loc_DADE
|
||||
mov ax, word_205F8
|
||||
add ax, 18h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 24
|
||||
cmp ax, [bp+var_2]
|
||||
jl loc_DADE
|
||||
mov ax, word_2189A
|
||||
|
@ -6597,12 +6597,12 @@ loc_DB9D:
|
|||
inc word ptr [si+0Ah]
|
||||
cmp _player_is_hit, 0
|
||||
jnz short loc_DBCA
|
||||
mov ax, word_205F6
|
||||
add ax, 0FFF8h
|
||||
mov ax, point_205F6.x
|
||||
add ax, -8
|
||||
cmp ax, word_2189A
|
||||
jg short loc_DBCA
|
||||
mov ax, word_205F6
|
||||
add ax, 18h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 24
|
||||
cmp ax, word_2189A
|
||||
jl short loc_DBCA
|
||||
push si
|
||||
|
@ -8775,43 +8775,43 @@ arg_2 = word ptr 6
|
|||
mov bp, sp
|
||||
mov bx, word_205F0
|
||||
mov ax, [bx]
|
||||
mov word_205F8, ax
|
||||
mov point_205F6.y, ax
|
||||
mov ax, [bp+arg_0]
|
||||
add word_205F8, ax
|
||||
cmp word_205F8, 10h
|
||||
add point_205F6.y, ax
|
||||
cmp point_205F6.y, 16
|
||||
jge short loc_EEE5
|
||||
mov word_205F8, 10h
|
||||
mov point_205F6.y, 16
|
||||
jmp short loc_EEF3
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_EEE5:
|
||||
cmp word_205F8, 158h
|
||||
cmp point_205F6.y, 344
|
||||
jle short loc_EEF3
|
||||
mov word_205F8, 158h
|
||||
mov point_205F6.y, 344
|
||||
|
||||
loc_EEF3:
|
||||
mov bx, word_205F0
|
||||
mov ax, word_205F8
|
||||
mov ax, point_205F6.y
|
||||
mov [bx], ax
|
||||
mov bx, word_205EE
|
||||
mov ax, [bx]
|
||||
mov word_205F6, ax
|
||||
mov point_205F6.x, ax
|
||||
mov ax, [bp+arg_2]
|
||||
add word_205F6, ax
|
||||
cmp word_205F6, 186h
|
||||
add point_205F6.x, ax
|
||||
cmp point_205F6.x, 390
|
||||
jl short loc_EF1C
|
||||
mov word_205F6, 186h
|
||||
mov point_205F6.x, 390
|
||||
jmp short loc_EF29
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_EF1C:
|
||||
cmp word_205F6, 1Ch
|
||||
cmp point_205F6.x, 28
|
||||
jg short loc_EF29
|
||||
mov word_205F6, 1Ch
|
||||
mov point_205F6.x, 28
|
||||
|
||||
loc_EF29:
|
||||
mov bx, word_205EE
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
mov [bx], ax
|
||||
pop bp
|
||||
retn 4
|
||||
|
@ -8859,17 +8859,14 @@ loc_EF7F:
|
|||
and ax, 3
|
||||
cmp ax, 3
|
||||
jge short loc_EFAC
|
||||
mov si, word_205F8
|
||||
mov si, point_205F6.y
|
||||
add si, _scroll_line
|
||||
cmp si, RES_Y
|
||||
jl short loc_EF9E
|
||||
sub si, RES_Y
|
||||
|
||||
loc_EF9E:
|
||||
push word_205F6
|
||||
push si
|
||||
push word_1E512
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, si, word_1E512
|
||||
|
||||
loc_EFAC:
|
||||
cmp power, 8
|
||||
|
@ -8940,10 +8937,10 @@ var_2 = word ptr -2
|
|||
loc_F03D:
|
||||
mov bx, word_205EE
|
||||
mov ax, [bx]
|
||||
mov word_205F6, ax
|
||||
mov point_205F6.x, ax
|
||||
mov bx, word_205F0
|
||||
mov ax, [bx]
|
||||
mov word_205F8, ax
|
||||
mov point_205F6.y, ax
|
||||
inc byte_20609
|
||||
cmp byte_20609, 18h
|
||||
jnb short loc_F08A
|
||||
|
@ -9274,13 +9271,13 @@ loc_F2FB:
|
|||
push si
|
||||
push di
|
||||
call sub_EEC3
|
||||
mov ax, word_205F6
|
||||
add ax, 0FFF0h
|
||||
mov ax, point_205F6.x
|
||||
add ax, -16
|
||||
sub ax, si
|
||||
mov bx, word_205F2
|
||||
mov [bx], ax
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
sub ax, di
|
||||
mov bx, word_205F4
|
||||
mov [bx], ax
|
||||
|
@ -10439,11 +10436,11 @@ arg_6 = dword ptr 0Ah
|
|||
mov bx, ax
|
||||
mov ax, [bx+si+4]
|
||||
mov [bp+var_4], ax
|
||||
mov ax, word_205F8
|
||||
add ax, 14h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 20
|
||||
mov [bp+var_6], ax
|
||||
mov ax, word_205F6
|
||||
add ax, 0Ch
|
||||
mov ax, point_205F6.x
|
||||
add ax, 12
|
||||
mov [bp+var_8], ax
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
|
@ -11231,14 +11228,14 @@ arg_0 = word ptr 4
|
|||
mov ax, [bx]
|
||||
sar ax, 4
|
||||
mov di, ax
|
||||
mov ax, word_205F8
|
||||
mov ax, point_205F6.y
|
||||
add ax, 8
|
||||
mov [bp+var_2], ax
|
||||
mov bx, word_2174E
|
||||
mov ax, [bx]
|
||||
sar ax, 4
|
||||
mov [bp+var_4], ax
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
add ax, 8
|
||||
mov [bp+var_6], ax
|
||||
mov al, [si+0Fh]
|
||||
|
@ -11569,40 +11566,40 @@ loc_10C72:
|
|||
cbw
|
||||
cmp ax, 1
|
||||
jnz short loc_10CA9
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
add ax, 7
|
||||
cmp ax, word_21740
|
||||
jg short loc_10CDC
|
||||
mov ax, word_205F6
|
||||
add ax, 11h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 17
|
||||
cmp ax, word_21740
|
||||
jle short loc_10CDC
|
||||
mov ax, word_205F8
|
||||
add ax, 0Ch
|
||||
mov ax, point_205F6.y
|
||||
add ax, 12
|
||||
cmp ax, di
|
||||
jg short loc_10CDC
|
||||
mov ax, word_205F8
|
||||
add ax, 16h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 22
|
||||
cmp ax, di
|
||||
jl short loc_10CDC
|
||||
jmp short loc_10CD5
|
||||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_10CA9:
|
||||
mov ax, word_205F6
|
||||
add ax, 0FFFDh
|
||||
mov ax, point_205F6.x
|
||||
add ax, -3
|
||||
cmp ax, word_21740
|
||||
jg short loc_10CDC
|
||||
mov ax, word_205F6
|
||||
add ax, 13h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 19
|
||||
cmp ax, word_21740
|
||||
jle short loc_10CDC
|
||||
mov ax, word_205F8
|
||||
mov ax, point_205F6.y
|
||||
add ax, 4
|
||||
cmp ax, di
|
||||
jg short loc_10CDC
|
||||
mov ax, word_205F8
|
||||
add ax, 18h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 24
|
||||
cmp ax, di
|
||||
jl short loc_10CDC
|
||||
|
||||
|
@ -13120,7 +13117,7 @@ loc_11970:
|
|||
jl short loc_1194A
|
||||
|
||||
loc_11975:
|
||||
cmp word_205F8, 60h
|
||||
cmp point_205F6.y, 96
|
||||
jge short loc_11993
|
||||
push word_22D98
|
||||
push word_22D9A
|
||||
|
@ -13499,8 +13496,8 @@ var_2 = word ptr -2
|
|||
or dx, dx
|
||||
jnz short loc_11C7A
|
||||
mov byte_23A70, 1Eh
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
and ax, 0FFF0h
|
||||
mov [bp+var_2], ax
|
||||
push ax
|
||||
|
@ -13539,10 +13536,10 @@ var_1 = byte ptr -1
|
|||
idiv bx
|
||||
or dx, dx
|
||||
jnz locret_11D2E
|
||||
mov ax, word_205F8
|
||||
add ax, 0FFE0h
|
||||
mov ax, point_205F6.y
|
||||
add ax, -32
|
||||
push ax
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
sub ax, word_22D8C
|
||||
push ax
|
||||
call iatan2
|
||||
|
@ -13582,10 +13579,10 @@ loc_11CF5:
|
|||
idiv bx
|
||||
or dx, dx
|
||||
jnz short locret_11D2E
|
||||
mov ax, word_205F8
|
||||
add ax, 0FFE0h
|
||||
mov ax, point_205F6.y
|
||||
add ax, -32
|
||||
push ax
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
sub ax, word_22D8C
|
||||
push ax
|
||||
call iatan2
|
||||
|
@ -13979,12 +13976,12 @@ sub_1200F proc near
|
|||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_1202D:
|
||||
mov ax, word_205F8
|
||||
add ax, 0FFE0h
|
||||
mov ax, point_205F6.y
|
||||
add ax, -32
|
||||
push ax
|
||||
mov bx, si
|
||||
add bx, bx
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
sub ax, [bx+5314h]
|
||||
push ax
|
||||
call iatan2
|
||||
|
@ -15413,14 +15410,14 @@ loc_12B5E:
|
|||
cmp byte ptr [di+1], 4
|
||||
jnz short loc_12B98
|
||||
mov ax, word_23A6C
|
||||
add ax, 0FFE8h
|
||||
cmp ax, word_205F6
|
||||
add ax, -24
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_12B98
|
||||
mov ax, word_23A6C
|
||||
add ax, 8
|
||||
cmp ax, word_205F6
|
||||
cmp ax, point_205F6.x
|
||||
jle short loc_12B98
|
||||
mov ax, word_205F8
|
||||
mov ax, point_205F6.y
|
||||
cmp ax, word_23A6E
|
||||
jl short loc_12B98
|
||||
cmp _player_is_hit, 0
|
||||
|
@ -15593,17 +15590,14 @@ sub_12CE5 proc near
|
|||
push bp
|
||||
mov bp, sp
|
||||
push si
|
||||
mov si, word_205F8
|
||||
mov si, point_205F6.y
|
||||
add si, _scroll_line
|
||||
cmp si, RES_Y
|
||||
jl short loc_12CFB
|
||||
sub si, RES_Y
|
||||
|
||||
loc_12CFB:
|
||||
push word_205F6
|
||||
push si
|
||||
push 0
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, si, 0
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
|
@ -18636,16 +18630,16 @@ var_2 = word ptr -2
|
|||
mov si, [bx]
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
cmp ax, word_205F6
|
||||
cmp ax, point_205F6.x
|
||||
jg short loc_1461A
|
||||
add ax, 20h ; ' '
|
||||
cmp ax, word_205F6
|
||||
add ax, 32
|
||||
cmp ax, point_205F6.x
|
||||
jle short loc_1461A
|
||||
lea ax, [si-10h]
|
||||
cmp ax, word_205F8
|
||||
cmp ax, point_205F6.y
|
||||
jge short loc_1461A
|
||||
lea ax, [si+20h]
|
||||
cmp ax, word_205F8
|
||||
cmp ax, point_205F6.y
|
||||
jle short loc_1461A
|
||||
mov _player_is_hit, 1
|
||||
|
||||
|
@ -18831,18 +18825,18 @@ loc_14757:
|
|||
call super_roll_put_tiny
|
||||
dec byte ptr [si+0Ah]
|
||||
mov ax, [si+2]
|
||||
add ax, 0FFF0h
|
||||
cmp ax, word_205F6
|
||||
add ax, -16
|
||||
cmp ax, point_205F6.x
|
||||
jg loc_14829
|
||||
mov ax, [si+2]
|
||||
cmp ax, word_205F6
|
||||
cmp ax, point_205F6.x
|
||||
jl loc_14829
|
||||
mov ax, [si+4]
|
||||
add ax, 0FFF0h
|
||||
cmp ax, word_205F8
|
||||
add ax, -16
|
||||
cmp ax, point_205F6.y
|
||||
jge loc_14829
|
||||
mov ax, [si+4]
|
||||
cmp ax, word_205F8
|
||||
cmp ax, point_205F6.y
|
||||
jle loc_14829
|
||||
mov _player_is_hit, 1
|
||||
jmp loc_14829
|
||||
|
@ -19040,8 +19034,8 @@ sub_148FD proc near
|
|||
jnz short loc_14954
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 10h
|
||||
cmp ax, word_205F6
|
||||
add ax, 16
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_1492B
|
||||
mov ax, 1
|
||||
jmp short loc_1492D
|
||||
|
@ -19424,8 +19418,8 @@ sub_14C76 proc near
|
|||
jnz short loc_14CBE
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 10h
|
||||
cmp ax, word_205F6
|
||||
add ax, 16
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_14C9D
|
||||
mov ax, 1
|
||||
jmp short loc_14C9F
|
||||
|
@ -21360,7 +21354,7 @@ var_1 = byte ptr -1
|
|||
cmp word_20650, 14h
|
||||
jnz short loc_15D83
|
||||
mov byte_25596, 0
|
||||
cmp word_205F6, 0D0h
|
||||
cmp point_205F6.x, 208
|
||||
jge short loc_15D7E
|
||||
mov al, 1
|
||||
jmp short loc_15D80
|
||||
|
@ -21568,7 +21562,7 @@ sub_15EF7 proc near
|
|||
loc_15F06:
|
||||
cmp word_20650, 32h ; '2'
|
||||
jnz short loc_15F1E
|
||||
cmp word_205F6, 0D0h
|
||||
cmp point_205F6.x, 208
|
||||
jge short loc_15F19
|
||||
mov al, 1
|
||||
jmp short loc_15F1B
|
||||
|
@ -21683,11 +21677,11 @@ loc_15FB7:
|
|||
loc_15FCF:
|
||||
cmp word_20650, 64h ; 'd'
|
||||
jnz short loc_15FFD
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
mov word_2559A, ax
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
mov word_2559C, ax
|
||||
mov byte_2558C, 3
|
||||
mov byte_2558D, 0FCh
|
||||
|
@ -22144,20 +22138,20 @@ loc_16458:
|
|||
jnz short loc_164AD
|
||||
push word_253B6
|
||||
push word_253B8
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
push ax
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
push ax
|
||||
push 0
|
||||
push ds
|
||||
push offset word_255A4
|
||||
push offset point_255A4.x
|
||||
push ds
|
||||
push offset word_255A6
|
||||
push 30h ; '0'
|
||||
push offset point_255A4.y
|
||||
push 48
|
||||
call vector_between
|
||||
mov ax, word_255A4
|
||||
mov ax, point_255A4.x
|
||||
neg ax
|
||||
mov word_255AC, ax
|
||||
mov word_2064E, 80h
|
||||
|
@ -22188,14 +22182,14 @@ loc_164AD:
|
|||
mov word_20650, 0
|
||||
|
||||
loc_164E3:
|
||||
mov ax, word_255A4
|
||||
mov ax, point_255A4.x
|
||||
add word_255A8, ax
|
||||
mov ax, word_255AC
|
||||
add word_255AE, ax
|
||||
mov ax, word_255A6
|
||||
mov ax, point_255A4.y
|
||||
add word_255AA, ax
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
cmp ax, word_255A8
|
||||
jle short loc_1650B
|
||||
add word_255A8, 10h
|
||||
|
@ -22203,15 +22197,15 @@ loc_164E3:
|
|||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_1650B:
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
cmp ax, word_255A8
|
||||
jge short loc_1651C
|
||||
sub word_255A8, 10h
|
||||
|
||||
loc_1651C:
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
cmp ax, word_255AE
|
||||
jle short loc_1652F
|
||||
sub word_255AE, 10h
|
||||
|
@ -22219,8 +22213,8 @@ loc_1651C:
|
|||
; ---------------------------------------------------------------------------
|
||||
|
||||
loc_1652F:
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
cmp ax, word_255AE
|
||||
jge short loc_16540
|
||||
add word_255AE, 10h
|
||||
|
@ -22259,11 +22253,11 @@ loc_1656B:
|
|||
and ax, 3Fh
|
||||
cmp ax, 20h ; ' '
|
||||
jnz short loc_16589
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
push ax
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
push ax
|
||||
push 30h ; '0'
|
||||
call sub_155C5
|
||||
|
@ -22302,7 +22296,7 @@ sub_165A5 proc near
|
|||
loc_165B4:
|
||||
cmp word_20650, 32h ; '2'
|
||||
jnz short loc_165CC
|
||||
cmp word_205F6, 0D0h
|
||||
cmp point_205F6.x, 208
|
||||
jge short loc_165C7
|
||||
mov al, 2
|
||||
jmp short loc_165C9
|
||||
|
@ -22365,11 +22359,11 @@ sub_16606 proc near
|
|||
loc_1661C:
|
||||
test byte ptr word_20650, 3Fh
|
||||
jnz short loc_16636
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
push ax
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
push ax
|
||||
push 30h ; '0'
|
||||
call sub_155C5
|
||||
|
@ -22440,11 +22434,11 @@ sub_1668E proc near
|
|||
loc_166A4:
|
||||
test byte ptr word_20650, 1Fh
|
||||
jnz short loc_166BE
|
||||
mov ax, word_205F6
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 16
|
||||
push ax
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
push ax
|
||||
push 30h ; '0'
|
||||
call sub_155C5
|
||||
|
@ -22919,15 +22913,15 @@ var_2 = word ptr -2
|
|||
push bp
|
||||
mov bp, sp
|
||||
sub sp, 6
|
||||
mov ax, word_205F8
|
||||
add ax, 10h
|
||||
mov ax, point_205F6.y
|
||||
add ax, 16
|
||||
mov [bp+var_2], ax
|
||||
mov bx, word_26C4A
|
||||
push word ptr [bx]
|
||||
mov bx, word_26C4C
|
||||
push word ptr [bx]
|
||||
mov ax, word_205F6
|
||||
add ax, 18h
|
||||
mov ax, point_205F6.x
|
||||
add ax, 24
|
||||
push ax
|
||||
push [bp+var_2]
|
||||
push 0
|
||||
|
@ -24184,10 +24178,10 @@ var_2 = word ptr -2
|
|||
cmp [bx+2B76h], dx
|
||||
jge short loc_175D1
|
||||
lea ax, [si-10h]
|
||||
cmp ax, word_205F8
|
||||
cmp ax, point_205F6.y
|
||||
jge short loc_175D1
|
||||
lea ax, [si+10h]
|
||||
cmp ax, word_205F8
|
||||
cmp ax, point_205F6.y
|
||||
jle short loc_175D1
|
||||
mov bx, word_26C46
|
||||
mov word ptr [bx+0Ah], 0
|
||||
|
@ -25557,8 +25551,8 @@ var_1 = byte ptr -1
|
|||
mov word_2064E, 80h
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
cmp ax, word_205F6
|
||||
add ax, 64
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_181E5
|
||||
mov ax, 2
|
||||
jmp short loc_181E8
|
||||
|
@ -25668,12 +25662,12 @@ loc_182DD:
|
|||
call grcg_off
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 10h
|
||||
cmp ax, word_205F6
|
||||
add ax, 16
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_1834B
|
||||
mov ax, [bx]
|
||||
add ax, 60h
|
||||
cmp ax, word_205F6
|
||||
add ax, 96
|
||||
cmp ax, point_205F6.x
|
||||
jle short loc_1834B
|
||||
mov _player_is_hit, 1
|
||||
|
||||
|
@ -26248,23 +26242,13 @@ var_2 = word ptr -2
|
|||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
mov [bp+var_4], ax
|
||||
push [bp+var_2]
|
||||
push ax
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
push ds
|
||||
push offset unk_26CD6
|
||||
push ds
|
||||
push offset unk_26CD8
|
||||
push 30h ; '0'
|
||||
call vector_between
|
||||
call vector_between pascal, [bp+var_2], ax, point_205F6.x, point_205F6.y, 0, ds, offset point_26CD6.x, ds, offset point_26CD6.y, 48
|
||||
|
||||
loc_188F8:
|
||||
push ds
|
||||
push offset unk_26CD6
|
||||
push offset point_26CD6.x
|
||||
push ds
|
||||
push offset unk_26CD8
|
||||
push offset point_26CD6.y
|
||||
call sub_183D0
|
||||
|
||||
locret_18903:
|
||||
|
@ -26287,8 +26271,8 @@ sub_18905 proc near
|
|||
mov word_2064E, 80h
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
cmp ax, word_205F6
|
||||
add ax, 64
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_18932
|
||||
mov ax, 2
|
||||
jmp short loc_18935
|
||||
|
@ -26403,8 +26387,8 @@ sub_18A1B proc near
|
|||
mov word_2064E, 80h
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
cmp ax, word_205F6
|
||||
add ax, 64
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_18A48
|
||||
mov ax, 2
|
||||
jmp short loc_18A4B
|
||||
|
@ -26552,23 +26536,13 @@ var_2 = word ptr -2
|
|||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
mov [bp+var_4], ax
|
||||
push [bp+var_2]
|
||||
push ax
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
push ds
|
||||
push offset unk_26CDE
|
||||
push ds
|
||||
push offset unk_26CE0
|
||||
push 34h ; '4'
|
||||
call vector_between
|
||||
call vector_between pascal, [bp+var_2], ax, point_205F6.x, point_205F6.y, 0, ds, offset point_26CDE.x, ds, offset point_26CDE.y, 52
|
||||
|
||||
loc_18B99:
|
||||
push ds
|
||||
push offset unk_26CDE
|
||||
push offset point_26CDE.x
|
||||
push ds
|
||||
push offset unk_26CE0
|
||||
push offset point_26CDE.y
|
||||
call sub_183D0
|
||||
|
||||
locret_18BA4:
|
||||
|
@ -26657,8 +26631,8 @@ sub_18C4A proc near
|
|||
mov word_2064E, 80h
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
cmp ax, word_205F6
|
||||
add ax, 64
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_18C77
|
||||
mov ax, 2
|
||||
jmp short loc_18C7A
|
||||
|
@ -26690,15 +26664,15 @@ loc_18C9B:
|
|||
jnz short loc_18CEE
|
||||
call _snd_se_play c, 10
|
||||
mov word_2064E, 86h
|
||||
mov ax, word_205F8
|
||||
mov ax, point_205F6.y
|
||||
sub ax, word_26C62
|
||||
push ax
|
||||
mov ax, word_205F6
|
||||
mov ax, point_205F6.x
|
||||
sub ax, word_26C5A
|
||||
push ax
|
||||
call iatan2
|
||||
mov byte_26CE2, al
|
||||
cmp word_205F6, 0D0h
|
||||
cmp point_205F6.x, 208
|
||||
jg short loc_18CDF
|
||||
mov al, 0FFh
|
||||
jmp short loc_18CE1
|
||||
|
@ -26823,8 +26797,8 @@ sub_18DE0 proc near
|
|||
mov word_2064E, 80h
|
||||
mov bx, word_2065C
|
||||
mov ax, [bx]
|
||||
add ax, 40h
|
||||
cmp ax, word_205F6
|
||||
add ax, 64
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_18E0D
|
||||
mov ax, 2
|
||||
jmp short loc_18E10
|
||||
|
@ -27216,12 +27190,12 @@ sub_191CC proc near
|
|||
jl loc_19351
|
||||
cmp word_20650, 32h ; '2'
|
||||
jnz short loc_1920E
|
||||
mov ax, word_205F8
|
||||
add ax, 0Ch
|
||||
mov ax, point_205F6.y
|
||||
add ax, 12
|
||||
sub ax, word_26C64
|
||||
push ax
|
||||
mov ax, word_205F6
|
||||
add ax, 0Ch
|
||||
mov ax, point_205F6.x
|
||||
add ax, 12
|
||||
sub ax, word_26C5C
|
||||
push ax
|
||||
call iatan2
|
||||
|
@ -27951,7 +27925,7 @@ loc_1988A:
|
|||
cmp word_20650, 1Eh
|
||||
jge short loc_198A8
|
||||
mov ax, word_26C5C
|
||||
cmp ax, word_205F6
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_1989F
|
||||
mov ax, 1
|
||||
jmp short loc_198A2
|
||||
|
@ -28164,10 +28138,7 @@ mima_init proc far
|
|||
add ax, 2
|
||||
push ax
|
||||
call super_put_rect
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, point_205F6.y, 0
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
|
@ -29376,10 +29347,7 @@ loc_1A613:
|
|||
call grcg_off
|
||||
push 600000h
|
||||
call sub_1A423
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, point_205F6.y, 0
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
|
@ -29443,7 +29411,7 @@ sub_1A6C5 proc near
|
|||
mov al, _page_front
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov dx, word_205F8
|
||||
mov dx, point_205F6.y
|
||||
mov bx, ax
|
||||
mov [bx+2B7Ah], dx
|
||||
mov _scroll_line, 0
|
||||
|
@ -29457,22 +29425,19 @@ sub_1A6C5 proc near
|
|||
call frame_delay
|
||||
call graph_scrollup pascal, 0
|
||||
graph_accesspage _page_front
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, point_205F6.y, 0
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
mov dx, word_205F6
|
||||
add dx, 0FFF0h
|
||||
mov dx, point_205F6.x
|
||||
add dx, -16
|
||||
mov bx, ax
|
||||
mov [bx+2B8Ah], dx
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
mov dx, word_205F8
|
||||
add dx, 10h
|
||||
mov dx, point_205F6.y
|
||||
add dx, 16
|
||||
mov bx, ax
|
||||
mov [bx+2B8Ch], dx
|
||||
mov al, _page_back
|
||||
|
@ -29585,10 +29550,7 @@ marisa_init proc far
|
|||
inc ax
|
||||
push ax
|
||||
call super_put_rect
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, point_205F6.y, 0
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
|
@ -29638,10 +29600,7 @@ marisa_init proc far
|
|||
inc ax
|
||||
push ax
|
||||
call super_put_rect
|
||||
push word_205F6
|
||||
push word_205F8
|
||||
push 0
|
||||
call super_roll_put
|
||||
call super_roll_put pascal, point_205F6.x, point_205F6.y, 0
|
||||
mov al, _page_back
|
||||
mov ah, 0
|
||||
shl ax, 2
|
||||
|
@ -30975,8 +30934,8 @@ sub_1B555 proc near
|
|||
cmp word_20650, 0Ah
|
||||
jnz short loc_1B592
|
||||
mov ax, word_26D76
|
||||
add ax, 20h ; ' '
|
||||
cmp ax, word_205F6
|
||||
add ax, 32
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_1B579
|
||||
mov al, 1
|
||||
jmp short loc_1B57B
|
||||
|
@ -31997,8 +31956,8 @@ sub_1BE72 proc near
|
|||
cmp word_20650, 2
|
||||
jnz short loc_1BEC5
|
||||
mov ax, word_26D76
|
||||
add ax, 20h ; ' '
|
||||
cmp ax, word_205F6
|
||||
add ax, 32
|
||||
cmp ax, point_205F6.x
|
||||
jge short loc_1BE94
|
||||
mov ax, 1
|
||||
jmp short loc_1BE97
|
||||
|
@ -35605,8 +35564,7 @@ word_205EE dw ?
|
|||
word_205F0 dw ?
|
||||
word_205F2 dw ?
|
||||
word_205F4 dw ?
|
||||
word_205F6 dw ?
|
||||
word_205F8 dw ?
|
||||
point_205F6 Point <?>
|
||||
dd ? ;
|
||||
dd ? ;
|
||||
playchar_shot_func dw ?
|
||||
|
@ -39946,8 +39904,7 @@ byte_2559E db ?
|
|||
word_255A0 dw ?
|
||||
byte_255A2 db ?
|
||||
byte_255A3 db ?
|
||||
word_255A4 dw ?
|
||||
word_255A6 dw ?
|
||||
point_255A4 Point <?>
|
||||
word_255A8 dw ?
|
||||
word_255AA dw ?
|
||||
word_255AC dw ?
|
||||
|
@ -41470,16 +41427,10 @@ byte_26CD2 db ?
|
|||
byte_26CD3 db ?
|
||||
byte_26CD4 db ?
|
||||
db ?
|
||||
unk_26CD6 db ? ;
|
||||
db ? ;
|
||||
unk_26CD8 db ? ;
|
||||
db ? ;
|
||||
point_26CD6 Point <?>
|
||||
word_26CDA dw ?
|
||||
word_26CDC dw ?
|
||||
unk_26CDE db ? ;
|
||||
db ? ;
|
||||
unk_26CE0 db ? ;
|
||||
db ? ;
|
||||
point_26CDE Point <?>
|
||||
byte_26CE2 db ?
|
||||
byte_26CE3 db ?
|
||||
byte_26CE4 db ?
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
// Vectors
|
||||
// -------
|
||||
#if GAME == 3
|
||||
// (different calling convention parameter order than the TH04/TH05 one)
|
||||
int __cdecl far vector1_at(int angle, int length, int origin)
|
||||
#endif
|
||||
|
||||
int pascal far vector2(
|
||||
int far *ret_x, int far *ret_y, unsigned char angle, int length
|
||||
);
|
||||
|
||||
// Constructs a vector from (x1, y1) to (x2, y2), and additionally applies
|
||||
// [plus_angle] to the resulting angle between the two points.
|
||||
int pascal far vector2_between_plus(
|
||||
int x1,
|
||||
int y1,
|
||||
int x2,
|
||||
int y2,
|
||||
unsigned char plus_angle,
|
||||
int *ret_x,
|
||||
int *ret_y,
|
||||
int length
|
||||
);
|
||||
// -------
|
|
@ -1,5 +1,3 @@
|
|||
; int __cdecl far vector1_at(int angle, int length, int origin)
|
||||
; (different calling convention than the TH04/TH05 one)
|
||||
vector1_at proc far
|
||||
|
||||
@@origin = word ptr 6
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
; int pascal far vector2(int r, unsigned char angle, int far *dx, int far *dy)
|
||||
vector2 proc far
|
||||
|
||||
@@r = word ptr 6
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
; Constructs a vector from (x1|y1) to (x2|y2), and additionally applies
|
||||
; [plus_angle] to the resulting angle between the two points.
|
||||
|
||||
; int pascal far vector2(int r, int far *dx, int far *dy, char plus_angle, int y2, int x2, int y1, int x1)
|
||||
vector2_between_plus proc far
|
||||
|
||||
@@r = word ptr 6
|
||||
|
|
315
th03_main.asm
315
th03_main.asm
|
@ -3572,20 +3572,14 @@ loc_BD00:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 500000h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, large (80 shl 16) or 0, _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov bx, word_20CE4
|
||||
mov al, [bx+6]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 500000h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, large (80 shl 16) or 0, _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
mov bx, word_20CE4
|
||||
add [bx], di
|
||||
|
@ -4147,11 +4141,7 @@ arg_2 = byte ptr 6
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push word_20E42
|
||||
push word_20E3E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_20E3E, word_20E42, _CosTable8[bx]
|
||||
mov dl, byte ptr word_23AF0
|
||||
mov dh, 0
|
||||
add dx, dx
|
||||
|
@ -4162,11 +4152,7 @@ arg_2 = byte ptr 6
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push word_20E42
|
||||
push word_20E40
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_20E40, word_20E42, _SinTable8[bx]
|
||||
mov [bp+var_4], ax
|
||||
push [bp+var_2]
|
||||
push ax
|
||||
|
@ -6105,7 +6091,7 @@ loc_D06E:
|
|||
push ds
|
||||
lea ax, [si+6]
|
||||
push ax
|
||||
push 40h
|
||||
push 64
|
||||
mov al, [si+8]
|
||||
mov ah, 0
|
||||
push ax
|
||||
|
@ -9893,22 +9879,14 @@ loc_F26E:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+arg_0]
|
||||
push di
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, di, [bp+arg_0], _CosTable8[bx]
|
||||
add ax, 0FFE8h
|
||||
mov [bp+var_2], ax
|
||||
mov al, [bp+var_5]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+arg_0]
|
||||
push [bp+arg_2]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+arg_2], [bp+arg_0], _SinTable8[bx]
|
||||
add ax, 0FFE8h
|
||||
mov [bp+var_4], ax
|
||||
push [bp+var_2]
|
||||
|
@ -10007,10 +9985,7 @@ sub_F356 proc near
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 100000h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, large (16 shl 16) or 0, _SinTable8[bx]
|
||||
mov word_1F348, ax
|
||||
cmp word_1F33E, 300h
|
||||
jg short loc_F399
|
||||
|
@ -11279,21 +11254,13 @@ loc_FE54:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 300h
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, (48 shl 4), _CosTable8[bx]
|
||||
mov word_23E3E, ax
|
||||
mov al, byte_20E2B
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 300h
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, (48 shl 4), _SinTable8[bx]
|
||||
mov word_23E40, ax
|
||||
mov al, byte_20E2B
|
||||
add al, 40h
|
||||
|
@ -11658,21 +11625,13 @@ arg_2 = word ptr 6
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push si
|
||||
push [bp+var_2]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_2], si, _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+arg_0]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push si
|
||||
push [bp+var_4]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_4], si, _SinTable8[bx]
|
||||
mov [bp+var_6], ax
|
||||
push di
|
||||
push ax
|
||||
|
@ -11687,21 +11646,13 @@ arg_2 = word ptr 6
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push si
|
||||
push [bp+var_2]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_2], si, _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+arg_0]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push si
|
||||
push [bp+var_4]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_4], si, _SinTable8[bx]
|
||||
mov [bp+var_6], ax
|
||||
push di
|
||||
push ax
|
||||
|
@ -12889,21 +12840,13 @@ loc_10C8D:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 200h
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, (32 shl 4), _CosTable8[bx]
|
||||
mov word_23E3E, ax
|
||||
mov al, [bp+var_1]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 200h
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, (32 shl 4), _SinTable8[bx]
|
||||
mov word_23E40, ax
|
||||
call sub_17730
|
||||
mov al, [bp+var_1]
|
||||
|
@ -12916,21 +12859,13 @@ loc_10C8D:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 200h
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, (32 shl 4), _CosTable8[bx]
|
||||
mov word_23E3E, ax
|
||||
mov al, [bp+var_1]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 200h
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, (32 shl 4), _SinTable8[bx]
|
||||
mov word_23E40, ax
|
||||
call sub_17730
|
||||
|
||||
|
@ -12948,11 +12883,7 @@ loc_10D62:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 300h
|
||||
push word_1F344
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F344, (48 shl 4), _SinTable8[bx]
|
||||
mov word_1F340, ax
|
||||
cmp word_1F3B0, 80h
|
||||
jb short locret_10D9E
|
||||
|
@ -13116,11 +13047,7 @@ loc_10EC9:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 300h
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, (48 shl 4), _CosTable8[bx]
|
||||
mov bx, si
|
||||
add bx, bx
|
||||
mov [bx+686Ah], ax
|
||||
|
@ -13128,11 +13055,7 @@ loc_10EC9:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 300h
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, (48 shl 4), _SinTable8[bx]
|
||||
mov bx, si
|
||||
add bx, bx
|
||||
mov [bx+6876h], ax
|
||||
|
@ -13611,21 +13534,13 @@ loc_11330:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+arg_0]
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, [bp+arg_0], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+arg_2]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+arg_0]
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, [bp+arg_0], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
mov al, [bp+var_6]
|
||||
|
@ -14380,21 +14295,13 @@ loc_11978:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+arg_4]
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, [bp+arg_4], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+arg_0]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+arg_4]
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, [bp+arg_4], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
push [bp+var_4]
|
||||
|
@ -14572,21 +14479,13 @@ loc_11ADD:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push word_1F356
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, word_1F356, _CosTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
mov al, [bp+var_5]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push word_1F356
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, word_1F356, _SinTable8[bx]
|
||||
mov [bp+var_4], ax
|
||||
mov ax, [bp+var_2]
|
||||
mov word_23E3E, ax
|
||||
|
@ -14836,21 +14735,13 @@ loc_11D77:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push word_1F356
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, word_1F356, _CosTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
mov al, [bp+var_5]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push word_1F356
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, word_1F356, _SinTable8[bx]
|
||||
mov [bp+var_4], ax
|
||||
mov ax, [bp+var_2]
|
||||
mov word_23E3E, ax
|
||||
|
@ -15149,21 +15040,13 @@ loc_12021:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+var_6]
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, [bp+var_6], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+var_7]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+var_6]
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, [bp+var_6], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
mov al, byte ptr word_1FE88
|
||||
|
@ -16197,21 +16080,13 @@ loc_129A0:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+var_8]
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, [bp+var_8], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+var_9]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+var_8]
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, [bp+var_8], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
push [bp+var_6]
|
||||
|
@ -17243,21 +17118,13 @@ loc_13286:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+var_6]
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, [bp+var_6], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+var_7]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+var_6]
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, [bp+var_6], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
mov al, byte ptr word_1FE88
|
||||
|
@ -17456,21 +17323,13 @@ loc_13426:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 300h
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, (48 shl 4), _CosTable8[bx]
|
||||
mov word_23E3E, ax
|
||||
mov al, [bp+var_1]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 300h
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, (48 shl 4), _SinTable8[bx]
|
||||
mov word_23E40, ax
|
||||
mov al, [bp+var_1]
|
||||
add al, [bp+var_2]
|
||||
|
@ -17922,21 +17781,13 @@ loc_1383D:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 30h ; '0'
|
||||
push [bp+var_2]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_2], 48, _CosTable8[bx]
|
||||
mov [bp+var_6], ax
|
||||
mov al, [bp+var_9]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 30h ; '0'
|
||||
push [bp+var_4]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_4], 48, _SinTable8[bx]
|
||||
mov [bp+var_8], ax
|
||||
test di, 3
|
||||
jz short loc_1388B
|
||||
|
@ -18026,21 +17877,13 @@ loc_13910:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+var_6]
|
||||
push word_1F33E
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F33E, [bp+var_6], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+var_7]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+var_6]
|
||||
push word_1F340
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, word_1F340, [bp+var_6], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
mov al, byte ptr word_1FE88
|
||||
|
@ -21393,9 +21236,9 @@ loc_1541D:
|
|||
cwd
|
||||
idiv bx
|
||||
mov bx, dx
|
||||
mov al, [bx+678h]
|
||||
mov al, angles_1DBD8[bx]
|
||||
push ax
|
||||
push 0B0h ; '°'
|
||||
push 176
|
||||
call vector2
|
||||
mov bx, word_20E22
|
||||
mov byte ptr [bx+1], 0
|
||||
|
@ -22174,11 +22017,7 @@ loc_15A91:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push di
|
||||
push 90h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, 144, di, _CosTable8[bx]
|
||||
add ax, [bp+var_2]
|
||||
mov bx, si
|
||||
add bx, bx
|
||||
|
@ -22189,11 +22028,7 @@ loc_15A91:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push di
|
||||
push 0C8h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, 200, di, _SinTable8[bx]
|
||||
cwd
|
||||
sub ax, dx
|
||||
sar ax, 1
|
||||
|
@ -22226,11 +22061,7 @@ loc_15B29:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push di
|
||||
push 90h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, 144, di, _CosTable8[bx]
|
||||
add ax, [bp+var_2]
|
||||
mov bx, si
|
||||
add bx, bx
|
||||
|
@ -22241,11 +22072,7 @@ loc_15B29:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push di
|
||||
push 0C8h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, 200, di, _SinTable8[bx]
|
||||
cwd
|
||||
sub ax, dx
|
||||
sar ax, 1
|
||||
|
@ -24283,22 +24110,14 @@ loc_16BEC:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push [bp+arg_2]
|
||||
push [bp+var_6]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_6], [bp+arg_2], _CosTable8[bx]
|
||||
mov di, ax
|
||||
mov al, [bp+var_A]
|
||||
add al, [bp+arg_0]
|
||||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push [bp+arg_2]
|
||||
push [bp+var_8]
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, [bp+var_8], [bp+arg_2], _SinTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
push di
|
||||
mov al, byte ptr word_1FE88
|
||||
|
@ -25634,9 +25453,9 @@ loc_1767D:
|
|||
add al, byte ptr word_23E42+1
|
||||
push ax
|
||||
push ds
|
||||
push offset word_23E48
|
||||
push offset point_23E48.x
|
||||
push ds
|
||||
push offset word_23E4A
|
||||
push offset point_23E48.y
|
||||
mov al, [bp+var_9]
|
||||
mov ah, 0
|
||||
push ax
|
||||
|
@ -25646,9 +25465,9 @@ loc_1767D:
|
|||
|
||||
loc_176A8:
|
||||
push ds
|
||||
push offset word_23E48
|
||||
push offset point_23E48.x
|
||||
push ds
|
||||
push offset word_23E4A
|
||||
push offset point_23E48.y
|
||||
mov al, byte ptr [bp+var_2]
|
||||
add al, byte ptr word_23E42+1
|
||||
push ax
|
||||
|
@ -25941,9 +25760,9 @@ loc_17914:
|
|||
push [bp+var_4]
|
||||
call sub_173A2
|
||||
mov [bp+var_B], al
|
||||
mov ax, word_23E48
|
||||
mov ax, point_23E48.x
|
||||
mov [si+0Ah], ax
|
||||
mov ax, word_23E4A
|
||||
mov ax, point_23E48.y
|
||||
mov [si+0Ch], ax
|
||||
mov al, byte_26352
|
||||
mov [si+0Fh], al
|
||||
|
@ -27593,7 +27412,7 @@ loc_18667:
|
|||
push ax
|
||||
call randring_far_next16
|
||||
push ax
|
||||
push 0E0h
|
||||
push 224
|
||||
call vector2
|
||||
|
||||
loc_18692:
|
||||
|
@ -28025,7 +27844,7 @@ loc_18A68:
|
|||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 900090h
|
||||
push (144 shl 16) or 144
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
mov si, ax
|
||||
|
@ -28034,7 +27853,7 @@ loc_18A68:
|
|||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 9000B8h
|
||||
push (144 shl 16) or 184
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
mov di, ax
|
||||
|
@ -28055,7 +27874,7 @@ loc_18A68:
|
|||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push 900090h
|
||||
push (144 shl 16) or 144
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
mov si, ax
|
||||
|
@ -28064,7 +27883,7 @@ loc_18A68:
|
|||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push 9000B8h
|
||||
push (144 shl 16) or 184
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
mov di, ax
|
||||
|
@ -33977,7 +33796,7 @@ loc_1B7BC:
|
|||
cmp byte ptr [bx+1], 0
|
||||
jnz short loc_1B855
|
||||
mov al, [bx+3]
|
||||
add al, 0FEh
|
||||
add al, -2
|
||||
mov [bp+var_9], al
|
||||
push ds
|
||||
mov ax, word_1F868
|
||||
|
@ -33985,7 +33804,7 @@ loc_1B7BC:
|
|||
push ax
|
||||
push ds
|
||||
mov ax, word_1F868
|
||||
add ax, 0Ah
|
||||
add ax, 10
|
||||
push ax
|
||||
push word ptr [bx+2]
|
||||
mov al, [bp+var_9]
|
||||
|
@ -34013,10 +33832,10 @@ loc_1B7BC:
|
|||
push ax
|
||||
push ds
|
||||
mov ax, word_1F868
|
||||
add ax, 0Ah
|
||||
add ax, 10
|
||||
push ax
|
||||
push word ptr [bx+2]
|
||||
push 0A0h
|
||||
push 160
|
||||
call vector2
|
||||
jmp short loc_1B896
|
||||
; ---------------------------------------------------------------------------
|
||||
|
@ -36463,7 +36282,8 @@ a00ch_bf2 db '00ch.bf2',0
|
|||
db 0FEh
|
||||
aEnedat_dat db 'ENEDAT.DAT',0
|
||||
db 0
|
||||
db 'ŔśĘŔ°Đ',0
|
||||
angles_1DBD8 db 192, 182, 202, 192, 176, 208
|
||||
db 0
|
||||
db 4
|
||||
db 8
|
||||
db 0
|
||||
|
@ -42468,8 +42288,7 @@ word_23E42 dw ?
|
|||
word_23E44 dw ?
|
||||
byte_23E46 db ?
|
||||
byte_23E47 db ?
|
||||
word_23E48 dw ?
|
||||
word_23E4A dw ?
|
||||
point_23E48 Point <?>
|
||||
word_23E4C dw ?
|
||||
byte_23E4E db ?
|
||||
byte_23E4F db ?
|
||||
|
|
12
th03_op.asm
12
th03_op.asm
|
@ -3461,11 +3461,7 @@ loc_B6CF:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _CosTable8[bx]
|
||||
push si
|
||||
push 140h
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, (RES_X / 2), si, _CosTable8[bx]
|
||||
mov [bp+var_2], ax
|
||||
mov al, byte ptr [bp+var_6]
|
||||
add al, [bp+arg_6]
|
||||
|
@ -3479,11 +3475,7 @@ loc_B6CF:
|
|||
mov ah, 0
|
||||
add ax, ax
|
||||
mov bx, ax
|
||||
push _SinTable8[bx]
|
||||
push si
|
||||
push 0C8h ; 'Č'
|
||||
call vector1_at
|
||||
add sp, 6
|
||||
call vector1_at c, (RES_Y / 2), si, _SinTable8[bx]
|
||||
mov [bp+var_4], ax
|
||||
push [bp+var_2]
|
||||
push ax
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#include "th03/math/math.h"
|
||||
|
||||
// Vectors
|
||||
// -------
|
||||
// (different calling convention and parameter order than the TH03 one)
|
||||
int pascal far vector1_at(int angle, int length, int origin);
|
||||
|
||||
int pascal near vector2_near(Point near *ret, int angle, int length);
|
||||
|
||||
int pascal far vector2_at(
|
||||
Point near *ret, int origin_x, int origin_y, int length, int angle
|
||||
);
|
||||
// -------
|
|
@ -1,5 +1,4 @@
|
|||
; int pascal far vector1_at(int angle, int length, int origin)
|
||||
; (different calling convention than the TH03 one)
|
||||
public VECTOR1_AT
|
||||
vector1_at proc far
|
||||
|
||||
@@angle = word ptr 6
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
; int pascal far vector2_at(
|
||||
; Point *ret, int origin_x, int origin_y, int length, int angle
|
||||
; );
|
||||
public VECTOR2_AT
|
||||
vector2_at proc far
|
||||
|
||||
|
|
|
@ -54,11 +54,6 @@ typedef struct {
|
|||
}
|
||||
} motion_t;
|
||||
|
||||
// Vectors
|
||||
// -------
|
||||
int pascal near vector2_near(Point near *ret, unsigned char angle, int r);
|
||||
// -------
|
||||
|
||||
#include "th03/math/randring.h"
|
||||
|
||||
inline char randring_angle(char random_range, char offset)
|
||||
|
|
438
th04_main.asm
438
th04_main.asm
File diff suppressed because it is too large
Load Diff
723
th05_main.asm
723
th05_main.asm
File diff suppressed because it is too large
Load Diff
|
@ -5931,10 +5931,10 @@ loc_D53E:
|
|||
idiv bx
|
||||
add dx, 5Ch
|
||||
mov [si+0Eh], dx
|
||||
push 50D2h
|
||||
push word_156E4
|
||||
push word_156E8
|
||||
push 0C0h
|
||||
push offset point_151D2
|
||||
push x_156E4
|
||||
push y_156E8
|
||||
push (12 shl 4)
|
||||
mov al, [si+12h]
|
||||
mov ah, 0
|
||||
push ax
|
||||
|
@ -5947,9 +5947,9 @@ loc_D53E:
|
|||
mov ah, 0
|
||||
push ax
|
||||
call vector2_at
|
||||
movsx eax, word_151D2
|
||||
movsx eax, point_151D2.x
|
||||
mov [si], eax
|
||||
movsx eax, word_151D4
|
||||
movsx eax, point_151D2.y
|
||||
mov [si+4], eax
|
||||
inc di
|
||||
add si, 14h
|
||||
|
@ -6228,7 +6228,7 @@ loc_D7F2:
|
|||
loc_D7F8:
|
||||
cmp [bp+var_2], 30h ; '0'
|
||||
jl loc_D73A
|
||||
mov si, 55E4h
|
||||
mov si, offset x_156E4
|
||||
cmp dword ptr [si], 0FFFFC190h
|
||||
jz short loc_D83F
|
||||
mov ax, [si+8]
|
||||
|
@ -6283,17 +6283,17 @@ sub_D853 proc near
|
|||
and al, 7Fh
|
||||
mov [si+12h], al
|
||||
mov word ptr [si+0Eh], 30h ; '0'
|
||||
push 50D2h
|
||||
push word_156E4
|
||||
push word_156E8
|
||||
push 0C0h
|
||||
push offset point_151D2
|
||||
push x_156E4
|
||||
push y_156E8
|
||||
push (12 shl 4)
|
||||
mov al, [si+12h]
|
||||
mov ah, 0
|
||||
push ax
|
||||
call vector2_at
|
||||
movsx eax, word_151D2
|
||||
movsx eax, point_151D2.x
|
||||
mov [si], eax
|
||||
movsx eax, word_151D4
|
||||
movsx eax, point_151D2.y
|
||||
mov [si+4], eax
|
||||
cmp word_1183C, 40h
|
||||
jl short loc_D8B3
|
||||
|
@ -6335,9 +6335,9 @@ loc_D8BE:
|
|||
loc_D8E3:
|
||||
or dx, dx
|
||||
jge short loc_D8BE
|
||||
mov ax, word_156E4
|
||||
mov ax, x_156E4
|
||||
mov word_156F8, ax
|
||||
mov ax, word_156E8
|
||||
mov ax, y_156E8
|
||||
mov word_156FA, ax
|
||||
pop bp
|
||||
retn
|
||||
|
@ -11688,8 +11688,7 @@ byte_151CC db ?
|
|||
db ?
|
||||
word_151CE dw ?
|
||||
word_151D0 dw ?
|
||||
word_151D2 dw ?
|
||||
word_151D4 dw ?
|
||||
point_151D2 Point <?>
|
||||
word_151D6 dw ?
|
||||
word_151D8 dw ?
|
||||
word_151DA dw ?
|
||||
|
@ -12017,9 +12016,9 @@ word_151E2 dw ?
|
|||
dd ? ;
|
||||
dd ? ;
|
||||
dd ? ;
|
||||
word_156E4 dw ?
|
||||
x_156E4 dw ?
|
||||
dw ?
|
||||
word_156E8 dw ?
|
||||
y_156E8 dw ?
|
||||
dw ?
|
||||
word_156EC dw ?
|
||||
dd ? ;
|
||||
|
|
Loading…
Reference in New Issue