• 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!

Melee Minus: Breaking **** since 20XX

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
MELEEEEEEEEEEE MINUUUUUUUSSSSSS
Aye. How's it goin? Doqtor Kirby here with some things. As you could probably read from the title, I have started a project called Melee Minus. Melee Minus was inspired by Brawl Minus and has the same conceptual goal: break everything about the same and it just might work out! I've made some progress and even have a concept character (Roy). However I really need some help doing this. As of right now, I am the sole developer. And as the sole developer, I need as much help as I can get. There are a few kinds of people I need:
  • PSA'ers (not really high priority, as I can easily do it myself)
  • Texture makers (again, not really important, but may be needed for some characters' textures - specifically team colors)
  • Balancers (I need a lot of these! Even if you have no experience in another backroom you'll be a lot of help!)
I really want this to be a thing, and I can't do it on my own.
 

TerryJ

Smash Journeyman
Joined
Apr 12, 2010
Messages
488
Location
BEST COAST, WA
NNID
1337-1337-1337
3DS FC
1337-1337-1337
I'm down to help with what I can just point me in a direction and hope I don't forget what I'm doing. :D
 

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
Hey, I've been working on a similar project. I'm currently working on a streamlined way to change hitboxes because doing them all by hand is a chore. I already have a good method, it just needs to be fleshed out. I was just messed up by small differences in the 1.00 and 1.02 offsets. I have already made Attributes changes (fall speed, run speed, weight, etc.) across the board and have a macro to make those changes. I'm curious what version your base is (1.02 is preferred if for no other reason than because it's 20XX hack pack compatible) and if you have any macros or programs your working on or have done to speed up the process. I also would like to hear more about your vision for the project as mine is more of a "everyone is spacies" hack which I intend to abandon a lot of current character designs (the opposite of SD Remix) to make like half of the cast more spacy like with their own "shine" type fast JC move among other things. Not all would be like this though, but I already made half the cast FFers. I'm not sure if we should join our efforts or run parallel depending on our vision.
 

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
Well mine is more based on Brawl Minus's vision of a game: if it's broken, break it until it gets better. I'm based on 1.2 because 20XX ofc. I use Dant's MasterHand with HxD editing.
 

$lash

Smash Apprentice
Joined
Mar 4, 2010
Messages
78
Location
The World
I can do some playtesting.
When i got to know more about Melee hacking i might offer some more help.
 

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
Ok, well from what I can tell we have a bit of a different vision. I don't want to break broken things more. I want the game to be very different. A breath of fresh air after 13 years, yet still with that melee feel. I also appreciate spacy-type play and would like to bring more of that type of play to the cast.
 
Last edited:

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
I can help with PSA'ing and/or balancing characters. I'd love to help out with this project. :)
 
Last edited:

SnG | Skin

Smash Apprentice
Joined
Mar 25, 2015
Messages
144
Location
College Station, TX
If this is still alive i'd love to be a part of it as well. I have some decent experience in modding melee, at least read and been able to accomplish most everything here in the workshop so whatever you need help with i'm down.
Also finished with finals so a new project would be useful.
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
I would really love to see this happen still. not sure what the progress is like on what MagicScrumpy was doing but I loved the sound of that (are these the same?). I also really like the sound of what Stratocaster had in mind, giving everyone spacie-like gameplay. I would do this in a heartbeat if I knew how to find/edit the action interrupt stuff for special moves. otherwise Crazy Hand seems more than completely functional to do a project like this pretty easily
 

MagicScrumpy

Smash Journeyman
Joined
Feb 25, 2015
Messages
251
Location
Ann Arbor, Michigan
@ O oksas

You've seen Magus's notes on special interrupts, right? Though his offsets aren't right because he was working with 1.00, the stuff is still in the same general area in the 1.02 DOL and can be found easily. There comes a point in the DOL around the area with which Magus was working where there are blocks of data staggered by other blocks of data which, according to the hex editor, translates into a bunch of text denoting which character you're working with. The respective special interrupt functions are the blocks of data right above the one with a bunch of names.

I'm not quite sure that makes sense; I can post some highlighted pictures if need be.
 
Last edited:

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
is it really that simple? holy asdlf;kj

I'll take a look at it right now, thanks a lot man. I'll report back here if I end up getting nowhere :p
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
@ MagicScrumpy MagicScrumpy

so I do now see the text in the DOL that makes it clear which character is where. and based on some stuff Achilles and Stratocaster posted a while back with Falcon's down b interrupt, I see the general area where all this stuff goes but... I guess my question is, how do we know which area corresponds to what move? D:

ok, just took another look at Magus' original post, and I see he points out that it looks like you can identify what is where by looking for the subaction IDs. gonna poke around in Crazy Hand and see if there's an easy way to identify all this based on knowing subaction IDs then...

... ok that didn't actually work. I thought maybe Crazy Hand listed somewhere by all the subaction names their IDs too, doesn't look like it does though. is there some other way to find this info?

edit: I'm sure there's a more efficient way to do this, but by looking at the order of subactions listed in Crazy Hand, I can count backwards from where the character text in the dol starts to determine what is what... I think
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
@ MagicScrumpy MagicScrumpy

so I do now see the text in the DOL that makes it clear which character is where. and based on some stuff Achilles and Stratocaster posted a while back with Falcon's down b interrupt, I see the general area where all this stuff goes but... I guess my question is, how do we know which area corresponds to what move? D:

ok, just took another look at Magus' original post, and I see he points out that it looks like you can identify what is where by looking for the subaction IDs. gonna poke around in Crazy Hand and see if there's an easy way to identify all this based on knowing subaction IDs then...

... ok that didn't actually work. I thought maybe Crazy Hand listed somewhere by all the subaction names their IDs too, doesn't look like it does though. is there some other way to find this info?

edit: I'm sure there's a more efficient way to do this, but by looking at the order of subactions listed in Crazy Hand, I can count backwards from where the character text in the dol starts to determine what is what... I think
P1 % = P1 Action State, P2 % = P1 Subaction State (1.02) [Achilles]
C206CA78 00000006
89C3000C 2C0E0000
4082001C 3DC08045
61CE30E0 81E30010
B1EE0000 81E30014
B1EE0E90 8803221F
60000000 00000000

So play a match with P1 as the character you want to know values for and P2 as standing human dummy or something, because you need his percent on-screen.

Convert the on-screen percents to hexadecimal.

Note: I didn't really test this. Updating the on-screen percent might be like a frame or two slow or something. Idk.
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
I'm finding that a lot of subactions seem to already have interrupt functions (probably not using the most accurate terms here) in them... so for Falcon's grounded down b for example, in the space for an interrupt, there's nothing there (it's just 00000000). some specials though, like kirby's down b for example, already seem to have stuff there. I assume this probably has something to do with the fact that such moves have other properties, like being able to push b during the move to do something. in the case of kirby's down b, I assume whatever interrupt that's there is what allows you to get out of the rock transformation. I think luigi's down b also had that space filled, likely because you can push b during the move to get some vertical rise. settled on using side b for kirby though, so kirby now has a grounded shine for his side b (sound effect and graphic effects not really fixed up proper but it works for now). can't wait to do this with every character :D
 

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
oksas, I already have some stuff done for what you're trying to do (since it was kind of my idea and I was going to do it.). Unfortunately I will probably never find time to finish it, but I can share some of my unfinished stuff that will be helpful to you.
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
yeah, seeing your posts about it months back made me really excited about the idea. I think it's an awesome idea and would be a ton of fun if done right. if you wouldn't mind, then yeah I would love to get my hands on any stuff you had from before :D I've obviously very little knowledge with all this but doing it properly with a good amount of polish seems pretty doable... I think
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Some of the interrupts are "blank", if you will. Like if you go to the function that it states in Debug Dolphin and the first line you see is a "blr", then all it is doing is branch linking into the interrupt and then returning immediately. I noticed this with Ness, specifically, but I'm sure there are tons of others.
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
so by that do you mean the interrupt might look like something (ie not 0000000) but it actually does nothing, in terms of interrupts?
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
achilles, thanks again for that awesome gecko code you wrote. it's been immensely helpful in messing with interrupts. I have a question, though, if you or someone like Scrumpy wouldn't mind answering (can move this all to another thread if necessary; just putting this here because it's relevant to prior posts). in Magus' original subaction interrupt post here, he provides a list of specific interrupt subroutines. I read through the thread again and have a bit better of an understanding of it all now (still far from crystal clear though; the last bit about modifying fox's shine hold still confuses me and I have no idea where in the dol to find that information, or how to systematically find others for other moves), but the interrupts you provided here for jump-cancelling a ground move and jump-cancelling an aerial move (0x800CAED0 and 0x800CB870, respectively) are different from the ones listed in Magus' post. is this just due to 1.0 vs 1.02 version differences, and if so is there an easy method for determining the 1.02 equivalents of the interrupts listed by Magus? or is there something else I'm missing entirely here

I just tried to plug in the grounded jump interrupt Magus listed (0x800CAB18) and it crashed the game. will try a few others too though.

yeah, just crashed again using another specific interrupt. I tried inserting one of the more general interrupts Magus listed (under Interrupts Coding for Actions) and it didn't seem to do anything... pasted in the one for Wait and I couldn't cancel the move at all

I actually just reread your post achilles, and your response to Stratocaster about how you found that interrupt, so now I see you just basically used the method Magus discussed at the bottom of his post for changing Fox's shine interrupt. I guess that makes my real question how in the world does one find where all this stuff is located? sounds like at this point it may be a bit over my head though :/

I mean honestly, knowing the interrupts for grounded jump and aerial jump is already plenty and enough to give every character a shine, but having some other shines be dash-cancellable or something like that could be really neat too, I think
 
Last edited:

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
The 1.02 offsets are different than the 1.00. Converting them is not super simple. I can't remember exactly how to do it atm. Here's some of my notes. They aren't very organized, but if you squint at them awhile the should be useful. The first one tells the locations of where characters interrupts start in the DOL and random incomplete notes about interupts that may help. The second is notes on a Pichu down-b mod. Sorry its not a detailed guide, but it may help.

1.02 DOL Char OFFSETS

All............. 3BF960

All??? ......... 3C4160
Captain Falcon . 3C42B8
Fox ............ 3C4788
Link ........... 3C4E18
Kirby .......... 3C5368
Donkey Kong .... 3C8838
Sheik .......... 3C9060
Ness ........... 3C9690
Peach .......... 3C9CB8
Popo ........... 3CA2D0
Nana ........... 3CA838
Pikachu ........ 3CAD78
Samus .......... 3CB2D0
Yoshi .......... 3CB770
Bowser ......... 3CBDC0
Marth .......... 3CC420
Zelda .......... 3CCA58
Jigglypuff ..... 3CCEF0
Luigi .......... 3CD628
Mewtwo ......... 3CDB00
Young Link ..... 3CDFA0
Dr Mario ....... 3CE4D8
Falco .......... 3CE848
Pichu .......... 3CEEA8
Ganondorf ...... 3CF568
Roy ............ 3CF380
M Wireframe ....
F Wireframe ....
Giga Bowser .... 3D05E8
Sandbag ........ 3D0998
Master Hand .... 3D0A30
Crazy Hand ..... 3D11F8

Fox - Down-B Hold (Ground) - (Action: 169; Subaction: 13A)

1.02
DOL Offset: 0x000E56F4
MEM Address: 0x800E8B14
Conv factor: 0x80003420 (add this to DOL)

1.00
DOL Offset: 0x000E5270
MEM Address: 0x800E8690
Conv factor: 0x80003420 (add this to DOL)

0x8008be6c F-Smash (Dash version with input window)
88a4c
7C 08 02 A6 90 01 00 04 94 21 FF D8 DB E1 00 20 DB C1 00 18 93 E1 00 14 93 C1 00 10 7C 7E 1B 78 80 63 00 2C 80 03 06 68 3B E3 00 00 54 00 05 EF 41 82 00 2C C0 3F 06 20 C0 1F 00 2C 80 6D AE B4 EC 21 00 32 C0 03 00 3C FC 01 00 40 4C 41 13 82 40 82 00 0C 38 00 00 01 48 00 00 08 38 00 00 00 2C 00 00 00 41 82 00 18 C3 FF 00 2C 7F E3 FB 78 4B FF 17 ED FF C0 08 90 48 00 00 50 7F E3 FB 78 48 05 2E 91 2C 03 00 00 41 82 00 38 C0 3F 06 38 C0 02 8A 98 FC 01 00 40 4C 41 13 82 40 82 00 0C C0 02 8A 9C 48 00 00 08 C0 02 8A A0 FF E0 00 90 7F E3 FB 78 4B FF 17 E1 FF C0 08 90 48 00 00 0C 38 60 00 00 48 00 00 34 7F C3 F3 78 FC 20 F8 90 48 00 00 49 2C 03 00 00 41 82 00 0C 38 60 00 01 48 00 00 18 FC 20 F8 90 7F C3 F3 78 FC 40 F0 90 48 00 01 45 38 60 00 01 80 01 00 2C CB E1 00 20 CB C1 00 18 83 E1 00 14 83 C1 00 10 38 21 00 28 7C 08 03 A6 4E 80 00 20

0x8008BD1C F-Smash
888fc
7C 08 02 A6 90 01 00 04 94 21 FF D8 DB E1 00 20 DB C1 00 18 93 E1 00 14 93 C1 00 10 7C 7E 1B 78 80 63 00 2C 80 03 06 68 3B E3 00 00 54 00 05 EF 41 82 00 44 C0 3F 06 20 C0 02 8A 98 FC 01 00 40 40 80 00 08 FC 20 08 50 80 8D AE B4 C0 04 00 3C FC 01 00 40 4C 41 13 82 40 82 00 1C 88 7F 06 70 80 04 00 40 7C 03 00 00 40 80 00 0C 38 00 00 01 48 00 00 08 38 00 00 00 2C 00 00 00 41 82 00 38 C0 3F 06 20 C0 02 8A 98 FC 01 00 40 4C 41 13 82 40 82 00 0C C0 02 8A 9C 48 00 00 08 C0 02 8A A0 FF E0 00 90 7F E3 FB 78 4B FF 19 05 FF C0 08 90 48 00 00 50 7F E3 FB 78 48 05 2F A9 2C 03 00 00 41 82 00 38 C0 3F 06 38 C0 02 8A 98 FC 01 00 40 4C 41 13 82 40 82 00 0C C0 02 8A 9C 48 00 00 08 C0 02 8A A0 FF E0 00 90 7F E3 FB 78 4B FF 18 F9 FF C0 08 90 48 00 00 0C 38 60 00 00 48 00 00 34 7F C3 F3 78 FC 20 F8 90 48 00 01 61 2C 03 00 00 41 82 00 0C 38 60 00 01 48 00 00 18 FC 20 F8 90 7F C3 F3 78 FC 40 F0 90 48 00 02 5D 38 60 00 01 80 01 00 2C CB E1 00 20 CB C1 00 18 83 E1 00 14 83 C1 00 10 38 21 00 28 7C 08 03 A6 4E 80 00 20


800CC6F4 Fall (1.00)
C92D4 in 1.00 DOL
800CC6F4: 7C0802A6900100049421FFE893E100147C7F1B78

C6CF4 (1.00)
C7850 (1.02) Diff B5C

C92D4 + B5C = C9E30 (approx location)
Actual Loc: C9D9C
Fall Branch: 800CD1BC

Bowsers Down B Interuptable by any normal Fall Interrupt:
3CC070: 00000000 -> 800CCD34


Things that are followed by Wait: SA ID ??? ??? 1? Interrupts 2? 3? End Br?
SquatRv 34 22 00000022 00000065 01800000 800D6658 800D6694 800D6784 800D67A4 800761C8
Attack11 46 2E 0000002E 002C0201 02800000 8008AC9C 8008ACD8 8008ADF0 8008AE10 800761C8
Attack12 47 2F 0000002F 002C0202 03800000 8008B040 8008B07C 8008ADF0 8008AE10 800761C8
AttackDash 52 34 00000034 00240205 06800000 8008B548 8008B5AC 8008B600 8008B638 800761C8
AttackHi4 66 42 00000042 00240A0A 0B800000 8008CA98 8008CAD4 8008CB04 8008CB24 800761C8
Things that are followed by Fall:
AttackAirN 68 44 00000044 0024060C 0D800000 8008D010 8008D08C 8008D5B4 8008D5D4 800761C8
AttackAirF 69 45 00000045 0024060D 0E800000 8008D010 8008D194 8008D5B4 8008D5D4 800761C8
JumpF 16 10 00000010 00008069 01800000 800CB2F8 800CB334 800CB474 800CB4B0 800761C8

1? (-0x80003420)
D3238 7C 08 02 A6 90 01 00 04 94 21 FF E8 93 E1 00 14 7C 7F 1B 78 4B F9 8B CD 2C 03 00 00 40 82 00 0C 7F E3 FB 78 4B FB 3C 41 80 01 00 1C 83 E1 00 14 38 21 00 18 7C 08 03 A6 4E 80 00 20
8787C 7C 08 02 A6 90 01 00 04 94 21 FF E0 93 E1 00 1C 7C 7F 1B 78 4B FE 45 89 2C 03 00 00 40 82 00 0C 7F E3 FB 78 4B FF F5 FD 80 01 00 24 83 E1 00 1C 38 21 00 20 7C 08 03 A6 4E 80 00 20
87C20
88128
89678

Jump Cancel Interupt (1.02):
Grounded:
0x800CAED0
Aerial:
0x800CB870


DOL changes:

Action states made jump cancelable
313 (0x139) ground
0x3CF118: 00000000 -> 800CAED0
315 (0x139) ground
0x3CF158: 00000000 -> 800CAED0

317 (0x13D) air
0X3CF198: 00000000 -> 800CB870
319 (0x13D) air
0X3CF1D8: 00000000 -> 800CB870

PlPc.dat changes:

Eliminate Thunder
3CB8:
3F 80 00 00 FF FF FF FF FF FF FF FF 00 08 3D 60 00 08 3D 60 00 00 00 DC 00 08 3D 60 00 08 3D 60 00 08 3D 60 42 20 00 00 42 20 00 00 42 18 00 00
-> all 00's
3CE8:
2C 00 00 04 07 08 00 00 EC 00 00 00 2F 0D C0 00 28 08 02 9F 08 FD D0 00 00 00 00 00 A0 04 00 03
-> all 00's

Direct 314's script to subaction 312 instead.
9334: 00003948 -> 000039b8

Direct 318's script to subaction 316 instead
9394: 00003a70 -> 00003aa0

New Hitbox for Thunder:
3A40:
2C 00 00 0D 0A F0 00 00 0A 00 00 00 B4 8F 00 12 2D 08 09 1F
->
2C 00 00 08 05 DC 00 00 0A 00 00 00 32 0F 00 12 1E 08 09 1F

Remove some effects:
d000000344000000000382b900007f4004000002600000000c0000062800000004230000000004b0000004000400040004000009100000000800003c4c00000100000000
->
d000000304000002600000000c00000604000009100000000800003c4c000001000000000000000000000000000000000000000000000000000000000000000000000000


Edit: some stuff is me trying to figure out how to do custom interrupt functions with time windows like how you can interrupt dash w/ fsmash on the first 3 frames. I never could figure it out, but it'd be super helpful because shine has a small delay before you can JC it which is due to it actually being to different states. Just FYI.
 
Last edited:

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
thank you so much Stratocaster :D this is immensely helpful. pichu was actually one of the next characters I was working on (and was having some issues with what to do with his down b) so this is amazing. thanks so much man. definitely useful, no reason to apologize about it not being more detailed
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
Stratocaster, I just wanted to ask if you had done any note-taking or research into possible effects to use for new shine moves. Light item throw down animations look to be decently reliable for a number of characters as you said before, but finding appropriate graphic effects seems a lot tougher. there are some graphic effects that look to work really well for some characters (for example, the graphic 01FF along with sound 00E7, the kirby star sound, work really great for kirby I think), but finding appropriate effects for bigger characters like falcon seems a bit more difficult. just based on all the effects I've seen, either through looking myself or by looking at the gifs Itaru made of common gfx, it looks like most bigger characters' shines will need to be a combination of several graphic effects to make it look decent enough
 

Stratocaster

Smash Ace
Joined
Oct 6, 2007
Messages
672
Location
Knoxville, TN
My suggestion is to not use Light item throw down + effect more than necessary, but to be creative! I think Sheik is good for light item throw down + smoke effect, but I think for instance with Peach maybe pulling out toad (no reason to remove turnips, just let B be her shine) would be better than any random effect. You can speed up the animation to make toad come out instantly or almost instantly and remove the counter properties and add a hitbox. Falcon could perhaps just have Falcon kick that comes out instantly (may need to slow down the movement part though or remove the later hitboxes). Mario can use tornado. Puff can use sing. Marth can probably use his counter animation. I really want to give the Links a triforce graphic, but a different graphic would have to be replaced most likely. I thought giving different hitboxes to the triforces of courage, wisdom, and power would be sick...
 

oksas

oak-sauce
Joined
Apr 12, 2011
Messages
458
good point! yeah, it does sound like reusing some of the existing animations would be best. I actually have been working on falcon and decided to give him a shine (using the throw animation + some electric effects; it actually looks pretty ok now I think) over neutral b, and maybe keep falcon kick as what it is generally, while still buffing it a bit. I think your ideas are quite understandably a bit more tame than mine, or at least more well thought out haha. I'll keep messing around with it though and see how things go. many thanks for all your feedback and help :D and yeah, the triforce thing would be awesome haha
 

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
@ O oksas

You've seen Magus's notes on special interrupts, right? Though his offsets aren't right because he was working with 1.00, the stuff is still in the same general area in the 1.02 DOL and can be found easily. There comes a point in the DOL around the area with which Magus was working where there are blocks of data staggered by other blocks of data which, according to the hex editor, translates into a bunch of text denoting which character you're working with. The respective special interrupt functions are the blocks of data right above the one with a bunch of names.

I'm not quite sure that makes sense; I can post some highlighted pictures if necessary.
Could you post the link to Magus's post? Never mind, someone else posted it.
 
Last edited:

tatatat0

Smash Journeyman
Joined
Jan 28, 2015
Messages
412
P1 % = P1 Action State, P2 % = P1 Subaction State (1.02) [Achilles]
C206CA78 00000006
89C3000C 2C0E0000
4082001C 3DC08045
61CE30E0 81E30010
B1EE0000 81E30014
B1EE0E90 8803221F
60000000 00000000

So play a match with P1 as the character you want to know values for and P2 as standing human dummy or something, because you need his percent on-screen.

Convert the on-screen percents to hexadecimal.

Note: I didn't really test this. Updating the on-screen percent might be like a frame or two slow or something. Idk.

That code does not work with Zelda for some strange reason, it has P1's percent locked at 11 and P2's percent locked at 0. I've tried multiple builds of dolphin with different settings so I know it isn't that.
 
Top Bottom