New Melee Syntax school. You can WRITE character commands now!!

Itaru

MasterGanon
Premium
Joined
Jun 25, 2014
Messages
277
Location
日本 千葉県
#1
* I'm a Japanese. So, PLEASE use EASY English.:)



Promotion Video


High Quality and 60fps is here

There is the language that is used only in Pl**.dat. If you understand this language, you will be able to WRITE Hitbox, Graphic Effect(GFX), Sound Effect(SFX), Body Aura, etc...

You may have seen Crazy Hand made by Ampers. His program is just..... so God-like. CrazyHand can edit character commands. BUT, it cannot WRITE commands. So, I explain Melee Syntax.

And, MASTERGANON is now available!

follow me! https://twitter.com/meleesyntax

What you need

GCRebuilder Replace files.​
Melee ISO, I can't link you to the ISO.​
Hex Editor​
Present for you
MasterGanon file MASTERGANON PlGn.dat
(I gave up installing DIOS MIOS. So, I cannot guarantee wii will not freeze. Someone, please report it. )​
東方 (Touhou) HQ Opening MvOpen.mth (It Requires Rebuild and replace MvOpen.mth and MvOmake15.mth. If you don't want to do so, 東方(Touhou) Opening MvOpen.mth (Standard quality))​
Tutorial
I explain with Ganon's Up-Tilt.​
First, Open your CrazyHand.(If you cannot open it, your computer doesn't have Java Runtime Environment.)​
Ganondorf>Subactions>Up-Tilt​
Please memorize "Offset 0x4870".​
無題a.png
Second, export Pl**.dat.(In this case, PlGn.dat)​
無題.png
Third, open hex editor and jump to 4870.​
This is command starting point.​
無題b.png
Please watch this video.​


Commands

Hitbox format
Please read this
Common GFX format
28000000 AAAA0000 BBBBCCCC DDDDEEEE FFFFGGGG​
This is common graphic effect format.​
A is GFX number. (list)​
B:Z-offset​
C:Y-offset​
D:X-offset​
E:Range of scatter(about Z-axis)​
F:Range of scatter(about Y-axis)​
G:Range of scatter(about X-axis)​
And,my English is so poor(^_^;​
So, I explain with a picture.​
If there is a graphic effect which is 28000000 eeee0000 0000yyyy xxxx0000 AAAABBBB, It becomes like this
(Sometimes,you will see 29380000 or 28D80000 or other one. In this case,effects are generated from somewhere in bodies.It has not been investigated yet.)​
Sound Effect format
44000000 000XXXXX 00007F40​
This is SFX format.​
X is SFX number.​
If it is XXX, this is Common SFX.​
If it is XXXXX, this is Character SFX.​
For example, 44000000 000493E4 00007F40 (This is Ganon's Sound effect) isn't able to use any other character.​
Someone, please make SFX list. I'm so tired...
Self Damage format
CCXXXXXX is self damage format. Max damage is 16777215%! hahaha!
Smash Charge format
E0XXYYYY ZZ000000​
This is smash charge format.​
You can use this format for all :GCA: attacks!​
X means "Character can charge X frames"​
Y is "Damage rate of increase"​
About Z,read this post.​
Body Aura format
B8XX0000 and B9XX0000 is Body Aura format.
X is Body Aura number, please read this post

GFX and SFX format
This is very useful format.​
DC000XXX 000YYYYY 00007F40​
X is GFX​
Y is SFX​
This format generates GFX and SFX at the same time.​

Stop in midair format(Special Attack only)
4D000001 Stop in midair​
4D000002 Fall​
4C000001 vertical velocity become 0​

Disappear format
94000001 Character disappears​
94000000 Character appears​
8C -- toggles held item visibility -Found by Punkline​
90 -- toggles visibility of other articles (tested with the Bunny Hood) -Found by Punkline​
Invert the body (Example, Marth's B-Air)
C5FFFFFF​

How to increase the size of how many bytes you can have per attack?

Interesting commands found by Punkline
Model mod
7CXXXXXX
7C is header
X is ID? Idk well.
Ganon can use sword with this command.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
#4
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]

CC00XXXX = damage self XXXX%
CC01XXXX = heal self XXXX%


Code:
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]
04072c1c 60000000
04072c20 60000000
04072c18 60000000
C2072C14 00000007
89C40001 A0840002
8063002C 2C0E0001
40820024 3CA08006
60A5CF5C 7CA903A6
4E800421 3CA08007
60A52C3C 7CA903A6
4E800420 00000000
@ MagicScrumpy MagicScrumpy @ Tater Tater @ Ampers Ampers @ Itaru Itaru
 
Last edited:

MagicScrumpy

Smash Journeyman
Joined
Feb 25, 2015
Messages
251
Location
Ann Arbor, Michigan
#7
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]

CC00XXXX = damage self XXXX%
CC01XXXX = heal self XXXX%


Code:
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]
04072c1c 60000000
04072c20 60000000
04072c18 60000000
C2072C14 00000007
89C40001 A0840002
8063002C 2C0E0001
40820024 3CA08006
60A5CF5C 7CA903A6
4E800421 3CA08007
60A52C3C 7CA903A6
4E800420 00000000
@ MagicScrumpy MagicScrumpy @ Tater Tater @ Ampers Ampers @ Itaru Itaru
Uhhh...whoa. Great find stuff, Achilles!

This is gonna be fun to play with.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
#8
Uhhh...whoa. Great find, Achilles!

This is gonna be fun to play with.
I didn't find it. I created it.

I mean, I found the "heal character and produce heal GFX" function, and then modified the self damage subaction script function to check the second byte of the word to perform healing instead of damaging.

I remember you guys were wishing for a subscript event for healing, so I figured this would be a pretty elegant solution considering you're likely never going to self damage/heal more than 0xFFFF percent...
 
Last edited:

Quillion

Smash Master
Joined
Sep 17, 2014
Messages
3,394
#14
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]

CC00XXXX = damage self XXXX%
CC01XXXX = heal self XXXX%


Code:
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]
04072c1c 60000000
04072c20 60000000
04072c18 60000000
C2072C14 00000007
89C40001 A0840002
8063002C 2C0E0001
40820024 3CA08006
60A5CF5C 7CA903A6
4E800421 3CA08007
60A52C3C 7CA903A6
4E800420 00000000
@ MagicScrumpy MagicScrumpy @ Tater Tater @ Ampers Ampers @ Itaru Itaru
You mean to say Jigglypuff can actually heal itself with Rest, now?
 

Tater

Smash Apprentice
Joined
Apr 10, 2014
Messages
199
Location
Socal
3DS FC
2406-5307-2936
NNID
Taternater
#15
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]

CC00XXXX = damage self XXXX%
CC01XXXX = heal self XXXX%


Code:
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]
04072c1c 60000000
04072c20 60000000
04072c18 60000000
C2072C14 00000007
89C40001 A0840002
8063002C 2C0E0001
40820024 3CA08006
60A5CF5C 7CA903A6
4E800421 3CA08007
60A52C3C 7CA903A6
4E800420 00000000
@ MagicScrumpy MagicScrumpy @ Tater Tater @ Ampers Ampers @ Itaru Itaru

I don't know why, but I never got a notification for this so this is the first I'm seeing of it. Awesome work! I'm working adding support for these kinds of code into Crazy Hand, but I'm not so good at the whole "gecko-to-dol" thing... I've tried before but it's just ended in frustration :p
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
#19
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]

CC00XXXX = damage self XXXX%
CC01XXXX = heal self XXXX%
Wait........ that's it? Just changing 00 to 01 to heal? Spent all those hours trying to figure something out and that's all that had to be done. Go figure it'd be that simple a change. :laugh:

also subbing to topic
 

Ampers

Smash Journeyman
Joined
Feb 2, 2015
Messages
237
Location
St. Louis, MO
#20
Wait........ that's it? Just changing 00 to 01 to heal? Spent all those hours trying to figure something out and that's all that had to be done. Go figure it'd be that simple a change. :laugh:

also subbing to topic
Well that's not a native feature of the game, Achilles had to write a code to get this result. I wish it were that easy haha.
 

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#21
So is it not possible to make a character have another character's sound effect? Like if I wanted Captain Falcon to make Mr. G&W's taunt noise whenever he used his knee, that's not possible?
 

Tater

Smash Apprentice
Joined
Apr 10, 2014
Messages
199
Location
Socal
3DS FC
2406-5307-2936
NNID
Taternater
#22
So is it not possible to make a character have another character's sound effect? Like if I wanted Captain Falcon to make Mr. G&W's taunt noise whenever he used his knee, that's not possible?
Unfortunately, it's not as simple as changing Falcon's knee SFX id to G&W's taunt SFX id. Doing that will work if G&W is in the match, because the game loads the sound effect into its RAM(Citation needed on RAM, but it's loaded somewhere). Otherwise his knee won't make a sound because the game has no sound effect with that ID loaded.

I'm sure you can make edits to certain files so that whatever sound/graphic effect you want is always loaded but I'm not sure exactly how to do that at the moment.
 

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#23
So as long as both of them are in the match, I just have to go in with Crazy Hand and give the knee a sound effect with G&W's taunt sound ID?
 

Tater

Smash Apprentice
Joined
Apr 10, 2014
Messages
199
Location
Socal
3DS FC
2406-5307-2936
NNID
Taternater
#24
So as long as both of them are in the match, I just have to go in with Crazy Hand and give the knee a sound effect with G&W's taunt sound ID?
Well what I did exactly was change the ID in the "sound effect" script(Not the actual hitbox) in falcon's forward air to G&W's taunt sound ID. But yes if both Falcon and G&W are in the same match his knee will make the taunt sound when it hits. Keep in mind the game clears its memory of non-common SFX/GFX/etc in-between matches, though. Doing it this way means the taunt sound effect will only play if G&W was/is in that specific match.
 

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#25
That actually sounds great, G&W is one of my secondaries and I play him a lot, this will surely be great when I play with my bud when he plays Falcon, and when I say great I mean he's going to wring my neck since he'll ring when he uses the knee.

Thanks for the help Tater, this will make for some fun matches.
 

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#27
Fairly new, ye. I think I was selected in January/February of this year.

@ Tater Tater Oh excellent, the G&W sound will stay on the knee for the rest of the time the game is on as long as I have a match with Falcon and G&W, even if the later matches don't have G&W.

excellent
 
Last edited:

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#29
Nah, I just haven't been to this area until like a few days ago. Hacking into melee's code and messing around is super fun, and I came here and found like a thousand useful things to play with thanks to you guys.

Also, it doesn't even have to be a match with both Falcon and G&W, as long as G&W has been in a match then Falcon will always ring with the set move, excellent
 
Last edited:

Tater

Smash Apprentice
Joined
Apr 10, 2014
Messages
199
Location
Socal
3DS FC
2406-5307-2936
NNID
Taternater
#30
Nah, I just haven't been to this area until like a few days ago. Hacking into melee's code and messing around is super fun, and I came here and found like a thousand useful things to play with thanks to you guys.

Also, it doesn't even have to be a match with both Falcon and G&W, as long as G&W has been in a match then Falcon will always ring with the set move, excellent
That actually is excellent... I didn't think the game kept that data loaded after a match. This gives me some ideas.

EDIT: Idea confirmed. You know how the game "plays" a match with 4 CPU characters for a small period of time if you just wait at the start screen for melee? It isn't a video file; the game is actually loading a match. Which means every character in that match has their values loaded. Waited for a demo with G&W in it and then started a match with falcon vs mario. Knee played G&W's taunt sound.

Now, to figure out how to edit those matches so every character's data can be loaded...
 
Last edited:

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#31
In Crazy Hand, what are the subaction names for getting star KOd, and dying from the blastzone? I want to get some character sounds from those but can't seem to find them
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
#32
In Crazy Hand, what are the subaction names for getting star KOd, and dying from the blastzone? I want to get some character sounds from those but can't seem to find them
In 20XX or vanilla Melee with the debug menu enabled, set the DBlevel to DEVELOP and then go in a match and hit Y+D-Pad Down and action state names will appear on-screen.

In response to your PM, anything not covered in the Crazy Hand program will need to be manually added/changed via a hex editor. I really haven't experimented with character editing all that much.

I made the shinesplosion for C. Falcon, but nothing since. Everything used in this hack was documented in Itaru's threads and Magus' posts (having hurtbubbles appear at X frame and for Y amount of frames, graphic effect, hitbox data, etc.).
 

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#33
In 20XX or vanilla Melee with the debug menu enabled, set the DBlevel to DEVELOP and then go in a match and hit Y+D-Pad Down and action state names will appear on-screen.

In response to your PM, anything not covered in the Crazy Hand program will need to be manually added/changed via a hex editor. I really haven't experimented with character editing all that much.

I made the shinesplosion for C. Falcon, but nothing since. Everything used in this hack was documented in Itaru's threads and Magus' posts (having hurtbubbles appear at X frame and for Y amount of frames, graphic effect, hitbox data, etc.).
Alright, thanks for the clarification and the help. It'll be fun experimenting and digging, making Melee really goofy will be quite a fun time.

To be quite honest, I feel like quite a dingus because when I saw all the different code and whatnot from this thread and the old one, I was quite confused because my Hex editor was set to where it was only 2 characters per space instead of the correct amount, and now that I fixed that it makes sense.

I went in 20XX, and the subactions for star KOs and other KOs are like "deadright" and "deadupstar" or whatever, and they're not in the list in Crazy Hand, any chance they'll get added in soon?
 
Last edited:

Tater

Smash Apprentice
Joined
Apr 10, 2014
Messages
199
Location
Socal
3DS FC
2406-5307-2936
NNID
Taternater
#34
Alright, thanks for the clarification and the help. It'll be fun experimenting and digging, making Melee really goofy will be quite a fun time.

To be quite honest, I feel like quite a dingus because when I saw all the different code and whatnot from this thread and the old one, I was quite confused because my Hex editor was set to where it was only 2 characters per space instead of the correct amount, and now that I fixed that it makes sense.

I went in 20XX, and the subactions for star KOs and other KOs are like "deadright" and "deadupstar" or whatever, and they're not in the list in Crazy Hand, any chance they'll get added in soon?
Well due to how Crazy Hand searches through a character file to find subactions and their names, it's likely that deadright/deadupstar are *kind of* in Crazy Hand, but listed as "no name" due to some jank with script identification + how the subaction searching method works natively. I'll look into it and see if I can help ya out.
 

Abyssal Lagiacrus

Fly across the high seas and mountains
Joined
Jul 30, 2014
Messages
1,698
Location
Arkadelphia, Arkansas
3DS FC
2981-6257-4399
NNID
LugiaTheGuardian
#35
I've come up with a way to find a lot of these sounds I'm after, but it's definitely not technical; I just look for one of their sound IDs and just keep incrementing until I find the sound that I'm looking for
Though I still want to change their death sounds; I want Captain Falcon to sound like Yoshi when he hits the blast zone. Oh I'm also looking for their victory sounds and how to change those too.

Wait, if I find the sound ID for, say, Fox's death sound, can I then take that number and search through PlFx.dat or whatever using a hex editor, and change it that way?

edit: I found the death sound (not the star KO, just normal) and the mission complete voice clip, gonna go search for those IDs in hex editor now and see if I can change them that way.

Update: I searched through PlFx.dat with the sound ID for Fox's death, found it, and replaced it with Yoshi's taunt. When I loaded up the game, sure enough, Yoshi's taunt sound played when Fox died. Excellent

I can't seem to find where his "mission complete" victory sound is though; I have the sound ID but it doesn't seem to be in PlFx.dat. I found the ID in EfFxData.dat, but when I attempted to change it, he still said mission complete, and apparently it made his up-b crash the game somehow.
 
Last edited:

shuall

Smash Apprentice
Joined
Jun 26, 2013
Messages
155
Location
Philly
#38
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]

CC00XXXX = damage self XXXX%
CC01XXXX = heal self XXXX%


Code:
Modified Subaction Event - Damage Self or Heal Self (1.02) [Achilles]
04072c1c 60000000
04072c20 60000000
04072c18 60000000
C2072C14 00000007
89C40001 A0840002
8063002C 2C0E0001
40820024 3CA08006
60A5CF5C 7CA903A6
4E800421 3CA08007
60A52C3C 7CA903A6
4E800420 00000000
@ MagicScrumpy MagicScrumpy @ Tater Tater @ Ampers Ampers @ Itaru Itaru
Could I add healing effects to moves that don't already have self-damage?
Could I add them to moves that aren't attacks (pichu's crouch)?
I'm guessing I have to find some way to add these CC01XXXX attributes to moves where they aren't already there.
 

Ampers

Smash Journeyman
Joined
Feb 2, 2015
Messages
237
Location
St. Louis, MO
#40
Could I add healing effects to moves that don't already have self-damage?
Could I add them to moves that aren't attacks (pichu's crouch)?
I'm guessing I have to find some way to add these CC01XXXX attributes to moves where they aren't already there.
Both of those things are possible, and you are correct, you would need to remove something else in the subaction to make room for it. If you aren't very familiar with the way these things work and don't know what is safe to remove, don't worry it's actually pretty easy.
In my experience, it is honestly pretty rare that replacing a script with a new one will actually freeze/break the game. Most scripts do relatively trivial things. For instance, I took a look at pikachu's crouch and he has numerous scripts that from what I gather just control is eyes blinking. These can easily be removed and replaced with a self damage script.

Hope this helps!



I discovered an important thing about SFX.

44000000 00000XXX 00007F40

7F40 is volume!
(Probably, 7F is max volume. about 40, I don't really get it.)
Excellent find! This explains why replacing "7F40" with "0000" plays no sound, because it just plays it with no volume.
 
Top