.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