Un-ignored: the dev drive is the ground truth the restoration and emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio content). Kept in-repo for the pod-owner community. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2854 lines
54 KiB
ArmAsm
2854 lines
54 KiB
ArmAsm
.file "pazread.c"
|
|
// PGC Rel 2.0a -opt 2
|
|
.text
|
|
.align 8
|
|
_mexico_68:
|
|
.a1 = 80
|
|
.f1 = 64
|
|
addu -(.a1+.f1), sp, sp
|
|
st.l fp,(.f1-16)(sp)
|
|
addu (.f1-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r17, 52(fp)
|
|
st.l r18, 56(fp)
|
|
st.l r19, 60(fp)
|
|
st.l r20, 64(fp)
|
|
st.l r21, 68(fp)
|
|
st.l r22, 72(fp)
|
|
st.l r23, 76(fp)
|
|
st.l r24, 80(fp)
|
|
st.l r25, 84(fp)
|
|
st.l r26, 88(fp)
|
|
st.l r27, 92(fp)
|
|
fst.d f8, 16(fp)
|
|
fst.d f10, 24(fp)
|
|
fst.d f12, 32(fp)
|
|
fst.d f14, 40(fp)
|
|
st.l r16, 48(fp)
|
|
st.l r28, -4(fp)
|
|
// lineno: 47
|
|
orh h%_errmess, r0, r31
|
|
or l%_errmess, r31, r16
|
|
orh h%.S00660, r0, r31
|
|
or l%.S00660, r31, r17
|
|
st.l r16, -44(fp)
|
|
call _sprintf
|
|
nop
|
|
ld.l -4(fp), r28
|
|
ld.l -4(fp), r29
|
|
adds 1, r0, r30
|
|
st.l r29, -8(fp)
|
|
st.l r30, -20(fp)
|
|
addu 16, fp, r17
|
|
st.l r17, -12(fp)
|
|
st.l r0, -16(fp)
|
|
adds -40, fp, r23
|
|
ld.l -20(fp), r18
|
|
ld.l -16(fp), r19
|
|
st.l r18, -40(fp)
|
|
st.l r19, -36(fp)
|
|
|
|
ld.l -12(fp), r20
|
|
ld.l -8(fp), r21
|
|
st.l r20, -32(fp)
|
|
st.l r21, -28(fp)
|
|
|
|
ld.l -44(fp), r22
|
|
ld.l 48(fp), r17
|
|
adds r16, r22, r16
|
|
|
|
|
|
mov r23, r28
|
|
call _vsprintf
|
|
nop
|
|
ld.l -4(fp), r28
|
|
orh h%.BSS+4, r0, r31
|
|
or l%.BSS+4, r31, r16
|
|
adds 1, r0, r17
|
|
orh ha%.BSS, r0, r31
|
|
st.l r0, l%.BSS(r31)
|
|
call _longjmp
|
|
nop
|
|
ld.l -4(fp), r28
|
|
// lineno: 58
|
|
|
|
|
|
|
|
|
|
adds .a1+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.align 8
|
|
_set_surface:
|
|
.a2 = 80
|
|
.f2 = 32
|
|
addu -(.a2+.f2), sp, sp
|
|
st.l fp,(.f2-16)(sp)
|
|
addu (.f2-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
st.l r17, 52(fp)
|
|
// lineno: 69
|
|
ld.l 48(fp), r28
|
|
ld.l 52(fp), r29
|
|
addu 148, r28, r16
|
|
call _strcpy
|
|
addu 16, r29, r17
|
|
ld.l 48(fp), r28
|
|
ld.l 52(fp), r29
|
|
addu 180, r28, r16
|
|
call _strcpy
|
|
addu 48, r29, r17
|
|
// lineno: 71
|
|
|
|
|
|
|
|
|
|
adds .a2+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.align 8
|
|
_planar:
|
|
.a3 = 0
|
|
.f3 = 48
|
|
orh h%.STACK+.f3-16, r0, r28
|
|
or l%.STACK+.f3-16, r28, r28
|
|
fst.d f2, -16(r28)
|
|
st.l r4, -8(r28)
|
|
st.l r5, -4(r28)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// lineno: 0
|
|
orh ha%.C00689, r0, r31
|
|
fld.d l%.C00689(r31), f2
|
|
adds -1, r0, r17
|
|
// lineno: 77
|
|
ld.l 4(r16), r5
|
|
ld.l 28(r16), r25
|
|
mov r5, r29
|
|
mov r29, r30
|
|
fld.l 16(r29)++, f15
|
|
mov r30, r22
|
|
fld.l 20(r30)++, f14
|
|
mov r22, r23
|
|
fld.l 24(r22)++, f13
|
|
mov r23, r24
|
|
fld.l 28(r23)++, f12
|
|
adds 1, r0, r26
|
|
subs r26, r25, r0
|
|
|
|
bnc .B683
|
|
adds -2, r25, r18
|
|
mov r29, r19
|
|
mov r30, r20
|
|
mov r22, r21
|
|
mov r23, r4
|
|
bla r17, r18,.B1160
|
|
pfmul.dd f0, f0, f0
|
|
// lineno: 89
|
|
.B1160: //.M0000
|
|
fld.l r0(r19), f16
|
|
.DB.B11601160:
|
|
fld.l r0(r20), f19
|
|
fld.l r0(r21), f22
|
|
fsub.ss f16, f15, f17
|
|
fld.l r0(r4), f25
|
|
|
|
fmul.ss f17, f17, f18
|
|
|
|
|
|
fsub.ss f19, f14, f10
|
|
|
|
|
|
fmul.ss f10, f10, f20
|
|
|
|
|
|
fadd.ss f20, f18, f21
|
|
|
|
|
|
fsub.ss f22, f13, f9
|
|
|
|
|
|
fmul.ss f9, f9, f23
|
|
|
|
|
|
fadd.ss f23, f21, f24
|
|
|
|
|
|
fsub.ss f25, f12, f8
|
|
|
|
|
|
fmul.ss f8, f8, f26
|
|
|
|
|
|
fadd.ss f26, f24, f27
|
|
|
|
|
|
fmov.sd f27, f28
|
|
|
|
|
|
pfle.dd f2, f28, f0
|
|
|
|
bnc .B1161
|
|
addu 56, r19, r19
|
|
addu 56, r20, r20
|
|
addu 56, r21, r21
|
|
bla r17, r18, .B1160
|
|
addu 56, r4, r4
|
|
br .B1162
|
|
nop
|
|
// lineno: 97
|
|
.B690: //.B0002
|
|
br .B1146
|
|
mov r0, r16
|
|
// lineno: 98
|
|
.B691: //.B0003
|
|
bla r17, r18, .B1160
|
|
nop
|
|
// lineno: 0
|
|
.B1162: //.B0150
|
|
br .B683
|
|
nop
|
|
// lineno: 0
|
|
.B1161: //.N0000
|
|
br .B690
|
|
nop
|
|
// lineno: 100
|
|
.B683: //.B0001
|
|
adds 1, r0, r16
|
|
.DB.B683683:
|
|
// lineno: 0
|
|
.B1146: //.R0000
|
|
// lineno: 101
|
|
|
|
|
|
|
|
|
|
fld.d -16(r28), f2
|
|
ld.l -8(r28), r4
|
|
ld.l -4(r28), r5
|
|
bri r1
|
|
nop
|
|
.globl _matrix_dump
|
|
.align 8
|
|
_matrix_dump:
|
|
.a4 = 80
|
|
.f4 = 48
|
|
addu -(.a4+.f4), sp, sp
|
|
st.l fp,(.f4-16)(sp)
|
|
addu (.f4-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
st.l r4, -24(fp)
|
|
st.l r5, -20(fp)
|
|
st.l r6, -16(fp)
|
|
st.l r7, -12(fp)
|
|
st.l r8, -8(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// lineno: 0
|
|
// lineno: 109
|
|
mov r16, r28
|
|
orh h%.S00695, r0, r31
|
|
or l%.S00695, r31, r16
|
|
call _printf
|
|
mov r28, r5
|
|
mov r0, r4
|
|
mov r0, r4
|
|
addu 4, r5, r6
|
|
addu 8, r5, r7
|
|
addu 12, r5, r8
|
|
// lineno: 114
|
|
.B1175: //.M0001
|
|
fld.l r0(r5), f16
|
|
.DB.B11751175:
|
|
orh h%.S00700, r0, r31
|
|
or l%.S00700, r31, r16
|
|
fmov.sd f16, f8
|
|
fld.l r0(r6), f17
|
|
fld.l r0(r7), f18
|
|
fld.l r0(r8), f19
|
|
fmov.sd f17, f10
|
|
|
|
|
|
fmov.sd f18, f12
|
|
|
|
|
|
call _printf
|
|
fmov.sd f19, f14
|
|
addu 16, r5, r5
|
|
addu 16, r6, r6
|
|
addu 16, r7, r7
|
|
addu 16, r8, r8
|
|
adds 1, r4, r4
|
|
adds -4, r4, r0
|
|
|
|
bc.t .DB.B11751175
|
|
fld.l r0(r5), f16
|
|
// lineno: 0
|
|
// lineno: 0
|
|
.B699: //.B0005
|
|
// lineno: 116
|
|
|
|
|
|
|
|
|
|
ld.l -24(fp), r4
|
|
ld.l -20(fp), r5
|
|
ld.l -16(fp), r6
|
|
ld.l -12(fp), r7
|
|
ld.l -8(fp), r8
|
|
adds .a4+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.globl _point_dump
|
|
.align 8
|
|
_point_dump:
|
|
.a5 = 80
|
|
.f5 = 32
|
|
addu -(.a5+.f5), sp, sp
|
|
st.l fp,(.f5-16)(sp)
|
|
addu (.f5-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
// lineno: 122
|
|
ld.l 48(fp), r28
|
|
|
|
fld.l r0(r28), f16
|
|
orh h%.S00705, r0, r31
|
|
or l%.S00705, r31, r16
|
|
fmov.sd f16, f8
|
|
fld.l 4(r28), f17
|
|
fld.l 8(r28), f18
|
|
|
|
fmov.sd f17, f10
|
|
|
|
|
|
call _printf
|
|
fmov.sd f18, f12
|
|
// lineno: 123
|
|
|
|
|
|
|
|
|
|
adds .a5+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.globl _bound_dump
|
|
.align 8
|
|
_bound_dump:
|
|
.a6 = 80
|
|
.f6 = 32
|
|
addu -(.a6+.f6), sp, sp
|
|
st.l fp,(.f6-16)(sp)
|
|
addu (.f6-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
st.l r4, -8(fp)
|
|
st.l r5, -4(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
// lineno: 0
|
|
// lineno: 130
|
|
mov r0, r4
|
|
mov r0, r4
|
|
ld.l 48(fp), r5
|
|
// lineno: 131
|
|
.B1184: //.M0002
|
|
mov r5, r16
|
|
.DB.B11841184:
|
|
call _point_dump
|
|
addu 16, r5, r5
|
|
adds 1, r4, r4
|
|
adds -8, r4, r0
|
|
|
|
bc.t .DB.B11841184
|
|
mov r5, r16
|
|
// lineno: 0
|
|
st.l r5, 48(fp)
|
|
// lineno: 0
|
|
.B712: //.B0007
|
|
// lineno: 131
|
|
|
|
|
|
|
|
|
|
ld.l -8(fp), r4
|
|
ld.l -4(fp), r5
|
|
adds .a6+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.globl _point_dump4
|
|
.align 8
|
|
_point_dump4:
|
|
.a7 = 80
|
|
.f7 = 32
|
|
addu -(.a7+.f7), sp, sp
|
|
st.l fp,(.f7-16)(sp)
|
|
addu (.f7-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
// lineno: 137
|
|
ld.l 48(fp), r28
|
|
|
|
fld.l r0(r28), f16
|
|
orh h%.S00715, r0, r31
|
|
or l%.S00715, r31, r16
|
|
fmov.sd f16, f8
|
|
fld.l 4(r28), f17
|
|
fld.l 8(r28), f18
|
|
fld.l 12(r28), f19
|
|
fmov.sd f17, f10
|
|
|
|
|
|
fmov.sd f18, f12
|
|
|
|
|
|
call _printf
|
|
fmov.sd f19, f14
|
|
// lineno: 138
|
|
|
|
|
|
|
|
|
|
adds .a7+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.align 8
|
|
_fix_vstrip_texture_coords:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// lineno: 148
|
|
bri r1
|
|
nop
|
|
// lineno: 200
|
|
.B1188: //.R0001
|
|
|
|
|
|
|
|
|
|
bri r1
|
|
nop
|
|
.globl __consolidate
|
|
.align 8
|
|
__consolidate:
|
|
.a9 = 80
|
|
.f9 = 64
|
|
addu -(.a9+.f9), sp, sp
|
|
st.l fp,(.f9-16)(sp)
|
|
addu (.f9-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
st.l r4, -32(fp)
|
|
st.l r5, -28(fp)
|
|
st.l r6, -24(fp)
|
|
st.l r7, -20(fp)
|
|
st.l r8, -16(fp)
|
|
st.l r9, -12(fp)
|
|
st.l r10, -8(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
// lineno: 0
|
|
// lineno: 217
|
|
mov r0, r5
|
|
ld.l 4(r16), r6
|
|
|
|
bte 0x0000, r6, .B760
|
|
mov r0, r17
|
|
mov r6, r18
|
|
// lineno: 222
|
|
.B1214: //.M0003
|
|
ld.l 44(r18), r18
|
|
.DB.B12141214:
|
|
adds 1, r17, r17
|
|
xor 0x0000, r18, r0
|
|
bnc.t .DB.B12141214
|
|
ld.l 44(r18), r18
|
|
// lineno: 0
|
|
mov r17, r5
|
|
mov r18, r6
|
|
// lineno: 222
|
|
.B760: //.B0026
|
|
adds 56, r0, r28
|
|
.DB.B760760:
|
|
ixfr r28, f16
|
|
ixfr r5, f18
|
|
|
|
|
|
fmlow.dd f18, f16, f20
|
|
|
|
|
|
|
|
call _malloc
|
|
fxfr f20, r16
|
|
mov r16, r10
|
|
btne 0x0000, r16, .B762
|
|
orh h%.S00763, r0, r31
|
|
or l%.S00763, r31, r16
|
|
|
|
mov r5, r17
|
|
orh ha%_points, r0, r31
|
|
ld.l l%_points(r31), r18
|
|
orh ha%_triangles, r0, r31
|
|
ld.l l%_triangles(r31), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
// lineno: 233
|
|
.B762: //.B0027
|
|
ld.l 48(fp), r28
|
|
.DB.B762762:
|
|
mov r10, r6
|
|
ld.l 4(r28), r7
|
|
mov r10, r8
|
|
|
|
subs 0, r5, r0
|
|
mov r0, r4
|
|
bnc .B766
|
|
mov r0, r4
|
|
mov r10, r6
|
|
mov r10, r8
|
|
// lineno: 239
|
|
.B1215: //.M0004
|
|
mov r6, r16
|
|
.DB.B12151215:
|
|
mov r7, r17
|
|
adds 56, r0, r18
|
|
call _memcpy
|
|
mov r7, r9
|
|
mov r6, r28
|
|
addu 56, r6, r6
|
|
st.l r6, 44(r28)
|
|
mov r9, r16
|
|
ld.l 44(r7), r7
|
|
call _free
|
|
mov r28, r8
|
|
adds 1, r4, r4
|
|
subs r4, r5, r0
|
|
|
|
bc.t .DB.B12151215
|
|
mov r6, r16
|
|
// lineno: 0
|
|
// lineno: 253
|
|
.B766: //.B0029
|
|
ld.l 48(fp), r28
|
|
.DB.B766766:
|
|
st.l r0, 44(r8)
|
|
st.l r10, 4(r28)
|
|
st.l r5, 28(r28)
|
|
mov r5, r16
|
|
// lineno: 0
|
|
// lineno: 262
|
|
|
|
|
|
|
|
|
|
ld.l -32(fp), r4
|
|
ld.l -28(fp), r5
|
|
ld.l -24(fp), r6
|
|
ld.l -20(fp), r7
|
|
ld.l -16(fp), r8
|
|
ld.l -12(fp), r9
|
|
ld.l -8(fp), r10
|
|
adds .a9+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.globl _reconnectLODs
|
|
.align 8
|
|
_reconnectLODs:
|
|
.a10 = 80
|
|
.f10 = 96
|
|
addu -(.a10+.f10), sp, sp
|
|
st.l fp,(.f10-16)(sp)
|
|
addu (.f10-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
st.l r4, -64(fp)
|
|
st.l r5, -60(fp)
|
|
st.l r6, -56(fp)
|
|
st.l r7, -52(fp)
|
|
st.l r8, -48(fp)
|
|
st.l r9, -44(fp)
|
|
st.l r10, -40(fp)
|
|
st.l r11, -36(fp)
|
|
st.l r12, -32(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
// lineno: 0
|
|
// lineno: 275
|
|
mov r16, r28
|
|
adds 16, r0, r16
|
|
call _malloc
|
|
ld.l 4(r28), r12
|
|
st.l r12, 8(r16)
|
|
st.l r0, 0(r16)
|
|
mov r16, r6
|
|
ld.l r0(r12), r12
|
|
|
|
bte 0x0000, r12, .B776
|
|
ld.l -4(fp), r4
|
|
ld.l -8(fp), r8
|
|
ld.l -12(fp), r9
|
|
mov r16, r6
|
|
mov r12, r7
|
|
// lineno: 286
|
|
.B1234: //.M0007
|
|
adds 16, r0, r16
|
|
.DB.B12341234:
|
|
|
|
call _malloc
|
|
nop
|
|
mov r16, r8
|
|
st.l r7, 8(r16)
|
|
mov r6, r9
|
|
adds 1, r0, r10
|
|
mov r10, r17
|
|
mov r6, r18
|
|
mov r11, r20
|
|
mov r6, r21
|
|
addu 160, r7, r5
|
|
mov r16, r19
|
|
// lineno: 292
|
|
.B1231: //.M0005
|
|
ld.l 8(r18), r28
|
|
.DB.B12311231:
|
|
fld.l r0(r5), f17
|
|
fld.l 160(r28), f16
|
|
|
|
|
|
pfle.ss f16, f17, f0
|
|
|
|
bnc .B786
|
|
btne r21, r18, .B788
|
|
st.l r21, 0(r19)
|
|
mov r19, r21
|
|
br .B790
|
|
mov r0, r17
|
|
// lineno: 301
|
|
.B788: //.B0035
|
|
ld.l r0(r20), r28
|
|
.DB.B788788:
|
|
mov r0, r17
|
|
st.l r28, 0(r19)
|
|
st.l r19, 0(r20)
|
|
// lineno: 306
|
|
.B790: //.B0036
|
|
br .B792
|
|
nop
|
|
// lineno: 308
|
|
.B786: //.B0034
|
|
ld.l r0(r18), r28
|
|
.DB.B786786:
|
|
|
|
btne 0x0000, r28, .B793
|
|
st.l r19, 0(r18)
|
|
st.l r0, 0(r19)
|
|
br .B795
|
|
mov r0, r17
|
|
// lineno: 314
|
|
.B793: //.B0038
|
|
mov r18, r28
|
|
.DB.B793793:
|
|
ld.l r0(r18), r18
|
|
mov r28, r20
|
|
// lineno: 0
|
|
.B795: //.B0039
|
|
// lineno: 317
|
|
.B792: //.B0037
|
|
xor 0x0000, r17, r0
|
|
.DB.B792792:
|
|
bnc.t .DB.B12311231
|
|
ld.l 8(r18), r28
|
|
// lineno: 0
|
|
ld.l r0(r7), r7
|
|
mov r17, r10
|
|
mov r18, r9
|
|
mov r20, r11
|
|
mov r21, r6
|
|
xor 0x0000, r7, r0
|
|
bnc.t .DB.B12341234
|
|
adds 16, r0, r16
|
|
// lineno: 0
|
|
mov r7, r12
|
|
st.l r4, -4(fp)
|
|
st.l r8, -8(fp)
|
|
st.l r9, -12(fp)
|
|
// lineno: 321
|
|
.B776: //.B0031
|
|
ld.l 48(fp), r28
|
|
.DB.B776776:
|
|
|
|
st.l r0, 4(r28)
|
|
bte 0x0000, r6, .B798
|
|
ld.l -16(fp), r7
|
|
ld.l -20(fp), r9
|
|
ld.l -24(fp), r4
|
|
addu 8, r28, r8
|
|
addu 4, r28, r29
|
|
mov r29, r5
|
|
// lineno: 325
|
|
.B1233: //.M0006
|
|
ld.l 8(r6), r7
|
|
.DB.B12331233:
|
|
ld.l r0(r6), r9
|
|
ld.l r0(r8), r4
|
|
ld.l r0(r5), r28
|
|
|
|
btne 0x0000, r28, .B805
|
|
st.l r7, 0(r5)
|
|
br .B807
|
|
st.l r7, 0(r8)
|
|
// lineno: 330
|
|
.B805: //.B0043
|
|
ld.l r0(r8), r28
|
|
.DB.B805805:
|
|
|
|
st.l r7, 0(r28)
|
|
st.l r7, 0(r8)
|
|
// lineno: 330
|
|
.B807: //.B0044
|
|
mov r6, r16
|
|
.DB.B807807:
|
|
call _free
|
|
st.l r4, 4(r7)
|
|
mov r9, r6
|
|
xor 0x0000, r9, r0
|
|
bnc.t .DB.B12331233
|
|
ld.l 8(r6), r7
|
|
// lineno: 0
|
|
st.l r7, -16(fp)
|
|
st.l r9, -20(fp)
|
|
st.l r4, -24(fp)
|
|
// lineno: 0
|
|
.B798: //.B0041
|
|
// lineno: 335
|
|
|
|
|
|
|
|
|
|
ld.l -64(fp), r4
|
|
ld.l -60(fp), r5
|
|
ld.l -56(fp), r6
|
|
ld.l -52(fp), r7
|
|
ld.l -48(fp), r8
|
|
ld.l -44(fp), r9
|
|
ld.l -40(fp), r10
|
|
ld.l -36(fp), r11
|
|
ld.l -32(fp), r12
|
|
adds .a10+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.globl _bin_read
|
|
.align 8
|
|
_bin_read:
|
|
.a11 = 80
|
|
.f11 = 304
|
|
addu -(.a11+.f11), sp, sp
|
|
st.l fp,(.f11-16)(sp)
|
|
addu (.f11-16), sp, fp
|
|
st.l r1, 4(fp)
|
|
fst.d f2, -272(fp)
|
|
st.l r4, -264(fp)
|
|
st.l r5, -260(fp)
|
|
st.l r6, -256(fp)
|
|
st.l r7, -252(fp)
|
|
st.l r8, -248(fp)
|
|
st.l r9, -244(fp)
|
|
st.l r10, -240(fp)
|
|
st.l r11, -236(fp)
|
|
st.l r12, -232(fp)
|
|
st.l r13, -228(fp)
|
|
st.l r14, -224(fp)
|
|
st.l r15, -220(fp)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
st.l r16, 48(fp)
|
|
// lineno: 0
|
|
orh ha%.C00038, r0, r31
|
|
fld.l l%.C00038(r31), f2
|
|
orh ha%.C00036, r0, r31
|
|
fld.l l%.C00036(r31), f3
|
|
adds -1, r0, r15
|
|
// lineno: 344
|
|
orh h%.BSS+4, r0, r31
|
|
call _setjmp
|
|
or l%.BSS+4, r31, r16
|
|
btne 0x0000, r16, .B815
|
|
adds 144, r0, r16
|
|
orh ha%_patches, r0, r31
|
|
st.l r0, l%_patches(r31)
|
|
orh ha%_tesselations, r0, r31
|
|
st.l r0, l%_tesselations(r31)
|
|
orh ha%_triangles, r0, r31
|
|
st.l r0, l%_triangles(r31)
|
|
orh ha%_points, r0, r31
|
|
call _malloc
|
|
st.l r0, l%_points(r31)
|
|
orh ha%.BSS, r0, r31
|
|
call __InitObject
|
|
st.l r16, l%.BSS(r31)
|
|
adds 6, r0, r17
|
|
mov r0, r16
|
|
mov r0, r18
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r28
|
|
calli r28
|
|
nop
|
|
st.l r16, 48(fp)
|
|
// lineno: 369
|
|
.B1363: //.M0023
|
|
ld.l 48(fp), r28
|
|
.DB.B13631363:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x002b, r29, r0
|
|
bc .B829
|
|
xor 0x002c, r29, r0
|
|
bnc .B1364
|
|
// lineno: 370
|
|
.B829: //.B0048
|
|
ld.l 48(fp), r28
|
|
.DB.B829829:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x002b, r29, r0
|
|
bnc .B831
|
|
call _create_material
|
|
nop
|
|
ld.l 48(fp), r28
|
|
adds 120, r0, r18
|
|
addu 8, r28, r17
|
|
st.l r17, -8(fp)
|
|
call _memcpy
|
|
st.l r16, -4(fp)
|
|
ld.l -4(fp), r16
|
|
|
|
st.l r0, 28(r16)
|
|
call _add_material
|
|
st.l r0, 48(r16)
|
|
adds 6, r0, r17
|
|
mov r0, r16
|
|
mov r0, r18
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r28
|
|
calli r28
|
|
nop
|
|
br .B837
|
|
st.l r16, 48(fp)
|
|
// lineno: 387
|
|
.B831: //.B0049
|
|
ld.l 48(fp), r28
|
|
.DB.B831831:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x002c, r29, r0
|
|
bnc .B838
|
|
adds 176, r0, r16
|
|
addu 4, r28, r30
|
|
call _malloc
|
|
st.l r30, -12(fp)
|
|
call __InitLOD
|
|
st.l r16, -16(fp)
|
|
ld.l -16(fp), r28
|
|
ld.l -12(fp), r29
|
|
st.l r0, 172(r28)
|
|
|
|
fld.l r0(r29), f16
|
|
|
|
|
|
fst.l f16, 160(r28)
|
|
|
|
fld.l 4(r29), f17
|
|
|
|
|
|
fst.l f17, 164(r28)
|
|
pfeq.ss f0, f17, f0
|
|
|
|
bnc .B845
|
|
orh ha%.C00846, r0, r31
|
|
fld.l l%.C00846(r31), f18
|
|
|
|
|
|
fst.l f18, 164(r28)
|
|
// lineno: 402
|
|
.B845: //.B0052
|
|
adds 6, r0, r17
|
|
.DB.B845845:
|
|
mov r0, r16
|
|
mov r0, r18
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r28
|
|
calli r28
|
|
nop
|
|
ld.l -16(fp), r28
|
|
st.l r16, 48(fp)
|
|
addu 172, r28, r29
|
|
st.l r29, -20(fp)
|
|
addu 12, r28, r30
|
|
st.l r30, -24(fp)
|
|
addu 8, r28, r22
|
|
st.l r22, -28(fp)
|
|
// lineno: 406
|
|
.B1361: //.M0022
|
|
ld.l 48(fp), r28
|
|
.DB.B13611361:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0022, r29, r0
|
|
bc .B852
|
|
xor 0x0027, r29, r0
|
|
bc .B852
|
|
xor 0x0032, r29, r0
|
|
bnc .B1362
|
|
// lineno: 407
|
|
.B852: //.B0055
|
|
ld.l 48(fp), r28
|
|
.DB.B852852:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0022, r29, r0
|
|
bnc .B854
|
|
call _malloc
|
|
adds 224, r0, r16
|
|
call __InitPatch
|
|
st.l r16, -32(fp)
|
|
call _nextSem
|
|
nop
|
|
ld.l -32(fp), r28
|
|
|
|
call _InitSem
|
|
st.l r16, 220(r28)
|
|
orh h%.BSS+92, r0, r31
|
|
or l%.BSS+92, r31, r16
|
|
ld.l 48(fp), r28
|
|
adds 80, r0, r18
|
|
addu 8, r28, r17
|
|
ld.l -32(fp), r29
|
|
|
|
call _memcpy
|
|
st.l r29, -36(fp)
|
|
ld.l -36(fp), r16
|
|
orh h%.BSS+92, r0, r31
|
|
call _set_surface
|
|
or l%.BSS+92, r31, r17
|
|
ld.l -36(fp), r28
|
|
st.l r0, -40(fp)
|
|
st.l r0, 144(r28)
|
|
orh ha%.BSS+100, r0, r31
|
|
ld.l l%.BSS+100(r31), r29
|
|
|
|
bte 0x0000, r29, .B859
|
|
adds 4, r0, r30
|
|
st.l r30, -40(fp)
|
|
// lineno: 426
|
|
.B859: //.B0057
|
|
orh ha%.BSS+92, r0, r31
|
|
.DB.B859859:
|
|
ld.l l%.BSS+92(r31), r28
|
|
|
|
bte 0x0000, r28, .B860
|
|
ld.l -40(fp), r29
|
|
|
|
or 0x0002, r29, r30
|
|
br .B861
|
|
st.l r30, -40(fp)
|
|
// lineno: 428
|
|
.B860: //.B0058
|
|
orh ha%.BSS+96, r0, r31
|
|
.DB.B860860:
|
|
ld.l l%.BSS+96(r31), r28
|
|
|
|
bte 0x0000, r28, .B862
|
|
ld.l -40(fp), r29
|
|
|
|
or 0x0001, r29, r30
|
|
br .B863
|
|
st.l r30, -40(fp)
|
|
// lineno: 431
|
|
.B862: //.B0060
|
|
// lineno: 0
|
|
.B863: //.B0061
|
|
// lineno: 433
|
|
.B861: //.B0059
|
|
adds 6, r0, r17
|
|
.DB.B861861:
|
|
mov r0, r16
|
|
mov r0, r18
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r28
|
|
calli r28
|
|
nop
|
|
ld.l r0(r16), r28
|
|
st.l r16, 48(fp)
|
|
xor 0x0023, r28, r0
|
|
bc .B865
|
|
orh h%.S00866, r0, r31
|
|
or l%.S00866, r31, r16
|
|
|
|
orh h%.B869, r0, r1
|
|
br _mexico_68
|
|
or l%.B869, r1, r1
|
|
// lineno: 438
|
|
.B865: //.B0062
|
|
ld.l 48(fp), r28
|
|
.DB.B865865:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0023, r29, r0
|
|
bnc .B872
|
|
ld.l -36(fp), r30
|
|
ld.l -44(fp), r5
|
|
addu 140, r30, r16
|
|
st.l r16, -64(fp)
|
|
addu 8, r30, r22
|
|
st.l r22, -68(fp)
|
|
addu 4, r30, r23
|
|
st.l r23, -72(fp)
|
|
mov r28, r12
|
|
ld.l -48(fp), r11
|
|
ld.l -52(fp), r14
|
|
orh h%.BSS+96, r0, r31
|
|
or l%.BSS+96, r31, r4
|
|
ld.l -56(fp), r6
|
|
ld.l -60(fp), r7
|
|
orh h%.BSS+100, r0, r31
|
|
or l%.BSS+100, r31, r8
|
|
orh h%.BSS+92, r0, r31
|
|
or l%.BSS+92, r31, r9
|
|
orh h%_gets_fn, r0, r31
|
|
or l%_gets_fn, r31, r13
|
|
// lineno: 440
|
|
.B1353: //.M0020
|
|
orh h%_points, r0, r31
|
|
.DB.B13531353:
|
|
or l%_points, r31, r28
|
|
ld.l 0(r28), r29
|
|
ld.l 8(r12), r14
|
|
ld.l 4(r12), r25
|
|
adds r29, r14, r30
|
|
st.l r30, 0(r28)
|
|
orh h%_triangles, r0, r31
|
|
or l%_triangles, r31, r16
|
|
ld.l 0(r16), r22
|
|
adds -2, r14, r23
|
|
adds r22, r23, r24
|
|
st.l r24, 0(r16)
|
|
st.l r25, -76(fp)
|
|
adds 32, r0, r16
|
|
ld.l 12(r12), r26
|
|
mov r0, r11
|
|
call _malloc
|
|
st.l r26, -80(fp)
|
|
call __InitVstrip
|
|
st.l r16, -84(fp)
|
|
orh ha%_shared_cntl, r0, r31
|
|
ld.l l%_shared_cntl(r31), r28
|
|
|
|
ld.l 136(r28), r29
|
|
|
|
subs r29, r14, r0
|
|
|
|
bnc .B881
|
|
st.l r14, 136(r28)
|
|
// lineno: 452
|
|
.B881: //.B0066
|
|
adds 56, r0, r28
|
|
.DB.B881881:
|
|
ixfr r28, f16
|
|
ixfr r14, f18
|
|
|
|
|
|
fmlow.dd f18, f16, f20
|
|
|
|
|
|
|
|
call _malloc
|
|
fxfr f20, r16
|
|
st.l r16, -88(fp)
|
|
btne 0x0000, r16, .B882
|
|
orh h%.S00883, r0, r31
|
|
or l%.S00883, r31, r16
|
|
|
|
mov r14, r17
|
|
orh ha%_points, r0, r31
|
|
ld.l l%_points(r31), r18
|
|
orh ha%_triangles, r0, r31
|
|
ld.l l%_triangles(r31), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
// lineno: 458
|
|
.B882: //.B0067
|
|
|
|
subs 0, r14, r0
|
|
ld.l -88(fp), r7
|
|
bnc .B886
|
|
ld.l -84(fp), r28
|
|
adds -1, r14, r18
|
|
addu 8, r28, r20
|
|
mov r15, r17
|
|
mov r7, r19
|
|
bla r17, r18,.B1333
|
|
pfmul.dd f0, f0, f0
|
|
// lineno: 461
|
|
.B1333: //.M0009
|
|
st.l r19, 0(r20)
|
|
.DB.B13331333:
|
|
mov r19, r28
|
|
addu 56, r19, r19
|
|
bla r17, r18, .B1333
|
|
st.l r19, 44(r28)
|
|
// lineno: 0
|
|
mov r19, r7
|
|
// lineno: 464
|
|
.B886: //.B0069
|
|
ld.l -84(fp), r28
|
|
.DB.B886886:
|
|
ld.l -88(fp), r7
|
|
ld.l 8(r28), r29
|
|
ld.l -40(fp), r30
|
|
st.l r0, 44(r29)
|
|
st.l r7, 4(r28)
|
|
st.l r14, 28(r28)
|
|
st.l r30, 24(r28)
|
|
|
|
ld.l -76(fp), r16
|
|
|
|
st.l r16, 16(r28)
|
|
mov r0, r16
|
|
ld.l r0(r4), r22
|
|
mov r0, r17
|
|
st.l r22, 12(r28)
|
|
mov r0, r18
|
|
ld.l r0(r13), r23
|
|
calli r23
|
|
nop
|
|
mov r16, r12
|
|
ld.l r0(r16), r28
|
|
|
|
xor 0x0024, r28, r0
|
|
bnc .B889
|
|
mov r16, r12
|
|
// lineno: 485
|
|
.B1344: //.M0017
|
|
ld.l 4(r12), r28
|
|
.DB.B13441344:
|
|
addu 8, r12, r6
|
|
adds r11, r28, r11
|
|
addu 4, r12, r29
|
|
subs 0, r28, r0
|
|
mov r0, r5
|
|
bnc .B894
|
|
mov r0, r5
|
|
mov r29, r10
|
|
// lineno: 490
|
|
.B1334: //.M0010
|
|
btne 0x0000, r7, .B896
|
|
orh h%.S00897, r0, r31
|
|
call _mexico_68
|
|
or l%.S00897, r31, r16
|
|
// lineno: 493
|
|
.B896: //.B0074
|
|
fld.l r0(r6), f16
|
|
.DB.B896896:
|
|
mov r6, r28
|
|
|
|
fst.l f16, r0(r7)
|
|
|
|
fld.l 4(r28)++, f18
|
|
|
|
|
|
fst.l f18, 4(r7)
|
|
|
|
fld.l 4(r28)++, f19
|
|
fst.l f3, 12(r7)
|
|
fst.l f0, 32(r7)
|
|
fst.l f19, 8(r7)
|
|
fst.l f0, 36(r7)
|
|
fst.l f0, 40(r7)
|
|
addu 4, r28, r6
|
|
ld.l r0(r9), r29
|
|
mov r6, r30
|
|
bte 0x0000, r29, .B899
|
|
fld.l r0(r6), f20
|
|
|
|
|
|
fst.l f20, 32(r7)
|
|
|
|
fld.l 4(r30)++, f22
|
|
|
|
|
|
fst.l f22, 36(r7)
|
|
|
|
fld.l 4(r30)++, f23
|
|
addu 4, r30, r6
|
|
|
|
br .B901
|
|
fst.l f23, 40(r7)
|
|
// lineno: 507
|
|
.B899: //.B0075
|
|
ld.l r0(r4), r28
|
|
.DB.B899899:
|
|
|
|
bte 0x0000, r28, .B902
|
|
fld.l r0(r6), f16
|
|
mov r6, r29
|
|
|
|
fst.l f16, 32(r7)
|
|
|
|
fld.l 4(r29)++, f18
|
|
|
|
|
|
fst.l f18, 36(r7)
|
|
|
|
fld.l 4(r29)++, f19
|
|
addu 4, r29, r6
|
|
|
|
fst.l f19, 40(r7)
|
|
// lineno: 0
|
|
.B902: //.B0077
|
|
// lineno: 512
|
|
.B901: //.B0076
|
|
ld.l r0(r8), r28
|
|
.DB.B901901:
|
|
|
|
and 0x0001, r28, r0
|
|
bc .B904
|
|
fld.l r0(r6), f16
|
|
mov r6, r29
|
|
|
|
fmul.ss f16, f2, f17
|
|
|
|
|
|
fst.l f17, 48(r7)
|
|
|
|
fld.l 4(r29)++, f19
|
|
addu 4, r29, r6
|
|
|
|
fmul.ss f19, f2, f20
|
|
|
|
|
|
fst.l f20, 52(r7)
|
|
// lineno: 516
|
|
.B904: //.B0078
|
|
ld.l 44(r7), r7
|
|
.DB.B904904:
|
|
adds 1, r5, r5
|
|
ld.l r0(r10), r28
|
|
|
|
subs r5, r28, r0
|
|
|
|
bc .B1334
|
|
// lineno: 0
|
|
// lineno: 517
|
|
.B894: //.B0073
|
|
call _dN_reply
|
|
nop
|
|
mov r0, r16
|
|
mov r0, r17
|
|
mov r0, r18
|
|
ld.l r0(r13), r28
|
|
calli r28
|
|
nop
|
|
mov r16, r12
|
|
ld.l r0(r16), r28
|
|
|
|
xor 0x0024, r28, r0
|
|
bc.t .DB.B13441344
|
|
ld.l 4(r12), r28
|
|
// lineno: 0
|
|
// lineno: 521
|
|
.B889: //.B0071
|
|
ld.l -72(fp), r28
|
|
.DB.B889889:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
btne 0x0000, r29, .B909
|
|
ld.l -84(fp), r30
|
|
ld.l -68(fp), r16
|
|
st.l r30, 0(r28)
|
|
br .B911
|
|
st.l r30, 0(r16)
|
|
// lineno: 523
|
|
.B909: //.B0080
|
|
ld.l -68(fp), r28
|
|
.DB.B909909:
|
|
ld.l -84(fp), r30
|
|
ld.l r0(r28), r29
|
|
|
|
st.l r30, 0(r29)
|
|
st.l r30, 0(r28)
|
|
// lineno: 523
|
|
.B911: //.B0081
|
|
ld.l -64(fp), r28
|
|
.DB.B911911:
|
|
ld.l -84(fp), r16
|
|
ld.l r0(r28), r29
|
|
ld.l 28(r16), r30
|
|
|
|
adds r29, r30, r22
|
|
call _fix_vstrip_texture_coords
|
|
st.l r22, 0(r28)
|
|
ld.l r0(r12), r28
|
|
|
|
xor 0x0023, r28, r0
|
|
bc.t .DB.B13531353
|
|
orh h%_points, r0, r31
|
|
// lineno: 0
|
|
st.l r5, -44(fp)
|
|
st.l r11, -48(fp)
|
|
st.l r14, -52(fp)
|
|
st.l r6, -56(fp)
|
|
st.l r7, -60(fp)
|
|
st.l r12, 48(fp)
|
|
// lineno: 526
|
|
.B872: //.B0065
|
|
// lineno: 530
|
|
.B869: //.B0063
|
|
ld.l -36(fp), r16
|
|
.DB.B869869:
|
|
|
|
|
|
call _bound_patch
|
|
nop
|
|
ld.l -36(fp), r16
|
|
|
|
|
|
call _compute_plane_eqns
|
|
mov r0, r17
|
|
ld.l -36(fp), r28
|
|
|
|
ld.l 4(r28), r29
|
|
|
|
st.l r29, -84(fp)
|
|
bte 0x0000, r29, .B914
|
|
mov r29, r4
|
|
// lineno: 535
|
|
.B1329: //.M0008
|
|
call _compute_gnorms
|
|
mov r4, r16
|
|
ld.l r0(r4), r4
|
|
|
|
xor 0x0000, r4, r0
|
|
bnc .B1329
|
|
// lineno: 0
|
|
st.l r4, -84(fp)
|
|
// lineno: 536
|
|
.B914: //.B0083
|
|
br .B916
|
|
nop
|
|
// lineno: 539
|
|
.B854: //.B0056
|
|
ld.l 48(fp), r28
|
|
.DB.B854854:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0027, r29, r0
|
|
bnc .B917
|
|
adds 224, r0, r16
|
|
adds 1, r0, r30
|
|
call _malloc
|
|
st.l r30, -92(fp)
|
|
call __InitPatch
|
|
st.l r16, -32(fp)
|
|
call _nextSem
|
|
nop
|
|
ld.l -32(fp), r28
|
|
|
|
call _InitSem
|
|
st.l r16, 220(r28)
|
|
orh h%.BSS+92, r0, r31
|
|
or l%.BSS+92, r31, r16
|
|
ld.l 48(fp), r28
|
|
adds 80, r0, r18
|
|
addu 8, r28, r17
|
|
ld.l -32(fp), r29
|
|
|
|
call _memcpy
|
|
st.l r29, -36(fp)
|
|
ld.l -36(fp), r16
|
|
orh h%.BSS+92, r0, r31
|
|
call _set_surface
|
|
or l%.BSS+92, r31, r17
|
|
ld.l -36(fp), r28
|
|
adds 1, r0, r29
|
|
st.l r29, 144(r28)
|
|
orh ha%.BSS+100, r0, r31
|
|
ld.l l%.BSS+100(r31), r30
|
|
st.l r0, -40(fp)
|
|
and 0x0001, r30, r0
|
|
bc .B929
|
|
adds 4, r0, r16
|
|
st.l r16, -40(fp)
|
|
// lineno: 564
|
|
.B929: //.B0086
|
|
orh ha%.BSS+92, r0, r31
|
|
.DB.B929929:
|
|
ld.l l%.BSS+92(r31), r28
|
|
|
|
bte 0x0000, r28, .B930
|
|
ld.l -40(fp), r29
|
|
|
|
or 0x0002, r29, r30
|
|
br .B931
|
|
st.l r30, -40(fp)
|
|
// lineno: 566
|
|
.B930: //.B0087
|
|
orh ha%.BSS+96, r0, r31
|
|
.DB.B930930:
|
|
ld.l l%.BSS+96(r31), r28
|
|
|
|
bte 0x0000, r28, .B932
|
|
ld.l -40(fp), r29
|
|
|
|
or 0x0001, r29, r30
|
|
br .B933
|
|
st.l r30, -40(fp)
|
|
// lineno: 569
|
|
.B932: //.B0089
|
|
// lineno: 0
|
|
.B933: //.B0090
|
|
// lineno: 573
|
|
.B931: //.B0088
|
|
adds 6, r0, r17
|
|
.DB.B931931:
|
|
mov r0, r16
|
|
mov r0, r18
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r28
|
|
calli r28
|
|
nop
|
|
ld.l r0(r16), r28
|
|
st.l r16, 48(fp)
|
|
xor 0x0023, r28, r0
|
|
bc .B934
|
|
orh h%.S00935, r0, r31
|
|
or l%.S00935, r31, r16
|
|
|
|
orh h%.B938, r0, r1
|
|
br _mexico_68
|
|
or l%.B938, r1, r1
|
|
// lineno: 578
|
|
.B934: //.B0091
|
|
ld.l 48(fp), r28
|
|
.DB.B934934:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0023, r29, r0
|
|
bnc .B941
|
|
ld.l -36(fp), r30
|
|
ld.l -96(fp), r4
|
|
addu 140, r30, r16
|
|
st.l r16, -64(fp)
|
|
addu 8, r30, r22
|
|
st.l r22, -68(fp)
|
|
addu 4, r30, r23
|
|
st.l r23, -72(fp)
|
|
mov r28, r13
|
|
ld.l -92(fp), r5
|
|
ld.l -100(fp), r12
|
|
ld.l -104(fp), r6
|
|
ld.l -108(fp), r7
|
|
orh h%.BSS+100, r0, r31
|
|
or l%.BSS+100, r31, r8
|
|
orh h%.BSS+92, r0, r31
|
|
or l%.BSS+92, r31, r9
|
|
orh h%.BSS+96, r0, r31
|
|
or l%.BSS+96, r31, r11
|
|
orh h%_gets_fn, r0, r31
|
|
or l%_gets_fn, r31, r14
|
|
// lineno: 580
|
|
.B1354: //.M0021
|
|
orh h%_points, r0, r31
|
|
.DB.B13541354:
|
|
or l%_points, r31, r28
|
|
ld.l 0(r28), r29
|
|
ld.l 8(r13), r30
|
|
ld.l 4(r13), r26
|
|
adds r30, r29, r16
|
|
st.l r16, 0(r28)
|
|
adds -2, r30, r22
|
|
orh h%_triangles, r0, r31
|
|
or l%_triangles, r31, r23
|
|
ld.l 0(r23), r24
|
|
st.l r26, -112(fp)
|
|
adds r22, r24, r25
|
|
st.l r25, 0(r23)
|
|
st.l r30, -116(fp)
|
|
adds 32, r0, r16
|
|
ld.l 12(r13), r27
|
|
mov r0, r12
|
|
call _malloc
|
|
st.l r27, -120(fp)
|
|
call __InitVstrip
|
|
st.l r16, -84(fp)
|
|
fld.l -116(fp), f16
|
|
adds 56, r0, r28
|
|
ixfr r28, f18
|
|
|
|
|
|
fmlow.dd f18, f16, f20
|
|
|
|
|
|
|
|
call _malloc
|
|
fxfr f20, r16
|
|
st.l r16, -88(fp)
|
|
btne 0x0000, r16, .B949
|
|
orh h%.S00950, r0, r31
|
|
or l%.S00950, r31, r16
|
|
ld.l -116(fp), r17
|
|
orh ha%_points, r0, r31
|
|
ld.l l%_points(r31), r18
|
|
orh ha%_triangles, r0, r31
|
|
ld.l l%_triangles(r31), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
// lineno: 596
|
|
.B949: //.B0095
|
|
ld.l -88(fp), r7
|
|
.DB.B949949:
|
|
ld.l -116(fp), r28
|
|
|
|
subs 0, r28, r0
|
|
|
|
bnc .B953
|
|
ld.l -84(fp), r29
|
|
adds -1, r28, r17
|
|
addu 8, r29, r19
|
|
mov r7, r18
|
|
bla r15, r17,.B1339
|
|
pfmul.dd f0, f0, f0
|
|
// lineno: 599
|
|
.B1339: //.M0012
|
|
st.l r18, 0(r19)
|
|
.DB.B13391339:
|
|
mov r18, r28
|
|
addu 56, r18, r18
|
|
bla r15, r17, .B1339
|
|
st.l r18, 44(r28)
|
|
// lineno: 0
|
|
mov r18, r7
|
|
// lineno: 602
|
|
.B953: //.B0097
|
|
ld.l -84(fp), r28
|
|
.DB.B953953:
|
|
ld.l -88(fp), r7
|
|
ld.l 8(r28), r29
|
|
ld.l -116(fp), r30
|
|
st.l r0, 44(r29)
|
|
st.l r7, 4(r28)
|
|
st.l r30, 28(r28)
|
|
|
|
ld.l -40(fp), r16
|
|
ld.l -112(fp), r22
|
|
st.l r16, 24(r28)
|
|
st.l r22, 16(r28)
|
|
mov r0, r16
|
|
ld.l r0(r11), r23
|
|
mov r0, r17
|
|
st.l r23, 12(r28)
|
|
mov r0, r18
|
|
ld.l r0(r14), r24
|
|
calli r24
|
|
nop
|
|
mov r16, r13
|
|
ld.l r0(r16), r28
|
|
|
|
xor 0x0024, r28, r0
|
|
bnc .B956
|
|
mov r16, r13
|
|
// lineno: 623
|
|
.B1345: //.M0018
|
|
ld.l 4(r13), r28
|
|
.DB.B13451345:
|
|
addu 8, r13, r6
|
|
adds r12, r28, r12
|
|
addu 4, r13, r29
|
|
subs 0, r28, r0
|
|
mov r0, r4
|
|
bnc .B960
|
|
mov r0, r4
|
|
mov r29, r10
|
|
// lineno: 628
|
|
.B1340: //.M0013
|
|
btne 0x0000, r7, .B962
|
|
orh h%.S00963, r0, r31
|
|
call _mexico_68
|
|
or l%.S00963, r31, r16
|
|
// lineno: 631
|
|
.B962: //.B0102
|
|
fld.l r0(r6), f16
|
|
.DB.B962962:
|
|
mov r6, r28
|
|
|
|
fst.l f16, r0(r7)
|
|
|
|
fld.l 4(r28)++, f18
|
|
|
|
|
|
fst.l f18, 4(r7)
|
|
|
|
fld.l 4(r28)++, f19
|
|
addu 4, r28, r6
|
|
fst.l f0, 12(r7)
|
|
fst.l f19, 8(r7)
|
|
fst.l f0, 32(r7)
|
|
fst.l f0, 36(r7)
|
|
fst.l f0, 40(r7)
|
|
bte 0x0000, r5, .B965
|
|
ld.l r0(r9), r29
|
|
mov r6, r30
|
|
bte 0x0000, r29, .B967
|
|
fld.l r0(r6), f20
|
|
|
|
|
|
fst.l f20, 32(r7)
|
|
|
|
fld.l 4(r30)++, f22
|
|
|
|
|
|
fst.l f22, 36(r7)
|
|
|
|
fld.l 4(r30)++, f23
|
|
addu 4, r30, r6
|
|
|
|
br .B969
|
|
fst.l f23, 40(r7)
|
|
// lineno: 646
|
|
.B967: //.B0104
|
|
ld.l r0(r11), r28
|
|
.DB.B967967:
|
|
|
|
bte 0x0000, r28, .B970
|
|
fld.l r0(r6), f16
|
|
mov r6, r29
|
|
|
|
fst.l f16, 32(r7)
|
|
|
|
fld.l 4(r29)++, f18
|
|
|
|
|
|
fst.l f18, 36(r7)
|
|
|
|
fld.l 4(r29)++, f19
|
|
addu 4, r29, r6
|
|
|
|
fst.l f19, 40(r7)
|
|
// lineno: 0
|
|
.B970: //.B0106
|
|
// lineno: 651
|
|
.B969: //.B0105
|
|
ld.l r0(r8), r28
|
|
.DB.B969969:
|
|
|
|
and 0x0001, r28, r0
|
|
bc .B972
|
|
fld.l r0(r6), f16
|
|
mov r6, r29
|
|
|
|
fmul.ss f16, f2, f17
|
|
|
|
|
|
fst.l f17, 48(r7)
|
|
|
|
fld.l 4(r29)++, f19
|
|
addu 4, r29, r6
|
|
|
|
fmul.ss f19, f2, f20
|
|
|
|
|
|
fst.l f20, 52(r7)
|
|
// lineno: 0
|
|
.B972: //.B0107
|
|
// lineno: 656
|
|
.B965: //.B0103
|
|
ld.l 44(r7), r7
|
|
.DB.B965965:
|
|
adds 1, r4, r4
|
|
ld.l r0(r10), r28
|
|
|
|
subs r4, r28, r0
|
|
|
|
bc .B1340
|
|
// lineno: 0
|
|
// lineno: 657
|
|
.B960: //.B0101
|
|
call _dN_reply
|
|
nop
|
|
mov r0, r16
|
|
mov r0, r17
|
|
mov r0, r18
|
|
ld.l r0(r14), r28
|
|
calli r28
|
|
nop
|
|
mov r16, r13
|
|
ld.l r0(r16), r28
|
|
|
|
xor 0x0024, r28, r0
|
|
bc.t .DB.B13451345
|
|
ld.l 4(r13), r28
|
|
// lineno: 0
|
|
// lineno: 661
|
|
.B956: //.B0099
|
|
ld.l -72(fp), r28
|
|
.DB.B956956:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
btne 0x0000, r29, .B976
|
|
ld.l -84(fp), r30
|
|
ld.l -68(fp), r16
|
|
st.l r30, 0(r28)
|
|
br .B978
|
|
st.l r30, 0(r16)
|
|
// lineno: 663
|
|
.B976: //.B0109
|
|
ld.l -68(fp), r28
|
|
.DB.B976976:
|
|
ld.l -84(fp), r30
|
|
ld.l r0(r28), r29
|
|
|
|
st.l r30, 0(r29)
|
|
st.l r30, 0(r28)
|
|
// lineno: 663
|
|
.B978: //.B0110
|
|
ld.l -64(fp), r28
|
|
.DB.B978978:
|
|
ld.l -84(fp), r30
|
|
ld.l r0(r28), r29
|
|
ld.l 28(r30), r16
|
|
mov r0, r5
|
|
adds r29, r16, r22
|
|
st.l r22, 0(r28)
|
|
|
|
ld.l r0(r13), r23
|
|
|
|
xor 0x0023, r23, r0
|
|
bc.t .DB.B13541354
|
|
orh h%_points, r0, r31
|
|
// lineno: 0
|
|
st.l r4, -96(fp)
|
|
st.l r5, -92(fp)
|
|
st.l r12, -100(fp)
|
|
st.l r6, -104(fp)
|
|
st.l r7, -108(fp)
|
|
st.l r13, 48(fp)
|
|
// lineno: 666
|
|
.B941: //.B0094
|
|
// lineno: 673
|
|
.B938: //.B0092
|
|
ld.l -36(fp), r28
|
|
.DB.B938938:
|
|
|
|
call _fix_vstrip_texture_coords
|
|
ld.l 4(r28), r16
|
|
ld.l -36(fp), r28
|
|
|
|
ld.l 4(r28), r29
|
|
|
|
ld.l r0(r29), r30
|
|
ld.l 28(r29), r16
|
|
st.l r30, -128(fp)
|
|
st.l r16, -132(fp)
|
|
st.l r29, -124(fp)
|
|
orh ha%_shared_cntl, r0, r31
|
|
ld.l l%_shared_cntl(r31), r22
|
|
|
|
ld.l 140(r22), r23
|
|
|
|
subs r23, r16, r0
|
|
|
|
bnc .B980
|
|
st.l r16, 140(r22)
|
|
// lineno: 683
|
|
.B980: //.B0111
|
|
ld.l -128(fp), r28
|
|
.DB.B980980:
|
|
|
|
ld.l 28(r28), r29
|
|
|
|
st.l r29, -136(fp)
|
|
orh ha%_shared_cntl, r0, r31
|
|
ld.l l%_shared_cntl(r31), r30
|
|
|
|
ld.l 144(r30), r16
|
|
|
|
subs r16, r29, r0
|
|
|
|
bnc .B981
|
|
st.l r29, 144(r30)
|
|
// lineno: 688
|
|
.B981: //.B0112
|
|
ld.l -128(fp), r28
|
|
.DB.B981981:
|
|
ld.l -36(fp), r29
|
|
st.l r0, 0(r28)
|
|
|
|
ld.l -124(fp), r30
|
|
st.l r28, 8(r29)
|
|
st.l r30, 4(r29)
|
|
|
|
ld.l 4(r30), r16
|
|
ld.l 4(r28), r22
|
|
st.l r16, -140(fp)
|
|
st.l r22, -108(fp)
|
|
|
|
ld.l 28(r28), r23
|
|
|
|
st.l r23, -144(fp)
|
|
bte 0x0000, r23, .B983
|
|
ld.l -148(fp), r11
|
|
ld.l -152(fp), r12
|
|
ld.l -156(fp), r13
|
|
ld.l -132(fp), r14
|
|
ld.l -160(fp), r17
|
|
ld.l -164(fp), r18
|
|
ld.l -168(fp), r4
|
|
ld.l -172(fp), r5
|
|
ld.l -176(fp), r6
|
|
mov r23, r21
|
|
mov r16, r19
|
|
mov r22, r20
|
|
// lineno: 697
|
|
.B1335: //.M0011
|
|
fld.l r0(r20), f16
|
|
.DB.B13351335:
|
|
fld.l 4(r20), f17
|
|
fld.l 8(r20), f22
|
|
ftrunc.sd f16, f18
|
|
mov r20, r17
|
|
mov r20, r18
|
|
fxfr f18, r13
|
|
|
|
ftrunc.sd f17, f20
|
|
|
|
|
|
fxfr f20, r12
|
|
|
|
ftrunc.sd f22, f24
|
|
|
|
|
|
|
|
adds 0, r13, r0
|
|
fxfr f24, r11
|
|
bc .B1338
|
|
subs r13, r14, r0
|
|
|
|
bc .B993
|
|
// lineno: 0
|
|
.B1338: //.N0003
|
|
st.l r21, -144(fp)
|
|
.DB.B13381338:
|
|
st.l r11, -148(fp)
|
|
st.l r12, -152(fp)
|
|
st.l r13, -156(fp)
|
|
st.l r17, -160(fp)
|
|
st.l r18, -164(fp)
|
|
st.l r20, -108(fp)
|
|
st.l r4, -168(fp)
|
|
st.l r5, -172(fp)
|
|
st.l r6, -176(fp)
|
|
// lineno: 710
|
|
.B994: //.B0116
|
|
orh h%.S00995, r0, r31
|
|
.DB.B994994:
|
|
or l%.S00995, r31, r16
|
|
ld.l -144(fp), r17
|
|
ld.l -156(fp), r18
|
|
ld.l -132(fp), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
br .B1304
|
|
mov r0, r16
|
|
// lineno: 713
|
|
.B993: //.B0115
|
|
adds 0, r12, r0
|
|
.DB.B993993:
|
|
|
|
bc .B1337
|
|
subs r12, r14, r0
|
|
|
|
bc .B998
|
|
// lineno: 0
|
|
.B1337: //.N0002
|
|
st.l r21, -144(fp)
|
|
.DB.B13371337:
|
|
st.l r11, -148(fp)
|
|
st.l r12, -152(fp)
|
|
st.l r13, -156(fp)
|
|
st.l r17, -160(fp)
|
|
st.l r18, -164(fp)
|
|
st.l r20, -108(fp)
|
|
st.l r4, -168(fp)
|
|
st.l r5, -172(fp)
|
|
st.l r6, -176(fp)
|
|
// lineno: 715
|
|
.B999: //.B0118
|
|
orh h%.S01000, r0, r31
|
|
.DB.B999999:
|
|
or l%.S01000, r31, r16
|
|
ld.l -144(fp), r17
|
|
ld.l -152(fp), r18
|
|
ld.l -132(fp), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
br .B1304
|
|
mov r0, r16
|
|
// lineno: 718
|
|
.B998: //.B0117
|
|
adds 0, r11, r0
|
|
.DB.B998998:
|
|
|
|
bc .B1336
|
|
subs r11, r14, r0
|
|
|
|
bc .B1003
|
|
// lineno: 0
|
|
.B1336: //.N0001
|
|
st.l r21, -144(fp)
|
|
.DB.B13361336:
|
|
st.l r11, -148(fp)
|
|
st.l r12, -152(fp)
|
|
st.l r13, -156(fp)
|
|
st.l r17, -160(fp)
|
|
st.l r18, -164(fp)
|
|
st.l r20, -108(fp)
|
|
st.l r4, -168(fp)
|
|
st.l r5, -172(fp)
|
|
st.l r6, -176(fp)
|
|
// lineno: 720
|
|
.B1004: //.B0120
|
|
orh h%.S01005, r0, r31
|
|
.DB.B10041004:
|
|
or l%.S01005, r31, r16
|
|
ld.l -144(fp), r17
|
|
ld.l -148(fp), r18
|
|
ld.l -132(fp), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
br .B1304
|
|
mov r0, r16
|
|
// lineno: 724
|
|
.B1003: //.B0119
|
|
ixfr r13, f16
|
|
.DB.B10031003:
|
|
adds 56, r0, r28
|
|
ixfr r28, f18
|
|
ixfr r12, f22
|
|
ixfr r11, f26
|
|
fmlow.dd f18, f16, f20
|
|
adds -1, r21, r21
|
|
|
|
|
|
fxfr f20, r29
|
|
|
|
adds r29, r19, r6
|
|
mov r6, r30
|
|
st.l r30, 0(r18)
|
|
fmlow.dd f18, f22, f24
|
|
|
|
|
|
|
|
fxfr f24, r16
|
|
|
|
adds r16, r19, r5
|
|
mov r5, r22
|
|
st.l r22, 4(r18)
|
|
fmlow.dd f18, f26, f28
|
|
|
|
|
|
|
|
fxfr f28, r23
|
|
|
|
adds r23, r19, r4
|
|
mov r4, r24
|
|
st.l r24, 8(r18)
|
|
|
|
ld.l 44(r20), r20
|
|
xor 0x0000, r21, r0
|
|
bnc.t .DB.B13351335
|
|
fld.l r0(r20), f16
|
|
// lineno: 0
|
|
st.l r21, -144(fp)
|
|
st.l r11, -148(fp)
|
|
st.l r12, -152(fp)
|
|
st.l r13, -156(fp)
|
|
st.l r17, -160(fp)
|
|
st.l r18, -164(fp)
|
|
st.l r20, -108(fp)
|
|
st.l r4, -168(fp)
|
|
st.l r5, -172(fp)
|
|
st.l r6, -176(fp)
|
|
// lineno: 731
|
|
.B983: //.B0114
|
|
ld.l -36(fp), r16
|
|
.DB.B983983:
|
|
ld.l -124(fp), r28
|
|
|
|
call _bound_patch
|
|
st.l r0, 0(r28)
|
|
ld.l -36(fp), r16
|
|
ld.l -124(fp), r28
|
|
ld.l -128(fp), r29
|
|
mov r0, r17
|
|
st.l r29, 0(r28)
|
|
orh h%.B1008, r0, r1
|
|
br _compute_pmesh_plane_eqns
|
|
or l%.B1008, r1, r1
|
|
// lineno: 749
|
|
.B917: //.B0085
|
|
adds 224, r0, r16
|
|
.DB.B917917:
|
|
|
|
call _malloc
|
|
nop
|
|
call __InitPatch
|
|
st.l r16, -32(fp)
|
|
call _nextSem
|
|
nop
|
|
ld.l -32(fp), r28
|
|
|
|
call _InitSem
|
|
st.l r16, 220(r28)
|
|
orh h%.BSS+92, r0, r31
|
|
or l%.BSS+92, r31, r16
|
|
ld.l 48(fp), r28
|
|
adds 80, r0, r18
|
|
addu 8, r28, r17
|
|
ld.l -32(fp), r29
|
|
|
|
call _memcpy
|
|
st.l r29, -36(fp)
|
|
ld.l -36(fp), r16
|
|
orh h%.BSS+92, r0, r31
|
|
call _set_surface
|
|
or l%.BSS+92, r31, r17
|
|
ld.l -36(fp), r28
|
|
adds 2, r0, r29
|
|
st.l r29, 144(r28)
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r30
|
|
adds 6, r0, r17
|
|
mov r0, r16
|
|
mov r0, r18
|
|
calli r30
|
|
nop
|
|
ld.l r0(r16), r28
|
|
st.l r16, 48(fp)
|
|
xor 0x0023, r28, r0
|
|
bc .B1020
|
|
orh h%.S01021, r0, r31
|
|
or l%.S01021, r31, r16
|
|
|
|
orh h%.B1024, r0, r1
|
|
br _mexico_68
|
|
or l%.B1024, r1, r1
|
|
// lineno: 777
|
|
.B1020: //.B0122
|
|
ld.l 48(fp), r28
|
|
.DB.B10201020:
|
|
|
|
ld.l 8(r28), r29
|
|
ld.l 4(r28), r27
|
|
adds -2, r29, r30
|
|
orh h%_triangles, r0, r31
|
|
or l%_triangles, r31, r16
|
|
ld.l 0(r16), r22
|
|
st.l r27, -180(fp)
|
|
adds r30, r22, r23
|
|
st.l r23, 0(r16)
|
|
orh h%_points, r0, r31
|
|
or l%_points, r31, r24
|
|
ld.l 0(r24), r25
|
|
st.l r29, -184(fp)
|
|
adds r29, r25, r26
|
|
st.l r26, 0(r24)
|
|
adds 32, r0, r16
|
|
ld.l 12(r28), r27
|
|
st.l r0, -192(fp)
|
|
call _malloc
|
|
st.l r27, -188(fp)
|
|
call __InitVstrip
|
|
st.l r16, -84(fp)
|
|
fld.l -184(fp), f16
|
|
adds 56, r0, r28
|
|
ixfr r28, f18
|
|
|
|
|
|
fmlow.dd f18, f16, f20
|
|
|
|
|
|
|
|
call _malloc
|
|
fxfr f20, r16
|
|
st.l r16, -88(fp)
|
|
btne 0x0000, r16, .B1032
|
|
orh h%.S01033, r0, r31
|
|
or l%.S01033, r31, r16
|
|
ld.l -184(fp), r17
|
|
orh ha%_points, r0, r31
|
|
ld.l l%_points(r31), r18
|
|
orh ha%_triangles, r0, r31
|
|
ld.l l%_triangles(r31), r19
|
|
|
|
|
|
call _mexico_68
|
|
mov r0, r20
|
|
// lineno: 793
|
|
.B1032: //.B0124
|
|
ld.l -88(fp), r28
|
|
.DB.B10321032:
|
|
ld.l -184(fp), r29
|
|
|
|
subs 0, r29, r0
|
|
st.l r28, -196(fp)
|
|
bnc .B1036
|
|
ld.l -84(fp), r30
|
|
adds -1, r29, r17
|
|
addu 8, r30, r19
|
|
mov r28, r18
|
|
bla r15, r17,.B1341
|
|
pfmul.dd f0, f0, f0
|
|
// lineno: 796
|
|
.B1341: //.M0014
|
|
st.l r18, 0(r19)
|
|
.DB.B13411341:
|
|
mov r18, r28
|
|
addu 56, r18, r18
|
|
bla r15, r17, .B1341
|
|
st.l r18, 44(r28)
|
|
// lineno: 0
|
|
st.l r18, -196(fp)
|
|
// lineno: 799
|
|
.B1036: //.B0126
|
|
ld.l -84(fp), r28
|
|
.DB.B10361036:
|
|
ld.l -88(fp), r30
|
|
ld.l 8(r28), r29
|
|
ld.l -184(fp), r16
|
|
st.l r0, 44(r29)
|
|
st.l r30, 4(r28)
|
|
st.l r16, 28(r28)
|
|
adds 1, r0, r22
|
|
st.l r22, 24(r28)
|
|
mov r0, r16
|
|
ld.l -180(fp), r23
|
|
mov r0, r17
|
|
st.l r23, 16(r28)
|
|
orh ha%.BSS+96, r0, r31
|
|
ld.l l%.BSS+96(r31), r24
|
|
mov r0, r18
|
|
st.l r24, 12(r28)
|
|
orh ha%_gets_fn, r0, r31
|
|
ld.l l%_gets_fn(r31), r25
|
|
st.l r30, -196(fp)
|
|
calli r25
|
|
nop
|
|
ld.l r0(r16), r28
|
|
st.l r16, 48(fp)
|
|
xor 0x0024, r28, r0
|
|
bnc .B1039
|
|
ld.l -200(fp), r4
|
|
ld.l -192(fp), r7
|
|
ld.l -204(fp), r5
|
|
ld.l -196(fp), r6
|
|
orh h%_gets_fn, r0, r31
|
|
or l%_gets_fn, r31, r9
|
|
mov r16, r8
|
|
// lineno: 820
|
|
.B1346: //.M0019
|
|
ld.l 4(r8), r28
|
|
.DB.B13461346:
|
|
addu 8, r8, r5
|
|
adds r7, r28, r7
|
|
addu 4, r8, r29
|
|
subs 0, r28, r0
|
|
mov r0, r4
|
|
bnc .B1043
|
|
mov r0, r4
|
|
mov r29, r10
|
|
// lineno: 825
|
|
.B1342: //.M0015
|
|
btne 0x0000, r6, .B1045
|
|
orh h%.S01046, r0, r31
|
|
call _mexico_68
|
|
or l%.S01046, r31, r16
|
|
// lineno: 828
|
|
.B1045: //.B0131
|
|
fld.l r0(r5), f16
|
|
.DB.B10451045:
|
|
mov r5, r28
|
|
adds 1, r4, r4
|
|
fst.l f16, r0(r6)
|
|
|
|
fld.l 4(r28)++, f18
|
|
|
|
|
|
fst.l f18, 4(r6)
|
|
|
|
fld.l 4(r28)++, f19
|
|
|
|
|
|
fst.l f19, 8(r6)
|
|
|
|
fld.l 4(r28)++, f20
|
|
addu 4, r28, r5
|
|
|
|
fst.l f20, 12(r6)
|
|
|
|
ld.l 44(r6), r6
|
|
ld.l r0(r10), r29
|
|
|
|
subs r4, r29, r0
|
|
|
|
bc .B1342
|
|
// lineno: 0
|
|
// lineno: 834
|
|
.B1043: //.B0130
|
|
call _dN_reply
|
|
nop
|
|
mov r0, r16
|
|
mov r0, r17
|
|
mov r0, r18
|
|
ld.l r0(r9), r28
|
|
calli r28
|
|
nop
|
|
mov r16, r8
|
|
ld.l r0(r16), r28
|
|
|
|
xor 0x0024, r28, r0
|
|
bc.t .DB.B13461346
|
|
ld.l 4(r8), r28
|
|
// lineno: 0
|
|
st.l r4, -200(fp)
|
|
st.l r7, -192(fp)
|
|
st.l r5, -204(fp)
|
|
st.l r6, -196(fp)
|
|
st.l r8, 48(fp)
|
|
// lineno: 838
|
|
.B1039: //.B0128
|
|
ld.l -36(fp), r28
|
|
.DB.B10391039:
|
|
|
|
ld.l 4(r28), r29
|
|
|
|
btne 0x0000, r29, .B1050
|
|
ld.l -84(fp), r30
|
|
|
|
st.l r30, 4(r28)
|
|
br .B1052
|
|
st.l r30, 8(r28)
|
|
// lineno: 840
|
|
.B1050: //.B0133
|
|
ld.l -36(fp), r28
|
|
.DB.B10501050:
|
|
ld.l -84(fp), r30
|
|
ld.l 8(r28), r29
|
|
|
|
st.l r30, 0(r29)
|
|
st.l r30, 8(r28)
|
|
// lineno: 840
|
|
.B1052: //.B0134
|
|
ld.l -36(fp), r28
|
|
.DB.B10521052:
|
|
ld.l -84(fp), r30
|
|
ld.l 140(r28), r29
|
|
ld.l 28(r30), r16
|
|
|
|
adds r29, r16, r22
|
|
st.l r22, 140(r28)
|
|
// lineno: 847
|
|
.B1024: //.B0123
|
|
ld.l -36(fp), r28
|
|
.DB.B10241024:
|
|
|
|
ld.l 4(r28), r29
|
|
|
|
ld.l 28(r29), r30
|
|
st.l r29, -208(fp)
|
|
st.l r30, -212(fp)
|
|
orh ha%_shared_cntl, r0, r31
|
|
ld.l l%_shared_cntl(r31), r16
|
|
|
|
ld.l 140(r16), r22
|
|
|
|
subs r22, r30, r0
|
|
|
|
bnc .B1054
|
|
st.l r30, 140(r16)
|
|
// lineno: 854
|
|
.B1054: //.B0135
|
|
ld.l -208(fp), r28
|
|
.DB.B10541054:
|
|
ld.l -36(fp), r16
|
|
st.l r0, 0(r28)
|
|
st.l r28, 4(r16)
|
|
call _bound_spatch
|
|
st.l r28, 8(r16)
|
|
// lineno: 0
|
|
.B1008: //.B0121
|
|
// lineno: 864
|
|
.B916: //.B0084
|
|
ld.l -20(fp), r28
|
|
.DB.B916916:
|
|
ld.l -36(fp), r30
|
|
ld.l r0(r28), r29
|
|
ld.l 140(r30), r16
|
|
ld.l -28(fp), r23
|
|
adds r29, r16, r22
|
|
st.l r22, 0(r28)
|
|
|
|
ld.l r0(r23), r24
|
|
|
|
btne 0x0000, r24, .B1057
|
|
ld.l -24(fp), r25
|
|
st.l r30, 0(r23)
|
|
br .B1059
|
|
st.l r30, 0(r25)
|
|
// lineno: 866
|
|
.B1057: //.B0137
|
|
ld.l -24(fp), r28
|
|
.DB.B10571057:
|
|
ld.l -36(fp), r30
|
|
ld.l r0(r28), r29
|
|
|
|
st.l r30, 0(r29)
|
|
st.l r30, 0(r28)
|
|
// lineno: 866
|
|
.B1059: //.B0138
|
|
ld.l -16(fp), r16
|
|
.DB.B10591059:
|
|
|
|
|
|
orh h%.B1361, r0, r1
|
|
br _reboundLOD
|
|
or l%.B1361, r1, r1
|
|
// lineno: 0
|
|
.B1362: //.N0004
|
|
orh ha%.BSS, r0, r31
|
|
.DB.B13621362:
|
|
ld.l l%.BSS(r31), r28
|
|
|
|
ld.l 4(r28), r29
|
|
|
|
btne 0x0000, r29, .B1064
|
|
ld.l -16(fp), r30
|
|
|
|
st.l r30, 4(r28)
|
|
br .B1066
|
|
st.l r30, 8(r28)
|
|
// lineno: 870
|
|
.B1064: //.B0140
|
|
orh ha%.BSS, r0, r31
|
|
.DB.B10641064:
|
|
ld.l l%.BSS(r31), r28
|
|
ld.l -16(fp), r30
|
|
ld.l 8(r28), r29
|
|
|
|
st.l r30, 0(r29)
|
|
st.l r30, 8(r28)
|
|
// lineno: 870
|
|
.B1066: //.B0141
|
|
// lineno: 0
|
|
.B838: //.B0051
|
|
// lineno: 872
|
|
.B837: //.B0050
|
|
br .DB.B13631363
|
|
ld.l 48(fp), r28
|
|
// lineno: 0
|
|
.B1364: //.N0005
|
|
ld.l 48(fp), r28
|
|
.DB.B13641364:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0025, r29, r0
|
|
bc .B1069
|
|
orh h%.S01070, r0, r31
|
|
or l%.S01070, r31, r16
|
|
|
|
mov r29, r17
|
|
orh h%.B1072, r0, r1
|
|
br _mexico_68
|
|
or l%.B1072, r1, r1
|
|
// lineno: 878
|
|
.B1069: //.B0142
|
|
orh ha%.BSS, r0, r31
|
|
.DB.B10691069:
|
|
call _reconnectLODs
|
|
ld.l l%.BSS(r31), r16
|
|
orh ha%.BSS, r0, r31
|
|
call _reboundObject
|
|
ld.l l%.BSS(r31), r16
|
|
orh h%_sceneGeometry, r0, r31
|
|
or l%_sceneGeometry, r31, r28
|
|
ld.l 0(r28), r29
|
|
|
|
btne 0x0000, r29, .B1077
|
|
orh ha%.BSS, r0, r31
|
|
ld.l l%.BSS(r31), r30
|
|
orh h%_sceneGeometry, r0, r31
|
|
or l%_sceneGeometry, r31, r16
|
|
st.l r30, 0(r16)
|
|
br .B1079
|
|
st.l r30, 4(r16)
|
|
// lineno: 883
|
|
.B1077: //.B0145
|
|
orh h%_sceneGeometry+4, r0, r31
|
|
.DB.B10771077:
|
|
or l%_sceneGeometry+4, r31, r28
|
|
ld.l 0(r28), r29
|
|
orh ha%.BSS, r0, r31
|
|
ld.l l%.BSS(r31), r30
|
|
|
|
st.l r30, 0(r29)
|
|
st.l r30, 0(r28)
|
|
// lineno: 883
|
|
.B1079: //.B0146
|
|
orh h%_errmess, r0, r31
|
|
.DB.B10791079:
|
|
or l%_errmess, r31, r16
|
|
orh h%.S01081, r0, r31
|
|
or l%.S01081, r31, r17
|
|
orh ha%_points, r0, r31
|
|
ld.l l%_points(r31), r18
|
|
orh ha%_triangles, r0, r31
|
|
ld.l l%_triangles(r31), r19
|
|
orh ha%_scene_resolved, r0, r31
|
|
call _sprintf
|
|
st.l r0, l%_scene_resolved(r31)
|
|
orh ha%.BSS, r0, r31
|
|
br .B1304
|
|
ld.l l%.BSS(r31), r16
|
|
// lineno: 895
|
|
.B1072: //.B0143
|
|
br .B1083
|
|
nop
|
|
// lineno: 0
|
|
.B815: //.B0045
|
|
ld.l 48(fp), r28
|
|
.DB.B815815:
|
|
|
|
ld.l r0(r28), r29
|
|
|
|
xor 0x0025, r29, r0
|
|
bc .B1086
|
|
orh h%_gets_fn, r0, r31
|
|
or l%_gets_fn, r31, r5
|
|
mov r28, r4
|
|
// lineno: 896
|
|
.B1343: //.M0016
|
|
mov r0, r16
|
|
.DB.B13431343:
|
|
mov r0, r17
|
|
mov r0, r18
|
|
ld.l r0(r5), r28
|
|
calli r28
|
|
nop
|
|
mov r16, r4
|
|
ld.l r0(r16), r28
|
|
|
|
xor 0x0025, r28, r0
|
|
bnc.t .DB.B13431343
|
|
mov r0, r16
|
|
// lineno: 0
|
|
st.l r4, 48(fp)
|
|
// lineno: 898
|
|
.B1086: //.B0149
|
|
br .B1304
|
|
mov r0, r16
|
|
// lineno: 900
|
|
.B1083: //.B0147
|
|
// lineno: 0
|
|
.B1304: //.R0003
|
|
// lineno: 0
|
|
|
|
|
|
|
|
|
|
fld.d -272(fp), f2
|
|
ld.l -264(fp), r4
|
|
ld.l -260(fp), r5
|
|
ld.l -256(fp), r6
|
|
ld.l -252(fp), r7
|
|
ld.l -248(fp), r8
|
|
ld.l -244(fp), r9
|
|
ld.l -240(fp), r10
|
|
ld.l -236(fp), r11
|
|
ld.l -232(fp), r12
|
|
ld.l -228(fp), r13
|
|
ld.l -224(fp), r14
|
|
ld.l -220(fp), r15
|
|
adds .a11+16, fp, r31
|
|
ld.l 4(fp), r1
|
|
ld.l 0(fp), fp
|
|
bri r1
|
|
mov r31, sp
|
|
.data
|
|
.align 8
|
|
.C00689: // (0)
|
|
.long 0xd2f1a9fc, 0x3f50624d // 1.00000000000000002E-03
|
|
.C00038: // (8)
|
|
.long 0x3f000000 // 5.00000000E-01
|
|
.C00036: // (12)
|
|
.long 0x3f800000 // 1.00000000E+00
|
|
.C00846: // (16)
|
|
.long 0x49800000 // 1.04857600E+06
|
|
.data
|
|
.align 1
|
|
.S00660: //
|
|
// "ERROR : "
|
|
.byte 0x45,0x52,0x52,0x4f,0x52,0x20,0x3a,0x20,0x00
|
|
.S00695: //
|
|
// " Matrix dump\n"
|
|
.byte 0x20,0x4d,0x61,0x74,0x72,0x69,0x78,0x20,0x64,0x75,0x6d
|
|
.byte 0x70,0x0a,0x00
|
|
.S00700: //
|
|
// " { %f, %f, %f, %f }\n"
|
|
.byte 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x20,0x25,0x66,0x2c
|
|
.byte 0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x2c,0x20,0x25,0x66
|
|
.byte 0x20,0x7d,0x0a,0x00
|
|
.S00705: //
|
|
// " { %f, %f, %f }\n"
|
|
.byte 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x20,0x25,0x66,0x2c
|
|
.byte 0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x20,0x7d,0x0a,0x00
|
|
.S00715: //
|
|
// " { %f, %f, %f, %f }\n"
|
|
.byte 0x20,0x20,0x20,0x20,0x20,0x20,0x7b,0x20,0x25,0x66,0x2c
|
|
.byte 0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x2c,0x20,0x25,0x66
|
|
.byte 0x20,0x7d,0x0a,0x00
|
|
.S00763: //
|
|
// "failed to malloc %d vertices (points=%d triangles=%d)\n"
|
|
.byte 0x66,0x61,0x69,0x6c,0x65,0x64,0x20,0x74,0x6f,0x20,0x6d
|
|
.byte 0x61,0x6c,0x6c,0x6f,0x63,0x20,0x25,0x64,0x20,0x76,0x65
|
|
.byte 0x72,0x74,0x69,0x63,0x65,0x73,0x20,0x28,0x70,0x6f,0x69
|
|
.byte 0x6e,0x74,0x73,0x3d,0x25,0x64,0x20,0x74,0x72,0x69,0x61
|
|
.byte 0x6e,0x67,0x6c,0x65,0x73,0x3d,0x25,0x64,0x29,0x0a,0x00
|
|
.S00866: //
|
|
// "binRead DIDNT get strip\n"
|
|
.byte 0x62,0x69,0x6e,0x52,0x65,0x61,0x64,0x20,0x44,0x49,0x44
|
|
.byte 0x4e,0x54,0x20,0x67,0x65,0x74,0x20,0x73,0x74,0x72,0x69
|
|
.byte 0x70,0x0a,0x00
|
|
.S00883: //
|
|
// "failed to malloc %d vertices (points=%d triangles=%d)\n"
|
|
.byte 0x66,0x61,0x69,0x6c,0x65,0x64,0x20,0x74,0x6f,0x20,0x6d
|
|
.byte 0x61,0x6c,0x6c,0x6f,0x63,0x20,0x25,0x64,0x20,0x76,0x65
|
|
.byte 0x72,0x74,0x69,0x63,0x65,0x73,0x20,0x28,0x70,0x6f,0x69
|
|
.byte 0x6e,0x74,0x73,0x3d,0x25,0x64,0x20,0x74,0x72,0x69,0x61
|
|
.byte 0x6e,0x67,0x6c,0x65,0x73,0x3d,0x25,0x64,0x29,0x0a,0x00
|
|
.S00897: //
|
|
// "DEEP bogosity - too many vertices\n"
|
|
.byte 0x44,0x45,0x45,0x50,0x20,0x62,0x6f,0x67,0x6f,0x73,0x69
|
|
.byte 0x74,0x79,0x20,0x2d,0x20,0x74,0x6f,0x6f,0x20,0x6d,0x61
|
|
.byte 0x6e,0x79,0x20,0x76,0x65,0x72,0x74,0x69,0x63,0x65,0x73
|
|
.byte 0x0a,0x00
|
|
.S00935: //
|
|
// "binRead DIDNT get strip\n"
|
|
.byte 0x62,0x69,0x6e,0x52,0x65,0x61,0x64,0x20,0x44,0x49,0x44
|
|
.byte 0x4e,0x54,0x20,0x67,0x65,0x74,0x20,0x73,0x74,0x72,0x69
|
|
.byte 0x70,0x0a,0x00
|
|
.S00950: //
|
|
// "failed to malloc %d vertices (points=%d triangles=%d)\n"
|
|
.byte 0x66,0x61,0x69,0x6c,0x65,0x64,0x20,0x74,0x6f,0x20,0x6d
|
|
.byte 0x61,0x6c,0x6c,0x6f,0x63,0x20,0x25,0x64,0x20,0x76,0x65
|
|
.byte 0x72,0x74,0x69,0x63,0x65,0x73,0x20,0x28,0x70,0x6f,0x69
|
|
.byte 0x6e,0x74,0x73,0x3d,0x25,0x64,0x20,0x74,0x72,0x69,0x61
|
|
.byte 0x6e,0x67,0x6c,0x65,0x73,0x3d,0x25,0x64,0x29,0x0a,0x00
|
|
.S00963: //
|
|
// "DEEP bogosity - too many vertices\n"
|
|
.byte 0x44,0x45,0x45,0x50,0x20,0x62,0x6f,0x67,0x6f,0x73,0x69
|
|
.byte 0x74,0x79,0x20,0x2d,0x20,0x74,0x6f,0x6f,0x20,0x6d,0x61
|
|
.byte 0x6e,0x79,0x20,0x76,0x65,0x72,0x74,0x69,0x63,0x65,0x73
|
|
.byte 0x0a,0x00
|
|
.S00995: //
|
|
// "Error - vertex 0 of triangle %d in pmesh out of range (%d,%d)\n"
|
|
.byte 0x45,0x72,0x72,0x6f,0x72,0x20,0x2d,0x20,0x76,0x65,0x72
|
|
.byte 0x74,0x65,0x78,0x20,0x30,0x20,0x6f,0x66,0x20,0x74,0x72
|
|
.byte 0x69,0x61,0x6e,0x67,0x6c,0x65,0x20,0x25,0x64,0x20,0x69
|
|
.byte 0x6e,0x20,0x70,0x6d,0x65,0x73,0x68,0x20,0x6f,0x75,0x74
|
|
.byte 0x20,0x6f,0x66,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x28
|
|
.byte 0x25,0x64,0x2c,0x25,0x64,0x29,0x0a,0x00
|
|
.S01000: //
|
|
// "Error - vertex 1 of triangle %d in pmesh out of range (%d,%d)\n"
|
|
.byte 0x45,0x72,0x72,0x6f,0x72,0x20,0x2d,0x20,0x76,0x65,0x72
|
|
.byte 0x74,0x65,0x78,0x20,0x31,0x20,0x6f,0x66,0x20,0x74,0x72
|
|
.byte 0x69,0x61,0x6e,0x67,0x6c,0x65,0x20,0x25,0x64,0x20,0x69
|
|
.byte 0x6e,0x20,0x70,0x6d,0x65,0x73,0x68,0x20,0x6f,0x75,0x74
|
|
.byte 0x20,0x6f,0x66,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x28
|
|
.byte 0x25,0x64,0x2c,0x25,0x64,0x29,0x0a,0x00
|
|
.S01005: //
|
|
// "Error - vertex 2 of triangle %d in pmesh out of range (%d,%d)\n"
|
|
.byte 0x45,0x72,0x72,0x6f,0x72,0x20,0x2d,0x20,0x76,0x65,0x72
|
|
.byte 0x74,0x65,0x78,0x20,0x32,0x20,0x6f,0x66,0x20,0x74,0x72
|
|
.byte 0x69,0x61,0x6e,0x67,0x6c,0x65,0x20,0x25,0x64,0x20,0x69
|
|
.byte 0x6e,0x20,0x70,0x6d,0x65,0x73,0x68,0x20,0x6f,0x75,0x74
|
|
.byte 0x20,0x6f,0x66,0x20,0x72,0x61,0x6e,0x67,0x65,0x20,0x28
|
|
.byte 0x25,0x64,0x2c,0x25,0x64,0x29,0x0a,0x00
|
|
.S01021: //
|
|
// "binRead DIDNT get strip\n"
|
|
.byte 0x62,0x69,0x6e,0x52,0x65,0x61,0x64,0x20,0x44,0x49,0x44
|
|
.byte 0x4e,0x54,0x20,0x67,0x65,0x74,0x20,0x73,0x74,0x72,0x69
|
|
.byte 0x70,0x0a,0x00
|
|
.S01033: //
|
|
// "failed to malloc %d vertices (points=%d triangles=%d)\n"
|
|
.byte 0x66,0x61,0x69,0x6c,0x65,0x64,0x20,0x74,0x6f,0x20,0x6d
|
|
.byte 0x61,0x6c,0x6c,0x6f,0x63,0x20,0x25,0x64,0x20,0x76,0x65
|
|
.byte 0x72,0x74,0x69,0x63,0x65,0x73,0x20,0x28,0x70,0x6f,0x69
|
|
.byte 0x6e,0x74,0x73,0x3d,0x25,0x64,0x20,0x74,0x72,0x69,0x61
|
|
.byte 0x6e,0x67,0x6c,0x65,0x73,0x3d,0x25,0x64,0x29,0x0a,0x00
|
|
.S01046: //
|
|
// "DEEP bogosity - too many vertices\n"
|
|
.byte 0x44,0x45,0x45,0x50,0x20,0x62,0x6f,0x67,0x6f,0x73,0x69
|
|
.byte 0x74,0x79,0x20,0x2d,0x20,0x74,0x6f,0x6f,0x20,0x6d,0x61
|
|
.byte 0x6e,0x79,0x20,0x76,0x65,0x72,0x74,0x69,0x63,0x65,0x73
|
|
.byte 0x0a,0x00
|
|
.S01070: //
|
|
// "Unexpected tag 0x%x, expected closeBinGeometry\n"
|
|
.byte 0x55,0x6e,0x65,0x78,0x70,0x65,0x63,0x74,0x65,0x64,0x20
|
|
.byte 0x74,0x61,0x67,0x20,0x30,0x78,0x25,0x78,0x2c,0x20,0x65
|
|
.byte 0x78,0x70,0x65,0x63,0x74,0x65,0x64,0x20,0x63,0x6c,0x6f
|
|
.byte 0x73,0x65,0x42,0x69,0x6e,0x47,0x65,0x6f,0x6d,0x65,0x74
|
|
.byte 0x72,0x79,0x0a,0x00
|
|
.S01081: //
|
|
// "OBJECT of %d points %d triangles\n"
|
|
.byte 0x4f,0x42,0x4a,0x45,0x43,0x54,0x20,0x6f,0x66,0x20,0x25
|
|
.byte 0x64,0x20,0x70,0x6f,0x69,0x6e,0x74,0x73,0x20,0x25,0x64
|
|
.byte 0x20,0x74,0x72,0x69,0x61,0x6e,0x67,0x6c,0x65,0x73,0x0a
|
|
.byte 0x00
|
|
.data
|
|
.globl _open_fn
|
|
.align 4
|
|
_open_fn: //open_fn
|
|
.long _fopen
|
|
.globl _gets_fn
|
|
_gets_fn: //gets_fn
|
|
.long _fgets
|
|
.globl _close_fn
|
|
_close_fn: //close_fn
|
|
.long _fclose
|
|
_patches: //patches
|
|
.long 0
|
|
_tesselations: //tesselations
|
|
.long 0
|
|
_triangles: //triangles
|
|
.long 0
|
|
_points: //points
|
|
.long 0
|
|
.lcomm .STACK,48
|
|
.lcomm .BSS,176
|
|
//obj +0
|
|
//bob_beamon +4
|
|
//patch_surf +92
|
|
.data
|
|
.comm _errmess,256
|
|
.comm _lod_switch_in,4
|
|
.comm _lod_switch_out,4
|
|
.extern _reboundObject
|
|
.extern _reboundLOD
|
|
.extern _bound_spatch
|
|
.extern _compute_pmesh_plane_eqns
|
|
.extern _compute_gnorms
|
|
.extern _compute_plane_eqns
|
|
.extern _bound_patch
|
|
.extern _dN_reply
|
|
.extern __InitVstrip
|
|
.extern _InitSem
|
|
.extern _nextSem
|
|
.extern __InitPatch
|
|
.extern __InitLOD
|
|
.extern _add_material
|
|
.extern _create_material
|
|
.extern __InitObject
|
|
.extern _setjmp
|
|
.extern _free
|
|
.extern _memcpy
|
|
.extern _malloc
|
|
.extern _printf
|
|
.extern _strcpy
|
|
.extern _longjmp
|
|
.extern _vsprintf
|
|
.extern _sprintf
|
|
.extern _fclose
|
|
.extern _fgets
|
|
.extern _fopen
|