Magicalbarf
Smash Cadet
I just wanna now how scrumpy changed Falco's fair into a knee
How do you edit animations for characters?
How do you edit animations for characters?
Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!
You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!
Go to the animation swapping and switch falco's fair (AttackAirF) to his pummel (CatchAttack)I just wanna now how scrumpy changed Falco's fair into a knee
How do you edit animations for characters?
1) I think so, I have not tried that myselfHey, questions:
1) Is there an IASA function to allow interrupt with air jumps? E.g. I want aerial Raptor Boost to be jump cancellable.
2) Is it possible to change the allowed interrupts for moves not in the move logic table? E.g. Allow Roy's jab to be interrupted by any other move instead of only movement?
Custom Walljump Flag - Character Data Files (1.02) [Achilles]
C20816B8 00000007
83E3002C 3C608008
A0DF025A 2C060001
41820014 2C060002
40820018 60631918
48000008 606316C8
7C6803A6 4E800020
60000000 00000000
Custom Walljump Flag - Character Data Files (1.02) [Achilles]
inject @ 800816b8 - lwz r31,0x2c(r3)
- within Interrupt_Walljump function
lwz r31,0x2c(r3) # load internal data offset, default code line
lis r3,0x8008 # first half of possible branches within areas of the Interrupt_Walljump function
lhz r6,0x25a(r31) # load second half of TopN frame x-delta char attribute
cmpwi r6,1 # 3F000001 = character can walljump
beq- CONTINUE_WALLJUMP_CHECK
cmpwi r6,2 # 3F000002 = character cannot walljump
bne- END
NO_WALLJUMP:
ori r3,r3,0x1918 # setup branch to 0x80081918 which is the end of the Interrupt_Walljump function (so skip it)
b GO
CONTINUE_WALLJUMP_CHECK:
ori r3,r3,0x16c8 # setup branch to skip over the check for the vanilla wallride enable flag
GO:
mtlr r3 # go to the branch address in r3
blr
END:
Yes, exactly.Achilles1515 This is really creative!
Just to be sure I'm understanding correctly, you're taking advantage of the negligible error this causes in the existing float because the bit(s) are so insignificant to the original value?
There are a ton of flat looking float values in that whole character attributes table, so I think this has some pretty cool implications.
A lot of the projectiles don't work right in that code. To troubleshoot, try using this in place of the event you're having problems with and see if it spawns a stone projectile (which works well.)I'm having an issue using the Achilles projectile spawning code. The stuff I overwrite gets removed, but the projectile spawning just doesn't work. I've tried a bunch of variations, but nothing seems to spawn.
1) Well, I think you normally can with 800cb870, however Raptor Boost exhausts all of your jumps so the logic for that IASA function doesn't work out. You can use the custom character data event to add a jump back, but this could potentially give him a 3rd jump like his air down-B does--without the downtime.Hey, questions:
1) Is there an IASA function to allow interrupt with air jumps? E.g. I want aerial Raptor Boost to be jump cancellable.
2) Is it possible to change the allowed interrupts for moves not in the move logic table? E.g. Allow Roy's jab to be interrupted by any other move instead of only movement?
I'd noticed the jump burn when I tested with simply eliminating special fall - is there a way to stop it from exhausting your air jump, or is that not currently possible? I'm fine with it as it is, I suppose, but it wasn't quite what I wanted. And I'm definitely not wanting it to be exploitable for infinite jumps, that would be ridiculous.1) Well, I think you normally can with 800cb870, however Raptor Boost exhausts all of your jumps so the logic for that IASA function doesn't work out. You can use the custom character data event to add a jump back, but this could potentially give him a 3rd jump like his air down-B does--without the downtime.
Okay, interesting. Mainly I just want to make sure I'll be able to allow jab > IASA > grab and f-tilt > IASA > grab, although it should also work with a short walk beforehand anyway.2)You can normally use event 5C to toggle broader interrupts on normal (A-button) attacks, but jabs and aerials don't have any logic for transferring into specials.
You can use the custom character data event to override the IASA function of the current move to match a grounded wait state with the following 3-line syntax:
F8FF000C 0200219C 8008a4d4
This can be used with timer events to create an interrupt window within the context of your current action state.
Sorry, I linked to the custom character data event earlier on. It’s a code that lets you do memory edits (via custom subaction event syntax) to a plethora of player data variables usually reserved to ASM hacks. (see the “START Player Character Data” section in the Char Data Offsets tab)Next round of questions:
1) What's the IASA for an aerial wait state? I.e., one that could be airdodged out of? I've been trying to get Young Link's AirSpecialNEnd to autocancel for a while now, but I don't think it's going to work. My next best idea is to make it wavelandable.
2) Better yet, is there a catalog of these states somewhere, or is there a relatively easy way to find them myself? I'm still pretty blind here and would like to not have to ask for these kinds of things constantly.
3) You keep talking about the "custom character data event", but I don't really know what that is. Is that a custom event I need to install, or is it something I can already do and am overlooking?
8007d528 : ac_Interrupt_Fastfall_CheckToExecute
80081298 : ac_Interrupt_CliffCatch
8008169c : ac_Interrupt_Walljump
8008a4d4 : ac_Interrupt_AS_Wait
8008bfc4 : ac_Interrupt_F-Smash
8008c830 : ac_Interrupt_UpSmash
8008c948 : ac_Interrupt_UpSmash/LightThrowHi_FromKneebend
8008cad4 : ac_Interrupt_AS_Wait_CheckIASAflagforEnabledFirst
8008d08c : ac_Interrupt_AS_AttackAirN
8008d194 : ac_Interrupt_AS_AttackAirF
8008d29c : ac_Interrupt_AS_AttackAirB
8008d3a4 : ac_Interrupt_AS_AttackAirHi
8008d4ac : ac_Interrupt_AS_AttackAirLw
80090828 : ac_Interrupt_AS_DamageFall_Tumble
80091a2c : ac_Interrupt_Check
80092758 : ac_Interrupt_AS_Shielding
80093694 : ac_Interrupt_GuardReflect
80094e54 : ac_Interrupt_Item_CheckInstantAForThrow
80095328 : ac_Interrupt_ItemCheckForSomething
80096540 : ac_Interrupt_Side-B_Grounded
8009665c : ac_Interrupt_BbuttonInstant&Battacks
80096af4 : ac_Interrupt_AS_SpecialFall
8009802c : ac_Interrupt_AS_DownWaitU/D
800980bc : ac_Interrupt_DownStandU/D
80098214 : ac_Interrupt_DownBack/ForwardU/D
80098400 : ac_Interrupt_DownAttackU/D_FromDownBound
800984d4 : ac_Interrupt_DownAttackU/D_FromDownBoundWait
80098730 : ac_Interrupt_NeutralTech
80098928 : ac_Interrupt_TechRollF/B
8009917c : ac_Interrupt_Roll
80099264 : ac_Interrupt_Roll_OnlyCheckForL/R
80099794 : ac_Interrupt_SpotDodgeWithShieldHeldCheck
8009980c : ac_Interrupt_SpotDodge
80099a58 : ac_Interrupt_EscapeAir_Airdodge
80099c24 : ac_Interrupt_AS_EscapeAir_Airdodge
8009a080 : ac_Interrupt_ShieldDrop
8009a3c8 : ac_Interrupt_LedgeTeeter
8009a8fc : ac_Interrupt_AS_CliffWait
8009b170 : ac_Interrupt_CliffJump
8009eda4 : ac_Interrupt_StopWall
8009ef68 : ac_Interrupt_StopCeil
800c1d38 : ac_Interrupt_Edge/WalljumpTeching
800c23a0 : ac_Interrupt_CeilingTech
800c9618 : ac_Interrupt_AS_WalkSlow/Middle
800c97dc : ac_Interrupt_Turn
800c9cec : ac_Interrupt_TurnRun_KeepSameFrame
800c9d40 : ac_Interrupt_TurnRun
800c9ed8 : ac_Interrupt_AS_TurnRun
800ca094 : ac_Interrupt_TurnOrDash
800ca230 : ac_Interrupt_AS_Dash
800ca5f0 : ac_Interrupt_Run
800ca644 : ac_Interrupt_Run_Again
800ca830 : ac_Interrupt_AS_Run
800CAE80 : ac_Interrupt_JumpCheckInputOnly
800CAED0 : ac_Interrupt_Jump_Grounded
800caf78 : ac_Interrupt_AS_TurnRunActualChecks
800cb024 : ac_Interrupt_GroundJumpFromShield
800cb334 : ac_Interrupt_AS_JumpF
800cb5fc : ac_Interrupt_AS_Kneebend
800cb870 : ac_Interrupt_AerialJumpGoTo
800cb950 : ac_Interrupt_AerialJump
800ccaac : ac_Interrupt_AS_Fall
800ccd34 : ac_Interrupt_AS_Fall_Prefunction
800cce50 : ac_Interrupt_AS_Fall_Prefunction2
800d5d78 : ac_Interrupt_AS_Landing
800d5f84 : ac_Interrupt_JoystickDownRevivalPlatFall
800d5fb0 : ac_Interrupt_Squat
800d65d8 : ac_Interrupt_SquatReverse
800d6694 : ac_Interrupt_AS_SquatReverse
800d6824 : ac_Interrupt_Neutral-B_Grounded
800d688c : ac_Interrupt_Down-B_CheckInputOnly
800d68c0 : ac_Interrupt_Down-B_Grounded
800d6928 : ac_Interrupt_Up-B_CheckInputOnly
800d695c : ac_Interrupt_Up-B_Grounded
800D705C : ac_Interrupt_ItemCatch8FrameBufferEnableCheck
800d7100 : ac_Interrupt_CatchItem
800D8990 : ac_Interrupt_Grab_Standing
800d8a38 : ac_Interrupt_Grab_FromRun
800d8b9c : ac_Interrupt_CatchDash
800de9b8 : ac_Interrupt_D-PadUpInstantPressed?
800de9d8 : ac_Interrupt_Taunt
800e6adc : ac_Interrupt_Fox_AS_NeutralB_CheckForBbuttonPress
I took a quick look, and it would appear that the jump burn happens as a call during what I'm assuming is his character-dependent AS transition (800e33e0)I'd noticed the jump burn when I tested with simply eliminating special fall - is there a way to stop it from exhausting your air jump, or is that not currently possible?
Okay, so I'm probably just really stupid, but I can't figure out how to put that into MCM. Unless I'm just supposed to hex it in myself? Feeling like a real idiot here.$CFalcon and Ganondorf keep jumps during side-B [Punkline]
040e34f0 60000000
Oh that's just a gecko code. An 04 nop like that code is simple enough to just kind of type out if you know the instruction location, so I hadn't run it through MCM yet. You can use gecko codes in Dolphin by right clicking a game, going to properties, and hitting "edit config." You can paste that 04 code in the text to have it appear as a toggleable code afterwards. This is also how you install C2 codes (like the format of gecko code the custom character data event is shared in)Okay, so I'm probably just really stupid, but I can't figure out how to put that into MCM. Unless I'm just supposed to hex it in myself? Feeling like a real idiot here.
-==-
CFalcon and Ganondorf keep jumps during side-B
Prevents the side-B action state from consuming all remaining jumps.
Does not stop special falling state.
[Punkline]
Version -- DOL Offset ------ Hex to Replace ---------- ASM Code
1.02 ----- 0x800e34f0 --- 4BF9A11D -> 60000000
Awesome dude!Punkline Thanks for putting up with all these questions - I finally got the move functioning like I wanted it to. XD
Here's a video of it in action as thanks:
KO Star counter counts your SD's (1.02) [Ampers aka Swagmasta420]
041a5fcc 889E0063
Oh this is excellent! Well done~Punkline Thanks for putting up with all these questions - I finally got the move functioning like I wanted it to. XD
Here's a video of it in action as thanks:
lol. This reminds me of an experiment I had going a few months ago, where I was testing different cancel methods outside of the normal interrupt system and managed to make it so I could cancel my death animation in order to rack up SDs by wiggling around in the blast zone.oh btw I wanted to share the dankest Melee mod that has ever been made:
Code:KO Star counter counts your SD's (1.02) [Ampers aka Swagmasta420] 041a5fcc 889E0063
(this has nothing to do with Crazy Hand or character modding but it's my thread, I can do whatever I want)
0x7970 of Roy's file is not a free space.Sounds awesome!
It seems like you got this already, but just an FYI; pointers and other static RAM addresses are generally noted within the context of Melee 1.02.
Melee Code Manager isn’t required for codes (you can just use the gecko codes they’re usually shared as if you prefer,) but the difference in space it allows for compared to the default gecko code handler makes the advantage enormous in addition to convenient--so I’d recommend it if you’re working with a vanilla copy of Melee.
---
To do a jump cancel, I believe you can throw 800caed0 in the IASA function slot of a move on the move logic table to restrict input interrupts to only grounded jumps for the duration of the action state. You can also use the custom character data event to assign the same pointer to internal player data offset 0x219C and manually time an interrupt window.
And yes, you can extend the length of subaction event data length. If you subtract the header length of a Plxx.dat file (0x20 bytes) from an offset, you can use the resulting number to reference a location in the file via event 14 (goto) and later use event 18 (return) to return from where you came from. 1C (subroutine) acts like goto, but doesn't write a return that you can use. Crazy Hand conveniently lists these effective offsets with each event.
You'll have to test if it's safe or not, but there seems to be a bit of free space for Roy starting at effective offset 0x7970. So, if you write subaction events to that place in the .dat, they can be read by any subaction that includes an event that looks like this:
14000000 00007970
If you edit an existing 14 or 1C event to do this for you, then it should work without issue. If writing a new 14 or 1C event though, I think you need to modify the relocation table so that the location where you're referencing a new offset at is converted into a pointer once loaded into the game.
You can alternatively use the custom character data subaction event to do the same thing with static RAM addresses instead of .dat offsets. This is what I do, personally. If you do this, you can make decisions to gut things like the debug mode menu and/or tournament mode menu to net more bytes than you’ll ever need, and write to them with multiline static overwrites in MCM.
I believe the tournament mode menu region starts at 801910e0. (0x18DCC0, as a file offset)
So, similarly to how you'd do it with a goto event, write your new event data starting at that point in the DOL with whatever means you prefer. When it's written to the DOL, use the custom F8 event to access the internal player data offset that parses subaction events, and write your custom event location to it with this syntax:
F8FF000C 020003EC 801910E0
Can you explain what you mean by "add"?Are you still working on this?
I read somewhere you can edit stuff but not add, it would be great if you could add that as a feature
I'm using the gui, and I'm not entirely sure where to put codes like that. But, regardless:A lot of the projectiles don't work right in that code. To troubleshoot, try using this in place of the event you're having problems with and see if it spawns a stone projectile (which works well.)
F4FF002F 00000000 40003F80 3F8041A0
If the above works, then it may just be the ID or float values you're using aren't stable. If the above doesn't work, your code might not be installed correctly.
I mean, Itaru said (I think it was him) that you couldn't add more stuff to characters, so you needed to do it manually on a Hex EditorCan you explain what you mean by "add"?
That doesn't have anything to do with Crazy Hand, in 20XX's Thread it says how to do that, if not, just PM AchillesHello,
I've been digging through the forums and I suppose this is the best place to ask this. I am trying to have a similar functionality to 20xx 4.05 where you can press L or R on the dpad to select SD Remix or Pal. I'm not trying to make it do just that, I have custom characters I'm trying to add and not overwrite the base character. Any help or push in the right direction is much appreciated! I have my own mod that im learning with, not trying to just change 20xx.
For these custom events, I believe you must install them yourself. There's a text file packaged with CH you can drag to your MCM Mods Library to make them available for modding the game ISO. See this part of the last CH update post:I'm using the gui, and I'm not entirely sure where to put codes like that. But, regardless:
I attempted to spawn the stone projectile (with the gui), but nothing seems to happen- whether I launch the projectile or give it to the player.
Now what? I don't think it's Crazy Hand itself that's installed incorrectly, because other modifications work (for example, the hitbox I replaced with the projectile event is indeed missing when I play the game). And I thought the projectile code was packaged in with Crazy Hand already? Unless it's just direction code injection that's working, and the gui isn't fully functional yet? But that doesn't seem quite right either.
Do I just put it alongside frame speed modifiers on the "list of things that don't work in Crazy Hand for me inexplicably"?
Edit: also, to enter events that are pure hex like that, click the "use raw data for subactions" checkbox optionAddtionally, I have included the necessary codes needed to use Achilles' Projectile Spawning event and also his Self Heal/Damage event. I included them as a library file for DRGN's Melee Code Manager to make it easy. If you're not familiar with the program, here's how you would apply these mods:
1) Get the code manager program here.
2) In this release of Crazy Hand, there's a folder called "codes". In this folder you should find a single text document. Take that file and put it in the "Mods Library" folder of the Melee Code Manager.
3) Boot up Melee Code Manager and select your iso.
4) Browse to the "Injection Mods" tab and scroll down until you find the codes for these events. (You may need to press the rescan for mods button if you don't see them)
5) Select whichever code you want to use and press the save button.
6) The custom events should work now! Add them into any subaction in Crazy Hand and have fun.
Oh, it's windows only. Never mind then.For these custom events, I believe you must install them yourself. There's a text file packaged with CH you can drag to your MCM Mods Library to make them available for modding the game ISO. See this part of the last CH update post:
Edit: also, to enter events that are pure hex like that, click the "use raw data for subactions" checkbox option
You can always try the gecko code.Oh, it's windows only. Never mind then.
Ok, I added the Gecko code and enabled it on my ISO. However, the code you posted earlier still doesn't spawn anything.You can always try the gecko code.
https://www.reddit.com/r/smashbros/comments/2fwhv5/why_is_your_momentum_lost_while_jumping_still/So I was wondering what exactly makes Captain Falcon's running -> jump be a higher speed than normal?
Okay so obviously I'm guessing Jump H Max Velocity which is 2.1
But getting to this velocity would be based on Jump H Initial Velocity which is like 0.95 or something, plus the Ground to Air H Momentum Multiplier, which is 0.75 for Falcon.
But is there anything else that controls why Captain Falcon can go faster than "Maximum Aerial Speed" when running?
I'm looking into this to know if there's some way I could mod this into Smash 4 where even after messing with all those values he still can't go faster than his Max. Aerial Speed.
I was wondering if in Melee he can go faster because of some parameter, if so maybe I could mod it into Smash 4 if it's not directly related to the engine