Welcome, Guest |
You have to register before you can post on our site.
|
Online Users |
There are currently 85 online users. » 0 Member(s) | 83 Guest(s) Bing, Google
|
Latest Threads |
Miniturbos and Inside Dri...
Forum: Coding & Hacking General Discussion
Last Post: JerryHatrick
8 hours ago
» Replies: 1
» Views: 842
|
Thunder Cloud Effect Modi...
Forum: Offline; Item
Last Post: JerryHatrick
8 hours ago
» Replies: 10
» Views: 1,015
|
Make it to 10,000
Forum: General Discussion
Last Post: Vega
Today, 03:59 AM
» Replies: 7,336
» Views: 5,666,198
|
Code request???
Forum: Code Support / Help / Requests
Last Post: DrTap
Yesterday, 06:06 PM
» Replies: 3
» Views: 4,930
|
CPUs/Online Players Have ...
Forum: Visual & Sound Effects
Last Post: Zeraora
Yesterday, 02:26 AM
» Replies: 2
» Views: 495
|
Offline Hide and Seek
Forum: Code Support / Help / Requests
Last Post: FelX
01-08-2025, 03:43 PM
» Replies: 11
» Views: 718
|
Show Nametags During Coun...
Forum: Visual & Sound Effects
Last Post: _Ro
01-08-2025, 07:48 AM
» Replies: 1
» Views: 662
|
Item Reset Code with Time...
Forum: Code Support / Help / Requests
Last Post: WaluigiisFluffy
01-07-2025, 11:20 PM
» Replies: 6
» Views: 233
|
Racer Count Modifier
Forum: Offline Non-Item
Last Post: Vega
01-07-2025, 06:30 PM
» Replies: 1
» Views: 120
|
Motion Sensor Bomb (Hamst...
Forum: Incomplete & Outdated Codes
Last Post: Vega
01-07-2025, 06:29 PM
» Replies: 1
» Views: 86
|
|
|
Auto Use Dodge Item When Shocked -Online- [Unnamed] |
Posted by: Unnamed - 07-17-2023, 10:46 AM - Forum: Online; Item
- Replies (2)
|
|
Auto Use Dodge Item When Shocked -Online- [Unnamed]
Online only.
I wanted to see how to improve Vegas Auto Attempt code and this is the outcome. Unlike his code, this code directly hooks the address that calls the shock damage on your console when another slot (not you) fires the shock and is only called once. This is the reason why the code should be completely independent of the NATNEG between clients.
Basically, the code works by delaying the shock damage (a few frames) on your console so that there is enough time to use our dodge item.
In addition to checking if you have a dodge item, this code also checks, unlike Vegas code, if you are already in star or mega state and does NOT fire a dodge item if that is the case. However, also for any moments where you normally can't use an item (i.e. during exit of cannon, spinning from getting hit by an item, etc), the code won't work.
NOTE: This code makes use of memory addresses 0x81670008 thru 0x81670009. Make sure no other codes in your GCT/Cheat-Manager are using those addresses!
NTSC-U
C278DD50 00000003
3F408167 987A0009
3B800005 9B9A0008
60000000 00000000
C2531134 00000008
901D0048 3FC08167
8BFE0008 2C1F0000
41A2000C 3BFFFFFF
9BFE0008 8BFE0008
2C1F0002 40A20018
887E0009 3FC0807A
63DE91C0 7FC803A6
4E800021 00000000
C251CE8C 0000000F
3D608167 898B0008
2C0C0004 40A20060
3D80809C 816CEE20
818C8F68 898C0B84
816B0014 1D8C0248
7D8C5A14 816C008C
2C0B0009 41820014
2C0B000B 4182000C
2C0B000F 40A20028
816C0000 816B0004
818B000C 558C0420
816B0008 556B0000
7D6B6215 40820008
60000004 B01E002C
60000000 00000000
PAL
C2796D5C 00000003
3F408167 987A0009
3B800005 9B9A0008
60000000 00000000
C2535C7C 00000008
901D0048 3FC08167
8BFE0008 2C1F0000
41A2000C 3BFFFFFF
9BFE0008 8BFE0008
2C1F0002 40A20018
887E0009 3FC0807B
63DE7C20 7FC803A6
4E800021 00000000
C2521300 0000000F
3D608167 898B0008
2C0C0004 40A20060
3D80809C 816C3618
818CD728 898C0B84
816B0014 1D8C0248
7D8C5A14 816C008C
2C0B0009 41820014
2C0B000B 4182000C
2C0B000F 40A20028
816C0000 816B0004
818B000C 558C0420
816B0008 556B0000
7D6B6215 40820008
60000004 B01E002C
60000000 00000000
NTSC-J
C27963C8 00000003
3F408167 987A0009
3B800005 9B9A0008
60000000 00000000
C25355FC 00000008
901D0048 3FC08167
8BFE0008 2C1F0000
41A2000C 3BFFFFFF
9BFE0008 8BFE0008
2C1F0002 40A20018
887E0009 3FC0807B
63DE728C 7FC803A6
4E800021 00000000
C2520C80 0000000F
3D608167 898B0008
2C0C0004 40A20060
3D80809C 816C2678
818CC788 898C0B84
816B0014 1D8C0248
7D8C5A14 816C008C
2C0B0009 41820014
2C0B000B 4182000C
2C0B000F 40A20028
816C0000 816B0004
818B000C 558C0420
816B0008 556B0000
7D6B6215 40820008
60000004 B01E002C
60000000 00000000
NTSC-K
C278511C 00000003
3F408167 987A0009
3B800005 9B9A0008
60000000 00000000
C2523CD4 00000008
901D0048 3FC08167
8BFE0008 2C1F0000
41A2000C 3BFFFFFF
9BFE0008 8BFE0008
2C1F0002 40A20018
887E0009 3FC0807A
63DE5FE0 7FC803A6
4E800021 00000000
C250F324 0000000F
3D608167 898B0008
2C0C0004 40A20060
3D80809B 816C1C58
818CBD68 898C0B84
816B0014 1D8C0248
7D8C5A14 816C008C
2C0B0009 41820014
2C0B000B 4182000C
2C0B000F 40A20028
816C0000 816B0004
818B000C 558C0420
816B0008 556B0000
7D6B6215 40820008
60000004 B01E002C
60000000 00000000
Source:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#######################################################
############## Shock event call #######################
#######################################################
#######################################################
## Inject at ##########################################
## NTSC-U 0x8078DD50 ###
## PAL 0x80796D5C ###
## NTSC-J 0x807963C8 ###
## NTSC-K 0x8078511C ###
#######################################################################################
## This adress normally calls the "Force Shock damage" on your console if another slot fired a shock. Therefore, it will only get called once, and should not get affected by NATNEG.
## To make the code work, we will overwrite the call and will store a frame counter to memory to let another adress call the event if a certain number is reached. That way, we delay the shock a few frames and can use our item.
## Again I repeat: The adress is ONLY called if another Slot fired the shock, it will not get called if you fire it.
#######################################################################################
lis r26, 0x8167 # r26, r28 and r29 are safe for use
stb r3, 0x0009 (r26) # r3 holds the player slot that used the shock, store it to memory
li r28, 5 # prepare frame counter
stb r28, 0x0008 (r26) # store frame counter
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#############################################################################
############### frame counter and apply shock damage ########################
#############################################################################
#######################################################
## Inject at ##########################################
## NTSC-U 0x80531134 ###
## PAL 0x80535C7C ###
## NTSC-J 0x805355FC ###
## NTSC-K 0x80523CD4 ###
###########################################
#### Shock Damage Adress ####
# 807A91C0 # NTSC-U
# 807B7C20 # PAL
# 807B728C # NTSC-J
# 807A5FE0 # NTSC-K
#######################################################################################
## To apply the shock damage, the frame counter gets lowered every frame when shock event was triggered. And if it reaches a certain number (2), we will call the shock damage.
## In Addition, if the frame counter is equal to 4 (two frames earlier than 2), we will use our dodge item (3rd ASM).
#######################################################################################
stw r0, 0x48(r29) # default instruction
####################################################
### Lowering the frame counter if it is not 0 ######
####################################################
lis r30, 0x8167
lbz r31, 0x0008(r30) # Load the frame counter
cmpwi r31, 0
beq+ skip_lowering # If 0, do not lower the counter
addi r31, r31, -1 # If not 0, lower the counter, it will lowered every frame til it hits 0 again
stb r31, 0x0008(r30) # store lowered frame counter
skip_lowering:
#####################################################
## Check if we need to apply shock damage ###
#####################################################
lbz r31, 0x0008(r30) # load the frame counter
cmpwi r31, 2
bne+ skip_shocked # if it is not 2 (two frames after we fired our item), skip the code
lbz r3, 0x0009(r30) # load the player slot that used the shock
lis r30, ShockDamageUpper
ori r30, r30, ShockDamageLower
mtlr r30
blrl # apply shock damage
skip_shocked:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#############################################################################
######################## Item Usage hook ###################################
#############################################################################
#######################################################
## Inject at ##########################################
## NTSC-U 0x8051CE8C ###
## PAL 0x80521300 ###
## NTSC-J 0x80520C80 ###
## NTSC-K 0x8050F324 ###
###########################################
#### Pointers ####
## PlayerHolder ##
# 809BEE20 # NTSC-U
# 809C3618 # PAL
# 809C2678 # NTSC-J
# 809B1C58 # NTSC-K
## RaceData ##
# 809B8F68 # NTSC-U
# 809BD728 # PAL
# 809BC788 # NTSC-J
# 809ABD68 # NTSC-K
#######################################################################################
## If the frame counter will equal 4, 2 frames before the shock damage is called, we will check if a dodge item is hold and if we are not in Mega or Star state.
## If so, the code will flip the Item usage bit and it will fire 2 frames before the shock damage is applied.
#######################################################################################
lis r11, 0x8167
lbz r12, 0x0008 (r11) # load the frame counter
cmpwi r12, 4
bne+ default # if it is 4 (two frames before we call the shock damage), we want to fire our dodge item if we have one and are not in star or mega state.
lis r12, PlayerHolderUpper
lwz r11, PlayerHolderLower (r12) # PlayerHolder Pointer
lwz r12, RaceDataLower (r12) # RaceData Pointer
lbz r12, 0x0B84 (r12) # Player Slot Byte
lwz r11, 0x0014 (r11)
mulli r12, r12, 0x248
add r12, r12, r11
lwz r11, 0x008C (r12) # Item of local Player
cmpwi r11, 0x9
beq- state_check # If Star, go to state check
cmpwi r11, 0xB
beq- state_check # If Mega, go to state check
cmpwi r11, 0xF
bne+ default # If NOT Bullet, we have no dodge Item, skip code
state_check:
lwz r11, 0 (r12)
lwz r11, 0x4 (r11)
lwz r12, 0xC (r11) # Load second state word of local player
rlwinm r12, r12, 0, 16, 16 # Bit 16 helds Mega state, mask all other bits out
lwz r11, 0x8 (r11) # Load first state word of local player
rlwinm r11, r11, 0, 0, 0 # Bit 0 helds Star state, mask all other bits out
add. r11, r11, r12 # add the states and compare to 0
bne- default # if not both are 0 (no state), skip the code
go:
ori r0, r0, 0x4 # Flip the Item Usage Bit!
default:
sth r0, 0x002C (r30) # Store item Input to memory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Code Creator: Unnamed
Code Credits: 1superchip (Force Shock Damage), Seeky (Item Usage Adress)
|
|
|
TC Given Slot Modifier & Randomizer [Vega] |
Posted by: Vega - 07-06-2023, 07:04 PM - Forum: Offline; Item
- No Replies
|
|
TC Given Slot Modifier & Randomizer [Vega]
For offline use only.
This code will allow you to modify who gets the TC whenever it gets passed. Therefore you can choose a slot to get the TC even if said slot wasn't participating in the pass of said TC. There are two configs of the code. 1st config is to simply set a custom slot to always get the TC. 2nd config generates the slot value randomly so you will never know who gets the TC.
X = Slot
0 = P1
1 = P2/CPU1
2 = P3/CPU2
.. ..
B = Final CPU
1st config:
NTSC-U
047D8BC4 3BC0000X
PAL
047B1120 3BC0000X
NTSC-J
047B07DC 3BC0000X
NTSC-K
0479F530 3BC0000X
2nd config:
NTSC-U
C0000000 00000004
3D808000 896C1500
396B0001 280B000C
41A00008 39600000
996C1500 4E800020
C27D8BC4 00000002
3FC08000 8BDE1500
60000000 00000000
PAL
C0000000 00000004
3D808000 896C1500
396B0001 280B000C
41A00008 39600000
996C1500 4E800020
C27B1120 00000002
3FC08000 8BDE1500
60000000 00000000
NTSC-J
C0000000 00000004
3D808000 896C1500
396B0001 280B000C
41A00008 39600000
996C1500 4E800020
C27B07DC 00000002
3FC08000 8BDE1500
60000000 00000000
NTSC-K
C0000000 00000004
3D808000 896C1500
396B0001 280B000C
41A00008 39600000
996C1500 4E800020
C279F530 00000002
3FC08000 8BDE1500
60000000 00000000
Code creator: Vega
Code credits: Bully (Can't Pass TCs)
1st Config "Source":
mr r30, r4 changed to li r4, 0xX.
2nd Config Sources
#C0 "Randomizer" Source
lis r12, 0x8000
lbz r11, 0x1500 (r12)
addi r11, r11, 1
cmplwi r11, 0xC
blt+ 0x8
li r11, 0
stb r11, 0x1500 (r12)
#C2 Source
#NTSC-U 807D8BC4
#PAL 807B1120
#NTSC-J 807B07DC
#NTSC-K 8079F530
#Load up item from EVA
lis r30, 0x8000
lbz r30, 0x1500 (r30)
|
|
|
Force Random Item From Item Box [Vega] |
Posted by: Vega - 07-06-2023, 07:02 PM - Forum: Offline; Item
- No Replies
|
|
Force Random Item From Item Box [Vega]
This is like Star's version but its based off my own Force Next Item Code instead of Guru's Shared Item Code. Hence why the term "Force" is added to the Code Name. This code is meant for Offline use as all item rules are allowed to be broken (ex: Get Shock when someone is already holding Shock). Due to these rules not being followed, this code is technically "more Random" than other Random Item Codes.
NTSC-U
C0000000 00000004
3D808000 896C1500
396B0001 280B0013
41A00008 39600000
996C1500 4E800020
C278EFE4 00000002
3F808000 8B9C1500
60000000 00000000
PAL
C0000000 00000004
3D808000 896C1500
396B0001 280B0013
41A00008 39600000
996C1500 4E800020
C2797FF0 00000002
3F808000 8B9C1500
60000000 00000000
NTSC-J
C0000000 00000004
3D808000 896C1500
396B0001 280B0013
41A00008 39600000
996C1500 4E800020
C279765C 00000002
3F808000 8B9C1500
60000000 00000000
NTSC-K
C0000000 00000004
3D808000 896C1500
396B0001 280B0013
41A00008 39600000
996C1500 4E800020
C27863B0 00000002
3F808000 8B9C1500
60000000 00000000
#C0 "Randomizer" Source
lis r12, 0x8000
lbz r11, 0x1500 (r12)
addi r11, r11, 1
cmplwi r11, 0x13
blt+ 0x8
li r11, 0
stb r11, 0x1500 (r12)
#C2 Source
#NTSC-U 8078EFE4
#PAL 80797FF0
#NTSC-J 8079765C
#NTSC-K 807863B0
#Load up item from EVA
lis r28, 0x8000
lbz r28, 0x1500 (r28)
Code creator: Vega
|
|
|
Replace Mushroom When No Item Available; Offline Only |
Posted by: Vega - 06-30-2023, 05:41 PM - Forum: Offline; Item
- No Replies
|
|
Offline only. Pretty sure Star has already made this, waiting on a response.
NTSC-U
047AB734 380000XX
PAL
047BA194 380000XX
NTSC-J
047B9800 380000XX
NTSC-K
047A8554 380000XX
XX values:
00 = Green Shell
01 = Red Shell
02 = Banana
03 = Fake Item Box
04 = Mushroom
05 = Triple Mushrooms
06 = Bob-omb
07 = Blue Shell
08 = Lightning
09 = Star
0A = Golden Mushroom
0B = Mega Mushroom
0C = Blooper
0D = POW Block
0E = Thunder Cloud
0F = Bullet Bill
10 = Triple Green Shells
11 = Triple Red Shells
12 = Triple Bananas
|
|
|
Fix Offroad Glitch [vabold] |
Posted by: vabold - 06-28-2023, 04:27 AM - Forum: Misc/Other
- Replies (1)
|
|
The game assigns a fixed speed flag to jump pad variants 3 and 4 (MG ramp and MG mushroom) and sets a trigger flag for MG mushrooms specifically. When the jump pad state ends, the game only unsets the fixed speed flag if the mushroom trigger flag is set. If it's not, this leads to the offroad glitch. This solution generically unsets the flag when the jump pad state ends.
PAL
C258267C 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-U
C257BE18 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-J
C2581FFC 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
NTSC-K
C25706D4 00000003
90030004 8003000C
54000314 9003000C
60000000 00000000
Code: # 8058267C - RMCP
# 8057BE18 - RMCE
# 80581FFC - RMCJ
# 805706D4 - RMCK
stw r0,0x4(r3) # original instruction
lwz r0,0xc(r3)
rlwinm r0,r0,0,0xc,0xa
stw r0,0xc(r3)
|
|
|
Dropped Item direction modifier [Unnamed] |
Posted by: Unnamed - 06-26-2023, 10:01 AM - Forum: Online; Item
- No Replies
|
|
Dropped Item direction modifier [Unnamed]
With this code, you can choose the direction (angle) your Item (in inventory) will drop if losing it. If you have more than 1 Item in your inventory, it will at least 1 Item drop towards your set direction.
Values:
XXXXXXXX = Floating Point value of angle. See explanation below.
NTSC-U
C27AD978 00000005
3C804336 60840B60
90830000 C0430000
3C80XXXX 6084XXXX
90830000 C0030000
EC220072 00000000
PAL
C27BC3D8 00000005
3C804336 60840B60
90830000 C0430000
3C80XXXX 6084XXXX
90830000 C0030000
EC220072 00000000
NTSC-J
C27BBA44 00000005
3C804336 60840B60
90830000 C0430000
3C80XXXX 6084XXXX
90830000 C0030000
EC220072 00000000
NTSC-K
C27AA798 00000005
3C804336 60840B60
90830000 C0430000
3C80XXXX 6084XXXX
90830000 C0030000
EC220072 00000000
Explanation: The allowed values for XXXXXXXX are 0 degrees to 360 degrees single float, where 0 degrees means forward and increasing values mean a change in mathematically positive direction (counterclockwise).
I provide an example:
270 degrees (right) --> XXXXXXXX = 43870000
Source:
###################################### Dropped Item direction Function #########################################
### Insert at: ###
### 0x807AD978 - NTSC-U ###
### 0x807BC3D8 - PAL ###
### 0x807BBA44 - NTSC-J ###
### 0x807AA798 - NTSC-K ###
## lis r4, 0x4336 ## load upper part of 0x43360B60 into r4 (r4 will be overwritten two instructions ahead the Insert ASM adress)
## ori r4, r4, 0x0B60 ## load lower part 0x43360B60 into r4, 0x43360B60 is the number 65536/360 = 184.4444 in single precision (we need this value for scaling)
## stw r4, 0 (r3)
## lfs f2, 0 (r3) ## load scale factor, f2 is overwritten a few instructions further on.
## lis r4, XXXX ## load upper part of the angle float into r4
## ori r4, r4, XXXX ## load lower part of the angle float into r4
## stw r4, 0 (r3)
## lfs f1, 0 (r3) ## load the angle as single float.
## fmuls f1, f2, f1 ## apply scaling, angle is now ready for the sine/cosine function.
########################################################################################################################
Code Creator: Unnamed
Code Credits: Fishguy (Drop Item Subroutine)
|
|
|
Allow Triple Nanas/Shells when trailing Triple Nanas/Shells [Unnamed] |
Posted by: Unnamed - 06-26-2023, 09:53 AM - Forum: Offline; Item
- No Replies
|
|
Allow Triple Nanas/Shells when trailing Triple Nanas/Shells [Unnamed]
Normally you cannot get Triple Nanas/Shells while you are trailing Triple Nanas/Shells. This code removes this rule and allows you to still get Triple Nanas/Shells.
NTSC-U
047AC9F0 3A600000
PAL
047BB450 3A600000
NTSC-J
047BAABC 3A600000
NTSC-K
047A9810 3A600000
Source:
## DecideItemFunction: changed "mr r19, r7" to "li r19, 0". r7 helds the Triple trailed state, if it is 1, you hold a triple Item, so set r19 to 0.
Code Creator: Unnamed
|
|
|
|