This is basically my model swap built into a menu. Menu opens with L1+Square and closes with circle. You won't need to press a joker any longer to select model. Simply choose your model from the menu and press X! Works best with respawn in place.
Updated with v2.0! Added the ability to customize menu, just look through the source code and you can edit the layout of the menu. Also added a background shader to make the layout a little cleaner, you can disable this if you want. Shortened some code also.
Code:
202CED04 08026800 2009A000 27BDFFF0 2009A004 FFBF0010 2009A008 7FB00000 2009A00C 0C0ACD60 2009A010 00000000 2009A014 0040802D 2009A018 12000005 2009A01C 00000000 2009A020 0C02EB40 2009A024 00000000 2009A028 0C02EC5D 2009A02C 00000000 2009A030 DFBF0010 2009A034 7BB00000 2009A038 03E00008 2009A03C 27BD0010 2009BAE0 6D736942 2009BAE4 2073276F 2009BAE8 756E654D 2009BAEC 61775320 2009BAF0 32762070 2009BAF4 0000302E 2009BAF8 00000000 2009BAFC 00000000 2009BB00 420FFFFF 2009BB04 42820000 2009BB08 3F700000 2009BB0C 43000000 2009BB10 00000000 2009BB14 00000000 2009BB18 43000000 2009BB1C 00000000 2009BB20 00000000 2009BB24 6C616553 2009BB28 00003120 2009BB2C 00000000 2009BB30 00000000 2009BB34 42a00000 2009BB38 42c00000 2009BB3C 3F600000 2009BB40 43000000 2009BB44 43000000 2009BB48 43000000 2009BB4C 43000000 2009BB50 00000000 2009BB54 00000000 2009BB58 6C616553 2009BB5C 00003220 2009BB60 00000000 2009BB64 00000000 2009BB68 42a00000 2009BB6C 42f00000 2009BB70 3F600000 2009BB74 43000000 2009BB78 43000000 2009BB7C 43000000 2009BB80 43000000 2009BB84 00000000 2009BB88 00000000 2009BB8C 6C616553 2009BB90 00003320 2009BB94 00000000 2009BB98 00000000 2009BB9C 42a00000 2009BBA0 43100000 2009BBA4 3F600000 2009BBA8 43000000 2009BBAC 43000000 2009BBB0 43000000 2009BBB4 43000000 2009BBB8 00000000 2009BBBC 00000000 2009BBC0 6C616553 2009BBC4 00003420 2009BBC8 00000000 2009BBCC 00000000 2009BBD0 42a00000 2009BBD4 43270000 2009BBD8 3F600000 2009BBDC 43000000 2009BBE0 43000000 2009BBE4 43000000 2009BBE8 43000000 2009BBEC 00000000 2009BBF0 00000000 2009BBF4 72726554 2009BBF8 7369726F 2009BBFC 00312074 2009BC00 00000000 2009BC04 00000000 2009BC08 42a00000 2009BC0C 43400000 2009BC10 3F600000 2009BC14 43000000 2009BC18 43000000 2009BC1C 43000000 2009BC20 43000000 2009BC24 00000000 2009BC28 00000000 2009BC2C 72726554 2009BC30 7369726F 2009BC34 00322074 2009BC38 00000000 2009BC3C 00000000 2009BC40 42a00000 2009BC44 43550000 2009BC48 3F600000 2009BC4C 43000000 2009BC50 43000000 2009BC54 43000000 2009BC58 43000000 2009BC5C 00000000 2009BC60 00000000 2009BC64 72726554 2009BC68 7369726F 2009BC6C 00332074 2009BC70 00000000 2009BC74 00000000 2009BC78 42a00000 2009BC7C 43690000 2009BC80 3F600000 2009BC84 43000000 2009BC88 43000000 2009BC8C 43000000 2009BC90 43000000 2009BC94 00000000 2009BC98 00000000 2009BC9C 72726554 2009BCA0 7369726F 2009BCA4 00342074 2009BCA8 00000000 2009BCAC 00000000 2009BCB0 42a00000 2009BCB4 437d0000 2009BCB8 3F600000 2009BCBC 43000000 2009BCC0 43000000 2009BCC4 43000000 2009BCC8 43000000 2009BCCC 00000000 2009BCD0 00000000 2009BCD4 40000000 2009BCD8 41F00000 2009BCDC 43490000 2009BCE0 41F00000 2009BCE4 3E2C0000 2009BCE8 3E2C0000 2009BCEC 3E340000 2009BCF0 3F800000 2009BCF4 00000000 2009BCF8 41000000 2009BCFC 42300000 2009BD00 43410000 2009BD04 42500000 2009BD08 3D800000 2009BD0C 3D800000 2009BD10 3D83126F 2009BD14 3F800000 2009BD18 00000000 2009BD1C 41000000 2009BD20 42300000 2009BD24 43400000 2009BD28 42600000 2009BD2C 00000000 2009BD30 00000000 2009BD34 00000000 2009BD38 3F800000 200BAD00 27BDFF90 200BAD04 FFBF0060 200BAD08 7FB50050 200BAD0C 7FB40040 200BAD10 7FB30030 200BAD14 7FB20020 200BAD18 7FB10010 200BAD1C 7FB00000 200BAD20 3C100009 200BAD24 3610BAC0 200BAD28 82110000 200BAD2C 8212000C 200BAD30 12400099 200BAD34 00000000 200BAD38 82130010 200BAD3C 1260001D 200BAD40 00000000 200BAD44 3C150009 200BAD48 36B5BCD4 200BAD4C 02A0202D 200BAD50 26B50008 200BAD54 02A0282D 200BAD58 24060236 200BAD5C 26B50008 200BAD60 02A0382D 200BAD64 0C02EC3B 200BAD68 00000000 200BAD6C 26B50014 200BAD70 02A0202D 200BAD74 26B50008 200BAD78 02A0282D 200BAD7C 24060204 200BAD80 26B50008 200BAD84 02A0382D 200BAD88 0C02EC3B 200BAD8C 00000000 200BAD90 26B50014 200BAD94 02A0202D 200BAD98 26B50008 200BAD9C 02A0282D 200BADA0 24060040 200BADA4 26B50008 200BADA8 02A0382D 200BADAC 0C02EC3B 200BADB0 00000000 200BADB4 3C140009 200BADB8 3694BAE0 200BADBC 26940000 200BADC0 0280202D 200BADC4 8E850020 200BADC8 8E860024 200BADCC 8E870028 200BADD0 8E88002C 200BADD4 8E890030 200BADD8 8E8A0034 200BADDC 8E8B0038 200BADE0 0220602D 200BADE4 0000682D 200BADE8 0C02EBF4 200BADEC 00000000 200BADF0 26940044 200BADF4 0280202D 200BADF8 8E850010 200BADFC 8E860014 200BAE00 8E870018 200BAE04 8E88001C 200BAE08 8E890020 200BAE0C 8E8A0024 200BAE10 8E8B0028 200BAE14 0220602D 200BAE18 240D0001 200BAE1C 0C02EBF4 200BAE20 00000000 200BAE24 26940034 200BAE28 0280202D 200BAE2C 8E850010 200BAE30 8E860014 200BAE34 8E870018 200BAE38 8E88001C 200BAE3C 8E890020 200BAE40 8E8A0024 200BAE44 8E8B0028 200BAE48 0220602D 200BAE4C 240D0002 200BAE50 0C02EBF4 200BAE54 00000000 200BAE58 26940034 200BAE5C 0280202D 200BAE60 8E850010 200BAE64 8E860014 200BAE68 8E870018 200BAE6C 8E88001C 200BAE70 8E890020 200BAE74 8E8A0024 200BAE78 8E8B0028 200BAE7C 0220602D 200BAE80 240D0003 200BAE84 0C02EBF4 200BAE88 00000000 200BAE8C 26940034 200BAE90 0280202D 200BAE94 8E850010 200BAE98 8E860014 200BAE9C 8E870018 200BAEA0 8E88001C 200BAEA4 8E890020 200BAEA8 8E8A0024 200BAEAC 8E8B0028 200BAEB0 0220602D 200BAEB4 240D0004 200BAEB8 0C02EBF4 200BAEBC 00000000 200BAEC0 26940034 200BAEC4 0280202D 200BAEC8 8E850014 200BAECC 8E860018 200BAED0 8E87001C 200BAED4 8E880020 200BAED8 8E890024 200BAEDC 8E8A0028 200BAEE0 8E8B002C 200BAEE4 0220602D 200BAEE8 240D0005 200BAEEC 0C02EBF4 200BAEF0 00000000 200BAEF4 26940038 200BAEF8 0280202D 200BAEFC 8E850014 200BAF00 8E860018 200BAF04 8E87001C 200BAF08 8E880020 200BAF0C 8E890024 200BAF10 8E8A0028 200BAF14 8E8B002C 200BAF18 0220602D 200BAF1C 240D0006 200BAF20 0C02EBF4 200BAF24 00000000 200BAF28 26940038 200BAF2C 0280202D 200BAF30 8E850014 200BAF34 8E860018 200BAF38 8E87001C 200BAF3C 8E880020 200BAF40 8E890024 200BAF44 8E8A0028 200BAF48 8E8B002C 200BAF4C 0220602D 200BAF50 240D0007 200BAF54 0C02EBF4 200BAF58 00000000 200BAF5C 26940038 200BAF60 0280202D 200BAF64 8E850014 200BAF68 8E860018 200BAF6C 8E87001C 200BAF70 8E880020 200BAF74 8E890024 200BAF78 8E8A0028 200BAF7C 8E8B002C 200BAF80 0220602D 200BAF84 240D0008 200BAF88 0C02EBF4 200BAF8C 00000000 200BAF90 10000005 200BAF94 00000000 200BAF98 24020001 200BAF9C A2020000 200BAFA0 24020008 200BAFA4 A2020004 200BAFA8 DFBF0060 200BAFAC 7BB50050 200BAFB0 7BB40040 200BAFB4 7BB30030 200BAFB8 7BB20020 200BAFBC 7BB10010 200BAFC0 7BB00000 200BAFC4 03E00008 200BAFC8 27BD0070 200BAFCC 00000000 200BAFD0 27BDFFF0 200BAFD4 FFBF0010 200BAFD8 7FB00000 200BAFDC 3C10000B 200BAFE0 36103000 200BAFE4 3C020040 200BAFE8 34426DF0 200BAFEC AE02000C 200BAFF0 3C023F80 200BAFF4 344200CD 200BAFF8 AE020014 200BAFFC AE04001C 200BB000 2402000F 200BB004 AE020020 200BB008 24020006 200BB00C AE020024 200BB010 3C02414E 200BB014 3442D2E3 200BB018 AE020038 200BB01C 3C024274 200BB020 34420000 200BB024 AE02003C 200BB028 AE070040 200BB02C 158D0005 200BB030 00000000 200BB034 3C0842C8 200BB038 35080000 200BB03C 0000482D 200BB040 0000502D 200BB044 AE080048 200BB048 AE09004C 200BB04C AE0A0050 200BB050 AE0B0054 200BB054 3C028080 200BB058 34420051 200BB05C AE02005C 200BB060 3C020040 200BB064 3442D57C 200BB068 8C420000 200BB06C AE020018 200BB070 3C020040 200BB074 344267B0 200BB078 AE020060 200BB07C 24020100 200BB080 AE020068 200BB084 2402015E 200BB088 AE020070 200BB08C 3C023F80 200BB090 34420000 200BB094 AE020078 200BB098 AE050090 200BB09C AE060094 200BB0A0 3C020000 200BB0A4 3442EC60 200BB0A8 AE020098 200BB0AC 3C020040 200BB0B0 34426C10 200BB0B4 AE020100 200BB0B8 3C020048 200BB0BC 34428DF8 200BB0C0 8C420000 200BB0C4 AE020104 200BB0C8 26050100 200BB0CC 0200202D 200BB0D0 0C0D8D70 200BB0D4 00000000 200BB0D8 DFBF0010 200BB0DC 7BB00000 200BB0E0 03E00008 200BB0E4 27BD0010 200BB0E8 00000000 200BB0EC 27BDFF80 200BB0F0 FFBF0070 200BB0F4 7FB20060 200BB0F8 7FB10050 200BB0FC 7FB00040 200BB100 DC890000 200BB104 FFA90030 200BB108 DCA90000 200BB10C FFA90020 200BB110 0000802D 200BB114 00C0882D 200BB118 7FA70010 200BB11C 7BA60010 200BB120 7BA70010 200BB124 0C0D7F38 200BB128 00000000 200BB12C 26100001 200BB130 C7A00034 200BB134 3C083F00 200BB138 44880800 200BB13C 46010000 200BB140 E7A00034 200BB144 E7A00024 200BB148 27A40030 200BB14C 27A50020 200BB150 1611FFF2 200BB154 00000000 200BB158 DFBF0070 200BB15C 7BB20060 200BB160 7BB10050 200BB164 7BB00040 200BB168 03E00008 200BB16C 27BD0080 200BB170 00000000 200BB174 27BDFF80 200BB178 FFBF0080 200BB17C 7FB70070 200BB180 7FB60060 200BB184 7FB50050 200BB188 7FB40040 200BB18C 7FB30030 200BB190 7FB20020 200BB194 7FB10010 200BB198 7FB00000 200BB19C 3C100009 200BB1A0 3610BAC0 200BB1A4 82110000 200BB1A8 82120004 200BB1AC 2413000C 200BB1B0 82140008 200BB1B4 12930005 200BB1B8 00000000 200BB1BC 26940001 200BB1C0 A2140008 200BB1C4 16930062 200BB1C8 00000000 200BB1CC 3C150044 200BB1D0 36B5F15C 200BB1D4 86B60000 200BB1D8 2402FFFF 200BB1DC 1202005C 200BB1E0 00000000 200BB1E4 A2000008 200BB1E8 24027BFF 200BB1EC 12C2000A 200BB1F0 00000000 200BB1F4 8217000C 200BB1F8 12E00055 200BB1FC 00000000 200BB200 2402DFFF 200BB204 12C20012 200BB208 00000000 200BB20C 8217000C 200BB210 12E0004F 200BB214 00000000 200BB218 3C190041 200BB21C 37395FF0 200BB220 8F390000 200BB224 8F3900BC 200BB228 8F3900C0 200BB22C 8217000C 200BB230 16E00010 200BB234 00000000 200BB238 24030001 200BB23C A203000C 200BB240 24030003 200BB244 A3230221 200BB248 1000000A 200BB24C 00000000 200BB250 3C190041 200BB254 37395FF0 200BB258 8F390000 200BB25C 8F3900BC 200BB260 8F3900C0 200BB264 A200000C 200BB268 A3200221 200BB26C 10000001 200BB270 00000000 200BB274 2402FFBF 200BB278 16C20009 200BB27C 00000000 200BB280 12320004 200BB284 00000000 200BB288 26310001 200BB28C 1000000B 200BB290 00000000 200BB294 24110001 200BB298 10000008 200BB29C 00000000 200BB2A0 2402FFEF 200BB2A4 16C20005 200BB2A8 00000000 200BB2AC 2631FFFF 200BB2B0 16200002 200BB2B4 00000000 200BB2B8 0240882D 200BB2BC AE110000 200BB2C0 82110000 200BB2C4 8217000C 200BB2C8 12E00021 200BB2CC 00000000 200BB2D0 24030001 200BB2D4 12230016 200BB2D8 00000000 200BB2DC 24030002 200BB2E0 12230013 200BB2E4 00000000 200BB2E8 24030003 200BB2EC 12230010 200BB2F0 00000000 200BB2F4 24030004 200BB2F8 1223000D 200BB2FC 00000000 200BB300 24030005 200BB304 1223000A 200BB308 00000000 200BB30C 24030006 200BB310 12230007 200BB314 00000000 200BB318 24030007 200BB31C 12230004 200BB320 00000000 200BB324 24030008 200BB328 12230001 200BB32C 00000000 200BB330 2402BFFF 200BB334 12C20003 200BB338 00000000 200BB33C 10000004 200BB340 00000000 200BB344 0060202D 200BB348 0C02ECE0 200BB34C 00000000 200BB350 DFBF0080 200BB354 7BB70070 200BB358 7BB60060 200BB35C 7BB50050 200BB360 7BB40040 200BB364 7BB30030 200BB368 7BB20020 200BB36C 7BB10010 200BB370 7BB00000 200BB374 03E00008 200BB378 27BD0080 200BB37C 00000000 200BB380 27BDFFB0 200BB384 FFBF0050 200BB388 7FB40040 200BB38C 7FB30030 200BB390 7FB20020 200BB394 7FB10010 200BB398 7FB00000 200BB39C 0080802D 200BB3A0 12000023 200BB3A4 00000000 200BB3A8 26100030 200BB3AC 3C110009 200BB3B0 3631BD50 200BB3B4 8232FFFC 200BB3B8 12400003 200BB3BC 00000000 200BB3C0 10000018 200BB3C4 00000000 200BB3C8 3C086843 200BB3CC 35086955 200BB3D0 3C097954 200BB3D4 35297261 200BB3D8 3C0A0031 200BB3DC 354A6570 200BB3E0 AE280000 200BB3E4 AE290004 200BB3E8 AE2A0008 200BB3EC 24020001 200BB3F0 A222FFFC 200BB3F4 A230000A 200BB3F8 0C14F85C 200BB3FC 0220202D 200BB400 0040982D 200BB404 0C0ACD60 200BB408 00000000 200BB40C 0040A02D 200BB410 AE930540 200BB414 24030001 200BB418 A2830FCF 200BB41C 10000004 200BB420 00000000 200BB424 A230000A 200BB428 1000FFF3 200BB42C 00000000 200BB430 DFBF0050 200BB434 7BB30040 200BB438 7BB20030 200BB43C 7BB10020 200BB440 7BB00010 200BB444 03E00008 200BB448 27BD0050 Respawn in place 20599110 00000000
Code:
// model swap with menu address $2009A000 addiu sp, sp, $fff0 sd ra, $0010(sp) sq s0, $0000(sp) jal $002B3580 nop daddu s0, v0, zero beq s0, zero, :end5 nop jal $000bad00 nop jal $000BB174 nop end5: ld ra, $0010(sp) lq s0, $0000(sp) jr ra addiu sp, sp, $0010 address $2009bae0 print "Bismo's Menu Swap v2.0" nop nop // x offset hexcode $420FFFFF // y offset hexcode $42820000 // size hexcode $3F700000 //red hexcode $43000000 // blue hexcode $00000000 // green hexcode $00000000 // opacity hexcode $43000000 nop nop print "Seal 1" nop nop // x offset hexcode $42a00000 // y offset hexcode $42c00000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Seal 2" nop nop // x offset hexcode $42a00000 // y offset hexcode $42f00000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Seal 3" nop nop // x offset hexcode $42a00000 // y offset hexcode $43100000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Seal 4" nop nop // x offset hexcode $42a00000 // y offset hexcode $43270000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Terrorist 1" nop nop // x offset hexcode $42a00000 // y offset hexcode $43400000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Terrorist 2" nop nop // x offset hexcode $42a00000 // y offset hexcode $43550000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Terrorist 3" nop nop // x offset hexcode $42a00000 // y offset hexcode $43690000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop print "Terrorist 4" nop nop // x offset hexcode $42a00000 // y offset hexcode $437d0000 // size hexcode $3F600000 //red hexcode $43000000 // blue hexcode $43000000 // green hexcode $43000000 // opacity hexcode $43000000 nop nop // shader stuff hexcode $40000000 hexcode $41F00000 hexcode $43490000 hexcode $41F00000 hexcode $3E2C0000 hexcode $3E2C0000 hexcode $3E340000 hexcode $3F800000 nop hexcode $41000000 hexcode $42300000 hexcode $43410000 hexcode $42500000 hexcode $3D800000 hexcode $3D800000 hexcode $3D83126F hexcode $3F800000 nop hexcode $41000000 hexcode $42300000 hexcode $43400000 hexcode $42600000 hexcode $00000000 hexcode $00000000 hexcode $00000000 hexcode $3F800000 // menu stuff 0009BAC0 // 0: selection index // 4: max selection // 8: timer // c: menu open boolean // 10: shader boolean address $200bad00 addiu sp, sp, $ff90 sd ra, $0060(sp) sq s5, $0050(sp) sq s4, $0040(sp) sq s3, $0030(sp) sq s2, $0020(sp) sq s1, $0010(sp) sq s0, $0000(sp) setreg s0, $0009BAC0 lb s1, $0000(s0) lb s2, $000c(s0) beq s2, zero, :end1 nop lb s3, $0010(s0) beq s3, zero, :skipshader nop setreg s5, $0009BCD4 daddu a0, s5, zero addiu s5, s5, $0008 daddu a1, s5, zero addiu a2, zero, $0236 addiu s5, s5, $0008 daddu a3, s5, zero jal :__printshader nop addiu s5, s5, $0014 daddu a0, s5, zero addiu s5, s5, $0008 daddu a1, s5, zero addiu a2, zero, $0204 addiu s5, s5, $0008 daddu a3, s5, zero jal :__printshader nop addiu s5, s5, $0014 daddu a0, s5, zero addiu s5, s5, $0008 daddu a1, s5, zero addiu a2, zero, $0040 addiu s5, s5, $0008 daddu a3, s5, zero jal :__printshader nop skipshader: // header setreg s4, $0009bae0 addiu s4, s4, $0000 daddu a0, s4, zero lw a1, $0020(s4) lw a2, $0024(s4) lw a3, $0028(s4) lw t0, $002c(s4) lw t1, $0030(s4) lw t2, $0034(s4) lw t3, $0038(s4) daddu t4, s1, zero daddu t5, zero, zero jal :__print nop // seal 1 addiu s4, s4, $0044 daddu a0, s4, zero lw a1, $0010(s4) lw a2, $0014(s4) lw a3, $0018(s4) lw t0, $001c(s4) lw t1, $0020(s4) lw t2, $0024(s4) lw t3, $0028(s4) daddu t4, s1, zero addiu t5, zero, $0001 jal :__print nop // seal 2 addiu s4, s4, $0034 daddu a0, s4, zero lw a1, $0010(s4) lw a2, $0014(s4) lw a3, $0018(s4) lw t0, $001c(s4) lw t1, $0020(s4) lw t2, $0024(s4) lw t3, $0028(s4) daddu t4, s1, zero addiu t5, zero, $0002 jal :__print nop // seal 3 addiu s4, s4, $0034 daddu a0, s4, zero lw a1, $0010(s4) lw a2, $0014(s4) lw a3, $0018(s4) lw t0, $001c(s4) lw t1, $0020(s4) lw t2, $0024(s4) lw t3, $0028(s4) daddu t4, s1, zero addiu t5, zero, $0003 jal :__print nop // seal 4 addiu s4, s4, $0034 daddu a0, s4, zero lw a1, $0010(s4) lw a2, $0014(s4) lw a3, $0018(s4) lw t0, $001c(s4) lw t1, $0020(s4) lw t2, $0024(s4) lw t3, $0028(s4) daddu t4, s1, zero addiu t5, zero, $0004 jal :__print nop // terr 1 addiu s4, s4, $0034 daddu a0, s4, zero lw a1, $0014(s4) lw a2, $0018(s4) lw a3, $001c(s4) lw t0, $0020(s4) lw t1, $0024(s4) lw t2, $0028(s4) lw t3, $002c(s4) daddu t4, s1, zero addiu t5, zero, $0005 jal :__print nop // terr 2 addiu s4, s4, $0038 daddu a0, s4, zero lw a1, $0014(s4) lw a2, $0018(s4) lw a3, $001c(s4) lw t0, $0020(s4) lw t1, $0024(s4) lw t2, $0028(s4) lw t3, $002c(s4) daddu t4, s1, zero addiu t5, zero, $0006 jal :__print nop // terr 3 addiu s4, s4, $0038 daddu a0, s4, zero lw a1, $0014(s4) lw a2, $0018(s4) lw a3, $001c(s4) lw t0, $0020(s4) lw t1, $0024(s4) lw t2, $0028(s4) lw t3, $002c(s4) daddu t4, s1, zero addiu t5, zero, $0007 jal :__print nop // terr 4 addiu s4, s4, $0038 daddu a0, s4, zero lw a1, $0014(s4) lw a2, $0018(s4) lw a3, $001c(s4) lw t0, $0020(s4) lw t1, $0024(s4) lw t2, $0028(s4) lw t3, $002c(s4) daddu t4, s1, zero addiu t5, zero, $0008 jal :__print nop beq zero, zero, :end2 nop end1: addiu v0, zero, $0001 sb v0, $0000(s0) addiu v0, zero, $0008 sb v0, $0004(s0) end2: ld ra, $0060(sp) lq s5, $0050(sp) lq s4, $0040(sp) lq s3, $0030(sp) lq s2, $0020(sp) lq s1, $0010(sp) lq s0, $0000(sp) jr ra addiu sp, sp, $0070 nop __print: addiu sp, sp, $fff0 sd ra, $0010(sp) sq s0, $0000(sp) // text pointer setreg s0, $000B3000 setreg v0, $00406DF0 sw v0, $000c(s0) setreg v0, $3F8000CD sw v0, $0014(s0) sw a0, $001c(s0) addiu v0, zero, $000f sw v0, $0020(s0) addiu v0, zero, $0006 sw v0, $0024(s0) setreg v0, $414ED2E3 sw v0, $0038(s0) setreg v0, $42740000 sw v0, $003c(s0) sw a3, $0040(s0) bne t4, t5, :skip1 nop setreg t0, $42c80000 daddu t1, zero, zero daddu t2, zero, zero skip1: sw t0, $0048(s0) sw t1, $004c(s0) sw t2, $0050(s0) sw t3, $0054(s0) setreg v0, $80800051 sw v0, $005c(s0) setreg v0, $0040d57c lw v0, $0000(v0) sw v0, $0018(s0) setreg v0, $004067B0 sw v0, $0060(s0) addiu v0, zero, $0100 sw v0, $0068(s0) addiu v0, zero, $015E sw v0, $0070(s0) setreg v0, $3f800000 sw v0, $0078(s0) sw a1, $0090(s0) sw a2, $0094(s0) setreg v0, $0000EC60 sw v0, $0098(s0) setreg v0, $00406C10 sw v0, $0100(s0) setreg v0, $00488DF8 lw v0, $0000(v0) sw v0, $0104(s0) addiu a1, s0, $0100 daddu a0, s0, zero jal $003635C0 nop ld ra, $0010(sp) lq s0, $0000(sp) jr ra addiu sp, sp, $0010 nop __printshader: addiu sp, sp, $ff80 sd ra, $0070(sp) sq s2, $0060(sp) sq s1, $0050(sp) sq s0, $0040(sp) ld t1, $0000(a0) sd t1, $0030(sp) ld t1, $0000(a1) sd t1, $0020(sp) daddu s0, zero, zero daddu s1, a2, zero sq a3, $0010(sp) shaderloop: lq a2, $0010(sp) lq a3, $0010(sp) jal $0035FCE0 nop addiu s0, s0, $0001 lwc1 $f0, $0034(sp) lui t0, $3f00 mtc1 t0, $f1 add.s $f0, $f0, $f1 swc1 $f0, $0034(sp) swc1 $f0, $0024(sp) addiu a0, sp, $0030 addiu a1, sp, $0020 bne s0, s1, :shaderloop nop ld ra, $0070(sp) lq s2, $0060(sp) lq s1, $0050(sp) lq s0, $0040(sp) jr ra addiu sp, sp, $0080 nop address $200BB174 addiu sp, sp, $ff80 sd ra, $0080(sp) sq s7, $0070(sp) sq s6, $0060(sp) sq s5, $0050(sp) sq s4, $0040(sp) sq s3, $0030(sp) sq s2, $0020(sp) sq s1, $0010(sp) sq s0, $0000(sp) // menu settings pointer setreg s0, $0009BAC0 // current selection index lb s1, $0000(s0) // max selection index lb s2, $0004(s0) // timer value addiu s3, zero, $000c // load timer offset lb s4, $0008(s0) beq s4, s3, :continue nop addiu s4, s4, $0001 sb s4, $0008(s0) bne s4, s3, :end3 nop continue: setreg s5, $0044F15C lh s6, $0000(s5) addiu v0, zero, $ffff beq s0, v0, :end3 nop //reset timer sb zero, $0008(s0) // open menu L1_Square addiu v0, zero, $7bff beq s6, v0, :openmenu nop lb s7, $000c(s0) beq s7, zero, :end3 nop // close menu circle addiu v0, zero, $dfff beq s6, v0, :closemenu nop lb s7, $000c(s0) beq s7, zero, :end3 nop openmenu: setreg t9, $00415ff0 lw t9, $0000(t9) lw t9, $00bc(t9) lw t9, $00c0(t9) lb s7, $000c(s0) bne s7, zero, :skip2 nop addiu v1, zero, $0001 sb v1, $000c(s0) addiu v1, zero, $0003 sb v1, $0221(t9) beq zero, zero, :skip2 nop closemenu: setreg t9, $00415ff0 lw t9, $0000(t9) lw t9, $00bc(t9) lw t9, $00c0(t9) sb zero, $000c(s0) sb zero, $0221(t9) beq zero, zero, :skip2 nop skip2: // scroll up addiu v0, zero, $ffbf bne s6, v0, :skip3 nop beq s1, s2, :reset nop addiu s1, s1, $0001 beq zero, zero, :fnc nop reset: addiu s1, zero, $0001 beq zero, zero, :fnc nop // scroll down skip3: addiu v0, zero, $ffef bne s6, v0, :fnc nop addiu s1, s1, $ffff bne s1, zero, :fnc nop daddu s1, s2, zero fnc: sw s1, $0000(s0) lb s1, $0000(s0) lb s7, $000c(s0) beq s7, zero, :end3 nop // seal 1 addiu v1, zero, $0001 beq s1, v1, :fnc2 nop addiu v1, zero, $0002 beq s1, v1, :fnc2 nop addiu v1, zero, $0003 beq s1, v1, :fnc2 nop addiu v1, zero, $0004 beq s1, v1, :fnc2 nop addiu v1, zero, $0005 beq s1, v1, :fnc2 nop addiu v1, zero, $0006 beq s1, v1, :fnc2 nop addiu v1, zero, $0007 beq s1, v1, :fnc2 nop addiu v1, zero, $0008 beq s1, v1, :fnc2 nop fnc2: addiu v0, zero, $bfff beq s6, v0, :fnc3 nop beq zero, zero, :end3 nop fnc3: daddu a0, v1, zero jal :__swap nop end3: ld ra, $0080(sp) lq s7, $0070(sp) lq s6, $0060(sp) lq s5, $0050(sp) lq s4, $0040(sp) lq s3, $0030(sp) lq s2, $0020(sp) lq s1, $0010(sp) lq s0, $0000(sp) jr ra addiu sp, sp, $0080 nop __swap: addiu sp, sp, $ffb0 sd ra, $0050(sp) sq s4. $0040(sp) sq s3, $0030(sp) sq s2, $0020(sp) sq s1, $0010(sp) sq s0, $0000(sp) daddu s0, a0, zero beq s0, zero, :end4 nop addiu s0, s0, $0030 setreg s1, $0009BD50 lb s2, $fffc(s1) beq s2, zero, :printui nop beq zero, zero, :fnc4 nop printui: setreg t0, $68436955 setreg t1, $79547261 setreg t2, $00316570 sw t0, $0000(s1) sw t1, $0004(s1) sw t2, $0008(s1) addiu v0, zero, $0001 sb v0, $fffc(s1) sb s0, $000a(s1) swap1: jal $0053e170 daddu a0, s1, zero daddu s3, v0, zero jal $002B3580 nop daddu s4, v0, zero sw s3, $0540(s4) addiu v1, zero, $0001 sb v1, $0fcf(s4) beq zero, zero, :end4 nop fnc4: sb s0, $000a(s1) beq zero, zero, :swap1 nop end4: ld ra, $0050(sp) lq s3, $0040(sp) lq s2, $0030(sp) lq s1, $0020(sp) lq s0, $0010(sp) jr ra addiu sp, sp, $0050
Comment