#how to create an animation code hack [solved]

1 messages · Page 1 of 1 (latest)

glass lance
#

Well, i wanted to make an code hack for my hack, this code hack consists on making the shell mario item loads the normal mario animations, i mean, do not enter shell mode, If Mario crouches he crouches normal instead of entering the shell and Doesn't go into shell mode if mario crouches while running, or when slide on a sloope mario doenst go into an shell mode, like this image here:

tawdry crescent
#

maybe replace the shell crouch animation with the regular one

glass lance
#

But i think that mario will still spin if i press Y + ⬇️

tawdry crescent
#

There’s no way to remove that unfortunately

civic hazel
#

What's the point of the shell if he can't shell

tawdry crescent
#

wise words indeed

quaint latch
#

A shell isn't a shell without shelling, but if it shells, then it's a shell

glass lance
#

But well, this suit inst planned for be an shell really, in fact, it's planned to be one "clone" of those newer wii mods with random suits with the hammer mario model

quaint latch
#

Maybe you could make like in SMB3, he crouchs like normal shell but he can't shell-sliding

#

I don't know if I explain

glass lance
#

the similarity is even visible:

flying hammer

glass lance
#

Like this

#

Mario turned into an 🥚

glass lance
graceful forge
graceful forge
#
B     0x2111A60

repl_020FCAF4_ov_0A:
BX LR

repl_02100C9C_ov_0A:
repl_02101BB8_ov_0A:
repl_02101C7C_ov_0A:
repl_02101B54_ov_0A:
repl_02115CB4_ov_0A:
BX LR

repl_02100D58_ov_0A:
B  0x02100DC8

repl_02100E80_ov_0A:
B  0x02100EE0

repl_02100C68_ov_0A:
B  0x02100CCC

repl_020FFCD8_ov_0A:
B  0x020FFD08

repl_02112440_ov_0A:
B  0x02112464

repl_02112568_ov_0A:
B  0x0211259C

repl_02101868_ov_0A:
B  0x021018E4

repl_021053A8_ov_0A:
B  0x02105440

repl_021122DC_ov_0A:
B  0x02112310

repl_0210541C_ov_0A:
B  0x02105434

repl_021018C0_ov_0A:
B  0x21018D8

repl_0212D65C_ov_0B:
ADD R3, #12
MOV R2, #0x2
BX LR

repl_02120CB4_ov_0A:
B     0x2120CC4

repl_02120CE4_ov_0A:
B     0x2120CF4

repl_02120D14_ov_0A:
B      0x2120D24

repl_02120D38_ov_0A:
B      0x2120D48

repl_02120D80_ov_0A:
B      0x2120D90

repl_021128DC_ov_0A:
BX       LR

repl_02112700_ov_0A:
B     0x2112760

repl_021127D0_ov_0A:
B     0x2112848```
civic hazel
#

damn is the newer team allergic to documentation?

#

not that hard to make a comment describing where you're hooking lol

graceful forge
#

ask RicBent, skawo made comments on most of his code hacks

glass lance
graceful forge
#

anyways its hooking the functions for the blueshell in overlay 10 and nuking them

glass lance
graceful forge
glass lance
#

Oki

#

The second X i need to put an 0x before the code?

civic hazel
#

repl_021127D0_ov_0A: would become ncp_call(0x021127D0,0xA)

glass lance
#

You could send the script that convert it to new template? Because the code is in asm so it will ocnvert

civic hazel
#

not at PC right now but I can

glass lance
#

Oki 😉

civic hazel
#

you have python?

glass lance
#

Yeah

graceful forge
#
B     0x2111A60

ncp_call(0x020FCAF4, 10)
BX LR

ncp_call(0x02100C9C, 10)
ncp_call(0x02101BB8, 10)
ncp_call(0x02101C7C, 10)
ncp_call(0x02101B54, 10)
ncp_call(0x02115CB4, 10)
BX LR

ncp_call(0x02100D58, 10)
B  0x02100DC8

ncp_call(0x02100E80, 10)
B  0x02100EE0

ncp_call(0x02100C68, 10)
B  0x02100CCC

ncp_call(0x020FFCD8, 10)
B  0x020FFD08

ncp_call(0x02112440, 10)
B  0x02112464

ncp_call(0x02112568, 10)
B  0x0211259C

ncp_call(0x02101868, 10)
B  0x021018E4

ncp_call(0x021053A8, 10)
B  0x02105440

ncp_call(0x021122DC, 10)
B  0x02112310

ncp_call(0x0210541C, 10)
B  0x02105434

ncp_call(0x021018C0, 10)
B  0x21018D8

ncp_call(0x0212D65C_ov_0B:
ADD R3, #12
MOV R2, #0x2
BX LR

ncp_call(0x02120CB4, 10)
B     0x2120CC4

ncp_call(0x02120CE4, 10)
B     0x2120CF4

ncp_call(0x02120D14, 10)
B      0x2120D24

ncp_call(0x02120D38, 10)
B      0x2120D48

ncp_call(0x02120D80, 10)
B      0x2120D90

ncp_call(0x021128DC, 10)
BX       LR

ncp_call(0x02112700, 10)
B     0x2112760

ncp_call(0x021127D0, 10)
B     0x2112848
B     0x2112848```
#

that should be fine

glass lance
#

Oh thanks!!

graceful forge
#

you can do it in like two goes with the replace function in notepad

glass lance
#

Yeah i already put it on the code, thanks!

civic hazel
#

did not really intend for anyone to use it but me so it's pretty shitty

graceful forge
#

but a lot of the time we use ncp_repl lol

civic hazel
#

yeah you'd want to use ncp_repl over ncp_call for replacing single instructions

#

but it still works

graceful forge
#

well ncp_repl doesnt keep a backup

#

so its not as "safe" to use as ncp_call or ncp_over

civic hazel
#

?

#

ncp_over overwrites data wdym

glass lance
#

Which is the line that makes the shell stop being glued to mario? because I delete it from the code since it is necessary because otherwise the shell will be in his arm lmao

civic hazel
#

and that's exactly why people should put comments in their asm

glass plover
#

shell armmarioready

glass lance
glass plover
#

you can add comments to code that explain to people reading it what the stuff you wrote is supposed to do specifically

glass lance
#

Oh oki

#

Theres an way to me know what of those addresses are the one of the shell glued to mario's back to remove?

glass lance
#
B     0x2111A60

ncp_call(0x020FCAF4, 10)
BX LR

ncp_call(0x02100C9C, 10)
ncp_call(0x02101BB8, 10)
ncp_call(0x02101C7C, 10)
ncp_call(0x02101B54, 10)
ncp_call(0x02115CB4, 10)
BX LR

ncp_call(0x02100D58, 10)
B  0x02100DC8

ncp_call(0x02100E80, 10)
B  0x02100EE0

ncp_call(0x02100C68, 10)
B  0x02100CCC

ncp_call(0x020FFCD8, 10)
B  0x020FFD08

ncp_call(0x02112440, 10)
B  0x02112464

ncp_call(0x02112568, 10)
B  0x0211259C

ncp_call(0x02101868, 10)
B  0x021018E4

ncp_call(0x021053A8, 10)
B  0x02105440

ncp_call(0x021122DC, 10)
B  0x02112310

ncp_call(0x0210541C, 10)
B  0x02105434

ncp_call(0x021018C0, 10)
B  0x21018D8

ncp_call(0x0212D65C_ov_0B:
ADD R3, #12
MOV R2, #0x2
BX LR

ncp_call(0x02120CB4, 10)
B     0x2120CC4

ncp_call(0x02120CE4, 10)
B     0x2120CF4

ncp_call(0x02120D14, 10)
B      0x2120D24

ncp_call(0x02120D38, 10)
B      0x2120D48

ncp_call(0x02120D80, 10)
B      0x2120D90

ncp_call(0x021128DC, 10)
BX       LR

ncp_call(0x02112700, 10)
B     0x2112760

ncp_call(0x021127D0, 10)
B     0x2112848
B     0x2112848```
#

Theres an way to me know what are the adresses that remove the shell being glued to mario function?

civic hazel
#

yes, by opening ghidra and checking every address hooked to

glass lance
#

I need to open the nsmb og rom or my rom?

#

On ghidra

civic hazel
#

you could get the DB on nsmbhd

#

but I can find it for you

glass lance
civic hazel
#

np

civic hazel
glass lance
#

WORKED!!!!

#

THANKS!!!!

#

how to create an animation code hack [solved]

#

Ops i forgot the tag

#

Done

civic hazel
#

this won't stop the player from sliding in their shell in cutscenes though

#

so add this // don't slide in shell in cutscenes ncp_repl(0x02117794,10,"b 0x021177d8"); // don't rotate shell ncp_repl(0x02117864,10,"b 0x02117894"); // don't set in-shell animation

glass lance
#

Oki 😉

glass lance
#

Done, like this right?

#

I forget the last " lmao

#

Done