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

Completed Expand Melee's Hitbox System to Support up to 8 Active Hitboxes

abysspartyy

Smash Cadet
Joined
May 11, 2015
Messages
55
Introduction

As you may or may not know, Melee's engine only supports up to 4 active hitboxes at a given time. Those who are familiar with editing character move-sets may have noticed that when creating a new hitbox through the Create Hitbox command/subaction event, you could actually enter up to 7 for the hitbox ID but only hitboxes with the IDs 0 to 3 will show up. Taking advantage of this, I aim to patch up Melee's hitbox system to enable the use of hitbox IDs 4, 5, 6 and 7, essentially allowing you to use up to 8 hitboxes in Melee! This will be especially useful for custom characters.

Task List
  1. Fighter Hitboxes (~100% of core patches done)
    • Grab logic ✓
    • Clank/Rebound on players & items ✓
    • Hit logic on players & items ✓
    • Collision bubble drawing ✓
    • Shield logic ✓
    • Hitbox-related subaction event parsing ✓
  2. Item Hitboxes (~100% of core patches done)

Media


HSDraw Usage

In the Create Hitbox event commands, you can now just set the hitboxes to use ids 4, 5, 6 & 7.

Gecko Code

Works with m-ex and vanilla Melee. If using m-ex, add this code in codes.gct. Also works with MCM for vMelee.

Note that you MUST install/update or enable some codes from the Shared Modules thread first if you do not have it before using the code below.

Code:
$Enable 8 Hitbox Support v1.0.0 [sushie]
*Expands Melee's current hitbox system to support up to 8 hitboxes
C22790F8 00000004
28040004 41A00010
3BA4FFFC 1FBD013C
3BBD1070 7FA0EA14
60000000 00000000
C2275594 00000003
28040004 1C84013C
41A00008 388405AC
60000000 00000000
C2279634 00000003
28040004 38A505D4
41A00008 38A505AC
60000000 00000000
C2279590 00000003
28030004 1C63013C
41A00008 386305AC
60000000 00000000
C2272564 00000003
28040004 1C84013C
41A00008 388405AC
60000000 00000000
C2272688 00000003
28040004 1FC4013C
41A00008 3BDE05AC
60000000 00000000
C22758CC 00000006
386306E8 38000004
7C0903A6 80030710
3863013C 2C000000
4102FFF4 38600000
41820008 38600001
60000000 00000000
C2275934 00000006
386306E8 38000004
7C0903A6 80030710
3863013C 2C000000
4102FFF4 38000000
41820008 38000001
60000000 00000000
042759C0 41820018
042759D0 40820008
C22759D8 00000008
386306E8 38E00005
34E7FFFF 4D820020
80030710 38A30710
3863013C 2C000000
4182FFE8 C005000C
FC010040 4C401382
4082FFD8 FC200090
4BFFFFD0 00000000
0427562C 41820010
C227563C 00000007
386306E8 38E00005
34E7FFFF 4D820020
80030710 38830710
3863013C 2C000000
4182FFE8 C004001C
EC000072 D004001C
4BFFFFD8 00000000
04275588 41820008
C2275590 00000006
386306E8 38000004
7C0903A6 80030710
38830710 3863013C
2C000000 41820008
D024001C 4200FFE8
4E800020 00000000
C226FE2C 0000000C
38A506E8 38E00005
34E7FFFF 38000000
41820048 38650710
7C03F040 38A5013C
4182FFE8 80030000
2C000000 4182FFDC
80830004 801E0004
7C040040 4082FFCC
7FC4F378 3D808000
618C84FC 7D8803A6
4E800021 38000001
60000000 00000000
C226ED70 00000003
281B0004 40A20008
3B9C05AC 387C05D4
60000000 00000000
0426ED88 281B0008
C227139C 00000003
281C0004 40A20008
3BFF05AC 3BBF05D4
60000000 00000000
0427144C 281C0008
C20BB240 00000002
7C9D2378 90810010
60000000 00000000
C20BB3E8 00000005
281F0004 3B3D05D4
41810010 40A20014
83A10010 3BBD1070
7FB9EB78 80190000
60000000 00000000
040BB4E8 281F0008
C20BB500 00000005
281F0004 3B3D05D4
41810010 40A20014
83A10010 3BBD1070
7FB9EB78 80190000
60000000 00000000
040BB614 281F0008
C20BB63C 00000005
281B0004 3B3A05D4
41810010 40A20014
83410010 3B5A1070
7F59D378 80190000
60000000 00000000
040BB73C 281B0008
C226A020 00000003
281C0004 40A20008
3BBD05AC 801D05D4
60000000 00000000
0426A074 281C0008
C2270938 00000003
28120004 41A00008
3AF705AC 389705D4
60000000 00000000
04270A1C 28120008
C226FA5C 00000003
281C0004 40A20008
3BDE05AC 801E05D4
60000000 00000000
0426FAA0 281C0008
C2275670 00000003
281E0004 40A20008
3BFF05AC 801F05D4
60000000 00000000
042756A0 281E0008
C226FB24 00000003
28190004 40A20008
3B1805AC 801805D4
60000000 00000000
0426FB68 28190008
C226FC54 00000003
281B0004 40A20008
3B5A05AC 801A05D4
60000000 00000000
0426FC84 281B0008
C226FCA8 00000003
281B0004 40A20008
3B5A05AC 801A05D4
60000000 00000000
0426FCD8 281B0008
C2272604 00000004
281D0004 387F05D4
4181000C 40A2000C
3BFE1070 7FE3FB78
60000000 00000000
04272610 281D0008
04272630 281F0008
C22712A0 00000002
7C852378 1C84013C
60000000 00000000
C22712B4 00000004
28050004 3BC405D4
41A00010 3BC5FFFC
1FDE013C 3BDE1070
60000000 00000000
C226FAE4 00000002
3BE70000 93610020
60000000 00000000
C226FB9C 00000005
28190004 387705D4
41810010 40A20014
82E10020 3AF71070
7EE3BB78 80030000
60000000 00000000
0426FBDC 28190008
C207942C 00000004
281C0004 3AFD05D4
4181000C 40A20010
3BB81070 7FB7EB78
80170000 00000000
04079A7C 281C0008
C2270808 00000004
28140004 801705D4
4181000C 40A20010
3AFF1070 7EE3BB78
80030000 00000000
04270880 28140008
C227089C 00000004
28140004 3A7505D4
4181000C 40A20010
3ABB1070 7EB3AB78
80130000 00000000
04270CA4 28140008
C227148C 00000002
7FE30214 9061000C
60000000 00000000
C2271490 00000004
281E0004 387F05D4
41810010 40A20010
83E1000C 3BFF1070
7FE3FB78 00000000
0427149C 281E0008
C227029C 00000004
281A0004 801B05D4
4181000C 40A20010
3B7F1070 7F63DB78
80030000 00000000
042703BC 281A0008
C2071284 00000004
28000004 41A00014
7C030378 3BC3FFFC
1FDE0138 3BDE24D4
7FDFF214 00000000
C2076984 0000000B
38E00004 38C32264
48000010 34E7FFFF
41820040 38C60138
7C062040 4182FFF0
80060000 2C000000
4182FFE4 80A60004
80040004 7C050040
4082FFD4 7CC33378
3D808000 618C84FC
7D8803A6 4E800021
7C832378 00000000
C207AFCC 00000006
28040004 41A00024
8063002C 3884FFFC
1C840138 388424D4
7C841A14 38000000
90040000 4E800020
1C840138 00000000
C2071660 00000004
28000004 41A00014
7C030378 3863FFFC
1C630138 386324D4
7C661A14 00000000
C20716D4 00000005
28000004 41A00018
7C050378 38A5FFFC
1CA50138 380524F0
48000008 38050930
60000000 00000000
04071728 60000000
C2071724 00000005
28000004 38A50914
41A00014 7C050378
38A5FFFC 1CA50138
38A524D4 5460FFFE
60000000 00000000
C2078D88 00000004
28170004 389E0914
4181000C 40A20010
3BDC24D4 7FC4F378
80040000 00000000
04078E2C 28170008
C2078E48 00000004
281E0004 3AFD0914
4181000C 40A20010
3BB824D4 7FB7EB78
80170000 00000000
0407922C 281E0008
C2077210 00000004
28190004 38770914
4181000C 40A20010
3AFA24D4 7EE3BB78
80030000 00000000
0407723C 28190008
C207706C 00000004
281E0004 38780914
4181000C 40A20010
3B1A24D4 7F03C378
80030000 00000000
04077098 281E0008
C207937C 00000004
28140004 80160914
4181000C 40A20010
3ADB24D4 7EC3B378
80030000 00000000
04079410 28140008
C207968C 00000004
28130004 38940914
4181000C 40A2000C
3A9B24D4 7E84A378
60000000 00000000
04079748 28130008
C22704C4 00000004
281B0004 3B5F0914
4181000C 40A20010
3BFC24D4 7FFAFB78
801A0000 00000000
042706A0 281B0008
C2076828 00000002
3BC30000 93C10010
60000000 00000000
C207683C 00000005
281C0004 387E0914
41810010 40A20014
83C10010 3BDE24D4
7FC3F378 80030000
60000000 00000000
0407687C 281C0008
C2076CE4 00000004
281C0004 387B0914
4181000C 40A20010
3B7D24D4 7F63DB78
80030000 00000000
04076D10 281C0008
C2076A78 00000004
281A0004 38780914
4181000C 40A20010
3B1E24D4 7F03C378
80030000 00000000
04076AB0 281A0008
C2078F7C 00000004
28120004 3A130914
4181000C 40A2000C
3A7C24D4 7E709B78
60000000 00000000
04078FC4 28120008
C2076BC4 00000004
281A0004 38770914
4181000C 40A20010
3AFC24D4 7EE3BB78
80030000 00000000
04076BF0 281A0008
C2077A4C 00000004
281A0004 38780914
4181000C 40A20010
3B1E24D4 7F03C378
80030000 00000000
04077A84 281A0008
C2078B10 00000004
281B0004 801F0914
4181000C 40A20010
3BFE24D4 7FE3FB78
80030000 00000000
04078C40 281B0008
C207BD00 00000004
281A0004 801B0914
4181000C 40A20010
3B7F24D4 7F63DB78
80030000 00000000
0407BE0C 281A0008
C20BB12C 00000002
3BC00000 90810010
60000000 00000000
C20BB138 00000005
281E0004 3BBF0914
41810010 40A20014
83E10010 3BFF24D4
7FFDFB78 801D0000
60000000 00000000
040BB1F4 281E0008
C207B068 00000002
7C852378 1C840138
60000000 00000000
C207B078 00000004
28050004 3BE40914
41A00010 3BE5FFFC
1FFF0138 3BFF24D4
60000000 00000000
C207B020 00000004
281D0004 387F0914
4181000C 40A2000C
3BFE24D4 7FE3FB78
60000000 00000000
0407B02C 281D0008
C207AEAC 00000004
281D0004 389F0914
4181000C 40A2000C
3BFE24D4 7FE4FB78
60000000 00000000
0407AEB8 281D0008
C2080614 00000004
28190004 387A0914
4181000C 40A2000C
3B5F24D4 7F43D378
60000000 00000000
0408062C 28190008

Source ASM code: GitHub

HSDraw Support

hsdraw_8.png

If you want to use a version of HSDraw that shows up to 8 hitboxes in its renderer, please download from my version: HSDLib GitHub
 
Last edited:

abysspartyy

Smash Cadet
Joined
May 11, 2015
Messages
55
Update for 2022-01-29

  • Finished 100% of the core patches required for fighter hitboxes
    • character-specific specials that manually modify hitboxes are not patched (e.g. dk's down-b hitboxes) due to it being low-priority
  • Item collision against fighters & other items are now working properly with correct rehit

Here's a quick video with pk fire having 8 hitboxes:

 
Last edited:

abysspartyy

Smash Cadet
Joined
May 11, 2015
Messages
55
Update for 2022-02-01
  • All required patches have been completed for item hitboxes. This mod is now ready for release!
  • Last thing before releasing is that I'm currently ensuring full compatibility with my Hitbox Extension mod. You will be able to use hitlag multipliers, hitstun modifiers, etc with all 8 hitboxes
    • So far, both mods work nicely together
    • Still need to update the hitbox extension to support up to 8 hitboxes instead of 4
This is the last update post before I release this mod.
 

abysspartyy

Smash Cadet
Joined
May 11, 2015
Messages
55
v1.0.0 has now been released! I have also included a custom version of HSDraw that supports up to 8 hitboxes.

This mod is compatible with m-ex and vMelee.
 
Top Bottom