.file "sfx.c" // PGC Rel 2.0a -opt 2 .text .align 8 _float_0to1: // lineno: 0 orh ha%_sfx_random_ix, r0, r31 ld.l l%_sfx_random_ix(r31), r16 // lineno: 66 adds 1, r16, r16 adds -67, r16, r0 bc .B607 mov r0, r16 // lineno: 71 .B607: //.B0000 orh h%_sfx_random_numbers, r0, r31 .DB.B607607: or l%_sfx_random_numbers, r31, r29 shl 2, r16, r30 fld.l r29(r30), f8 // lineno: 0 orh ha%_sfx_random_ix, r0, r31 bri r1 st.l r16, l%_sfx_random_ix(r31) // lineno: 72 bri r1 nop .align 8 _makeBangMtls: .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) st.l r4, -8(fp) // lineno: 0 // lineno: 116 orh h%_first_mtl, r0, r31 or l%_first_mtl, r31, r28 ld.l 0(r28), r29 bte 0x0000, r29, .B923 orh ha%_first_mtl, r0, r31 call _create_material st.l r0, l%_first_mtl(r31) call _add_material mov r16, r4 addu 84, r4, r16 orh h%.S00629, r0, r31 call _strcpy or l%.S00629, r31, r17 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f16 orh ha%.C00631, r0, r31 fld.l l%.C00631(r31), f17 fst.l f16, 4(r4) fst.l f17, 8(r4) orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f18 orh ha%.C00633, r0, r31 fld.l l%.C00633(r31), f19 fst.l f18, 12(r4) call _create_material fst.l f19, 24(r4) call _add_material mov r16, r4 addu 84, r4, r16 orh h%.S00634, r0, r31 call _strcpy or l%.S00634, r31, r17 orh ha%.C00636, r0, r31 fld.l l%.C00636(r31), f16 fst.l f16, 4(r4) fst.l f16, 8(r4) call _create_material fst.l f16, 12(r4) call _add_material mov r16, r4 addu 84, r4, r16 orh h%.S00637, r0, r31 call _strcpy or l%.S00637, r31, r17 orh ha%.C00636, r0, r31 fld.l l%.C00636(r31), f16 orh ha%.C00639, r0, r31 fld.l l%.C00639(r31), f17 fst.l f16, 4(r4) fst.l f17, 8(r4) fst.l f17, 12(r4) // lineno: 0 .B923: //.R0001 // lineno: 149 ld.l -8(fp), r4 adds .a2+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _vertex_block: .a3 = 80 .f3 = 48 addu -(.a3+.f3), sp, sp st.l fp,(.f3-16)(sp) addu (.f3-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 r17, 52(fp) mov r16, r4 // lineno: 0 // lineno: 158 adds 56, r0, r28 ixfr r28, f16 ixfr r4, f18 fmlow.dd f18, f16, f20 call _malloc fxfr f20, r16 mov r16, r5 subs 0, r4, r0 mov r16, r6 bnc .B647 ld.l 52(fp), r28 adds -1, r4, r18 addu 8, r28, r20 adds -1, r0, r17 mov r16, r19 bla r17, r18,.B946 pfmul.dd f0, f0, f0 // lineno: 163 .B946: //.M0000 st.l r19, 0(r20) .DB.B946946: mov r19, r28 addu 56, r19, r19 bla r17, r18, .B946 st.l r19, 44(r28) // lineno: 0 mov r19, r6 // lineno: 166 .B647: //.B0003 ld.l 52(fp), r28 .DB.B647647: mov r5, r16 ld.l 8(r28), r29 st.l r0, 44(r29) st.l r5, 4(r28) st.l r4, 28(r28) // lineno: 0 // lineno: 175 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a3+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _initBang: .a4 = 80 .f4 = 176 addu -(.a4+.f4), sp, sp st.l fp,(.f4-16)(sp) addu (.f4-16), sp, fp st.l r1, 4(fp) fst.d f2, -152(fp) fst.d f4, -144(fp) fst.d f6, -136(fp) st.l r4, -128(fp) st.l r5, -124(fp) st.l r6, -120(fp) st.l r7, -116(fp) st.l r8, -112(fp) st.l r9, -108(fp) st.l r10, -104(fp) st.l r11, -100(fp) st.l r12, -96(fp) st.l r13, -92(fp) st.l r14, -88(fp) st.l r15, -84(fp) fld.l r0(r28), f6 st.l r16, 48(fp) st.l r17, 52(fp) st.l r18, 56(fp) fst.l f8, 16(fp) fst.l f9, 20(fp) fst.l f10, 24(fp) fst.l f11, 28(fp) fst.l f12, 32(fp) fst.l f13, 36(fp) fst.l f14, 40(fp) fst.l f15, 44(fp) st.l r28, -4(fp) // lineno: 0 orh ha%.C00672, r0, r31 fld.l l%.C00672(r31), f4 orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f5 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f7 // lineno: 198 ld.l 48(fp), r29 adds 12, r0, r17 ld.l 4(r29), r30 ld.l 140(r30), r16 mov r16, r16 call _nameToAddress nop ld.l -4(fp), r28 ld.l 4(r16), r29 fld.l 36(fp), f16 ld.l 8(r29), r30 fld.l 40(fp), f18 ld.l 4(r30), r17 fmul.ss f16, f4, f17 ld.l 4(r17), r6 st.l r17, -20(fp) fst.l f17, 36(fp) fmul.ss f18, f4, f19 fld.l 44(fp), f20 st.l r30, -16(fp) fst.l f19, 40(fp) fmul.ss f20, f4, f21 orh h%_sfx_random_base, r0, r31 or l%_sfx_random_base, r31, r18 fst.l f21, 44(fp) ld.l r0(r18), r19 orh ha%_sfx_random_ix, r0, r31 st.l r19, l%_sfx_random_ix(r31) adds 1, r19, r20 st.l r20, 0(r18) st.l r29, -12(fp) adds -67, r20, r0 st.l r16, -8(fp) bc .B673 st.l r0, 0(r18) // lineno: 216 .B673: //.B0004 orh ha%.C00674, r0, r31 .DB.B673673: fld.l l%.C00674(r31), f16 ld.l 48(fp), r29 ld.l 56(fp), r16 fst.l f16, 1180(r29) ld.l 4(r29), r30 st.l r16, 1172(r29) ld.l 52(fp), r17 fld.l 32(fp), f17 st.l r17, 0(r29) st.l r0, 152(r30) ld.l r0(r29), r18 st.l r0, 1184(r29) fst.l f17, 1164(r29) fld.l 16(fp), f18 st.l r0, 1168(r29) fst.l f18, 1160(r29) orh ha%.C00675, r0, r31 fld.l l%.C00675(r31), f19 fst.l f19, 1176(r29) btne 0x0000, r18, .B676 br .B677 adds 24, r0, r5 // lineno: 230 .B676: //.B0005 adds 32, r0, r5 .DB.B676676: // lineno: 232 .B677: //.B0006 orh ha%.C00679, r0, r31 .DB.B677677: fld.l l%.C00679(r31), f16 fld.l 24(fp), f17 mov r0, r4 fmul.ss f17, f16, f18 subs 0, r5, r0 fst.l f18, 24(fp) bnc .B681 ld.l 48(fp), r29 addu 12, r6, r7 addu 16, r29, r30 st.l r30, -24(fp) addu 1176, r29, r16 st.l r16, -28(fp) addu 1032, r29, r13 addu 8, r29, r14 addu 12, r29, r15 addu 4, r6, r8 addu 8, r6, r9 addu 32, r6, r10 addu 36, r6, r11 addu 40, r6, r12 mov r0, r4 // lineno: 237 .B1026: //.M0001 fld.l 24(fp), f16 .DB.B10261026: st.l r0, 0(r13) fst.l f16, -32(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -32(fp), f17 fld.l 24(fp), f19 fld.l 28(fp), f20 fmul.ss f17, f16, f18 fst.l f18, r0(r14) fst.l f20, -40(fp) fst.l f19, -36(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -40(fp), f17 fld.l -36(fp), f19 fld.l 24(fp), f21 fadd.ss f17, f16, f18 fmul.ss f19, f18, f20 fst.l f20, r0(r15) fst.l f21, -44(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -44(fp), f17 ld.l -24(fp), r29 fmul.ss f17, f16, f18 fst.l f18, r0(r29) call _float_0to1 nop ld.l -4(fp), r28 fld.l 20(fp), f16 fsub.ss f8, f5, f17 fmul.ss f17, f16, f18 fst.l f18, r0(r6) fst.l f16, -48(fp) call _float_0to1 nop ld.l -4(fp), r28 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f16 fld.l -48(fp), f18 fld.l 20(fp), f20 fsub.ss f8, f16, f17 fmul.ss f18, f17, f19 fst.l f19, r0(r8) fst.l f20, -52(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -52(fp), f17 fst.l f0, r0(r7) fmul.ss f17, f16, f18 fst.l f18, r0(r9) call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f8, f6, f16 fld.l 36(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B687 fiadd.ss f4, f0, f2 // lineno: 253 .B687: //.B0009 fst.l f2, r0(r10) .DB.B687687: call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 40(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B688 fiadd.ss f4, f0, f2 // lineno: 259 .B688: //.B0010 fst.l f2, r0(r11) .DB.B688688: call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 44(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B689 fiadd.ss f4, f0, f2 // lineno: 265 .B689: //.B0011 ld.l 48(fp), r29 .DB.B689689: fst.l f2, r0(r12) ld.l r0(r29), r30 btne 0x0000, r30, .B690 fld.l 20(fp), f16 addu 56, r6, r6 addu 56, r8, r8 addu 56, r9, r9 addu 56, r10, r10 addu 56, r11, r11 addu 56, r7, r7 addu 56, r12, r12 fst.l f16, -56(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -56(fp), f17 fld.l 20(fp), f19 fmul.ss f17, f16, f18 fst.l f18, r0(r6) fst.l f19, -60(fp) call _float_0to1 nop ld.l -4(fp), r28 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f16 fld.l -60(fp), f18 fld.l 20(fp), f20 fsub.ss f8, f16, f17 fmul.ss f18, f17, f19 fst.l f19, r0(r8) fst.l f20, -64(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -64(fp), f17 fst.l f0, r0(r7) fmul.ss f17, f16, f18 fst.l f18, r0(r9) call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 36(fp), f18 fsub.ss f7, f16, f17 fmul.ss f18, f17, f2 pfle.ss f2, f4, f0 bnc .B692 fiadd.ss f4, f0, f2 // lineno: 279 .B692: //.B0013 fst.l f2, r0(r10) .DB.B692692: call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 40(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B693 fiadd.ss f4, f0, f2 // lineno: 285 .B693: //.B0014 fst.l f2, r0(r11) .DB.B693693: call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 44(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B694 fiadd.ss f4, f0, f2 // lineno: 291 .B694: //.B0015 fld.l 20(fp), f16 .DB.B694694: fst.l f2, r0(r12) addu 56, r6, r6 addu 56, r8, r8 addu 56, r9, r9 addu 56, r10, r10 addu 56, r11, r11 addu 56, r12, r12 addu 56, r7, r7 fst.l f16, -68(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -68(fp), f17 fld.l 20(fp), f19 fmul.ss f17, f16, f18 fst.l f18, r0(r6) fst.l f19, -72(fp) call _float_0to1 nop ld.l -4(fp), r28 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f16 fld.l -72(fp), f18 fld.l 20(fp), f20 fsub.ss f8, f16, f17 fmul.ss f18, f17, f19 fst.l f19, r0(r8) fst.l f20, -76(fp) call _float_0to1 nop ld.l -4(fp), r28 fsub.ss f8, f5, f16 fld.l -76(fp), f17 fst.l f0, r0(r7) fmul.ss f17, f16, f18 fst.l f18, r0(r9) call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 36(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B695 fiadd.ss f4, f0, f2 // lineno: 304 .B695: //.B0016 fst.l f2, r0(r10) .DB.B695695: call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 40(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B696 fiadd.ss f4, f0, f2 // lineno: 310 .B696: //.B0017 fst.l f2, r0(r11) .DB.B696696: call _float_0to1 nop ld.l -4(fp), r28 fmul.ss f6, f8, f16 fld.l 44(fp), f17 fsub.ss f7, f16, f3 fmul.ss f17, f3, f2 pfle.ss f2, f4, f0 bnc .B697 fiadd.ss f4, f0, f2 // lineno: 316 .B697: //.B0018 fst.l f2, r0(r12) .DB.B697697: addu 56, r6, r6 addu 56, r8, r8 addu 56, r9, r9 addu 56, r10, r10 addu 56, r11, r11 addu 56, r12, r12 br .B698 addu 56, r7, r7 // lineno: 320 .B690: //.B0012 ld.l -28(fp), r29 .DB.B690690: addu 56, r6, r6 fld.l r0(r29), f16 addu 56, r8, r8 addu 56, r9, r9 fst.l f16, r0(r7) addu 56, r10, r10 addu 56, r11, r11 addu 56, r12, r12 addu 56, r7, r7 // lineno: 323 .B698: //.B0019 ld.l -24(fp), r29 .DB.B698698: adds 1, r4, r4 addu 16, r29, r29 st.l r29, -24(fp) addu 4, r13, r13 addu 16, r14, r14 addu 16, r15, r15 subs r4, r5, r0 bc.t .DB.B10261026 fld.l 24(fp), f16 // lineno: 0 // lineno: 325 .B681: //.B0008 ld.l -16(fp), r16 .DB.B681681: call _bound_patch nop ld.l -4(fp), r28 ld.l -16(fp), r16 mov r0, r17 call _compute_pmesh_plane_eqns nop ld.l -4(fp), r28 ld.l -12(fp), r16 call _reboundLOD nop ld.l -4(fp), r28 ld.l -8(fp), r16 call _reboundObject nop ld.l -4(fp), r28 // lineno: 0 // lineno: 331 fld.d -152(fp), f2 fld.d -144(fp), f4 fld.d -136(fp), f6 ld.l -128(fp), r4 ld.l -124(fp), r5 ld.l -120(fp), r6 ld.l -116(fp), r7 ld.l -112(fp), r8 ld.l -108(fp), r9 ld.l -104(fp), r10 ld.l -100(fp), r11 ld.l -96(fp), r12 ld.l -92(fp), r13 ld.l -88(fp), r14 ld.l -84(fp), r15 adds .a4+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _createBang: .a5 = 80 .f5 = 176 addu -(.a5+.f5), sp, sp st.l fp,(.f5-16)(sp) addu (.f5-16), sp, fp st.l r1, 4(fp) st.l r4, -144(fp) st.l r5, -140(fp) st.l r6, -136(fp) st.l r7, -132(fp) st.l r8, -128(fp) st.l r9, -124(fp) st.l r10, -120(fp) st.l r11, -116(fp) st.l r12, -112(fp) st.l r13, -108(fp) st.l r14, -104(fp) st.l r15, -100(fp) mov r16, r8 // lineno: 0 // lineno: 347 call _makeBangMtls nop call _malloc adds 1188, r0, r16 mov r16, r13 call _PAZcreateInstance st.l r8, 0(r16) st.l r16, 4(r13) st.l r0, 140(r16) adds 144, r0, r16 ld.l 4(r13), r28 adds 1, r0, r29 st.l r0, 152(r28) call _malloc st.l r29, -80(fp) call __InitObject mov r16, r12 call _malloc adds 176, r0, r16 call __InitLOD mov r16, r11 orh ha%.C00722, r0, r31 fld.l l%.C00722(r31), f16 mov r12, r16 adds 12, r0, r17 fst.l f16, 164(r11) st.l r0, 172(r11) call _newName fst.l f0, 160(r11) ld.l 4(r13), r28 st.l r16, 140(r28) btne 0x0000, r8, .B723 call _malloc adds 224, r0, r16 call __InitPatch st.l r16, -84(fp) call _nextSem nop ld.l -84(fp), r28 call _InitSem st.l r16, 220(r28) ld.l -84(fp), r10 addu 148, r10, r16 orh h%.S00727, r0, r31 call _strcpy or l%.S00727, r31, r17 addu 180, r10, r16 orh h%.S00729, r0, r31 call _strcpy or l%.S00729, r31, r17 adds 32, r0, r16 adds 1, r0, r28 call _malloc st.l r28, 144(r10) call __InitVstrip mov r16, r9 adds 72, r0, r16 call _vertex_block mov r9, r17 ld.l 4(r9), r15 adds 2, r0, r28 mov r15, r14 st.l r28, 24(r9) ld.l 4(r10), r29 btne 0x0000, r29, .B734 st.l r9, 4(r10) br .B736 st.l r9, 8(r10) // lineno: 407 .B734: //.B0022 ld.l 8(r10), r28 .DB.B734734: st.l r9, 0(r28) st.l r9, 8(r10) // lineno: 407 .B736: //.B0023 ld.l 28(r9), r28 .DB.B736736: st.l r28, 140(r10) orh ha%_shared_cntl, r0, r31 ld.l l%_shared_cntl(r31), r29 ld.l 28(r9), r16 ld.l 140(r29), r30 subs r30, r16, r0 bnc .B738 st.l r16, 140(r29) // lineno: 417 .B738: //.B0024 adds 32, r0, r16 .DB.B738738: call _malloc nop call __InitVstrip mov r16, r9 adds 24, r0, r16 adds 2, r0, r28 mov r9, r17 call _vertex_block st.l r28, 24(r9) ld.l 4(r9), r14 adds 23, r0, r18 mov r14, r19 addu -52, r14, r5 addu -48, r14, r6 mov r15, r20 addu 56, r15, r21 addu 112, r15, r4 adds -1, r0, r17 bla r17, r18,.B1108 pfmul.dd f0, f0, f0 // lineno: 423 .B1108: //.M0002 mov r20, r28 .DB.B11081108: st.l r28, 0(r19) mov r21, r29 st.l r29, 56(r5) mov r4, r30 st.l r30, 56(r6) mov r19, r7 addu 56, r5, r5 addu 56, r6, r6 addu 56, r19, r19 addu 168, r20, r20 addu 168, r21, r21 bla r17, r18, .B1108 addu 168, r4, r4 // lineno: 0 ld.l 4(r10), r28 mov r19, r14 btne 0x0000, r28, .B746 st.l r9, 4(r10) br .B748 st.l r9, 8(r10) // lineno: 432 .B746: //.B0028 ld.l 8(r10), r28 .DB.B746746: st.l r9, 0(r28) st.l r9, 8(r10) // lineno: 432 .B748: //.B0029 orh ha%_shared_cntl, r0, r31 .DB.B748748: ld.l l%_shared_cntl(r31), r28 ld.l 28(r9), r30 ld.l 144(r28), r29 subs r29, r30, r0 bnc .B750 st.l r30, 144(r28) // lineno: 0 .B750: //.B0030 br .B751 nop // lineno: 0 .B723: //.B0020 // lineno: 566 .B751: //.B0031 ld.l 172(r11), r28 .DB.B751751: ld.l 140(r10), r29 ld.l 8(r11), r16 adds r28, r29, r30 st.l r30, 172(r11) btne 0x0000, r16, .B754 st.l r10, 8(r11) br .B756 st.l r10, 12(r11) // lineno: 568 .B754: //.B0033 ld.l 12(r11), r28 .DB.B754754: st.l r10, 0(r28) st.l r10, 12(r11) // lineno: 568 .B756: //.B0034 ld.l 4(r12), r28 .DB.B756756: btne 0x0000, r28, .B760 st.l r11, 4(r12) br .B762 st.l r11, 8(r12) // lineno: 571 .B760: //.B0036 ld.l 8(r12), r28 .DB.B760760: st.l r11, 0(r28) st.l r11, 8(r12) // lineno: 571 .B762: //.B0037 call _reconnectLODs mov r12, r16 orh h%_sceneGeometry, r0, r31 or l%_sceneGeometry, r31, r28 ld.l 0(r28), r29 btne 0x0000, r29, .B767 orh h%_sceneGeometry, r0, r31 or l%_sceneGeometry, r31, r30 st.l r12, 0(r30) br .B769 st.l r12, 4(r30) // lineno: 575 .B767: //.B0039 orh h%_sceneGeometry+4, r0, r31 .DB.B767767: or l%_sceneGeometry+4, r31, r28 ld.l 0(r28), r29 st.l r12, 0(r29) st.l r12, 0(r28) // lineno: 575 .B769: //.B0040 orh ha%.C00773, r0, r31 .DB.B769769: fld.l l%.C00773(r31), f8 mov r13, r16 mov r0, r17 orh ha%.C00774, r0, r31 fld.l l%.C00774(r31), f9 orh ha%.C00775, r0, r31 fld.l l%.C00775(r31), f10 orh ha%.C00776, r0, r31 fld.l l%.C00776(r31), f11 orh ha%.C00777, r0, r31 fld.l l%.C00777(r31), f12 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f16 adds -96, fp, r28 fiadd.ss f12, f0, f13 fiadd.ss f12, f0, f14 fiadd.ss f12, f0, f15 mov r0, r18 call _initBang fst.l f16, -96(fp) orh ha%_scene_resolved, r0, r31 st.l r0, l%_scene_resolved(r31) mov r13, r16 // lineno: 0 // lineno: 583 ld.l -144(fp), r4 ld.l -140(fp), r5 ld.l -136(fp), r6 ld.l -132(fp), r7 ld.l -128(fp), r8 ld.l -124(fp), r9 ld.l -120(fp), r10 ld.l -116(fp), r11 ld.l -112(fp), r12 ld.l -108(fp), r13 ld.l -104(fp), r14 ld.l -100(fp), r15 adds .a5+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _step_bang: .a6 = 80 .f6 = 160 addu -(.a6+.f6), sp, sp st.l fp,(.f6-16)(sp) addu (.f6-16), sp, fp st.l r1, 4(fp) fst.d f2, -136(fp) st.l r4, -128(fp) st.l r5, -124(fp) st.l r6, -120(fp) st.l r7, -116(fp) st.l r8, -112(fp) st.l r9, -108(fp) st.l r10, -104(fp) st.l r11, -100(fp) st.l r12, -96(fp) st.l r13, -92(fp) st.l r14, -88(fp) st.l r15, -84(fp) st.l r16, 48(fp) // lineno: 0 orh ha%.C00795, r0, r31 fld.l l%.C00795(r31), f2 orh ha%.C00793, r0, r31 fld.l l%.C00793(r31), f3 // lineno: 589 ld.l 1172(r16), r28 ld.l 4(r16), r29 st.l r28, -4(fp) btne 0x0000, r29, .B798 br .B1115 nop // lineno: 610 .B798: //.B0041 ld.l 48(fp), r28 .DB.B798798: adds 12, r0, r17 ld.l 4(r28), r29 ld.l 140(r29), r30 call _nameToAddress mov r30, r16 st.l r16, -8(fp) bte 0x0000, r16, .B1115 ld.l 4(r16), r28 ld.l 48(fp), r23 ld.l 8(r28), r29 ld.l r0(r23), r24 ld.l 4(r29), r30 ld.l 4(r30), r22 st.l r30, -20(fp) st.l r22, -24(fp) st.l r29, -16(fp) st.l r28, -12(fp) btne 0x0000, r24, .B803 adds 24, r0, r25 st.l r25, -28(fp) br .B805 st.l r25, -32(fp) // lineno: 625 .B803: //.B0044 adds 32, r0, r28 .DB.B803803: st.l r28, -28(fp) st.l r28, -32(fp) // lineno: 630 .B805: //.B0045 ld.l -32(fp), r28 .DB.B805805: subs 0, r28, r0 bnc .B808 orh ha%.C00784, r0, r31 fld.l l%.C00784(r31), f14 orh ha%.C00797, r0, r31 fld.l l%.C00797(r31), f15 ld.l 48(fp), r29 fld.l -36(fp), f8 addu 524, r29, r30 st.l r30, -60(fp) addu 528, r29, r22 st.l r22, -64(fp) addu 1176, r29, r23 st.l r23, -68(fp) addu 1164, r29, r24 st.l r24, -72(fp) addu 1168, r29, r25 st.l r25, -76(fp) addu 1180, r29, r10 fld.l -40(fp), f9 fld.l -44(fp), f10 fld.l -48(fp), f11 fld.l -52(fp), f12 fld.l -56(fp), f13 ld.l -24(fp), r21 addu 12, r29, r11 addu 4, r21, r4 addu 8, r21, r5 addu 32, r21, r6 addu 36, r21, r7 addu 40, r21, r8 addu 12, r21, r9 addu 8, r29, r12 addu 16, r29, r13 addu 1032, r29, r14 addu 520, r29, r15 adds -1, r28, r18 ld.l -4(fp), r20 adds -1, r0, r17 adds 1, r0, r19 bla r17, r18,.B1187 pfmul.dd f0, f0, f0 // lineno: 634 .B1187: //.M0003 fld.l r0(r10), f16 .DB.B11871187: fld.l r0(r11), f18 fld.l r0(r12), f21 fmul.ss f16, f14, f17 ld.l -60(fp), r28 fld.l r0(r13), f24 fsub.ss f18, f17, f19 ld.l -64(fp), r29 fst.l f19, r0(r11) fld.l r0(r10), f20 fmul.ss f20, f21, f10 fst.l f10, r0(r15) fld.l r0(r10), f22 fmul.ss f22, f19, f9 fst.l f9, r0(r28) fld.l r0(r10), f23 fmul.ss f23, f24, f8 fst.l f8, r0(r29) fld.l r0(r21), f25 fld.l r0(r4), f27 fld.l r0(r5), f29 fadd.ss f10, f25, f26 fst.l f26, r0(r21) fadd.ss f9, f27, f28 fst.l f28, r0(r4) fadd.ss f8, f29, f30 fst.l f30, r0(r5) bte 0x0000, r20, .B810 fld.l r0(r6), f31 fld.l r0(r7), f17 fld.l r0(r8), f21 fmul.ss f31, f3, f16 fst.l f16, r0(r6) fmul.ss f17, f2, f18 fst.l f18, r0(r7) fmul.ss f21, f15, f20 fst.l f20, r0(r8) // lineno: 650 .B810: //.B0048 ld.l -72(fp), r28 .DB.B810810: fld.l r0(r4), f17 fld.l r0(r28), f16 pfle.ss f16, f17, f0 bnc .B812 ld.l r0(r14), r29 btne 0x0000, r29, .B814 ld.l -76(fp), r30 st.l r19, 0(r14) ld.l r0(r30), r22 adds r19, r22, r23 st.l r23, 0(r30) // lineno: 0 .B814: //.B0050 // lineno: 657 .B812: //.B0049 ld.l 48(fp), r28 .DB.B812812: ld.l r0(r28), r29 btne 0x0000, r29, .B816 addu 56, r21, r30 fld.l r0(r30), f16 addu 56, r30, r22 addu 56, r4, r23 fadd.ss f10, f16, f17 fld.l r0(r23), f20 addu 56, r23, r24 fst.l f17, r0(r30) fadd.ss f9, f20, f21 fld.l r0(r22), f18 addu 56, r5, r25 fst.l f21, r0(r23) fadd.ss f10, f18, f19 fld.l r0(r24), f22 fld.l r0(r25), f24 fst.l f19, r0(r22) fadd.ss f9, f22, f23 addu 56, r25, r26 fld.l r0(r6), f28 fst.l f23, r0(r24) fadd.ss f8, f24, f25 mov r6, r27 fld.l r0(r7), f12 fst.l f25, r0(r25) mov r7, r28 fld.l r0(r26), f26 fst.l f28, 56(r27)++ fst.l f28, 56(r27)++ fadd.ss f8, f26, f27 addu 56, r27, r6 fld.l r0(r8), f11 fst.l f27, r0(r26) fst.l f12, 56(r28)++ fst.l f12, 56(r28)++ addu 56, r28, r7 mov r8, r29 fst.l f11, 56(r29)++ fst.l f11, 56(r29)++ addu 56, r29, r8 addu 56, r22, r21 addu 56, r26, r5 addu 56, r24, r4 addu 56, r9, r30 addu 56, r30, r30 addu 56, r30, r9 ld.l -60(fp), r23 ld.l -64(fp), r25 addu 16, r23, r23 st.l r23, -60(fp) addu 16, r25, r25 st.l r25, -64(fp) addu 4, r14, r14 addu 16, r15, r15 addu 16, r12, r12 addu 16, r11, r11 bla r17, r18, .B1187 addu 16, r13, r13 br .B1188 nop // lineno: 679 .B816: //.B0051 ld.l -68(fp), r28 .DB.B816816: ld.l -60(fp), r29 fld.l r0(r28), f16 addu 16, r29, r29 st.l r29, -60(fp) fst.l f16, r0(r9) addu 56, r21, r21 ld.l -64(fp), r30 addu 56, r6, r6 addu 16, r30, r30 st.l r30, -64(fp) addu 56, r7, r7 addu 56, r8, r8 addu 56, r5, r5 addu 56, r4, r4 addu 56, r9, r9 addu 4, r14, r14 addu 16, r15, r15 addu 16, r12, r12 addu 16, r11, r11 bla r17, r18, .B1187 addu 16, r13, r13 // lineno: 0 .B1188: //.B0080 fst.l f8, -36(fp) .DB.B11881188: fst.l f9, -40(fp) fst.l f10, -44(fp) fst.l f11, -48(fp) fst.l f12, -52(fp) fst.l f13, -56(fp) st.l r21, -24(fp) // lineno: 683 .B808: //.B0047 ld.l 48(fp), r28 .DB.B808808: ld.l r0(r28), r29 btne 0x0000, r29, .B823 ld.l -16(fp), r16 orh h%.B824, r0, r1 br _bound_patch or l%.B824, r1, r1 // lineno: 688 .B823: //.B0053 ld.l -16(fp), r16 .DB.B823823: call _bound_spatch nop // lineno: 690 .B824: //.B0054 ld.l 48(fp), r28 .DB.B824824: ld.l -12(fp), r16 ld.l 1184(r28), r29 adds 1, r29, r30 st.l r30, 1184(r28) orh ha%.C00674, r0, r31 fld.l l%.C00674(r31), f16 call _reboundLOD fst.l f16, 1180(r28) call _reboundObject ld.l -8(fp), r16 ld.l 48(fp), r28 ld.l -28(fp), r30 ld.l 1168(r28), r29 btne r30, r29, .B826 ld.l 4(r28), r22 br .B828 st.l r0, 152(r22) // lineno: 700 .B826: //.B0055 adds 1, r0, r28 .DB.B826826: st.l r28, -80(fp) // lineno: 703 .B828: //.B0056 ld.l -80(fp), r16 .DB.B828828: // lineno: 0 .B1115: //.R0004 // lineno: 704 fld.d -136(fp), f2 ld.l -128(fp), r4 ld.l -124(fp), r5 ld.l -120(fp), r6 ld.l -116(fp), r7 ld.l -112(fp), r8 ld.l -108(fp), r9 ld.l -104(fp), r10 ld.l -100(fp), r11 ld.l -96(fp), r12 ld.l -92(fp), r13 ld.l -88(fp), r14 ld.l -84(fp), r15 adds .a6+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _sfx_init .align 8 _sfx_init: .a7 = 0 .f7 = 112 addu -(.a7+.f7), sp, sp st.l fp,(.f7-16)(sp) addu (.f7-16), sp, fp st.l r1, 4(fp) fst.d f2, -88(fp) fst.d f4, -80(fp) fst.d f6, -72(fp) st.l r4, -64(fp) st.l r5, -60(fp) st.l r6, -56(fp) // lineno: 0 orh ha%.C00840, r0, r31 fld.l l%.C00840(r31), f2 orh ha%.C00844, r0, r31 fld.l l%.C00844(r31), f3 orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f4 orh ha%.C00777, r0, r31 fld.l l%.C00777(r31), f5 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f6 orh ha%.C00773, r0, r31 fld.l l%.C00773(r31), f7 // lineno: 714 orh h%_sfx_inited, r0, r31 or l%_sfx_inited, r31, r28 ld.l 0(r28), r29 btne 0x0000, r29, .B1190 adds 1, r0, r30 orh ha%_sfx_inited, r0, r31 st.l r30, l%_sfx_inited(r31) mov r0, r4 mov r0, r4 orh h%_paz_explosions, r0, r31 or l%_paz_explosions, r31, r5 // lineno: 723 .B1214: //.M0004 orh ha%.C00636, r0, r31 .DB.B12141214: fld.l l%.C00636(r31), f8 call _createBang mov r0, r16 orh ha%.C00842, r0, r31 fld.l l%.C00842(r31), f16 st.l r16, 0(r5) fst.l f6, -8(fp) call _float_0to1 fst.l f16, -12(fp) fmul.ss f8, f2, f16 fld.l -12(fp), f17 orh ha%.C00843, r0, r31 fld.l l%.C00843(r31), f19 fsub.ss f17, f16, f18 fst.l f19, -20(fp) call _float_0to1 fst.l f18, -16(fp) orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f16 fmul.ss f8, f2, f17 fadd.ss f17, f16, f18 call _float_0to1 fst.l f18, -24(fp) orh ha%.C00841, r0, r31 fld.l l%.C00841(r31), f16 fmul.ss f8, f2, f17 fadd.ss f17, f16, f18 call _float_0to1 fst.l f18, -28(fp) fmul.ss f8, f2, f16 ld.l r0(r5), r16 fld.l -28(fp), f17 fadd.ss f16, f7, f8 mov r0, r17 fld.l -24(fp), f18 fld.l -20(fp), f19 fiadd.ss f17, f0, f9 fld.l -16(fp), f20 fiadd.ss f18, f0, f10 adds -8, fp, r28 fiadd.ss f19, f0, f11 fiadd.ss f20, f0, f12 fiadd.ss f5, f0, f13 fiadd.ss f6, f0, f14 fiadd.ss f5, f0, f15 call _initBang mov r0, r18 ld.l r0(r5), r28 ld.l 4(r28), r6 call __idmatrix addu 4, r6, r16 orh ha%.C01203, r0, r31 fld.d l%.C01203(r31), f16 shra 2, r4, r28 xorh 0x8000, r28, r29 ixfr r29, f18 fiadd.ss f17, f0, f19 adds 1, r0, r30 fsub.dd f18, f16, f20 st.l r30, -32(fp) fmov.ds f20, f22 call _float_0to1 fst.l f22, -36(fp) orh ha%.C01203, r0, r31 fld.d l%.C01203(r31), f16 and 0x0003, r4, r28 xorh 0x8000, r28, r29 ixfr r29, f18 fiadd.ss f17, f0, f19 fld.l -36(fp), f25 fsub.dd f18, f16, f20 fmov.ds f20, f22 fadd.ss f8, f4, f23 fmul.ss f23, f3, f24 fmul.ss f25, f24, f26 fst.l f26, -44(fp) call _float_0to1 fst.l f22, -40(fp) fsub.ss f8, f4, f16 fld.l -40(fp), f18 addu 4, r6, r16 fmul.ss f16, f3, f17 fld.l -44(fp), f19 ld.l -32(fp), r28 fmul.ss f18, f17, f8 fiadd.ss f3, f0, f9 fiadd.ss f19, f0, f10 call __translate mov r28, r17 addu 68, r6, r16 call __invert addu 4, r6, r17 adds 1, r4, r4 addu 4, r5, r5 adds -8, r4, r0 bc.t .DB.B12141214 orh ha%.C00636, r0, r31 // lineno: 0 // lineno: 0 .B1190: //.R0005 // lineno: 745 fld.d -88(fp), f2 fld.d -80(fp), f4 fld.d -72(fp), f6 ld.l -64(fp), r4 ld.l -60(fp), r5 ld.l -56(fp), r6 adds .a7+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _PAZsfx .align 8 _PAZsfx: .a8 = 80 .f8 = 272 addu -(.a8+.f8), sp, sp st.l fp,(.f8-16)(sp) addu (.f8-16), sp, fp st.l r1, 4(fp) fst.d f2, -240(fp) fst.d f4, -232(fp) fst.d f6, -224(fp) st.l r4, -216(fp) st.l r5, -212(fp) st.l r6, -208(fp) st.l r7, -204(fp) st.l r8, -200(fp) st.l r9, -196(fp) st.l r10, -192(fp) st.l r17, 52(fp) mov r16, r10 // lineno: 0 orh ha%.C00899, r0, r31 fld.l l%.C00899(r31), f2 orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f3 orh ha%.C00777, r0, r31 fld.l l%.C00777(r31), f4 orh ha%.C00844, r0, r31 fld.l l%.C00844(r31), f5 orh ha%.C00870, r0, r31 fld.l l%.C00870(r31), f6 orh ha%.C00889, r0, r31 fld.l l%.C00889(r31), f7 orh h%_active_fx, r0, r31 or l%_active_fx, r31, r6 orh h%_paz_explosions, r0, r31 or l%_paz_explosions, r31, r7 // lineno: 755 orh ha%_sfx_inited, r0, r31 ld.l l%_sfx_inited(r31), r28 bte 0x0000, r28, .B1224 ld.l r0(r6), r29 shl 2, r29, r30 ld.l r7(r30), r5 adds 1, r29, r16 st.l r16, 0(r6) btne 0x0008, r16, .B851 st.l r0, 0(r6) // lineno: 764 .B851: //.B0061 btne 0x0000, r10, .B852 orh ha%.C00855, r0, r31 fld.l l%.C00855(r31), f8 ld.l r0(r5), r17 mov r5, r16 orh ha%.C00856, r0, r31 fld.l l%.C00856(r31), f9 orh ha%.C00857, r0, r31 fld.l l%.C00857(r31), f10 ld.l 52(fp), r28 adds -8, fp, r29 fld.l 52(r28), f16 fiadd.ss f4, f0, f11 orh ha%.C00854, r0, r31 fld.l l%.C00854(r31), f17 orh ha%.C00858, r0, r31 fld.l l%.C00858(r31), f13 fsub.ss f17, f16, f12 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f18 fiadd.ss f4, f0, f14 fiadd.ss f4, f0, f15 mov r0, r18 fst.l f18, -8(fp) call _initBang mov r29, r28 ld.l 4(r5), r28 adds 1, r0, r29 st.l r29, 152(r28) adds 64, r0, r18 ld.l 4(r5), r30 ld.l 52(fp), r17 call _memcpy addu 4, r30, r16 ld.l 4(r5), r28 addu 68, r28, r16 addu 4, r28, r17 orh h%.B860, r0, r1 br __invert or l%.B860, r1, r1 // lineno: 777 .B852: //.B0062 btne 0x0001, r10, .B861 adds -72, fp, r16 ld.l 52(fp), r17 call _memcpy adds 64, r0, r18 orh ha%.C00865, r0, r31 fld.l l%.C00865(r31), f8 ld.l r0(r5), r17 mov r5, r16 orh ha%.C00866, r0, r31 fld.l l%.C00866(r31), f9 orh ha%.C00867, r0, r31 fld.l l%.C00867(r31), f10 orh ha%.C00868, r0, r31 fld.l l%.C00868(r31), f11 ld.l 52(fp), r28 adds 1, r0, r18 fld.l 52(r28), f16 orh ha%.C00864, r0, r31 fld.l l%.C00864(r31), f17 orh ha%.C00636, r0, r31 fld.l l%.C00636(r31), f13 fsub.ss f17, f16, f12 orh ha%.C00869, r0, r31 fld.l l%.C00869(r31), f15 fst.l f4, -8(fp) adds -8, fp, r29 fiadd.ss f13, f0, f14 call _initBang mov r29, r28 adds -72, fp, r16 ld.l 4(r5), r28 fiadd.ss f6, f0, f8 adds 1, r0, r29 mov r0, r17 call __rotY st.l r29, 152(r28) call _float_0to1 nop fmul.ss f8, f5, f16 adds -72, fp, r16 fadd.ss f16, f5, f9 fiadd.ss f0, f0, f8 fiadd.ss f0, f0, f10 call __translate mov r0, r17 ld.l 4(r5), r28 adds -72, fp, r17 addu 4, r28, r16 call _memcpy adds 64, r0, r18 ld.l 4(r5), r28 addu 68, r28, r16 call __invert addu 4, r28, r17 ld.l r0(r6), r28 shl 2, r28, r29 ld.l r7(r29), r5 adds 1, r28, r30 st.l r30, 0(r6) btne 0x0008, r30, .B871 st.l r0, 0(r6) // lineno: 812 .B871: //.B0065 adds -72, fp, r16 .DB.B871871: ld.l 52(fp), r17 call _memcpy adds 64, r0, r18 orh ha%.C00865, r0, r31 fld.l l%.C00865(r31), f8 ld.l r0(r5), r17 mov r5, r16 orh ha%.C00866, r0, r31 fld.l l%.C00866(r31), f9 orh ha%.C00872, r0, r31 fld.l l%.C00872(r31), f10 orh ha%.C00873, r0, r31 fld.l l%.C00873(r31), f11 ld.l 52(fp), r28 adds 1, r0, r18 fld.l 52(r28), f16 orh ha%.C00864, r0, r31 fld.l l%.C00864(r31), f17 orh ha%.C00869, r0, r31 fld.l l%.C00869(r31), f13 fsub.ss f17, f16, f12 adds -8, fp, r29 fst.l f4, -8(fp) fiadd.ss f13, f0, f14 fiadd.ss f13, f0, f15 call _initBang mov r29, r28 ld.l 4(r5), r28 adds 1, r0, r29 st.l r29, 152(r28) adds -72, fp, r17 ld.l 4(r5), r30 adds 64, r0, r18 call _memcpy addu 4, r30, r16 ld.l 4(r5), r28 addu 68, r28, r16 call __invert addu 4, r28, r17 ld.l r0(r6), r28 adds 1, r28, r29 st.l r29, 0(r6) btne 0x0008, r29, .B874 st.l r0, 0(r6) // lineno: 834 .B874: //.B0066 br .B875 nop // lineno: 840 .B861: //.B0064 btne 0x0002, r10, .B876 orh ha%.C00855, r0, r31 fld.l l%.C00855(r31), f8 ld.l r0(r5), r17 mov r5, r16 orh ha%.C00878, r0, r31 fld.l l%.C00878(r31), f9 orh ha%.C00879, r0, r31 fld.l l%.C00879(r31), f10 orh ha%.C00685, r0, r31 fld.l l%.C00685(r31), f11 ld.l 52(fp), r28 adds -8, fp, r29 fld.l 52(r28), f16 orh ha%.C00854, r0, r31 fld.l l%.C00854(r31), f17 orh ha%.C00636, r0, r31 fld.l l%.C00636(r31), f13 fsub.ss f17, f16, f12 fst.l f11, -8(fp) fiadd.ss f4, f0, f14 fiadd.ss f4, f0, f15 mov r0, r18 call _initBang mov r29, r28 ld.l 4(r5), r28 adds 1, r0, r29 st.l r29, 152(r28) adds 64, r0, r18 ld.l 4(r5), r30 ld.l 52(fp), r17 call _memcpy addu 4, r30, r16 ld.l 4(r5), r28 addu 68, r28, r16 addu 4, r28, r17 orh h%.B880, r0, r1 br __invert or l%.B880, r1, r1 // lineno: 847 .B876: //.B0068 btne 0x0003, r10, .B881 mov r0, r4 mov r0, r4 ld.l 52(fp), r8 addu 52, r8, r9 // lineno: 853 .B1247: //.M0005 adds -136, fp, r16 .DB.B12471247: adds 64, r0, r18 call _memcpy mov r8, r17 orh ha%.C00864, r0, r31 fld.l l%.C00864(r31), f16 fld.l r0(r9), f17 orh ha%.C00898, r0, r31 fld.l l%.C00898(r31), f19 fsub.ss f16, f17, f18 orh ha%.C00631, r0, r31 fld.l l%.C00631(r31), f20 orh ha%.C00636, r0, r31 fld.l l%.C00636(r31), f21 fst.l f4, -144(fp) adds 1, r0, r28 fst.l f21, -164(fp) fst.l f20, -160(fp) fst.l f19, -156(fp) fst.l f18, -152(fp) call _float_0to1 st.l r28, -148(fp) orh ha%.C00894, r0, r31 fld.l l%.C00894(r31), f16 fmul.ss f8, f4, f17 fadd.ss f17, f16, f18 call _float_0to1 fst.l f18, -168(fp) orh ha%.C00892, r0, r31 fld.l l%.C00892(r31), f16 orh ha%.C00893, r0, r31 fld.l l%.C00893(r31), f18 fmul.ss f8, f16, f17 fadd.ss f17, f18, f19 call _float_0to1 fst.l f19, -172(fp) orh ha%.C00890, r0, r31 fld.l l%.C00890(r31), f16 orh ha%.C00891, r0, r31 fld.l l%.C00891(r31), f18 fmul.ss f8, f16, f17 fadd.ss f17, f18, f19 call _float_0to1 fst.l f19, -176(fp) orh ha%.C00841, r0, r31 fld.l l%.C00841(r31), f16 ld.l r0(r5), r17 mov r5, r16 fmul.ss f8, f16, f17 fld.l -176(fp), f18 fld.l -172(fp), f19 fadd.ss f17, f7, f8 fld.l -168(fp), f20 fld.l -152(fp), f21 fld.l -164(fp), f22 fiadd.ss f18, f0, f9 fld.l -160(fp), f23 fiadd.ss f19, f0, f10 fld.l -156(fp), f24 fiadd.ss f20, f0, f11 ld.l -148(fp), r28 fiadd.ss f21, f0, f12 adds -144, fp, r29 fiadd.ss f22, f0, f13 fiadd.ss f23, f0, f14 fiadd.ss f24, f0, f15 mov r28, r18 call _initBang mov r29, r28 orh ha%.C01203, r0, r31 fld.d l%.C01203(r31), f16 xorh 0x8000, r4, r28 ixfr r28, f18 fiadd.ss f17, f0, f19 adds -136, fp, r16 fsub.dd f18, f16, f20 ld.l 4(r5), r29 adds 1, r0, r30 fmov.ds f20, f22 st.l r30, 152(r29) fmul.ss f22, f6, f8 call __rotY mov r0, r17 call _float_0to1 nop fsub.ss f8, f3, f16 fmul.ss f16, f2, f17 call _float_0to1 fst.l f17, -180(fp) fmul.ss f8, f5, f16 call _float_0to1 fst.l f16, -184(fp) fsub.ss f8, f3, f16 adds -136, fp, r16 fld.l -184(fp), f17 fmul.ss f16, f2, f8 fld.l -180(fp), f18 fiadd.ss f17, f0, f9 fiadd.ss f18, f0, f10 call __translate mov r0, r17 ld.l 4(r5), r28 adds -136, fp, r17 addu 4, r28, r16 call _memcpy adds 64, r0, r18 ld.l 4(r5), r28 addu 68, r28, r16 call __invert addu 4, r28, r17 ld.l r0(r6), r28 shl 2, r28, r29 ld.l r7(r29), r5 adds 1, r28, r30 st.l r30, 0(r6) btne 0x0008, r30, .B900 st.l r0, 0(r6) // lineno: 884 .B900: //.B0073 adds 1, r4, r4 .DB.B900900: adds -4, r4, r0 bc.t .DB.B12471247 adds -136, fp, r16 // lineno: 0 br .B901 nop // lineno: 0 .B881: //.B0070 orh h%.S00902, r0, r31 .DB.B881881: call _printf or l%.S00902, r31, r16 // lineno: 0 .B901: //.B0074 // lineno: 0 .B880: //.B0069 // lineno: 0 .B875: //.B0067 // lineno: 890 .B860: //.B0063 // lineno: 0 .B1224: //.R0006 // lineno: 0 fld.d -240(fp), f2 fld.d -232(fp), f4 fld.d -224(fp), f6 ld.l -216(fp), r4 ld.l -212(fp), r5 ld.l -208(fp), r6 ld.l -204(fp), r7 ld.l -200(fp), r8 ld.l -196(fp), r9 ld.l -192(fp), r10 adds .a8+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _step_fx .align 8 _step_fx: .a9 = 0 .f9 = 48 addu -(.a9+.f9), sp, sp st.l fp,(.f9-16)(sp) addu (.f9-16), sp, fp st.l r1, 4(fp) st.l r4, -16(fp) st.l r5, -12(fp) st.l r6, -8(fp) // lineno: 0 // lineno: 902 orh ha%_sfx_inited, r0, r31 ld.l l%_sfx_inited(r31), r28 bte 0x0000, r28, .B909 mov r0, r4 mov r0, r4 orh h%_paz_explosions, r0, r31 or l%_paz_explosions, r31, r5 // lineno: 904 .B1270: //.M0006 ld.l r0(r5), r6 .DB.B12701270: ld.l 4(r6), r28 ld.l 152(r28), r29 bte 0x0000, r29, .B914 call _step_bang mov r6, r16 // lineno: 908 .B914: //.B0078 adds 1, r4, r4 .DB.B914914: addu 4, r5, r5 adds -8, r4, r0 bc.t .DB.B12701270 ld.l r0(r5), r6 // lineno: 0 br .B915 nop // lineno: 0 .B909: //.B0075 call _sfx_init nop // lineno: 0 .B915: //.B0079 // lineno: 912 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a9+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .data .align 8 .C00036: // (0) .long 0x3f800000 // 1.00000000E+00 .C00631: // (4) .long 0x3f4ccccd // 8.00000012E-01 .C00038: // (8) .long 0x3f000000 // 5.00000000E-01 .C00633: // (12) .long 0x3f028f5c // 5.09999990E-01 .C00636: // (16) .long 0x3f7d70a4 // 9.90000010E-01 .C00639: // (20) .long 0x3dcccccd // 1.00000001E-01 .C00672: // (24) .long 0x437fe666 // 2.55899994E+02 .C00674: // (28) .long 0x3e19999a // 1.50000006E-01 .C00675: // (32) .long 0x3eb33333 // 3.49999994E-01 .C00679: // (36) .long 0x421c0000 // 3.90000000E+01 .C00685: // (40) .long 0x3e99999a // 3.00000012E-01 .C00722: // (44) .long 0x49800000 // 1.04857600E+06 .C00777: // (48) .long 0x3e4ccccd // 2.00000003E-01 .C00776: // (52) .long 0xc1000000 // -8.00000000E+00 .C00775: // (56) .long 0x40200000 // 2.50000000E+00 .C00774: // (60) .long 0x41000000 // 8.00000000E+00 .C00773: // (64) .long 0x41a00000 // 2.00000000E+01 .C00795: // (68) .long 0x3f75c28f // 9.59999979E-01 .C00793: // (72) .long 0x3f7c28f6 // 9.85000014E-01 .C00784: // (76) .long 0x411ccccd // 9.80000019E+00 .C00797: // (80) .long 0x3f6f5c29 // 9.35000002E-01 .C00840: // (84) .long 0x40400000 // 3.00000000E+00 .C00844: // (88) .long 0x41f00000 // 3.00000000E+01 .C00842: // (92) .long 0xc0400000 // -3.00000000E+00 .C00843: // (96) .long 0x3ecccccd // 4.00000006E-01 .C00841: // (100) .long 0x41200000 // 1.00000000E+01 .align 8 .C01203: // (104) .long 0x80000000, 0x43300000 // 4.50360177485414400E+15 .C00899: // (112) .long 0x42700000 // 6.00000000E+01 .C00870: // (116) .long 0x42600000 // 5.60000000E+01 .C00889: // (120) .long 0x42a00000 // 8.00000000E+01 .C00858: // (124) .long 0x3e428f5c // 1.89999998E-01 .C00854: // (128) .long 0xc0c00000 // -6.00000000E+00 .C00857: // (132) .long 0x3f99999a // 1.20000005E+00 .C00856: // (136) .long 0x41500000 // 1.30000000E+01 .C00855: // (140) .long 0x41900000 // 1.80000000E+01 .C00869: // (144) .long 0x3f68f5c3 // 9.10000026E-01 .C00864: // (148) .long 0xc2100000 // -3.60000000E+01 .C00868: // (152) .long 0x3e9eb852 // 3.10000002E-01 .C00867: // (156) .long 0x40600000 // 3.50000000E+00 .C00866: // (160) .long 0x42240000 // 4.10000000E+01 .C00865: // (164) .long 0x42280000 // 4.20000000E+01 .C00873: // (168) .long 0x3f400000 // 7.50000000E-01 .C00872: // (172) .long 0x40333333 // 2.79999995E+00 .C00879: // (176) .long 0x3fa66666 // 1.29999995E+00 .C00878: // (180) .long 0x41600000 // 1.40000000E+01 .C00898: // (184) .long 0x3f59999a // 8.50000024E-01 .C00894: // (188) .long 0x3e800000 // 2.50000000E-01 .C00892: // (192) .long 0x3fcccccd // 1.60000002E+00 .C00893: // (196) .long 0x4089999a // 4.30000019E+00 .C00890: // (200) .long 0x41700000 // 1.50000000E+01 .C00891: // (204) .long 0x42340000 // 4.50000000E+01 .data .align 1 .S00629: // // "bang_50_perc" .byte 0x62,0x61,0x6e,0x67,0x5f,0x35,0x30,0x5f,0x70,0x65,0x72 .byte 0x63,0x00 .S00634: // // "bang_frag" .byte 0x62,0x61,0x6e,0x67,0x5f,0x66,0x72,0x61,0x67,0x00 .S00637: // // "bang_gore" .byte 0x62,0x61,0x6e,0x67,0x5f,0x67,0x6f,0x72,0x65,0x00 .S00727: // // "bang_frag" .byte 0x62,0x61,0x6e,0x67,0x5f,0x66,0x72,0x61,0x67,0x00 .S00729: // // "bang_frag" .byte 0x62,0x61,0x6e,0x67,0x5f,0x66,0x72,0x61,0x67,0x00 .S00902: // // "Unknown sfx type\n" .byte 0x55,0x6e,0x6b,0x6e,0x6f,0x77,0x6e,0x20,0x73,0x66,0x78 .byte 0x20,0x74,0x79,0x70,0x65,0x0a,0x00 .data .align 4 _sfx_random_numbers: //sfx_random_numbers .long 0x3f7d70a4 // 9.90000010E-01 .long 0x3e48b439 // 1.95999995E-01 .long 0x3cf5c28f // 2.99999993E-02 .long 0x3ee76c8b // 4.51999992E-01 .long 0x3e28f5c3 // 1.65000007E-01 .long 0x3f29ba5e // 6.62999988E-01 .long 0x3f3cac08 // 7.36999989E-01 .long 0x3f4624dd // 7.73999989E-01 .long 0x3f7ef9db // 9.95999992E-01 .long 0x3e89ba5e // 2.68999994E-01 .long 0x3f2d0e56 // 6.75999999E-01 .long 0x3f49374c // 7.86000013E-01 .long 0x3dfbe76d // 1.23000003E-01 .long 0x3ef2b021 // 4.74000007E-01 .long 0x3f4147ae // 7.54999995E-01 .long 0x3f6b4396 // 9.19000030E-01 .long 0x3f5f7cee // 8.73000026E-01 .long 0x3f1a5e35 // 6.02999985E-01 .long 0x3f20c49c // 6.28000021E-01 .long 0x3d3851ec // 4.50000018E-02 .long 0x3db645a2 // 8.90000015E-02 .long 0x3f024dd3 // 5.09000003E-01 .long 0x3ed374bc // 4.12999988E-01 .long 0x3ed4fdf4 // 4.16000009E-01 .long 0x3e9ba5e3 // 3.03999990E-01 .long 0x3c343958 // 1.09999999E-02 .long 0x3da9fbe7 // 8.29999968E-02 .long 0x3de147ae // 1.09999999E-01 .long 0x3e353f7d // 1.77000001E-01 .long 0x3f1a1cac // 6.01999998E-01 .long 0x3f4f5c29 // 8.10000002E-01 .long 0x3e395810 // 1.80999994E-01 .long 0x3f391687 // 7.22999990E-01 .long 0x3ec9ba5e // 3.93999994E-01 .long 0x3d0f5c29 // 3.50000001E-02 .long 0x3f5f7cee // 8.73000026E-01 .long 0x3f2d9168 // 6.77999973E-01 .long 0x3ea978d5 // 3.31000000E-01 .long 0x3ed0624e // 4.07000005E-01 .long 0x3eff7cee // 4.99000013E-01 .long 0x3e072b02 // 1.31999999E-01 .long 0x3e570a3d // 2.09999993E-01 .long 0x3da5e354 // 8.10000002E-02 .long 0x3f0ccccd // 5.50000012E-01 .long 0x3eb020c5 // 3.44000012E-01 .long 0x3f64dd2f // 8.93999994E-01 .long 0x3ef020c5 // 4.69000012E-01 .long 0x3e9d2f1b // 3.07000011E-01 .long 0x3f241893 // 6.40999973E-01 .long 0x3f6f9db2 // 9.35999990E-01 .long 0x3f476c8b // 7.78999984E-01 .long 0x3f553f7d // 8.33000004E-01 .long 0x3ebef9db // 3.72999996E-01 .long 0x3f6a3d71 // 9.15000021E-01 .long 0x3f78d4fe // 9.72000003E-01 .long 0x3f63126f // 8.87000024E-01 .long 0x3c9ba5e3 // 1.89999994E-02 .long 0x3f1ced91 // 6.12999976E-01 .long 0x3f0a3d71 // 5.40000021E-01 .long 0x3f65e354 // 8.98000002E-01 .long 0x3f4147ae // 7.54999995E-01 .long 0x3f30624e // 6.89000010E-01 .long 0x3d9ba5e3 // 7.59999976E-02 .long 0x3e3126e9 // 1.72999993E-01 .long 0x3f5eb852 // 8.70000005E-01 .long 0x3f533333 // 8.24999988E-01 .long 0x3eba5e35 // 3.63999993E-01 _sfx_random_ix: //sfx_random_ix .long 0 _sfx_random_base: //sfx_random_base .long 0 .globl _paz_explosions_active _paz_explosions_active: //paz_explosions_active .long 0 _first_mtl: //first_mtl .long 1 .globl _sfx_inited _sfx_inited: //sfx_inited .long 0 _active_fx: //active_fx .long 0 .data .comm _paz_explosions,32 .extern _printf .extern __rotY .extern _memcpy .extern __invert .extern __translate .extern __idmatrix .extern _bound_spatch .extern _reconnectLODs .extern __InitVstrip .extern _InitSem .extern _nextSem .extern __InitPatch .extern _newName .extern __InitLOD .extern __InitObject .extern _PAZcreateInstance .extern _reboundObject .extern _reboundLOD .extern _compute_pmesh_plane_eqns .extern _bound_patch .extern _nameToAddress .extern _malloc .extern _strcpy .extern _add_material .extern _create_material