619 lines
8.4 KiB
Plaintext
619 lines
8.4 KiB
Plaintext
Polygon::new:
|
|
link $1
|
|
pushi $5b ; 91, '[', points
|
|
push1
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class IntArray
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $16e ; 366, dynamic
|
|
push1
|
|
push1
|
|
pushi $8d ; 141, new
|
|
push0
|
|
super Obj, $4
|
|
bnot
|
|
sat temp[$0]
|
|
send $c
|
|
bnot
|
|
pToa points
|
|
bnt code_0083
|
|
pushi $d3 ; 211, copy
|
|
push1
|
|
pushSelf
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
code_0083: lat temp[$0]
|
|
ret
|
|
|
|
Polygon::init:
|
|
link $2
|
|
lsp param[$0]
|
|
ldi $2
|
|
div
|
|
aTop size
|
|
pushi $d0 ; 208, with
|
|
push1
|
|
lsp param[$1]
|
|
&rest $2
|
|
class IntArray
|
|
send $6
|
|
bnot
|
|
aTop points
|
|
ldi $1
|
|
aTop dynamic
|
|
ret
|
|
|
|
Polygon::dispose:
|
|
pToa pDispose
|
|
not
|
|
bnt code_00b1
|
|
push1
|
|
lofsa string_0028 ; "Polygon being disposed without being tagged for disposal."
|
|
push
|
|
callk kernel_132, $2
|
|
bnot
|
|
code_00b1: pToa dynamic
|
|
bnt code_00c2
|
|
pToa points
|
|
bnt code_00c2
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
pToa points
|
|
send $4
|
|
bnot
|
|
code_00c2: pushi $95 ; 149, dispose
|
|
push0
|
|
super Obj, $4
|
|
bnot
|
|
ret
|
|
|
|
Polygon::onMe:
|
|
pushi $3 ; z
|
|
lsp param[$1]
|
|
lsp param[$2]
|
|
pushSelf
|
|
callk kernel_101, $6
|
|
bnot
|
|
ret
|
|
|
|
Polygon::copy:
|
|
pushi $d3 ; 211, copy
|
|
push1
|
|
pushi $5b ; 91, '[', points
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop size
|
|
ret
|
|
|
|
Polygon::scale:
|
|
link $5
|
|
pToa size
|
|
sat temp[$0]
|
|
ldi $0
|
|
sat temp[$3]
|
|
pushi $4e ; 78, 'N', width
|
|
lap param[$1]
|
|
mul
|
|
push
|
|
ldi $64 ; 100, 'd', moveDone
|
|
div
|
|
sat temp[$2]
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class LongInt
|
|
send $4
|
|
bnot
|
|
sat temp[$4]
|
|
ldi $0
|
|
sat temp[$1]
|
|
code_0118: lst temp[$1]
|
|
lat temp[$0]
|
|
lt?
|
|
bnt code_01a5
|
|
pushi $b5 ; 181, set
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
pushi $113 ; 275, mul
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$3]
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
push
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
pushi $115 ; 277, div
|
|
push1
|
|
pushi $64 ; 100, 'd', moveDone
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$3]
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $8
|
|
bnot
|
|
+at temp[$3]
|
|
pushi $b5 ; 181, set
|
|
push1
|
|
lst temp[$2]
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
pushi $113 ; 275, mul
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$3]
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
push
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
pushi $115 ; 277, div
|
|
push1
|
|
pushi $64 ; 100, 'd', moveDone
|
|
lat temp[$4]
|
|
send $6
|
|
bnot
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$3]
|
|
pushi $10d ; 269, lowWord
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $8
|
|
bnot
|
|
+at temp[$1]
|
|
+at temp[$3]
|
|
jmp code_0118
|
|
|
|
code_01a5: pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$4]
|
|
send $4
|
|
bnot
|
|
ret
|
|
|
|
Polygon::moveBy:
|
|
link $3
|
|
pToa size
|
|
sat temp[$0]
|
|
ldi $0
|
|
sat temp[$2]
|
|
ldi $0
|
|
sat temp[$1]
|
|
code_01bd: lst temp[$1]
|
|
lat temp[$0]
|
|
lt?
|
|
bnt code_01fc
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
lst temp[$2]
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$2]
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
push
|
|
lap param[$1]
|
|
add
|
|
push
|
|
pToa points
|
|
send $8
|
|
bnot
|
|
+at temp[$2]
|
|
pushi $4b ; 75, 'K', at
|
|
push2
|
|
push
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
push
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
push
|
|
lap param[$2]
|
|
add
|
|
push
|
|
pToa points
|
|
send $8
|
|
bnot
|
|
+at temp[$1]
|
|
+at temp[$2]
|
|
jmp code_01bd
|
|
|
|
code_01fc: ret
|
|
|
|
Polygon::display:
|
|
link $2
|
|
pTos size
|
|
ldi $2
|
|
mul
|
|
sat temp[$0]
|
|
ldi $0
|
|
sat temp[$1]
|
|
code_020a: lst temp[$1]
|
|
lat temp[$0]
|
|
lt?
|
|
bnt code_021a
|
|
lst temp[$1]
|
|
ldi $2
|
|
add
|
|
sat temp[$1]
|
|
jmp code_020a
|
|
|
|
code_021a: ret
|
|
|
|
Polygon::clipTo:
|
|
link $c
|
|
pToa size
|
|
sat temp[$0]
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Rect
|
|
send $4
|
|
bnot
|
|
sat temp[$9]
|
|
pushi $d3 ; 211, copy
|
|
push1
|
|
lsp param[$1]
|
|
send $6
|
|
bnot
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Line
|
|
send $4
|
|
bnot
|
|
sat temp[$5]
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
push0
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
sat temp[$1]
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
push1
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
sat temp[$2]
|
|
lat temp[$1]
|
|
sat temp[$3]
|
|
lat temp[$2]
|
|
sat temp[$4]
|
|
ldi $2
|
|
sat temp[$a]
|
|
ldi $1
|
|
sat temp[$8]
|
|
code_0266: lst temp[$8]
|
|
lat temp[$0]
|
|
lt?
|
|
bnt code_0339
|
|
pushi $94 ; 148, init
|
|
pushi $4 ; scaleX
|
|
lst temp[$1]
|
|
lst temp[$2]
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$a]
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
sat temp[$6]
|
|
push
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$a]
|
|
ldi $1
|
|
add
|
|
push
|
|
pToa points
|
|
send $6
|
|
bnot
|
|
sat temp[$7]
|
|
push
|
|
lat temp[$5]
|
|
send $c
|
|
bnot
|
|
pushi $16b ; 363, clip
|
|
push1
|
|
lst temp[$9]
|
|
lat temp[$5]
|
|
send $6
|
|
bnot
|
|
bnt code_02e2
|
|
pushi $4b ; 75, 'K', at
|
|
pushi $5 ; scaleY
|
|
lst temp[$a]
|
|
ldi $2
|
|
sub
|
|
push
|
|
pushi $167 ; 359, pX1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $168 ; 360, pY1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $169 ; 361, pX2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $16a ; 362, pY2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $e
|
|
bnot
|
|
jmp code_0325
|
|
|
|
code_02e2: pushi $16c ; 364, basicClip
|
|
push1
|
|
lst temp[$9]
|
|
lat temp[$5]
|
|
send $6
|
|
bnot
|
|
pushi $4b ; 75, 'K', at
|
|
pushi $5 ; scaleY
|
|
lst temp[$a]
|
|
ldi $2
|
|
sub
|
|
push
|
|
pushi $167 ; 359, pX1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $168 ; 360, pY1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $169 ; 361, pX2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $16a ; 362, pY2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $e
|
|
bnot
|
|
code_0325: lat temp[$6]
|
|
sat temp[$1]
|
|
lat temp[$7]
|
|
sat temp[$2]
|
|
lst temp[$a]
|
|
ldi $2
|
|
add
|
|
sat temp[$a]
|
|
+at temp[$8]
|
|
jmp code_0266
|
|
|
|
code_0339: pushi $94 ; 148, init
|
|
pushi $4 ; scaleX
|
|
lst temp[$1]
|
|
lst temp[$2]
|
|
lst temp[$3]
|
|
lst temp[$4]
|
|
lat temp[$5]
|
|
send $c
|
|
bnot
|
|
pushi $16b ; 363, clip
|
|
push1
|
|
lst temp[$9]
|
|
lat temp[$5]
|
|
send $6
|
|
bnot
|
|
bnt code_0393
|
|
pushi $4b ; 75, 'K', at
|
|
pushi $5 ; scaleY
|
|
lst temp[$a]
|
|
ldi $2
|
|
sub
|
|
push
|
|
pushi $167 ; 359, pX1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $168 ; 360, pY1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $169 ; 361, pX2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $16a ; 362, pY2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $e
|
|
bnot
|
|
jmp code_03d6
|
|
|
|
code_0393: pushi $16c ; 364, basicClip
|
|
push1
|
|
lst temp[$9]
|
|
lat temp[$5]
|
|
send $6
|
|
bnot
|
|
pushi $4b ; 75, 'K', at
|
|
pushi $5 ; scaleY
|
|
lst temp[$a]
|
|
ldi $2
|
|
sub
|
|
push
|
|
pushi $167 ; 359, pX1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $168 ; 360, pY1
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $169 ; 361, pX2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $16a ; 362, pY2
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $e
|
|
bnot
|
|
code_03d6: pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$5]
|
|
send $4
|
|
bnot
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$9]
|
|
send $4
|
|
bnot
|
|
ldi $0
|
|
ret
|
|
|
|
Polygon::fromRect:
|
|
pToa points
|
|
not
|
|
bnt code_03fb
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class IntArray
|
|
send $4
|
|
bnot
|
|
aTop points
|
|
code_03fb: pushi $4b ; 75, 'K', at
|
|
pushi $9 ; inLeft
|
|
push0
|
|
pushi $87 ; 135, left
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $89 ; 137, top
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $88 ; 136, right
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $89 ; 137, top
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $88 ; 136, right
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $8a ; 138, bottom
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $87 ; 135, left
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $8a ; 138, bottom
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
push
|
|
pToa points
|
|
send $16
|
|
bnot
|
|
ldi $4 ; scaleX
|
|
aTop size
|
|
ret
|
|
|