.file "vr_cull.c" // PGC Rel 2.0a -opt 4 .text .globl _printf_matrix .align 8 _printf_matrix: .a1 = 80 .f1 = 32 addu -(.a1+.f1), sp, sp st.l fp,(.f1-16)(sp) addu (.f1-16), sp, fp st.l r1, 4(fp) st.l r16, 48(fp) // lineno: 38 ld.l 48(fp), r28 fld.l r0(r28), f16 orh h%.S00661, r0, r31 or l%.S00661, 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 ld.l 48(fp), r28 fld.l 16(r28), f16 orh h%.S00665, r0, r31 or l%.S00665, r31, r16 fmov.sd f16, f8 fld.l 20(r28), f17 fld.l 24(r28), f18 fld.l 28(r28), f19 fmov.sd f17, f10 fmov.sd f18, f12 call _printf fmov.sd f19, f14 ld.l 48(fp), r28 fld.l 32(r28), f16 orh h%.S00667, r0, r31 or l%.S00667, r31, r16 fmov.sd f16, f8 fld.l 36(r28), f17 fld.l 40(r28), f18 fld.l 44(r28), f19 fmov.sd f17, f10 fmov.sd f18, f12 call _printf fmov.sd f19, f14 ld.l 48(fp), r28 fld.l 48(r28), f16 orh h%.S00669, r0, r31 or l%.S00669, r31, r16 fmov.sd f16, f8 fld.l 52(r28), f17 fld.l 56(r28), f18 fld.l 60(r28), f19 fmov.sd f17, f10 fmov.sd f18, f12 call _printf fmov.sd f19, f14 // lineno: 47 adds .a1+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _dbl_plane_term: .a2 = 0 .f2 = 32 addu -(.a2+.f2), sp, sp st.l fp,(.f2-16)(sp) addu (.f2-16), sp, fp st.l r1, 4(fp) // lineno: 70 fld.d 8(r28), f16 fld.d r0(r28), f18 fsub.dd f18, f16, f20 fmul.dd f20, f8, f22 fsub.dd f16, f14, f24 fmul.dd f24, f10, f26 fadd.dd f26, f22, f28 fsub.dd f14, f18, f30 fmul.dd f30, f12, f20 fadd.dd f20, f28, f16 fmov.ds f16, f8 // lineno: 74 adds .a2+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _compute_plane_eqn .align 8 _compute_plane_eqn: .a3 = 80 .f3 = 128 addu -(.a3+.f3), sp, sp st.l fp,(.f3-16)(sp) addu (.f3-16), sp, fp st.l r1, 4(fp) st.l r16, 48(fp) // lineno: 80 fld.l 4(r17), f16 fld.l 4(r18), f17 fld.l 4(r19), f18 fmov.sd f16, f8 fld.l 8(r17), f19 fld.l r0(r17), f20 fmov.sd f17, f10 fld.l r0(r18), f21 fld.l 8(r18), f26 fmov.sd f18, f12 fld.l r0(r19), f27 fld.l 8(r19), f16 fmov.sd f19, f14 adds -88, fp, r28 fmov.sd f20, f22 fst.d f22, -8(fp) fst.d f8, -16(fp) fst.d f14, -24(fp) fmov.sd f21, f24 fst.d f24, -32(fp) fst.d f10, -40(fp) fmov.sd f26, f28 fst.d f28, -48(fp) fmov.sd f27, f30 fst.d f30, -56(fp) fst.d f12, -64(fp) fmov.sd f16, f18 fst.d f18, -72(fp) fst.d f28, -88(fp) call _dbl_plane_term fst.d f18, -80(fp) fiadd.ss f8, f0, f16 fld.d -24(fp), f8 fld.d -48(fp), f10 fld.d -72(fp), f12 fld.d -8(fp), f14 fld.d -32(fp), f18 fld.d -56(fp), f20 ld.l 48(fp), r28 fst.d f18, -88(fp) fst.d f20, -80(fp) fst.l f16, r0(r28) adds -88, fp, r29 call _dbl_plane_term mov r29, r28 fiadd.ss f8, f0, f16 fld.d -8(fp), f8 fld.d -32(fp), f10 fld.d -56(fp), f12 fld.d -16(fp), f14 fld.d -40(fp), f18 fld.d -64(fp), f20 ld.l 48(fp), r28 fst.d f18, -88(fp) fst.d f20, -80(fp) fst.l f16, 4(r28) adds -88, fp, r29 call _dbl_plane_term mov r29, r28 fld.d -48(fp), f16 fld.d -64(fp), f18 fld.d -72(fp), f22 fld.d -40(fp), f24 fmul.dd f18, f16, f20 fld.d -8(fp), f30 fld.d -16(fp), f12 ld.l 48(fp), r28 fmul.dd f24, f22, f26 fsub.dd f26, f20, f28 fld.d -24(fp), f20 fmul.dd f30, f28, f10 fld.d -32(fp), f30 fmul.dd f12, f22, f14 fmul.dd f18, f20, f26 fsub.dd f26, f14, f28 fmul.dd f30, f28, f22 fld.d -56(fp), f30 fadd.dd f22, f10, f18 fmul.dd f24, f20, f14 fmul.dd f12, f16, f26 fsub.dd f26, f14, f28 fmul.dd f30, f28, f10 fadd.dd f10, f18, f22 fsub.dd f0, f22, f20 fmov.ds f20, f9 fst.l f9, 12(r28) fst.d f20, -96(fp) fst.l f8, 8(r28) // lineno: 111 adds .a3+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cull_view: .a4 = 80 .f4 = 80 addu -(.a4+.f4), sp, sp st.l fp,(.f4-16)(sp) addu (.f4-16), sp, fp st.l r1, 4(fp) st.l r16, 48(fp) st.l r17, 52(fp) // lineno: 132 fld.l 100(r17), f16 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f19 frcp.ss f16, f17 fmul.ss f16, f17, f18 fld.l 96(r17), f25 ld.l 52(fp), r28 fsub.ss f19, f18, f20 adds 64, r0, r18 fmul.ss f17, f20, f21 fmul.ss f16, f21, f22 fsub.ss f19, f22, f23 fmul.ss f23, f21, f24 fmul.ss f25, f24, f26 fst.l f26, 168(r16) fld.l 80(r17), f27 fld.l 88(r17), f28 fld.l 92(r17), f13 addu 8, r28, r17 fsub.ss f28, f27, f29 frcp.ss f29, f30 fmul.ss f29, f30, f31 fsub.ss f19, f31, f8 fmul.ss f30, f8, f9 fmul.ss f29, f9, f10 fsub.ss f19, f10, f11 fmul.ss f11, f9, f12 fadd.ss f13, f13, f14 fmul.ss f14, f12, f15 call _memcpy fst.l f15, 128(r16) ld.l 48(fp), r28 addu 64, r28, r16 call _dpl_Invert mov r28, r17 ld.l 52(fp), r28 ld.l 48(fp), r29 fld.l 108(r28), f16 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f19 frcp.ss f16, f17 fmul.ss f16, f17, f18 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f27 fsub.ss f19, f18, f20 orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f15 fmul.ss f17, f20, f21 addu 196, r29, r16 adds -16, fp, r17 fmul.ss f16, f21, f22 adds -32, fp, r18 adds -48, fp, r19 fsub.ss f19, f22, f23 fld.l 128(r29), f22 fmul.ss f23, f21, f24 fst.l f16, 136(r29) frcp.ss f22, f21 fld.l 104(r28), f25 fmul.ss f25, f24, f26 fsub.ss f27, f26, f28 frcp.ss f28, f29 fmul.ss f28, f29, f30 fsub.ss f19, f30, f31 fmul.ss f29, f31, f8 fmul.ss f28, f8, f9 fsub.ss f19, f9, f10 fmul.ss f10, f8, f11 fst.l f25, 132(r29) fmul.ss f22, f21, f23 fld.l 96(r28), f12 fst.l f12, 140(r29) fsub.ss f19, f23, f16 fld.l 100(r28), f13 fst.l f13, 148(r29) fmul.ss f21, f16, f24 fld.l 96(r28), f14 fmul.ss f14, f15, f18 fst.l f18, 144(r29) fld.l 100(r28), f20 fst.l f11, 160(r29) fst.l f0, 172(r29) fmul.ss f20, f15, f17 fst.l f17, 152(r29) fst.l f0, 176(r29) fmul.ss f22, f24, f27 fsub.ss f19, f27, f30 fmul.ss f30, f24, f31 fmul.ss f25, f31, f29 fst.l f29, 164(r29) fst.l f26, 156(r29) fst.l f0, -16(fp) fst.l f0, -12(fp) fst.l f0, -8(fp) fld.l 84(r28), f9 fst.l f9, -32(fp) fld.l 88(r28), f8 fst.l f8, -28(fp) fld.l 92(r28), f10 fst.l f10, -24(fp) fld.l 84(r28), f28 fst.l f28, -48(fp) fld.l 80(r28), f12 fst.l f12, -44(fp) fld.l 92(r28), f23 call _compute_plane_eqn fst.l f23, -40(fp) ld.l 52(fp), r28 ld.l 48(fp), r29 fld.l 76(r28), f16 addu 228, r29, r16 adds -16, fp, r17 fst.l f16, -48(fp) adds -48, fp, r18 fld.l 88(r28), f17 adds -32, fp, r19 call _compute_plane_eqn fst.l f17, -44(fp) ld.l 52(fp), r28 ld.l 48(fp), r29 fld.l 76(r28), f16 addu 180, r29, r16 adds -16, fp, r17 fst.l f16, -32(fp) adds -32, fp, r18 fld.l 80(r28), f17 adds -48, fp, r19 call _compute_plane_eqn fst.l f17, -28(fp) ld.l 52(fp), r28 ld.l 48(fp), r29 fld.l 84(r28), f16 addu 212, r29, r16 adds -16, fp, r17 fst.l f16, -48(fp) adds -48, fp, r18 fld.l 80(r28), f17 adds -32, fp, r19 call _compute_plane_eqn fst.l f17, -44(fp) orh ha%_eof_FOG_far, r0, r31 fld.l l%_eof_FOG_far(r31), f16 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f19 frcp.ss f16, f17 fmul.ss f16, f17, f18 ld.l 48(fp), r28 fsub.ss f19, f18, f20 fld.l 164(r28), f25 fld.l 128(r28), f26 fmul.ss f17, f20, f21 orh ha%_Czscale, r0, r31 fld.l l%_Czscale(r31), f28 fmul.ss f16, f21, f22 orh ha%_eof_FOG_near, r0, r31 fld.l l%_eof_FOG_near(r31), f31 fsub.ss f19, f22, f23 fmul.ss f23, f21, f24 fmul.ss f26, f25, f27 fmul.ss f28, f27, f29 fmul.ss f29, f24, f30 ftrunc.sd f30, f8 orh ha%_eof_Z_far, r0, r31 fst.l f8, l%_eof_Z_far(r31) frcp.ss f31, f10 fmul.ss f31, f10, f11 fsub.ss f19, f11, f12 fmul.ss f10, f12, f13 fmul.ss f31, f13, f14 fsub.ss f19, f14, f15 fmul.ss f15, f13, f18 fmul.ss f29, f18, f20 ftrunc.sd f20, f16 orh ha%_eof_Z_near, r0, r31 fst.l f16, l%_eof_Z_near(r31) fld.l 136(r28), f22 frcp.ss f22, f21 fmul.ss f22, f21, f23 fsub.ss f19, f23, f25 fmul.ss f21, f25, f26 fmul.ss f22, f26, f27 fsub.ss f19, f27, f28 fmul.ss f28, f26, f24 fmul.ss f24, f29, f30 ftrunc.sd f30, f8 orh ha%_eof_farZ, r0, r31 fst.l f8, l%_eof_farZ(r31) // lineno: 176 adds .a4+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _new_draw_item: .a5 = 80 .f5 = 48 addu -(.a5+.f5), sp, sp st.l fp,(.f5-16)(sp) addu (.f5-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) st.l r17, 52(fp) mov r16, r4 // lineno: 0 orh h%_chunk_active, r0, r31 or l%_chunk_active, r31, r5 orh h%_chunk_usage, r0, r31 or l%_chunk_usage, r31, r6 orh h%_chunk_free_ptr, r0, r31 or l%_chunk_free_ptr, r31, r8 // lineno: 190 ld.l r0(r6), r28 adds r16, r28, r29 adds -4064, r29, r0 bc .B730 ld.l r0(r5), r30 ld.l 4(r30), r17 btne 0x0000, r17, .B732 call _malloc adds 4096, r0, r16 ld.l r0(r5), r28 st.l r16, 4(r28) btne 0x0000, r16, .B735 orh h%.S00736, r0, r31 call _printf or l%.S00736, r31, r16 br .B1131 mov r0, r16 // lineno: 198 .B735: //.B0002 ld.l r0(r5), r28 .DB.B735735: ld.l 4(r28), r29 st.l r0, 4(r29) // lineno: 200 .B732: //.B0001 ld.l r0(r5), r28 .DB.B732732: adds 1, r0, r17 ld.l 4(r28), r29 st.l r0, 12(r28) addu 16, r29, r30 st.l r30, 0(r8) st.l r29, 0(r5) st.l r17, 12(r29) st.l r0, 8(r29) st.l r0, 0(r6) // lineno: 209 .B730: //.B0000 ld.l r0(r5), r28 .DB.B730730: ld.l r0(r8), r16 ld.l 8(r28), r29 ld.l 52(fp), r17 adds 1, r29, r30 st.l r30, 8(r28) st.l r17, 0(r16) adds r4, r16, r20 ld.l r0(r6), r18 st.l r20, 0(r8) adds r18, r4, r19 st.l r19, 0(r6) // lineno: 0 .B1131: //.R0001 // lineno: 215 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 .a5+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _bbox_plane: .a6 = 0 .f6 = 32 orh h%.STACK+.f6-16, r0, r28 or l%.STACK+.f6-16, r28, r28 st.l r4, -8(r28) st.l r5, -4(r28) // lineno: 0 adds -1, r0, r18 // lineno: 226 fld.l r0(r17), f11 fld.l 4(r17), f12 fld.l 8(r17), f13 fld.l 12(r17), f14 mov r0, r20 mov r0, r20 mov r16, r21 mov r16, r21 adds 1, r0, r19 addu -12, r16, r4 addu -8, r16, r5 bla r18, r19,.B1159 pfmul.dd f0, f0, f0 // lineno: 236 .B1159: //.M0000 .align 8 d.pfadd.dd f0, f0, f0 nop .align 8 .PD0.B1159105: d.fnop mov r4, r29 .DB.B11591159: d.fnop fld.l 16(r29)++, f17 d.fnop fld.l 16(r29)++, f18 d.fnop fld.l 16(r29)++, f19 d.fnop addu 16, r29, r4 d.fnop fld.l r0(r4), f9 d.pfmul.ss f19, f12, f0 mov r21, r30 d.pfmul.ss f0, f0, f0 mov r30, r22 d.pfmul.ss f9, f12, f0 fld.l 16(r30)++, f23 d.pfmul.ss f0, f0, f21 fld.l 16(r30)++, f24 d.pfmul.ss f0, f0, f0 fld.l r0(r22), f25 d.pfmul.ss f0, f0, f20 fld.l 16(r30)++, f10 d.pfmul.ss f24, f11, f0 mov r5, r23 d.pfmul.ss f0, f0, f0 fld.l 16(r23)++, f29 d.pfmul.ss f10, f11, f0 fld.l 16(r23)++, f30 d.mi2p1.ss f21, f0, f16 fld.l 16(r23)++, f31 d.mm12msm.ss f18, f12, f0 addu 16, r23, r5 d.mi2p1.ss f20, f0, f26 fld.l r0(r5), f8 d.m12tpa.ss f31, f13, f19 addu 16, r30, r21 d.mm12msm.ss f23, f11, f26 nop d.m12tpa.ss f8, f13, f27 nop d.mi2p1.ss f19, f0, f24 nop d.mi2p1.ss f26, f0, f18 nop d.mi2p1.ss f27, f0, f15 nop d.pfadd.ss f14, f16, f16 nop d.m12tpa.ss f30, f13, f20 nop d.ia1p2.ss f14, f28, f28 nop d.ia1p2.ss f0, f0, f21 nop d.mm12msm.ss f0, f0, f31 nop d.pfadd.ss f0, f0, f22 nop d.pfgt.ss f22, f0, f0 nop d.fnop shl r0, r0, r24 d.fnop bnc ..L3 d.fnop adds 1, r0, r24 ..L3: d.pfgt.ss f21, f0, f0 nop d.fnop shl r0, r0, r25 d.fnop bnc ..L2 d.fnop adds 1, r0, r25 ..L2: d.pfadd.ss f20, f31, f0 nop d.mm12msm.ss f25, f11, f0 nop d.mm12msm.ss f17, f12, f0 nop d.ia1p2.ss f14, f23, f23 nop d.mm12msm.ss f0, f0, f19 nop d.mm12msm.ss f0, f0, f18 nop d.pfadd.ss f0, f0, f24 nop d.pfgt.ss f24, f0, f0 nop d.fnop shl r0, r0, r26 d.fnop bnc ..L1 d.fnop adds 1, r0, r26 ..L1: d.pfadd.ss f19, f18, f0 nop d.mm12msm.ss f29, f13, f0 nop d.mm12msm.ss f0, f0, f0 nop d.ia1p2.ss f0, f0, f26 nop d.mi2p1.ss f26, f0, f15 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f14, f27, f27 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f16 nop d.pfgt.ss f16, f0, f0 nop d.fnop shl r0, r0, r27 d.fnop bnc ..L0 d.fnop adds 1, r0, r27 ..L0: d.fnop adds r20, r27, r29 d.fnop adds r29, r26, r22 d.fnop adds r22, r25, r23 d.fnop adds r23, r24, r20 d.fnop bla r18, r19, .PD0.B1159105 d.fnop nop .align 8 fnop nop fnop nop // lineno: 0 mov r20, r16 // lineno: 0 // lineno: 247 ld.l -8(r28), r4 ld.l -4(r28), r5 bri r1 nop .align 8 _scale_from_matrix: .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) // lineno: 255 fld.l 32(r16), f16 fld.l 36(r16), f18 fld.l 40(r16), f21 fmul.ss f16, f16, f17 fmul.ss f18, f18, f19 fadd.ss f19, f17, f20 fmul.ss f21, f21, f22 fadd.ss f22, f20, f23 fmov.sd f23, f8 fst.l f18, -4(fp) call _sqrt fst.l f21, -8(fp) fmov.ds f8, f8 // lineno: 261 adds .a7+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _visibility: .a8 = 80 .f8 = 64 addu -(.a8+.f8), sp, sp st.l fp,(.f8-16)(sp) addu (.f8-16), sp, fp st.l r1, 4(fp) fst.d f2, -40(fp) fst.d f4, -32(fp) fst.d f6, -24(fp) st.l r4, -16(fp) st.l r5, -12(fp) st.l r6, -8(fp) st.l r16, 48(fp) st.l r17, 52(fp) // lineno: 0 // lineno: 274 fld.l 8(r16), f3 addu 16, r16, r6 fld.l 8(r6), f2 fiadd.ss f3, f0, f4 fld.l 132(r17), f6 fld.l 136(r17), f5 mov r0, r4 pfle.ss f3, f2, f0 bnc .B767 br .B768 fiadd.ss f2, f0, f3 // lineno: 298 .B767: //.B0005 pfle.ss f2, f4, f0 .DB.B767767: bnc .B769 fiadd.ss f2, f0, f4 // lineno: 0 .B769: //.B0007 // lineno: 301 .B768: //.B0006 addu 16, r6, r6 .DB.B768768: fld.l 8(r6), f2 pfle.ss f3, f2, f0 bnc .B770 br .B771 fiadd.ss f2, f0, f3 // lineno: 304 .B770: //.B0008 pfle.ss f2, f4, f0 .DB.B770770: bnc .B772 fiadd.ss f2, f0, f4 // lineno: 0 .B772: //.B0010 // lineno: 307 .B771: //.B0009 addu 16, r6, r6 .DB.B771771: fld.l 8(r6), f2 pfle.ss f3, f2, f0 bnc .B773 br .B774 fiadd.ss f2, f0, f3 // lineno: 310 .B773: //.B0011 pfle.ss f2, f4, f0 .DB.B773773: bnc .B775 fiadd.ss f2, f0, f4 // lineno: 0 .B775: //.B0013 // lineno: 313 .B774: //.B0012 addu 16, r6, r6 .DB.B774774: fld.l 8(r6), f2 pfle.ss f3, f2, f0 bnc .B776 br .B777 fiadd.ss f2, f0, f3 // lineno: 316 .B776: //.B0014 pfle.ss f2, f4, f0 .DB.B776776: bnc .B778 fiadd.ss f2, f0, f4 // lineno: 0 .B778: //.B0016 // lineno: 319 .B777: //.B0015 addu 16, r6, r6 .DB.B777777: fld.l 8(r6), f2 pfle.ss f3, f2, f0 bnc .B779 br .B780 fiadd.ss f2, f0, f3 // lineno: 322 .B779: //.B0017 pfle.ss f2, f4, f0 .DB.B779779: bnc .B781 fiadd.ss f2, f0, f4 // lineno: 0 .B781: //.B0019 // lineno: 325 .B780: //.B0018 addu 16, r6, r6 .DB.B780780: fld.l 8(r6), f2 pfle.ss f3, f2, f0 bnc .B782 br .B783 fiadd.ss f2, f0, f3 // lineno: 328 .B782: //.B0020 pfle.ss f2, f4, f0 .DB.B782782: bnc .B784 fiadd.ss f2, f0, f4 // lineno: 0 .B784: //.B0022 // lineno: 331 .B783: //.B0021 addu 16, r6, r6 .DB.B783783: fld.l 8(r6), f2 pfle.ss f3, f2, f0 bnc .B785 br .B786 fiadd.ss f2, f0, f3 // lineno: 334 .B785: //.B0023 pfle.ss f2, f4, f0 .DB.B785785: bnc .B787 fiadd.ss f2, f0, f4 // lineno: 0 .B787: //.B0025 // lineno: 339 .B786: //.B0024 pfle.ss f6, f4, f0 .DB.B786786: bnc .B788 br .B1177 adds 64, r0, r16 // lineno: 345 .B788: //.B0026 pfle.ss f3, f5, f0 .DB.B788788: bnc .B791 br .B1177 adds 64, r0, r16 // lineno: 356 .B791: //.B0028 pfle.ss f4, f5, f0 .DB.B791791: bnc .B793 adds 32, r0, r4 // lineno: 357 .B793: //.B0029 pfle.ss f6, f3, f0 .DB.B793793: bnc .B795 or 0x0010, r4, r4 // lineno: 361 .B795: //.B0030 ld.l 48(fp), r16 .DB.B795795: ld.l 52(fp), r28 call _bbox_plane addu 212, r28, r17 mov r16, r5 btne 0x0008, r16, .B798 br .B1177 adds 64, r0, r16 // lineno: 366 .B798: //.B0031 bte 0x0000, r5, .B801 or 0x0004, r4, r4 // lineno: 371 .B801: //.B0033 ld.l 48(fp), r16 .DB.B801801: ld.l 52(fp), r28 call _bbox_plane addu 228, r28, r17 mov r16, r5 btne 0x0008, r16, .B803 br .B1177 adds 64, r0, r16 // lineno: 376 .B803: //.B0034 bte 0x0000, r5, .B806 or 0x0008, r4, r4 // lineno: 381 .B806: //.B0036 ld.l 48(fp), r16 .DB.B806806: ld.l 52(fp), r28 call _bbox_plane addu 180, r28, r17 mov r16, r5 btne 0x0008, r16, .B808 br .B1177 adds 64, r0, r16 // lineno: 387 .B808: //.B0037 bte 0x0000, r5, .B811 or 0x0001, r4, r4 // lineno: 392 .B811: //.B0039 ld.l 48(fp), r16 .DB.B811811: ld.l 52(fp), r28 call _bbox_plane addu 196, r28, r17 mov r16, r5 btne 0x0008, r16, .B813 br .B1177 adds 64, r0, r16 // lineno: 398 .B813: //.B0040 bte 0x0000, r5, .B816 or 0x0002, r4, r4 // lineno: 403 .B816: //.B0042 mov r4, r16 .DB.B816816: // lineno: 0 .B1177: //.R0004 // lineno: 404 fld.d -40(fp), f2 fld.d -32(fp), f4 fld.d -24(fp), f6 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a8+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _build_bound: .a9 = 0 .f9 = 48 orh h%.STACK+.f9-16, r0, r28 or l%.STACK+.f9-16, r28, r28 // lineno: 885 fld.l r0(r17), f16 fld.l 4(r17), f17 fld.l 8(r17), f18 fld.l 16(r17), f19 fst.l f17, -4(r28) fst.l f18, -8(r28) fst.l f19, -12(r28) fld.l 20(r17), f20 fld.l 24(r17), f21 fst.l f16, r0(r16) fst.l f20, -16(r28) fst.l f21, -20(r28) fst.l f17, 4(r16) fst.l f18, 8(r16) orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f22 fst.l f19, 16(r16) fst.l f17, 20(r16) fst.l f22, 12(r16) fst.l f18, 24(r16) fst.l f22, 28(r16) fst.l f16, 32(r16) fst.l f20, 36(r16) fst.l f18, 40(r16) fst.l f22, 44(r16) fst.l f19, 48(r16) fst.l f20, 52(r16) fst.l f18, 56(r16) fst.l f22, 60(r16) fst.l f16, 64(r16) fst.l f17, 68(r16) fst.l f21, 72(r16) fst.l f22, 76(r16) fst.l f19, 80(r16) fst.l f17, 84(r16) fst.l f21, 88(r16) fst.l f22, 92(r16) fst.l f16, 96(r16) fst.l f20, 100(r16) fst.l f21, 104(r16) fst.l f22, 108(r16) fst.l f19, 112(r16) fst.l f20, 116(r16) fst.l f21, 120(r16) bri r1 fst.l f22, 124(r16) // lineno: 943 bri r1 nop .align 8 _next_free_ramp: .a10 = 80 .f10 = 32 addu -(.a10+.f10), sp, sp st.l fp,(.f10-16)(sp) addu (.f10-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 orh h%_allocated_ramps, r0, r31 or l%_allocated_ramps, r31, r5 // lineno: 952 ld.l r0(r5), r28 btne 0x0004, r28, .B835 br .B1200 mov r0, r16 // lineno: 954 .B835: //.B0043 mov r0, r4 .DB.B835835: ld.l r0(r5), r28 subs 0, r28, r0 bnc .B837 adds -1, r28, r18 orh h%_ref_texture_ramps, r0, r31 or l%_ref_texture_ramps, r31, r20 ld.l 48(fp), r21 adds -1, r0, r17 mov r0, r19 bla r17, r18,.B1216 pfmul.dd f0, f0, f0 // lineno: 955 .B1216: //.M0001 ld.l r0(r20), r28 .DB.B12161216: btne r21, r28, .B839 // lineno: 0 mov r19, r4 br .B1200 mov r19, r16 // lineno: 956 .B839: //.B0046 adds 1, r19, r19 .DB.B839839: bla r17, r18, .B1216 addu 4, r20, r20 // lineno: 0 mov r19, r4 // lineno: 958 .B837: //.B0045 ld.l r0(r5), r28 .DB.B837837: adds 28, r0, r29 ixfr r28, f16 ixfr r29, f18 orh h%_texture_ramps, r0, r31 or l%_texture_ramps, r31, r16 fmlow.dd f16, f18, f20 shl 2, r28, r22 orh h%_ref_texture_ramps, r0, r31 or l%_ref_texture_ramps, r31, r23 fxfr f20, r30 ld.l 48(fp), r24 adds r30, r16, r16 mov r28, r17 adds r22, r23, r31 st.l r24, 0(r31) fld.l 8(r24), f8 fld.l 12(r24), f9 fld.l 16(r24), f10 fld.l 20(r24), f11 fld.l 24(r24), f12 call _setRampEntry fld.l 28(r24), f13 ld.l r0(r5), r28 adds 1, r28, r29 st.l r29, 0(r5) adds -1, r29, r16 // lineno: 0 .B1200: //.R0005 // lineno: 972 ld.l -8(fp), r4 ld.l -4(fp), r5 adds .a10+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cull_material: .a11 = 80 .f11 = 32 addu -(.a11+.f11), sp, sp st.l fp,(.f11-16)(sp) addu (.f11-16), sp, fp st.l r1, 4(fp) st.l r4, -8(fp) st.l r5, -4(fp) st.l r16, 48(fp) st.l r17, 52(fp) st.l r18, 56(fp) // lineno: 0 // lineno: 990 ld.l 52(fp), r28 adds 12, r0, r18 call _memcpy addu 36, r28, r17 ld.l 48(fp), r28 ld.l 52(fp), r29 addu 16, r28, r16 addu 60, r29, r17 adds 12, r0, r18 fld.l 48(r29), f16 call _memcpy fst.l f16, 12(r28) ld.l 52(fp), r28 call _compute_phong_table fld.l 72(r28), f8 ld.l 48(fp), r28 adds -1, r0, r29 st.l r16, 28(r28) st.l r29, 32(r28) ld.l 56(fp), r30 bte 0x0000, r30, .B851 ld.l 8(r30), r5 bte 0x0000, r5, .B854 ld.l 52(fp), r17 ld.l 76(r17), r18 bte 0x0000, r18, .B856 call _next_free_ramp mov r18, r16 br .B857 mov r16, r4 // lineno: 1003 .B856: //.B0049 mov r0, r4 .DB.B856856: // lineno: 1014 .B857: //.B0050 ld.l 28(r5), r28 .DB.B857857: ld.l 24(r5), r17 and 0x003f, r28, r29 shl 2, r29, r30 or r17, r30, r18 shl 8, r4, r19 or r18, r19, r20 ld.l 56(fp), r21 ld.l 48(fp), r27 ld.l 12(r21), r22 addu 36, r27, r29 adds -1, r22, r23 and 0x0007, r23, r24 shl 10, r24, r25 or r20, r25, r26 st.l r26, 32(r27) orh ha%_animate_elapsed_time, r0, r28 fld.l l%_animate_elapsed_time(r28)++, f16 fld.l 44(r21), f17 fld.l 36(r21), f19 fmul.ss f16, f17, f18 orh ha%.C01226, r0, r31 fld.d l%.C01226(r31), f28 fadd.ss f18, f19, f20 fst.l f20, r0(r29) ftrunc.sd f20, f12 fld.l 48(r21), f21 fld.l r0(r28), f22 fld.l 40(r21), f24 fmul.ss f22, f21, f23 fadd.ss f23, f24, f25 ftrunc.sd f25, f26 fxfr f26, r30 xorh 0x8000, r30, r17 ixfr r17, f30 fiadd.ss f29, f0, f31 fsub.dd f30, f28, f8 fmov.ds f8, f10 fsub.ss f25, f10, f11 fst.l f11, 40(r27) fxfr f12, r19 xorh 0x8000, r19, r18 ixfr r18, f14 fiadd.ss f29, f0, f15 fsub.dd f14, f28, f16 fmov.ds f16, f19 fsub.ss f20, f19, f18 fst.l f18, r0(r29) pfle.ss f0, f18, f0 bnc .B860 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f21 fadd.ss f18, f21, f22 fst.l f22, r0(r29) // lineno: 1029 .B860: //.B0051 ld.l 48(fp), r28 .DB.B860860: fld.l 40(r28), f16 pfle.ss f0, f16, f0 bnc .B861 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f17 fadd.ss f16, f17, f18 fst.l f18, 40(r28) // lineno: 1031 .B861: //.B0052 ld.l 48(fp), r28 .DB.B861861: fld.l 36(r28), f16 orh ha%.C00862, r0, r31 fld.l l%.C00862(r31), f17 fld.l 40(r28), f19 fmul.ss f16, f17, f18 fst.l f18, 36(r28) fmul.ss f19, f17, f20 fst.l f20, 40(r28) // lineno: 0 .B854: //.B0048 // lineno: 0 .B851: //.B0047 // lineno: 1035 ld.l -8(fp), r4 ld.l -4(fp), r5 adds .a11+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _whichLOD: // lineno: 0 // lineno: 1161 ld.l 16(r16), r19 bte 0x0000, r19, .B868 br .B1231 ld.l r0(r19), r16 // lineno: 1166 .B868: //.B0053 mov r0, r16 .DB.B868868: // lineno: 0 .B1231: //.R0006 // lineno: 1167 bri r1 nop .align 8 _cull_lmodel: .a13 = 80 .f13 = 32 addu -(.a13+.f13), sp, sp st.l fp,(.f13-16)(sp) addu (.f13-16), sp, fp st.l r1, 4(fp) st.l r4, -8(fp) st.l r16, 48(fp) st.l r17, 52(fp) // lineno: 0 // lineno: 1175 btne 0x0000, r16, .B874 orh h%.S00875, r0, r31 or l%.S00875, r31, r16 orh h%.B1235, r0, r1 br _printf or l%.B1235, r1, r1 // lineno: 1180 .B874: //.B0055 adds 496, r0, r16 .DB.B874874: call _new_draw_item adds 6, r0, r17 mov r16, r4 bte 0x0000, r16, .B879 mov r16, r28 addu 72, r16, r16 ld.l 52(fp), r17 adds 16, r0, r18 ld.l 48(fp), r29 st.l r0, 100(r28) st.l r29, 104(r28) st.l r0, 4(r28) fst.l f0, 88(r28) fst.l f0, 92(r28) fst.l f0, 96(r28) orh h%.B881, r0, r1 br _memcpy or l%.B881, r1, r1 // lineno: 1192 .B879: //.B0056 orh h%.S00882, r0, r31 .DB.B879879: call _printf or l%.S00882, r31, r16 // lineno: 1194 .B881: //.B0057 // lineno: 0 .B1235: //.R0007 // lineno: 0 ld.l -8(fp), r4 adds .a13+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cull_geogroup: .a14 = 80 .f14 = 48 addu -(.a14+.f14), sp, sp st.l fp,(.f14-16)(sp) addu (.f14-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) st.l r9, -4(fp) st.l r16, 48(fp) st.l r17, 52(fp) st.l r18, 56(fp) st.l r19, 60(fp) st.l r21, 68(fp) // lineno: 0 // lineno: 1208 orh ha%.BSS, r0, r31 ld.l l%.BSS(r31), r28 mov r0, r4 bte 0x0000, r28, .B898 br .B899 mov r28, r7 // lineno: 1213 .B898: //.B0058 ld.l 64(r16), r7 .DB.B898898: // lineno: 1215 .B899: //.B0059 orh ha%.BSS+4, r0, r31 .DB.B899899: ld.l l%.BSS+4(r31), r28 bte 0x0000, r28, .B900 br .B901 mov r28, r6 // lineno: 1218 .B900: //.B0060 ld.l 48(fp), r28 .DB.B900900: ld.l 68(r28), r6 // lineno: 1220 .B901: //.B0061 bte 0x0000, r7, .B902 orh ha%.BSS+8, r0, r31 ld.l l%.BSS+8(r31), r28 adds 512, r0, r4 bte 0x0000, r28, .B905 br .B906 mov r28, r9 // lineno: 1225 .B905: //.B0063 ld.l 8(r7), r9 .DB.B905905: // lineno: 0 .B906: //.B0064 // lineno: 1227 .B902: //.B0062 bte 0x0000, r6, .B907 orh ha%.BSS+12, r0, r31 ld.l l%.BSS+12(r31), r28 or 0x0400, r4, r4 bte 0x0000, r28, .B910 br .B911 mov r28, r8 // lineno: 1232 .B910: //.B0066 ld.l 8(r6), r8 .DB.B910910: // lineno: 0 .B911: //.B0067 // lineno: 1235 .B907: //.B0065 bte 0x0000, r4, .B912 adds 272, r0, r16 call _new_draw_item adds 10, r0, r17 mov r16, r5 bte 0x0000, r16, .B915 bte 0x0000, r7, .B917 addu 184, r16, r16 mov r7, r17 call _cull_material mov r9, r18 // lineno: 1241 .B917: //.B0070 bte 0x0000, r6, .B918 addu 228, r5, r16 mov r6, r17 call _cull_material mov r8, r18 // lineno: 1244 .B918: //.B0071 orh ha%.BSS+16, r0, r31 .DB.B918918: fld.l l%.BSS+16(r31), f16 ld.l 48(fp), r28 addu 8, r5, r16 fst.l f16, 176(r5) st.l r28, 4(r5) ld.l 44(r28), r29 or r29, r4, r30 st.l r30, 172(r5) orh ha%_current_frame_count, r0, r31 ld.l l%_current_frame_count(r31), r17 st.l r17, 180(r5) call _matrix_copy ld.l 52(fp), r17 addu 72, r5, r16 call _matrix_copy ld.l 56(fp), r17 addu 136, r5, r16 ld.l 60(fp), r17 call _memcpy adds 12, r0, r18 fld.l 136(r5), f16 fld.l 140(r5), f18 fld.l 144(r5), f20 fsub.ss f0, f16, f17 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f22 fst.l f17, 152(r5) fsub.ss f0, f18, f19 orh ha%.C00920, r0, r31 fld.l l%.C00920(r31), f23 fst.l f19, 156(r5) fsub.ss f0, f20, f21 ld.l 68(fp), r28 fst.l f21, 160(r5) fst.l f22, 148(r5) fst.l f23, 164(r5) br .B921 st.l r28, 168(r5) // lineno: 1265 .B915: //.B0069 orh h%.S00922, r0, r31 .DB.B915915: call _printf or l%.S00922, r31, r16 // lineno: 1271 .B921: //.B0072 br .B925 nop // lineno: 0 .B912: //.B0068 orh h%.S00926, r0, r31 .DB.B912912: call _printf or l%.S00926, r31, r16 // lineno: 0 .B925: //.B0073 // lineno: 1273 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 ld.l -4(fp), r9 adds .a14+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cull_object: .a15 = 80 .f15 = 336 addu -(.a15+.f15), sp, sp st.l fp,(.f15-16)(sp) addu (.f15-16), sp, fp st.l r1, 4(fp) st.l r4, -312(fp) st.l r5, -308(fp) st.l r6, -304(fp) st.l r7, -300(fp) st.l r8, -296(fp) st.l r9, -292(fp) st.l r10, -288(fp) st.l r11, -284(fp) st.l r12, -280(fp) st.l r16, 48(fp) st.l r17, 52(fp) st.l r18, 56(fp) st.l r19, 60(fp) st.l r20, 64(fp) // lineno: 0 orh h%.BSS+20, r0, r31 or l%.BSS+20, r31, r9 orh h%.BSS+132, r0, r31 or l%.BSS+132, r31, r10 orh h%.BSS+84, r0, r31 or l%.BSS+84, r31, r12 // lineno: 1292 call _dpl_IdMatrix mov r9, r16 ld.l 60(fp), r28 mov r9, r16 addu 64, r28, r17 mov r9, r18 orh ha%.C00920, r0, r31 fld.l l%.C00920(r31), f16 orh h%.BSS+60, r0, r31 or l%.BSS+60, r31, r29 fst.l f16, r0(r29) call _fn_concatenate fst.l f16, -20(r29) ld.l 52(fp), r17 mov r9, r16 call _fn_concatenate mov r9, r18 call _scale_from_matrix mov r9, r16 fiadd.ss f8, f0, f16 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f8 mov r9, r16 ld.l 60(fp), r28 fld.l 168(r28), f9 orh ha%.BSS+16, r0, r31 fst.l f16, l%.BSS+16(r31) call _dpl_Scale fiadd.ss f8, f0, f10 ld.l 48(fp), r16 ld.l 64(fp), r17 call _whichLOD mov r9, r18 mov r16, r11 bte 0x0000, r16, .B1281 mov r16, r28 adds -128, fp, r16 call _build_bound addu 8, r28, r17 adds -128, fp, r16 mov r16, r17 call _fn_xform_bound mov r9, r18 adds -128, fp, r16 call _visibility ld.l 60(fp), r17 mov r16, r4 xor 0x0040, r16, r0 bc .B948 adds -192, fp, r16 call _dpl_Invert ld.l 52(fp), r17 ld.l 60(fp), r17 mov r12, r16 call _fn_concatenate adds -192, fp, r18 call _dpl_IdMatrix adds -256, fp, r16 ld.l 60(fp), r28 adds -256, fp, r17 fld.l 168(r28), f16 mov r12, r16 mov r12, r18 call _dpl_Concat fst.l f16, -236(fp) fld.l 8(r11), f16 fld.l 24(r11), f17 orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f19 fadd.ss f17, f16, f18 adds -272, fp, r16 ld.l 52(fp), r18 fmul.ss f18, f19, f20 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f29 fst.l f20, r0(r16) mov r16, r17 fld.l 12(r11), f21 fld.l 28(r11), f22 fadd.ss f22, f21, f23 fmul.ss f23, f19, f24 fst.l f24, -268(fp) fld.l 16(r11), f25 fld.l 32(r11), f26 fst.l f29, -260(fp) fadd.ss f26, f25, f27 fmul.ss f27, f19, f28 call _dpl_XformPoint fst.l f28, -264(fp) ld.l 56(fp), r16 call _cull_lmodel adds -272, fp, r17 ld.l 52(r11), r6 bte 0x0000, r6, .B954 ld.l 60(fp), r8 // lineno: 1356 .B1305: //.M0002 ld.l r0(r6), r7 .DB.B13051305: btne 0x0000, r4, .B957 mov r7, r16 mov r9, r17 adds -192, fp, r18 mov r10, r19 mov r8, r20 mov r0, r21 orh h%.B958, r0, r1 br _cull_geogroup or l%.B958, r1, r1 // lineno: 1362 .B957: //.B0078 xor 0x0040, r4, r0 .DB.B957957: bc .B959 adds -128, fp, r16 call _build_bound addu 8, r7, r17 adds -128, fp, r16 mov r16, r17 call _fn_xform_bound mov r9, r18 adds -128, fp, r16 call _visibility mov r8, r17 mov r16, r5 xor 0x0040, r16, r0 bc .B961 mov r16, r28 mov r7, r16 mov r9, r17 adds -192, fp, r18 mov r10, r19 mov r8, r20 call _cull_geogroup mov r28, r21 // lineno: 0 .B961: //.B0081 // lineno: 0 .B959: //.B0080 // lineno: 1369 .B958: //.B0079 ld.l 8(r6), r6 .DB.B958958: xor 0x0000, r6, r0 bnc.t .DB.B13051305 ld.l r0(r6), r7 // lineno: 0 // lineno: 0 .B954: //.B0077 // lineno: 1371 .B948: //.B0075 // lineno: 0 .B1281: //.R0008 // lineno: 0 ld.l -312(fp), r4 ld.l -308(fp), r5 ld.l -304(fp), r6 ld.l -300(fp), r7 ld.l -296(fp), r8 ld.l -292(fp), r9 ld.l -288(fp), r10 ld.l -284(fp), r11 ld.l -280(fp), r12 adds .a15+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cull_node: .a16 = 80 .f16 = 48 addu -(.a16+.f16), sp, sp st.l fp,(.f16-16)(sp) addu (.f16-16), sp, fp st.l r1, 4(fp) st.l r4, -16(fp) st.l r5, -12(fp) st.l r6, -8(fp) st.l r16, 48(fp) st.l r18, 56(fp) st.l r19, 60(fp) // lineno: 0 // lineno: 1382 ld.l 8(r17), r6 bte 0x0000, r6, .B1308 ld.l 4(r6), r28 btne 0x0007, r28, .B970 mov r6, r5 ld.l 12(r6), r29 btne 0x0003, r29, .B973 fld.l 32(r16), f16 fsub.ss f0, f16, f17 fst.l f17, 44(r6) fld.l 36(r16), f18 fsub.ss f0, f18, f19 fst.l f19, 48(r6) fld.l 40(r16), f20 fsub.ss f0, f20, f21 br .B975 fst.l f21, 52(r6) // lineno: 1400 .B973: //.B0084 fld.l 48(r16), f16 .DB.B973973: fsub.ss f0, f16, f17 fst.l f17, 44(r5) fld.l 52(r16), f18 fsub.ss f0, f18, f19 fst.l f19, 48(r5) fld.l 56(r16), f20 fsub.ss f0, f20, f21 fst.l f21, 52(r5) // lineno: 1413 .B975: //.B0085 br .B977 nop // lineno: 1415 .B970: //.B0083 ld.l 4(r6), r28 .DB.B970970: btne 0x0004, r28, .B978 mov r6, r4 btne 0x0000, r19, .B982 orh h%.S00983, r0, r31 or l%.S00983, r31, r16 orh h%.B1308, r0, r1 br _printf or l%.B1308, r1, r1 // lineno: 1422 .B982: //.B0088 ld.l 20(r4), r28 .DB.B982982: bte 0x0000, r28, .B986 orh ha%_current_frame_count, r0, r31 ld.l l%_current_frame_count(r31), r29 ld.l 28(r4), r18 st.l r29, 44(r4) orh h%.BSS, r0, r31 or l%.BSS, r31, r30 st.l r18, 0(r30) ld.l 32(r4), r20 ld.l 36(r4), r21 st.l r20, 4(r30) st.l r21, 8(r30) ld.l 40(r4), r22 ld.l 12(r4), r23 st.l r22, 12(r30) bte 0x0000, r23, .B989 call _billboardize mov r0, r17 // lineno: 1441 .B989: //.B0090 ld.l 20(r4), r16 .DB.B989989: ld.l 48(fp), r17 ld.l 60(fp), r18 ld.l 56(fp), r19 call _cull_object addu 48, r4, r20 // lineno: 1446 .B986: //.B0089 br .B990 nop // lineno: 0 .B978: //.B0087 orh h%.S00991, r0, r31 .DB.B978978: call _printf or l%.S00991, r31, r16 // lineno: 0 .B990: //.B0091 // lineno: 1448 .B977: //.B0086 // lineno: 0 .B1308: //.R0009 // lineno: 0 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a16+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cull_tree: .a17 = 80 .f17 = 112 addu -(.a17+.f17), sp, sp st.l fp,(.f17-16)(sp) addu (.f17-16), sp, fp st.l r1, 4(fp) st.l r4, -80(fp) st.l r5, -76(fp) st.l r6, -72(fp) st.l r7, -68(fp) st.l r16, 48(fp) st.l r17, 52(fp) st.l r18, 56(fp) st.l r19, 60(fp) // lineno: 0 // lineno: 1459 ld.l 52(fp), r28 adds -64, fp, r16 addu 12, r28, r17 call _fn_concatenate ld.l 48(fp), r18 ld.l 52(fp), r28 ld.l 92(r28), r29 bte 0x0000, r29, .B1000 ld.l 76(r28), r30 and 0x0002, r30, r0 bc .B1000 adds -64, fp, r16 ld.l 56(fp), r18 mov r29, r17 call _cull_tree ld.l 60(fp), r19 // lineno: 1466 .B1000: //.B0092 ld.l 52(fp), r28 .DB.B10001000: ld.l 76(r28), r29 and 0x0001, r29, r0 bc .B1001 adds -64, fp, r16 ld.l 56(fp), r18 mov r28, r17 call _cull_node ld.l 60(fp), r19 // lineno: 1470 .B1001: //.B0093 ld.l 52(fp), r28 .DB.B10011001: ld.l 88(r28), r29 bte 0x0000, r29, .B1003 ld.l 56(fp), r5 ld.l 60(fp), r6 ld.l 48(fp), r7 mov r28, r4 // lineno: 1472 .B1327: //.M0003 ld.l 88(r4), r4 .DB.B13271327: ld.l 76(r4), r28 and 0x0001, r28, r0 bc .B1005 adds -64, fp, r16 addu 12, r4, r17 call _fn_concatenate mov r7, r18 adds -64, fp, r16 mov r4, r17 mov r5, r18 call _cull_node mov r6, r19 // lineno: 1476 .B1005: //.B0096 ld.l 88(r4), r28 .DB.B10051005: xor 0x0000, r28, r0 bnc.t .DB.B13271327 ld.l 88(r4), r4 // lineno: 0 st.l r4, 52(fp) // lineno: 0 .B1003: //.B0095 // lineno: 1477 ld.l -80(fp), r4 ld.l -76(fp), r5 ld.l -72(fp), r6 ld.l -68(fp), r7 adds .a17+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _veloci_cull .align 8 _veloci_cull: .a18 = 80 .f18 = 112 addu -(.a18+.f18), sp, sp st.l fp,(.f18-16)(sp) addu (.f18-16), sp, fp st.l r1, 4(fp) st.l r4, -88(fp) st.l r5, -84(fp) st.l r6, -80(fp) st.l r7, -76(fp) st.l r8, -72(fp) st.l r16, 48(fp) // lineno: 0 orh h%.BSS+148, r0, r31 or l%.BSS+148, r31, r6 orh h%_chunk_head, r0, r31 or l%_chunk_head, r31, r7 orh h%_current_frame_count, r0, r31 or l%_current_frame_count, r31, r8 // lineno: 1487 ld.l r0(r8), r28 btne 0x0000, r28, .B1018 call _malloc adds 4096, r0, r16 addu 16, r16, r28 orh ha%_chunk_free_ptr, r0, r31 st.l r28, l%_chunk_free_ptr(r31) orh ha%_chunk_active, r0, r31 st.l r16, l%_chunk_active(r31) adds 1, r0, r29 st.l r29, 12(r16) st.l r16, 0(r7) st.l r0, 4(r16) st.l r0, 8(r16) br .B1020 st.l r0, 0(r16) // lineno: 1502 .B1018: //.B0097 ld.l r0(r7), r28 .DB.B10181018: adds 1, r0, r30 addu 16, r28, r29 orh ha%_chunk_free_ptr, r0, r31 st.l r29, l%_chunk_free_ptr(r31) orh ha%_chunk_active, r0, r31 st.l r28, l%_chunk_active(r31) st.l r0, 8(r28) st.l r0, 0(r28) st.l r30, 12(r28) orh ha%_chunk_usage, r0, r31 st.l r0, l%_chunk_usage(r31) // lineno: 1511 .B1020: //.B0098 adds 1, r0, r28 .DB.B10201020: orh ha%_allocated_ramps, r0, r31 st.l r28, l%_allocated_ramps(r31) call _dpl_IdMatrix adds -64, fp, r16 ld.l r0(r8), r28 ld.l 48(fp), r17 adds 1, r28, r29 st.l r29, 0(r8) call _cull_view mov r6, r16 ld.l 48(fp), r28 ld.l 156(r28), r5 bte 0x0000, r5, .B1023 // lineno: 1520 .B1345: //.M0004 ld.l r0(r5), r4 .DB.B13451345: ld.l 16(r4), r28 bte 0x0000, r28, .B1025 ld.l 8(r4), r29 bte 0x0000, r29, .B1026 adds -64, fp, r16 ld.l 12(r4), r19 mov r29, r17 call _cull_tree mov r6, r18 // lineno: 0 .B1026: //.B0102 // lineno: 1525 .B1025: //.B0101 ld.l 8(r5), r5 .DB.B10251025: xor 0x0000, r5, r0 bnc.t .DB.B13451345 ld.l r0(r5), r4 // lineno: 0 // lineno: 1527 .B1023: //.B0100 orh ha%_the_scene+16, r0, r31 .DB.B10231023: ld.l l%_the_scene+16(r31), r5 bte 0x0000, r5, .B1028 // lineno: 1528 .B1346: //.M0005 ld.l r0(r5), r4 .DB.B13461346: ld.l 16(r4), r28 bte 0x0000, r28, .B1030 ld.l 8(r4), r29 bte 0x0000, r29, .B1031 adds -64, fp, r16 ld.l 12(r4), r19 mov r29, r17 call _cull_tree mov r6, r18 // lineno: 0 .B1031: //.B0106 // lineno: 1533 .B1030: //.B0105 ld.l 8(r5), r5 .DB.B10301030: xor 0x0000, r5, r0 bnc.t .DB.B13461346 ld.l r0(r5), r4 // lineno: 0 // lineno: 1535 .B1028: //.B0104 ld.l r0(r7), r28 .DB.B10281028: orh ha%.BSS+408, r0, r31 st.l r28, l%.BSS+408(r31) mov r6, r16 // lineno: 0 // lineno: 1538 ld.l -88(fp), r4 ld.l -84(fp), r5 ld.l -80(fp), r6 ld.l -76(fp), r7 ld.l -72(fp), r8 adds .a18+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .data .align 8 .C00037: // (0) .long 0x40000000 // 2.00000000E+00 .C00038: // (4) .long 0x3f000000 // 5.00000000E-01 .C00036: // (8) .long 0x3f800000 // 1.00000000E+00 .align 8 .C01226: // (16) .long 0x80000000, 0x43300000 // 4.50360177485414400E+15 .C00862: // (24) .long 0x3e000000 // 1.25000000E-01 .C00920: // (28) .long 0xbf800000 // -1.00000000E+00 .data .align 1 .S00661: // // " [ %f, %f, %f, %f ]\n" .byte 0x20,0x5b,0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x2c,0x20 .byte 0x25,0x66,0x2c,0x20,0x25,0x66,0x20,0x5d,0x0a,0x00 .S00665: // // " [ %f, %f, %f, %f ]\n" .byte 0x20,0x5b,0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x2c,0x20 .byte 0x25,0x66,0x2c,0x20,0x25,0x66,0x20,0x5d,0x0a,0x00 .S00667: // // " [ %f, %f, %f, %f ]\n" .byte 0x20,0x5b,0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x2c,0x20 .byte 0x25,0x66,0x2c,0x20,0x25,0x66,0x20,0x5d,0x0a,0x00 .S00669: // // " [ %f, %f, %f, %f ]\n" .byte 0x20,0x5b,0x20,0x25,0x66,0x2c,0x20,0x25,0x66,0x2c,0x20 .byte 0x25,0x66,0x2c,0x20,0x25,0x66,0x20,0x5d,0x0a,0x00 .S00736: // // "Velocirender ran out of memory in new_draw_item\n" .byte 0x56,0x65,0x6c,0x6f,0x63,0x69,0x72,0x65,0x6e,0x64,0x65 .byte 0x72,0x20,0x72,0x61,0x6e,0x20,0x6f,0x75,0x74,0x20,0x6f .byte 0x66,0x20,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x20,0x69,0x6e .byte 0x20,0x6e,0x65,0x77,0x5f,0x64,0x72,0x61,0x77,0x5f,0x69 .byte 0x74,0x65,0x6d,0x0a,0x00 .S00875: // // "cull_lmodel returning due to NULL lmodel\n" .byte 0x63,0x75,0x6c,0x6c,0x5f,0x6c,0x6d,0x6f,0x64,0x65,0x6c .byte 0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x69,0x6e,0x67,0x20 .byte 0x64,0x75,0x65,0x20,0x74,0x6f,0x20,0x4e,0x55,0x4c,0x4c .byte 0x20,0x6c,0x6d,0x6f,0x64,0x65,0x6c,0x0a,0x00 .S00882: // // "Failed to allocate draw item\n" .byte 0x46,0x61,0x69,0x6c,0x65,0x64,0x20,0x74,0x6f,0x20,0x61 .byte 0x6c,0x6c,0x6f,0x63,0x61,0x74,0x65,0x20,0x64,0x72,0x61 .byte 0x77,0x20,0x69,0x74,0x65,0x6d,0x0a,0x00 .S00922: // // "Failed to allocate draw item\n" .byte 0x46,0x61,0x69,0x6c,0x65,0x64,0x20,0x74,0x6f,0x20,0x61 .byte 0x6c,0x6c,0x6f,0x63,0x61,0x74,0x65,0x20,0x64,0x72,0x61 .byte 0x77,0x20,0x69,0x74,0x65,0x6d,0x0a,0x00 .S00926: // // "Not bothering to draw, no materials\n" .byte 0x4e,0x6f,0x74,0x20,0x62,0x6f,0x74,0x68,0x65,0x72,0x69 .byte 0x6e,0x67,0x20,0x74,0x6f,0x20,0x64,0x72,0x61,0x77,0x2c .byte 0x20,0x6e,0x6f,0x20,0x6d,0x61,0x74,0x65,0x72,0x69,0x61 .byte 0x6c,0x73,0x0a,0x00 .S00983: // // "No lighting model, returning\n" .byte 0x4e,0x6f,0x20,0x6c,0x69,0x67,0x68,0x74,0x69,0x6e,0x67 .byte 0x20,0x6d,0x6f,0x64,0x65,0x6c,0x2c,0x20,0x72,0x65,0x74 .byte 0x75,0x72,0x6e,0x69,0x6e,0x67,0x0a,0x00 .S00991: // // "Unexpected node type in dcs\n" .byte 0x55,0x6e,0x65,0x78,0x70,0x65,0x63,0x74,0x65,0x64,0x20 .byte 0x6e,0x6f,0x64,0x65,0x20,0x74,0x79,0x70,0x65,0x20,0x69 .byte 0x6e,0x20,0x64,0x63,0x73,0x0a,0x00 .data .globl _current_frame_count .align 4 _current_frame_count: //current_frame_count .long 0 .globl _allocated_ramps _allocated_ramps: //allocated_ramps .long 0 _chunk_head: //chunk_head .long 0 _chunk_active: //chunk_active .long 0 _chunk_free_ptr: //chunk_free_ptr .long 0 _chunk_usage: //chunk_usage .long 0 .lcomm .STACK,48 .lcomm .BSS,416 //f_mtl_override +0 //b_mtl_override +4 //f_tex_override +8 //b_tex_override +12 //sphere_scale +16 //render_f +20 //render_b +84 //view +148 .data .comm _ref_texture_ramps,16 .comm _texture_ramps,112 .extern _billboardize .extern _dpl_XformPoint .extern _dpl_Concat .extern _fn_xform_bound .extern _dpl_Scale .extern _fn_concatenate .extern _dpl_IdMatrix .extern _matrix_copy .extern _compute_phong_table .extern _setRampEntry .extern _sqrt .extern _malloc .extern _dpl_Invert .extern _memcpy .extern _printf