Files
CydandClaude Fable 5 db7745fcd0 sda4: commit the Glaze developer hard-drive dump
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>
2026-07-04 19:41:15 -05:00

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