The following warnings occurred:
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(287) : eval()'d code PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/printthread.php(287) : eval()'d code 2 errorHandler->error_callback
/printthread.php 287 eval
/printthread.php 117 printthread_multipage



Mario Kart Wii Gecko Codes, Cheats, & Hacks
CPU bot[Dea] - Printable Version

+- Mario Kart Wii Gecko Codes, Cheats, & Hacks (https://mariokartwii.com)
+-- Forum: Cheat Codes (https://mariokartwii.com/forumdisplay.php?fid=51)
+--- Forum: Offline Non-Item (https://mariokartwii.com/forumdisplay.php?fid=53)
+--- Thread: CPU bot[Dea] (/showthread.php?tid=1893)

Pages: 1 2


CPU bot[Dea] - Dea00 - 09-15-2021

CPU bot[Dea]

Works every game mode but offline only.

NTSC-J
C252EEB8 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C27258DC 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

NTSC-U
C252A9F0 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C2721E40 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

PAL(untested)
C252F538 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C2726270 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

NTSC-K(untested)
C251D590 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C2714618 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

Reference https://youtu.be/PuNHqc29_u4


RE: CPU bot[Dea] - Yuri Bacon - 09-16-2021

Loaded up wstrt and threw in the addresses and quickly tested NTSC-U, and it worked. wstrt port is awesome (and I'm a noob lol)

Code:
#───────────────────────────────────────────────────────────────────────────────
#    PAL        USA        JAP        KOR     where  status
#───────────────────────────────────────────────────────────────────────────────
0x8052f538 0x8052a9f0 0x8052eeb8 0x8051d590  REL1   0: verified
0x80726270 0x80721e40 0x807258dc 0x80714618  REL1   0: verified
#───────────────────────────────────────────────────────────────────────────────

NTSC-U
C252A9F0 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C2721E40 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

PAL
C252F538 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C2726270 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

KOR
C251D590 00000003
801E0018 2C000000
40820008 38000001
60000000 00000000
C2714618 00000003
80630038 2C030000
40820008 38600001
60000000 00000000

I confirmed NTSC-U working, but not PAL or KOR. Awesome code by the way, better than MarioBOT, it acts just like the CPUs (mostly, my test run it got stuck on the water at the very end of Koopa Cape >.>), including drifts and item usage.


RE: CPU bot[Dea] - Vega - 09-16-2021

Considering this code only requires a hook address port, and it's now ported, I went ahead and moved the thread out of incomplete/outdated to Offline: Non Item.


RE: CPU bot[Dea] - AGES - 07-09-2022

Could it be possible to make variants of this code to affect just a certain player? As if you'd be playing in splitscreen mode but you're just 1 and still want to see a 2-4 player perspective


RE: CPU bot[Dea] - emeraldvixen - 06-02-2024

(07-09-2022, 10:56 PM)AGES Wrote: Could it be possible to make variants of this code to affect just a certain player? As if you'd be playing in splitscreen mode but you're just 1 and still want to see a 2-4 player perspective

Bumping this. I'd love to race against my Miis in 4 player mode.


RE: CPU bot[Dea] - Vega - 06-03-2024

Frankenstein'd this up really quick, try this out. untested. In PAL, too lazy to port.

X = slot that code effects, make sure both X values match

PAL
C252F538 00000004
2C1A000X 801E0018
40A20010 2C000000
40820008 38000001
60000000 00000000
C272625C 00000002
5460063E 5464063E
60000000 00000000
C272627C 00000003
2C04000X 5403D97E
40A20008 38600001
60000000 00000000


Code:
#PAL

#8052F538
#r26 always = slot
cmpwi r26, 0
lwz r0, 0x0018 (r30) #OG instruction, 0 = Human? 1 = CPU? 3 = idk?
bne+ end
cmpwi r0, 0 #Just incase r0 is 3, we don't wanna change 3 to 1 for w/e reason???
bne- end
li r0, 1 #Force to CPU?
end:

=============

#8072625C
#Original Instruction
#Slot in r3, extract byte and place in r0
rlwinm r0, r3, 0, 24, 31

#Also Save Slot in r4 (safe, preserved til next ASM code)
rlwinm r4, r3, 0, 24, 31

=============

#8072627C
#Appears that r3 is suppose to return some sort of bool? Idk
#Check slot (r4)
cmpwi r4, 0
rlwinm r3, r0, 27, 5, 31
bne+ 0x8
li r3, 1 #When slot is met, force return of True



RE: CPU bot[Dea] - emeraldvixen - 06-03-2024

(06-03-2024, 02:28 AM)Vega Wrote: Frankenstein'd this up really quick, try this out. untested. In PAL, too lazy to port.

X = slot that code effects, make sure both X values match

PAL
C252F538 00000004
2C1A000X 801E0018
40A20010 2C000000
40820008 38000001
60000000 00000000
C272625C 00000002
5460063E 5464063E
60000000 00000000
C272625C 00000002
2C04000X 41820008
5403D97E 00000000

Code:
#PAL

#8052F538
#r26 always = slot
cmpwi r26, 0
lwz r0, 0x0018 (r30) #OG instruction, 0 = Human? 1 = CPU? 3 = idk?
bne+ end
cmpwi r0, 0 #Just incase r0 is 3, we don't wanna change 3 to 1 for w/e reason???
bne- end
li r0, 1 #Force to CPU?
end:

=============

#8072625C
#Original Instruction
#Slot in r3, extract byte and place in r0
rlwinm r0, r3, 0, 24, 31

#Also Save Slot in r4 (safe, preserved til next ASM code)
rlwinm r4, r3, 0, 24, 31

=============

#8072627C
#Appears that r3 is suppose to return some sort of bool? Idk
#Check slot (r4)
cmpwi r4, 0
beq- 0x8 #if eq, go to end

#Original instruction, why mask bits 5 thru 31?
rlwinm r3, r0, 27, 5, 31

I don't have the PAL version of the game, how would I go about getting it / porting this code to NTSC-U? Sorry for the inconvenience.


RE: CPU bot[Dea] - emeraldvixen - 06-03-2024

(06-03-2024, 02:55 AM)emeraldvixen Wrote:
(06-03-2024, 02:28 AM)Vega Wrote: Frankenstein'd this up really quick, try this out. untested. In PAL, too lazy to port.

X = slot that code effects, make sure both X values match

PAL
C252F538 00000004
2C1A000X 801E0018
40A20010 2C000000
40820008 38000001
60000000 00000000
C272625C 00000002
5460063E 5464063E
60000000 00000000
C272625C 00000002
2C04000X 41820008
5403D97E 00000000

Code:
#PAL

#8052F538
#r26 always = slot
cmpwi r26, 0
lwz r0, 0x0018 (r30) #OG instruction, 0 = Human? 1 = CPU? 3 = idk?
bne+ end
cmpwi r0, 0 #Just incase r0 is 3, we don't wanna change 3 to 1 for w/e reason???
bne- end
li r0, 1 #Force to CPU?
end:

=============

#8072625C
#Original Instruction
#Slot in r3, extract byte and place in r0
rlwinm r0, r3, 0, 24, 31

#Also Save Slot in r4 (safe, preserved til next ASM code)
rlwinm r4, r3, 0, 24, 31

=============

#8072627C
#Appears that r3 is suppose to return some sort of bool? Idk
#Check slot (r4)
cmpwi r4, 0
beq- 0x8 #if eq, go to end

#Original instruction, why mask bits 5 thru 31?
rlwinm r3, r0, 27, 5, 31

I don't have the PAL version of the game, how would I go about getting it / porting this code to NTSC-U? Sorry for the inconvenience.

Nevermind. I was able to get the PAL version. I tried the code and got some errors, I took a screenshot of the first one.    

After a few, I hit "ignore" and when the race started it didn't work (I set both X values to 2, so that should mean Player 2 gets set to a CPU, right?)

For further information I tested with CPUs off in a 2 player VS match. Don't know if that effects anything.

Thanks for your help so far, it's greatly appreciated


RE: CPU bot[Dea] - AGES - 06-03-2024

(06-03-2024, 02:55 AM)emeraldvixen Wrote:
(06-03-2024, 02:28 AM)Vega Wrote: Frankenstein'd this up really quick, try this out. untested. In PAL, too lazy to port.

X = slot that code effects, make sure both X values match

PAL
C252F538 00000004
2C1A000X 801E0018
40A20010 2C000000
40820008 38000001
60000000 00000000
C272625C 00000002
5460063E 5464063E
60000000 00000000
C272625C 00000002
2C04000X 41820008
5403D97E 00000000

Code:
#PAL

#8052F538
#r26 always = slot
cmpwi r26, 0
lwz r0, 0x0018 (r30) #OG instruction, 0 = Human? 1 = CPU? 3 = idk?
bne+ end
cmpwi r0, 0 #Just incase r0 is 3, we don't wanna change 3 to 1 for w/e reason???
bne- end
li r0, 1 #Force to CPU?
end:

=============

#8072625C
#Original Instruction
#Slot in r3, extract byte and place in r0
rlwinm r0, r3, 0, 24, 31

#Also Save Slot in r4 (safe, preserved til next ASM code)
rlwinm r4, r3, 0, 24, 31

=============

#8072627C
#Appears that r3 is suppose to return some sort of bool? Idk
#Check slot (r4)
cmpwi r4, 0
beq- 0x8 #if eq, go to end

#Original instruction, why mask bits 5 thru 31?
rlwinm r3, r0, 27, 5, 31

I don't have the PAL version of the game, how would I go about getting it / porting this code to NTSC-U? Sorry for the inconvenience.

I was also wondering for an NTSC version


RE: CPU bot[Dea] - Vega - 06-03-2024

Apologies. I've made two silly mistakes with the code. Regarding slots....

Slot 0 = P1
Slot 1 = P2/CPU1
Slot 2 = P3/CPU2
.. ..
Slot B = Final CPU

X = slot that code effects, make sure both X values match

PAL
C252F538 00000004
2C1A000X 801E0018
40A20010 2C000000
40820008 38000001
60000000 00000000
C272625C 00000002
5460063E 5464063E
60000000 00000000
C272627C 00000003
2C04000X 5403D97E
40A20008 38600001
60000000 00000000

Here's NTSC-U
C252A9F0 00000004
2C1A000X 801E0018
40A20010 2C000000
40820008 38000001
60000000 00000000
C2721E2C 00000002
5460063E 5464063E
60000000 00000000
C2721E4C 00000003
2C04000X 5403D97E
40A20008 38600001
60000000 00000000