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

Important Melee, Hacks, and You -- New Hackers Start Here, in the OP!

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
Yeah.
It would work like this
it would be the same, just make the condition to reset the combo counter be (besides hitstun ending while in the air) the player being comboed must be in neutral position if in the ground (+ the end of miss tech animation)
I understand how difficult it would be but it would be extremely worth it. I would need to find the register that holds player twos action state as a number or whatever and use it to check whether player 2 is in the neutral position
 

TerryJ

Smash Journeyman
Joined
Apr 12, 2010
Messages
488
Location
BEST COAST, WA
NNID
1337-1337-1337
3DS FC
1337-1337-1337
Yeah.
It would work like this


I understand how difficult it would be but it would be extremely worth it. I would need to find the register that holds player twos action state as a number or whatever and use it to check whether player 2 is in the neutral position
If I recall, somebody figured out how to move the stock icons and resize them. Maybe the same thing could be applied to percentages so that P1's combo counter is P3's percentage and resized and moved to be near/under P1's info. Same goes for P2/P4. This of course would only apply to 1v1's. idk, just a neat idea.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Achilles, a friend of mine has requested me to make the combo counter take into account grabs and tech-chases, and make the combo counter last longer. We have a rough idea about how to do this and I sort of know how to write gecko codes/modify the boot.dol file. But in order to do this I think if I want to be able to put it into 20XX i would need the source code for 20XX. Would you be willing to give me a copy of it.
You do not need anything from me, because I have nothing for you. I did not make any changes to the way the default combo counter functions.

I think you're underestimating how difficult this would be, but I really can't give you any specifics because I've never investigated the combo count functions.

The first thing you'll need to do is reverse engineer the functions relating to the combo counter and figure out how it works and look into it's checks for adding/resetting the value. I would start by doing memory read/write breakpoints on the combo counter value in the character data offset structure, which is documented in that Google Spreadsheet.

Do you know how to use Debug Dolphin and how to read and write ASM? Those skills are absolutely necessary before attempting such a code.

Btw, if you perform a tech option and then act frame perfectly out of it into another action (like buffering shield for example), you will never enter the "wait" action state.
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
You do not need anything from me, because I have nothing for you. I did not make any changes to the way the default combo counter functions.

I think you're underestimating how difficult this would be, but I really can't give you any specifics because I've never investigated the combo count functions.

The first thing you'll need to do is reverse engineer the functions relating to the combo counter and figure out how it works and look into it's checks for adding/resetting the value. I would start by doing memory read/write breakpoints on the combo counter value in the character data offset structure, which is documented in that Google Spreadsheet.

Do you know how to use Debug Dolphin and how to read and write ASM? Those skills are absolutely necessary before attempting such a code.

Btw, if you perform a tech option and then act frame perfectly out of it into another action (like buffering shield for example), you will never enter the "wait" action state.
I have used Dan's debug dolphin before to add breakpoints and I have seen the set of videos Dan has made on the topic.I might need to look into reading and writing PPC ASM. But I do have some level of experience with C so I think I should be fine compared to someone without any programming experience. Your idea of putting the breakpoint at the character state was similar to what I was thinking. Also I hadn't considered that last option. I think I will stick to the plan for now possibly and try and add that in later.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Character Select Screen: HMN/CPU Button - Clickable Area Notes

v1.02 DOL offset (RAM offset)

Global:
0x435eb8 (4dc4d8) = y-axis top limit = 1.575
0x435ec0 (4dc4e0) = y-axis bottom limit = -2.2875
0x435ec8 (4dc4e8) = "snap-to" position after clicking HMN button = -2.2

Player Specific:
0x3ede10 (3f0e10) - P1 x-axis left limit = -35.599998
0x3ede14 (3f0e14) - P1 x-axis right limit = -28.6

0x3ede34 (3f0e34) - P2 x-axis left limit = -19.4
0x3ede38 (3f0e38) - P2 x-axis right limit = -13.4

0x3ede58 (3f0e58) - P3 x-axis left limit = -4.2
0x3ede5c (3f0e5c) - P3 x-axis right limit = 2.2

0x3ede7c (3f0e7c) - P4 x-axis left limit = 11
0x3ede80 (3f0e80) - P4 x-axis right limit = 17


Character Select Screen: Teams Color Button - Clickable Area Notes

Global:
0x435ed0 (4dc4f0) = y-axis top limit = -1.875
0x435ed8 (4dc4f8) = y-axis bottom limit = -2.3625

Player Specific:
0x3ede18 (3f0e18) - P1 x-axis left limit = -26.799999
0x3ede1c (3f0e1c) - P1 x-axis right limit = -21.0

0x3ede3c (3f0e3c) - P2 x-axis left limit = -11.4
0x3ede40 (3f0e40) - P2 x-axis right limit = -6.0

0x3ede60 (3f0e60) - P3 x-axis left limit = 3.5
0x3ede64 (3f0e64) - P3 x-axis right limit = 9.4

0x3ede84 (3f0e84) - P4 x-axis left limit = 19.0
0x3ede88 (3f0e88) - P4 x-axis right limit = 24.6

32-bit floating point numbers.

@ Milun Milun @Anutim @ CeLL CeLL @ DRGN DRGN
 
Last edited:

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
You have no idea how much this helps me.

Allow me to add to that (warning, this is .ukd. I don't know if it transfers to .usd, but it probably would)

(for the record, "position data" goes XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ)
0x00359274 - P1 Char border position data
0x003592B4 - P2 Char border position data
0x003592F4 - P3 Char border position data
0x00359334 - P4 Char border position data


0x003593B4 - P1 Char logo pos data
0x003593F4 - P2 Char logo pos data
0x00359434 - P3 Char logo pos data
0x00359474 - P4 Char logo pos data

0x003594F4 - P1 Char image pos data
0x00359534 - P2 Char image pos data
0x00359574 - P3 Char image pos data
0x003595B4 - P4 Char image pos data

0x0035A6B4 - P1 Char/Nickname pos data
0x0035A7F4 - P2 Char/Nickname pos data
0x0035A934 - P3 Char/Nickname pos data
0x0035AA74 - P4 Char/Nickname pos data


0x0035B2F4 - P1 HMN button pos data (does NOT move its hitbox)
0x0035B374 - P2 HMN button pos data (does NOT move its hitbox)
0x0035B3F4 - P3 HMN button pos data (does NOT move its hitbox)
0x0035B474 - P4 HMN button pos data (does NOT move its hitbox)
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
You have no idea how much this helps me.

Allow me to add to that (warning, this is .ukd. I don't know if it transfers to .usd, but it probably would)

(for the record, "position data" goes XX XX XX XX YY YY YY YY ZZ ZZ ZZ ZZ)
0x00359274 - P1 Char border position data
0x003592B4 - P2 Char border position data
0x003592F4 - P3 Char border position data
0x00359334 - P4 Char border position data


0x003593B4 - P1 Char logo pos data
0x003593F4 - P2 Char logo pos data
0x00359434 - P3 Char logo pos data
0x00359474 - P4 Char logo pos data

0x003594F4 - P1 Char image pos data
0x00359534 - P2 Char image pos data
0x00359574 - P3 Char image pos data
0x003595B4 - P4 Char image pos data

0x0035A6B4 - P1 Char/Nickname pos data
0x0035A7F4 - P2 Char/Nickname pos data
0x0035A934 - P3 Char/Nickname pos data
0x0035AA74 - P4 Char/Nickname pos data


0x0035B2F4 - P1 HMN button pos data (does NOT move its hitbox)
0x0035B374 - P2 HMN button pos data (does NOT move its hitbox)
0x0035B3F4 - P3 HMN button pos data (does NOT move its hitbox)
0x0035B474 - P4 HMN button pos data (does NOT move its hitbox)
Does moving the nametag move where you click it as well?

Edit: I'm getting nowhere so I'll explain what I'm trying to do. I'm trying to put the nametag right below the character icons at the top and then the CSP right below that.
 
Last edited:

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
Does moving the nametag move where you click it as well?

Edit: I'm getting nowhere so I'll explain what I'm trying to do. I'm trying to put the nametag right below the character icons at the top and then the CSP right below that.


I've been there. It doesn't move the place where you click them I'm afraid. I'm still looking into that for my own thing.

Question: How do I use the offsets you posted (for min/max axises and whatnot). I get that they're not the actual offsets for the MnSlChar file, but how would I go about getting them for the file?
 
Last edited:

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA


I've been there. It doesn't move the place where you click them I'm afraid. I'm still looking into that for my own thing.

Question: How do I use the offsets you posted (for min/max axises and whatnot). I get that they're not the actual offsets for the MnSlChar file, but how would I go about getting them for the file?
Not quite sure what you mean, but it gave me a good idea regardless. I could include a DOL offset to RAM converter (and vice verca) in the tools tab of my DOL program.

Edit: 'spose I could also do a v1.0x to v1.0x DOL offset conversion too. Honestly I don't see why the program couldn't just automatically convert any DOL mod to work for any version of the game.
 
Last edited:

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
Not quite sure what you mean, but it gave me a good idea regardless. I could include a DOL offset to RAM converter (and vice verca) in the tools tab of my DOL program.

Edit: 'spose I could also do a v1.0x to v1.0x DOL offset conversion too. Honestly I don't see why the program couldn't just automatically convert any DOL mod to work for any version of the game.
Nevermind. I tried converting the values you showed to hex and then searched the file for them. They're not in MnSlChr, they're in Start.dol. I just couldn't find them because I have different offsets since I use 1.02. I found the value for your P2-X-axis left limit at 3EECA0 of my Start.dol (CTRL-F "C1 9B 33 33" in case of version differences). I imagine you could then change this hex to whatever you want the new HMN hitbox to be.

This comes in handy for searching for the values http://www.h-schmidt.net/FloatConverter/IEEE754.html
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Nevermind. I tried converting the values you showed to hex and then searched the file for them. They're not in MnSlChr, they're in Start.dol. I just couldn't find them because I have different offsets since I use 1.02. I found the value for your P2-X-axis left limit at 3EECA0 of my Start.dol (CTRL-F "C1 9B 33 33" in case of version differences). I imagine you could then change this hex to whatever you want the new HMN hitbox to be.

This comes in handy for searching for the values http://www.h-schmidt.net/FloatConverter/IEEE754.html
My post says DOL offsets, not MnSlChr. And those offsets are for 1.02, which I should have specified.

So yeah...just go to the DOL offset I posted in your hex editor and change that float to something else. DO NOT just arbitrarily search for values.

The main reason I posted RAM addresses is for the most efficient way to test new values. Play the game in Debug Dolphin and then just go to those RAM addresses and poke new values into them while you're playing. The change will be reflected on the CSS immediately. So you can fine tune exactly where you want it to be with only having to boot up the game once.
 
Last edited:

AndySSBM

Smash Cadet
Joined
Dec 15, 2013
Messages
26
Could someone point me towards a way to change the backgrounds in stage mods? I'd like to change the background on the matrix battlefield with the BF from the event stages, like the one with mewtwo.


Thanks in advance. (pls help).
 

Milun

Smash Ace
Joined
Oct 29, 2009
Messages
516
Location
Australia
I'm very interested in the blue background behind every icon on the CSS.
Gotcha covered (sorta):

0x0034D394 - Colour of the background behind the Mario icon.

07 07 07 07 CC CC E5 00 00 19 33 00


To find the rest, just CTRL-F the above for all of the 25 characters. This doesn't change the texture, but it does change the colour assigned to it, letting you get things like this (see: Mario, Luigi, Bowser):



When you select a character, the background will still flash by the way.
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
is anyone interested in an irc channel or something for this for smaller questions and quicker responses?
 

TerryJ

Smash Journeyman
Joined
Apr 12, 2010
Messages
488
Location
BEST COAST, WA
NNID
1337-1337-1337
3DS FC
1337-1337-1337
is anyone interested in an irc channel or something for this for smaller questions and quicker responses?
I do like the idea of having an active IRC, but we'd be losing a lot of publicly available, archived information that just isn't being shared across the boards.
 

divekicked

Smash Cadet
Joined
May 1, 2015
Messages
51
Say i wanted to add a stage hack, but wanted to keep the vanilla stage. Is there any tutorial/way to do that?
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
Steelia did not include the offset for texture 6 on Dreamland (fence behind Wispy). Is there a reason? Where could I find the offset?
0x13cc0; 0x200 bytes long

With a palette that directly follows it (@ 13ec0; 0x20 bytes long).

Don't know why it wasn't in Steelia's pack. Maybe just forgot?
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
I do like the idea of having an active IRC, but we'd be losing a lot of publicly available, archived information that just isn't being shared across the boards.
why can't we just keep the logs of it and just put a link to that on the first page
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
also I have examined that a lot of problems that you guys are having with finding the values of floats and people are having to convert them to int. Would be solved if the cheat search had support for searching floats?
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
yeah that.

That is such a slow process and it really limits your abilities as you are only able to do equals comparisons with the integer representations of the floats. If we implement the float datatype into cheat manager then we can easily compare these values properly. For example I wanted to figure out how to change the x position of falco on the character select screen. If I found at least one of them I would be very close to finding the rest of them since I think that they would all be created in a struct or something all the characters icon data would be all next to each other just an offset away. After modifying the value at 0x8045bf28 to shuffle the characters around and look for the character I deduced that it was not 8, 16 or 32 bits. I was searching using the greater than and less than and equal to comparisons but the current tools we have to search for floats only allow equals to unless we already know the value of the float or B we have a complex and rich understanding of how floats can be represented as integers. This sort of problem is reoccurring and we wont figure out many addresses without this.

This is why we need to to implement the floats in cheat search in dolphin.
heres the github for those interested.
github: https://github.com/dolphin-emu/dolp...5b45c100a1b9414d/Source/Core/DolphinWX/Cheats
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
I found these two codes in my notes regarding the character select screen
I'm not sure i remember what these do completely but the last one was weird and when you change the value to one it would cycle through the states of the puck by letting go of it and changing its colour.

The player 1 CSS changed the position of the puck in a weird way.
(float??)
player 1 CSS
0x0043208c
0x004320e0

player 1 change colour of puck / let go of puck. its really weird
(8bit)
0x01119ec5
 

GopherHat

Smash Cadet
Joined
Mar 26, 2015
Messages
33
Idk if I am completely wrong and we don't need this please call me out and I will not start trying to add it
 

SillyGoose

Master of QWOP
Joined
Nov 4, 2012
Messages
145
Location
Walnut Creek, CA / Chicago
Does anyone have the offsets for the textures on the Snag the Trophies stage (GrNFg)? Specifically the side platform textures? Or if someone could describe how to find the offsets yourself I'm willing to learn
 

SillyGoose

Master of QWOP
Joined
Nov 4, 2012
Messages
145
Location
Walnut Creek, CA / Chicago
I tried both the methods described in the thread (converting my dumped texture to tpl and manually searching the hex code, as well as trying your texture finder) and both turned up nothing.

Using your texture finder, I just got this message, no matter what I tried:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Kevin\Python33\lib\tkinter\__init__.py", line 1489, in __call__
File "Texture Finder.pyw", line 380, in findAll
File "Texture Finder.pyw", line 411, in find
File "Texture Finder.pyw", line 45, in TPL
ValueError: read length must be positive or -1

For reference, I am just trying to find the top and / or bottom textures for the side platforms:
GALE01_f9681c3f_9.png GALE01_ed7216ec_9.png
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I tried both the methods described in the thread (converting my dumped texture to tpl and manually searching the hex code, as well as trying your texture finder) and both turned up nothing.

Using your texture finder, I just got this message, no matter what I tried:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Kevin\Python33\lib\tkinter\__init__.py", line 1489, in __call__
File "Texture Finder.pyw", line 380, in findAll
File "Texture Finder.pyw", line 411, in find
File "Texture Finder.pyw", line 45, in TPL
ValueError: read length must be positive or -1

For reference, I am just trying to find the top and / or bottom textures for the side platforms:
View attachment 53073 View attachment 53074
Hmmm...
I know what causes that error, but have been too lazy to fix it, since it's user error. I don't know what user error it is though. I remember DRGN having that issue when he converted the TGA's in Steelia's packs to a TPL, but fixed it by converting Dolphin's dumped PNGs instead.
Regardless my little thrown together tool will soon be fairly useless, with the release of DTW 3.0.
 

MagicScrumpy

Smash Journeyman
Joined
Feb 25, 2015
Messages
251
Location
Ann Arbor, Michigan
I remember having a version of Green Greens where Whispy was cut down (there was nothing but a stump), but I can't find it. Does something like this actually exist, or am I just manufacturing a memory?
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
I tried both the methods described in the thread (converting my dumped texture to tpl and manually searching the hex code, as well as trying your texture finder) and both turned up nothing.

For reference, I am just trying to find the top and / or bottom textures for the side platforms:
View attachment 53073 View attachment 53074
Did you copy all of the data in the hex file to search for, or did you only use the image data?

When I get home I can check the offsets.

Edit ( @ SillyGoose SillyGoose ):
Offset: 0x5C860

Offset: 0x61700
 
Last edited:

SnG | Skin

Smash Apprentice
Joined
Mar 25, 2015
Messages
144
Location
College Station, TX
Yo people, so I'm currently working on a texture overhaul for Dreamland into something a little more firey and intense and less... kirby. I've been able to pass most bumps in the road (Steelia's pack missing offsets, odd palettes, etc) however im having problems editing the texture of the leafs and am pretty much stumped. This is what im getting when attempting to replace the leaves with fireballs:

I cannot for the life of me figure out whats wrong. It looks like a palette issue but im not 100% sure. They're all set with 16 max colors in gimp like most everything else on dreamland but its still giving me the same issue. Any ideas?
 
Top Bottom