Race Count Modifier [JoshuaMK]
#1
Race Count Modifier [JoshuaMK]

This makes every amount of races from 1 -> 32 be selectable in the VS Mode settings. If you know your ASM well, you can edit this to allow all sorts of selections to be available.



(NTSC-U)
C28334F8 0000000B
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400F87E 7C03022E
60000000 00000000
C2858474 0000000D
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400083C 7C03022E
3C60809C 8063D508
80630098 90030064
60000000 00000000
04832F70 38800020
04858478 480000F0

(PAL)
C2853A40 0000000B
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400F87E 7C03022E
60000000 00000000
C28528EC 0000000D
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400083C 7C03022E
3C60809C 80631E38
80630098 90030064
60000000 00000000
048534B8 38800020
048528F0 480000F0

(NTSC-J)
C28530AC 0000000B
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400F87E 7C03022E
60000000 00000000
C2851F58 0000000D
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400083C 7C03022E
3C60809C 80630E98
80630098 90030064
60000000 00000000
04852B24 38800020
04851F5C 480000F0

(NTSC-K)
C2841E00 0000000B
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400F87E 7C03022E
60000000 00000000
C2840CAC 0000000D
48000045 00010002
00030004 00050006
00070008 0009000A
000B000C 000D000E
000F0010 00110012
00130014 00150016
00170018 0019001A
001B001C 001D001E
001F0020 7C6802A6
5400083C 7C03022E
3C60809B 80630478
80630098 90030064
60000000 00000000
04841878 38800020
04840CB0 480000F0



#~~~~~~~~#
#SOURCE ASM#
#~~~~~~~~#

#808334F8 BMG#

bl getArray

#Add array of halfword track amounts here

getArray:
mflr r3
srwi r0, r0, 1
lhzx r0, r3, r0

#80858474 REAL COUNT#

.set region, ''

.if    (region == 'E' || region == 'e') # RMCE
        .set UPPER, 0x809C
        .set OFFSET, -0x2AF8
.elseif (region == 'P' || region == 'p') # RMCP
        .set UPPER, 0x809C
        .set OFFSET, 0x1E38
.elseif (region == 'J' || region == 'j') # RMCJ
        .set UPPER, 0x809C
        .set OFFSET, 0x0E98
.elseif (region == 'K' || region == 'k') # RMCK
        .set UPPER, 0x809B
        .set OFFSET, 0x0478
.else # Invalid Region
        .abort
.endif

bl getArray

#Add array of halfword track amounts here

getArray:
mflr r3
slwi r0, r0, 1
subi r0, r0, 2
lhzx r0, r3, r0
lis r3, UPPER
lwz r3, OFFSET (r3)
lwz r3, 0x98 (r3)
stw r0, 0x64 (r3)

#80841878 AMOUNT OF SLOTS#

li r4, 0x20



Code Creator: JoshuaMK
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply
#2
wow nice code Big Grin
Reply
#3
Thank you. I suspect people may like this code for CT Distributions, especially those who know ASM enough to edit the array/selection count to their liking.
Super Mario Eclipse, what Super Mario Sunshine could've been.
Reply
#4
Cool Code. I just have a problem that after about 102 Races the points are getting reseted. Is it possible to fix that issue ?
Reply
#5
Thanks for making this code! I got some help from Toadette Hack Fan who expanded the code while using yours as a base, both your and the expanded code work flawlessly! Interestingly, setting one of the options to "0" makes it possible to actually play an endless amount of races. Of course the intro camera screen will still show "Race # of 0" which is silly, that should be updated at some point... Tongue 

Speaking of endless races, what Luigi Hack Fan says is true, for whatever reason the total amount of points gets reset after so many races in a row. However, this is not the case if you play so many races in a friend room. Is this an issue that happens in the code or is it actually a programming error from Nintendo's end?? Knowing how well-developed this game is, I wouldn't be surprised if it's the latter... Dodgy
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)