Un-ignored: the dev drive is the ground truth the restoration and emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio content). Kept in-repo for the pod-owner community. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2590 lines
49 KiB
ArmAsm
2590 lines
49 KiB
ArmAsm
.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
|