Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .org 0x861c0
- !start:
- addiu sp, sp, $ffe8
- sw ra, $14 (SP)
- lui a1, $8034
- lh a0, $afa0 (A1)
- andi a0, a0, $0020
- beq a0, r0, !end
- nop
- lui v1, $8037
- lw t1, $0000 (v1)
- bne t1, r0, !end
- nop
- lbu t2, $b177 (a1)
- andi t2, t2, $0010
- beq t2, r0, !end
- nop
- lui a0, $8036
- lw a0, $1160 (A0)
- addiu a1, r0, $0088
- lui a2, $1300
- jal $29edcc
- ori a2, a2, $0278
- lwc1 f2, $00a4 (V0)
- lui at, $42e8
- mtc1 at, f4
- add.s f2, f2, f4
- swc1 f2, $00a4 (V0)
- sw v0, $0000 (v1)
- lui t1, $8034
- lbu t2, $b177 (t1)
- andi t2, t2, $FFEF
- sb t2, $b177 (T1)
- lui at, $41f0
- mtc1 at, f2
- lwc1 f12, $b1c4 (T1)
- add.s f2, f2, f12
- swc1 f2, $00b8 (V0)
- !end:
- jal $2C5DC0
- nop
- lw ra, $14 (SP)
- jr ra
- addiu sp, sp, $0018
- //make collision 0x400000000 intangible during this
- //2C5DC0 to 2C5F48
- //lookup table at 2B 2D 10 (6DD10) behavior offset in bank 13 height as float
- //fix being grabable and colliding with normal collision
- //cheep cheep 220C in DDD
- .org 0x80DC0
- !ntrolsomething:
- addiu sp, sp, $ffe8
- sw ra, $14 (SP)
- lui t0, $8037
- lw t1, $0004 (T0)
- beq t1, r0, !endofcntrolsomething
- nop
- lui t3, $8034
- lhu t5, $afa0 (T3)
- andi t5, t5, $1fff
- sh t5, $afa0 (T3)
- lhu t5, $afa2 (T3)
- andi t5, t5, $1fff
- sh t5, $afa2 (T3)
- lw t2, $0000 (T0)
- bne t2, r0, !nonewhatspawnhat
- nop
- addiu a1, r0, $0088
- lui a0, $8036
- lw a0, $1158 (A0)
- lui a2, $1300
- jal $29edcc
- ori a2, a2, $2a48
- lui t0, $8037
- sw v0, $0000 (T0)
- !nonewhatspawnhat:
- lw t4, $0004 (T0)
- lh t5, $0074 (T4)
- beq t5, r0, !enditasnoifnasuof
- nop
- lw t5, $0120 (T4)
- beq t5, r0, !enditasnoifnasuof
- nop
- lui a0, $8034
- lh a1, $afa0 (a0)
- andi a2, a1, $0020
- beq a2, r0, !dontendityet
- nop
- !enditasnoifnasuof:
- lw t1, $0000 (T0)
- sh r0, $0074 (T1)
- sw r0, $0000 (T0)
- sw r0, $0004 (T0)
- jal $2a04c0
- addiu a0, r0, $0001
- lui t0, $8034
- lbu t2, $b177 (T0)
- ori t2, t2, $0010
- sb t2, $b177 (T0)
- beq r0, r0, !endofcntrolsomething
- nop
- !dontendityet:
- lui t3, $8037
- lw t2, $0000 (T3)
- lw t1, $0004 (T3)
- addiu at, r0, $ff
- sw at, $017c (T2)
- lui t0, $8034
- lw a0, $00a0 (T1)
- sw a0, $b1ac (t0)
- sw a0, $00a0 (T2)
- lwc1 f2, $00a4 (T1)
- lw t5, $20c (T1)
- lui a3, $802b
- ori a3, a3, $2d10
- addiu a2, a3, $0098
- !lookuplook:
- lwc1 f4, $0004 (A3)
- lw t7, $0000 (A3)
- beq t7, t5, !endoflasfnuiasbuhfbzuasfbzuasbzuhf
- nop
- addiu a3, a3, $8
- bne a2, a3, !lookuplook
- nop
- !endoflasfnuiasbuhfbzuasfbzuasbzuhf:
- swc1 f2, $b1b0 (t0)
- add.s f2, f2, f4
- swc1 f2, $00a4 (T2)
- lw a0, $00a8 (T1)
- sw a0, $b1b4 (t0)
- sw a0, $00a8 (T2)
- lw t8, $00c8 (T1)
- sw t8, $00d4 (T2)
- addiu at, r0, $000f
- sh at, $b196 (T0)
- !endofcntrolsomething:
- lw ra, $14 (SP)
- jr ra
- addiu sp, sp, $18
- .org 0xA57E0
- !tangible:
- addiu sp, sp, $ffe8
- sw ra, $14 (SP)
- addiu a0, v1, $00a0
- lui a1, $4348
- JAL $80251A48
- lui a2, $42c8
- lw t0, $014c (V1)
- bne t0, r0, !skiprotate
- nop
- lw t0, $0154 (V1)
- bne t0, r0, !skiprotate
- nop
- lui t0, $8034
- lw t1, $b17c (T0)
- lui a0, $0100
- ori a0, a0, $0887
- bne t1, a0, !skiprotate
- nop
- lw t0, $00c8 (V1)
- addiu t0, t0, $8000
- sw t0, $00c8 (V1)
- !skiprotate:
- LWC1 F12, $00A0 (V1)
- LWC1 F10, $00A4 (V1)
- LW A2, $00A8 (V1)
- LUI AT, $4348
- MTC1 AT, F16
- JAL $80381794
- ADD.S F14, F10, F16
- lwc1 f2, $00a4 (V1)
- lui at, $4248
- mtc1 at, f4
- sub.s f2, f2, f4
- c.lt.s f2, f0
- nop
- bc1f !tangibleend
- nop
- add.s f0, f0, f4
- SWC1 F0, $00A4 (V1)
- !tangibleend:
- lw ra, $14 (SP)
- jr ra
- addiu sp, sp, $0018
- //2aedc0 to 02AEF1C
- .org 0x69DC0
- !checkcollisionwithasdfuiasbu9df:
- addiu sp, sp, $ffe8
- sw ra, $14 (SP)
- lw t0, $014c (V1)
- bne t0, r0, !skipthisfirstcheckything
- nop
- lui t2, $8034
- lhu t2, $b196 (T2)
- bne t2, r0, !endofobjectcheck
- nop
- !skipthisfirstcheckything:
- lui a0, $8033
- ori a0, a0, $d488
- lui a1, $8036
- ori a1, a1, $0e88
- !targetloop:
- addiu v0, r0, $0000
- lw t2, $0130 (A0)
- addiu at, r0, $0010
- beq t2, at, !coinjoindistance
- nop
- addiu v0, r0, $0001
- lw t2, $0120 (A0)
- beq t2, r0, !endofloop
- nop
- !coinjoindistance:
- lwc1 f2, $00a0 (A0)
- lwc1 f12, $00a0 (V1)
- lwc1 f4, $00a4 (A0)
- lwc1 f14, $00a4 (V1)
- lwc1 f6, $00a8 (A0)
- lwc1 f16, $00a8 (V1)
- sub.s f2, f2, f12
- sub.s f4, f4, f14
- sub.s f6, f6, f16
- mul.s f2, f2, f2
- mul.s f4, f4, f4
- mul.s f6, f6, f6
- add.s f2, f2, f4
- add.s f12, f2, f6
- sqrt.s f12, f12
- lui at, $437a
- mtc1 at, f4
- c.lt.s f12, f4
- nop
- bc1f !endofloop
- nop
- beq v0, r0, !docoinstuff
- nop
- lui at, $8036
- lw v0, $1158 (At)
- sw r0, $0014 (V0)
- sh r0, $0074 (V1)
- lui t0, $8037
- sw r0, $0000 (T0)
- sw a0, $0004 (T0)
- beq r0, r0, !endofobjectcheck
- nop
- beq r0, r0, !endofloop
- nop
- !docoinstuff:
- lui at, $8036
- lw v0, $1158 (At)
- lw at, $00a0 (a0)
- sw at, $00a0 (V0)
- lw at, $00a4 (a0)
- sw at, $00a4 (V0)
- lw at, $00a8 (a0)
- sw at, $00a8 (V0)
- !endofloop:
- addiu a0, a0, $260
- bne a0, a1, !targetloop
- nop
- !endofobjectcheck:
- lw ra, $14 (SP)
- jr ra
- addiu sp, sp, $0018
- .org 0x6316c
- !hat:
- addiu sp, sp, $ffe8
- sw ra, $14 (SP)
- lui v1, $8036
- jal $2aedc0
- lw v1, $1160 (V1)
- jal $2EA7E0
- nop
- addiu at, r0, $ffff
- sw at, $009c (V1)
- lw t0, $014c (V1)
- beq t0, r0, !moveforward
- nop
- addiu at, r0, $1
- beq at, t0, !wait
- nop
- !moveback:
- lw t0, $0154 (V1)
- mtc1 t0, f4
- cvt.s.w f4, f4
- lui at, $4080
- mtc1 at, f6
- div.s f6, f4, f6
- lui at, $3da3
- mtc1 at, f4
- mul.s f4, f4, f6
- lui t0, $8034
- lwc1 f2, $00a0 (V1)
- lwc1 f12, $b1ac (t0)
- sub.s f12, f12, f2
- mul.s f12, f12, f4
- add.s f2, f2, f12
- swc1 f2, $00a0 (V1)
- lwc1 f2, $00a4 (V1)
- lwc1 f12, $b1b0 (t0)
- lui at, $42e8
- mtc1 at, f0
- add.s f12, f12, f0
- sub.s f12, f12, f2
- mul.s f12, f12, f4
- add.s f2, f2, f12
- swc1 f2, $00a4 (V1)
- lwc1 f2, $00a8 (V1)
- lwc1 f12, $b1b4 (t0)
- sub.s f12, f12, f2
- mul.s f12, f12, f4
- add.s f2, f2, f12
- swc1 f2, $00a8 (V1)
- lwc1 f2, $002c (V1)
- lui at, $3f80
- mtc1 at, f12
- sub.s f12, f12, f2
- mul.s f12, f12, f4
- add.s f2, f2, f12
- swc1 f2, $002c (V1)
- swc1 f2, $0034 (V1)
- lwc1 f2, $015c (V1)
- lui at, $4308
- mtc1 at, f4
- c.lt.s f2, f4
- nop
- bc1f !endhattttdshsd
- nop
- lui t1, $8034
- lbu t2, $b177 (T1)
- ori t2, t2, $0010
- sb t2, $b177 (T1)
- sh r0, $0074 (V1)
- lui t2, $8037
- sw r0, $0000 (T2)
- beq r0, r0, !endhattttdshsd
- nop
- !wait:
- sw r0, $00b8 (V1)
- lw t0, $0154 (V1)
- addiu at, r0, $20
- bne at, t0, !endhat
- nop
- addiu at, r0, $2
- sw at, $014c (V1)
- beq r0, r0, !endhat
- nop
- !moveforward:
- lui at, $3c23
- mtc1 at, f4
- lui t0, $8034
- lwc1 f2, $00a4 (V1)
- lwc1 f12, $b1b0 (t0)
- sub.s f12, f12, f2
- mul.s f12, f12, f4
- add.s f2, f2, f12
- swc1 f2, $00a4 (V1)
- lwc1 f2, $002c (V1)
- lui at, $3d00
- mtc1 at, f4
- add.s f2, f2, f4
- swc1 f2, $002c (V1)
- swc1 f2, $0034 (V1)
- lw t0, $0154 (V1)
- lwc1 f4, $00b8 (V1)
- lui at, $3f77
- mtc1 at, f2
- mul.s f4, f4, f2
- swc1 f4, $00b8 (V1)
- slti at, t0, $0006
- bne at, r0, !endhattttdshsd
- nop
- addiu at, r0, $001d
- bne t0, at, !endhat
- nop
- addiu at, r0, $1
- sw at, $014c (V1)
- !endhat:
- jal $2B25AC
- nop
- !endhattttdshsd:
- jal $2a1308
- nop
- jal $29f070
- nop
- lw t0, $00d4 (V1)
- addiu t0, t0, $1100
- sw t0, $00d4 (V1)
- lw t0, $0154 (V1)
- andi t0, t0, $1
- beq t0, r0, !realend
- nop
- or a0, v1, r0
- addiu a1, r0, $0
- lui a2, $1300
- jal $29edcc
- ori a2, a2, $2Af0
- !realend:
- lw ra, $14 (SP)
- jr ra
- addiu sp, sp, $0018
- .org 0x6D5AC
- !othercheck:
- addiu sp, sp, $ffe8
- sw ra, $14 (SP)
- lw t1, $0180 (V1)
- bne t1, r0, !endotheruasbfu
- nop
- lui a0, $8036
- lw a1, $1158 (A0)
- jal $29E27C
- lw a0, $1160 (A0)
- lui at, $42a8
- mtc1 at, f2
- c.lt.s f0, f2
- nop
- bc1f !endotheruasbfu
- nop
- lwc1 f2, $00a4 (V1)
- lui a0, $8036
- lw a1, $1158 (A0)
- lwc1 f12, $00a4 (a1)
- sub.s f2, f2, f12
- abs.s f2, f2
- lui at, $41f0
- mtc1 at, f4
- c.lt.s f2, f4
- nop
- bc1f !endotheruasbfu
- nop
- addiu at, r0, $0001
- sw at, $0180 (V1)
- lui t0, $8034
- lui t1, $4260
- sw t1, $b1bc (T0)
- lui a0, $0300
- ori a0, a0, $0881
- sw a0, $b17c (T0)
- lui a0, $307c
- jal $2ca144
- ori a0, a0, $0081
- !endotheruasbfu:
- lui v1, $8036
- lw v1, $1160 (V1)
- lw ra, $14 (SP)
- jr ra
- addiu sp, sp, $0018
- .org 0xFB3A0
- !hotfix:
- lui t6, $8039
- lw t7, $b8b0 (T6)
- addiu t7,t7, $fffc
- sw t7, $b8b0 (T6)
- lw t8, $0000 (T7)
- sw t8, $be28 (T6)
- lui t0, $8037
- sw r0, $0004 (T0)
- jr ra
- sw r0, $0000 (T0)
- //hex behavior of new chest at 021A078
- //00 04 00 00 11 01 00 41 0E 2A 00 02 10 3D 00 FF 10 05 00 00 08 00 00 00 0C 00 00 00 80 2A 81 6C 09 00 00 00
- .org 0x9778
- !fixnormalcollision:
- ADDIU SP, SP, 0xFFE8
- SW RA, 0x0014 (SP)
- lui t0, $8037
- lw t0, $0004 (T0)
- bne t0, r0, !endnormalcollision
- nop
- SW A0, 0x0018 (SP)
- SW A1, 0x001C (SP)
- SW A2, 0x0020 (SP)
- LW T6, 0x0020 (SP)
- LW T7, 0x0018 (SP)
- SW T6, 0x0078 (T7)
- LW T8, 0x0020 (SP)
- LW T9, 0x0018 (SP)
- SW T8, 0x0080 (T9)
- LW A0, 0x0018 (SP)
- LW A1, 0x0020 (SP)
- JAL 0x8024D578
- LUI A2, 0x40A0
- !endnormalcollision:
- LW RA, 0x0014 (SP)
- JR RA
- ADDIU SP, SP, 0x0018
- .org 0xB198
- !fixtalkcollision:
- ADDIU SP, SP, 0xFFE0
- SW RA, 0x0014 (SP)
- SW A0, 0x0020 (SP)
- SW A1, 0x0024 (SP)
- SW A2, 0x0028 (SP)
- SW R0, 0x001C (SP)
- lui t0, $8037
- lw t0, $0004 (T0)
- bne t0, r0, !talkend
- nop
- LW T6, 0x0028 (SP)
- LW T7, 0x0190 (T6)
- ANDI T8, T7, 0x1000
- BEQ T8, R0, !labeltalk1
- NOP
- LW A0, 0x0020 (SP)
- JAL 0x8024FF04
- LW A1, 0x0028 (SP)
- BEQ R0, R0, !talkend
- SW V0, 0x001C (SP)
- !labeltalk1:
- LW T9, 0x0028 (SP)
- LW T0, 0x0190 (T9)
- ANDI T1, T0, 0x4000
- BEQ T1, R0, !labeltalk2
- NOP
- LW A0, 0x0020 (SP)
- JAL 0x80250098
- LW A1, 0x0028 (SP)
- BEQ R0, R0, !talkend
- SW V0, 0x001C (SP)
- !labeltalk2:
- LW A0, 0x0020 (SP)
- LW A1, 0x0028 (SP)
- JAL 0x8024D578
- LUI A2, 0x4000
- !talkend:
- LW V0, 0x001C (SP)
- LW RA, 0x0014 (SP)
- JR RA
- ADDIU SP, SP, 0x0020
- .org 0xAD2C
- !fixgrabable:
- ADDIU SP, SP, 0xFFE0
- SW RA, 0x0014 (SP)
- SW A0, 0x0020 (SP)
- SW A1, 0x0024 (SP)
- SW A2, 0x0028 (SP)
- lui t0, $8037
- lw t0, $0004 (T0)
- bne t0, r0, !grabableend
- nop
- LW T6, 0x0028 (SP)
- ADDIU A0, R0, 0x0013
- JAL 0x80277FA8
- LW A1, 0x020C (T6)
- SW V0, 0x001C (SP)
- LW T7, 0x0028 (SP)
- LW T8, 0x0190 (T7)
- ANDI T9, T8, 0x0100
- BEQ T9, R0, !grabablelabel1
- NOP
- LW A0, 0x0020 (SP)
- JAL 0x8024C1D8
- LW A1, 0x0028 (SP)
- SW V0, 0x0018 (SP)
- LW T0, 0x0018 (SP)
- ANDI T1, T0, 0x000C
- BEQ T1, R0, !grabablelabel1
- NOP
- LW A0, 0x0028 (SP)
- JAL 0x8024C51C
- LW A1, 0x0018 (SP)
- LW A0, 0x0020 (SP)
- JAL 0x8024D72C
- LW A1, 0x0018 (SP)
- BEQ R0, R0, !grabableend
- OR V0, R0, R0
- !grabablelabel1:
- LW T2, 0x0028 (SP)
- LW T3, 0x0190 (T2)
- ANDI T4, T3, 0x0004
- BEQ T4, R0, !grabablelabel2
- NOP
- LW A0, 0x0020 (SP)
- LW A1, 0x0024 (SP)
- JAL 0x8024F7A8
- LW A2, 0x0028 (SP)
- BEQ V0, R0, !grabablelabel2
- NOP
- BEQ R0, R0, !grabableend
- ADDIU V0, R0, 0x0001
- !grabablelabel2:
- LW A0, 0x0020 (SP)
- JAL 0x8024CB58
- LW A1, 0x0028 (SP)
- BEQ V0, R0, !grabablelabel4
- NOP
- LW T5, 0x0028 (SP)
- LW T6, 0x0190 (T5)
- ANDI T7, T6, 0x0200
- BNEZ T7, !grabablelabel4
- NOP
- LW T8, 0x0028 (SP)
- LW T9, 0x0020 (SP)
- SW T8, 0x0078 (T9)
- LW T0, 0x0020 (SP)
- LHU T1, 0x0002 (T0)
- ORI T2, T1, 0x0800
- SH T2, 0x0002 (T0)
- BEQ R0, R0, !grabableend
- ADDIU V0, R0, 0x0001
- !grabablelabel4:
- LW T4, 0x001C (SP)
- LUI T3, 0x1300
- ADDIU T3, T3, 0x1850
- BEQ T3, T4, !grabablelabel3
- NOP
- LW A0, 0x0020 (SP)
- LW A1, 0x0028 (SP)
- JAL 0x8024D578
- LUI A2, 0xC0A0
- !grabablelabel3:
- OR V0, R0, R0
- !grabableend:
- LW RA, 0x0014 (SP)
- JR RA
- ADDIU SP, SP, 0x0020
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement