diff --git a/src/asm/909000.txt b/src/asm/909000.txt
new file mode 100644
index 0000000..74e7dcc
--- /dev/null
+++ b/src/asm/909000.txt
@@ -0,0 +1,117 @@
+.org 0x7f00
+!main:
+addiu sp, sp, $ffe4
+sw ra, $14 (SP)
+lui t0, $8039
+lw t2, $be28 (T0)
+beq t2, r0, !end
+nop
+lw t3, $0004 (T2)
+lui at, $8016
+ori at, at, $f5b0
+bne t3, at, !end
+nop
+lui t0, $80ff
+lbu t2, $5ff4 (T0)
+addiu at, r0, $8
+bne t2, at, !end
+nop
+ori t1, t0, $1b00
+or a3, r0, r0
+or t4, r0, r0
+!Loopcheck:
+lbu t3, $771a (T0)
+slt at, t3, a3
+bne at, r0, !endofloop
+nop
+lbu t4, $7700 (T0)
+or a3, t3, r0
+!endofloop:
+addiu t0, t0, $0100
+bne t0, t1, !Loopcheck
+nop
+or t5, a3, r0
+sw a3, $0018 (SP)
+or a3, t4, r0
+lui t0, $8091
+lbu t0, $02ff (T0)
+bne t5, t0, !noplayerwin
+nop
+addiu a0, r0, $0020
+addiu a1, r0, $00d1
+lui a2, $8091
+jal $2d62d8
+ori a2, a2, $02a0
+beq r0, r0, !reunition
+nop
+
+
+!noplayerwin:
+addiu a0, r0, $0020
+addiu a1, r0, $00d1
+lui a2, $8091
+jal $2d62d8
+ori a2, a2, $0260
+
+
+lw a3, $0018 (SP)
+addiu a0, r0, $0020
+addiu a1, r0, $00b9
+lui a2, $8091
+jal $2d62d8
+ori a2, a2, $0280
+!reunition:
+lui t0, $80ff
+lbu t1, $7714 (T0)
+lui at, $8033
+sh t1, $ddf8 (AT)
+
+lui t1, $8034
+sw r0, $afa0 (T1)
+jal $ffa000
+nop
+jal $910d00
+lui t0, $801a
+!end:
+lw ra, $14 (SP)
+jr ra
+addiu sp, sp, $1c
+
+.org 0x7d00
+!nops:
+sb r0, $7860 (T0)
+sb r0, $7870 (T0)
+sb r0, $7880 (T0)
+sb r0, $7890 (T0)
+sb r0, $78a0 (T0)
+sb r0, $78b0 (T0)
+sb r0, $78c0 (T0)
+sb r0, $78d0 (T0)
+sb r0, $78e0 (T0)
+sb r0, $78f0 (T0)
+sb r0, $7900 (T0)
+sb r0, $7910 (T0)
+sb r0, $7920 (T0)
+sb r0, $7930 (T0)
+sb r0, $7940 (T0)
+sb r0, $7950 (T0)
+sb r0, $7960 (T0)
+sb r0, $7970 (T0)
+sb r0, $7980 (T0)
+sb r0, $7990 (T0)
+sb r0, $79a0 (T0)
+sb r0, $79b0 (T0)
+sb r0, $79c0 (T0)
+sb r0, $79d0 (T0)
+sb r0, $79e0 (T0)
+sb r0, $79f0 (T0)
+sb r0, $7a00 (T0)
+sb r0, $7a10 (T0)
+sb r0, $7a20 (T0)
+sb r0, $7a30 (T0)
+sb r0, $7a40 (T0)
+sb r0, $7a50 (T0)
+sb r0, $7a60 (T0)
+sb r0, $7c40 (T0)
+jr ra
+sb r0, $7c50 (T0)
\ No newline at end of file
diff --git a/src/asm/characterconverter.txt b/src/asm/characterconverter.txt
new file mode 100644
index 0000000..aa1c683
--- /dev/null
+++ b/src/asm/characterconverter.txt
@@ -0,0 +1,182 @@
+//yoshi is at 80570000 to 80590E00 model size 2ac0
+
+.org 0x861c0
+!hook:
+addiu sp, sp, $ffe8
+sw ra, $14 (SP)
+jal $2ca6d0
+nop
+!endhook:
+lw ra, $14 (SP)
+jr ra
+addiu sp, sp, $0018
+
+.org 0x856d0
+!main:
+addiu sp, sp, $ffe8
+sw ra, $14 (SP)
+lui a2, $8040
+ori a2, a2, $0000 //RAM location, update 369F40 to write this in for your own characters
+lui t0, $800f
+ori t0, t0, $0860
+sub a3, a2, t0
+
+lui t0, $8033
+lw t0, $DDC4 (T0)
+lw t3, $0008 (T0)
+bne t3, r0, !nonewmodelset
+nop
+lw t1, $0004 (T0)
+or at, a2, r0
+addiu t9, at, $7ce8 //model size
+!loop:
+lw t2, $0000 (T1)
+lui t3, $ffff
+and t3, t2, t3
+lui t4, $800f
+bne t3, t4, !skipthisasbiufbau9sif
+nop
+add t2, t2, a3
+!skipthisasbiufbau9sif:
+sw t2, $0000 (AT)
+addiu at, at, $4
+addiu t1, t1, $4
+bne t9, at, !loop
+nop
+lui at, $8033
+lw at, $ddc4 (AT)
+or t0, a2, r0
+sw t0, $0008 (at)
+nop
+jal $277f50
+lui a0, $0400
+addiu a3, a2, $2000
+//addiu a3, a3, $4000
+lui at, $0003
+ori at, at, $6000 //bank 04 size
+add a1, a3, at
+!copyloop:
+lw t2, $0000 (v0)
+sw t2, $0000 (A3)
+addiu a3, a3, $4
+addiu v0, v0, $4
+bne a1, a3, !copyloop
+nop
+or a0, a2, r0
+addiu a1, a2, $3000 //model size again
+!loppsaf:
+lw t2, $0000 (A0)
+lui at, $ffff
+and at, at, t2
+lui t3, $0400
+beq t3, at, !fixthispointer
+nop
+lui t3, $0401
+beq t3, at, !fixthispointer
+nop
+lui t3, $0403
+beq t3, at, !fixthispointer
+nop
+lui t3, $0402
+bne t3, at, !dontfix
+nop
+!fixthispointer:
+jal $30FFF8
+nop
+!dontfix:
+addiu a0, a0, $4
+bne a0, a1, !loppsaf
+nop
+
+!nonewmodelset:
+lui a0, $8034
+lhu a0, $afa0 (A0)
+andi a0, a0, $0020
+beq a0, r0, !end
+nop
+addiu a1, r0, $0002
+lui a0, $8036
+lw a0, $1158 (A0)
+lui a2, $1300
+jal $29edcc
+addiu a2, a2, $2a48
+!end:
+lw ra, $14 (SP)
+jr ra
+addiu sp, sp, $018
+
+//803e92b0
+.org 0xCAFF8
+!fixDL:
+addiu sp, sp, $ffe8
+sw ra, $14 (SP)
+addiu a3, a2, $2000
+//addiu a3, a3, $4000
+lui at, $00ff
+ori at, at, $ffff
+and a3, a3, at
+lui at, $0400
+sub a3, a3, at
+add t2, t2, a3
+sw t2, $0000 (A0)
+lui t3, $8000
+or t3, t3, t2
+jal $3145D4
+nop
+lw ra, $14 (SP)
+jr ra
+addiu sp, sp, $0018
+
+
+.org 0xCF5D4
+!dasfihasbuf:
+addiu sp, sp, $ffe8
+sw ra, $14 (SP)
+!loopfixDL:
+
+lw t4, $0000 (T3)
+lui at, $ff00
+and at, at, t4
+lui t5, $0300
+beq t5, at, !fixpointer
+nop
+lui t5, $0400
+beq t5, at, !fixpointer
+nop
+lui t5, $fd00
+bne t5, at, !Notexturefix
+nop
+!fixpointer:
+lw t7, $0004 (t3)
+lui at, $ff00
+and at, at, t7
+beq at, r0, !Notexturefix
+nop
+add t7, t7, a3
+sw t7, $0004 (T3)
+!Notexturefix:
+sw t3, $0010 (SP)
+lui t5, $0600
+bne t5, at, !nosubcall
+nop
+lw t2, $0004 (t3)
+lui at, $ff00
+and at, at, t2
+beq at, r0, !nosubcall
+nop
+add t2, t2, a3
+sw t2, $0004 (T3)
+lui t3, $8000
+jal $3145D4
+or t3, t3, t2
+!nosubcall:
+lw t3, $0010 (SP)
+!endoftextureloop:
+lw t2, $0008 (T3)
+lui at, $b800
+addiu t3, t3, $0008
+bne t2, at, !loopfixDL
+nop
+lw ra, $14 (SP)
+jr ra
+addiu sp, sp, $0018
\ No newline at end of file
diff --git a/src/asm/ff9800.txt b/src/asm/ff9800.txt
new file mode 100644
index 0000000..138ffd6
--- /dev/null
+++ b/src/asm/ff9800.txt
@@ -0,0 +1,158 @@
+.org 0x0000
+!main:
+addiu sp, sp, $ffe4
+sw ra, $14 (SP)
+lui t0, $8036
+lw t7, $1160 (T0)
+lbu t2, $0188 (T7)
+sll t2, t2, $08
+lui t1, $80ff
+add t1, t1, t2
+lbu t9, $770e (T1)
+lhu t8, $770c (T1)
+andi t8, t8, $ff0f
+lui t6, $80ff
+lhu t6, $770c (T6)
+andi t6, t6, $ff0f
+bne t8, t6, !nonsolid
+nop
+
+
+lbu t1, $7701 (T1)
+addiu t8, r0, $0
+addiu at, r0, $4
+bne at, t9, !notwario
+nop
+addiu t8, r0, $1
+!notwario:
+lw t9, $0180 (T7)
+add t9, t9, t8
+sw t9, $0180 (t7)
+lui t3, $80ff
+lbu t8, $5ff4 (t3)
+addiu at, r0, $0005
+bne at, t8, !regularbox
+nop
+lbu at, $7718 (T3)
+lbu t2, $0188 (T7)
+bne t2, at, !regularbox
+nop
+addiu t9, t9, $3
+sw t9, $0180 (T7)
+!regularbox:
+sll t1, t1, $2
+add t0, t3, t1
+addiu t0, t0, $2000
+lw t0, $7400 (T0)
+ori at, r0, $8000
+bne t0, at, !dontset
+nop
+sw r0, $0180 (T7)
+lw t1, $0134 (T7)
+ori at, r0, $c003
+bne t1, at, !dontset
+nop
+lui t0, $8034
+lui at, $4268
+sw at, $b1bc (T0)
+lui at, $1080
+ori at, at, $08A4
+sw at, $b17c (T0)
+ori t0, r0, $8000
+!dontset:
+sw t0, $0130 (T7)
+ori at, r0, $0008
+bne at, t0, !noexpansion
+nop
+lui a0, $80ff
+lbu a0, $5ff4 (a0)
+addiu at, r0, $0003
+beq at, a0, !noexpansion
+nop
+lw t1, $00d4 (T7)
+sw t1, $00c8 (T7)
+sw t7, $0018 (SP)
+addiu a1, r0, $0000
+or a0, t7, r0
+lui a2, $00ff
+jal $29edcc
+ori a2, a2, $9e80
+lw t7, $0018 (SP)
+lbu t2, $0188 (T7)
+sb t2, $0188 (V0)
+!noexpansion:
+lui t1, $4000
+bne t1, t0, !end
+nop
+lui t2, $8034
+lwc1 f2, $b1b0 (T2)
+lwc1 f4, $b1bc (T2)
+mtc1 r0, f8
+c.lt.s f4, f8
+nop
+bc1f !end
+nop
+lui at, $42c8
+mtc1 at, f4
+sub.s f2, f2, f4
+lwc1 f6, $00a4 (T7)
+c.lt.s f2, f6
+nop
+bc1t !end
+nop
+addiu at, r0, $0080
+sw at, $0130 (T7)
+sw r0, $0180 (T7)
+!end:
+lui t0, $8036
+lw t7, $1160 (T0)
+
+
+lbu t2, $0188 (T7)
+sll t2, t2, $08
+lui t1, $80ff
+add t1, t1, t2
+lhu t8, $770c (T1)
+
+andi t8, t8, $0040
+beq t8, r0, !nonmetalasnfiunsaf
+nop
+addiu at, r0, $0008
+sw at, $0130 (T7)
+!nonmetalasnfiunsaf:
+lw t1, $0134 (T7)
+ori at, r0, $a000
+bne at, t1, !skipplayid
+nop
+lbu t2, $0188 (T7)
+lui t3, $80ff
+sb t2, $5fef (T3)
+
+!skipplayid:
+sw r0, $0134 (T7)
+lui t2, $80ff
+lbu t2, $5ff4 (T2)
+addiu at, r0, $0003
+bne t2, at, !asbfuiasbzufasfasbzuf
+nop
+!nonsolid:
+addiu at, r0, $ffff
+sw at, $009c (t7)
+lui at, $8000
+sw at, $0130 (T7)
+!asbfuiasbzufasfasbzuf:
+lwc1 f2, $002c (T7)
+lui at, $4214
+mtc1 at, f4
+mul.s f4, f4, f2
+swc1 f2, $01f8 (T7)
+
+lui at, $4320
+mtc1 at, f4
+mul.s f4, f4, f2
+swc1 f2, $01fc (T7)
+
+
+lw ra, $14 (SP)
+jr ra
+addiu sp, sp, $001c
\ No newline at end of file
diff --git a/src/asm/ff9d00.txt b/src/asm/ff9d00.txt
new file mode 100644
index 0000000..9d85adb
--- /dev/null
+++ b/src/asm/ff9d00.txt
@@ -0,0 +1,14 @@
+.org 0x000
+!main:
+lui t7, $8036
+lw t7, $1160 (T7)
+lw t1, $0134 (T7)
+ori at, r0, $a000
+bne at, t1, !skipplayid
+nop
+lbu t2, $0188 (T7)
+lui t3, $80ff
+sb t2, $5fef (T3)
+!skipplayid:
+jr ra
+nop
\ No newline at end of file
diff --git a/src/asm/ff9d80.txt b/src/asm/ff9d80.txt
new file mode 100644
index 0000000..cd0ce9b
--- /dev/null
+++ b/src/asm/ff9d80.txt
@@ -0,0 +1,26 @@
+.org 0x000
+!main:
+lui t0, $80ff
+lbu t1, $5ff4 (T0)
+addiu at, r0, $5
+bne at, t1, !skip
+nop
+lbu t1, $7718 (T0)
+lbu t2, $7700 (T0)
+bne t1, t2, !skip
+nop
+lui t1, $8036
+lw t1, $1158 (T1)
+lui at, $4080
+mtc1 at, f2
+lwc1 f4, $002c (T1)
+mul.s f4, f4, f2
+swc1 f4, $002c (T1)
+swc1 f4, $0034 (T1)
+
+lwc1 f6, $0030 (T1)
+mul.s f6, f6, f2
+swc1 f6, $0030 (T1)
+!skip:
+jr a3
+nop
\ No newline at end of file
diff --git a/src/asm/ffa000.txt b/src/asm/ffa000.txt
new file mode 100644
index 0000000..8af8bcf
--- /dev/null
+++ b/src/asm/ffa000.txt
@@ -0,0 +1,4171 @@
+//add dpad taunts
+
+//80367600 copy area
+//80367700
+//80367800
+//8036781C mario 2 pointer (update if outdated)
+//(repeat every 0x100 byte for each new mario, p1 always copies itself to 80367800)
+//8036A000 holds code
+
+//mariomare doesnt work properly without interpreter mode
+//make host send data
+
+.org 0x0000
+!main:
+addiu sp, sp, $ffdc
+sw ra, $14 (SP)
+lui t9, $80ff
+lbu t1, $5fff (T9)
+beq t1, r0, !nomario2stuff
+nop
+addiu at, r0, $1
+bne at, t1, !checkplayercount
+nop
+sb t1, $7700 (T9) //not necessary anymore?
+addiu at, r0, $2
+sw at, $5ff8 (T9)
+
+ori at, t9, $5ff8
+sw at, $740c (T9)
+addiu at, r0, $0004
+sw at, $7410 (T9)
+ori at, t9, $5ffC
+sw at, $7414 (T9)
+
+lui t8, $80ff
+lui t0, $80ff
+ori t0, t0, $1b00
+
+lui t7, $80ff
+addiu t7, t7, $000c
+!hostloop:
+lbu t1, $7800 (T8)
+beq t1, r0, !endofplayerloop
+nop
+addiu at, t8, $7800
+sw at, $7400 (T7) //change all 7600 to 7400 (there are later ones)
+
+addiu at, r0, $001c //???
+sw at, $7404 (T7)
+sll t1, t1, $8
+
+ori at, t9, $7700
+add at, at, t1
+sw at, $7408 (T7)
+
+
+!endofplayerloop:
+addiu t7, t7, $000c
+addiu t8, t8, $0100
+bne t0, t8, !hostloop
+nop
+
+beq r0, r0, !afterplayID
+nop
+!checkplayercount:
+lbu t1, $7815 (T9)
+sb t1, $5ff4 (T9)
+lbu a0, $7700 (T9)
+bne a0, r0, !afterplayID
+nop
+addiu a0, r0, $0000
+ori t0, t9, $7800
+!loopaddID:
+lbu t1, $0000 (T0)
+addiu a0, a0, $1
+addiu t0, t0, $0100
+bne t1, r0, !loopaddID
+nop
+sb a0, $7700 (T9)
+!afterplayID:
+sw t9, $0018 (SP)
+lui t0, $8036
+lw t0, $1158 (T0)
+beq t0, r0, !nomario2stuff
+nop
+
+lhu t8, $0040 (T0)
+sh t8, $7702 (T9)
+
+lhu t8, $0038 (T0)
+lui t3, $8034
+lw t3, $b17c (T3)
+ori t2, r0, $1371
+bne t2, t3, !regularstoremario2stuff
+nop
+addiu t8, r0, $00C4
+!regularstoremario2stuff:
+sb t8, $7701 (T9)
+
+lwc1 f8, $0020 (T0)
+cvt.w.s f8, f8
+mfc1 t8, f8
+sh t8, $7704 (T9)
+
+
+lwc1 f8, $0024 (T0)
+cvt.w.s f8, f8
+mfc1 t8, f8
+sh t8, $7706 (T9)
+
+
+lwc1 f8, $0028 (T0)
+cvt.w.s f8, f8
+mfc1 t8, f8
+sh t8, $7708 (T9)
+
+lhu t0, $001c (T0)
+sh t0, $770a (T9)
+
+lui t0, $8033
+lhu t0, $ddf8 (T0)
+sb t0, $770c (T9)
+
+lui t0, $8034
+lbu t3, $b177 (T0)
+andi t3, t3, $000f
+sll t3, t3, $4
+lbu t2, $bacb (T0)
+or t2, t2, t3
+sb t2, $770d (T9)
+
+
+
+sb r0, $770f (T9)
+lui t2, $80ff
+lbu t2, $5ff0 (T2)
+sb t2, $770e (T9)
+
+ori at, t9, $7700
+sw at, $7400 (T9)
+addiu at, r0, $001c //???
+sw at, $7404 (T9)
+
+lbu t1, $7700 (T9)
+sll t1, t1, $8
+ori at, t9, $7700
+add at, at, t1
+sw at, $7408 (T9)
+
+
+!loop:
+lbu t0, $7800 (T9)
+beq t0, r0, !skipthismario
+nop
+lui a0, $80ff
+lbu a0, $7700 (A0)
+beq a0, t0, !skipthismario
+nop
+
+lw a0, $781c (T9)
+beq a0, r0, !spawnmario
+nop
+lh t1, $0074 (A0)
+beq t1, r0, !spawnmario
+nop
+lw t1, $0144 (a0)
+lui at, $7777
+ori at, at, $7777
+beq t1, at, !nospawnmario
+nop
+!spawnmario:
+sw t9, $0018 (SP)
+lui a0, $8036
+lw a0, $1158 (A0)
+addiu a1, r0, $0001
+lui a2, $00ff
+jal $29edcc
+ori a2, a2, $9f00
+lui at, $7777
+ori at, at, $7777
+sw at, $0144 (v0)
+lw t9, $0018 (SP)
+sw v0, $781c (T9)
+lbu t1, $7800 (T9)
+sb t1, $0188 (V0)
+
+lh t1, $7804 (T9)
+sh t1, $7884 (T9)
+
+lh t1, $7806 (T9)
+sh t1, $7886 (T9)
+
+lh t1, $7808 (T9)
+sh t1, $7888 (T9)
+!nospawnmario:
+
+lbu a1, $7801 (T9)
+beq a1, r0, !dontanimateaaaaaaaaaaaaaaaa
+nop
+addiu at, r0, $00ff
+bne a1, at, !dontreasnbfiasnifu
+nop
+addiu a1, r0, $00c2
+!dontreasnbfiasnifu:
+lw a0, $781c (T9)
+
+lui t0, $8100
+lbu t1, $7800 (T9)
+sll t1, t1, $2
+add t0, t0, t1
+lw t0, $9f7c (T0) //changed frp, 9fbc
+beq t0, r0, !dontanimateaaaaaaaaaaaaaaaa
+nop
+
+sw a0, $0580 (T0)
+addiu at, t0, $05b8
+sw at, $0598 (T0)
+lui at, $8006
+ori t1, at, $4040
+sw t1, $05b8 (t0)
+addiu at, t0, $0680
+sw at, $05c0 (T0)
+addiu at, r0, $bd
+sh at, $05a8 (T0)
+JAL $802509B8
+addiu a0, t0, $04f8
+!dontanimateaaaaaaaaaaaaaaaa:
+lw t9, $0018 (SP)
+
+lui t3, $80ff
+lbu t3, $5ff4 (T3)
+beq t3, r0, !yesORstars
+nop
+addiu t4, r0, $1
+bne t4, t3, !NoOR
+nop
+!yesORstars:
+lw t3, $7810 (T9)
+lbu t4, $7814 (T9)
+beq t3, r0, !NoOR
+nop
+lbu t5, $0000 (T3)
+or t5, t5, t4
+sb t5, $0000 (T3)
+
+lbu t5, $0038 (T3)
+or t5, t5, t4
+sb t5, $0038 (T3)
+!NoOR:
+lw a0, $781c (T9)
+
+
+
+lbu t0, $780f (T9)
+addiu t1, t0, $1
+sb t1, $780f (t9)
+beq r0, t0, !nointerpolate
+nop
+lh t1, $7804 (T9)
+lh t2, $78c4 (T9)
+sub t3, t1, t2
+add t1, t1, t3
+sh t1, $7804 (T9)
+sh t1, $7884 (T9)
+
+lh t1, $7806 (T9)
+lh t2, $78c6 (T9)
+sub t3, t1, t2
+add t1, t1, t3
+sh t1, $7806 (T9)
+sh t1, $7886 (T9)
+
+lh t1, $7808 (T9)
+lh t2, $78c8 (T9)
+sub t3, t1, t2
+add t1, t1, t3
+sh t1, $7808 (T9)
+sh t1, $7888 (T9)
+
+
+lui t0, $8100
+lbu t1, $7800 (T9)
+sll t1, t1, $2
+add t0, t0, t1
+lw t0, $9f7c (T0)
+beq t0, r0, !nointerpolate
+nop
+lhu t1, $0688 (T0)
+
+lhu t0, $7802 (T9)
+addiu t0, t0, $0001
+slt at, t0, t1
+xori at, at, $0001
+sub t0, t0, at
+sh t0, $7802 (T9)
+
+!nointerpolate:
+
+lhu t0, $7884 (T9)
+sh t0, $78c4 (T9)
+lhu t0, $7886 (T9)
+sh t0, $78c6 (T9)
+lhu t0, $7888 (T9)
+sh t0, $78c8 (T9) //position one frame ago
+
+
+
+
+lhu t0, $7802 (T9)
+sh t0, $0040 (A0)
+
+sh t0, $7882 (T9) //last position backup
+lhu t0, $7800 (T9)
+sh t0, $7880 (T9)
+
+lh t1, $7804 (T9)
+sh t1, $7884 (T9)
+mtc1 t1, f2
+cvt.s.w f2, f2
+swc1 f2, $0020 (a0)
+swc1 f2, $00a0 (a0)
+
+lh t1, $7806 (T9)
+sh t1, $7886 (T9)
+mtc1 t1, f2
+cvt.s.w f2, f2
+swc1 f2, $0024 (a0)
+swc1 f2, $00a4 (a0)
+
+lh t1, $7808 (T9)
+sh t1, $7888 (T9)
+mtc1 t1, f2
+cvt.s.w f2, f2
+swc1 f2, $0028 (a0)
+swc1 f2, $00a8 (a0)
+
+lhu t2, $780a (t9)
+sw t2, $00d4 (a0)
+sw r0, $00d0 (A0)
+sw r0, $00d8 (A0)
+sh t2, $001c (A0)
+
+//set powerups
+sw t9, $001c (SP)
+sw a0, $0020 (SP)
+
+lhu t1, $780c (T9)
+lui at, $80ff
+lhu t2, $770c (at)
+andi t1, t1, $FF0F
+andi t2, t2, $FF0F
+bne t1, t2, !nowings
+nop
+
+
+lbu t2, $780d (T9)
+andi t2, t2, $0020
+beq t2, r0, !novanish
+nop
+lw t1, $0154 (a0)
+andi t1, t1, $1
+bne t1, r0, !novanish
+nop
+LH T7, 0x0002 (a0)
+xORI T8, T7, 0x0010
+SH T8, 0x0002 (a0)
+beq r0, r0, !vanishunite
+nop
+!novanish:
+LH T7, 0x0002 (a0)
+andi t8, t7, $ffef
+SH T8, 0x0002 (a0)
+!vanishunite:
+lw t9, $001c (SP)
+
+lbu t2, $780d (T9)
+andi t2, t2, $0040
+beq t2, r0, !nometal
+nop
+lw t0, $0154 (a0)
+andi t0, t0, $3
+addiu at, r0, $3
+bne t0, at, !checkcoll
+nop
+addiu a1, r0, $0
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $2Af0
+lw a0, $0020 (SP)
+
+!checkcoll:
+!nometal:
+lw t9, $001c (SP)
+lw a0, $0020 (SP)
+lbu t2, $780d (T9)
+andi t2, t2, $0080
+beq t2, r0, !nowings
+nop
+lw t0, $0154 (a0)
+addiu t0, t0, $2
+andi t0, t0, $3
+addiu at, r0, $3
+bne t0, at, !checkcoll222
+nop
+addiu a1, r0, $96
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $31ac
+
+!checkcoll222:
+!nowings:
+lw t9, $001c (SP)
+lw a0, $0020 (SP)
+
+lui t3, $8033
+lw t3, $DDC4 (T3)
+lw t4, $0004 (T3)
+
+lbu t1, $780e (t9)
+addiu at, r0, $1
+beq t1, at, !store2
+nop
+lui t3, $80ff
+sll t1, t1, $2
+add t3, t3, t1
+addiu t3, t3, $2000
+lw t4, $7f3c (T3) //character model pointer, realign this somewhere else later
+
+!store2:
+lhu t1, $780c (T9)
+lui at, $80ff
+lhu t2, $770c (at)
+andi t1, t1, $FF0F
+andi t2, t2, $FF0F
+beq t1, t2, !store
+nop
+or t4, r0, r0
+!store:
+sw t4, $0014 (A0)
+//test
+addiu t4, r0, $0021
+sh t4, $0002 (A0)
+!skipthismario:
+addiu t9, t9, $0100
+sw t9, $0018 (SP)
+lui t8, $80ff
+ori t8, t8, $1b00 //27 marios
+bne t9, t8, !loop
+nop
+!nomario2stuff:
+lui t3, $8033
+lw t3, $DDC4 (T3)
+lw t4, $0004 (T3)
+lui t9, $80ff
+lbu t1, $770e (t9)
+addiu at, r0, $1
+beq t1, at, !marioasnfuiasnuifnhuasdf
+nop
+lui t3, $80ff
+sll t1, t1, $2
+add t3, t3, t1
+addiu t3, t3, $2000
+lw t4, $7f3c (T3) //character model pointer, realign this somewhere else later
+!marioasnfuiasnuifnhuasdf:
+lui t3, $8036
+lw t3, $1158 (T3)
+beq t3, r0, !realendasfasf
+nop
+sw t4, $0014 (T3)
+!realendasfasf:
+lui t0, $8036
+lw t0, $1158 (T0)
+beq t0, r0, !finalendasdgadsg
+nop
+
+lui at, $8026
+ori at, at, $ff8c
+lui t2, $8033
+sw at, $6c98 (T2)
+
+lui t2, $80ff
+lbu t2, $770e (T2)
+andi t2, t2, $000f //15 chars with 15 skins
+addiu at, r0, $1
+beq at, t2, !finalendasdgadsg
+nop
+addiu at, r0, $2
+beq at, t2, !luigi
+nop
+addiu at, r0, $3
+beq at, t2, !yoshi
+nop
+addiu at, r0, $4
+beq at, t2, !wario
+nop
+addiu at, r0, $5
+beq at, t2, !peach
+nop
+addiu at, r0, $6
+beq at, t2, !toad
+nop
+addiu at, r0, $7
+beq at, t2, !waluigi
+nop
+addiu at, r0, $8
+beq at, t2, !birdo
+nop //actually rosalina
+addiu at, r0, $9
+beq at, t2, !sonic
+nop
+addiu at, r0, 0x0A
+beq at, t2, !knuckles
+nop
+addiu at, r0, 0x0B
+beq at, t2, !goomba
+nop
+addiu at, r0, 0x0c
+beq at, t2, !pinkguy
+nop
+beq r0, r0, !finalendasdgadsg
+nop
+!luigi:
+lui t2, $8034
+lhu t1, $b1c4 (T2)
+andi t1, t1, $8000
+bne t1, r0, !nospeedasuibduiasdfwetwet
+nop
+lw t1, $b1d8 (T2)
+beq t1, r0, !nospeedasuibduiasdfwetwet
+nop
+lhu t1, $0000 (T1)
+addiu at, r0, $0013
+beq t1, at, !nospeedasuibduiasdfwetwet
+nop
+addiu at, r0, $0014
+beq t1, at, !nospeedasuibduiasdfwetwet
+nop
+addiu at, r0, $0036
+beq t1, at, !nospeedasuibduiasdfwetwet
+nop
+addiu at, r0, $002E
+beq t1, at, !nospeedasuibduiasdfwetwet
+nop
+//disable on super slippery terrain
+lwc1 f2, $b1c4 (T2)
+lui at, $3e20
+mtc1 at, f4
+sub.s f2, f2, f4
+swc1 f2, $b1c4 (T2)
+!nospeedasuibduiasdfwetwet:
+
+
+lwc1 f2, $b1bc (T2)
+lui at, $3e80
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1bc (T2)
+lw t3, $b17c (T2)
+lui at, $0400
+ori at, at, $0445
+bne t3, at, !finalendasdgadsg
+nop
+lw t1, $b1d8 (T2)
+beq t1, r0, !everythingsfine
+nop
+lhu t1, $0000 (T1)
+addiu at, r0, $0013
+beq at, t1, !finalendasdgadsg
+nop
+addiu at, r0, $0014
+beq at, t1, !finalendasdgadsg
+nop
+addiu at, r0, $002e
+beq at, t1, !finalendasdgadsg
+nop
+//disable on super slippery terrain
+!everythingsfine:
+lwc1 f2, $b1c4 (T2)
+lui at, $4060
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1c4 (T2)
+beq r0, r0, !finalendasdgadsg
+nop
+//8036767f - yoshi flutterjump timer
+!yoshi:
+lui t0, $8034
+sb r0, $b19a (T0)
+lw t3, $b17c (t0)
+lui at, $0300
+ori at, at, $0886
+bne t3, at, !nobonk
+nop
+lw t1, $b180 (T0)
+
+lui at, $0010
+ori at, at, $0345
+beq at, t1, !nobonk
+nop
+lui at, $0010
+ori at, at, $0343
+beq at, t1, !nobonk
+nop
+lui at, $0010
+ori at, at, $0344
+beq at, t1, !nobonk
+nop
+lui at, $0810
+ori at, at, $0340
+beq at, t1, !nobonk
+nop
+
+
+
+lui at, $0102
+ori at, at, $08B0
+sw at, $b17c (T0)
+lui at, $c100
+sw at, $b1bc (T0)
+lui t2, $80ff
+sb r0, $767f (T2)
+!nobonk:
+lw t3, $b1b0 (T0)
+lw t4, $b1e0 (T0)
+lui t2, $80ff
+bne t3, t4, !Noresetasfgasdg
+nop
+sb r0, $767f (T2)
+beq r0, r0, !finalendasdgadsg
+nop
+!Noresetasfgasdg:
+lbu t1, $767f (T2)
+bne t1, r0, !dontactivate
+nop
+lhu at, $afa0 (t0)
+andi at, at, $8000
+beq at, r0, !dontactivate
+nop
+lhu at, $b1bc (T0)
+andi at, at, $8000
+beq at, r0, !dontactivate
+nop
+lhu at, $b17c (T0)
+ori t1, r0, $0300
+beq at, t1, !yougeabfisabnfuiuiasfd
+nop
+lw at, $b17c (T0)
+lui t1, $0100
+ori t1, t1, $0882
+beq at, t1, !yougeabfisabnfuiuiasfd
+nop
+beq r0, r0, !dontactivate
+nop
+!yougeabfisabnfuiuiasfd:
+addiu at, r0, $0023
+sb at, $767f (T2)
+!dontactivate:
+lbu t1, $767f (T2)
+addiu t0, t1, $ffff
+beq t1, r0, !nosubtractaiusfiusa
+nop
+sb t0, $767f (t2)
+!nosubtractaiusfiusa:
+lbu t0, $767f (T2)
+slti at, t0, $10
+bne at, r0, !finalendasdgadsg
+nop
+lui t6, $8034
+addiu at, r0, $0022
+bne at, t0, !nonsaifosaf
+nop
+lui at, $c180
+sw at, $b1bc (T6)
+lui at, $0300
+ori at, at, $0888
+sw at, $b17c (T6)
+!nonsaifosaf:
+lwc1 f2, $b1bc (t6)
+lui at, $4068 //change when longjumping
+mtc1 at, f4
+add.s f2, f2, f4
+lui at, $4120
+mtc1 at, f8
+c.lt.s f2, f8
+nop
+bc1f !nostoreasfasfiuduigniuasdf
+nop
+swc1 f2, $b1bc (T6)
+!nostoreasfasfiuduigniuasdf:
+lui t0, $8036
+lw t0, $1158 (T0)
+sw r0, $0110 (t0)
+lhu t1, $0040 (t0)
+slti at, t1, $000d
+bne at, r0, !animationok
+nop
+addiu t1, t1, $fff6
+!animationok:
+addiu t1, t1, $0001
+sh t1, $0040 (T0)
+lui a1, $8033
+ori a1, a1, $31f0
+lui a0, $2413
+jal $31eb00
+ori a0, a0, $0081
+
+
+beq r0, r0, !finalendasdgadsg
+nop
+
+!wario:
+//add shoulderbash and reduce tankiness
+lui t1, $80ff
+lbu t2, $767e (T1)
+addiu t3, t2, $ffff
+beq t2, r0, !asbuifbsaziuiasdbsazufbgzuasbzasfbnasfu
+nop
+sb t3, $767e (T1)
+beq r0, r0, !shouldb2
+nop
+!asbuifbsaziuiasdbsazufbgzuasbzasfbnasfu:
+lui t0, $8034
+lhu t1, $afa0 (T0)
+andi t1, t1, $4000
+beq t1, r0, !dontshoulderbash
+nop
+lw t1, $b17c (T0)
+lui at, $0C40
+ori at, at, $0201
+beq at, t1, !shouldb
+nop
+lui at, $0400
+ori at, at, $0440
+beq at, t1, !shouldb
+nop
+lui at, $0C00
+ori at, at, $023D
+bne at, t1, !dontshoulderbash
+nop
+!shouldb:
+addiu at, r0, $0020
+lui t1, $80ff
+sb at, $767e (T1)
+LUI A0, $240c
+LUI A1, $8033
+ADDIU A1, A1, $31F0
+JAL $0031EB00
+ORI A0, A0, $0081
+!shouldb2:
+lui t0, $8034
+lw t1, $b1e0 (T0)
+lw t2, $b1b0 (T0)
+bne t1, t2, !resetbach
+nop
+lbu t1, $b222 (T0)
+bne t1, r0, !resetbach
+nop
+sw r0, $af90 (t0)
+sw r0, $af94 (t0)
+sw r0, $af98 (t0)
+sw r0, $af9c (t0)
+sw r0, $afa0 (t0)
+
+lui at, $4248
+sw at, $b1c4 (T0)
+
+lui at, $0080
+ori at, at, $0457
+sw at, $b17c (T0)
+addiu a0, t0, $b170
+jal $2509B8
+addiu a1, r0, $0067
+addiu at, r0, $4
+lui t0, $8036
+lw t0, $1158 (T0)
+sh at, $0040 (T0)
+lui t0, $8034
+addiu at, r0, $1
+beq r0, r0, !dontshoulderbash
+sw at, $b18c (T0)
+!resetbach:
+lui t1, $80ff
+sb r0, $767e (T1)
+!dontshoulderbash:
+lbu t4, $b222 (t0)
+beq t4, r0, !dontsubasgdsag
+nop
+addiu t4, t4, $ffff
+sb t4, $b222 (t0)
+!dontsubasgdsag:
+
+lwc1 f2, $b1bc (T0)
+lui at, $bdc8
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1bc (T0)
+
+
+lhu t1, $b1c4 (T0)
+andi t1, t1, $8000
+bne t1, r0, !nospeedasuibduiasdf
+nop
+lwc1 f2, $b1c4 (T0)
+lui at, $3e80
+mtc1 at, f4
+sub.s f2, f2, f4
+swc1 f2, $b1c4 (T0)
+!nospeedasuibduiasdf:
+lui t2, $80ff
+lbu t1, $767f (T2)
+addiu t3, t1, $ffff
+beq t1, r0, !skipasfbiasbfuiasfasfbzuasf
+nop
+sb t3, $767f (t2)
+lui t2, $8036
+lw t3, $1158 (T2)
+sw t3, $1160 (T2)
+jal $02A50FC
+addiu a0, r0, $1
+!skipasfbiasbfuiasfasfbzuasf:
+
+lui t2, $80ff
+lui t0, $8034
+lw t1, $b17c (T0)
+lui at, $0080
+ori at, at, $023C
+bne t1, at, !finalendasdgadsg
+nop
+addiu at, r0, $000f
+sb at, $767f (T2)
+beq r0, r0, !finalendasdgadsg
+nop
+!peach:
+
+lui t2, $8034
+lhu t1, $b1c4 (T2)
+andi t1, t1, $8000
+bne t1, r0, !nospeedasuibduiasdfwetwet111
+nop
+lwc1 f2, $b1c4 (T2)
+lui at, $3e40
+mtc1 at, f4
+sub.s f2, f2, f4
+swc1 f2, $b1c4 (T2)
+!nospeedasuibduiasdfwetwet111:
+
+
+lui t0, $80ff
+lbu t1, $767f (T0)
+slti at, t1, $003c
+beq at, r0, !recoverfloat
+nop
+lui t0, $8034
+lw a0, $b17c (T0)
+lui a1, $0300
+ori a1, a1, $0880
+beq a1, a0, !paaasdfaaa
+nop
+lui a1, $0300
+ori a1, a1, $0881
+beq a1, a0, !paaasdfaaa
+nop
+lui a1, $0100
+ori a1, a1, $0882
+beq a1, a0, !paaasdfaaa
+nop
+lui a1, $0100
+ori a1, a1, $0887
+beq a1, a0, !paaasdfaaa
+nop
+lui a1, $0300
+ori a1, a1, $0886
+beq a1, a0, !paaasdfaaa
+nop
+beq r0, r0, !endphysics
+nop
+
+!paaasdfaaa:
+
+
+
+lh at, $afa0 (T0)
+andi at, at, $8000
+beq at, r0, !checkused
+nop
+lwc1 f2, $b1bc (T0)
+lui at, $0000
+mtc1 at, f4
+c.lt.s f2, f4
+nop
+bc1f !endphysics
+nop
+lui t0, $80ff
+lbu t1, $767f (T0)
+addiu t1, t1, $1
+sb t1, $767f (T0)
+lui t0, $8034
+sw r0, $b1bc (T0)
+
+lui a1, $0100
+ori a1, a1, $0882
+sw a1, $b17c (T0)
+lui t0, $8036
+lw t0, $1158 (T0)
+addiu at, r0, $003f
+sh at, $0040 (T0)
+beq r0, r0, !endphysics
+nop
+!checkused:
+lui t0, $80ff
+lbu t1, $767f (T0)
+beq t1, r0, !endphysics
+nop
+addiu at, r0, $003c
+sb at, $767f (T0)
+beq r0, r0, !endphysics
+nop
+!recoverfloat:
+lui t0, $8034
+lw t1, $b1b0 (T0)
+lw t2, $b1e0 (T0)
+bne t1, t2, !endphysics
+nop
+lui at, $80ff
+sb r0, $767f (at)
+!endphysics:
+beq r0, r0, !finalendasdgadsg
+nop
+
+!toad:
+
+lui t0, $8034
+lwc1 f2, $b1c4 (T0)
+lui at, $4288
+mtc1 at, f4
+c.lt.s f2, f4
+nop
+bc1f !nogainspeedtoad
+nop
+lui at, $3e70
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1c4 (T0)
+!nogainspeedtoad:
+lwc1 f2, $b1bc (T0)
+lui at, $bf00
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1bc (T0)
+
+
+
+beq r0, r0, !finalendasdgadsg
+nop
+
+!waluigi:
+lui t0, $80ff
+lbu t1, $767f (T0)
+bne t1, r0, !endphysics11
+nop
+
+
+lui t0, $8034
+lw a0, $b17c (T0)
+lui a1, $0300
+ori a1, a1, $0880
+beq a1, a0, !paaasdfaaa11
+nop
+lui a1, $0300
+ori a1, a1, $0881
+beq a1, a0, !paaasdfaaa11
+nop
+lui a1, $0100
+ori a1, a1, $0882
+beq a1, a0, !paaasdfaaa11
+nop
+lui a1, $0100
+ori a1, a1, $0887
+beq a1, a0, !paaasdfaaa11
+nop
+lui a1, $0300
+ori a1, a1, $0886
+beq a1, a0, !paaasdfaaa11
+nop
+beq r0, r0, !endphysics11
+nop
+!paaasdfaaa11:
+lhu t1, $afa0 (T0)
+andi t1, t1, $8000
+beq t1, r0, !endphysics11
+nop
+lwc1 f2, $b1bc (T0)
+lui at, $c120
+mtc1 at, f4
+c.lt.s f2, f4
+nop
+bc1f !endphysics11
+nop
+lui at, $0300
+ori at, at, $0881
+sw at, $b17c (T0)
+lui t2, $80ff
+sb at, $767f (T2)
+lui at, $4248
+sw at, $b1bc (T0)
+lui a0, $8036
+lw a0, $1158 (A0)
+beq a0, r0, !endphysics11
+nop
+LUI A2, 0x1300
+ADDIU A2, A2, 0x0E24
+JAL 0x8029EDCC
+ORI A1, R0, $0000
+
+
+!endphysics11:
+
+
+lui t2, $8034
+lhu t1, $b1c4 (T2)
+andi t1, t1, $8000
+bne t1, r0, !nospeedasuibduiasdfwetwet66666
+nop
+lwc1 f2, $b1c4 (T2)
+lui at, $3e20
+mtc1 at, f4
+sub.s f2, f2, f4
+swc1 f2, $b1c4 (T2)
+!nospeedasuibduiasdfwetwet66666:
+
+lui t2, $8034
+lw t4, $b1b0 (T2)
+lw t5, $b1e0 (T2)
+lui at, $3e80
+bne t4, t5, !asfouiasoiufno
+nop
+lui at, $3f80
+!asfouiasoiufno:
+lwc1 f2, $b1c4 (T2)
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1c4 (T2)
+lui t1, $8034
+lbu t6, $b222 (T1)
+beq t6, r0, !skipaddmoredamage
+nop
+lhu t6, $b21e (t1)
+addiu t6, t6, $ffa0
+sh t6, $b21e (T1)
+!skipaddmoredamage:
+
+lw t3, $b17c (T2)
+lui at, $0400
+ori at, at, $0445
+bne t3, at, !finalendasdgadsg234
+nop
+lw t1, $b1d8 (T2)
+beq t1, r0, !everythingsfine11
+nop
+lhu t1, $0000 (T1)
+addiu at, r0, $0013
+beq at, t1, !finalendasdgadsg234
+nop
+addiu at, r0, $0014
+beq at, t1, !finalendasdgadsg234
+nop
+addiu at, r0, $002e
+beq at, t1, !finalendasdgadsg234
+nop
+!everythingsfine11:
+lwc1 f2, $b1c4 (T2)
+lui at, $3fe0
+mtc1 at, f4
+add.s f2, f2, f4
+swc1 f2, $b1c4 (T2)
+
+
+!finalendasdgadsg234:
+lui t0, $8034
+lw t4, $b17c (T0)
+lui at, $0300
+ori at, at, $0886
+beq t4, at, !resasbuifabsuzhdfbsuazfbuzasbfzuasbzuf
+nop
+lw t1, $b1b0 (T0)
+lw t2, $b1e0 (T0)
+bne t1, t2, !finalendasdgadsg
+nop
+!resasbuifabsuzhdfbsuazfbuzasbfzuasbzuf:
+lui at, $80ff
+sb r0, $767f (AT)
+
+
+beq r0, r0, !finalendasdgadsg
+nop
+!birdo:
+lui t0, $8034
+lhu t1, $b1c4 (T0)
+andi t1, t1, $8000
+bne t1, r0, !nospeedasuibduiasdf555ros
+nop
+lwc1 f2, $b1c4 (T0)
+lui at, $3e40
+mtc1 at, f4
+sub.s f2, f2, f4
+swc1 f2, $b1c4 (T0)
+!nospeedasuibduiasdf555ros:
+lui at, $8034
+lw t1, $b1b0 (AT)
+lw t2, $b1e0 (AT)
+bne t1, t2, !noresetjumpros
+nop
+lui at, $80ff
+sb r0, $767f (AT)
+!noresetjumpros:
+
+lui at, $80ff
+lb t4, $767f (AT)
+beq r0, t4, !storetimerros
+nop
+addiu t4, t4, $ffff
+!storetimerros:
+sb t4, $767f (AT)
+
+!checkbuttonsros:
+lui at, $8034
+lh at, $afa0 (AT)
+andi at, at, $4000
+beq at, r0, !nospinjumpros
+nop
+lui at, $8034
+lw at, $b17c (AT)
+lui a0, $0100
+ori a0, a0, $0882
+beq at, a0, !passros
+nop
+lui a0, $0300
+ori a0, a0, $08AF
+beq at, a0, !passros
+nop
+lui a0, $0300
+ori a0, a0, $0880
+beq at, a0, !passros
+nop
+lui a0, $0300
+ori a0, a0, $0881
+beq at, a0, !passros
+nop
+lui a0, $0300
+ori a0, a0, $0886
+beq at, a0, !passros
+nop
+lui a0, $0100
+ori a0, a0, $0887
+beq at, a0, !passros
+nop
+lui a0, $0300
+ori a0, a0, $0888
+beq at, a0, !passros
+nop
+
+lui a0, $0100
+ori a0, a0, $0883
+beq at, a0, !passros
+nop
+
+beq r0, r0, !nospinjumpros
+nop
+!passros:
+lui at, $80ff
+lb t4, $767f (AT)
+bne t4, r0, !nospinjumpros
+nop
+addiu t5, r0, $0050
+sb t5, $767f (AT)
+lui t5, $8034
+lh t5, $b19e (T5)
+sh t5, $fff8 (AT)
+lui at, $41f0
+lui t2, $8034
+sw at, $b1bc (T2)
+LUI A0, $242e
+LUI A1, $8033
+ADDIU A1, A1, $31F0
+JAL $0031EB00
+ORI A0, A0, $0081
+
+
+!nospinjumpros:
+lui at, $80ff
+lb t4, $767f (AT)
+slti at, t4, $0040
+bne at, r0, !nomoveupros
+nop
+lui at, $8034
+lui a0, $1080
+ori a0, a0, $08a4
+sw a0, $b17c (AT)
+addiu at, r0, $0040
+lui t4, $80ff
+lb t4, $767f (t4)
+bne t4, at, !nomoveupros
+nop
+lui at, $8034
+lui a0, $0100
+ori a0, a0, $08a6
+sw a0, $b17c (AT)
+!nomoveupros:
+
+beq r0, r0, !finalendasdgadsg
+nop
+!sonic:
+//straight line spindash from soot
+//coins are health
+
+lui t0, $8034
+lui at, $0400
+ori at, at, $0445
+lw t2, $b17c (T0)
+bne at, t2, !notrolling
+nop
+lwc1 f2, $b1c4 (T0)
+lui at, $424e
+mtc1 at, f4
+c.lt.s f2, f4
+nop
+bc1t !notrolling
+nop
+lui t1, $8036
+lw t1, $1158 (T1)
+lh t3, $0040 (T1)
+lui a0, $809b
+ori a0, a0, $4000
+sw a0, $003c (T1)
+lui at, $42ce
+mtc1 at, f4
+c.lt.s f2, f4
+nop
+bc1t !notrolling1
+nop
+addiu t3, t3, $1
+lui at, $434e
+mtc1 at, f4
+c.lt.s f2, f4
+nop
+bc1t !notrolling1
+nop
+addiu t3, t3, $1
+!notrolling1:
+sh t3, $0040 (T1)
+!notrolling:
+
+
+lui t2, $8036
+lw t1, $1158 (T2)
+lhu t1, $0038 (T1)
+addiu at, r0, $0071
+bne t1, at, !skipstarslide
+nop
+lui at, $4358
+sw at, $b1c4 (T0)
+lui at, $0400
+ori at, at, $0445
+sw at, $b17c (T0)
+!skipstarslide:
+
+
+lui t1, $8034
+lbu t6, $b222 (T1)
+beq t6, r0, !skipaddmoredamage2
+nop
+sb r0, $b222 (T1)
+lh t2, $b218 (T1)
+beq t2, r0, !killsonic
+nop
+slti at, t2, $000a
+addiu t2, t2, $fff6
+beq at, r0, !nullify
+nop
+or t2, r0, r0
+!nullify:
+sh t2, $b218 (T1)
+sh t2, $b262 (T1)
+
+addiu at, r0, $0880
+sh at, $b21e (T1)
+addiu at, r0, $0011
+lui t0, $80ff
+sb at, $767f (T0)
+beq r0, r0, !skipaddmoredamage2
+nop
+!killsonic:
+sh r0, $b21e (T1)
+!skipaddmoredamage2:
+
+lui t0, $80ff
+lbu t1, $767f (T0)
+beq t1, r0, !skipsoundsonic
+nop
+andi t2, t1, $0001
+addiu t1, t1, $ffff
+sb t1, $767f (T0)
+beq t2, r0, !skipsoundsonic
+nop
+lui a0, $3036
+jal $2ca144
+ori a0, a0, $0081
+!skipsoundsonic:
+
+lui t0, $8034
+sb r0, $b19a (T0)
+lw t3, $b17c (t0)
+lui at, $0300
+ori at, at, $0886
+bne t3, at, !nobonk2
+nop
+lw t1, $b180 (T0)
+
+lui at, $0010
+ori at, at, $0345
+beq at, t1, !nobonk2
+nop
+lui at, $0010
+ori at, at, $0343
+beq at, t1, !nobonk2
+nop
+lui at, $0010
+ori at, at, $0344
+beq at, t1, !nobonk2
+nop
+lui at, $0810
+ori at, at, $0340
+beq at, t1, !nobonk2
+nop
+
+lui at, $0102
+ori at, at, $08B0
+sw at, $b17c (T0)
+lui at, $c100
+sw at, $b1bc (T0)
+!nobonk2:
+beq r0, r0, !finalendasdgadsg
+nop
+!knuckles:
+lui at, $8033
+lui t2, $8026
+ori t2, t2, $B49C
+sw t2, $6c1c (AT)
+
+lui t0, $8034
+lhu t2, $b21e (T0)
+slti at, t2, $0480
+bne at, r0, !okknuckles
+nop
+addiu at, r0, $0480
+sh at, $b21e (T0)
+!okknuckles:
+lwc1 f2, $b1bc (T0)
+mtc1 r0, f4
+c.lt.s f2, f4
+nop
+bc1f !dontglideknuckles
+nop
+//restrict this by action state (jumps, dive)
+lw t2, $b17c (T0)
+lui at, $0300
+ori at, at, $0880
+beq t2, at, !youareokaytoglideknuckles
+nop
+lui at, $0300
+ori at, at, $0881
+beq t2, at, !youareokaytoglideknuckles
+nop
+lui at, $0300
+ori at, at, $0882
+beq t2, at, !youareokaytoglideknuckles
+nop
+lui at, $0188
+ori at, at, $088a
+beq t2, at, !youareokaytoglideknuckles
+nop
+
+lui at, $0100
+ori at, at, $0887
+beq t2, at, !youareokaytoglideknuckles
+nop
+lui at, $0300
+ori at, at, $0886
+bne t2, at, !dontglideknuckles
+nop
+
+!youareokaytoglideknuckles:
+lhu at, $afa0 (T0)
+andi at, at, $8000
+beq at, r0, !dontglideknuckles
+nop
+lui at, $43fa
+mtc1 at, f4
+lwc1 f2, $b1b0 (T0)
+add.s f2, f2, f4
+swc1 f2, $c6a8 (T0)
+
+lui a0, $8033
+ori a0, a0, $b1ac
+lui a1, $41f0
+JAL $80251A48
+lui a2, $4328
+beq v0, r0, !dontclimbwallknuckles
+nop
+lwc1 f12, $0024 (v0)
+jal $37a9a8
+lwc1 f14, $001c (v0)
+addiu v0, v0, $8000
+andi v0, v0, $ffff
+sw v0, $0020 (SP)
+
+lui t0, $8034
+sh v0, $b19e (T0)
+lui at, $4100
+sw at, $b1c4 (T0)
+lui at, $8033
+ori a0, at, $c604
+jal $29E694
+ori a1, at, $b10c
+sw v0, $001c (SP)
+
+lui t0, $8034
+lwc1 f12, $af98 (t0)
+jal $37a9a8
+lwc1 f14, $af94 (t0)
+lw t3, $0020 (SP)
+lw t2, $001c (SP)
+sub t2, t2, t3
+sub t7, v0, t2
+andi t7, t7, $ffff
+
+lui t0, $8034
+lwc1 f12, $af98 (t0)
+lwc1 f14, $af94 (t0)
+mul.s f2, f12, f12
+mul.s f4, f14, f14
+add.s f0, f2, f4
+sqrt.s f0, f0
+lui at, $4060
+mtc1 at, f2
+div.s f6, f0, f2
+lui t1, $8036
+lw t1, $1158 (T1)
+lhu t2, $0040 (T1)
+beq t2, r0, !dontreduceanim
+nop
+addiu t2, t2, $ffff
+!dontreduceanim:
+lui at, $40a0
+mtc1 at, f4
+div.s f4, f6, f4
+cvt.w.s f4, f4
+nop
+mfc1 t4, f4
+add t2, t2, t4
+
+sh t2, $0040 (T1)
+
+
+lui t4, $8038
+sra t8, t7, $4
+sll t9, t8, $2
+addu t4, t4, t9
+lwc1 f4, $7000 (T4)
+mul.s f8, f4, f6
+lwc1 f18, $b1b0 (T0)
+add.s f18, f18, f8
+swc1 f18, $b1b0 (T0)
+
+lwc1 f10, $6000 (T4)
+mul.s f6, f10, f6
+
+lw t7, $0020 (SP)
+addiu t7, t7, $C000
+andi t7, t7, $ffff
+lui t4, $8038
+sra t8, t7, $4
+sll t9, t8, $2
+addu t4, t4, t9
+lwc1 f4, $6000 (T4)
+mul.s f8, f4, f6
+lwc1 f2, $b1ac (T0)
+add.s f2, f2, f8
+swc1 f2, $b1ac (T0)
+lwc1 f10, $7000 (T4)
+mul.s f6, f10, f6
+lwc1 f4, $b1b4 (t0)
+add.s f4, f4, f6
+swc1 f4, $b1b4 (T0)
+
+lui at, $4248
+mtc1 at, f6
+lw t7, $0020 (SP)
+lui t4, $8038
+sra t8, t7, $4
+sll t9, t8, $2
+addu t4, t4, t9
+lwc1 f4, $6000 (T4)
+mul.s f8, f4, f6
+lwc1 f2, $b1ac (T0)
+add.s f2, f2, f8
+swc1 f2, $b1ac (T0)
+
+lwc1 f10, $7000 (T4)
+mul.s f14, f10, f6
+lwc1 f4, $b1b4 (t0)
+add.s f4, f4, f14
+swc1 f4, $b1b4 (T0)
+
+
+
+lui at, $0100
+ori at, at, $0887
+sw at, $b17c (T0)
+addiu at, r0, $2
+sh at, $b188 (T0)
+
+lui at, $4000
+sw at, $b1bc (T0)
+//crawl animation
+
+lui at, $8033
+lui t2, $8026
+ori t2, t2, $B680
+sw t2, $6c1c (AT)
+addiu at, r0, $4
+sb at, $b188 (T0)
+lui a0, $8033
+ori a0, a0, $b170
+jal $802509B8
+addiu a1, r0, $0099
+lui at, $8006
+ori t1, r0, $bfff
+sh t1, $0200 (AT)
+addiu t1, r0, $1
+sh t1, $0068 (AT)
+addiu t1, r0, $4000
+sh t1, $1bf2 (AT)
+
+beq r0, r0, !dontglideknuckles
+nop
+!dontclimbwallknuckles:
+lui t0, $8034
+
+lui at, $0100
+ori at, at, $0887
+lw t2, $b17c (T0)
+beq at, t2, !dontglideknuckles
+nop
+lui at, $c080
+sw at, $b1bc (t0)
+
+lui at, $8033
+ori a0, at, $c604
+jal $29E694
+ori a1, at, $b10c
+sw v0, $001c (SP)
+
+lui t0, $8034
+lwc1 f12, $af98 (t0)
+lwc1 f14, $af94 (t0)
+mul.s f2, f12, f12
+mul.s f4, f14, f14
+add.s f2, f2, f4
+lui at, $3f80
+mtc1 at, f6
+c.lt.s f2, f6
+nop
+bc1t !dontrotateknuckles
+nop
+jal $37a9a8
+nop
+lw a1, $001c (SP)
+sub a1, a1, v0
+lui t8, $8034
+lhu a0, $b19e (t8)
+jal $8029E530
+addiu a2, r0, $0800
+lui t8, $8034
+sh v0, $b19e (t8)
+!dontrotateknuckles:
+lui t8, $8034
+lui at, $4258
+sw at, $b1c4 (t8)
+lui a0, $8033
+ori a0, a0, $b170
+lui at, $0188
+ori at, at, $088A
+sw at, $000c (A0)
+jal $802509B8
+addiu a1, r0, $0088
+addiu at, r0, $1
+lui t0, $8036
+lw t0, $1158 (T0)
+sh at, $0040 (T0)
+sh r0, $001a (T0)
+sh r0, $001e (T0)
+
+
+!dontglideknuckles:
+lui t0, $8034
+lwc1 f2, $b1bc (T0)
+mtc1 r0, f4
+c.lt.s f2, f4
+nop
+bc1t !dontlosespeedknuckles
+nop
+lui at, $4000
+mtc1 at, f6
+sub.s f2, f2, f6
+swc1 f2, $b1bc (T0)
+!dontlosespeedknuckles:
+
+
+beq r0, r0, !finalendasdgadsg
+nop
+//taking this out stops the crash
+!goomba:
+lui t0, $8034
+
+lhu t1, $afa0 (T0)
+ori t1, t1, $8000
+sh t1, $afa0 (T0)
+beq r0, r0, !finalendasdgadsg
+nop
+
+!pinkguy:
+//lui at, $80ff
+//ori at, at, $f000
+lui at, $8026
+ori at, at, $fd84
+lui t1, $8033
+sw at, $6c98 (T1)
+
+lui t2, $8034
+lwc1 f2, $b1bc (T2)
+lui at, $3f90
+mtc1 at, f4
+add.s f2, f2, f4
+lui at, $3f70
+mtc1 at, f6
+mul.s f2, f2, f6
+swc1 f2, $b1bc (T2)
+lwc1 f4, $b1c4 (T2)
+lui at, $3f78
+mtc1 at, f6
+mul.s f4, f4, f6
+swc1 f4, $b1c4 (T2)
+
+lw t3, $b1b0 (T2)
+lw t4, $b1e0 (T2)
+bne t3, t4, !dontersearkirbaysibIUFB
+NOP
+lui t0, $80ff
+addiu t1, r0, $5
+sb t1, $767f (T0)
+!dontersearkirbaysibIUFB:
+lui t2, $8034
+lw a0, $b17c (T2)
+lui a1, $0300
+ori a1, a1, $0880
+beq a1, a0, !paaasdfaaa222
+nop
+lui a1, $0300
+ori a1, a1, $0881
+beq a1, a0, !paaasdfaaa222
+nop
+lui a1, $0100
+ori a1, a1, $0882
+beq a1, a0, !paaasdfaaa222
+nop
+lui a1, $0100
+ori a1, a1, $0887
+beq a1, a0, !paaasdfaaa222
+nop
+lui a1, $0300
+ori a1, a1, $0886
+beq a1, a0, !paaasdfaaa222
+nop
+lui a1, $0300
+ori a1, a1, $088e
+beq a1, a0, !paaasspecial
+nop
+beq r0, r0, !kirbycantjump
+nop
+!paaasspecial:
+lui a0, $8033
+ori a0, a0, $b170
+jal $02509B8
+addiu a1, r0, $50
+lui t2, $8034
+
+
+!paaasdfaaa222:
+
+lhu t3, $b1bc (T2)
+andi t3, t3, $8000
+beq t3, r0, !kirbycantjump
+nop
+lhu t3, $afa2 (T2)
+andi t3, t3, $8000
+beq t3, r0, !kirbycantjump
+nop
+lui t0, $80ff
+lbu t1, $767f (T0)
+beq t1, r0, !kirbycantjump
+nop
+addiu t1, t1, $ffff
+sb t1, $767f (T0)
+lui at, $4230
+sw at, $b1bc (T2)
+lui at, $0300
+ori at, at, $088e
+sw at, $b17c (T2)
+addiu at, r0, $4
+sb at, $b188 (T2)
+lui a0, $8033
+ori a0, a0, $b170
+jal $02509B8
+addiu a1, r0, $50
+!kirbycantjump:
+
+
+!finalendasdgadsg:
+lui t0, $8034
+lw t1, $b17c (T0)
+ori at, r0, $1300
+bne t1, at, !dontasbfuasbzufuzasf
+nop
+ori at, r0, $8000
+lui t2, $80ff
+sh at, $7706 (T2)
+!dontasbfuasbzufuzasf:
+
+lhu t1, $afa0 (T0)
+andi t2, t1, $0100
+beq t2, r0, !nodowntaunt
+nop
+addiu at, r0, $3
+sb at, $b189 (T0)
+!nodowntaunt:
+
+lw t2, $b17c (T0)
+lui at, $0C40
+ori at, at, $0201
+bne t2, at, !norighttaunt
+nop
+
+lhu t1, $afa0 (T0)
+andi t2, t1, $0200
+beq t2, r0, !nouptaunt
+nop
+addiu at, r0, $4
+sb at, $b188 (T0)
+lui a0, $8033
+ori a0, a0, $b170
+jal $02509B8
+addiu a1, r0, $1d
+//lui t2, $8036
+//lw t2, $1158 (T2)
+//addiu at, r0, $0072
+//sh at, $0040 (T2)
+!nouptaunt:
+lui t0, $8034
+lhu t1, $afa0 (T0)
+andi t2, t1, $0400
+beq t2, r0, !nolefttaunt
+nop
+addiu at, r0, $4
+sb at, $b188 (T0)
+lui a0, $8033
+ori a0, a0, $b170
+jal $02509B8
+addiu a1, r0, $63
+!nolefttaunt:
+
+lui t0, $8034
+lhu t1, $afa0 (T0)
+andi t2, t1, $0800
+beq t2, r0, !norighttaunt
+nop
+addiu at, r0, $4
+sb at, $b188 (T0)
+lui a0, $8033
+ori a0, a0, $b170
+jal $02509B8
+addiu a1, r0, $7a
+!norighttaunt:
+
+
+lui t9, $80ff
+addiu t9, t9, $7700
+lui a0, $8036
+lw a0, $1158 (A0)
+sw a0, $0020 (SP)
+beq a0, r0, !endasuifbzusafbuzsabfzuaszuf
+nop
+sw t9, $001c (SP)
+lbu t2, $000d (T9)
+andi t2, t2, $0020
+beq t2, r0, !novanish44
+nop
+lw t1, $0154 (a0)
+andi t1, t1, $1
+bne t1, r0, !novanish44
+nop
+sw r0, $0014 (a0)
+!novanish44:
+!vanishunite44:
+lw t9, $001c (SP)
+
+lbu t2, $000d (T9)
+sw a0, $0020 (SP)
+andi t2, t2, $0040
+beq t2, r0, !nometal44
+nop
+lw t0, $0154 (a0)
+andi t0, t0, $3
+addiu at, r0, $3
+bne t0, at, !checkcoll44
+nop
+addiu a1, r0, $0
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $2Af0
+
+!checkcoll44:
+!nometal44:
+lw t9, $001c (SP)
+lw a0, $0020 (SP)
+lbu t2, $000d (T9)
+andi t2, t2, $0080
+beq t2, r0, !nowings44
+nop
+lw t0, $0154 (a0)
+addiu t0, t0, $2
+andi t0, t0, $3
+addiu at, r0, $3
+bne t0, at, !checkcoll22244
+nop
+addiu a1, r0, $0096
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $31ac
+
+!checkcoll22244:
+!nowings44:
+!endasuifbzusafbuzsabfzuaszuf:
+
+LUI A0, 0x8033
+LH A0, 0xDDF4 (A0)
+OR A1, R0, R0
+ADDIU A2, R0, 0x0018
+JAL 0x8027A010
+ADDIU A0, A0, 0xFFFF
+lui at, $8034
+sh v0, $b21a (AT)
+lui t0, $8036
+lw t1, $1158 (T0)
+beq t1, r0, !Notreefix
+nop
+lw t1, $0078 (T1)
+beq t1, r0, !Notreefix
+nop
+lw t1, $020c (T1)
+lui at, $80ff
+ori at, at, $9f00
+bne t1, at, !Notreefix
+nop
+lui t0, $8034
+lw t1, $b17c (T0)
+lui at, $0010
+ori at, at, $0345
+beq at, t1, !fixtree
+nop
+lui at, $0010
+ori at, at, $0343
+beq at, t1, !fixtree
+nop
+lui at, $0010
+ori at, at, $0344
+beq at, t1, !fixtree
+nop
+lui at, $0810
+ori at, at, $0340
+bne t1, at, !Notreefix
+nop
+!fixtree:
+lui at, $0102
+ori at, at, $08b6
+sw at, $b17c (T0)
+!Notreefix:
+
+lui t0, $80ff
+lbu t1, $5ff4 (T0)
+beq t1, r0, !dosendplayerdatafornomrladata
+nop
+addiu at, r0, $1
+bne t1, at, !dontsendplaydatafornormalmode
+nop
+!dosendplayerdatafornomrladata:
+
+
+lui t0, $8033
+lh t1, $ddf4 (T0)
+sll t2, t1, $6
+sll t3, t1, $5
+sll t4, t1, $4
+add t2, t2, t3
+add t2, t2, t4
+lui t7, $8020
+add t7, t7, t2
+addiu v0, t7, $7698
+lbu a0, $0001 (V0)
+andi a0, a0, $00f0
+sb a0, $0001 (V0)
+
+
+addiu a0, v0, $0001
+addiu a1, v0, $0002
+
+addiu a2, v0, $0003
+
+addiu t2, v0, $001D
+!checkloop:
+lbu t1, $0000 (V0)
+lbu t4, $0038 (V0)
+and t4, t4, t1
+bne v0, a0, !skipbyte9
+nop
+andi t1, t1, $00f0
+andi t4, t4, $00f0
+!skipbyte9:
+bne v0, a1, !skipbyteA
+nop
+andi t1, t1, $fE
+andi t4, t4, $fE
+!skipbyteA:
+bne v0, a2, !skipbyteB
+nop
+andi t1, t1, $fE
+andi t4, t4, $fE
+!skipbyteB:
+
+
+xor t1, t1, t4
+beq t1, r0, !nothingnew
+nop
+lui t8, $80ff
+lw t3, $7710 (T8)
+lui at, $00ff
+ori at, at, $ffff
+and t3, t3, at
+lbu t4, $7714 (T8)
+sll t4, t4, $1c
+or t4, t3, t4
+beq t3, r0, !everythingOK
+nop
+and t9, v0, at
+sll t0, t1, $1C
+or t9, t9, t0
+beq t9, t4, !everythingOK
+nop
+lui at, $8000
+or t3, t3, at
+lbu t4, $7714 (t8)
+lbu t5, $0000 (T3)
+or t5, t5, t4
+sb t5, $0038 (T3)
+!everythingOK:
+sw v0, $7710 (T8)
+sb t1, $7714 (t8)
+!nothingnew:
+addiu v0, v0, $1
+bne t2, v0, !checkloop
+nop
+!dontsendplaydatafornormalmode:
+
+lui a0, $0200
+jal $277f50
+ori a0, a0, $77d0
+lui at, $80ff
+lbu at, $770e (at)
+sll at, at, $9
+lui t1, $809b
+addiu t1, t1, $0000
+add t1, t1, at
+sw t1, $0000 (v0) //write life icon here
+
+
+
+
+lui a0, $0200
+jal $277f50
+ori a0, a0, $7700
+lui t0, $0084
+
+//XJQVZ
+ori t1, t0, $5000
+lw t3, $0084 (V0)
+bne t3, r0, !skipthisletter1
+nop
+sw t1, $0084 (V0)
+!skipthisletter1:
+
+
+lw t3, $004c (V0)
+bne t3, r0, !skipthisletter2
+nop
+ori t1, t0, $5200
+sw t1, $004c (V0)
+!skipthisletter2:
+
+
+lw t3, $0068 (V0)
+bne t3, r0, !skipthisletter3
+nop
+ori t1, t0, $5400
+sw t1, $0068 (V0)
+!skipthisletter3:
+
+lw t3, $007c (V0)
+bne t3, r0, !skipthisletter4
+nop
+ori t1, t0, $5600
+sw t1, $007c (V0)
+!skipthisletter4:
+
+lw t3, $008c (V0)
+bne t3, r0, !skipthisletter5
+nop
+ori t1, t0, $5800
+sw t1, $008c (V0)
+!skipthisletter5:
+
+
+
+
+
+
+
+
+
+
+
+lui t0, $80ff
+lbu t1, $7680 (T0)
+addiu t2, t1, $0001
+slti at, t1, $0060
+beq at, r0, !skipaddingasniufnbasuifiusa
+nop
+sb t2, $7680 (t0)
+lui a2, $80ff
+ori a2, a2, $7684
+addiu a0, r0, $0008
+jal $2d62d8
+addiu a1, r0, $0020
+
+!skipaddingasniufnbasuifiusa:
+
+lui a0, $80ff
+lbu a0, $5ff4 (a0)
+addiu at, r0, $8
+beq at, a0, !dontcheckifmarioisdeadpls
+nop
+lui v1, $8036
+lw v1, $1158 (V1)
+beq v1, r0, !reuniafasbuzfaszuf
+nop
+!dontcheckifmarioisdeadpls:
+lui t9, $80ff
+lbu t1, $7700 (T9)
+addiu at, r0, $1
+beq t1, at, !skipcopyminigamenumber
+nop
+lbu t2, $7815 (T9)
+sb t2, $5ff4 (T9)
+!skipcopyminigamenumber:
+lui a0, $80ff
+lbu a0, $5ff4 (a0)
+addiu at, r0, $1
+beq at, a0, !regular
+nop
+addiu at, r0, $2
+beq at, a0, !fireflower
+nop
+addiu at, r0, $3
+beq at, a0, !interactionless
+nop
+addiu at, r0, $4
+beq at, a0, !prophunt
+nop
+addiu at, r0, $5
+beq at, a0, !bossrush
+nop
+addiu at, r0, $6
+beq at, a0, !tagmode
+nop
+addiu at, r0, $7
+beq at, a0, !hide&seek
+nop
+addiu at, r0, $8
+beq at, a0, !warioware
+nop
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+!fireflower:
+
+
+lui t1, $80ff
+lui t2, $8100
+lbu t3, $fffd (T2)
+beq t3, r0, !Nosubcasbfasiuf
+nop
+addiu t3, t3, $ffff
+sb t3, $fffd (T2)
+beq r0, r0, !saifuasiufiuasfiuasuifbasbnfzubasuzfuzas
+nop
+!Nosubcasbfasiuf:
+sb r0, $7718 (T1)
+!saifuasiufiuasfiuasuifbasbnfzubasuzfuzas:
+lui t0, $8034
+lhu t2, $afa0 (T0)
+andi t2, t2, $0020
+beq t2, r0, !notyourself
+nop
+
+lh t2, $b17c (T0)
+addiu at, r0, $0002
+beq t2, at, !nofiresuit
+nop
+addiu at, r0, $0018
+lui t2, $8100
+lbu t3, $fffd (T2)
+bne t3, r0, !nofiresuit
+nop
+sb at, $fffd (T2)
+
+
+lui v1, $80ff
+
+addiu at, r0, $1
+sb at, $7718 (v1)
+lhu at, $b19e (T0)
+sh at, $7716 (v1) //back these up for others
+lui v1, $8036
+lw v1, $1158 (V1)
+//addiu at, r0, $FFf9
+//sw at, $0144 (V1)
+//lw t2, $014c (V1)
+//addiu t2, t2, $1
+//sw t2, $014c (V1)
+addiu a1, r0, $90
+or a0, v1, r0
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $1184
+lui at, $4080
+sw at, $002c (V0)
+sw at, $0030 (V0)
+sw at, $0034 (V0)
+
+lui at, $8034
+lui t3, $4320
+mtc1 t3, f2
+swc1 f2, $00b8 (V0)
+lw t1, $b1ac (AT)
+sw t1, $00a0 (V0)
+lw t1, $b1b0 (AT)
+sw t1, $00a4 (V0)
+lw t1, $b1b4 (AT)
+sw t1, $00a8 (V0)
+lh t1, $b19e (AT)
+sw t1, $00c8 (V0)
+//store 0 here for other players
+lui a0, $5055
+LUI A1, $8033
+ADDIU A1, A1, $31F0
+JAL $0031EB00
+ORI A0, A0, $0081
+
+!nofiresuit:
+!notyourself:
+
+
+lui t0, $80ff
+sw t0, $0020 (SP)
+!firesuitloop:
+lw t0, $0020 (SP)
+
+lbu t5, $7800 (T0)
+beq t5, r0, !thismariohasnofire
+nop
+lui a0, $80ff
+lbu a0, $7700 (A0)
+//DANGER UNTESTED
+beq a0, t5, !thismariohasnofire
+nop
+
+
+lbu t1, $7818 (T0)
+bne t1, r0, !notresettingfirestate
+nop
+sb r0, $7898 (T0)
+!notresettingfirestate:
+lw t2, $7814 (T0)
+lui at, $00ff
+ori at, at, $ffff
+and t2, t2, at
+lw t3, $7894 (T0)
+sw t2, $7894 (T0)
+beq t3, t2, !thismariohasnofire
+nop
+lbu t1, $7818 (T0)
+beq t1, r0, !thismariohasnofire
+nop
+lbu t1, $7898 (T0)
+bne t1, r0, !thismariohasnofire
+nop
+addiu at, r0, $1
+sb at, $7898 (T0)
+
+lui a0, $8036
+lw a0, $1158 (A0)
+
+addiu a1, r0, $90
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $1184
+lui at, $4080
+sw at, $002c (V0)
+sw at, $0030 (V0)
+sw at, $0034 (V0)
+
+lui at, $8034
+lui t3, $4320
+mtc1 t3, f4
+swc1 f4, $00b8 (V0)
+sw r0, $009c (V0)
+addiu at, r0, $0049
+sw at, $008c (V0)
+
+lw t0, $0020 (SP)
+
+lh t1, $7804 (T0)
+mtc1 t1, f2
+cvt.s.w f2, f2
+swc1 f2, $00a0 (V0)
+
+lh t1, $7806 (T0)
+mtc1 t1, f4
+cvt.s.w f4, f4
+swc1 f4, $00a4 (V0)
+
+lh t1, $7808 (T0)
+mtc1 t1, f6
+cvt.s.w f6, f6
+swc1 f6, $00a8 (V0)
+
+lh t1, $7816 (t0)
+sw t1, $00c8 (V0)
+
+
+!thismariohasnofire:
+
+lw t0, $0020 (SP)
+lui t2, $80ff
+addiu t2, t2, $1b00
+addiu t0, t0, $0100
+bne t0, t2, !firesuitloop
+sw t0, $0020 (SP)
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+
+!prophunt:
+lui a0, $1300
+jal $277f50
+ori a0, a0, $2a48
+
+lui t0, $8034
+addiu t0, t0, $d488
+!proploop2:
+lw t2, $0014 (T0)
+beq t2, r0, !propendofthisloop2
+nop
+lh t1, $0074 (T0)
+beq t1, r0, !propendofthisloop2
+nop
+lw t1, $020c (T0)
+beq t1, v0, !propendofthisloop2
+nop
+lui t3, $80ff
+ori t3, t3, $e400 //change this for full version
+!loopcheckmodelIDsprop:
+lw t1, $0000 (T3)
+beq t1, t2, !storeanimetc
+nop
+beq t1, r0, !storeanimetc2
+nop
+addiu t3, t3, $c
+lui t4, $80ff
+ori t4, t4, $e7fc
+bne t4, t3, !loopcheckmodelIDsprop
+nop
+!storeanimetc2:
+//iterate over player models, dont store if it is one
+lui t1, $8100
+addiu t9, t1, $0024
+!iterateplayermodels:
+lw t8, $9f40 (T1)
+beq t8, t2, !propendofthisloop2
+nop
+addiu t1, t1, $4
+bne t1, t9, !iterateplayermodels
+nop
+sw t2, $0000 (T3)
+!storeanimetc:
+lw t1, $003c (t0)
+sw t1, $0004 (T3)
+lhu t1, $0040 (t0)
+sh t1, $0008 (T3)
+lhu t1, $0002 (t0)
+andi t1, t1, $0004
+ori t1, t1, $0021
+sh t1, $000a (T3)
+
+!propendofthisloop2:
+lui t1, $8036
+ori t1, t1, $0e88
+addiu t0, t0, $260
+bne t0, t1, !proploop2
+nop
+
+
+
+
+
+
+
+
+
+
+
+lui t1, $80ff
+lhu t2, $7716 (T1)
+sh t2, $0018 (SP)
+addiu at, r0, $0708
+div t2, at
+mflo a3
+LUI A2, 0x8034
+ADDIU A2, A2, 0x83B0
+mult a3, at
+mflo t0
+ADDIU A0, R0, 0x000c
+ADDIU A1, R0, 0x0007
+JAL 0x802d62d8
+sh t0, $001c (SP)
+lh t2, $0018 (SP)
+lhu t1, $001c (SP)
+sub t2, t2, t1
+addiu at, r0, $1e
+div t2, at
+mflo a3
+LUI A2, 0x8034
+ADDIU A2, A2, 0x83B4
+mult a3, at
+mflo t0
+ADDIU A0, R0, 0x0021
+ADDIU A1, R0, 0x0007
+JAL 0x802d62d8
+sh t0, $001e (SP)
+lh t2, $0018 (SP)
+lhu t1, $001c (SP)
+sub t2, t2, t1
+lhu t1, $001e (SP)
+LUI A2, 0x8034
+ADDIU A2, A2, 0x83B4
+ADDIU A0, R0, 0x0043
+ADDIU A1, R0, 0x0007
+sub a3, t2, t1
+add t2, a3, a3
+add a3, a3, t2
+addiu at, r0, $9
+div a3, at
+mflo t2
+JAL 0x802d62d8
+add a3, t2, a3
+
+
+lui t2, $8034
+lhu t2, $afa0 (T2)
+andi t2, t2, $1020
+addiu at, r0, $1020
+bne t2, at, !dontpossiblyrestartthegameprop
+nop
+lui t2, $80ff
+lbu t1, $7700 (T2)
+addiu at, r0, $1
+bne at, t1, !dontpossiblyrestartthegameprop
+nop
+sh r0, $7716 (T2)
+!dontpossiblyrestartthegameprop:
+
+sw r0, $0018 (SP)
+lui t1, $80ff
+lbu t3, $7700 (T1)
+addiu at, r0, $0001
+bne t3, at, !dontcontrolgameprop
+nop
+addiu at, r0, $1
+sw at, $0018 (SP)
+lhu t3, $7716 (T1)
+bne t3, r0, !dontselecthunter
+nop
+//TEST THIS
+//hunterselection
+addiu a0, r0, $000
+lui t0, $80ff
+addiu t1, t0, $1b00
+!loopplayercounrpropasfuasfas:
+lbu t2, $7800 (T0)
+beq t2, r0, !dontafASDFSAUFPROP
+nop
+addiu a0, a0, $0001
+!dontafASDFSAUFPROP:
+addiu t0, t0, $0100
+bne t1, t0, !loopplayercounrpropasfuasfas
+nop
+addiu a0, a0, $1
+srl a0, a0, $1
+srl t2, a0, $1
+sub a0, a0, t2
+lui t2, $80ff
+sb a0, $7714 (T2)
+
+!newrng:
+jal $383bb0
+nop
+andi v0, v0, $1f
+beq v0, r0, !playerone
+nop
+lui t3, $80ff
+sll t1, v0, $8
+add t4, t3, t1
+lbu t2, $7800 (T4)
+beq t2, r0, !newrng
+nop
+!playerone:
+lui t3, $80ff
+addiu v0, v0, $1
+slti at, v0, $0018
+beq at, r0, !newrng
+nop
+sb v0, $7718 (T3)
+!dontselecthunter:
+lui t1, $80ff
+lhu t3, $7716 (T1)
+addiu t3, t3, $1
+sh t3, $7716 (T1)
+beq r0, r0, !reuniteprop
+nop
+!dontcontrolgameprop:
+lui t1, $80ff
+lbu t2, $7818 (T1)
+sb t2, $7718 (T1)
+lw t2, $7814 (T1)
+sw t2, $7714 (T1)
+beq r0, r0, !reuniteprop
+nop
+!reuniteprop:
+lui t2, $80ff
+lbu t1, $7700 (T2)
+lbu t3, $7714 (T2)
+lbu a0, $7718 (T2)
+slt at, t1, a0
+bne at, r0, !YOUARENOTTHEHUNTER1
+nop
+add a0, a0, t3
+slt at, t1, a0
+bne at, r0, !YOUARETHEHUNTER
+NOP
+!YOUARENOTTHEHUNTER1:
+
+
+addiu a0, r0, $0000
+lui t0, $80ff
+addiu t1, t0, $1b00
+!loopplayercounrpropasfuasfas11:
+lbu t2, $7800 (T0)
+beq t2, r0, !dontafASDFSAUFPROP11
+nop
+addiu a0, a0, $0001
+!dontafASDFSAUFPROP11:
+addiu t0, t0, $0100
+bne t1, t0, !loopplayercounrpropasfuasfas11
+nop
+lw t2, $0018 (SP)
+add a0, a0, t2
+
+lui t2, $80ff
+lbu t1, $7700 (T2)
+lbu t3, $7714 (T2)
+lbu at, $7718 (T2)
+sub a0, at, a0
+add a0, a0, t3
+slt at, t1, a0
+bne at, r0, !YOUARETHEHUNTER
+NOP
+!YOUARENOTTHEHUNTER2:
+
+
+lui at, $8034
+lwc1 f2, $b1c4 (AT)
+lui t2, $3f7c
+mtc1 t2, f4
+mul.s f2, f2, f4
+lui t2, $3f00
+mtc1 t2, f4
+sub.s f2, f2, f4
+swc1 f2, $b1c4 (AT) //made the props slower
+
+lhu t2, $b21e (AT)
+slti t3, t2, $0100
+bne t3, r0, !dontresetasfbuzasbuzfhbasdzufbzuasfzuazusdfzuaszufprop
+nop
+addiu t3, r0, $0100
+sh t3, $b21e (AT)
+!dontresetasfbuzasbuzfhbasdzufbzuasfzuazusdfzuaszufprop:
+
+lui t1, $8033
+lhu t1, $ddf8 (T1)
+lui t3, $8100
+lbu t2, $e7fe (T3)
+sb t1, $e7fe (T3)
+//also compare area
+lbu t4, $e7ff (T3)
+
+lui a0, $8036
+lw a0, $1158 (A0)
+
+lui t5, $8034
+lhu t5, $baca (T5)
+sb t5, $e7ff (T3)
+bne t4, t5, !spawnnewpropheadnowprop
+nop
+
+sw r0, $0014 (a0)
+beq t1, t2, !everyxthigsafiusabifsa7zufgzuasfi
+nop
+!spawnnewpropheadnowprop:
+addiu a1, r0, $0
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $2a48
+lui at, $80ff
+sw v0, $7724 (At)
+lui t3, $80ff
+ori t3, t3, $e400
+!lsandufisazufbgaszf:
+sw r0, $0000 (T3)
+sw r0, $0004 (T3)
+sw r0, $0008 (T3)
+addiu t3, t3, $c
+lui t4, $80ff
+ori t4, t4, $e7fc
+bne t4, t3, !lsandufisazufbgaszf
+nop
+beq r0, r0, !prophunt
+nop
+!everyxthigsafiusabifsa7zufgzuasfi:
+lui t7, $80ff
+lw a0, $7724 (T7)
+//make sure 7724 is even alive, especially interesting in second areas
+lui t2, $8034
+lhu t1, $b19e (T2)
+sh t1, $001e (A0)
+sw t1, $00d4 (A0)
+lw t1, $b1ac (T2)
+sw t1, $00a0 (A0)
+lw t1, $b1b0 (T2)
+sw t1, $00a4 (A0)
+lw t1, $b1b4 (T2)
+sw t1, $00a8 (A0)
+
+
+lui t3, $8100
+lhu t2, $e7fc (T3)
+sll t1, t2, $2
+sll t2, t2, $3
+add t1, t1, t2
+add t1, t1, t3
+lw t4, $e400 (T1)
+sw t4, $0014 (A0)
+lw t5, $e404 (T1)
+sw t5, $003c (A0)
+lhu t6, $e408 (T1)
+sh t6, $0040 (A0)
+lhu t6, $e40a (T1)
+//AND this with something so it cant be invisible
+andi t6, t6, $0004
+ori t6, t6, $0021
+sh t6, $0002 (A0)
+addiu at, r0, $00ff
+sw at, $017c (A0)
+
+
+addiu a0, r0, $0000
+lui t3, $8033
+lw t3, $DDC4 (T3)
+!nothisisnotmypropnumber:
+lw t1, $0000 (T3)
+beq t1, t4, !yesthisismypropnumber
+nop
+addiu at, r0, $00ff
+beq at, a0, !yesthisismypropnumber
+nop
+addiu a0, a0, $1
+beq r0, r0, !nothisisnotmypropnumber
+addiu t3, t3, $4
+!yesthisismypropnumber:
+//translate ram number into geo layout
+sb a0, $7710 (t7)
+
+lbu t4, $7718 (T7)
+sll t4, t4, $18
+lui at, $00ff
+ori at, at, $ffff
+and t5, t5, at
+or t5, t5, t4
+//sw t5, $7718 (t7)
+
+lui t1, $8034
+lhu t1, $afa0 (T1)
+lhu t8, $7720 (T7)
+sh t1, $7720 (T7)
+andi t1, t1, $0020
+beq t1, r0, !dontadvance
+nop
+andi t8, t8, $0020
+bne t8, r0, !dontadvance
+nop
+!advancemoreprop:
+lui t3, $8100
+lhu t2, $e7fc (T3)
+addiu t2, t2, $1
+sh t2, $e7fc (T3)
+
+sll t1, t2, $2
+sll t2, t2, $3
+add t1, t1, t2
+add t1, t1, t3
+lw t4, $e400 (T1)
+bne t4, r0, !dontadvance
+nop
+sh r0, $e7fc (T3)
+!dontadvance:
+//make it skip another ID, if the current modelID is invisible
+addiu v0, r0, $0000
+lui t3, $8033
+lw t3, $ddc4 (T3)
+!highermodelIDprop:
+lw t2, $0004 (T3)
+addiu t3, t3, $4
+addiu v0, v0, $1 //make sure this exits eventually
+bne t2, t4, !highermodelIDprop
+nop
+
+addiu at, r0, $1 //sampleID
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0xa4
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $9f
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0x00a1
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $9e
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $84
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $DA
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $96
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $95
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0xa8
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0xa5
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0xa6
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0xa7
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0x00a3
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $94
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0x00a2
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0xaa
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $9f
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $9c
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $8e
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $e0
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, 0x00a0
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $cb
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $cd
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $8a
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $8b
+beq at, v0, !advancemoreprop
+nop
+lui at, $8033
+lhu at, $ddf8 (AT)
+addiu t1, r0, $0010
+bne at, t1, !noCGexceptions
+nop
+addiu at, r0, $36
+beq at, v0, !advancemoreprop
+nop
+addiu at, r0, $38
+beq at, v0, !advancemoreprop
+nop
+!noCGexceptions:
+
+//test if being the hunter works
+!YOUARETHEHUNTER:
+//make it so if you are the hunter, you send modelID 0
+lui t0, $80ff
+!loopplayerobjectsprops:
+lw t1, $781c (T0)
+beq t1, r0, !thisisnotamariothatisaliveprop
+nop
+//check if the player is in the same level
+
+lhu t8, $780c (T0)
+lui at, $80ff
+lhu t2, $770c (at)
+andi t8, t8, $FF0F
+andi t2, t2, $FF0F
+beq t8, t2, !dontkillthismariopropasfiuasf
+nop
+sw r0, $0014 (T1)
+beq r0, r0, !thisisnotamariothatisaliveprop
+nop
+!dontkillthismariopropasfiuasf:
+addiu t2, r0, $00ff
+sw t2, $017c (t1)
+addiu t2, r0, $0021
+sh t2, $0002 (T1)
+
+lui t2, $80ff
+lbu t1, $7800 (T0)
+lbu t3, $7714 (T2)
+lbu a0, $7718 (T2)
+slt at, t1, a0
+bne at, r0, !YOUARENOTTHEHUNTER133
+nop
+add a0, a0, t3
+slt at, t1, a0
+bne at, r0, !thisisnotamariothatisaliveprop
+NOP
+!YOUARENOTTHEHUNTER133:
+
+
+addiu a0, r0, $0000
+lui t9, $80ff
+addiu t1, t9, $1b00
+!loopplayercounrpropasfuasfas1133:
+lbu t2, $7800 (T9)
+beq t2, r0, !dontafASDFSAUFPROP1133
+nop
+addiu a0, a0, $0001
+!dontafASDFSAUFPROP1133:
+addiu t9, t9, $0100
+bne t1, t9, !loopplayercounrpropasfuasfas1133
+nop
+lw t2, $0018 (SP)
+add a0, a0, t2
+
+lui t2, $80ff
+lbu t1, $7800 (T0)
+lbu t3, $7714 (T2)
+lbu at, $7718 (T2)
+sub a0, at, a0
+add a0, a0, t3
+slt at, t1, a0
+bne at, r0, !thisisnotamariothatisaliveprop
+NOP
+!YOUARENOTTHEHUNTER233:
+
+
+
+
+
+lw t1, $781c (T0)
+lbu t6, $7810 (T0)
+lui t3, $8033
+lw t3, $DDC4 (T3)
+sll t6, t6, $2
+add t3, t3, t6
+lw t6, $0000 (T3)
+//put this to a default value if it would be invisible
+sw t6, $0014 (T1)
+
+//lw t2, $7818 (T0)
+//lui at, $00ff
+//ori at, at, $ffff
+//and t2, t2, at
+//lui at, $8000
+//or t2, t2, at
+//sw t2, $003c (T1)
+//taken out cause unstable
+//TEST THIS
+lui t3, $80ff
+ori t3, t3, $e400 //change this for full version
+!loopcheckmodelIDsprop2:
+lw t9, $0000 (T3)
+beq t9, t6, !storegraphflagsprop
+nop
+addiu t3, t3, $c
+lui t4, $80ff
+ori t4, t4, $e7fc
+bne t4, t3, !loopcheckmodelIDsprop2
+nop
+beq r0, r0, !thisisnotamariothatisaliveprop
+nop
+!storegraphflagsprop:
+lhu t2, $000a (T3)
+andi t2, t2, $0004
+ori t2, t2, $0021
+sh t2, $0002 (T1)
+lw t2, $0004 (T3)
+sw t2, $003c (T1)
+
+
+!thisisnotamariothatisaliveprop:
+addiu t0, t0, $0100
+lui t1, $80ff
+ori t1, t1, $1b00
+bne t0, t1, !loopplayerobjectsprops
+nop
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+
+!bossrush:
+lui t0, $80ff
+lbu t2, $7700 (T0)
+addiu at, r0, $1
+bne at, t2, !Noinitbossrush
+nop
+lbu t1, $7718 (T0)
+bne t1, r0, !Noinitbossrush
+nop
+sb at, $7718 (T0)
+!Noinitbossrush:
+lui t0, $80ff
+lbu t2, $7718 (T0)
+bne t2, r0, !noinitplayerbossurhs
+nop
+lbu t1, $7818 (T0)
+sb t1, $7718 (T0)
+!noinitplayerbossurhs:
+
+lui t5, $80ff
+lbu t4, $771a (T5)
+bne t4, r0, !checkkillbossrush
+nop
+
+
+lui t0, $80ff
+!loopplayerobjectsbossrush:
+lw t1, $781c (T0)
+beq t1, r0, !thisisnotamariothatisalivebossrush
+nop
+lui at, $3f80
+sw at, $002c (T1)
+sw at, $0030 (T1)
+sw at, $0034 (T1)
+!thisisnotamariothatisalivebossrush:
+addiu t0, t0, $0100
+lui t1, $80ff
+ori t1, t1, $1b00
+bne t0, t1, !loopplayerobjectsbossrush
+nop
+
+
+
+lui t2, $80ff
+lbu t3, $7718 (T2)
+lbu t4, $7700 (T2)
+bne t3, t4, !noupscalebossrush
+nop
+//take damage in water
+lui t2, $8034
+lbu t1, $b17c (T2)
+ori t3, r0, $0030
+andi t1, t1, $00f0
+bne t3, t1, !skipdamagefromwaterbossrush
+nop
+lh t3, $b21e (T2)
+addiu t3, t3, $ffe0
+sh t3, $b21e (T2)
+!skipdamagefromwaterbossrush:
+lui t0, $8036
+lw t0, $1158 (T0)
+lui at, $4080
+sw at, $002c (T0)
+sw at, $0030 (T0)
+sw at, $0034 (T0)
+//hit box
+lui t1, $8034
+lbu t3, $b222 (T1)
+beq t3, r0, !dontenddamagetakebossrush
+nop
+addiu at, r0, $1
+sb at, $b222 (T1)
+!dontenddamagetakebossrush:
+
+lui t1, $8034
+lbu t3, $b223 (T1)
+beq t3, r0, !dontheaenddamagetakebossrush
+nop
+addiu at, r0, $2
+sb at, $b222 (T1)
+sb r0, $b223 (T1)
+!dontheaenddamagetakebossrush:
+
+
+lwc1 f2, $002c (T0)
+lui at, $4214
+mtc1 at, f4
+mul.s f4, f4, f2
+swc1 f4, $01f8 (T0)
+
+lui at, $4320
+mtc1 at, f6
+mul.s f6, f6, f2
+swc1 f6, $01fc (T0)
+
+
+lui t2, $8034
+lw t1, $b17c (T2)
+ori t3, r0, $1928
+beq t1, t3, !newbossrush
+nop
+ori t3, r0, $1920
+beq t1, t3, !newbossrush
+nop
+lbu t1, $b21e (T2)
+bne t1, r0, !checkkillbossrush
+nop
+!newbossrush:
+lui t3, $80ff
+lbu t4, $5fef (T3)
+sb t4, $7719 (T3)
+sb t4, $7718 (T3)
+addiu at, r0, $00a0
+sb at, $771a (T3)
+beq r0, r0, !checkkillbossrush
+nop
+
+
+
+!noupscalebossrush:
+
+lui t2, $80ff
+lbu t3, $7718 (T2)
+sll t3, t3, $8
+add t3, t2, t3
+lw t4, $771c (T3)
+lui at, $4080
+sw at, $002c (T4)
+sw at, $0030 (T4)
+sw at, $0034 (T4)
+//hit box
+
+
+!checkkillbossrush:
+lui t5, $80ff
+lbu t4, $771a (T5)
+beq t4, r0, !checkothersbossrush
+nop
+addiu t4, t4, $ffff
+beq r0, r0, !reuniafasbuzfaszuf
+sb t4, $771a (T5)
+!checkothersbossrush:
+sb r0, $7719 (T5)
+
+lui t0, $80ff
+!bossrushloopcopy:
+lbu t3, $7719 (T0)
+beq t3, r0, !bossrushloopcopyend
+nop
+sb t3, $7718 (T5)
+addiu at, r0, $00a0
+sb at, $771a (T5)
+!bossrushloopcopyend:
+addiu t0, t0, $0100
+lui t1, $80ff
+ori t1, t1, $1b00
+bne t0, t1, !bossrushloopcopy
+nop
+
+
+
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+
+
+!tagmode:
+lui t0, $80ff
+lbu t1, $7700 (T0)
+addiu at, r0, $1
+bne t1, at, !dontcontrolgameTAGcheckelse
+nop
+lbu t1, $7718 (T0)
+bne t1, r0, !dontcontrolgameTAG
+nop
+addiu at, r0, $1
+sb at, $7718 (T0)
+sb at, $7719 (T0)
+!dontcontrolgameTAG:
+beq r0, r0, !reunitenotcontrollsafiuasfTAG
+nop
+!dontcontrolgameTAGcheckelse:
+lui t0, $80ff
+lhu t1, $7718 (T0)
+bne t1, r0, !reunitenotcontrollsafiuasfTAG
+nop
+lhu t2, $7818 (T0)
+sh t2, $7718 (T0)
+!reunitenotcontrollsafiuasfTAG:
+lui a0, $8036
+lw a0, $1158 (A0)
+beq a0, r0, !skipspawntag
+nop
+lw t1, $0154 (A0)
+andi t1, t1, $3
+bne t1, r0, !skipspawntag
+nop
+addiu a1, r0, $0
+lui a2, $1300
+jal $29edcc
+ori a2, a2, $2Af0
+lui t0, $80ff
+lbu t1, $7718 (T0)
+lbu t3, $7700 (T0)
+beq t1, t3, !skipspawntag
+nop
+addiu t1, t1, $ffff
+sll t1, t1, $8
+add t0, t0, t1
+
+lh t1, $7804 (T0)
+mtc1 t1, f2
+cvt.s.w f2, f2
+swc1 f2, $00a0 (V0)
+lh t1, $7806 (T0)
+mtc1 t1, f4
+cvt.s.w f4, f4
+lui at, $41f0
+mtc1 at, f8
+add.s f4, f4, f8
+swc1 f4, $00a4 (V0)
+lh t1, $7808 (T0)
+mtc1 t1, f6
+cvt.s.w f6, f6
+swc1 f6, $00a8 (V0)
+
+
+!skipspawntag:
+lui t0, $80ff
+lbu t1, $7718 (T0)
+lbu t2, $7700 (T0)
+bne t1, t2, !dontbeitTAG
+nop
+sb t1, $7719 (T0)
+lbu t3, $771b (T0)
+beq t3, r0, !youpassTAG
+nop
+addiu t3, t3, $ffff
+sb t3, $771b (T0)
+bne t3, r0, !reuniafasbuzfaszuf
+nop
+!youpassTAG:
+lui t0, $80ff
+!checkcollisionTAG:
+lui t1, $80ff
+lbu t1, $7700 (T1)
+lbu t2, $7800 (T0)
+beq t1, t2, !thisisnotaliveTAG
+nop
+lw t2, $781c (T0)
+beq t2, r0, !thisisnotaliveTAG
+nop
+sw t0, $0018 (SP)
+or a1, t2, r0
+lui a0, $8036
+jal $29E2F8
+lw a0, $1158 (A0)
+lw t0, $0018 (SP)
+lui at, $42c8
+mtc1 at, f4
+c.lt.s f0, f4
+nop
+bc1f !thisisnotaliveTAG
+nop
+lbu t3, $7800 (T0)
+lui t1, $80ff
+sb t3, $7719 (T1)
+sb t3, $7718 (T1)
+addiu at, r0, $0020
+sb at, $7717 (T1)
+
+!thisisnotaliveTAG:
+addiu t0, t0, $0100
+lui t1, $80ff
+addiu t1, t1, $1b00
+bne t1, t0, !checkcollisionTAG
+nop
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+!dontbeitTAG:
+lui t0, $80ff
+lbu t3, $7717 (T0)
+beq t3, r0, !updatetagguynowTAG
+nop
+addiu t3, t3, $ffff
+sb t3, $7717 (T0)
+bne t3, r0, !reuniafasbuzfaszuf
+nop
+!updatetagguynowTAG:
+lbu t2, $7718 (T0)
+addiu t2, t2, $ffff
+sll t3, t2, $8
+add t1, t0, t3
+lbu t4, $7819 (T1)
+lbu t5, $771a (T0)
+sb t4, $7718 (T0)
+sb t4, $771a (T0)
+bne t5, t4, !reuniafasbuzfaszuf
+nop
+addiu at, r0, $0020
+sb at, $771b (T0)
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+!hide&seek:
+
+
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+//7710 goals + goal variables
+//7714 level to do the goals in
+
+//7716 goals finished so far
+//7718 timer before next round starts (start round at 0x00a0 and end round at 0x0eb0)
+//771a points for this player
+//771b has game started?
+
+//database for this at 910000 in ram
+//delete useless strings in level select menu from original game
+//tell tarnadas to store a random value at 8038eee0 when you select game mode 8(2 byte)
+
+//mission isnt resetting for p1, warps arent global
+!warioware:
+lui t0, $8091
+addiu t1, r0, $5
+sb t1, $02ff (T0)
+
+lui t0, $8020
+lbu t1, $770b (T0)
+ori t1, t1, $1
+sb t1, $770b (T0)
+lbu t1, $777b (T0)
+ori t1, t1, $1
+sb t1, $777b (T0)
+lbu t1, $77eb (T0)
+ori t1, t1, $1
+sb t1, $77eb (T0)
+lbu t1, $785b (T0)
+ori t1, t1, $1
+sb t1, $785b (T0)
+lui at, $ffff
+ori at, at, $ffff
+sw at, $7858 (T0)
+sw at, $785c (T0)
+sw at, $7860 (T0)
+sw at, $7864 (T0)
+sw at, $7868 (T0)
+sw at, $786c (t0)
+sw at, $7870 (t0)
+sw at, $7874 (t0)
+sw at, $7878 (t0)
+sw at, $787c (t0)
+sw at, $7880 (t0)
+lui t0, $8033
+addiu at, r0, $4
+sh at, $ddf4 (T0)
+
+lui t0, $80ff
+lbu t1, $7700 (T0)
+addiu at, r0, $1
+bne t1, at, !dontcontrolgameWW
+nop
+lbu t2, $771b (T0)
+beq t2, r0, !nochallengestartWW
+nop
+lhu t2, $7718 (T0)
+addiu at, r0, $0042
+bne t2, at, !nochallengestartWW
+nop
+sw r0, $7710 (T0)
+
+
+
+!newgoalspleaseWW:
+jal $383bb0
+nop
+andi v0, v0, $000f
+addiu at, r0, $1
+sllv at, at, v0
+lui t0, $80ff
+sh at, $7710 (T0)
+
+jal $383bb0
+nop
+andi v0, v0, $000f
+addiu at, r0, $1
+sllv at, at, v0
+lui t0, $80ff
+lhu t1, $7710 (T0)
+or t1, t1, at
+sh t1, $7710 (T0)
+andi t2, t1, $03FF
+beq t2, r0, !newgoalspleaseWW
+nop
+
+andi t2, t1, 0xfC00
+sh t2, $7716 (T0)
+
+jal $383bb0
+nop
+lui t0, $80ff
+sh v0, $7712 (T0)
+
+
+!newlevelID:
+jal $383bb0
+nop
+andi v0, v0, $001f
+lui t0, $8091
+add v0, v0, t0
+lbu t1, $0000 (V0)
+lui t0, $80ff
+sb t1, $7714 (T0)
+
+beq r0, r0, !showgoals
+nop
+!nochallengestartWW:
+lhu t1, $7718 (T0)
+slti at, t1, $00f0
+beq at, r0, !checkgoals
+nop
+addiu at, r0, $0040
+bne at, t1, !showgoals
+nop
+addiu at, r0, $1
+sb at, $771b (T0)
+beq r0, r0, !showgoals
+nop
+
+!dontcontrolgameWW:
+lw t1, $7810 (T0)
+sw t1, $7710 (T0)
+lbu t1, $7814 (T0)
+sb t1, $7714 (T0)
+lbu t1, $781b (T0)
+sb t1, $771b (T0)
+bne t1, r0, !checkgoalsplebs
+nop
+lui t0, $80ff
+lbu a3, $5fec (T0)
+beq a3, r0, !noprintwinWW
+nop
+addiu a0, r0, $0020
+addiu a1, r0, $0020
+lui a2, $8091
+jal $2d62d8
+ori a2, a2, $0240
+lui t0, $80ff
+!noprintwinWW:
+sh r0, $7718 (T0)
+beq r0, r0, !showgoals
+nop
+!checkgoalsplebs:
+lhu t1, $7718 (T0)
+bne t1, r0, !checkgoals
+nop
+addiu at, r0, $004a
+sh at, $7718 (T0)
+!checkgoals:
+lui t0, $80ff
+ori t1, t0, $1b00
+!loopcheckgoalsWW:
+lhu t2, $5c10 (T1)
+lhu t3, $7716 (T0)
+bne t2, t3, !pastgoalsww
+nop
+lbu t3, $7700 (T0)
+sb r0, $5fec (T0)
+lhu t4, $7718 (t0)
+slti at, t4, $0050
+bne at, r0, !noyoudontwinWW
+nop
+lbu t4, $771a (T0)
+addiu t4, t4, $1
+sb t4, $771a (T0) //THIS WONT WORK IF P1 SCORES BECAUSE IT CHANGES GAME MODE FOR EVERYONE ELSE
+lui t0, $80ff
+sb t3, $5fec (T0) //last player that won byte
+sh r0, $7718 (T0)
+!noyoudontwinWW:
+lui a0, $8033
+ori a0, a0, $b170
+jal $24A9CC
+addiu a1, r0, $0016
+lui t0, $80ff
+sb r0, $771b (T0)
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+!pastgoalsww:
+addiu t0, t0, $0100
+bne t0, t1, !loopcheckgoalsWW
+nop
+lui t0, $80ff
+//disable buttons if the timer is smaller
+lhu t1, $7718 (T0)
+addiu at, r0, $00e0
+bne t1, at, !nowarpstart
+nop
+//make it warp, assuming you are in the level select menu
+lbu t1, $7714 (T0)
+lui t2, $8039
+sw t1, $be24 (T2)
+addiu t1, r0, $1
+sh t1, $be20 (T2)
+lw t1, $be28 (T2)
+lw t3, $0004 (T1)
+lui at, $8016
+ori at, at, $f5b0
+bne t3, at, !dontwarpmearu9asfhdWW
+nop
+
+
+lbu t3, $0001 (T1)
+addu t3, t3, t1
+sw t3, $be28 (T2)
+!dontwarpmearu9asfhdWW:
+sw r0, $5f80 (T0) //5f80 is enemies beaten (1byte)
+sw r0, $5f84 (T0)
+sw r0, $5f88 (T0)
+sw r0, $5f8c (T0)
+sw r0, $5f90 (T0)
+sw r0, $5f94 (T0)
+sw r0, $5f98 (T0)//these store temp values
+ori at, r0, $fc00 //the bits that correspond to "dont do X or Y" goals
+lhu t3, $7710 (T0)
+and at, at, t3
+sh at, $7716 (T0)
+!nowarpstart:
+//check if objectives are fulfilled or rules broken
+//round restarts if it took less than 3 frames
+lhu t1, $7710 (T0)
+andi t1, t1, $0200
+beq t1, r0, !dontcheckcoinsWW
+nop
+lui t1, $8034
+lhu t1, $b262 (T1)
+lhu a3, $7712 (T0)
+andi a0, a3, $0040
+addiu a3, r0, $0014
+beq a0, r0, !skipcoinWW2
+nop
+addiu a3, r0, $001e
+!skipcoinWW2:
+slt at, t1, a3
+bne at, r0, !dontcheckcoinsWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $0200
+sh t2, $7716 (T0)
+!dontcheckcoinsWW:
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $1
+beq t1, r0, !dontcheckredsWW
+nop
+lhu t1, $7712 (T0)
+andi t1, t1, $0003
+addiu t1, t1, $0001
+
+lui t2, $8036
+lbu t2, $13fe (T2)
+slt at, t2, t1
+bne at, r0, !dontcheckredsWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $1
+sh t2, $7716 (T0)
+!dontcheckredsWW:
+
+lhu t1, $7710 (T0)
+andi t1, t1, $100
+beq t1, r0, !dontcheckstarsWW
+nop
+lui t2, $8036
+lw t2, $1158 (T2)
+beq t2, r0, !dontcheckstarsWW
+nop
+lw t3, $0078 (T2)
+beq t3, r0, !dontcheckstarsWW
+nop
+lw t4, $0130 (T3)
+ori at, r0, $1000
+bne t4, at, !dontcheckstarsWW
+nop
+lbu t3, $0188 (T3)
+addiu t3, t3, $1
+lhu t1, $7712 (T0)
+andi t1, t1, $0700
+srl t1, t1, $8
+bne t1, t3, !dontcheckstarsWW
+nop
+
+lhu t2, $7716 (T0)
+ori t2, t2, $100
+sh t2, $7716 (T0)
+!dontcheckstarsWW:
+
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $2
+beq t1, r0, !dontcheckenemiesWW
+nop
+lui t1, $8033
+ori t1, t1, $d488
+lui t2, $8036
+ori t2, t2, $0e88
+!checkallenemiesWW:
+lh t3, $0074 (t1)
+beq t3, r0, !dontcheckthisoneWW
+nop
+lw t4, $014c (T1)
+slti t3, t4, $0060
+beq t3, r0, !freepassWW
+nop
+lw t3, $0134 (T1)
+ori t4, r0, $c003
+bne t3, t4, !dontcheckthisoneWW
+nop
+ori t3, r0, $c004
+sw t3, $0134 (T1)
+!freepassWW:
+sh r0, $0074 (T1)
+lbu t3, $5f80 (T0)
+addiu t3, t3, $1
+sb t3, $5f80 (T0)
+!dontcheckthisoneWW:
+addiu t1, t1, $260
+bne t1, t2, !checkallenemiesWW
+nop
+lhu t1, $7712 (T0)
+andi t1, t1, $000c
+srl t1, t1, $2
+
+lbu t3, $5f80 (T0)
+slt at, t3, t1
+bne at, r0, !dontcheckenemiesWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $2
+sh t2, $7716 (T0)
+!dontcheckenemiesWW:
+
+
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $4
+beq t1, r0, !dontcheckpolesWW
+nop
+lui t1, $8034
+lw t1, $b17c (T1)
+lui at, $0010
+ori at, at, $0340
+and t1, at, t1
+bne at, t1, !notthispoleWW
+nop
+lui t2, $8036
+lw t2, $1158 (T2)
+beq t2, r0, !dontcheckpolesWW
+nop
+lw t3, $0078 (T2)
+lw t4, $5f84 (T0)
+beq t4, t3, !notthispoleWW
+nop
+bne t4, r0, !poleonecheckWW
+nop
+sw t3, $5f84 (T0)
+beq r0, r0, !notthispoleWW
+nop
+!poleonecheckWW:
+lhu t2, $7716 (T0)
+ori t2, t2, $4
+sh t2, $7716 (T0)
+!notthispoleWW:
+!dontcheckpolesWW:
+
+lhu t1, $7710 (T0)
+andi t1, t1, $8
+beq t1, r0, !dontcheckplatformsWW
+nop
+lhu t1, $7712 (T0)
+andi t1, t1, $0030
+srl t1, t1, $4
+
+LUI T6, 0x8036
+LW T6, 0x1158 (T6)
+beq t6, r0, !dontcheckplatformsWW
+nop
+LW T7, 0x0214 (T6)
+beq t7, r0, !dontcheckplatformsWW
+nop
+lw t3, $5f88 (T0)
+beq t7, t3, !dontcheckplatformsWW
+nop
+bne t3, r0, !checkoneplatformWW
+nop
+sw t7, $5f88 (T0)
+bne t1, r0, !dontcheckplatformsWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $8
+sh t2, $7716 (T0)
+beq r0, r0, !dontcheckplatformsWW
+nop
+!checkoneplatformWW:
+lw t3, $5f8c (T0)
+beq t7, t3, !dontcheckplatformsWW
+nop
+bne t3, r0, !checktwoplatformWW
+nop
+sw t7, $5f8c (T0)
+addiu at, r0, $1
+bne t1, at, !dontcheckplatformsWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $8
+sh t2, $7716 (T0)
+beq r0, r0, !dontcheckplatformsWW
+nop
+!checktwoplatformWW:
+lhu t2, $7716 (T0)
+ori t2, t2, $8
+sh t2, $7716 (T0)
+!dontcheckplatformsWW:
+
+
+
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $10
+beq t1, r0, !dontcheckitemWW
+nop
+lui t2, $8034
+lw t2, $B1EC (T2)
+beq t2, r0, !dontcheckitemWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $10
+sh t2, $7716 (T0)
+!dontcheckitemWW:
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $20
+beq t1, r0, !dontchecktripleWW
+nop
+lui t2, $8034
+lw t2, $B17c (T2)
+lui at, $0100
+ori at, at, $0882
+bne t2, at, !dontchecktripleWW
+nop
+lhu t2, $7716 (T0)
+ori t2, t2, $20
+sh t2, $7716 (T0)
+!dontchecktripleWW:
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $40
+beq t1, r0, !dontcheckwallkickWW
+nop
+lui t2, $8034
+lhu t5, $b19e (T2)
+lw t3, $b1b0 (T2)
+lw t4, $b1e0 (T2)
+bne t3, t4, !noreset
+nop
+sb r0, $5f81 (T0)
+addiu at, r0, $7777
+sh at, $5f82 (T0)
+!noreset:
+lw t2, $B17c (T2)
+lui at, $0300
+ori at, at, $0886
+bne t2, at, !dontcheckwallkickWW
+nop
+lhu t6, $5f82 (T0)
+beq t6, t5, !dontcheckwallkickWW
+nop
+addiu at, r0, $7777
+sh t5, $5f82 (T0)
+beq at, t6, !dontcheckwallkickWW
+nop
+
+lhu t2, $7716 (T0)
+ori t2, t2, $40
+sh t2, $7716 (T0)
+!dontcheckwallkickWW:
+
+
+lhu t1, $7710 (T0)
+andi t1, t1, $80
+beq t1, r0, !dontcheckfalldamageWW
+nop
+lui t2, $8034
+lw t2, $B17c (T2)
+lui at, $0002
+ori at, at, $0460
+beq t2, at, !dontcheckfalldamage2WW
+nop
+lui at, $0002
+ori at, at, $0461
+bne t2, at, !dontcheckfalldamageWW
+nop
+!dontcheckfalldamage2WW:
+lhu t2, $7716 (T0)
+ori t2, t2, $80
+sh t2, $7716 (T0)
+!dontcheckfalldamageWW:
+//program in sideconditions
+lhu t1, $7710 (T0)
+andi t1, t1, $0400
+beq t1, r0, !dontdisablebuttonWW
+nop
+lhu t3, $7712 (T0)
+andi t3, t3, $0c00
+srl t3, t3, 0x0A
+ori t5, r0, $4000
+beq t3, r0, !noBbutton
+nop
+ori t5, r0, $2000
+addiu at, r0, $1
+beq t3, at, !noZbutton
+nop
+ori t5, r0, $000f
+!noBbutton:
+!noZbutton:
+lui at, $8034
+lhu t3, $afa0 (AT)
+or t3, t3, t5
+sh t3, $afa0 (AT)
+!dontdisablebuttonWW:
+lhu t1, $7710 (T0)
+andi t1, t1, $0800
+beq t1, r0, !dontmakethegroundhotWW
+nop
+lui t2, $8034
+lw t3, $b17c (T2)
+lui t4, $0400
+ori t4, t4, $0440
+bne t3, t4, !notthathowWW
+nop
+lw t3, $b1b0 (T2)
+lw t4, $b1e0 (T2)
+beq t3, t4, !itshotWW
+nop
+sb r0, $5f90 (T0)
+!itshotWW:
+lbu t3, $5f90 (T0)
+addiu t3, t3, $1
+sb t3, $5f90 (T0)
+addiu at, r0, $0010
+bne t3, at, !notthathowWW
+nop
+sb r0, $5f90 (T0)
+lui at, $0102
+ori at, at, $08B7
+lui t2, $8034
+sw at, $b17c (T2)
+addiu at, r0, $000c
+sb at, $b222 (t2)
+lui at, $4248
+sw at, $b1bc (T2)
+!notthathowWW:
+!dontmakethegroundhotWW:
+lhu t1, $7710 (T0)
+andi t1, t1, $1000
+beq t1, r0, !dontdothatactionWW
+nop
+lhu t3, $7712 (T0)
+andi t3, t3, $7000
+srl t3, t3, $C
+lui at, $0300
+ori at, at, $0888
+beq t3, r0, !thisoneWW
+nop
+lui at, $0300
+ori at, at, $0886
+addiu t2, r0, $1
+beq t3, t2, !thisoneWW
+nop
+lui at, $0188
+ori at, at, $088A
+addiu t2, r0, $2
+beq t3, t2, !thisoneWW
+nop
+lui at, $0188
+ori at, at, $088A
+addiu t2, r0, $3
+beq t3, t2, !withnodamageWW
+nop
+lui at, $0300
+ori at, at, $0881
+addiu t2, r0, $4
+beq t3, t2, !thisoneWW
+nop
+!withnodamageWW:
+lui t2, $8034
+lbu t2, $b222 (T2)
+bne t2, r0, !respawnmarioWW
+nop
+beq r0, r0, !dontdothatactionWW
+nop
+!thisoneWW:
+lui t3, $8034
+lw t3, $b17c (T3)
+beq t3, at, !respawnmarioWW
+nop
+!dontdothatactionWW:
+beq r0, r0, !showgoals
+nop
+!respawnmarioWW:
+lui t2, $8034
+sh r0, $b21e (T2)
+
+
+!showgoals:
+lui t0, $80ff
+lhu t1, $7718 (T0)
+addiu t1, t1, $1
+sh t1, $7718 (T0)
+
+addiu v1, r0, $1
+
+
+
+//print texts but only if you havent finished the objective
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $1
+beq t1, r0, !dontshowtext1
+nop
+lhu t1, $7712 (T0)
+andi t1, t1, $0003
+addiu a3, t1, $0001
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0020
+!dontshowtext1:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $2
+beq t1, r0, !dontshowtext2
+nop
+lhu t1, $7712 (T0)
+andi t1, t1, $000c
+srl t1, t1, $2
+addiu at, r0, $3
+bne at, t1, !skipenemymaxWW
+nop
+addiu t1, r0, $2
+
+lhu t2, $7712 (T0)
+andi t2, t2, $fff3
+addiu t2, t2, $0008
+sh t2, $7712 (t0)
+!skipenemymaxWW:
+addiu a3, t1, $0001
+
+
+
+
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0040
+!dontshowtext2:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $4
+beq t1, r0, !dontshowtext4
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0060
+!dontshowtext4:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $8
+beq t1, r0, !dontshowtext8
+nop
+
+lhu t1, $7712 (T0)
+andi t1, t1, $0030
+srl t1, t1, $4
+addiu at, r0, $3
+bne at, t1, !skipplatformWW
+nop
+addiu t1, r0, $2
+
+lhu t2, $7712 (T0)
+andi t2, t2, $ffcf
+addiu t2, t2, $0020
+sh t2, $7712 (t0)
+!skipplatformWW:
+addiu a3, t1, $0001
+
+
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0080
+!dontshowtext8:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $10
+beq t1, r0, !dontshowtext10
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $00a0
+!dontshowtext10:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $20
+beq t1, r0, !dontshowtext20
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $00c0
+!dontshowtext20:
+
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $40
+beq t1, r0, !dontshowtext40
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $00e0
+!dontshowtext40:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $80
+beq t1, r0, !dontshowtext80
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0100
+!dontshowtext80:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $100
+beq t1, r0, !dontshowtext100
+nop
+
+lhu t1, $7712 (T0)
+andi t1, t1, $0700
+srl t1, t1, $8
+addiu at, r0, $7
+bne at, t1, !skipstarWW
+nop
+addiu t1, r0, $6
+
+lhu t2, $7712 (T0)
+andi t2, t2, $f8ff
+addiu t2, t2, $0600
+sh t2, $7712 (t0)
+!skipstarWW:
+or a3, t1, r0
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0120
+!dontshowtext100:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+lhu t2, $7716 (T0)
+xor t1, t1, t2
+andi t1, t1, $200
+beq t1, r0, !dontshowtext200
+nop
+
+lhu a3, $7712 (T0)
+andi a0, a3, $0040
+addiu a3, r0, $0014
+beq a0, r0, !skipcoinWW
+nop
+addiu a3, r0, $001e
+!skipcoinWW:
+
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $0140
+!dontshowtext200:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+andi t1, t1, $400
+beq t1, r0, !dontshowtext400
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+addiu a2, a2, $0160
+lui t3, $80ff
+lhu t3, $7712 (T3)
+andi t3, t3, $0c00
+srl t3, t3, 0x0A
+addiu at, r0, $3
+bne at, t3, !skipbuttonWW
+nop
+addiu t3, r0, $2
+
+lhu t2, $7712 (T0)
+andi t2, t2, $f3FF
+addiu t2, t2, $0800
+sh t2, $7712 (t0)
+
+!skipbuttonWW:
+sll t3, t3, $5
+jal $2d62d8
+add a2, a2, t3
+!dontshowtext400:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+andi t1, t1, $800
+beq t1, r0, !dontshowtext800
+nop
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+jal $2d62d8
+addiu a2, a2, $01c0
+!dontshowtext800:
+
+lui t0, $80ff
+lhu t1, $7710 (T0)
+andi t1, t1, $1000
+beq t1, r0, !dontshowtext1000
+nop
+lhu t3, $7712 (T0)
+andi t3, t3, $7000
+srl t3, t3, $C
+slti at, t3, $5
+bne at, r0, !skipactionWW
+nop
+addiu t3, r0, $4
+
+lhu t2, $7712 (T0)
+andi t2, t2, $8fff
+addiu t2, t2, $4000
+sh t2, $7712 (t0)
+
+!skipactionWW:
+sll t3, t3, $4
+addiu v1, v1, $0020
+addiu a0, r0, $0011
+addiu a1, v1, $0009
+lui a2, $8091
+addiu a2, a2, $01e0
+jal $2d62d8
+add a2, a2, t3
+!dontshowtext1000:
+//warp back and activate level select debug, if not in
+
+lui t0, $8033
+sb r0, $d58c (T0)
+
+lui t0, $80ff
+lhu t1, $7718 (T0)
+slti at, t1, $00d0
+beq at, r0, !dontdisableWW
+nop
+lui t1, $8034
+sw r0, $afa0 (T1)
+addiu at, r0, $1000
+sh at, $afa0 (T1)
+lbu t1, $7714 (T0)
+lui at, $8033
+sh t1, $ddf8 (AT)
+lui t0, $8033
+addiu t1, r0, $0001
+sb t1, $d58c (T0)
+//kill the texts on the beta level select here
+lui t2, $801a
+sb r0, $7860 (T2)
+sb r0, $7870 (T2)
+sb r0, $7880 (T2)
+sb r0, $7890 (T2)
+sb r0, $78a0 (T2)
+sb r0, $78b0 (T2)
+sb r0, $78c0 (T2)
+sb r0, $78d0 (T2)
+sb r0, $78e0 (T2)
+sb r0, $78f0 (T2)
+sb r0, $7900 (T2)
+sb r0, $7910 (T2)
+sb r0, $7920 (T2)
+sb r0, $7930 (T2)
+sb r0, $7940 (T2)
+sb r0, $7950 (T2)
+sb r0, $7960 (T2)
+sb r0, $7970 (T2)
+sb r0, $7980 (T2)
+sb r0, $7990 (T2)
+sb r0, $79a0 (T2)
+sb r0, $79b0 (T2)
+sb r0, $79c0 (T2)
+sb r0, $79d0 (T2)
+sb r0, $79e0 (T2)
+sb r0, $79f0 (T2)
+sb r0, $7a00 (T2)
+sb r0, $7a10 (T2)
+sb r0, $7a30 (T2)
+sb r0, $7a40 (T2)
+sb r0, $7a60 (T2)
+sb r0, $7c40 (T2)
+sb r0, $7c50 (T2)
+sb r0, $7c60 (T2)
+sb r0, $7c64 (T2)
+!dontdisableWW:
+
+
+beq r0, r0, !reuniafasbuzfaszuf
+nop
+
+
+
+!interactionless:
+!regular:
+!reuniafasbuzfaszuf:
+lw ra, $0014 (SP)
+jr ra
+addiu sp, sp, $0024